]> git.pld-linux.org Git - packages/nss.git/blob - nss.spec
- rel 4; enable ECC; simplify a bit
[packages/nss.git] / nss.spec
1 %define nspr_ver        1:4.10.7
2 %define foover  %(echo %{version} | tr . _)
3 Summary:        NSS - Network Security Services
4 Summary(pl.UTF-8):      NSS - Network Security Services
5 Name:           nss
6 Version:        3.17.2
7 Release:        4
8 Epoch:          1
9 License:        MPL v2.0
10 Group:          Libraries
11 Source0:        http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_%{foover}_RTM/src/%{name}-%{version}.tar.gz
12 # Source0-md5:  d3edb6f6c3688b2fde67ec9c9a8c1214
13 Source1:        %{name}-mozilla-nss.pc
14 Source2:        %{name}-config.in
15 Source3:        http://www.cacert.org/certs/root.der
16 # Source3-md5:  a61b375e390d9c3654eebd2031461f6b
17 Source4:        nss-softokn.pc.in
18 Patch0:         %{name}-Makefile.patch
19 # Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1083900
20 Patch1:         tls12.patch
21 URL:            http://www.mozilla.org/projects/security/pki/nss/
22 BuildRequires:  nspr-devel >= %{nspr_ver}
23 BuildRequires:  nss-tools
24 BuildRequires:  perl-base
25 BuildRequires:  sqlite3-devel
26 BuildRequires:  zlib-devel
27 BuildConflicts: mozilla < 0.9.6-3
28 Requires:       %{name}-softokn-freebl = %{epoch}:%{version}-%{release}
29 Requires:       nspr >= %{nspr_ver}
30 Obsoletes:      libnss3
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33 %define         specflags       -fno-strict-aliasing
34 # signed -  stripped before signing
35 %define         _noautostrip    .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
36 %define         _noautochrpath  .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
37
38 %description
39 NSS supports cross-platform development of security-enabled server
40 applications. Applications built with NSS can support PKCS #5,
41 PKCS #7, PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 and v3, X.509 v3
42 certificates, and other security standards.
43
44 %description -l pl.UTF-8
45 NSS wspomaga pisanie wieloplatformowych bezpiecznych serwerów.
46 Aplikacja używająca NSS jest w stanie obsłużyć PKCS #5, PKCS #7,
47 PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 oraz v3, certyfikaty X.509 v3,
48 i wiele innych bezpiecznych standardów.
49
50 %package tools
51 Summary:        NSS command line tools and utilities
52 Summary(pl.UTF-8):      Narzędzia NSS obsługiwane z linii poleceń
53 Group:          Applications
54 Requires:       %{name} = %{epoch}:%{version}-%{release}
55
56 %description tools
57 The NSS Toolkit command line tool.
58
59 %description tools -l pl.UTF-8
60 Narzędzia NSS obsługiwane z linii poleceń.
61
62 %package devel
63 Summary:        NSS - header files
64 Summary(pl.UTF-8):      NSS - pliki nagłówkowe
65 Group:          Development/Libraries
66 Requires:       %{name} = %{epoch}:%{version}-%{release}
67 Requires:       nspr-devel >= %{nspr_ver}
68 Obsoletes:      libnss3-devel
69
70 %description devel
71 Development part of NSS library.
72
73 %description devel -l pl.UTF-8
74 Część biblioteki NSS przeznaczona dla programistów.
75
76 %package static
77 Summary:        NSS - static library
78 Summary(pl.UTF-8):      NSS - biblioteka statyczna
79 Group:          Development/Libraries
80 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
81
82 %description static
83 Static NSS Toolkit libraries.
84
85 %description static -l pl.UTF-8
86 Statyczne wersje bibliotek z NSS.
87
88 %package softokn-freebl
89 Summary:        Freebl library for the Network Security Services
90 Summary(pl.UTF-8):      Biblioteka freebl dla bibliotek NSS
91 Group:          Libraries
92
93 %description softokn-freebl
94 Freebl cryptographic library for the Network Security Services.
95
96 %description softokn-freebl -l pl.UTF-8
97 Biblioteka kryptograficzna freebl dla bibliotek NSS.
98
99 %prep
100 %setup -q
101 %patch0 -p1
102 cd nss
103 %patch1 -p1
104 cd ..
105
106 %if 0%{!?debug:1}
107 # strip before signing
108 %{__sed} -i -e '/export ADDON_PATH$/a\    echo STRIP \; %{__strip} --strip-unneeded -R.comment -R.note ${5}' nss/cmd/shlibsign/sign.sh
109 %endif
110
111 %build
112 # http://wiki.cacert.org/wiki/NSSLib
113 addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> nss/lib/ckfw/builtins/certdata.txt
114
115 %ifarch %{x8664} ppc64 sparc64
116 export USE_64=1
117 %endif
118
119 %{__make} -C nss -j1 all \
120         NSDISTMODE=copy \
121         NS_USE_GCC=1 \
122         MOZILLA_CLIENT=1 \
123         NO_MDUPDATE=1 \
124         USE_PTHREADS=1 \
125         USE_SYSTEM_ZLIB=1 \
126         ZLIB_LIBS="-lz" \
127         NSS_USE_SYSTEM_SQLITE=1 \
128         NSS_ENABLE_ECC=1 \
129         BUILD_OPT=1 \
130         CC="%{__cc}" \
131         OPTIMIZER="%{rpmcflags} %{rpmcppflags}"
132
133 %install
134 rm -rf $RPM_BUILD_ROOT
135 install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_includedir}/nss,/%{_lib},%{_libdir},%{_pkgconfigdir}}
136
137 install dist/private/nss/*      $RPM_BUILD_ROOT%{_includedir}/nss
138 install dist/public/dbm/*       $RPM_BUILD_ROOT%{_includedir}/nss
139 install dist/public/nss/*       $RPM_BUILD_ROOT%{_includedir}/nss
140 install dist/*/bin/*            $RPM_BUILD_ROOT%{_bindir}
141 install dist/*/lib/*            $RPM_BUILD_ROOT%{_libdir}
142 cp -p nss/doc/nroff/*.1         $RPM_BUILD_ROOT%{_mandir}/man1
143
144 %{__sed} -e '
145         s#libdir=.*#libdir=%{_libdir}#g
146         s#includedir=.*#includedir=%{_includedir}#g
147         s#VERSION#%{version}#g
148 ' %{SOURCE1} > $RPM_BUILD_ROOT%{_pkgconfigdir}/nss.pc
149 # compatibility symlink
150 ln -s nss.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/mozilla-nss.pc
151
152 cat %{SOURCE4} | \
153 sed -e "s,%%libdir%%,%{_libdir},g" \
154         -e "s,%%prefix%%,%{_prefix},g" \
155         -e "s,%%exec_prefix%%,%{_prefix},g" \
156         -e "s,%%includedir%%,%{_includedir}/nss,g" \
157         -e "s,%%NSPR_VERSION%%,$(echo %{nspr_ver} | sed -e 's#.*:##g'),g" \
158         -e "s,%%NSS_VERSION%%,%{version},g" \
159         -e "s,%%SOFTOKEN_VERSION%%,%{version},g" > \
160         $RPM_BUILD_ROOT%{_pkgconfigdir}/nss-softokn.pc
161
162
163 NSS_VMAJOR=$(awk '/#define.*NSS_VMAJOR/ {print $3}' nss/lib/nss/nss.h)
164 NSS_VMINOR=$(awk '/#define.*NSS_VMINOR/ {print $3}' nss/lib/nss/nss.h)
165 NSS_VPATCH=$(awk '/#define.*NSS_VPATCH/ {print $3}' nss/lib/nss/nss.h)
166 %{__sed} -e "
167         s,@libdir@,%{_libdir},g
168         s,@prefix@,%{_prefix},g
169         s,@exec_prefix@,%{_prefix},g
170         s,@includedir@,%{_includedir}/nss,g
171         s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g
172         s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g
173         s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g
174 " %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/nss-config
175 chmod +x $RPM_BUILD_ROOT%{_bindir}/nss-config
176
177 mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so $RPM_BUILD_ROOT/%{_lib}
178 ln -s /%{_lib}/libfreebl3.so $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so
179 mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk $RPM_BUILD_ROOT/%{_lib}
180 ln -s /%{_lib}/libfreebl3.chk $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk
181
182 if [ ! -f "$RPM_BUILD_ROOT%{_includedir}/nss/nsslowhash.h" ]; then
183         echo "ERROR: %{_includedir}/nss/nsslowhash.h not installed. Needed by glibc" >&2
184         exit 1
185 fi
186
187 %clean
188 rm -rf $RPM_BUILD_ROOT
189
190 %post   -p /sbin/ldconfig
191 %postun -p /sbin/ldconfig
192
193 %files
194 %defattr(644,root,root,755)
195 # COPYING beside MPL v2.0 text contains GPL/LGPL compatibility notes
196 %doc nss/{COPYING,trademarks.txt}
197 %attr(755,root,root) %{_libdir}/libfreebl3.so
198 %attr(755,root,root) %{_libdir}/libnss3.so
199 %attr(755,root,root) %{_libdir}/libnssckbi.so
200 %attr(755,root,root) %{_libdir}/libnssdbm3.so
201 %attr(755,root,root) %{_libdir}/libnssutil3.so
202 %attr(755,root,root) %{_libdir}/libsmime3.so
203 %attr(755,root,root) %{_libdir}/libsoftokn3.so
204 %attr(755,root,root) %{_libdir}/libssl3.so
205 %{_libdir}/libfreebl3.chk
206 %{_libdir}/libnssdbm3.chk
207 %{_libdir}/libsoftokn3.chk
208
209 %files devel
210 %defattr(644,root,root,755)
211 %attr(755,root,root) %{_bindir}/nss-config
212 %{_libdir}/libcrmf.a
213 %{_includedir}/nss
214 %{_pkgconfigdir}/mozilla-nss.pc
215 %{_pkgconfigdir}/nss.pc
216 %{_pkgconfigdir}/nss-softokn.pc
217
218 %files tools
219 %defattr(644,root,root,755)
220 %attr(755,root,root) %{_bindir}/addbuiltin
221 %attr(755,root,root) %{_bindir}/atob
222 %attr(755,root,root) %{_bindir}/baddbdir
223 %attr(755,root,root) %{_bindir}/bltest
224 %attr(755,root,root) %{_bindir}/btoa
225 %attr(755,root,root) %{_bindir}/certcgi
226 %attr(755,root,root) %{_bindir}/certutil
227 %attr(755,root,root) %{_bindir}/checkcert
228 %attr(755,root,root) %{_bindir}/chktest
229 %attr(755,root,root) %{_bindir}/cmsutil
230 %attr(755,root,root) %{_bindir}/conflict
231 %attr(755,root,root) %{_bindir}/crlutil
232 %attr(755,root,root) %{_bindir}/crmftest
233 %attr(755,root,root) %{_bindir}/dbtest
234 %attr(755,root,root) %{_bindir}/derdump
235 %attr(755,root,root) %{_bindir}/dertimetest
236 %attr(755,root,root) %{_bindir}/digest
237 %attr(755,root,root) %{_bindir}/encodeinttest
238 %attr(755,root,root) %{_bindir}/fipstest
239 %attr(755,root,root) %{_bindir}/httpserv
240 %attr(755,root,root) %{_bindir}/listsuites
241 %attr(755,root,root) %{_bindir}/lowhashtest
242 %attr(755,root,root) %{_bindir}/makepqg
243 %attr(755,root,root) %{_bindir}/mangle
244 %attr(755,root,root) %{_bindir}/modutil
245 %attr(755,root,root) %{_bindir}/multinit
246 %attr(755,root,root) %{_bindir}/nonspr10
247 %attr(755,root,root) %{_bindir}/ocspclnt
248 %attr(755,root,root) %{_bindir}/ocspresp
249 %attr(755,root,root) %{_bindir}/oidcalc
250 %attr(755,root,root) %{_bindir}/p7content
251 %attr(755,root,root) %{_bindir}/p7env
252 %attr(755,root,root) %{_bindir}/p7sign
253 %attr(755,root,root) %{_bindir}/p7verify
254 %attr(755,root,root) %{_bindir}/pk11gcmtest
255 %attr(755,root,root) %{_bindir}/pk11mode
256 %attr(755,root,root) %{_bindir}/pk12util
257 %attr(755,root,root) %{_bindir}/pk1sign
258 %attr(755,root,root) %{_bindir}/pkix-errcodes
259 %attr(755,root,root) %{_bindir}/pp
260 %attr(755,root,root) %{_bindir}/pwdecrypt
261 %attr(755,root,root) %{_bindir}/remtest
262 %attr(755,root,root) %{_bindir}/rsaperf
263 %attr(755,root,root) %{_bindir}/sdrtest
264 %attr(755,root,root) %{_bindir}/secmodtest
265 %attr(755,root,root) %{_bindir}/selfserv
266 %attr(755,root,root) %{_bindir}/shlibsign
267 %attr(755,root,root) %{_bindir}/signtool
268 %attr(755,root,root) %{_bindir}/signver
269 %attr(755,root,root) %{_bindir}/ssltap
270 %attr(755,root,root) %{_bindir}/strsclnt
271 %attr(755,root,root) %{_bindir}/symkeyutil
272 %attr(755,root,root) %{_bindir}/tstclnt
273 %attr(755,root,root) %{_bindir}/vfychain
274 %attr(755,root,root) %{_bindir}/vfyserv
275 %{_mandir}/man1/certutil.1*
276 %{_mandir}/man1/cmsutil.1*
277 %{_mandir}/man1/crlutil.1*
278 %{_mandir}/man1/derdump.1*
279 %{_mandir}/man1/modutil.1*
280 %{_mandir}/man1/pk12util.1*
281 %{_mandir}/man1/pp.1*
282 %{_mandir}/man1/signtool.1*
283 %{_mandir}/man1/signver.1*
284 %{_mandir}/man1/ssltap.1*
285 %{_mandir}/man1/vfychain.1*
286 %{_mandir}/man1/vfyserv.1*
287
288 %files static
289 %defattr(644,root,root,755)
290 %{_libdir}/libcertdb.a
291 %{_libdir}/libcerthi.a
292 %{_libdir}/libcryptohi.a
293 %{_libdir}/libdbm.a
294 %{_libdir}/libfreebl3.a
295 %{_libdir}/libjar.a
296 %{_libdir}/libnss3.a
297 %{_libdir}/libnssb.a
298 %{_libdir}/libnssckfw.a
299 %{_libdir}/libnssdbm3.a
300 %{_libdir}/libnssdev.a
301 %{_libdir}/libnsspki3.a
302 %{_libdir}/libnssutil3.a
303 %{_libdir}/libpk11wrap3.a
304 %{_libdir}/libpkcs12.a
305 %{_libdir}/libpkcs7.a
306 %{_libdir}/libpkixcertsel.a
307 %{_libdir}/libpkixchecker.a
308 %{_libdir}/libpkixcrlsel.a
309 %{_libdir}/libpkixmodule.a
310 %{_libdir}/libpkixparams.a
311 %{_libdir}/libpkixpki.a
312 %{_libdir}/libpkixresults.a
313 %{_libdir}/libpkixstore.a
314 %{_libdir}/libpkixsystem.a
315 %{_libdir}/libpkixtop.a
316 %{_libdir}/libpkixutil.a
317 %{_libdir}/libsectool.a
318 %{_libdir}/libsmime3.a
319 %{_libdir}/libsoftokn3.a
320 %{_libdir}/libssl3.a
321
322 %files softokn-freebl
323 %defattr(644,root,root,755)
324 %attr(755,root,root) /%{_lib}/libfreebl3.so
325 /%{_lib}/libfreebl3.chk
This page took 0.049239 seconds and 4 git commands to generate.