Summary: Netscape Network Security Services(NSS) (compat with chromium)
Name: nss-compat
Version: 3.20.1
Release: alt0.M70P.2
License: MPL/GPL/LGPL
Group: System/Libraries
Url: http://www.mozilla.org/projects/security/pki/nss
Packager: Andrey Cherepanov <cas@altlinux.org>
Source0: nss-%version.tar
Source1: nss.pc.in
Source2: nss-config.in
Source3: nss-alt-ssl-addon-certs.txt
Source4: nss-db-%version.tar
Source5: setup-nsssysinit.sh
Source6: system-pkcs11.txt
Source7: nss-pem-%version.tar
Patch0: nss_with_system_nspr.patch
Patch2: nss-no-rpath.patch
Patch3: nss-use-sqlite.patch
Patch4: nss-use-mozsqlite.patch
Patch5: nss-fix-objdir.patch
# Fedora patches
Patch10: nss-enable-pem.patch
BuildRequires: chrpath zlib-devel libsqlite3-devel
BuildRequires: libnspr-devel >= 4.10.8
Requires: libnspr >= 4.10.8
# Use nss-db from nss
Requires: libnss
%description
Network Security Services (NSS) is a set of libraries designed
to support cross-platform development of security-enabled server
applications. Applications built with NSS can support SSL v2
and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
X.509 v3 certificates, and other security standards. See:
http://www.mozilla.org/projects/security/pki/nss/overview.html
%package -n lib%name
Summary: Netscape Network Security Services(NSS) (compat with chromium)
Group: System/Libraries
Provides: %name = %version-%release
%description -n lib%name
Network Security Services (NSS) is a set of libraries designed
to support cross-platform development of security-enabled server
applications. Applications built with NSS can support SSL v2
and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME,
X.509 v3 certificates, and other security standards. See:
http://www.mozilla.org/projects/security/pki/nss/overview.html
(compat with chromium)
%package -n lib%name-devel
Summary: NSS development kit (compat with chromium)
Group: Development/C
Requires: lib%name = %version-%release
Provides: %name-devel = %version-%release
Provides: %name-pkcs11-devel = %version-%release
%description -n lib%name-devel
NSS development kit (compat with chromium)
%prep
%setup -q -n nss-%version
tar xf %SOURCE7
#patch0 -p0
%patch2 -p0
#patch3 -p0
#patch4 -p0
%patch5 -p0
%patch10 -p0
%build
export BUILD_OPT=1
export NS_USE_GCC=1
export NSS_ENABLE_ECC=1
export NSS_USE_SYSTEM_SQLITE=1
export USE_SYSTEM_ZLIB=1
export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
export NSPR_INCLUDE_DIR=/usr/include/nspr
export NSPR_LIB_DIR=%_libdir
# Generate symbolic info for debuggers
export XCFLAGS=$RPM_OPT_FLAGS
%ifarch x86_64 aarch64
export USE_64=1
%endif
# additional CA certificates
cat %SOURCE3 >> nss/lib/ckfw/builtins/certdata.txt
make -C nss/coreconf
make -C nss/coreconf platform 2>/dev/null |grep '^Linux' >destdir
make -C nss/lib/dbm
make -C nss
%install
mkdir -p %buildroot{%_libdir/%name,%_libdir/pkgconfig,%_includedir/%name}
# Get some variables
DESTDIR="$(head -1 destdir)"
NSPR_VERSION="$(nspr-config --version)"
nss_h="nss/lib/nss/nss.h"
NSS_VMAJOR="$(sed -ne 's,^#define[[:space:]]\+NSS_VMAJOR[[:space:]]\+,,p' "$nss_h")"
NSS_VMINOR="$(sed -ne 's,^#define[[:space:]]\+NSS_VMINOR[[:space:]]\+,,p' "$nss_h")"
NSS_VPATCH="$(sed -ne 's,^#define[[:space:]]\+NSS_VPATCH[[:space:]]\+,,p' "$nss_h")"
# Install NSS libraries
cd dist
cp -aL "$DESTDIR"/lib/*.so* "$DESTDIR"/lib/*.chk %buildroot%_libdir/%name
# Install NSS headers
cd public
cp -aL nss/* %buildroot%_includedir/%name
# Install NSS utils
sed -e "s,@libdir@,%_libdir/%name,g" \
-e "s,@prefix@,%_prefix,g" \
-e "s,@exec_prefix@,%_prefix,g" \
-e "s,@includedir@,%_includedir/%name,g" \
-e "s,@NSPR_VERSION@,$NSPR_VERSION,g" \
-e "s,@NSS_VERSION@,%version,g" \
-e "s,^Libs: ,Libs: -Wl\,-rpath=\${libdir} -L\${libdir} ,g" \
%SOURCE1 > %buildroot/%_libdir/pkgconfig/%name.pc
# Add real RPATH
find "%buildroot%_bindir" "%buildroot%_libdir" -type f |
while read f; do
file "$f" | grep -qs ELF || continue
if chrpath -l "$f" | fgrep -qs "RPATH="; then
chrpath -d "$f"
fi
done
%files -n lib%name
%_libdir/%name/*.so*
%_libdir/%name/*.chk
%files -n lib%name-devel
%dir %_includedir/%name
%_includedir/%name
%_libdir/pkgconfig/%name.pc
%changelog
* Mon Aug 29 2016 Andrey Cherepanov <cas@altlinux.org> 3.20.1-alt0.M70P.2
- Initial build in p7 compat package for chromium