Magellan Linux

Contents of /smage/trunk/extras/nss/nss-3.54-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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