]> git.pld-linux.org Git - SPECS.git/blob - gnustep-base.spec
SPECS updated Tue 30 Apr 15:06:09 CEST 2024
[SPECS.git] / gnustep-base.spec
1 # TODO: use system ca-certificates
2 # - libdispatch
3 #
4 # Conditional build:
5 %bcond_without  doc     # don't generate documentation (bootstrap build w/o gnustep-base)
6 #
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
11 Summary:        GNUstep Base library package
12 Summary(pl.UTF-8):      Podstawowa biblioteka GNUstep
13 Name:           gnustep-base
14 %define ver     1.24
15 Version:        %{ver}.6
16 Release:        21
17 License:        LGPL v2+ (library), GPL v3+ (applications)
18 Group:          Libraries
19 Source0:        ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz
20 # Source0-md5:  02e45ae9a7e5e75bf32cc1a6e8381bc1
21 Source1:        %{name}.init
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
48 Requires:       sed >= 4.0
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)
53
54 # libgnustep-base refers to some non-function ffi_* symbols
55 %define         skip_post_check_so      libgnustep-base.so.*
56
57 %description
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.
64
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
70 losowych.
71
72 %package devel
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}
77 Requires:       gcc-objc
78 Requires:       gmp-devel
79 Requires:       gnustep-make-devel >= 1.13.1
80 Requires:       libffi-devel >= 3.0.9
81 Requires:       libxml2-devel
82 Requires:       zlib-devel
83
84 %description devel
85 Header files required to build applications against the GNUstep Base
86 library.
87
88 %description devel -l pl.UTF-8
89 Pliki nagłówkowe potrzebne do budowania aplikacji używających
90 podstawowej biblioteki GNUstep.
91
92 %prep
93 %setup -q
94 %patch0 -p1
95 %patch1 -p1
96 %patch2 -p1
97 %patch3 -p1
98
99 %build
100 %{__autoconf} -Iconfig
101
102 # don't assume that GNUstep.sh is imported in environment
103 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
104 export GNUSTEP_FLATTENED=yes
105
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 \
111 %configure \
112         --disable-ffcall \
113         --enable-libffi \
114         --enable-pass-arguments \
115         --with-zeroconf=avahi
116
117 # fake GUI_MAKE_LOADED to avoid linking with gnustep-gui
118 %{__make} -j1 \
119         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
120         GUI_MAKE_LOADED=yes \
121         GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES` \
122         messages=yes
123
124 %if %{with doc}
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`
134 %endif
135
136 %install
137 rm -rf $RPM_BUILD_ROOT
138 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig}
139
140 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
141 export GNUSTEP_FLATTENED=yes
142
143 %{__make} -j1 install \
144         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
145         DESTDIR=$RPM_BUILD_ROOT
146
147 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnustep
148 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/gnustep
149
150 echo 'GMT' > $RPM_BUILD_ROOT%{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime
151
152 %if %{with doc}
153 %{__make} -j1 -C Documentation install \
154         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
155         DESTDIR=$RPM_BUILD_ROOT
156
157 %{__make} -j1 -C Documentation/manual install \
158         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
159         DESTDIR=$RPM_BUILD_ROOT
160
161 %{__mv} $RPM_BUILD_ROOT%{_infodir}/{manual,gnustep-base-manual}.info
162
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
166 %endif
167
168 %clean
169 rm -rf $RPM_BUILD_ROOT
170
171 %post
172 /sbin/ldconfig
173 /sbin/chkconfig --add gnustep
174 if [ -f /var/lock/subsys/gnustep ]; then
175         /etc/rc.d/init.d/gnustep restart 1>&2
176 else
177         echo "Run \"/etc/rc.d/init.d/gnustep start\" to start gnustep services."
178 fi
179
180 %preun
181 if [ "$1" = "0" ]; then
182         if [ -f /var/lock/subsys/gnustep ]; then
183                 /etc/rc.d/init.d/gnustep stop 1>&2
184         fi
185         /sbin/chkconfig --del gnustep
186 fi
187
188 %postun -p /sbin/ldconfig
189
190 %triggerpostun -- %{name} < 1.11.0-1.1
191 sed -i -e "/^%(echo %{_prefix}/Libraries/ | sed -e 's,/,\\/,g')$/d" /etc/ld.so.conf
192
193 %files
194 %defattr(644,root,root,755)
195 %doc ChangeLog*
196
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
216
217 %attr(755,root,root) %{_libdir}/libgnustep-base.so.*.*.*
218 %attr(755,root,root) %ghost %{_libdir}/libgnustep-base.so.%{ver}
219
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*
229
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
232
233 %dir %{_libdir}/GNUstep/DTDs
234 %{_libdir}/GNUstep/DTDs/*.dtd
235 %{_libdir}/GNUstep/DTDs/*.rnc
236
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
246
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
270
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
279 # FIXME: FHS
280 %config(noreplace) %verify(not md5 mtime size) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime
281
282 %if %{with doc}
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
289 %endif
290
291 %files devel
292 %defattr(644,root,root,755)
293 %attr(755,root,root) %{_libdir}/libgnustep-base.so
294 %{_includedir}/Foundation
295 %{_includedir}/GNUstepBase
296 %{_includedir}/gnustep
297
298 %if %{with doc}
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*
307 %endif
308
309 %dir %{_datadir}/GNUstep/Makefiles/Additional
310 %{_datadir}/GNUstep/Makefiles/Additional/base.make
This page took 1.954071 seconds and 3 git commands to generate.