# Compiling Time: 0.01 SBU
# Maintainer: crazy <crazy@frugalware.org>

pkgname=nss
pkgver=3.113.1
pkgrel=1
pkgdesc="NSS library from mozilla.org"
url="http://www.mozilla.org/projects/security/pki/nss/"
pkgurl="https://ftp.mozilla.org/pub/security/nss/releases"
groups=('base')
archs=('x86_64')
license="MPL GPL"
depends=('glibc>=2.35' 'nspr>=4.34' 'sqlite3>=3.14.2-2' 'libstdc++>=11.3' 'zlib-ng')
makedepends=('perl' 'python3-six' 'xmlto' 'docbook-xsl' 'gyp')
_F_github_author=nss-dev
_F_github_tag=y
_F_github_grep=RTM
_F_github_tag_prefix=NSS_
_F_github_grepv="3.90"
Finclude github
up2date="$up2date | sed 's/NSS_//g' | sed 's/_RTM//g' | sed 's/_/\./g'"
source=($pkgurl/NSS_${pkgver//./_}_RTM/src/$pkgname-$pkgver.tar.gz \
	nss-config.in nss.pc.in add-relro-linker-option.patch)
sha1sums=('9565ddc3de0848aa52133eecadb9eb290634eb95' \
          '0227f94c745519b67b1b530e6cc116e8069a6b43' \
          'ae2d58b2aa31ce0426541e8c76aeda7a8d34c8cf' \
          '476b87b0658ed7d0ce09894f7e2c563ad457594c')
_F_cross32_new_path="yes"
_F_cross32_simple_auto="true"
options+=('plt')
Finclude cross32
_F_archive_ver="$pkgver"

build() {


    export DISTPATH="$Fsrcdir/$pkgname-$pkgver"

	Fcross32_prepare
	Fcross32_copy_source

	Fexec cd $pkgname || Fdie

	Fexec ./build.sh \
			-v \
			--target ia32 \
			--system-sqlite \
			--opt \
			--enable-libpkix \
			--with-nspr=`/usr/i686-frugalware-linux/bin/nspr-config --includedir` \
			--disable-tests || Fdie

	export NSS_VMAJOR=`cat lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}'`
	export NSS_VMINOR=`cat lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}'`
	export NSS_VPATCH=`cat lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}'`

	Fmkdir /usr/i686-frugalware-linux/bin
	Fmkdir /usr/i686-frugalware-linux/include/nss3
	Fmkdir /usr/lib32/pkgconfig

	## FIXME: need patch - crazy -
	cat $Fsrcdir/nss.pc.in > $Fdestdir/usr/lib32/pkgconfig/nss.pc || Fdie
        sed -i -e "s,@libdir@,/usr/lib32,g" \
            -i -e "s,@prefix@,/usr,g" \
            -i -e "s,@exec_prefix@,/usr,g" \
            -i -e "s,@includedir@,/usr/i686-frugalware-linux/include/nss3,g" \
            -i -e "s,@NSPR_VERSION@,`nspr-config --version`,g" \
            -i -e "s,@NSS_VERSION@,${pkgver},g" \
            $Fdestdir/usr/lib32/pkgconfig/nss.pc || Fdie

	cat $Fsrcdir/nss-config.in > $Fdestdir/usr/i686-frugalware-linux/bin/nss-config || Fdie
        sed -i -e "s,@libdir@,/usr/lib32,g" \
            -i -e "s,@prefix@,/usr,g" \
            -i -e "s,@exec_prefix@,/usr,g" \
            -i -e "s,@includedir@,/usr/i686-frugalware-linux/include/nss3,g" \
            -i -e "s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g" \
            -i -e "s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g" \
            -i -e "s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g" \
            $Fdestdir/usr/i686-frugalware-linux/bin/nss-config || Fdie
	Ffileschmod usr/i686-frugalware-linux/bin/nss-config 755

	# Shared libs install
	for file in *.so
	do
	    install -m 755 $DISTPATH/dist/Release/lib/$file $Fdestdir/usr/lib32 || Fdie
	done

	for file in *.chk
	do
		install -m 755 $DISTPATH/dist/Release/lib/$file $Fdestdir/usr/lib32 || Fdie
	done

	# Header files install
	for file in $DISTPATH/dist/public/nss/*.h
	do
		install -m 644 $file $Fdestdir/usr/i686-frugalware-linux/include/nss3 || Fdie
	done

	## all utils got to genric names sowe have some conflicts with
	## other package , simply move all to be $pkgname-the_util_name -- crazy --

	cd $DISTPATH/dist/Release/bin || Fdie
	for util in `ls -1 *`
	do
		mv $util $pkgname-$util || Fdie
	done
	install -m 755 * $Fdestdir/usr/i686-frugalware-linux/bin || Fdie
	Fmv /usr/i686-frugalware-linux/bin/nss-nss /usr/i686-frugalware-linux/bin/nss

	Fcross32_copy_back_source
	Fcross32_reset_and_fix
	Fcross32_delete_empty

	Fsplit "${subpkgs[0]}" /\*

	Fmkdir /usr/{lib,bin,include/nss3}

	Fexec cd $pkgname || Fdie

	Fexec ./build.sh \
			--target x64 \
			--system-sqlite \
			--system-nspr \
			--opt \
			--enable-libpkix \
			--disable-tests || Fdie


	Fmkdir /usr/bin
	Fmkdir /usr/lib/pkgconfig

	## FIXME: need patch - crazy -
	cat $Fsrcdir/nss.pc.in > $Fdestdir/usr/lib/pkgconfig/nss.pc || Fdie
	sed -i -e "s,@libdir@,/usr/lib,g" \
	    -i -e "s,@prefix@,/usr,g" \
	    -i -e "s,@exec_prefix@,/usr,g" \
	    -i -e "s,@includedir@,/usr/include/nss3,g" \
	    -i -e "s,@NSPR_VERSION@,`nspr-config --version`,g" \
	    -i -e "s,@NSS_VERSION@,${pkgver},g" \
	    $Fdestdir/usr/lib/pkgconfig/nss.pc || Fdie

	cat $Fsrcdir/nss-config.in > $Fdestdir/usr/bin/nss-config || Fdie
	sed -i -e "s,@libdir@,/usr/lib,g" \
	    -i -e "s,@prefix@,/usr,g" \
	    -i -e "s,@exec_prefix@,/usr,g" \
	    -i -e "s,@includedir@,/usr/include/nss3,g" \
	    -i -e "s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g" \
	    -i -e "s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g" \
	    -i -e "s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g" \
	    $Fdestdir/usr/bin/nss-config || Fdie

	Ffileschmod usr/bin/nss-config 755
	Fmkdir /usr/{lib,bin,include/nss3}

	# Shared libs install
	for file in *.so
	do
	    install -m 755 $DISTPATH/dist/Release/lib/$file $Fdestdir/usr/lib || Fdie
	done

	for file in *.chk
	do
		install -m 755 $DISTPATH/dist/Release/lib/$file $Fdestdir/usr/lib || Fdie
	done


	# Header files install
	for file in $DISTPATH/dist/public/nss/*.h
	do
            Finstallrel 644 $file usr/include/nss3 || Fdie
	done

	## all utils got to genric names sowe have some conflicts with
	## other package , simply move all to be $pkgname-the_util_name -- crazy --

	cd $DISTPATH/dist/Release/bin || Fdie
	for util in `ls -1 *`
	do
		mv $util $pkgname-$util || Fdie
	done
	install -m 755 * $Fdestdir/usr/bin || Fdie

	for file in certutil.1  cmsutil.1  crlutil.1  derdump.1  modutil.1  pk12util.1  pp.1  signtool.1  signver.1  ssltap.1  vfychain.1  vfyserv.1
	do
		Fman $pkgname-$pkgver/nss/doc/nroff/$file
	done

	Fexec sed	-e 's#Libs:#Libs: -lfreebl#' \
			$Fdestdir/usr/lib/pkgconfig/nss.pc > $Fdestdir/usr/lib/pkgconfig/nss-softokn.pc || Fdie

	Fln /usr/include/nss3 usr/include/nss
}


# optimization OK
