]> git.pld-linux.org Git - packages/gnustep-base.git/blob - gnustep-base.spec
- icu 67 rebuild
[packages/gnustep-base.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:        15
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 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)
52
53 # libgnustep-base refers to some non-function ffi_* symbols
54 %define         skip_post_check_so      libgnustep-base.so.*
55
56 %description
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.
63
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
69 losowych.
70
71 %package devel
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}
76 Requires:       gcc-objc
77 Requires:       gmp-devel
78 Requires:       gnustep-make-devel >= 1.13.1
79 Requires:       libffi-devel >= 3.0.9
80 Requires:       libxml2-devel
81 Requires:       zlib-devel
82
83 %description devel
84 Header files required to build applications against the GNUstep Base
85 library.
86
87 %description devel -l pl.UTF-8
88 Pliki nagłówkowe potrzebne do budowania aplikacji używających
89 podstawowej biblioteki GNUstep.
90
91 %prep
92 %setup -q
93 %patch0 -p1
94 %patch1 -p1
95 %patch2 -p1
96
97 %build
98 %{__autoconf} -Iconfig
99
100 # don't assume that GNUstep.sh is imported in environment
101 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
102 export GNUSTEP_FLATTENED=yes
103
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 \
109 %configure \
110         --disable-ffcall \
111         --enable-libffi \
112         --enable-pass-arguments \
113         --with-zeroconf=avahi
114
115 # fake GUI_MAKE_LOADED to avoid linking with gnustep-gui
116 %{__make} -j1 \
117         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
118         GUI_MAKE_LOADED=yes \
119         GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES` \
120         messages=yes
121
122 %if %{with doc}
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`
132 %endif
133
134 %install
135 rm -rf $RPM_BUILD_ROOT
136 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig}
137
138 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
139 export GNUSTEP_FLATTENED=yes
140
141 %{__make} -j1 install \
142         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
143         DESTDIR=$RPM_BUILD_ROOT
144
145 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnustep
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
150 %if %{with doc}
151 %{__make} -j1 -C Documentation install \
152         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
153         DESTDIR=$RPM_BUILD_ROOT
154
155 %{__make} -j1 -C Documentation/manual install \
156         GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
157         DESTDIR=$RPM_BUILD_ROOT
158
159 %{__mv} $RPM_BUILD_ROOT%{_infodir}/{manual,gnustep-base-manual}.info
160
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
164 %endif
165
166 %clean
167 rm -rf $RPM_BUILD_ROOT
168
169 %post
170 /sbin/ldconfig
171 /sbin/chkconfig --add gnustep
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
177
178 %preun
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
184 fi
185
186 %postun -p /sbin/ldconfig
187
188 %triggerpostun -- %{name} < 1.11.0-1.1
189 sed -i -e "/^%(echo %{_prefix}/Libraries/ | sed -e 's,/,\\/,g')$/d" /etc/ld.so.conf
190
191 %files
192 %defattr(644,root,root,755)
193 %doc ChangeLog*
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*
227
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
230
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
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
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
277 # FIXME: FHS
278 %config(noreplace) %verify(not md5 mtime size) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime
279
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
288
289 %files devel
290 %defattr(644,root,root,755)
291 %attr(755,root,root) %{_libdir}/libgnustep-base.so
292 %{_includedir}/Foundation
293 %{_includedir}/GNUstepBase
294 %{_includedir}/gnustep
295
296 %if %{with doc}
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*
305 %endif
306
307 %dir %{_datadir}/GNUstep/Makefiles/Additional
308 %{_datadir}/GNUstep/Makefiles/Additional/base.make
This page took 0.142929 seconds and 3 git commands to generate.