xmonad-vl.spec 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. %define pkg_name xmonad
  2. %define pkg_version 0.13
  3. %define pkg_release 2%{?_dist_release}
  4. Summary: Lightweight X11 window manager written in Haskell
  5. Summary(ja): Haskellで書かれたタイル型ウィンドウマネージャ
  6. Name: %{pkg_name}
  7. Version: %{pkg_version}
  8. Release: %{pkg_release}
  9. License: BSD3
  10. Group: User Interface/Desktops
  11. URL: http://hackage.haskell.org
  12. Source0: packages
  13. Source1: xmonad.desktop
  14. # Patch for building ghc-8.4
  15. Source2: xmonad-0.13_using_ghc-8.4.patch
  16. Source11: X11-1.8.tar.gz
  17. Source12: X11.cabal
  18. Source13: extensible-exceptions-0.1.1.4.tar.gz
  19. Source14: extensible-exceptions.cabal
  20. Source15: setlocale-1.0.0.6.tar.gz
  21. Source16: setlocale.cabal
  22. Source17: utf8-string-1.0.1.1.tar.gz
  23. Source18: utf8-string.cabal
  24. Source19: xmonad-0.13.tar.gz
  25. Source20: xmonad.cabal
  26. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  27. BuildRequires: ghc haskell-platform
  28. BuildRequires: libffi-devel gmp-devel zlib-devel
  29. BuildRequires: libghc-data-default-class
  30. BuildRequires: libghc-dlist
  31. BuildRequires: libghc-old-locale
  32. BuildRequires: libghc-data-default
  33. BuildRequires: libghc-semigroups
  34. BuildRequires: xorg-x11-devel
  35. BuildRequires: libXrandr-devel libXinerama-devel
  36. BuildRequires: docbook-utils docbook-utils-pdf docbook-style-xsl
  37. Requires: libXrandr-devel libXinerama-devel
  38. Requires: haskell-platform-dep
  39. Vendor: Project Vine
  40. Distribution: Vine Linux
  41. Packager: ara_t
  42. %description
  43. Xmonad is a minimalist tiling window manager for X, written in Haskell.
  44. Windows are managed using automatic layout algorithms, which can be dynamically
  45. reconfigured. At any time windows are arranged so as to maximise the use of
  46. screen real estate. All features of the window manager are accessible purely
  47. from the keyboard: a mouse is entirely optional.
  48. Xmonad is configured in Haskell, and custom layout algorithms may be implemented
  49. by the user in config files.
  50. A principle of Xmonad is predictability: the user should know in advance
  51. precisely the window arrangement that will result from any action.
  52. Please sample configure file as follows.
  53. `cp %{_docdir}/%{name}/%{name}-%{version}/xmonad.hs ~/.xmonad/`
  54. %description -l ja
  55. XmonadはHaskellで書かれたタイル型ウィンドウマネージャです。
  56. ウィンドウは自動的レイアウトアルゴリズムによって管理されており、
  57. ウィンドウはいつでも最大化されて配置されます。
  58. 純粋にキーボード操作だけで操作することが可能であり、
  59. マウスの使用は単にオプションです。
  60. XmonadはHaskellで設定され、ユーザーが設定ファイルを書くことで
  61. レイアウトをカスタマイズすることができます。
  62. 設定ファイルの例が
  63. %{_docdir}/%{name}/%{name}-%{version}/xmonad.hs
  64. にあるため、
  65. ~/.xmonad 以下にコピーして使用して下さい。
  66. %prep
  67. %{__rm} -rf ${RPM_BUILD_ROOT}
  68. %build
  69. %ghc_pkg_init
  70. cd %{_builddir}
  71. for pkg in `sed '$d' %{SOURCE0}`; do
  72. %{__tar} xzf %{_sourcedir}/${pkg}.tar.gz
  73. pushd ${pkg}
  74. %ghc_fix_dependencies ${pkg}
  75. %cabal_configure2 %{name} ${pkg}
  76. %cabal_build
  77. %cabal_haddock
  78. %cabal_copy_resister %{name}_${pkg}
  79. popd
  80. done
  81. # build xmonad
  82. for pkg in `tail -n 1 %{SOURCE0}`; do
  83. %{__tar} xzf %{_sourcedir}/${pkg}.tar.gz
  84. pushd ${pkg}
  85. %ghc_fix_dependencies ${pkg}
  86. # Patch for building ghc-8.4
  87. %{__patch} -p1 < %{SOURCE2}
  88. %cabal_configure2 %{name} %{name}-%{version}
  89. %cabal_build
  90. %cabal_haddock
  91. %cabal_copy_resister %{pkgname}-%{version}
  92. popd
  93. done
  94. %install
  95. %{__mkdir_p} ${RPM_BUILD_ROOT}%{_datadir}/man/man1
  96. # copy man file
  97. pushd ${RPM_BUILD_ROOT}%{_datadir}/%{name}/%{name}-%{version}/man
  98. %{__mv} xmonad.1 ${RPM_BUILD_ROOT}%{_datadir}/man/man1
  99. %{__mv} xmonad.1.html xmonad.hs \
  100. ${RPM_BUILD_ROOT}%{_docdir}/%{name}/%{name}-%{version}
  101. popd
  102. %{__rm} -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-%{version}/man
  103. # xsession desktop entry
  104. %{__mkdir_p} %{buildroot}%{_datadir}/xsessions/
  105. %{__install} -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_datadir}/xsessions/
  106. # copy documents
  107. pushd %{_builddir}/%{name}-%{version}
  108. %{__cp} CHANGES.md LICENSE README.md STYLE \
  109. ${RPM_BUILD_ROOT}%{_docdir}/%{name}/%{name}-%{version}
  110. popd
  111. %clean
  112. %{__rm} -rf ${RPM_BUILD_ROOT}
  113. %post
  114. %ghc_pkg_recache
  115. %postun
  116. %ghc_pkg_recache
  117. %files
  118. %defattr(-, root, root)
  119. %{_bindir}/
  120. %{_libdir}/ghc-%{ghc_version}/
  121. %{_libdir}/ghc-lib/
  122. %{_datadir}/xsessions/
  123. %{_docdir}/%{name}
  124. %{_mandir}/man1/
  125. %changelog
  126. * Fri May 18 2018 Toshiaki Ara <ara_t@384.jp> 0.13-2
  127. - rebuild using ghc-8.4.2
  128. - add Patch for building with ghc-8.4 (Source2)
  129. - add BuildRequires: libghc-old-locale
  130. - add BuildRequires: libghc-semigroups
  131. - rewrite using macro
  132. * Tue Jan 09 2018 Toshiaki Ara <ara_t@384.jp> 0.13-1
  133. - update to 0.13
  134. - build using ghc-8.2.2
  135. * Fri Feb 03 2017 Toshiaki Ara <ara_t@384.jp> 0.12-5
  136. - rebuild using ghc-8.0.1
  137. * Wed May 04 2016 Toshiaki Ara <ara_t@384.jp> 0.12-4
  138. - rebuilt
  139. * Tue Apr 12 2016 Toshiaki Ara <ara_t@384.jp> 0.12-3
  140. - correct SPEC file
  141. * Tue Mar 01 2016 Toshiaki Ara <ara_t@384.jp> 0.12-2
  142. - rebuild under dependent rpm packages
  143. * Sat Feb 27 2016 Toshiaki Ara <ara_t@384.jp> 0.12-1
  144. - new package