Magellan Linux

Annotation of /branches/magellan-next/extras/nss/nss-3.12.11-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9009 - (hide annotations) (download)
Mon Sep 19 22:37:46 2011 UTC (12 years, 7 months ago) by niro
File size: 4213 byte(s)
-multilib fixes
1 niro 9005 # $Id$
2    
3     PNAME="nss"
4     PVER="3.12.11"
5     PBUILD="r1"
6    
7     PCATEGORIE="dev-libs"
8    
9     DESCRIPTION="Network Security Services (NSS)."
10     HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
11    
12     DEPEND=">= virtual/glibc
13     >= dev-libs/nspr-4.8.9
14     >= dev-db/sqlite-3.7"
15    
16     SDEPEND=">= sys-apps/sed-4"
17    
18     SRCFILE="${PNAME}-${PVER}.tar.gz"
19 niro 9006 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
20 niro 9005
21     sminclude mtools multilib
22    
23     CONF_CVS_REV=1.2
24     PC_CVS_REV=1.2
25    
26     SRC_URI=(
27     ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(echo ${PVER} | sed "s:\.:\_:g")_RTM/src/${SRCFILE}
28     mirror://${PNAME}/${SRCFILE}
29     mirror://${PNAME}/nss-config.in-${CONF_CVS_REV}
30     mirror://${PNAME}/nss.pc.in-${PC_CVS_REV}
31     )
32    
33     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'"
34    
35     src_prepare()
36     {
37     munpack ${SRCFILE} || die
38    
39     # modify install path
40 niro 9006 all-abis "sed -i 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' mozilla/security/coreconf/source.mk || die"
41 niro 9005 }
42    
43     src_compile()
44     {
45 niro 9008 local abi
46     for abi in ${MULTILIB_ABIS}
47     do
48     case ${abi} in
49     m32) ABI="m32"; ABI_LIBDIR="lib";;
50     m64) ABI="m64"; ABI_LIBDIR="lib64";;
51     esac
52     cd ${SRCDIR}-${abi}
53 niro 9005
54 niro 9008 [[ ${abi} = m64 ]] && export USE_64=1
55 niro 9005
56 niro 9008 # use system sqlite
57     export NSS_USE_SYSTEM_SQLITE=1
58 niro 9005
59 niro 9008 export FREEBL_NO_DEPEND=1
60     export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
61     export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
62 niro 9005
63 niro 9008 # get the right nspr includes and libs on multilib systems
64     export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig"
65     export NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's:-I::')
66     export NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's:-L::')
67 niro 9005
68 niro 9008 make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C mozilla/security/coreconf || die
69     make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C mozilla/security/dbm || die
70     make -j1 BUILD_OPT=1 CC="gcc -${ABI}" -C mozilla/security/nss || die
71     done
72 niro 9005 }
73    
74     src_install()
75     {
76     local abi
77     for abi in ${MULTILIB_ABIS}
78     do
79     case ${abi} in
80     m32) ABI_LIBDIR="lib";;
81     m64) ABI_LIBDIR="lib64";;
82     esac
83    
84 niro 9007 cd ${SRCDIR}-${abi}/mozilla/dist
85 niro 9005
86     # put all *.a files in /usr/lib/nss
87     # (because some have conflicting names with existing libraries)
88     minstalldir /usr/$(mlibdir)/nss || die
89     cp -L */lib/*.a ${BINDIR}/usr/$(mlibdir)/nss || die
90     cp -L */lib/*.so ${BINDIR}/usr/$(mlibdir)/nss || die
91     cp -L */lib/*.chk ${BINDIR}/usr/$(mlibdir)/nss || die
92    
93     # all the include files
94     minstalldir /usr/include/nss || die
95     minstallfile private/nss/\*.h /usr/include/nss || die
96     minstallfile public/nss/\*.h /usr/include/nss || die
97    
98     # install nss-config and pkgconfig file
99     minstalldir /usr/bin || die
100     minstalldir /usr/$(mlibdir)/pkgconfig || die
101     minstallexec -s nss-config.in-${CONF_CVS_REV} /usr/bin/nss-config || die
102     minstallfile -s nss.pc.in-${PC_CVS_REV} /usr/$(mlibdir)/pkgconfig/nss.pc || die
103 niro 9009 local NSS_VMAJOR=$(cat ${SRCDIR}-${abi}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}')
104     local NSS_VMINOR=$(cat ${SRCDIR}-${abi}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}')
105     local NSS_VPATCH=$(cat ${SRCDIR}-${abi}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}')
106 niro 9005
107     sed -e "s:@libdir@:/usr/$(mlibdir)/nss:g" \
108     -e "s:@prefix@:/usr:g" \
109     -e "s:@exec_prefix@:\$\{prefix}:g" \
110     -e "s:@includedir@:\$\{prefix}/include/nss:g" \
111     -e "s:@MOD_MAJOR_VERSION@:${NSS_VMAJOR}:g" \
112     -e "s:@MOD_MINOR_VERSION@:${NSS_VMINOR}:g" \
113     -e "s:@MOD_PATCH_VERSION@:${NSS_VPATCH}:g" \
114     -i ${BINDIR}/usr/bin/nss-config || die
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:" \
120     -e "s:@NSPR_VERSION@:$(nspr-config --version):g" \
121     -e "s:@NSS_VERSION@:$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH:g" \
122     -i ${BINDIR}/usr/$(mlibdir)/pkgconfig/nss.pc || die
123    
124     # inform the system about the new ldpath
125     minstalldir /etc/env.d || die
126     echo "LDPATH=/usr/$(mlibdir)/nss" > ${BINDIR}/etc/env.d/08nss-${abi} || die
127     done
128     }
129    
130     postinstall()
131     {
132     if [[ -f ${MROOT}/etc/env.d/08nss ]]
133     then
134     rm ${MROOT}/etc/env.d/08nss
135     fi
136     }