Magellan Linux

Annotation of /branches/R11-stable/extras/nss/nss-3.14.3-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17994 - (hide annotations) (download)
Thu Jun 27 06:41:53 2013 UTC (11 years, 2 months ago) by niro
File size: 4432 byte(s)
-release branches/R11-stable
1 niro 17249 # $Id$
2    
3     PNAME="nss"
4     PVER="3.14.3"
5     PBUILD="r2"
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     >= dev-libs/nspr-4.9
18     >= dev-db/sqlite-3.7"
19    
20     SDEPEND=">= virtual/sed"
21    
22     SRCFILE="${PNAME}-${PVER}.tar.gz"
23     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
24    
25     sminclude mtools multilib
26     msetfeature "!check"
27    
28     CONF_REV=1.2
29     PC_REV=1.2
30    
31     SRC_URI=(
32     ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(echo ${PVER} | sed "s:\.:\_:g")_RTM/src/${SRCFILE}
33     mirror://${PNAME}/${SRCFILE}
34     mirror://${PNAME}/nss-config.in-${CONF_REV}
35     mirror://${PNAME}/nss.pc.in-${PC_REV}
36     )
37    
38     UP2DATE="updatecmd 'http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/?C=M;D=A' | grep NSS | sed -n 's/.*NSS_\(.*\)_RTM.*/\1/;s/_/./g;$ p'"
39    
40     src_prepare()
41     {
42     munpack ${SRCFILE} || die
43    
44     # modify install path
45     all-abis "sed -i 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' mozilla/security/coreconf/source.mk || die"
46     }
47    
48     src_compile()
49     {
50     local abi
51     for abi in ${MULTILIB_ABIS}
52     do
53     case ${abi} in
54     m32) ABI="m32"; ABI_LIBDIR="lib";;
55     m64) ABI="m64"; ABI_LIBDIR="lib64";;
56     esac
57     cd ${SRCDIR}-${abi}
58    
59     [[ ${abi} = m64 ]] && export USE_64=1
60    
61     # use system sqlite
62     export NSS_USE_SYSTEM_SQLITE=1
63    
64     export FREEBL_NO_DEPEND=1
65     export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
66     export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
67    
68     # get the right nspr includes and libs on multilib systems
69     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"
70     export NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's:-I::')
71     export NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's:-L::')
72    
73     make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C mozilla/security/coreconf || die
74     make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C mozilla/security/dbm || die
75     make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C mozilla/security/nss || die
76     done
77     }
78    
79     src_install()
80     {
81     local abi
82     for abi in ${MULTILIB_ABIS}
83     do
84     case ${abi} in
85     m32) ABI_LIBDIR="lib";;
86     m64) ABI_LIBDIR="lib64";;
87     esac
88    
89     cd ${SRCDIR}-${abi}/mozilla/dist
90    
91     # put all *.a files in /usr/lib/nss
92     # (because some have conflicting names with existing libraries)
93     minstalldir /usr/$(mlibdir)/nss || die
94     cp -L */lib/*.a ${BINDIR}/usr/$(mlibdir)/nss || die
95     cp -L */lib/*.so ${BINDIR}/usr/$(mlibdir)/nss || die
96     cp -L */lib/*.chk ${BINDIR}/usr/$(mlibdir)/nss || die
97    
98     # all the include files
99     minstalldir /usr/include/nss || die
100     minstallfile private/nss/\*.h /usr/include/nss || die
101     minstallfile public/nss/\*.h /usr/include/nss || die
102    
103     # install nss-config and pkgconfig file
104     minstalldir /usr/bin || die
105     minstalldir /usr/$(mlibdir)/pkgconfig || die
106     minstallexec -s nss-config.in-${CONF_REV} /usr/bin/nss-config-${abi} || die
107     minstallfile -s nss.pc.in-${PC_REV} /usr/$(mlibdir)/pkgconfig/nss.pc || die
108     local NSS_VMAJOR=$(cat ${SRCDIR}-${abi}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}')
109     local NSS_VMINOR=$(cat ${SRCDIR}-${abi}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}')
110     local NSS_VPATCH=$(cat ${SRCDIR}-${abi}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}')
111    
112     sed -e "s:@libdir@:/usr/$(mlibdir)/nss:g" \
113     -e "s:@prefix@:/usr:g" \
114     -e "s:@exec_prefix@:\$\{prefix}:g" \
115     -e "s:@includedir@:\$\{prefix}/include/nss:g" \
116     -e "s:@MOD_MAJOR_VERSION@:${NSS_VMAJOR}:g" \
117     -e "s:@MOD_MINOR_VERSION@:${NSS_VMINOR}:g" \
118     -e "s:@MOD_PATCH_VERSION@:${NSS_VPATCH}:g" \
119     -i ${BINDIR}/usr/bin/nss-config-${abi} || die
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:" \
125     -e "s:@NSPR_VERSION@:$(nspr-config --version):g" \
126     -e "s:@NSS_VERSION@:$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH:g" \
127     -i ${BINDIR}/usr/$(mlibdir)/pkgconfig/nss.pc || die
128    
129     # inform the system about the new ldpath
130     minstalldir /etc/env.d || die
131     echo "LDPATH=/usr/$(mlibdir)/nss" > ${BINDIR}/etc/env.d/08nss-${abi} || die
132    
133     if [[ ${ARCH} = x86_64 ]]
134     then
135     mlink multiarch-wrapper /usr/bin/nss-config || die
136     else
137     mlink nss-config-${abi} /usr/bin/nss-config || die
138     fi
139     done
140     }
141    
142     postinstall()
143     {
144     if [[ -f ${MROOT}/etc/env.d/08nss ]]
145     then
146     rm ${MROOT}/etc/env.d/08nss
147     fi
148     }