Files
rpms/centos/SPECS/powerline.spec
2017-08-15 19:25:04 +02:00

344 lines
13 KiB
RPMSpec

%global debug_package %{nil}
Name: powerline
Version: 2.6
Release: 1%{?dist}
Summary: The ultimate status-line/prompt utility
License: MIT
Url: https://github.com/powerline/powerline
BuildRequires: python34-setuptools
BuildRequires: python-sphinx
BuildRequires: python34-devel
BuildRequires: fdupes
BuildRequires: fontconfig
BuildRequires: systemd
BuildRequires: tmux
BuildRequires: vim-minimal
Requires: python34
Requires: powerline-fonts
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Source0: https://github.com/powerline/powerline/archive/%{version}/powerline-%{version}.tar.gz
Source1: vim-powerline.metainfo.xml
Patch0: powerline-py2v3-fix.patch
Patch1: powerline-2.6-gcc7_fixes.patch
Patch2: sphinx-build.patch
%description
Powerline is a status-line plugin for vim, and provides status-lines and prompts
for several other applications, including zsh, bash, tmux, IPython, Awesome and
Qtile.
%package docs
Summary: Powerline Documentation
BuildArch: noarch
%description docs
This package provides the powerline documentation.
%package fonts
Summary: Powerline Fonts
BuildArch: noarch
Requires: fontconfig
%description fonts
This package provides the powerline fonts.
%package -n vim-powerline
Summary: Powerline VIM plugin
BuildArch: noarch
Requires: vim
Requires: %{name} = %{version}-%{release}
Obsoletes: vim-plugin-powerline
Provides: vim-plugin-powerline
%description -n vim-powerline
Powerline is a status-line plugin for vim, and provides status-lines and
prompts.
%package -n tmux-powerline
Summary: Powerline for tmux
BuildArch: noarch
Requires: tmux
Requires: %{name} = %{version}-%{release}
%description -n tmux-powerline
Powerline for tmux.
Add
source /usr/share/tmux/powerline.conf
to your ~/.tmux.conf file.
%prep
%setup -q
%patch0 -p1 -b .py2v3-fix
%patch1 -p1 -b .gcc7-fixes
%patch2 -p0 -b .sphinx-build
%build
# nothing to build
%install
sed -i -e "/DEFAULT_SYSTEM_CONFIG_DIR/ s@None@'%{_sysconfdir}/xdg'@" powerline/config.py
sed -i -e "/TMUX_CONFIG_DIRECTORY/ s@BINDINGS_DIRECTORY@'/usr/share'@" powerline/config.py
CFLAGS="%{optflags}" \
%{__python3} setup.py install --prefix=%{_prefix} --root=%{buildroot} --optimize=1
# Check that the powerline client is an ELF executable
ldd %{buildroot}%{_bindir}/powerline
# build docs
pushd docs
%__make html PHINXBUILD=/usr/bin/sphinx-build
%__rm _build/html/.buildinfo
# A structure gets initialized while building the docs with os.environ.
# This works around an rpmlint error with the build dir being in a file.
sed -i -e 's/abuild/user/g' _build/html/develop/extensions.html
%__make man SPHINXBUILD=/usr/bin/sphinx-build
popd
# config
install -d -m0755 %{buildroot}%{_sysconfdir}/xdg/%{name}
cp -a powerline/config_files/* %{buildroot}%{_sysconfdir}/xdg/%{name}/
# fonts
install -d -m0755 %{buildroot}%{_sysconfdir}/fonts/conf.d
install -d -m0755 %{buildroot}%{_datadir}/fonts/truetype
install -d -m0755 %{buildroot}%{_datadir}/fontconfig/conf.avail
install -m0644 font/PowerlineSymbols.otf %{buildroot}%{_datadir}/fonts/truetype/PowerlineSymbols.otf
install -m0644 font/10-powerline-symbols.conf %{buildroot}%{_datadir}/fontconfig/conf.avail/10-powerline-symbols.conf
ln -s %{_datadir}/fontconfig/conf.avail/10-powerline-symbols.conf %{buildroot}%{_sysconfdir}/fonts/conf.d/10-powerline-symbols.conf
# manpages
%__install -d -m0755 %{buildroot}%{_datadir}/man/man1
for f in powerline-config.1 powerline-daemon.1 powerline-lint.1 powerline.1; do
%__install -m0644 docs/_build/man/$f %{buildroot}%{_datadir}/man/man1/$f
done
# awesome
install -d -m0755 %{buildroot}%{_datadir}/%{name}/awesome/
mv %{buildroot}%{python3_sitelib}/powerline/bindings/awesome/powerline.lua %{buildroot}%{_datadir}/%{name}/awesome/
mv %{buildroot}%{python3_sitelib}/powerline/bindings/awesome/powerline-awesome.py %{buildroot}%{_datadir}/%{name}/awesome/
# bash bindings
install -d -m0755 %{buildroot}%{_datadir}/%{name}/bash
mv %{buildroot}%{python3_sitelib}/powerline/bindings/bash/powerline.sh %{buildroot}%{_datadir}/%{name}/bash/
# fish
install -d -m0755 %{buildroot}%{_datadir}/%{name}/fish
mv %{buildroot}%{python3_sitelib}/powerline/bindings/fish/powerline-setup.fish %{buildroot}%{_datadir}/%{name}/fish
# i3
install -d -m0755 %{buildroot}%{_datadir}/%{name}/i3
mv %{buildroot}%{python3_sitelib}/powerline/bindings/i3/powerline-i3.py %{buildroot}%{_datadir}/%{name}/i3
# ipython
install -d -m0755 %{buildroot}%{_datadir}/%{name}/ipython
mv %{buildroot}%{python3_sitelib}/powerline/bindings/ipython/post_0_11.py %{buildroot}%{_datadir}/%{name}/ipython
mv %{buildroot}%{python3_sitelib}/powerline/bindings/ipython/pre_0_11.py %{buildroot}%{_datadir}/%{name}/ipython
# qtile
install -d -m0755 %{buildroot}%{_datadir}/%{name}/qtile
mv %{buildroot}%{python3_sitelib}/powerline/bindings/qtile/widget.py %{buildroot}%{_datadir}/%{name}/qtile
# shell bindings
install -d -m0755 %{buildroot}%{_datadir}/%{name}/shell
mv %{buildroot}%{python3_sitelib}/powerline/bindings/shell/powerline.sh %{buildroot}%{_datadir}/%{name}/shell/
# tcsh
install -d -m0755 %{buildroot}%{_datadir}/%{name}/tcsh
mv %{buildroot}%{python3_sitelib}/powerline/bindings/tcsh/powerline.tcsh %{buildroot}%{_datadir}/%{name}/tcsh
# tmux plugin
install -d -m0755 %{buildroot}%{_datadir}/tmux
mv %{buildroot}%{python3_sitelib}/powerline/bindings/tmux/powerline*.conf %{buildroot}%{_datadir}/tmux/
# vim plugin
install -d -m0755 %{buildroot}%{_datadir}/vim/vimfiles/plugin/
mv %{buildroot}%{python3_sitelib}/powerline/bindings/vim/plugin/powerline.vim %{buildroot}%{_datadir}/vim/vimfiles/plugin/powerline.vim
rm -rf %{buildroot}%{python3_sitelib}/powerline/bindings/vim/plugin
install -d -m0755 %{buildroot}%{_datadir}/vim/vimfiles/autoload/powerline
mv %{buildroot}%{python3_sitelib}/powerline/bindings/vim/autoload/powerline/debug.vim %{buildroot}%{_datadir}/vim/vimfiles/autoload/powerline/debug.vim
rm -rf %{buildroot}%{python3_sitelib}/powerline/bindings/vim/autoload
# zsh
install -d -m0755 %{buildroot}%{_datadir}/%{name}/zsh
mv %{buildroot}%{python3_sitelib}/powerline/bindings/zsh/__init__.py %{buildroot}%{_datadir}/%{name}/zsh
mv %{buildroot}%{python3_sitelib}/powerline/bindings/zsh/powerline.zsh %{buildroot}%{_datadir}/%{name}/zsh
# vim-powerline appdata
mkdir -p %{buildroot}%{_datadir}/appdata
install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/appdata
# systemd
install -d -m 0755 %{buildroot}%{_unitdir}
install -m 0644 powerline/dist/systemd/powerline-daemon.service %{buildroot}%{_unitdir}/powerline.service
# cleanup
%__rm -rf %{buildroot}%{python3_sitelib}/%{name}/config_files
%if 0%{?fedora}
%fdupes %{buildroot}%{python3_sitelib}
%endif
%post
%systemd_post powerline.service
%preun
%systemd_preun powerline.service
%postun
%systemd_postun_with_restart powerline.service
%files
%license LICENSE
%doc README.rst
%dir %{_sysconfdir}/xdg/powerline
%config(noreplace) %{_sysconfdir}/xdg/powerline/colors.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/config.json
%dir %{_sysconfdir}/xdg/powerline/colorschemes
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/default.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/solarized.json
%dir %{_sysconfdir}/xdg/powerline/colorschemes/pdb
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/pdb/solarized.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/pdb/__main__.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/pdb/default.json
%dir %{_sysconfdir}/xdg/powerline/colorschemes/vim
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/vim/solarized.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/vim/__main__.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/vim/default.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/vim/solarizedlight.json
%dir %{_sysconfdir}/xdg/powerline/colorschemes/tmux
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/tmux/solarized.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/tmux/default.json
%dir %{_sysconfdir}/xdg/powerline/colorschemes/shell
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/shell/solarized.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/shell/__main__.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/shell/default.json
%dir %{_sysconfdir}/xdg/powerline/colorschemes/ipython
%config(noreplace) %{_sysconfdir}/xdg/powerline/colorschemes/ipython/__main__.json
%dir %{_sysconfdir}/xdg/powerline/themes
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/ascii.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/powerline.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/powerline_terminus.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/powerline_unicode7.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/unicode.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/unicode_terminus.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/unicode_terminus_condensed.json
%dir %{_sysconfdir}/xdg/powerline/themes/ipython
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/ipython/in2.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/ipython/rewrite.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/ipython/in.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/ipython/out.json
%dir %{_sysconfdir}/xdg/powerline/themes/pdb
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/pdb/default.json
%dir %{_sysconfdir}/xdg/powerline/themes/shell
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/shell/__main__.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/shell/select.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/shell/default.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/shell/default_leftonly.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/shell/continuation.json
%dir %{_sysconfdir}/xdg/powerline/themes/tmux
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/tmux/default.json
%dir %{_sysconfdir}/xdg/powerline/themes/vim
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/quickfix.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/tabline.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/__main__.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/cmdwin.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/plugin_commandt.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/default.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/plugin_gundo-preview.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/plugin_gundo.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/plugin_nerdtree.json
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/vim/help.json
%dir %{_sysconfdir}/xdg/powerline/themes/wm
%config(noreplace) %{_sysconfdir}/xdg/powerline/themes/wm/default.json
%{_bindir}/powerline
%{_bindir}/powerline-config
%{_bindir}/powerline-daemon
%{_bindir}/powerline-render
%{_bindir}/powerline-lint
%{_mandir}/man1/powerline.1*
%{_mandir}/man1/powerline-config.1*
%{_mandir}/man1/powerline-daemon.1*
%{_mandir}/man1/powerline-lint.1*
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/awesome
%{_datadir}/%{name}/awesome/powerline.lua
%{_datadir}/%{name}/awesome/powerline-awesome.py*
%dir %{_datadir}/%{name}/bash
%{_datadir}/%{name}/bash/powerline.sh
%dir %{_datadir}/%{name}/fish
%{_datadir}/%{name}/fish/powerline-setup.fish
%dir %{_datadir}/%{name}/i3
%{_datadir}/%{name}/i3/powerline-i3.py*
%dir %{_datadir}/%{name}/ipython
%{_datadir}/%{name}/ipython/post_0_11.py*
%{_datadir}/%{name}/ipython/pre_0_11.py*
%dir %{_datadir}/%{name}/qtile
%{_datadir}/%{name}/qtile/widget.py*
%dir %{_datadir}/%{name}/shell
%{_datadir}/%{name}/shell/powerline.sh
%dir %{_datadir}/%{name}/tcsh
%{_datadir}/%{name}/tcsh/powerline.tcsh
%dir %{_datadir}/%{name}/zsh
%{_datadir}/%{name}/zsh/__init__.py*
%{_datadir}/%{name}/zsh/powerline.zsh
%{python3_sitelib}/*
%{_unitdir}/powerline.service
%files docs
%doc docs/_build/html
%files fonts
%doc LICENSE README.rst
%{_sysconfdir}/fonts/conf.d/10-powerline-symbols.conf
%{_datadir}/fontconfig/conf.avail/10-powerline-symbols.conf
%dir %{_datadir}/fonts/truetype
%{_datadir}/fonts/truetype/PowerlineSymbols.otf
%files -n vim-powerline
%doc LICENSE README.rst
%dir %{_datadir}/vim/vimfiles
%dir %{_datadir}/vim/vimfiles/autoload
%dir %{_datadir}/vim/vimfiles/autoload/powerline
%{_datadir}/vim/vimfiles/autoload/powerline/debug.vim
%dir %{_datadir}/vim/vimfiles/plugin
%{_datadir}/vim/vimfiles/plugin/powerline.vim
%dir %{_datadir}/appdata
%{_datadir}/appdata/vim-powerline.metainfo.xml
%files -n tmux-powerline
%doc LICENSE README.rst
%dir %{_datadir}/tmux
%{_datadir}/tmux/powerline*.conf
%changelog
* Tue Aug 15 2017 Daniel Steiner <daniel.steiner@greenmail.ch>
- First build for CentOS 7