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

Revision 11384, 5.4 KB checked in by ara_t, 6 years ago (diff)

new upstream release

Line 
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
7Summary:     Lightweight X11 window manager written in Haskell
8Summary(ja): Haskellで書かれたタイル型ウィンドウマネージャ
9Name:    %{pkg_name}
10Version: %{pkg_version}
11Release: %{pkg_release}
12
13License: BSD3
14Group:   User Interface/Desktops
15URL:     http://hackage.haskell.org
16
17Source0: %{name}-%{version}.tar.gz
18Source1: packages
19Source2: xmonad.desktop
20
21# num=11; for pkg in `cat packages`; do echo "Source${num}: ${pkg}.tar.gz"; num=`expr ${num} + 1`; done
22Source11: X11-1.8.tar.gz
23Source12: extensible-exceptions-0.1.1.4.tar.gz
24Source13: setlocale-1.0.0.5.tar.gz
25Source14: 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
30Source101: utf8-string.cabal
31
32BuildRoot: %{_tmppath}/%{name}-%{version}-root
33
34BuildRequires: ghc haskell-platform
35BuildRequires: libffi-devel gmp-devel zlib-devel
36
37BuildRequires: libghc-data-default-class
38BuildRequires: libghc-dlist
39BuildRequires: libghc-data-default
40
41BuildRequires: xorg-x11-devel
42BuildRequires: libXrandr-devel libXinerama-devel
43BuildRequires: docbook-utils docbook-utils-pdf docbook-style-xsl
44
45Requires: libXrandr-devel libXinerama-devel
46
47Vendor: Project Vine
48Distribution: Vine Linux
49Packager: ara_t
50
51
52%description
53Xmonad is a minimalist tiling window manager for X, written in Haskell.
54Windows are managed using automatic layout algorithms, which can be dynamically
55reconfigured. At any time windows are arranged so as to maximise the use of
56screen real estate. All features of the window manager are accessible purely
57from the keyboard: a mouse is entirely optional.
58Xmonad is configured in Haskell, and custom layout algorithms may be implemented
59 by the user in config files.
60A principle of Xmonad is predictability: the user should know in advance
61 precisely the window arrangement that will result from any action.
62
63Please sample configure file as follows.
64`cp %{_docdir}/%{name}/%{name}-%{version}/xmonad.hs ~/.xmonad/`
65
66
67%description -l ja
68XmonadはHaskellで書かれたタイル型ウィンドウマネージャです。
69ウィンドウは自動的レイアウトアルゴリズムによって管理されており、
70ウィンドウはいつでも最大化されて配置されます。
71純粋にキーボード操作だけで操作することが可能であり、
72マウスの使用は単にオプションです。
73Xmonadは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
89ghc-pkg init %{_builddir}/package.conf
90
91%build
92PKG_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
97cd %{_builddir}
98for 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 ..
120done
121
122# build xmonad
123cd %{_builddir}/%{name}-%{version}
124cabal 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
132cabal build
133cabal haddock
134cabal copy --destdir=${RPM_BUILD_ROOT}
135cabal register --inplace
136cabal 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
159ghc-pkg recache
160
161%postun
162ghc-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
Note: See TracBrowser for help on using the repository browser.