]> git.pld-linux.org Git - packages/gnustep-base.git/blob - gnustep-base.spec
- fix x86-64 configure/build.
[packages/gnustep-base.git] / gnustep-base.spec
1 # Conditional build:
2 %bcond_without doc     # don't generate documentation (bootstrap build w/o gnustep-base)
3 #
4 %define          ver 1.15
5 Summary:        GNUstep Base library package
6 Summary(pl.UTF-8):      Podstawowa biblioteka GNUstep
7 Name:           gnustep-base
8 Version:        %{ver}.3
9 Release:        9
10 License:        LGPL/GPL
11 Group:          Libraries
12 Source0:        ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz
13 # Source0-md5:  67449dd0d8c4ef096fde46bf65503982
14 Source1:        %{name}.init
15 Source2:        %{name}.sysconfig
16 Patch0:         %{name}-pass-arguments.patch
17 Patch1:         %{name}-ac.patch
18 URL:            http://www.gnustep.org/
19 %{?with_doc:BuildRequires:      docbook-dtd41-sgml}
20 BuildRequires:  gcc-objc
21 BuildRequires:  gmp-devel
22 BuildRequires:  gnustep-make-devel >= 1.11.2
23 BuildRequires:  libffi-devel
24 BuildRequires:  libxml2-devel >= 2.3.0
25 BuildRequires:  libxslt-devel >= 1.1.21
26 BuildRequires:  openssl-devel >= 0.9.7d
27 BuildRequires:  texinfo-texi2dvi
28 BuildRequires:  zlib-devel
29 Requires(post): /sbin/ldconfig
30 Requires(post,preun):   /sbin/chkconfig
31 Requires(triggerpostun):        sed >= 4.0
32 Requires:       glibc >= 6:2.3.5-7.6
33 Requires:       gnustep-make >= 1.11.2
34 # with gdomap in /etc/services
35 Requires:       setup >= 2.4.3
36 Conflicts:      gnustep-core
37 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38
39 %description
40 The GNUstep Base Library is a library of general-purpose,
41 non-graphical Objective C objects. For example, it includes classes
42 for strings, object collections, byte streams, typed coders,
43 invocations, notifications, notification dispatchers, moments in time,
44 network ports, remote object messaging support (distributed objects),
45 event loops, and random number generators.
46
47 %description -l pl.UTF-8
48 Podstawowa biblioteka GNUstep jest biblioteką innych niż graficzne
49 obiektów ogólnego przeznaczenia dla Objective C. Zawiera np. klasy dla
50 stringów, kolekcji, strumieni, koderów typów, powiadamiania, portów
51 sieci, obiektów rozproszonych, pętli zdarzeń, generatorów liczb
52 losowych.
53
54 %package devel
55 Summary:        GNUstep Base headers
56 Summary(pl.UTF-8):      Pliki nagłówkowe podstawowej biblioteki GNUstep
57 Group:          Development/Libraries
58 Requires:       %{name} = %{version}-%{release}
59 Requires:       ffcall-devel
60 Requires:       gcc-objc
61 Requires:       gmp-devel
62 Requires:       gnustep-make-devel >= 1.11.2
63 Requires:       libxml2-devel
64 Requires:       zlib-devel
65 Conflicts:      gnustep-core
66
67 %description devel
68 Header files required to build applications against the GNUstep Base
69 library.
70
71 %description devel -l pl.UTF-8
72 Pliki nagłówkowe potrzebne do budowania aplikacji używających
73 podstawowej biblioteki GNUstep.
74
75 %prep
76 %setup -q
77 %patch0 -p1
78 %patch1 -p1
79
80 %build
81 %{__autoconf} -Iconfig
82
83 # don't assume that GNUstep.sh is imported in environment
84 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
85 export GNUSTEP_FLATTENED=yes
86
87 # gnustep can use one of 3 ways of getting argc,argv,env:
88 # - /proc (default on Linux) - gnustep programs won't run in procless system
89 # - fake-main hack (main is secretly renamed and wrapped)
90 # - pass-arguments (program must call NSProcessInfo initialize)
91 %configure \
92         --enable-pass-arguments \
93         --enable-libffi \
94         --disable-ffcall
95
96 # fake GUI_MAKE_LOADED to avoid linking with gnustep-gui
97 %{__make} -j1 \
98         GUI_MAKE_LOADED=yes \
99         GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES` \
100         messages=yes
101
102 %if %{with doc}
103 export LD_LIBRARY_PATH=`pwd`/Source/obj
104 # with __make -j2:
105 #       mkdir: cannot create directory `../Documentation/BaseTools': File exists
106 #       make[1]: *** [../Documentation/BaseTools] Error 1
107 #       make[1]: *** Waiting for unfinished jobs....
108 # requires already installed gnustep-base
109 %{__make} -j1 -C Documentation \
110         GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES`
111 %{__make} -j1 -C Documentation/manual \
112         GNUSTEP_MAKEFILES=`gnustep-config --variable=GNUSTEP_MAKEFILES`
113 %endif
114
115 %install
116 rm -rf $RPM_BUILD_ROOT
117 install -d $RPM_BUILD_ROOT{%{_initrddir},/etc/sysconfig}
118
119 export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
120 export GNUSTEP_FLATTENED=yes
121
122 %{__make} -j1 install \
123         DESTDIR=$RPM_BUILD_ROOT
124
125 install %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/gnustep
126 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/gnustep
127
128 echo 'GMT' > $RPM_BUILD_ROOT%{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime
129
130 # Fix .so symlink
131 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libgnustep-base.so.*.*.* libgnustep-base.so)
132
133 %if %{with doc}
134 %{__make} -j1 -C Documentation install \
135         DESTDIR=$RPM_BUILD_ROOT
136
137 %{__make} -j1 -C Documentation/manual install \
138         DESTDIR=$RPM_BUILD_ROOT
139
140 # not (yet?) supported by rpm-compress-doc
141 find $RPM_BUILD_ROOT%{_datadir}/GNUstep/Documentation \
142         -type f -a ! -name '*.html' -a ! -name '*.gz' -a ! -name '*.jpg' -a ! -name '*.css' | xargs gzip -9nf
143 %endif
144
145 %clean
146 rm -rf $RPM_BUILD_ROOT
147
148 %post
149 /sbin/ldconfig
150 /sbin/chkconfig --add gnustep
151 if [ -f /var/lock/subsys/gnustep ]; then
152         /etc/rc.d/init.d/gnustep restart 1>&2
153 else
154         echo "Run \"/etc/rc.d/init.d/gnustep start\" to start gnustep services."
155 fi
156
157 %preun
158 if [ "$1" = "0" ]; then
159         if [ -f /var/lock/subsys/gnustep ]; then
160                 /etc/rc.d/init.d/gnustep stop 1>&2
161         fi
162         /sbin/chkconfig --del gnustep
163 fi
164
165 %postun -p /sbin/ldconfig
166
167 %triggerpostun -- %{name} < 1.11.0-1.1
168 sed -i -e "/^%(echo %{_prefix}/Libraries/ | sed -e 's,/,\\/,g')$/d" /etc/ld.so.conf
169
170 %files
171 %defattr(644,root,root,755)
172 %doc ChangeLog*
173 %if %{with doc}
174 %docdir %{_datadir}/GNUstep/Documentation
175 %{_datadir}/GNUstep/Documentation/*.jpg
176 %{_datadir}/GNUstep/Documentation/index.html
177 %{_datadir}/GNUstep/Documentation/style.css
178 %dir %{_datadir}/GNUstep/Documentation
179 %dir %{_datadir}/GNUstep/Documentation/Developer
180 %dir %{_datadir}/GNUstep/Documentation/Developer/Base
181 %{_datadir}/GNUstep/Documentation/Developer/Base/ReleaseNotes
182 %endif
183
184 %attr(754,root,root) %{_initrddir}/gnustep
185 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gnustep
186
187 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/SSL.bundle
188 %attr(755,root,root) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/SSL.bundle/SSL
189 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/SSL.bundle/Resources
190
191 %dir %{_libdir}/GNUstep/DTDs
192 %{_libdir}/GNUstep/DTDs/*.dtd
193 %{_libdir}/GNUstep/DTDs/*.rnc
194
195 %dir %{_libdir}/GNUstep/Libraries
196 %dir %{_libdir}/GNUstep/Libraries/gnustep-base
197 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions
198 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}
199 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources
200 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages
201 %dir %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones
202
203 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/*.plist
204 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/English.lproj
205 %lang(eo) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Esperanto.lproj
206 %lang(fr) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/French.lproj
207 %lang(de) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/German.lproj
208 %lang(it) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Italian.lproj
209 %lang(ko) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Korean.lproj
210 %lang(es) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Spanish.lproj
211 %lang(zh_TW) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/TraditionalChinese.lproj
212 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Locale.*
213 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/English
214 %lang(nl) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Dutch
215 %lang(eo) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Esperanto
216 %lang(fr) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/French
217 %lang(de) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/German
218 %lang(hu) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Hungarian
219 %lang(it) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Italian
220 %lang(ko) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Korean
221 %lang(ru) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Russian
222 %lang(sk) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Slovak
223 %lang(es) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Spanish
224 %lang(zh_TW) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/TraditionalChinese
225 %lang(uk) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/Languages/Ukrainian
226
227 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/GNUmakefile
228 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/GNUstep_zones
229 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/README
230 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/abbreviations
231 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/regions
232 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/zones
233 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/*.m
234 %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/*.plist
235 %config(noreplace) %verify(not md5 mtime size) %{_libdir}/GNUstep/Libraries/gnustep-base/Versions/%{ver}/Resources/NSTimeZones/localtime
236
237 %attr(755,root,root) %{_libdir}/libgnustep-base.so.*.*.*
238
239 # is suid necessary here??? it runs as daemon...
240 #%attr(4755,root,root) %{_bindir}/gdomap
241 %attr(755,root,root) %{_bindir}/*
242
243 %{_mandir}/man1/*.1*
244 %{_mandir}/man8/*.8*
245
246 %files devel
247 %defattr(644,root,root,755)
248 %dir %{_datadir}/GNUstep/Makefiles/Additional
249 %{_datadir}/GNUstep/Makefiles/Additional/base.make
250 %if %{with doc}
251 %docdir %{_datadir}/GNUstep/Documentation
252 %{_datadir}/GNUstep/Documentation/Developer/Base/General
253 %{_datadir}/GNUstep/Documentation/Developer/Base/ProgrammingManual
254 %{_datadir}/GNUstep/Documentation/Developer/Base/Reference
255 %{_datadir}/GNUstep/Documentation/Developer/BaseAdditions
256 %{_datadir}/GNUstep/Documentation/Developer/CodingStandards
257 %{_datadir}/GNUstep/Documentation/Developer/Tools
258 %{_infodir}/*.info*
259 %endif
260
261 %{_includedir}/Foundation
262 %{_includedir}/GNUstepBase
263 %{_includedir}/gnustep
264
265 %attr(755,root,root) %{_libdir}/libgnustep-base.so
266
267 %dir %{_datadir}/GNUstep/Makefiles/Additional
268 %{_datadir}/GNUstep/Makefiles/Additional/base.make
This page took 0.06488 seconds and 3 git commands to generate.