]> git.pld-linux.org Git - packages/nss.git/blame - nss.spec
define NS_USE_GCC (fixes build on aarch64)
[packages/nss.git] / nss.spec
CommitLineData
ec49a083
JP
1# Conditional build:
2%bcond_with tests # enable tests
3
48d344af 4%define nspr_ver 1:4.28
8d1548f6 5%define foover %(echo %{version} | tr . _)
e043961c 6Summary: NSS - Network Security Services
900f3743 7Summary(pl.UTF-8): NSS - Network Security Services
e043961c 8Name: nss
48d344af 9Version: 3.56
bf3aa06a 10Release: 1
c61925df 11Epoch: 1
b0cd5268 12License: MPL v2.0
a20334db 13Group: Libraries
cb153aea 14Source0: http://ftp.mozilla.org/pub/security/nss/releases/NSS_%{foover}_RTM/src/%{name}-%{version}.tar.gz
48d344af 15# Source0-md5: ec4c24003069d28d5f9cc5c78a30cc5e
9e8d6618 16Source1: %{name}-mozilla-nss.pc
8d1548f6 17Source2: %{name}-config.in
867c7e33
ER
18Source3: http://www.cacert.org/certs/root.der
19# Source3-md5: a61b375e390d9c3654eebd2031461f6b
35beba87 20Source4: nss-softokn.pc.in
219943bb 21# Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1083900
cb153aea 22URL: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
923efc4a 23BuildRequires: nspr-devel >= %{nspr_ver}
867c7e33 24BuildRequires: nss-tools
acc47f6e 25BuildRequires: perl-base
0e541f12 26BuildRequires: sqlite3-devel
e814da19 27BuildRequires: zlib-devel
7d80b913 28BuildConflicts: mozilla < 0.9.6-3
ce0a2a28 29Requires: %{name}-softokn-freebl = %{epoch}:%{version}-%{release}
219943bb 30Requires: nspr >= %{nspr_ver}
64c1d08d 31Obsoletes: libnss3
360086a7 32# needs http2 code update: https://bugzilla.mozilla.org/show_bug.cgi?id=1323209
90e078f8 33Conflicts: firefox < 50.1.0-2
c46f4fba 34Conflicts: iceape < 2.46-1
360086a7
JB
35Conflicts: iceweasel < 51
36Conflicts: mozilla-firefox < 51
37Conflicts: seamonkey < 2.47
8a057a22 38BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
e043961c 39
f68ec3a2 40%define specflags -fno-strict-aliasing
c9f1afae
JB
41# signed - stripped before signing
42%define _noautostrip .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
43%define _noautochrpath .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
f68ec3a2 44
e3f4677f 45%description
6b813326 46NSS supports cross-platform development of security-enabled server
d8ef6ecb 47applications. Applications built with NSS can support PKCS #5,
bf42a3ba 48PKCS #7, PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 and v3, X.509 v3
6b813326 49certificates, and other security standards.
e043961c 50
238a25a0
JR
51%description -l pl.UTF-8
52NSS wspomaga pisanie wieloplatformowych bezpiecznych serwerów.
53Aplikacja używająca NSS jest w stanie obsłużyć PKCS #5, PKCS #7,
d8ef6ecb 54PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 oraz v3, certyfikaty X.509 v3,
238a25a0 55i wiele innych bezpiecznych standardów.
e043961c 56
c3d988d0
JB
57%package tools
58Summary: NSS command line tools and utilities
c9f1afae 59Summary(pl.UTF-8): Narzędzia NSS obsługiwane z linii poleceń
c3d988d0 60Group: Applications
93f17fb4 61Requires: %{name} = %{epoch}:%{version}-%{release}
c3d988d0
JB
62
63%description tools
64The NSS Toolkit command line tool.
65
238a25a0
JR
66%description tools -l pl.UTF-8
67Narzędzia NSS obsługiwane z linii poleceń.
c3d988d0 68
e043961c 69%package devel
70Summary: NSS - header files
900f3743 71Summary(pl.UTF-8): NSS - pliki nagłówkowe
e043961c 72Group: Development/Libraries
93f17fb4 73Requires: %{name} = %{epoch}:%{version}-%{release}
923efc4a 74Requires: nspr-devel >= %{nspr_ver}
64c1d08d 75Obsoletes: libnss3-devel
e043961c 76
77%description devel
78Development part of NSS library.
79
238a25a0
JR
80%description devel -l pl.UTF-8
81Część biblioteki NSS przeznaczona dla programistów.
e043961c 82
e043961c 83%package static
84Summary: NSS - static library
900f3743 85Summary(pl.UTF-8): NSS - biblioteka statyczna
e043961c 86Group: Development/Libraries
93f17fb4 87Requires: %{name}-devel = %{epoch}:%{version}-%{release}
e043961c 88
89%description static
90Static NSS Toolkit libraries.
91
238a25a0 92%description static -l pl.UTF-8
e043961c 93Statyczne wersje bibliotek z NSS.
94
909366d3
AM
95%package softokn-freebl
96Summary: Freebl library for the Network Security Services
d6727b26 97Summary(pl.UTF-8): Biblioteka freebl dla bibliotek NSS
909366d3
AM
98Group: Libraries
99
100%description softokn-freebl
d6727b26
JB
101Freebl cryptographic library for the Network Security Services.
102
103%description softokn-freebl -l pl.UTF-8
104Biblioteka kryptograficzna freebl dla bibliotek NSS.
909366d3 105
e043961c 106%prep
1015f127 107%setup -q
e043961c 108
c9f1afae
JB
109%if 0%{!?debug:1}
110# strip before signing
180376d6 111%{__sed} -i -e '/export ADDON_PATH$/a\ echo STRIP \; %{__strip} --strip-unneeded -R.comment -R.note ${5}' nss/cmd/shlibsign/sign.sh
c9f1afae
JB
112%endif
113
e043961c 114%build
867c7e33 115# http://wiki.cacert.org/wiki/NSSLib
36f51713 116addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> nss/lib/ckfw/builtins/certdata.txt
867c7e33 117
74a03a34 118%ifarch %{x8664} ppc64 sparc64 aarch64
f68ec3a2
PS
119export USE_64=1
120%endif
121
1be8ae55 122# http://pki.fedoraproject.org/wiki/ECC_Capable_NSS
1be8ae55
AM
123for dir in ecc noecc; do
124 install -d $dir
125 cp -a nss $dir/nss
126done
127
13954840
ER
128export BUILD_OPT=1
129export MOZILLA_CLIENT=1
130export NSDISTMODE=copy
131export NSPR_INCLUDE_DIR=/usr/include/nspr
132export NSS_USE_SYSTEM_SQLITE=1
133export USE_PTHREADS=1
134export USE_SYSTEM_ZLIB=1
135export ZLIB_LIBS="-lz"
4df145fa
JR
136%ifarch x32
137export USE_X32=1
138%endif
ec49a083 139%{!?with_tests:export NSS_DISABLE_GTESTS=1}
1be8ae55
AM
140
141# https://bugzilla.mozilla.org/show_bug.cgi?id=1084623
142
143# Forcing ecc with this hack would produce broken librares (softoken, freebl etc).
144# Thus we also build noecc version (which doesn't require hack) and use these
145# libs from there.
2f54596d 146%{__sed} -i -e 's|#error|//error|g' ecc/nss/lib/freebl/ecl/ecl-curve.h
6c55184a 147%{__make} -C ecc/nss all \
1be8ae55
AM
148 NSS_ECC_MORE_THAN_SUITE_B=1 \
149 CC="%{__cc}" \
150 OPTIMIZER="%{rpmcflags} %{rpmcppflags}" \
a8c49821 151 NS_USE_GCC=1
1be8ae55 152
6c55184a 153%{__make} -C noecc/nss all \
07b248d4 154 CC="%{__cc}" \
a8c49821
JP
155 OPTIMIZER="%{rpmcflags} %{rpmcppflags}" \
156 NS_USE_GCC=1
e043961c 157
158%install
159rm -rf $RPM_BUILD_ROOT
b0cd5268 160install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_includedir}/nss,/%{_lib},%{_libdir},%{_pkgconfigdir}}
eec1fab1 161
13954840
ER
162cp -p ecc/dist/private/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
163cp -p ecc/dist/public/dbm/* $RPM_BUILD_ROOT%{_includedir}/nss
164cp -p ecc/dist/public/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
2f54596d
JB
165install -p ecc/dist/Linux*/bin/* $RPM_BUILD_ROOT%{_bindir}
166install -p ecc/dist/Linux*/lib/* $RPM_BUILD_ROOT%{_libdir}
1be8ae55
AM
167
168# non-ECC version, we need only libnssdbm3, libsoftokn3, libfreebl3
2f54596d
JB
169install -p noecc/dist/Linux*/lib/libnssdbm3.* $RPM_BUILD_ROOT%{_libdir}
170install -p noecc/dist/Linux*/lib/libsoftokn3.* $RPM_BUILD_ROOT%{_libdir}
171install -p noecc/dist/Linux*/lib/libfreebl3.* $RPM_BUILD_ROOT%{_libdir}
1be8ae55 172
b0cd5268 173cp -p nss/doc/nroff/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
e043961c 174
8d1548f6
ER
175%{__sed} -e '
176 s#libdir=.*#libdir=%{_libdir}#g
177 s#includedir=.*#includedir=%{_includedir}#g
178 s#VERSION#%{version}#g
180376d6
JB
179' %{SOURCE1} > $RPM_BUILD_ROOT%{_pkgconfigdir}/nss.pc
180# compatibility symlink
181ln -s nss.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/mozilla-nss.pc
8d1548f6 182
35beba87
AM
183cat %{SOURCE4} | \
184sed -e "s,%%libdir%%,%{_libdir},g" \
185 -e "s,%%prefix%%,%{_prefix},g" \
186 -e "s,%%exec_prefix%%,%{_prefix},g" \
187 -e "s,%%includedir%%,%{_includedir}/nss,g" \
188 -e "s,%%NSPR_VERSION%%,$(echo %{nspr_ver} | sed -e 's#.*:##g'),g" \
189 -e "s,%%NSS_VERSION%%,%{version},g" \
190 -e "s,%%SOFTOKEN_VERSION%%,%{version},g" > \
191 $RPM_BUILD_ROOT%{_pkgconfigdir}/nss-softokn.pc
192
180376d6
JB
193NSS_VMAJOR=$(awk '/#define.*NSS_VMAJOR/ {print $3}' nss/lib/nss/nss.h)
194NSS_VMINOR=$(awk '/#define.*NSS_VMINOR/ {print $3}' nss/lib/nss/nss.h)
195NSS_VPATCH=$(awk '/#define.*NSS_VPATCH/ {print $3}' nss/lib/nss/nss.h)
8d1548f6
ER
196%{__sed} -e "
197 s,@libdir@,%{_libdir},g
198 s,@prefix@,%{_prefix},g
199 s,@exec_prefix@,%{_prefix},g
507f226d 200 s,@includedir@,%{_includedir}/nss,g
69aeda39
ER
201 s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g
202 s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g
203 s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g
8d1548f6
ER
204" %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/nss-config
205chmod +x $RPM_BUILD_ROOT%{_bindir}/nss-config
9e8d6618 206
43fe5742 207%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so $RPM_BUILD_ROOT/%{_lib}
909366d3 208ln -s /%{_lib}/libfreebl3.so $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so
43fe5742 209%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk $RPM_BUILD_ROOT/%{_lib}
69cbb7a2 210ln -s /%{_lib}/libfreebl3.chk $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk
61061e26
JB
211%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.so $RPM_BUILD_ROOT/%{_lib}
212ln -s /%{_lib}/libfreeblpriv3.so $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.so
213%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.chk $RPM_BUILD_ROOT/%{_lib}
214ln -s /%{_lib}/libfreeblpriv3.chk $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.chk
909366d3 215
1be8ae55 216# conflict with openssl-static
43fe5742 217%{__mv} $RPM_BUILD_ROOT%{_libdir}/libssl{,3}.a
1be8ae55 218
61061e26 219# unit tests
ec49a083 220%if %{with tests}
df5cc713 221%{__rm} $RPM_BUILD_ROOT%{_bindir}/{certdb,certhigh,cryptohi,der,pk11,softoken,smime,ssl,util}_gtest
394e04cd 222%{__rm} $RPM_BUILD_ROOT%{_bindir}/nss_bogo_shim
ec49a083
JP
223%{__rm} $RPM_BUILD_ROOT%{_libdir}/libgtest*
224%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpkcs11testmodule.*
225%{__rm} $RPM_BUILD_ROOT%{_libdir}/libcpputil.*
226%endif
227%{__rm} $RPM_BUILD_ROOT%{_bindir}/fbectest
fd7d3d4c 228%{__rm} $RPM_BUILD_ROOT%{_bindir}/pk11ectest
df5cc713 229%{__rm} $RPM_BUILD_ROOT%{_bindir}/pk11importtest
42e923c7 230%{__rm} $RPM_BUILD_ROOT%{_bindir}/rsapoptst
e6be73c3 231%{__rm} $RPM_BUILD_ROOT%{_libdir}/libnss*-testlib.so
61061e26 232
e6093db0 233if [ ! -f "$RPM_BUILD_ROOT%{_includedir}/nss/nsslowhash.h" ]; then
13954840 234 echo >&2 "ERROR: %{_includedir}/nss/nsslowhash.h not installed. Needed by glibc"
e6093db0
AM
235 exit 1
236fi
237
eccd0672 238%clean
239rm -rf $RPM_BUILD_ROOT
240
985ee8fc
JB
241%post -p /sbin/ldconfig
242%postun -p /sbin/ldconfig
e043961c 243
244%files
245%defattr(644,root,root,755)
b0cd5268
JB
246# COPYING beside MPL v2.0 text contains GPL/LGPL compatibility notes
247%doc nss/{COPYING,trademarks.txt}
c9f1afae 248%attr(755,root,root) %{_libdir}/libfreebl3.so
61061e26 249%attr(755,root,root) %{_libdir}/libfreeblpriv3.so
c9f1afae
JB
250%attr(755,root,root) %{_libdir}/libnss3.so
251%attr(755,root,root) %{_libdir}/libnssckbi.so
e0debb79
JB
252%attr(755,root,root) %{_libdir}/libnssdbm3.so
253%attr(755,root,root) %{_libdir}/libnssutil3.so
c9f1afae
JB
254%attr(755,root,root) %{_libdir}/libsmime3.so
255%attr(755,root,root) %{_libdir}/libsoftokn3.so
256%attr(755,root,root) %{_libdir}/libssl3.so
257%{_libdir}/libfreebl3.chk
61061e26 258%{_libdir}/libfreeblpriv3.chk
d6727b26 259%{_libdir}/libnssdbm3.chk
c9f1afae 260%{_libdir}/libsoftokn3.chk
e043961c 261
262%files devel
263%defattr(644,root,root,755)
ed6867e9 264%attr(755,root,root) %{_bindir}/nss-config
c89efb4d 265%{_libdir}/libcrmf.a
1be8ae55 266%{_libdir}/libfreebl.a
d6727b26 267%{_includedir}/nss
c9f1afae
JB
268%{_pkgconfigdir}/mozilla-nss.pc
269%{_pkgconfigdir}/nss.pc
35beba87 270%{_pkgconfigdir}/nss-softokn.pc
e043961c 271
272%files tools
273%defattr(644,root,root,755)
180376d6
JB
274%attr(755,root,root) %{_bindir}/addbuiltin
275%attr(755,root,root) %{_bindir}/atob
276%attr(755,root,root) %{_bindir}/baddbdir
277%attr(755,root,root) %{_bindir}/bltest
278%attr(755,root,root) %{_bindir}/btoa
180376d6 279%attr(755,root,root) %{_bindir}/certutil
180376d6
JB
280%attr(755,root,root) %{_bindir}/chktest
281%attr(755,root,root) %{_bindir}/cmsutil
282%attr(755,root,root) %{_bindir}/conflict
283%attr(755,root,root) %{_bindir}/crlutil
284%attr(755,root,root) %{_bindir}/crmftest
285%attr(755,root,root) %{_bindir}/dbtest
286%attr(755,root,root) %{_bindir}/derdump
287%attr(755,root,root) %{_bindir}/dertimetest
288%attr(755,root,root) %{_bindir}/digest
6683fdb5 289%attr(755,root,root) %{_bindir}/ecperf
180376d6
JB
290%attr(755,root,root) %{_bindir}/encodeinttest
291%attr(755,root,root) %{_bindir}/fipstest
292%attr(755,root,root) %{_bindir}/httpserv
293%attr(755,root,root) %{_bindir}/listsuites
294%attr(755,root,root) %{_bindir}/lowhashtest
295%attr(755,root,root) %{_bindir}/makepqg
296%attr(755,root,root) %{_bindir}/mangle
297%attr(755,root,root) %{_bindir}/modutil
298%attr(755,root,root) %{_bindir}/multinit
299%attr(755,root,root) %{_bindir}/nonspr10
80388274 300%attr(755,root,root) %{_bindir}/nss-policy-check
180376d6
JB
301%attr(755,root,root) %{_bindir}/ocspclnt
302%attr(755,root,root) %{_bindir}/ocspresp
303%attr(755,root,root) %{_bindir}/oidcalc
304%attr(755,root,root) %{_bindir}/p7content
305%attr(755,root,root) %{_bindir}/p7env
306%attr(755,root,root) %{_bindir}/p7sign
307%attr(755,root,root) %{_bindir}/p7verify
308%attr(755,root,root) %{_bindir}/pk11gcmtest
309%attr(755,root,root) %{_bindir}/pk11mode
310%attr(755,root,root) %{_bindir}/pk12util
311%attr(755,root,root) %{_bindir}/pk1sign
312%attr(755,root,root) %{_bindir}/pkix-errcodes
313%attr(755,root,root) %{_bindir}/pp
314%attr(755,root,root) %{_bindir}/pwdecrypt
315%attr(755,root,root) %{_bindir}/remtest
316%attr(755,root,root) %{_bindir}/rsaperf
317%attr(755,root,root) %{_bindir}/sdrtest
318%attr(755,root,root) %{_bindir}/secmodtest
319%attr(755,root,root) %{_bindir}/selfserv
320%attr(755,root,root) %{_bindir}/shlibsign
321%attr(755,root,root) %{_bindir}/signtool
322%attr(755,root,root) %{_bindir}/signver
323%attr(755,root,root) %{_bindir}/ssltap
324%attr(755,root,root) %{_bindir}/strsclnt
325%attr(755,root,root) %{_bindir}/symkeyutil
326%attr(755,root,root) %{_bindir}/tstclnt
327%attr(755,root,root) %{_bindir}/vfychain
328%attr(755,root,root) %{_bindir}/vfyserv
b0cd5268
JB
329%{_mandir}/man1/certutil.1*
330%{_mandir}/man1/cmsutil.1*
331%{_mandir}/man1/crlutil.1*
332%{_mandir}/man1/derdump.1*
333%{_mandir}/man1/modutil.1*
334%{_mandir}/man1/pk12util.1*
335%{_mandir}/man1/pp.1*
336%{_mandir}/man1/signtool.1*
337%{_mandir}/man1/signver.1*
338%{_mandir}/man1/ssltap.1*
339%{_mandir}/man1/vfychain.1*
340%{_mandir}/man1/vfyserv.1*
e043961c 341
342%files static
343%defattr(644,root,root,755)
c9f1afae
JB
344%{_libdir}/libcertdb.a
345%{_libdir}/libcerthi.a
346%{_libdir}/libcryptohi.a
347%{_libdir}/libdbm.a
c9f1afae 348%{_libdir}/libjar.a
1be8ae55 349%{_libdir}/libnss.a
c9f1afae
JB
350%{_libdir}/libnssb.a
351%{_libdir}/libnssckfw.a
1be8ae55 352%{_libdir}/libnssdbm.a
c9f1afae 353%{_libdir}/libnssdev.a
1be8ae55
AM
354%{_libdir}/libnsspki.a
355%{_libdir}/libnssutil.a
356%{_libdir}/libpk11wrap.a
c9f1afae
JB
357%{_libdir}/libpkcs12.a
358%{_libdir}/libpkcs7.a
e0debb79
JB
359%{_libdir}/libpkixcertsel.a
360%{_libdir}/libpkixchecker.a
361%{_libdir}/libpkixcrlsel.a
362%{_libdir}/libpkixmodule.a
363%{_libdir}/libpkixparams.a
364%{_libdir}/libpkixpki.a
365%{_libdir}/libpkixresults.a
366%{_libdir}/libpkixstore.a
367%{_libdir}/libpkixsystem.a
368%{_libdir}/libpkixtop.a
369%{_libdir}/libpkixutil.a
c9f1afae 370%{_libdir}/libsectool.a
1be8ae55
AM
371%{_libdir}/libsmime.a
372%{_libdir}/libsoftokn.a
c9f1afae 373%{_libdir}/libssl3.a
909366d3
AM
374
375%files softokn-freebl
376%defattr(644,root,root,755)
377%attr(755,root,root) /%{_lib}/libfreebl3.so
61061e26 378%attr(755,root,root) /%{_lib}/libfreeblpriv3.so
69cbb7a2 379/%{_lib}/libfreebl3.chk
61061e26 380/%{_lib}/libfreeblpriv3.chk
This page took 0.157019 seconds and 4 git commands to generate.