aboutsummaryrefslogtreecommitdiffstats
path: root/main/nss/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/nss/APKBUILD')
-rw-r--r--main/nss/APKBUILD145
1 files changed, 145 insertions, 0 deletions
diff --git a/main/nss/APKBUILD b/main/nss/APKBUILD
new file mode 100644
index 0000000000..d50a28e02f
--- /dev/null
+++ b/main/nss/APKBUILD
@@ -0,0 +1,145 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=nss
+pkgver=3.12.10
+_ver=${pkgver//./_}
+pkgrel=0
+pkgdesc="Mozilla Network Security Services"
+url="http://www.mozilla.org/projects/security/pki/nss/"
+arch="all"
+license="MPL GPL"
+depends=
+makedepends="nspr-dev sqlite-dev zlib-dev perl"
+subpackages="$pkgname-dev $pkgname-tools"
+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() {
+ replaces="nss-dev libnss"
+
+ 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
+}
+
+dev() {
+ local i= j=
+ depends="$pkgname $depends_dev"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/nss-config "$subpkgdir"/usr/bin
+
+ cd "$pkgdir" || return 0
+ for i in usr/include usr/lib/pkgconfig usr/lib/*.a; do
+ if [ -e "$pkgdir/$i" ] || [ -L "$pkgdir/$i" ]; then
+ d="$subpkgdir/${i%/*}" # dirname $i
+ mkdir -p "$d"
+ mv "$pkgdir/$i" "$d"
+ rmdir "$pkgdir/${i%/*}" 2>/dev/null
+ fi
+ done
+
+ return 0
+}
+
+tools() {
+ pkgdesc="Tools for the Network Security Services"
+ replaces="nss"
+ mkdir -p "$subpkgdir"/usr/
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+}
+
+md5sums="027954e894f02732f4e66cd854261145 nss-3.12.10.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"