%define pkg_name xmobar %define pkg_version 0.24.3 %define pkg_release 1%{?_dist_release} %define ghc_version 8.0.1 # to fix wrong dependencies in cabal files # do not use '-' %define timezoneolson_version 0.1.7 Summary: a minimalistic text based status bar Summary(ja): テキストを基礎とした最小のステータスバー Name: %{pkg_name} Version: %{pkg_version} Release: %{pkg_release} License: BSD3 Group: User Interface/Desktops URL: http://hackage.haskell.org Source0: %{name}-%{version}.tar.gz Source1: packages # num=11; for pkg in `cat packages`; do echo "Source${num}: ${pkg}.tar.gz"; num=`expr ${num} + 1`; done Source11: cereal-0.5.4.0.tar.gz Source12: hinotify-0.3.9.tar.gz Source13: libmpd-0.9.0.6.tar.gz Source14: timezone-series-0.1.6.1.tar.gz Source15: timezone-olson-0.1.7.tar.gz # to fix wrong dependencies in cabal files Source101: timezone-olson.cabal BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: ghc haskell-platform BuildRequires: xmonad-contrib BuildRequires: libffi-devel gmp-devel zlib-devel BuildRequires: xorg-x11-devel BuildRequires: libXpm-devel Requires: xmonad-contrib Requires: libXpm Vendor: Project Vine Distribution: Vine Linux Packager: ara_t %description Xmobar is a minimalistic text based status bar. Inspired by the Ion3 status bar, it supports similar features, like dynamic color management, output templates, and extensibility through plugins. %description -l ja Xmobarはテキストを基礎とした最小のステータスバーです。 %prep %{__rm} -rf ${RPM_BUILD_ROOT} %{__rm} -rf %{_builddir}/package.conf %{__rm} -rf ${HOME}/.ghc %setup -q # Initialise the package db ghc-pkg init %{_builddir}/package.conf %build PKG_CONF_DIR=${RPM_BUILD_ROOT}%{_libdir}/ghc-%{ghc_version}/package.conf.d %{__rm} -rf ${PKG_CONF_DIR} %{__mkdir_p} ${PKG_CONF_DIR} # install dependent packages cd %{_builddir} for pkg in `cat %{SOURCE1}`; do %{__tar} xzf %{_sourcedir}/${pkg}.tar.gz cd ${pkg} # fix wrong dependencies case ${pkg} in "timezone-olson-%{timezoneolson_version}") %{__cp} %{SOURCE101} . ;; *) ;; esac cabal configure \ --prefix=%{_prefix} \ --libdir=%{_libdir}/ghc-lib/%{name}/${pkg} \ --libsubdir= \ --datadir=%{_datadir}/%{name}/${pkg} \ --datasubdir= \ --docdir=%{_docdir}/%{name}/${pkg} cabal build cabal haddock cabal copy --destdir=${RPM_BUILD_ROOT} cabal register --inplace cabal register --gen-pkg-config=${PKG_CONF_DIR}/%{name}_${pkg}.conf cd .. done # build xmobar cd %{_builddir}/%{name}-%{version} cabal configure \ --prefix=%{_prefix} \ --libdir=%{_libdir}/ghc-lib/%{name}-%{version} \ --libsubdir= \ --datadir=%{_datadir}/%{name}-%{version} \ --datasubdir= \ --docdir=%{_docdir}/%{name}/%{name}-%{version} \ --flags="with_utf8" --flags="with_xft" \ --flags="with_threaded" --flags="with_inotify" \ --flags="with_datazone" --flags="with_xpm" cabal build %install cabal copy --destdir=${RPM_BUILD_ROOT} %{__cp} license news.md readme.md \ ${RPM_BUILD_ROOT}%{_docdir}/%{name}/%{name}-%{version} %clean %{__rm} -rf ${RPM_BUILD_ROOT} %post ghc-pkg recache %postun ghc-pkg recache %files %defattr(-, root, root) %{_bindir}/ %{_libdir}/ghc-%{ghc_version}/ %{_libdir}/ghc-lib/ %{_docdir}/%{name}/ %changelog * Fri Feb 03 2017 Toshiaki Ara 0.24.3-1 - update to 0.24.3 - build using ghc-8.0.1 * Wed May 04 2016 Toshiaki Ara 0.23.1-6 - rebuilt * Tue Apr 12 2016 Toshiaki Ara 0.23.1-5 - rebuild under xmonad-0.12-3 and xmonad-contrib-0.12-4 - correct SPEC file * Sun Mar 06 2016 Toshiaki Ara 0.23.1-4 - correct SPEC file * Tue Mar 01 2016 Toshiaki Ara 0.23.1-3 - rebuild under xmonad-0.12-2 and xmonad-contrib-0.12-3 * Sun Feb 28 2016 Toshiaki Ara 0.23.1-2 - add configure option and required libraries * Sat Feb 27 2016 Toshiaki Ara 0.23.1-1 - new package