source: projects/specs/trunk/x/xmonad/xmonad-vl.spec @ 10916

Revision 10916, 5.5 KB checked in by ara_t, 7 years ago (diff)

xmonad/xmobar: rebuild with ghc-8.0.1

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