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