Contents of /smage/branches/alx08x-unstable/extras/nss/nss-3.95-r1.smage2
Parent Directory | Revision Log
Revision 17521 -
(show annotations)
(download)
Tue Dec 5 08:53:26 2023 UTC (6 months, 1 week ago) by niro
File size: 4901 byte(s)
Tue Dec 5 08:53:26 2023 UTC (6 months, 1 week ago) by niro
File size: 4901 byte(s)
-release branches/alx08x-unstable
1 | # $Id$ |
2 | |
3 | PNAME="nss" |
4 | PVER="3.95" |
5 | PBUILD="r1" |
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 | >= sys-libs/zlib-1.3 |
18 | >= dev-libs/nspr-4.35 |
19 | >= dev-db/sqlite-3.44" |
20 | |
21 | ALX_LIB32_DEPEND=">= virtual/glibc-lib32 |
22 | >= sys-libs/zlib-lib32-1.3 |
23 | >= dev-libs/nspr-lib32-4.35 |
24 | >= dev-db/sqlite-lib32-3.44" |
25 | |
26 | ALX_DEV_DEPEND=">= sys-libs/zlib-dev-1.3 |
27 | >= dev-libs/nspr-dev-4.35 |
28 | >= dev-db/sqlite-dev-3.44" |
29 | |
30 | SDEPEND="${ALX_DEV_DEPEND} |
31 | >= virtual/sed" |
32 | |
33 | SRCFILE="${PNAME}-${PVER}.tar.gz" |
34 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
35 | |
36 | ALX_PKG_KEEP="usr/bin/certutil usr/$(MABI=m64 mlibdir)/*.so" |
37 | ALX_LIB32_PKG_KEEP="usr/$(MABI=m32 mlibdir)/*.so" |
38 | sminclude mtools multilib mbuild lib32-split alx-split |
39 | msetfeature "!check !strip" # never strip the libraries, because if they are altered the chk files did not match, and the libs must be resigned |
40 | |
41 | CONF_REV=1.2 |
42 | PC_REV=1.2 |
43 | |
44 | SRC_URI=( |
45 | http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_$(echo ${PVER} | sed "s:\.:\_:g")_RTM/src/${SRCFILE} |
46 | mirror://${PNAME}/${SRCFILE} |
47 | mirror://${PNAME}/nss-config.in-${CONF_REV} |
48 | mirror://${PNAME}/nss.pc.in-${PC_REV} |
49 | ) |
50 | |
51 | 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" |
52 | |
53 | src_prepare() |
54 | { |
55 | munpack ${SRCFILE} || die |
56 | |
57 | # modify install path |
58 | all-abis "sed -i 's:SOURCE_PREFIX = \$(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = \$(CORE_DEPTH)/dist:' nss/coreconf/source.mk || die" |
59 | } |
60 | |
61 | src_compile() |
62 | { |
63 | local abi |
64 | for abi in ${MULTILIB_ABIS} |
65 | do |
66 | case ${abi} in |
67 | m32) ABI_LIBDIR="${ABI_X86_LIBDIR}";; |
68 | m64) ABI_LIBDIR="${ABI_X86_64_LIBDIR}";; |
69 | esac |
70 | cd ${SRCDIR}-${abi} |
71 | |
72 | [[ ${abi} = m64 ]] && export USE_64=1 |
73 | |
74 | # use system sqlite |
75 | export NSS_USE_SYSTEM_SQLITE=1 |
76 | export NSS_ENABLE_ECC=1 |
77 | export XCFLAGS="${CFLAGS}" |
78 | # cp missing headers and drop unneccessary depends |
79 | export FREEBL_NO_DEPEND=1 |
80 | export FREEBL_LOWHASH=1 |
81 | export USE_SYSTEM_ZLIB=1 |
82 | export ZLIB_LIBS="-lz" |
83 | |
84 | # get the right nspr includes and libs on multilib systems |
85 | export PKG_CONFIG_PATH="/usr/${ABI_LIBDIR}/pkgconfig" |
86 | export NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's:-I::') |
87 | export NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's:-L::') |
88 | |
89 | make -j1 BUILD_OPT=1 CC="gcc -${abi}" -C nss/coreconf || die |
90 | make -j1 BUILD_OPT=1 CC="gcc -${abi}" -C nss all || die |
91 | make -j1 BUILD_OPT=1 CC="gcc -${abi}" -C nss/lib/dbm || die |
92 | done |
93 | } |
94 | |
95 | alx_generic_src_install() |
96 | { |
97 | local abi |
98 | for abi in ${MULTILIB_ABIS} |
99 | do |
100 | case ${abi} in |
101 | m32) ABI_LIBDIR="${ABI_X86_LIBDIR}";; |
102 | m64) ABI_LIBDIR="${ABI_X86_64_LIBDIR}";; |
103 | esac |
104 | |
105 | cd ${SRCDIR}-${abi}/nss/dist |
106 | |
107 | minstalldir /usr/$(mlibdir) || die |
108 | cp -L */lib/*.so ${BINDIR}/usr/$(mlibdir) || die |
109 | cp -L */lib/*.chk ${BINDIR}/usr/$(mlibdir) || die |
110 | |
111 | # all the include files |
112 | minstalldir /usr/include/nss || die |
113 | minstallfile private/nss/\*.h /usr/include/nss || die |
114 | minstallfile public/nss/\*.h /usr/include/nss || die |
115 | |
116 | # install management tools only |
117 | minstalldir /usr/bin || die |
118 | local tool |
119 | for tool in \ |
120 | certutil cmsutil crlutil modutil pk12util \ |
121 | shlibsign signtool signver ssltap symkeyutil |
122 | do |
123 | minstallexec \*/bin/${tool} || die |
124 | done |
125 | |
126 | # install nss-config and pkgconfig file |
127 | minstalldir /usr/bin || die |
128 | minstalldir /usr/$(mlibdir)/pkgconfig || die |
129 | minstallexec -s nss-config.in-${CONF_REV} /usr/bin/nss-config-${abi} || die |
130 | minstallfile -s nss.pc.in-${PC_REV} /usr/$(mlibdir)/pkgconfig/nss.pc || die |
131 | local NSS_VMAJOR=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}') |
132 | local NSS_VMINOR=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}') |
133 | local NSS_VPATCH=$(cat ${SRCDIR}-${abi}/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}') |
134 | |
135 | sed -e "s:@libdir@:/usr/$(mlibdir):g" \ |
136 | -e "s:@prefix@:/usr:g" \ |
137 | -e "s:@exec_prefix@:\$\{prefix}:g" \ |
138 | -e "s:@includedir@:\$\{prefix}/include/nss:g" \ |
139 | -e "s:@MOD_MAJOR_VERSION@:${NSS_VMAJOR}:g" \ |
140 | -e "s:@MOD_MINOR_VERSION@:${NSS_VMINOR}:g" \ |
141 | -e "s:@MOD_PATCH_VERSION@:${NSS_VPATCH}:g" \ |
142 | -i ${BINDIR}/usr/bin/nss-config-${abi} || die |
143 | |
144 | sed -e "s:@libdir@:/usr/$(mlibdir):g" \ |
145 | -e "s:@prefix@:/usr:g" \ |
146 | -e "s:@exec_prefix@:\$\{prefix}:g" \ |
147 | -e "s:@includedir@:\$\{prefix}/include/nss:" \ |
148 | -e "s:@NSPR_VERSION@:$(nspr-config --version):g" \ |
149 | -e "s:@NSS_VERSION@:$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH:g" \ |
150 | -i ${BINDIR}/usr/$(mlibdir)/pkgconfig/nss.pc || die |
151 | |
152 | mlink nss.pc /usr/$(mlibdir)/pkgconfig/mozilla-nss.pc || die |
153 | |
154 | if [[ ${ARCH} = x86_64 ]] |
155 | then |
156 | mlink multiarch-wrapper /usr/bin/nss-config || die |
157 | else |
158 | mlink nss-config-${abi} /usr/bin/nss-config || die |
159 | fi |
160 | done |
161 | } |