]>
Commit | Line | Data |
---|---|---|
6dd6f5ef JB |
1 | # TODO: use system ca-certificates |
2 | # - libdispatch | |
f2c36225 | 3 | # |
a1765662 | 4 | # Conditional build: |
6dd6f5ef | 5 | %bcond_without doc # don't generate documentation (bootstrap build w/o gnustep-base) |
a1765662 | 6 | # |
6dd6f5ef JB |
7 | # gc is used for gnugc-*-* libcombo |
8 | %if "%(gnustep-config --variable=LIBRARY_COMBO | cut -d- -f1)" == "gnugc" | |
9 | %define with_gc 1 | |
10 | %endif | |
776d94ab | 11 | Summary: GNUstep Base library package |
3bae497f | 12 | Summary(pl.UTF-8): Podstawowa biblioteka GNUstep |
776d94ab | 13 | Name: gnustep-base |
6dd6f5ef | 14 | %define ver 1.24 |
8a7d0aa9 | 15 | Version: %{ver}.6 |
e2e4d926 | 16 | Release: 15 |
6dd6f5ef | 17 | License: LGPL v2+ (library), GPL v3+ (applications) |
30ff75eb | 18 | Group: Libraries |
776d94ab | 19 | Source0: ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz |
8a7d0aa9 | 20 | # Source0-md5: 02e45ae9a7e5e75bf32cc1a6e8381bc1 |
aed1ee97 | 21 | Source1: %{name}.init |
2c5ee7c2 | 22 | Source2: %{name}.sysconfig |
b032aafd | 23 | Patch0: %{name}-pass-arguments.patch |
f2f9d7e3 | 24 | Patch1: %{name}-ac.patch |
6dd6f5ef | 25 | Patch2: %{name}-link.patch |
b993d150 | 26 | URL: http://www.gnustep.org/ |
6dd6f5ef JB |
27 | BuildRequires: autoconf >= 2.60 |
28 | BuildRequires: avahi-devel | |
a2dbe50d | 29 | %{?with_doc:BuildRequires: docbook-dtd41-sgml} |
6dd6f5ef | 30 | %{?with_gc:BuildRequires: gc-devel} |
9a75922c JB |
31 | BuildRequires: gcc-objc |
32 | BuildRequires: gmp-devel | |
6dd6f5ef JB |
33 | BuildRequires: gnustep-make-devel >= 1.13.1 |
34 | BuildRequires: gnutls-devel >= 1.4.0 | |
35 | BuildRequires: libffi-devel >= 3.0.9 | |
36 | BuildRequires: libgcrypt-devel | |
37 | BuildRequires: libicu-devel >= 4.0 | |
aed1ee97 | 38 | BuildRequires: libxml2-devel >= 2.3.0 |
9e9cc6e4 | 39 | BuildRequires: libxslt-devel >= 1.1.21 |
6dd6f5ef JB |
40 | BuildRequires: pkgconfig |
41 | %{?with_doc:BuildRequires: texinfo-texi2dvi} | |
9a75922c | 42 | BuildRequires: zlib-devel |
81d534d8 | 43 | Requires(post): /sbin/ldconfig |
a2dbe50d | 44 | Requires(post,preun): /sbin/chkconfig |
81d534d8 ER |
45 | Requires(triggerpostun): sed >= 4.0 |
46 | Requires: glibc >= 6:2.3.5-7.6 | |
6dd6f5ef | 47 | Requires: gnustep-make >= 1.13.1 |
aed1ee97 JB |
48 | # with gdomap in /etc/services |
49 | Requires: setup >= 2.4.3 | |
9a75922c JB |
50 | Conflicts: gnustep-core |
51 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
52 | ||
8a7d0aa9 JB |
53 | # libgnustep-base refers to some non-function ffi_* symbols |
54 | %define skip_post_check_so libgnustep-base.so.* | |
55 | ||
b993d150 | 56 | %description |
776d94ab | 57 | The GNUstep Base Library is a library of general-purpose, |
58 | non-graphical Objective C objects. For example, it includes classes | |
59 | for strings, object collections, byte streams, typed coders, | |
60 | invocations, notifications, notification dispatchers, moments in time, | |
61 | network ports, remote object messaging support (distributed objects), | |
9a75922c | 62 | event loops, and random number generators. |
b993d150 | 63 | |
51f24a62 JR |
64 | %description -l pl.UTF-8 |
65 | Podstawowa biblioteka GNUstep jest biblioteką innych niż graficzne | |
66 | obiektów ogólnego przeznaczenia dla Objective C. Zawiera np. klasy dla | |
67 | stringów, kolekcji, strumieni, koderów typów, powiadamiania, portów | |
68 | sieci, obiektów rozproszonych, pętli zdarzeń, generatorów liczb | |
129467cf JB |
69 | losowych. |
70 | ||
b993d150 | 71 | %package devel |
129467cf | 72 | Summary: GNUstep Base headers |
3bae497f | 73 | Summary(pl.UTF-8): Pliki nagłówkowe podstawowej biblioteki GNUstep |
776d94ab | 74 | Group: Development/Libraries |
5f741c7a | 75 | Requires: %{name} = %{version}-%{release} |
a1765662 JB |
76 | Requires: gcc-objc |
77 | Requires: gmp-devel | |
6dd6f5ef JB |
78 | Requires: gnustep-make-devel >= 1.13.1 |
79 | Requires: libffi-devel >= 3.0.9 | |
a1765662 JB |
80 | Requires: libxml2-devel |
81 | Requires: zlib-devel | |
b993d150 | 82 | |
83 | %description devel | |
776d94ab | 84 | Header files required to build applications against the GNUstep Base |
9a75922c | 85 | library. |
b993d150 | 86 | |
51f24a62 JR |
87 | %description devel -l pl.UTF-8 |
88 | Pliki nagłówkowe potrzebne do budowania aplikacji używających | |
129467cf JB |
89 | podstawowej biblioteki GNUstep. |
90 | ||
b993d150 | 91 | %prep |
e372fffb | 92 | %setup -q |
81fa6835 | 93 | %patch0 -p1 |
f2f9d7e3 | 94 | %patch1 -p1 |
6dd6f5ef | 95 | %patch2 -p1 |
b993d150 | 96 | |
97 | %build | |
f2f9d7e3 PS |
98 | %{__autoconf} -Iconfig |
99 | ||
cd237fcd | 100 | # don't assume that GNUstep.sh is imported in environment |
9e9cc6e4 | 101 | export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles |
cd237fcd | 102 | export GNUSTEP_FLATTENED=yes |
72cd19bf | 103 | |
3de239d6 JB |
104 | # gnustep can use one of 3 ways of getting argc,argv,env: |
105 | # - /proc (default on Linux) - gnustep programs won't run in procless system | |
106 | # - fake-main hack (main is secretly renamed and wrapped) | |
107 | # - pass-arguments (program must call NSProcessInfo initialize) | |
1dd53227 | 108 | GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ |
3de239d6 | 109 | %configure \ |
6dd6f5ef | 110 | --disable-ffcall \ |
9e9cc6e4 | 111 | --enable-libffi \ |
6dd6f5ef JB |
112 | --enable-pass-arguments \ |
113 | --with-zeroconf=avahi | |
e806eebd | 114 | |
cd237fcd | 115 | # fake GUI_MAKE_LOADED to avoid linking with gnustep-gui |
f2f9d7e3 | 116 | %{__make} -j1 \ |
1dd53227 | 117 | GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ |
cd237fcd | 118 | GUI_MAKE_LOADED=yes \ |
a91f1e86 | 119 | GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES` \ |
a1765662 | 120 | messages=yes |
b993d150 | 121 | |
8191a52b | 122 | %if %{with doc} |
6dd6f5ef | 123 | # needs already built gnustep-base |
1289291f | 124 | export LD_LIBRARY_PATH=`pwd`/Source/obj |
6dd6f5ef | 125 | # build seems racy, use -j1 |
4041ff2d | 126 | %{__make} -j1 -C Documentation \ |
1dd53227 | 127 | GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ |
a91f1e86 | 128 | GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES` |
f2f9d7e3 | 129 | %{__make} -j1 -C Documentation/manual \ |
1dd53227 | 130 | GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ |
a91f1e86 | 131 | GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES` |
a1765662 | 132 | %endif |
9a75922c | 133 | |
b993d150 | 134 | %install |
135 | rm -rf $RPM_BUILD_ROOT | |
74575d9d | 136 | install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig} |
9e9cc6e4 JR |
137 | |
138 | export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles | |
cd237fcd | 139 | export GNUSTEP_FLATTENED=yes |
72cd19bf | 140 | |
f2f9d7e3 | 141 | %{__make} -j1 install \ |
1dd53227 | 142 | GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ |
9e9cc6e4 JR |
143 | DESTDIR=$RPM_BUILD_ROOT |
144 | ||
74575d9d | 145 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnustep |
9e9cc6e4 JR |
146 | install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/gnustep |
147 | ||
148 | echo 'GMT' > $RPM_BUILD_ROOT%{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime | |
149 | ||
8191a52b | 150 | %if %{with doc} |
f2f9d7e3 | 151 | %{__make} -j1 -C Documentation install \ |
1dd53227 | 152 | GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ |
9e9cc6e4 JR |
153 | DESTDIR=$RPM_BUILD_ROOT |
154 | ||
f2f9d7e3 | 155 | %{__make} -j1 -C Documentation/manual install \ |
1dd53227 | 156 | GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ |
9e9cc6e4 JR |
157 | DESTDIR=$RPM_BUILD_ROOT |
158 | ||
6dd6f5ef JB |
159 | %{__mv} $RPM_BUILD_ROOT%{_infodir}/{manual,gnustep-base-manual}.info |
160 | ||
a1765662 | 161 | # not (yet?) supported by rpm-compress-doc |
9e9cc6e4 | 162 | find $RPM_BUILD_ROOT%{_datadir}/GNUstep/Documentation \ |
1289291f | 163 | -type f -a ! -name '*.html' -a ! -name '*.gz' -a ! -name '*.jpg' -a ! -name '*.css' | xargs gzip -9nf |
a1765662 | 164 | %endif |
9a75922c | 165 | |
129467cf JB |
166 | %clean |
167 | rm -rf $RPM_BUILD_ROOT | |
168 | ||
b993d150 | 169 | %post |
b993d150 | 170 | /sbin/ldconfig |
be3ce200 | 171 | /sbin/chkconfig --add gnustep |
9a75922c JB |
172 | if [ -f /var/lock/subsys/gnustep ]; then |
173 | /etc/rc.d/init.d/gnustep restart 1>&2 | |
174 | else | |
175 | echo "Run \"/etc/rc.d/init.d/gnustep start\" to start gnustep services." | |
176 | fi | |
b993d150 | 177 | |
178 | %preun | |
9a75922c JB |
179 | if [ "$1" = "0" ]; then |
180 | if [ -f /var/lock/subsys/gnustep ]; then | |
181 | /etc/rc.d/init.d/gnustep stop 1>&2 | |
182 | fi | |
183 | /sbin/chkconfig --del gnustep | |
b993d150 | 184 | fi |
185 | ||
81d534d8 | 186 | %postun -p /sbin/ldconfig |
b993d150 | 187 | |
81d534d8 | 188 | %triggerpostun -- %{name} < 1.11.0-1.1 |
345013a9 | 189 | sed -i -e "/^%(echo %{_prefix}/Libraries/ | sed -e 's,/,\\/,g')$/d" /etc/ld.so.conf |
aed1ee97 | 190 | |
9a75922c | 191 | %files |
776d94ab | 192 | %defattr(644,root,root,755) |
a1765662 | 193 | %doc ChangeLog* |
6dd6f5ef JB |
194 | |
195 | %attr(755,root,root) %{_bindir}/HTMLLinker | |
196 | %attr(755,root,root) %{_bindir}/autogsdoc | |
197 | %attr(755,root,root) %{_bindir}/cvtenc | |
198 | %attr(755,root,root) %{_bindir}/defaults | |
199 | %attr(755,root,root) %{_bindir}/gdnc | |
200 | %attr(755,root,root) %{_bindir}/gdomap | |
201 | %attr(755,root,root) %{_bindir}/gspath | |
202 | %attr(755,root,root) %{_bindir}/make_strings | |
203 | %attr(755,root,root) %{_bindir}/pl | |
204 | %attr(755,root,root) %{_bindir}/pl2link | |
205 | %attr(755,root,root) %{_bindir}/pldes | |
206 | %attr(755,root,root) %{_bindir}/plget | |
207 | %attr(755,root,root) %{_bindir}/plmerge | |
208 | %attr(755,root,root) %{_bindir}/plparse | |
209 | %attr(755,root,root) %{_bindir}/plser | |
210 | %attr(755,root,root) %{_bindir}/sfparse | |
211 | %attr(755,root,root) %{_bindir}/xmlparse | |
212 | # is suid necessary here??? it runs as daemon... | |
213 | #%attr(4755,root,root) %{_bindir}/gdomap | |
214 | ||
215 | %attr(755,root,root) %{_libdir}/libgnustep-base.so.*.*.* | |
216 | %attr(755,root,root) %ghost %{_libdir}/libgnustep-base.so.%{ver} | |
217 | ||
218 | %{_mandir}/man1/autogsdoc.1* | |
219 | %{_mandir}/man1/cvtenc.1* | |
220 | %{_mandir}/man1/defaults.1* | |
221 | %{_mandir}/man1/gdnc.1* | |
222 | %{_mandir}/man1/gspath.1* | |
223 | %{_mandir}/man1/pldes.1* | |
224 | %{_mandir}/man1/sfparse.1* | |
225 | %{_mandir}/man1/xmlparse.1* | |
226 | %{_mandir}/man8/gdomap.8* | |
9e9cc6e4 | 227 | |
74575d9d | 228 | %attr(754,root,root) /etc/rc.d/init.d/gnustep |
2c5ee7c2 | 229 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gnustep |
9a75922c | 230 | |
9e9cc6e4 JR |
231 | %dir %{_libdir}/GNUstep/DTDs |
232 | %{_libdir}/GNUstep/DTDs/*.dtd | |
233 | %{_libdir}/GNUstep/DTDs/*.rnc | |
234 | ||
235 | %dir %{_libdir}/GNUstep/Libraries | |
236 | %dir %{_libdir}/GNUstep/Libraries/gnustep-base | |
237 | %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions | |
238 | %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver} | |
239 | %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources | |
6dd6f5ef JB |
240 | %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/GSTLS |
241 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/GSTLS/ca-certificates.crt | |
9e9cc6e4 JR |
242 | %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages |
243 | %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones | |
244 | ||
245 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/*.plist | |
246 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/English.lproj | |
247 | %lang(eo) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Esperanto.lproj | |
248 | %lang(fr) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/French.lproj | |
249 | %lang(de) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/German.lproj | |
250 | %lang(it) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Italian.lproj | |
251 | %lang(ko) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Korean.lproj | |
252 | %lang(es) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Spanish.lproj | |
253 | %lang(zh_TW) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/TraditionalChinese.lproj | |
254 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Locale.* | |
255 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/English | |
256 | %lang(nl) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Dutch | |
257 | %lang(eo) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Esperanto | |
258 | %lang(fr) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/French | |
259 | %lang(de) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/German | |
260 | %lang(hu) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Hungarian | |
261 | %lang(it) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Italian | |
262 | %lang(ko) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Korean | |
263 | %lang(ru) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Russian | |
264 | %lang(sk) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Slovak | |
265 | %lang(es) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Spanish | |
266 | %lang(zh_TW) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/TraditionalChinese | |
267 | %lang(uk) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Ukrainian | |
268 | ||
269 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/GNUmakefile | |
270 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/GNUstep_zones | |
271 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/README | |
272 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/abbreviations | |
273 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/regions | |
274 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/zones | |
275 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/*.m | |
276 | %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/*.plist | |
6dd6f5ef | 277 | # FIXME: FHS |
9e9cc6e4 JR |
278 | %config(noreplace) %verify(not md5 mtime size) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime |
279 | ||
6dd6f5ef JB |
280 | %if %{with doc} |
281 | %docdir %{_datadir}/GNUstep/Documentation | |
282 | %{_datadir}/GNUstep/Documentation/*.jpg | |
283 | %{_datadir}/GNUstep/Documentation/index.html | |
284 | %{_datadir}/GNUstep/Documentation/style.css | |
285 | %dir %{_datadir}/GNUstep/Documentation/Developer/Base | |
286 | %{_datadir}/GNUstep/Documentation/Developer/Base/ReleaseNotes | |
287 | %endif | |
9a75922c JB |
288 | |
289 | %files devel | |
776d94ab | 290 | %defattr(644,root,root,755) |
6dd6f5ef JB |
291 | %attr(755,root,root) %{_libdir}/libgnustep-base.so |
292 | %{_includedir}/Foundation | |
293 | %{_includedir}/GNUstepBase | |
294 | %{_includedir}/gnustep | |
295 | ||
8191a52b | 296 | %if %{with doc} |
9e9cc6e4 JR |
297 | %docdir %{_datadir}/GNUstep/Documentation |
298 | %{_datadir}/GNUstep/Documentation/Developer/Base/General | |
299 | %{_datadir}/GNUstep/Documentation/Developer/Base/ProgrammingManual | |
300 | %{_datadir}/GNUstep/Documentation/Developer/Base/Reference | |
301 | %{_datadir}/GNUstep/Documentation/Developer/BaseAdditions | |
302 | %{_datadir}/GNUstep/Documentation/Developer/CodingStandards | |
303 | %{_datadir}/GNUstep/Documentation/Developer/Tools | |
6dd6f5ef | 304 | %{_infodir}/gnustep-base-manual.info* |
aed1ee97 JB |
305 | %endif |
306 | ||
9e9cc6e4 JR |
307 | %dir %{_datadir}/GNUstep/Makefiles/Additional |
308 | %{_datadir}/GNUstep/Makefiles/Additional/base.make |