Magellan Linux

Annotation of /smage/trunk/extras/nss/nss-3.55-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15341 - (hide annotations) (download)
Wed Aug 19 12:53:45 2020 UTC (3 years, 9 months ago) by niro
File size: 4736 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     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     }