summaryrefslogtreecommitdiffstats
path: root/main/nss/APKBUILD
blob: 99f7086aeba3a9c14be7b303823154c89e62a839 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=nss
pkgver=3.14.3
_pkgver=3.14.1
_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
source="ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_3_14_1_WITH_CKBI_1_93_RTM/src/${pkgname}-3.14.1.with.ckbi.1.93.tar.gz
	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"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done

	# 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="49e6661758deb0c469f0b4edd4e727d5  nss-3.14.1.with.ckbi.1.93.tar.gz
c547b030c57fe1ed8b77c73bf52b3ded  nss.pc.in
46bee81908f1e5b26d6a7a2e14c64d9f  nss-config.in
7f39c19b1dfd62d7db7d8bf19f156fed  add_spi+cacert_ca_certs.patch
d83c7b61abb7e9f8f7bcd157183d1ade  ssl-renegotiate-transitional.patch"
sha256sums="e22ffcca62d604029145e4f904c59e4a967a20d1276f123a91e76ecaae48ba98  nss-3.14.1.with.ckbi.1.93.tar.gz
b9f1428ca2305bf30b109507ff335fa00bce5a7ce0434b50acd26ad7c47dd5bd  nss.pc.in
e44ac5095b4d88f24ec7b2e6a9f1581560bd3ad41a3d198596d67ef22f67adb9  nss-config.in
a9fa92d29d3079d73894288afed7ac736b3527f7c1de990eb3b314978eb3107b  add_spi+cacert_ca_certs.patch
12df04bccbf674db1eef7a519a28987927b5e9c107b1dc386686f05e64f49a97  ssl-renegotiate-transitional.patch"
sha512sums="e2d49abc87e76ea3fb5edb09b1c9be1c14b25212fceb69f19b00662e59add972c2d9799626a32e7735095126157bad0aed6c732f472764017304da2ef2696a0e  nss-3.14.1.with.ckbi.1.93.tar.gz
75dbd648a461940647ff373389cc73bc8ec609139cd46c91bcce866af02be6bcbb0524eb3dfb721fbd5b0bc68c20081ed6f7debf6b24317f2a7ba823e8d3c531  nss.pc.in
2971669e128f06a9af40a5ba88218fa7c9eecfeeae8b0cf42e14f31ed12bf6fa4c5ce60289e078f50e2669a9376b56b45d7c29d726a7eac69ebe1d1e22dc710b  nss-config.in
301ca0936ce5d51280e441b6b395841e9231d8739227bcecf73e809d909c9ac6d165758234d5728fc77649ec3697c9b15168fa215e353b4b0401e22ca90c5382  add_spi+cacert_ca_certs.patch
0c2d54a15636851947e9dfdf0b652f94d89b7f187d7e0f0d47751bc4383c742d9fe5cc932c30b41bced0cf547c59dfab51f65f307bf63300965df83811067e75  ssl-renegotiate-transitional.patch"