Magellan Linux

Contents of /smage/branches/alx08x-unstable/extras/nss/nss-3.95-r1.smage2

Parent Directory Parent Directory | Revision Log 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)
-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 }