# Maintainer: Natanael Copa pkgname=nss pkgver=3.12.8 _ver=3_12_8 pkgrel=1 pkgdesc="Mozilla Network Security Services" url="http://www.mozilla.org/projects/security/pki/nss/" license="MPL GPL" depends= makedepends="nspr-dev sqlite-dev zlib-dev perl" subpackages="$pkgname-dev libnss" source="ftp://ftp.mozilla.org/pub/security/$pkgname/releases/NSS_${_ver}_RTM/src/$pkgname-$pkgver.tar.gz nss-no-rpath.patch nss.pc.in nss-config.in add_spi+cacert_ca_certs.patch ssl-renegotiate-transitional.patch" depends_dev="nspr-dev" _builddir="$srcdir"/$pkgname-$pkgver prepare() { cd "$_builddir" patch -Np1 -i ""$srcdir"/add_spi+cacert_ca_certs.patch" || return 1 patch -Np1 -i ""$srcdir"/ssl-renegotiate-transitional.patch" || return 1 patch -Np0 -i ""$srcdir"/nss-no-rpath.patch" || return 1 # Respect LDFLAGS sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' \ mozilla/security/coreconf/rules.mk } build() { cd "$_builddir" unset CFLAGS unset CXXFLAGS export BUILD_OPT=1 export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 export FREEBL_NO_DEPEND=0 export NSPR_INCLUDE_DIR=`pkg-config --cflags-only-I nspr | sed 's/-I//'` export NSPR_LIB_DIR=`pkg-config --libs-only-L nspr | sed 's/-L.//'` export XCFLAGS="${CFLAGS}" if [ "$CARCH" = "x86_64" ]; then export USE_64=1 fi make -j 1 -C mozilla/security/coreconf || return 1 make -j 1 -C mozilla/security/dbm || return 1 make -j 1 -C mozilla/security/nss || return 1 } package() { cd "$_builddir" install -m755 -d "$pkgdir"/usr/lib/pkgconfig install -m755 -d "$pkgdir"/usr/bin install -m755 -d "$pkgdir"/usr/include/nss NSS_VMAJOR=`awk '/#define.*NSS_VMAJOR/ {print $3}' mozilla/security/nss/lib/nss/nss.h ` msg "DEBUG: $NSS_VMAJOR" NSS_VMINOR=`awk '/#define.*NSS_VMINOR/ {print $3}' mozilla/security/nss/lib/nss/nss.h` NSS_VPATCH=`awk '/#define.*NSS_VPATCH"/ {print $3}' mozilla/security/nss/lib/nss/nss.h` # pkgconfig files sed "$srcdir"/nss.pc.in \ -e "s,%libdir%,/usr/lib,g" \ -e "s,%prefix%,/usr,g" \ -e "s,%exec_prefix%,/usr/bin,g" \ -e "s,%includedir%,/usr/include/nss,g" \ -e "s,%NSPR_VERSION%,$pkgver,g" \ -e "s,%NSS_VERSION%,$pkgver,g" \ > "$pkgdir"/usr/lib/pkgconfig/nss.pc \ || return 1 ln -sf nss.pc "$pkgdir"/usr/lib/pkgconfig/mozilla-nss.pc || return 1 chmod 644 "$pkgdir"/usr/lib/pkgconfig/*.pc || return 1 # nss-config sed "$srcdir"/nss-config.in \ -e "s,@libdir@,/usr/lib,g" \ -e "s,@prefix@,/usr/bin,g" \ -e "s,@exec_prefix@,/usr/bin,g" \ -e "s,@includedir@,/usr/include/nss,g" \ -e "s,@MOD_MAJOR_VERSION@,${NSS_VMAJOR},g" \ -e "s,@MOD_MINOR_VERSION@,${NSS_VMINOR},g" \ -e "s,@MOD_PATCH_VERSION@,${NSS_VPATCH},g" \ > "$pkgdir"/usr/bin/nss-config || return 1 chmod 755 "$pkgdir"/usr/bin/nss-config || return 1 local minor=${pkgver#*.} minor=${minor%.*} for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so \ libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do install -m755 mozilla/dist/*.OBJ/lib/${file} \ "$pkgdir"/usr/lib/${file}.$minor || return 1 ln -s $file.$minor "$pkgdir"/usr/lib/$file done install -m644 mozilla/dist/*.OBJ/lib/libcrmf.a "$pkgdir"/usr/lib/ \ || return 1 install -m644 mozilla/dist/*.OBJ/lib/*.chk "$pkgdir"/usr/lib/ \ || return 1 for file in certutil cmsutil crlutil modutil pk12util shlibsign \ signtool signver ssltap; do install -m755 mozilla/dist/*.OBJ/bin/${file} "$pkgdir"/usr/bin/\ || return 1 done install -m644 mozilla/dist/public/nss/*.h "$pkgdir"/usr/include/nss/ \ || return 1 } libnss() { pkgdesc="Mozilla Network Security Service libraries" mkdir -p "$subpkgdir"/usr/ mv "$pkgdir"/usr/lib "$subpkgdir"/usr } md5sums="40bf1bb0c7567827d3768d1fc6081100 nss-3.12.8.tar.gz e5c97db0c884d5f4cfda21e562dc9bba nss-no-rpath.patch c547b030c57fe1ed8b77c73bf52b3ded nss.pc.in 46bee81908f1e5b26d6a7a2e14c64d9f nss-config.in 7f39c19b1dfd62d7db7d8bf19f156fed add_spi+cacert_ca_certs.patch d83c7b61abb7e9f8f7bcd157183d1ade ssl-renegotiate-transitional.patch"