1 | %define pkg_name xmonad |
---|
2 | %define pkg_version 0.13 |
---|
3 | %define pkg_release 1%{?_dist_release} |
---|
4 | |
---|
5 | %define ghc_version 8.2.2 |
---|
6 | |
---|
7 | Summary: Lightweight X11 window manager written in Haskell |
---|
8 | Summary(ja): Haskellで書かれたタイル型ウィンドウマネージャ |
---|
9 | Name: %{pkg_name} |
---|
10 | Version: %{pkg_version} |
---|
11 | Release: %{pkg_release} |
---|
12 | |
---|
13 | License: BSD3 |
---|
14 | Group: User Interface/Desktops |
---|
15 | URL: http://hackage.haskell.org |
---|
16 | |
---|
17 | Source0: %{name}-%{version}.tar.gz |
---|
18 | Source1: packages |
---|
19 | Source2: xmonad.desktop |
---|
20 | |
---|
21 | # num=11; for pkg in `cat packages`; do echo "Source${num}: ${pkg}.tar.gz"; num=`expr ${num} + 1`; done |
---|
22 | Source11: X11-1.8.tar.gz |
---|
23 | Source12: extensible-exceptions-0.1.1.4.tar.gz |
---|
24 | Source13: setlocale-1.0.0.5.tar.gz |
---|
25 | Source14: utf8-string-1.0.1.1.tar.gz |
---|
26 | |
---|
27 | # to fix wrong dependencies in cabal files |
---|
28 | # do not use '-' |
---|
29 | %define utf8string_version 1.0.1.1 |
---|
30 | Source101: utf8-string.cabal |
---|
31 | |
---|
32 | BuildRoot: %{_tmppath}/%{name}-%{version}-root |
---|
33 | |
---|
34 | BuildRequires: ghc haskell-platform |
---|
35 | BuildRequires: libffi-devel gmp-devel zlib-devel |
---|
36 | |
---|
37 | BuildRequires: libghc-data-default-class |
---|
38 | BuildRequires: libghc-dlist |
---|
39 | BuildRequires: libghc-data-default |
---|
40 | |
---|
41 | BuildRequires: xorg-x11-devel |
---|
42 | BuildRequires: libXrandr-devel libXinerama-devel |
---|
43 | BuildRequires: docbook-utils docbook-utils-pdf docbook-style-xsl |
---|
44 | |
---|
45 | Requires: libXrandr-devel libXinerama-devel |
---|
46 | |
---|
47 | Vendor: Project Vine |
---|
48 | Distribution: Vine Linux |
---|
49 | Packager: ara_t |
---|
50 | |
---|
51 | |
---|
52 | %description |
---|
53 | Xmonad is a minimalist tiling window manager for X, written in Haskell. |
---|
54 | Windows are managed using automatic layout algorithms, which can be dynamically |
---|
55 | reconfigured. At any time windows are arranged so as to maximise the use of |
---|
56 | screen real estate. All features of the window manager are accessible purely |
---|
57 | from the keyboard: a mouse is entirely optional. |
---|
58 | Xmonad is configured in Haskell, and custom layout algorithms may be implemented |
---|
59 | by the user in config files. |
---|
60 | A principle of Xmonad is predictability: the user should know in advance |
---|
61 | precisely the window arrangement that will result from any action. |
---|
62 | |
---|
63 | Please sample configure file as follows. |
---|
64 | `cp %{_docdir}/%{name}/%{name}-%{version}/xmonad.hs ~/.xmonad/` |
---|
65 | |
---|
66 | |
---|
67 | %description -l ja |
---|
68 | XmonadはHaskellで書かれたタイル型ウィンドウマネージャです。 |
---|
69 | ウィンドウは自動的レイアウトアルゴリズムによって管理されており、 |
---|
70 | ウィンドウはいつでも最大化されて配置されます。 |
---|
71 | 純粋にキーボード操作だけで操作することが可能であり、 |
---|
72 | マウスの使用は単にオプションです。 |
---|
73 | XmonadはHaskellで設定され、ユーザーが設定ファイルを書くことで |
---|
74 | レイアウトをカスタマイズすることができます。 |
---|
75 | |
---|
76 | 設定ファイルの例が |
---|
77 | %{_docdir}/%{name}/%{name}-%{version}/xmonad.hs |
---|
78 | にあるため、 |
---|
79 | ~/.xmonad 以下にコピーして使用して下さい。 |
---|
80 | |
---|
81 | |
---|
82 | %prep |
---|
83 | %{__rm} -rf ${RPM_BUILD_ROOT} |
---|
84 | %{__rm} -rf %{_builddir}/package.conf |
---|
85 | %{__rm} -rf ${HOME}/.ghc |
---|
86 | %setup -q |
---|
87 | |
---|
88 | # Initialise the package db |
---|
89 | ghc-pkg init %{_builddir}/package.conf |
---|
90 | |
---|
91 | %build |
---|
92 | PKG_CONF_DIR=${RPM_BUILD_ROOT}%{_libdir}/ghc-%{ghc_version}/package.conf.d |
---|
93 | %{__rm} -rf ${PKG_CONF_DIR} |
---|
94 | %{__mkdir_p} ${PKG_CONF_DIR} |
---|
95 | |
---|
96 | # install dependent packages |
---|
97 | cd %{_builddir} |
---|
98 | for pkg in `cat %{SOURCE1}`; do |
---|
99 | %{__tar} xzf %{_sourcedir}/${pkg}.tar.gz |
---|
100 | cd ${pkg} |
---|
101 | case ${pkg} in |
---|
102 | "utf8-string-%{utf8string_version}") %{__cp} %{SOURCE101} . ;; |
---|
103 | *) ;; |
---|
104 | esac |
---|
105 | |
---|
106 | cabal configure \ |
---|
107 | --prefix=%{_prefix} \ |
---|
108 | --libdir=%{_libdir}/ghc-lib/%{name}/${pkg} \ |
---|
109 | --libsubdir= \ |
---|
110 | --datadir=%{_datadir}/%{name}/${pkg} \ |
---|
111 | --datasubdir= \ |
---|
112 | --docdir=%{_docdir}/%{name}/${pkg} |
---|
113 | |
---|
114 | cabal build |
---|
115 | cabal haddock |
---|
116 | cabal copy --destdir=${RPM_BUILD_ROOT} |
---|
117 | cabal register --inplace |
---|
118 | cabal register --gen-pkg-config=${PKG_CONF_DIR}/%{name}_${pkg}.conf |
---|
119 | cd .. |
---|
120 | done |
---|
121 | |
---|
122 | # build xmonad |
---|
123 | cd %{_builddir}/%{name}-%{version} |
---|
124 | cabal configure \ |
---|
125 | --prefix=%{_prefix} \ |
---|
126 | --libdir=%{_libdir}/ghc-lib/%{name}/%{name}-%{version} \ |
---|
127 | --libsubdir= \ |
---|
128 | --datadir=%{_datadir}/%{name}/%{name}-%{version} \ |
---|
129 | --datasubdir= \ |
---|
130 | --docdir=%{_docdir}/%{name}/%{name}-%{version} |
---|
131 | |
---|
132 | cabal build |
---|
133 | cabal haddock |
---|
134 | cabal copy --destdir=${RPM_BUILD_ROOT} |
---|
135 | cabal register --inplace |
---|
136 | cabal register --gen-pkg-config=${PKG_CONF_DIR}/%{pkg_name}-%{version}.conf |
---|
137 | |
---|
138 | %install |
---|
139 | %{__mkdir_p} ${RPM_BUILD_ROOT}%{_datadir}/man/man1 |
---|
140 | (cd ${RPM_BUILD_ROOT}%{_datadir}/%{name}/%{name}-%{version}/man |
---|
141 | %{__mv} xmonad.1 ${RPM_BUILD_ROOT}%{_datadir}/man/man1 |
---|
142 | %{__mv} xmonad.1.html xmonad.hs \ |
---|
143 | ${RPM_BUILD_ROOT}%{_docdir}/%{name}/%{name}-%{version} |
---|
144 | ) |
---|
145 | %{__rm} -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-%{version}/man |
---|
146 | |
---|
147 | # xsession desktop entry |
---|
148 | %{__mkdir_p} %{buildroot}%{_datadir}/xsessions/ |
---|
149 | %{__install} -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_datadir}/xsessions/ |
---|
150 | |
---|
151 | %{__cp} CHANGES.md LICENSE README.md STYLE \ |
---|
152 | ${RPM_BUILD_ROOT}%{_docdir}/%{name}/%{name}-%{version} |
---|
153 | |
---|
154 | %clean |
---|
155 | %{__rm} -rf ${RPM_BUILD_ROOT} |
---|
156 | |
---|
157 | |
---|
158 | %post |
---|
159 | ghc-pkg recache |
---|
160 | |
---|
161 | %postun |
---|
162 | ghc-pkg recache |
---|
163 | |
---|
164 | |
---|
165 | %files |
---|
166 | %defattr(-, root, root) |
---|
167 | %{_bindir}/ |
---|
168 | %{_libdir}/ghc-%{ghc_version}/ |
---|
169 | %{_libdir}/ghc-lib/ |
---|
170 | %{_datadir}/xsessions/ |
---|
171 | %{_docdir}/%{name} |
---|
172 | %{_mandir}/man1/ |
---|
173 | |
---|
174 | |
---|
175 | %changelog |
---|
176 | * Tue Jan 09 2018 Toshiaki Ara <ara_t@384.jp> 0.13 |
---|
177 | - update to 0.13 |
---|
178 | - build using ghc-8.2.2 |
---|
179 | |
---|
180 | * Fri Feb 03 2017 Toshiaki Ara <ara_t@384.jp> 0.12-5 |
---|
181 | - rebuild using ghc-8.0.1 |
---|
182 | |
---|
183 | * Wed May 04 2016 Toshiaki Ara <ara_t@384.jp> 0.12-4 |
---|
184 | - rebuilt |
---|
185 | |
---|
186 | * Tue Apr 12 2016 Toshiaki Ara <ara_t@384.jp> 0.12-3 |
---|
187 | - correct SPEC file |
---|
188 | |
---|
189 | * Tue Mar 01 2016 Toshiaki Ara <ara_t@384.jp> 0.12-2 |
---|
190 | - rebuild under dependent rpm packages |
---|
191 | |
---|
192 | * Sat Feb 27 2016 Toshiaki Ara <ara_t@384.jp> 0.12-1 |
---|
193 | - new package |
---|