%global debug_package %{nil} Name: powerline Version: 2.7 Release: 1%{?dist} Summary: The ultimate status-line/prompt utility License: MIT Url: https://github.com/powerline/powerline BuildRequires: python3-setuptools BuildRequires: python3-sphinx BuildRequires: python36-devel BuildRequires: fdupes BuildRequires: fontconfig BuildRequires: systemd BuildRequires: tmux BuildRequires: vim-minimal Requires: python36 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 %patch2 -p0 -b .sphinx-build for f in \ client/powerline.py \ CONTRIBUTING.rst \ powerline/bindings/i3/powerline-i3.py \ powerline/bindings/pdb/__main__.py \ powerline/bindings/awesome/powerline-awesome.py \ powerline/bindings/lemonbar/powerline-lemonbar.py \ powerline/bindings/bar/powerline-bar.py \ scripts/powerline-config \ scripts/powerline-release.py \ scripts/powerline-daemon \ scripts/powerline-lint \ scripts/powerline-render \ setup.py \ tests/test_in_vterm/test_vim.py \ tests/test_in_vterm/test_tmux.py \ tests/test_shells/run_script.py \ tests/test_shells/postproc.py \ tools/generate_gradients.py \ tools/purge-PRs.py \ tools/colors_find.py; do pathfix.py -pni /usr/bin/python3 $f done %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 - First build for CentOS 7