# Template file for 'nss'
pkgname=nss
version=3.13.6
_distver=$(echo $version|sed -e "s|\.|_|g")
revision=2
makedepends="perl>=0 zlib-devel nspr-devel>=4.9 sqlite-devel"
subpackages="$pkgname-devel"
short_desc="Mozilla Network Security Services"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.mozilla.org/projects/security/pki/nss/"
license="GPL-2, MPL-1.1"
distfiles="${MOZILLA_SITE}/security/nss/releases/NSS_${_distver}_RTM/src/${pkgname}-${version}.tar.gz"
checksum=f7e90727e0ecc1c29de10da39a79bc9c53b814ccfbf40720e053b29c683d43a0
long_desc="
 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."

do_build() {
	# Respect LDFLAGS
	sed -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' \
		-i mozilla/security/coreconf/rules.mk

	# Generate certdata.c from certdata.txt
	make -C mozilla/security/nss/lib/ckfw/builtins generate

	if [ "$XBPS_MACHINE" = "x86_64" ]; then
		_use64="USE_64=1"
	fi
	for dir in coreconf dbm nss; do
		make -C mozilla/security/${dir} \
			LIBRUNPATH= BUILD_OPT=1 \
			NSS_USE_SYSTEM_SQLITE=1 \
			NSPR_INCLUDE_DIR=/usr/include/nspr \
			NSPR_LIB_DIR=/usr/lib \
			XCFLAGS="${CFLAGS}" ${_use64}
	done
}

do_install() {
	vmkdir usr/lib/pkgconfig
	vmkdir usr/bin
	vmkdir usr/include/nss

	NSS_VMAJOR=$(grep "#define.*NSS_VMAJOR" mozilla/security/nss/lib/nss/nss.h | awk '{print $3}')
	NSS_VMINOR=$(grep "#define.*NSS_VMINOR" mozilla/security/nss/lib/nss/nss.h | awk '{print $3}')
	NSS_VPATCH=$(grep "#define.*NSS_VPATCH" mozilla/security/nss/lib/nss/nss.h | awk '{print $3}')

	sed ${FILESDIR}/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%,${version},g" \
		-e "s,%NSS_VERSION%,${version},g" > \
		${DESTDIR}/usr/lib/pkgconfig/nss.pc

	ln -sf nss.pc ${DESTDIR}/usr/lib/pkgconfig/mozilla-nss.pc
	chmod 644 ${DESTDIR}/usr/lib/pkgconfig/*.pc

	sed ${FILESDIR}/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" \
		> ${DESTDIR}/usr/bin/nss-config
	chmod 755 ${DESTDIR}/usr/bin/nss-config

	for f in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so \
		libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
		install -m755 mozilla/dist/*.OBJ/lib/${f} ${DESTDIR}/usr/lib
	done

	install -m644 mozilla/dist/*.OBJ/lib/libcrmf.a ${DESTDIR}/usr/lib
	install -m644 mozilla/dist/*.OBJ/lib/*.chk ${DESTDIR}/usr/lib

	for f in certutil cmsutil crlutil modutil pk12util shlibsign \
		signtool signver ssltap; do
		install -m755 mozilla/dist/*.OBJ/bin/${f} ${DESTDIR}/usr/bin
	done

	install -m644 mozilla/dist/public/nss/*.h ${DESTDIR}/usr/include/nss
}
