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 URL: http://www.gnustep.org/
27 BuildRequires: autoconf >= 2.60
28 BuildRequires: avahi-devel
29 %{?with_doc:BuildRequires: docbook-dtd41-sgml}
30 %{?with_gc:BuildRequires: gc-devel}
31 BuildRequires: gcc-objc
32 BuildRequires: gmp-devel
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
38 BuildRequires: libxml2-devel >= 2.3.0
39 BuildRequires: libxslt-devel >= 1.1.21
40 BuildRequires: pkgconfig
41 %{?with_doc:BuildRequires: texinfo-texi2dvi}
42 BuildRequires: zlib-devel
43 Requires(post): /sbin/ldconfig
44 Requires(post,preun): /sbin/chkconfig
45 Requires(triggerpostun): sed >= 4.0
46 Requires: glibc >= 6:2.3.5-7.6
47 Requires: gnustep-make >= 1.13.1
48 # with gdomap in /etc/services
49 Requires: setup >= 2.4.3
50 Conflicts: gnustep-core
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 # libgnustep-base refers to some non-function ffi_* symbols
54 %define skip_post_check_so libgnustep-base.so.*
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),
62 event loops, and random number generators.
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
72 Summary: GNUstep Base headers
73 Summary(pl.UTF-8): Pliki nagłówkowe podstawowej biblioteki GNUstep
74 Group: Development/Libraries
75 Requires: %{name} = %{version}-%{release}
78 Requires: gnustep-make-devel >= 1.13.1
79 Requires: libffi-devel >= 3.0.9
80 Requires: libxml2-devel
84 Header files required to build applications against the GNUstep Base
87 %description devel -l pl.UTF-8
88 Pliki nagłówkowe potrzebne do budowania aplikacji używających
89 podstawowej biblioteki GNUstep.
98 %{__autoconf} -Iconfig
100 # don't assume that GNUstep.sh is imported in environment
101 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
102 export GNUSTEP_FLATTENED=yes
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)
108 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
112 --enable-pass-arguments \
113 --with-zeroconf=avahi
115 # fake GUI_MAKE_LOADED to avoid linking with gnustep-gui
117 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
118 GUI_MAKE_LOADED=yes \
119 GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES` \
123 # needs already built gnustep-base
124 export LD_LIBRARY_PATH=`pwd`/Source/obj
125 # build seems racy, use -j1
126 %{__make} -j1 -C Documentation \
127 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
128 GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES`
129 %{__make} -j1 -C Documentation/manual \
130 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
131 GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES`
135 rm -rf $RPM_BUILD_ROOT
136 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig}
138 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
139 export GNUSTEP_FLATTENED=yes
141 %{__make} -j1 install \
142 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
143 DESTDIR=$RPM_BUILD_ROOT
145 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnustep
146 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/gnustep
148 echo 'GMT' > $RPM_BUILD_ROOT%{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime
151 %{__make} -j1 -C Documentation install \
152 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
153 DESTDIR=$RPM_BUILD_ROOT
155 %{__make} -j1 -C Documentation/manual install \
156 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
157 DESTDIR=$RPM_BUILD_ROOT
159 %{__mv} $RPM_BUILD_ROOT%{_infodir}/{manual,gnustep-base-manual}.info
161 # not (yet?) supported by rpm-compress-doc
162 find $RPM_BUILD_ROOT%{_datadir}/GNUstep/Documentation \
163 -type f -a ! -name '*.html' -a ! -name '*.gz' -a ! -name '*.jpg' -a ! -name '*.css' | xargs gzip -9nf
167 rm -rf $RPM_BUILD_ROOT
171 /sbin/chkconfig --add gnustep
172 if [ -f /var/lock/subsys/gnustep ]; then
173 /etc/rc.d/init.d/gnustep restart 1>&2
175 echo "Run \"/etc/rc.d/init.d/gnustep start\" to start gnustep services."
179 if [ "$1" = "0" ]; then
180 if [ -f /var/lock/subsys/gnustep ]; then
181 /etc/rc.d/init.d/gnustep stop 1>&2
183 /sbin/chkconfig --del gnustep
186 %postun -p /sbin/ldconfig
188 %triggerpostun -- %{name} < 1.11.0-1.1
189 sed -i -e "/^%(echo %{_prefix}/Libraries/ | sed -e 's,/,\\/,g')$/d" /etc/ld.so.conf
192 %defattr(644,root,root,755)
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
215 %attr(755,root,root) %{_libdir}/libgnustep-base.so.*.*.*
216 %attr(755,root,root) %ghost %{_libdir}/libgnustep-base.so.%{ver}
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*
228 %attr(754,root,root) /etc/rc.d/init.d/gnustep
229 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gnustep
231 %dir %{_libdir}/GNUstep/DTDs
232 %{_libdir}/GNUstep/DTDs/*.dtd
233 %{_libdir}/GNUstep/DTDs/*.rnc
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
240 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/GSTLS
241 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/GSTLS/ca-certificates.crt
242 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages
243 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones
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
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
278 %config(noreplace) %verify(not md5 mtime size) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime
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
290 %defattr(644,root,root,755)
291 %attr(755,root,root) %{_libdir}/libgnustep-base.so
292 %{_includedir}/Foundation
293 %{_includedir}/GNUstepBase
294 %{_includedir}/gnustep
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
304 %{_infodir}/gnustep-base-manual.info*
307 %dir %{_datadir}/GNUstep/Makefiles/Additional
308 %{_datadir}/GNUstep/Makefiles/Additional/base.make