Files
@ dfecd0aa05b0
Branch filter:
Location: ohnobinki_overlay/dev-libs/nss/nss-3.12.ebuild
dfecd0aa05b0
4.4 KiB
application/vnd.gentoo.ebuild
Added my makeldif program to my portage tree. For use on dcs.ohnopublishing.net
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | # Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.12.ebuild,v 1.3 2008/09/05 10:48:08 aballier Exp $
inherit eutils flag-o-matic multilib toolchain-funcs
NSPR_VER="4.7.1"
RTM_NAME="NSS_${PV//./_}_RTM"
DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz"
LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
IUSE="utils"
DEPEND=">=dev-libs/nspr-${NSPR_VER}
>=dev-db/sqlite-3.5.6"
src_unpack() {
unpack ${A}
cd "${S}"/mozilla/security/coreconf
# hack nspr paths
echo 'INCLUDES += -I/usr/include/nspr -I$(DIST)/include/dbm' \
>> headers.mk || die "failed to append include"
# cope with nspr being in /usr/$(get_libdir)/nspr
sed -e 's:$(DIST)/lib:/usr/'"$(get_libdir)"/nspr':' \
-i location.mk
# modify install path
sed -e 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
-i source.mk
# Respect LDFLAGS
sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
cd "${S}"
epatch "${FILESDIR}"/${PN}-3.11-config.patch
epatch "${FILESDIR}"/${PN}-3.12-config-1.patch
epatch "${FILESDIR}"/${PN}-mips64.patch
epatch "${FILESDIR}"/${PN}-fbsd7.patch
epatch "${FILESDIR}"/${PN}-${PV}-missingheader.patch
}
src_compile() {
strip-flags
echo > "${T}"/test.c
$(tc-getCC) -c "${T}"/test.c -o "${T}"/test.o
case $(file "${T}"/test.o) in
*64-bit*) export USE_64=1;;
*32-bit*) ;;
*) die "FAIL";;
esac
export NSDISTMODE=copy
export NSS_USE_SYSTEM_SQLITE=1
cd "${S}"/mozilla/security/coreconf
emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "coreconf make failed"
cd "${S}"/mozilla/security/dbm
emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "dbm make failed"
cd "${S}"/mozilla/security/nss
emake -j1 BUILD_OPT=1 XCFLAGS="${CFLAGS}" CC="$(tc-getCC)" || die "nss make failed"
}
src_install () {
MINOR_VERSION=12
cd "${S}"/mozilla/security/dist
# put all *.a files in /usr/lib/nss (because some have conflicting names
# with existing libraries)
dodir /usr/$(get_libdir)/nss
cp -L */lib/*.so "${D}"/usr/$(get_libdir)/nss || die "copying shared libs failed"
cp -L */lib/*.chk "${D}"/usr/$(get_libdir)/nss || die "copying chk files failed"
cp -L */lib/*.a "${D}"/usr/$(get_libdir)/nss || die "copying libs failed"
# all the include files
insinto /usr/include/nss
doins private/nss/*.h
doins public/nss/*.h
cd "${D}"/usr/$(get_libdir)/nss
for file in *.so; do
mv ${file} ${file}.${MINOR_VERSION}
ln -s ${file}.${MINOR_VERSION} ${file}
done
# coping with nss being in a different path. We move up priority to
# ensure that nss/nspr are used specifically before searching elsewhere.
dodir /etc/env.d
echo "LDPATH=/usr/$(get_libdir)/nss" > "${D}"/etc/env.d/08nss
dodir /usr/bin
dodir /usr/$(get_libdir)/pkgconfig
cp "${FILESDIR}"/3.12-nss-config.in "${D}"/usr/bin/nss-config
cp "${FILESDIR}"/3.12-nss.pc.in "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
NSS_VMAJOR=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}'`
NSS_VMINOR=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}'`
NSS_VPATCH=`cat ${S}/mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}'`
sed -e "s,@libdir@,/usr/"$(get_libdir)"/nss,g" \
-e "s,@prefix@,/usr,g" \
-e "s,@exec_prefix@,\$\{prefix},g" \
-e "s,@includedir@,\$\{prefix}/include/nss,g" \
-e "s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g" \
-e "s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g" \
-e "s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g" \
-i "${D}"/usr/bin/nss-config
chmod 755 "${D}"/usr/bin/nss-config
sed -e "s,@libdir@,/usr/"$(get_libdir)"/nss,g" \
-e "s,@prefix@,/usr,g" \
-e "s,@exec_prefix@,\$\{prefix},g" \
-e "s,@includedir@,\$\{prefix}/include/nss," \
-e "s,@NSPR_VERSION@,`nspr-config --version`,g" \
-e "s,@NSS_VERSION@,$NSS_VMAJOR.$NSS_VMINOR.$NSS_VPATCH,g" \
-i "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
chmod 644 "${D}"/usr/$(get_libdir)/pkgconfig/nss.pc
if use utils; then
cd "${S}"/mozilla/security/dist/*/bin/
for f in *; do
newbin ${f} nss${f}
done
fi
}
|