Annotation of /smage/trunk/extras/nss/nss-3.55-r1.smage2
Parent Directory | Revision Log
Revision 15342 -
(hide annotations)
(download)
Thu Aug 20 06:40:56 2020 UTC (3 years, 8 months ago) by niro
File size: 4882 byte(s)
Thu Aug 20 06:40:56 2020 UTC (3 years, 8 months ago) by niro
File size: 4882 byte(s)
auto added: ver bump to 3.55-r1
1 | niro | 15341 | # $Id$ |
2 | |||
3 | PNAME="nss" | ||
4 | PVER="3.55" | ||
5 | PBUILD="r1" | ||
6 | |||
7 | PCAT="dev-libs" | ||
8 | |||
9 | DESCRIPTION="Network Security Services (NSS)." | ||
10 | HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/" | ||
11 | |||
12 | DEPEND_x86_64=">= sys-apps/multiarch-wrapper-1" | ||
13 | SPECIAL_VARS="DEPEND_x86_64" | ||
14 | |||
15 | DEPEND="$(marchdepend) | ||
16 | >= virtual/glibc | ||
17 | >= sys-libs/zlib-1.2 | ||
18 | >= dev-libs/nspr-4.26 | ||
19 | >= dev-db/sqlite-3.32" | ||
20 | |||
21 | SDEPEND=">= virtual/sed | ||
22 | >= sys-libs/zlib-dev-1.2 | ||
23 | >= dev-libs/nspr-dev-4.26 | ||
24 | >= dev-db/sqlite-dev-3.32" | ||
25 | |||
26 | SRCFILE="${PNAME}-${PVER}.tar.gz" | ||
27 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" | ||
28 | |||
29 | ALX_PKG_KEEP="etc/env.d usr/$(mlibdir)/nss/*.so usr/$(mlibdir)/nss/*.so.*" | ||
30 | sminclude mtools multilib mbuild alx-split | ||
31 | msetfeature "!check !strip" # never strip the libraries, because if they are altered the chk files did not match, and the libs must be resigned | ||
32 | |||
33 | CONF_REV=1.2 | ||
34 | PC_REV=1.2 | ||
35 | |||
36 | SRC_URI=( | ||
37 | http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(echo ${PVER} | sed "s:\.:\_:g")_RTM/src/${SRCFILE} | ||
38 | mirror://${PNAME}/${SRCFILE} | ||
39 | mirror://${PNAME}/nss-config.in-${CONF_REV} | ||
40 | mirror://${PNAME}/nss.pc.in-${PC_REV} | ||
41 | ) | ||
42 | |||
43 | UP2DATE="updatecmd http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/ | grep NSS | grep -v "WITH" | sed 's/.*NSS_\(.*\)_RTM.*/\1/;s/_/./g' | upsort_pipe" | ||
44 | |||
45 | src_prepare() | ||
46 | { | ||
47 | munpack ${SRCFILE} || die | ||
48 | |||
49 | # modify install path | ||
50 | all-abis "sed -i 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' nss/coreconf/source.mk || die" | ||
51 | } | ||
52 | |||
53 | src_compile() | ||
54 | { | ||
55 | local abi | ||
56 | for abi in ${MULTILIB_ABIS} | ||
57 | do | ||
58 | case ${abi} in | ||
59 | m32) ABI="m32"; ABI_LIBDIR="lib";; | ||
60 | m64) ABI="m64"; ABI_LIBDIR="lib64";; | ||
61 | esac | ||
62 | cd ${SRCDIR}-${abi} | ||
63 | |||
64 | [[ ${abi} = m64 ]] && export USE_64=1 | ||
65 | |||
66 | # use system sqlite | ||
67 | export NSS_USE_SYSTEM_SQLITE=1 | ||
68 | export NSS_ENABLE_ECC=1 | ||
69 | export XCFLAGS="${CFLAGS}" | ||
70 | niro | 15342 | # cp missing headers and drop unneccessary depends |
71 | export FREEBL_NO_DEPEND=1 | ||
72 | export FREEBL_LOWHASH=1 | ||
73 | export USE_SYSTEM_ZLIB=1 | ||
74 | export ZLIB_LIBS="-lz" | ||
75 | niro | 15341 | |
76 | # get the right nspr includes and libs on multilib systems | ||
77 | export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig" | ||
78 | export NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's:-I::') | ||
79 | export NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's:-L::') | ||
80 | |||
81 | make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C nss/coreconf || die | ||
82 | niro | 15342 | make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C nss all || die |
83 | niro | 15341 | make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C nss/lib/dbm || die |
84 | done | ||
85 | } | ||
86 | |||
87 | alx_generic_src_install() | ||
88 | { | ||
89 | local abi | ||
90 | for abi in ${MULTILIB_ABIS} | ||
91 | do | ||
92 | case ${abi} in | ||
93 | m32) ABI_LIBDIR="lib";; | ||
94 | m64) ABI_LIBDIR="lib64";; | ||
95 | esac | ||
96 | |||
97 | cd ${SRCDIR}-${abi}/dist | ||
98 | |||
99 | # put all *.a files in /usr/lib/nss | ||
100 | # (because some have conflicting names with existing libraries) | ||
101 | minstalldir /usr/$(mlibdir)/nss || die | ||
102 | #cp -L */lib/*.a ${BINDIR}/usr/$(mlibdir)/nss || die | ||
103 | cp -L */lib/libcrmf.a ${BINDIR}/usr/$(mlibdir)/nss || die | ||
104 | cp -L */lib/*.so ${BINDIR}/usr/$(mlibdir)/nss || die | ||
105 | cp -L */lib/*.chk ${BINDIR}/usr/$(mlibdir)/nss || die | ||
106 | |||
107 | # all the include files | ||
108 | minstalldir /usr/include/nss || die | ||
109 | minstallfile private/nss/\*.h /usr/include/nss || die | ||
110 | minstallfile public/nss/\*.h /usr/include/nss || die | ||
111 | |||
112 | # install nss-config and pkgconfig file | ||
113 | minstalldir /usr/bin || die | ||
114 | minstalldir /usr/$(mlibdir)/pkgconfig || die | ||
115 | minstallexec -s nss-config.in-${CONF_REV} /usr/bin/nss-config-${abi} || die | ||
116 | minstallfile -s nss.pc.in-${PC_REV} /usr/$(mlibdir)/pkgconfig/nss.pc || die | ||
117 | local NSS_VMAJOR=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}') | ||
118 | local NSS_VMINOR=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}') | ||
119 | local NSS_VPATCH=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}') | ||
120 | |||
121 | sed -e "s:@libdir@:/usr/$(mlibdir)/nss:g" \ | ||
122 | -e "s:@prefix@:/usr:g" \ | ||
123 | -e "s:@exec_prefix@:\$\{prefix}:g" \ | ||
124 | -e "s:@includedir@:\$\{prefix}/include/nss:g" \ | ||
125 | -e "s:@MOD_MAJOR_VERSION@:${NSS_VMAJOR}:g" \ | ||
126 | -e "s:@MOD_MINOR_VERSION@:${NSS_VMINOR}:g" \ | ||
127 | -e "s:@MOD_PATCH_VERSION@:${NSS_VPATCH}:g" \ | ||
128 | -i ${BINDIR}/usr/bin/nss-config-${abi} || die | ||
129 | |||
130 | sed -e "s:@libdir@:/usr/$(mlibdir)/nss:g" \ | ||
131 | -e "s:@prefix@:/usr:g" \ | ||
132 | -e "s:@exec_prefix@:\$\{prefix}:g" \ | ||
133 | -e "s:@includedir@:\$\{prefix}/include/nss:" \ | ||
134 | -e "s:@NSPR_VERSION@:$(nspr-config --version):g" \ | ||
135 | -e "s:@NSS_VERSION@:$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH:g" \ | ||
136 | -i ${BINDIR}/usr/$(mlibdir)/pkgconfig/nss.pc || die | ||
137 | |||
138 | # inform the system about the new ldpath | ||
139 | minstalldir /etc/env.d || die | ||
140 | echo "LDPATH=/usr/$(mlibdir)/nss" > ${BINDIR}/etc/env.d/08nss-${abi} || die | ||
141 | |||
142 | if [[ ${ARCH} = x86_64 ]] | ||
143 | then | ||
144 | mlink multiarch-wrapper /usr/bin/nss-config || die | ||
145 | else | ||
146 | mlink nss-config-${abi} /usr/bin/nss-config || die | ||
147 | fi | ||
148 | done | ||
149 | } | ||
150 | |||
151 | preinstall() | ||
152 | { | ||
153 | add_conf_prot_mask /etc/env.d | ||
154 | } | ||
155 | |||
156 | postinstall() | ||
157 | { | ||
158 | if [[ -f ${MROOT}/etc/env.d/08nss ]] | ||
159 | then | ||
160 | rm ${MROOT}/etc/env.d/08nss | ||
161 | fi | ||
162 | } |