Contents of /branches/magellan-next/extras/nss/nss-3.12.11-r1.smage2
Parent Directory | Revision Log
Revision 9009 -
(show annotations)
(download)
Mon Sep 19 22:37:46 2011 UTC (13 years ago) by niro
File size: 4213 byte(s)
Mon Sep 19 22:37:46 2011 UTC (13 years ago) by niro
File size: 4213 byte(s)
-multilib fixes
1 | # $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 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
20 | |
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 | all-abis "sed -i 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' mozilla/security/coreconf/source.mk || die" |
41 | } |
42 | |
43 | src_compile() |
44 | { |
45 | 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 | |
54 | [[ ${abi} = m64 ]] && export USE_64=1 |
55 | |
56 | # use system sqlite |
57 | export NSS_USE_SYSTEM_SQLITE=1 |
58 | |
59 | export FREEBL_NO_DEPEND=1 |
60 | export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 |
61 | export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 |
62 | |
63 | # 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 | |
68 | 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 | } |
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 | cd ${SRCDIR}-${abi}/mozilla/dist |
85 | |
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 | 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 | |
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 | } |