Magellan Linux

Contents of /smage/branches/alx07x-stable/extras/nss/nss-3.44.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 13623 - (show annotations) (download)
Fri Jul 12 12:09:01 2019 UTC (4 years, 9 months ago) by niro
File size: 4721 byte(s)
-release branches/alx07x-stable
1 # $Id$
2
3 PNAME="nss"
4 PVER="3.44.1"
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.19
19 >= dev-db/sqlite-3.20"
20
21 SDEPEND=">= virtual/sed
22 >= sys-libs/zlib-dev-1.2
23 >= dev-libs/nspr-dev-4.19
24 >= dev-db/sqlite-dev-3.20"
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
71 # get the right nspr includes and libs on multilib systems
72 export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"
73 export NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's:-I::')
74 export NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's:-L::')
75
76 make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C nss/coreconf || die
77 make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C nss/lib/dbm || die
78 make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C nss || die
79 done
80 }
81
82 alx_generic_src_install()
83 {
84 local abi
85 for abi in ${MULTILIB_ABIS}
86 do
87 case ${abi} in
88 m32) ABI_LIBDIR="lib";;
89 m64) ABI_LIBDIR="lib64";;
90 esac
91
92 cd ${SRCDIR}-${abi}/dist
93
94 # put all *.a files in /usr/lib/nss
95 # (because some have conflicting names with existing libraries)
96 minstalldir /usr/$(mlibdir)/nss || die
97 #cp -L */lib/*.a ${BINDIR}/usr/$(mlibdir)/nss || die
98 cp -L */lib/libcrmf.a ${BINDIR}/usr/$(mlibdir)/nss || die
99 cp -L */lib/*.so ${BINDIR}/usr/$(mlibdir)/nss || die
100 cp -L */lib/*.chk ${BINDIR}/usr/$(mlibdir)/nss || die
101
102 # all the include files
103 minstalldir /usr/include/nss || die
104 minstallfile private/nss/\*.h /usr/include/nss || die
105 minstallfile public/nss/\*.h /usr/include/nss || die
106
107 # install nss-config and pkgconfig file
108 minstalldir /usr/bin || die
109 minstalldir /usr/$(mlibdir)/pkgconfig || die
110 minstallexec -s nss-config.in-${CONF_REV} /usr/bin/nss-config-${abi} || die
111 minstallfile -s nss.pc.in-${PC_REV} /usr/$(mlibdir)/pkgconfig/nss.pc || die
112 local NSS_VMAJOR=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}')
113 local NSS_VMINOR=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}')
114 local NSS_VPATCH=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}')
115
116 sed -e "s:@libdir@:/usr/$(mlibdir)/nss:g" \
117 -e "s:@prefix@:/usr:g" \
118 -e "s:@exec_prefix@:\$\{prefix}:g" \
119 -e "s:@includedir@:\$\{prefix}/include/nss:g" \
120 -e "s:@MOD_MAJOR_VERSION@:${NSS_VMAJOR}:g" \
121 -e "s:@MOD_MINOR_VERSION@:${NSS_VMINOR}:g" \
122 -e "s:@MOD_PATCH_VERSION@:${NSS_VPATCH}:g" \
123 -i ${BINDIR}/usr/bin/nss-config-${abi} || die
124
125 sed -e "s:@libdir@:/usr/$(mlibdir)/nss:g" \
126 -e "s:@prefix@:/usr:g" \
127 -e "s:@exec_prefix@:\$\{prefix}:g" \
128 -e "s:@includedir@:\$\{prefix}/include/nss:" \
129 -e "s:@NSPR_VERSION@:$(nspr-config --version):g" \
130 -e "s:@NSS_VERSION@:$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH:g" \
131 -i ${BINDIR}/usr/$(mlibdir)/pkgconfig/nss.pc || die
132
133 # inform the system about the new ldpath
134 minstalldir /etc/env.d || die
135 echo "LDPATH=/usr/$(mlibdir)/nss" > ${BINDIR}/etc/env.d/08nss-${abi} || die
136
137 if [[ ${ARCH} = x86_64 ]]
138 then
139 mlink multiarch-wrapper /usr/bin/nss-config || die
140 else
141 mlink nss-config-${abi} /usr/bin/nss-config || die
142 fi
143 done
144 }
145
146 preinstall()
147 {
148 add_conf_prot_mask /etc/env.d
149 }
150
151 postinstall()
152 {
153 if [[ -f ${MROOT}/etc/env.d/08nss ]]
154 then
155 rm ${MROOT}/etc/env.d/08nss
156 fi
157 }