Annotation of /branches/magellan-next/extras/nss/nss-3.12.11-r1.smage2
Parent Directory | Revision Log
Revision 9006 -
(hide annotations)
(download)
Mon Sep 19 22:08:40 2011 UTC (12 years, 8 months ago) by niro
File size: 3929 byte(s)
Mon Sep 19 22:08:40 2011 UTC (12 years, 8 months ago) by niro
File size: 3929 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 | cd ${SRCDIR} | ||
46 | |||
47 | [[ ${ARCH} = x86_64 ]] && export USE_64=1 | ||
48 | |||
49 | # use system sqlite | ||
50 | export NSS_USE_SYSTEM_SQLITE=1 | ||
51 | |||
52 | export FREEBL_NO_DEPEND=1 | ||
53 | export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 | ||
54 | export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 | ||
55 | |||
56 | # get the right nspr includes and libs on multilib systems | ||
57 | export NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's:-I::') | ||
58 | export NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's:-L::') | ||
59 | |||
60 | niro | 9006 | mmake -j1 BUILD_OPT=1 -C mozilla/security/coreconf || die |
61 | mmake -j1 BUILD_OPT=1 -C mozilla/security/dbm || die | ||
62 | mmake -j1 BUILD_OPT=1 -C mozilla/security/nss || die | ||
63 | niro | 9005 | } |
64 | |||
65 | src_install() | ||
66 | { | ||
67 | local abi | ||
68 | for abi in ${MULTILIB_ABIS} | ||
69 | do | ||
70 | case ${abi} in | ||
71 | m32) ABI_LIBDIR="lib";; | ||
72 | m64) ABI_LIBDIR="lib64";; | ||
73 | esac | ||
74 | |||
75 | niro | 9006 | cd ${SRCDIR}-${abi}/mozilla/security/dist |
76 | niro | 9005 | |
77 | # put all *.a files in /usr/lib/nss | ||
78 | # (because some have conflicting names with existing libraries) | ||
79 | minstalldir /usr/$(mlibdir)/nss || die | ||
80 | cp -L */lib/*.a ${BINDIR}/usr/$(mlibdir)/nss || die | ||
81 | cp -L */lib/*.so ${BINDIR}/usr/$(mlibdir)/nss || die | ||
82 | cp -L */lib/*.chk ${BINDIR}/usr/$(mlibdir)/nss || die | ||
83 | |||
84 | # all the include files | ||
85 | minstalldir /usr/include/nss || die | ||
86 | minstallfile private/nss/\*.h /usr/include/nss || die | ||
87 | minstallfile public/nss/\*.h /usr/include/nss || die | ||
88 | |||
89 | # install nss-config and pkgconfig file | ||
90 | minstalldir /usr/bin || die | ||
91 | minstalldir /usr/$(mlibdir)/pkgconfig || die | ||
92 | minstallexec -s nss-config.in-${CONF_CVS_REV} /usr/bin/nss-config || die | ||
93 | minstallfile -s nss.pc.in-${PC_CVS_REV} /usr/$(mlibdir)/pkgconfig/nss.pc || die | ||
94 | local NSS_VMAJOR=$(cat ${SRCDIR}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}') | ||
95 | local NSS_VMINOR=$(cat ${SRCDIR}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}') | ||
96 | local NSS_VPATCH=$(cat ${SRCDIR}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}') | ||
97 | |||
98 | sed -e "s:@libdir@:/usr/$(mlibdir)/nss:g" \ | ||
99 | -e "s:@prefix@:/usr:g" \ | ||
100 | -e "s:@exec_prefix@:\$\{prefix}:g" \ | ||
101 | -e "s:@includedir@:\$\{prefix}/include/nss:g" \ | ||
102 | -e "s:@MOD_MAJOR_VERSION@:${NSS_VMAJOR}:g" \ | ||
103 | -e "s:@MOD_MINOR_VERSION@:${NSS_VMINOR}:g" \ | ||
104 | -e "s:@MOD_PATCH_VERSION@:${NSS_VPATCH}:g" \ | ||
105 | -i ${BINDIR}/usr/bin/nss-config || die | ||
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:" \ | ||
111 | -e "s:@NSPR_VERSION@:$(nspr-config --version):g" \ | ||
112 | -e "s:@NSS_VERSION@:$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH:g" \ | ||
113 | -i ${BINDIR}/usr/$(mlibdir)/pkgconfig/nss.pc || die | ||
114 | |||
115 | # inform the system about the new ldpath | ||
116 | minstalldir /etc/env.d || die | ||
117 | echo "LDPATH=/usr/$(mlibdir)/nss" > ${BINDIR}/etc/env.d/08nss-${abi} || die | ||
118 | done | ||
119 | } | ||
120 | |||
121 | postinstall() | ||
122 | { | ||
123 | if [[ -f ${MROOT}/etc/env.d/08nss ]] | ||
124 | then | ||
125 | rm ${MROOT}/etc/env.d/08nss | ||
126 | fi | ||
127 | } |