summaryrefslogtreecommitdiff
blob: 2b8ace5fa2e12f390275980d9a6d78bd13301842 (plain)
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
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/nss/nss-3.8.ebuild,v 1.11 2003/07/31 18:10:04 rizzo Exp $

S=${WORKDIR}/${P}

RTM_NAME="NSS_${PV/./_}_RTM"
DESCRIPTION="Mozilla's Netscape Security Services Library that implements PKI support"
SRC_URI="ftp://ftp.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz"
HOMEPAGE="http://www.mozilla.org/projects/nss/"

SLOT="0"
LICENSE="MPL-1.1"
KEYWORDS="x86 ppc ~sparc ~alpha"

DEPEND="virtual/glibc
	app-arch/zip
	>=dev-libs/nspr-4.3"

MAKEOPTS="${MAKEOPTS} -j1"

src_unpack() {
	unpack ${A}

	# hack nspr paths
	echo 'INCLUDES += -I/usr/include/nspr -I$(DIST)/include/dbm' \
		>> ${S}/mozilla/security/coreconf/headers.mk || die "failed to append include"
	
	sed -e 's:$(DIST)/lib/$(LIB_PREFIX)plc4:/usr/lib/$(LIB_PREFIX)plc4:' \
		-e 's:$(DIST)/lib/$(LIB_PREFIX)plds4:/usr/lib/$(LIB_PREFIX)plds4:' \
		-i ${S}/mozilla/security/nss/lib/ckfw/builtins/Makefile
	sed -e 's:$(DIST)/lib/$(LIB_PREFIX)plc4:/usr/lib/$(LIB_PREFIX)plc4:' \
		-e 's:$(DIST)/lib/$(LIB_PREFIX)plds4:/usr/lib/$(LIB_PREFIX)plds4:' \
		-i ${S}/mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile

	# modify install path
	sed -e 's:SOURCE_PREFIX = $(CORE_DEPTH)/\.\./dist:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
		-i ${S}/mozilla/security/coreconf/source.mk
		
	# workaround to satisfy linux-2.6* (#24626)
	cp ${S}/mozilla/security/coreconf/Linux2.5.mk ${S}/mozilla/security/coreconf/Linux2.6.mk
}

src_compile() {
	cd ${S}/mozilla/security/coreconf

	# Fix for Linux 2.6
	cp Linux2.5.mk Linux2.6.mk

	emake BUILD_OPT=1 || die "coreconf make failed"
	cd ${S}/mozilla/security/dbm
	emake BUILD_OPT=1 || die "dbm make failed"
	cd ${S}/mozilla/security/nss
	emake BUILD_OPT=1 || die "nss make failed"
}

src_install () {
	cd ${S}/mozilla/security/dist
	
	# put all *.a files in /usr/lib/nss (because some have conflicting names
	# with existing libraries)
	dodir /usr/lib/nss
	cp -L */lib/*.a ${D}/usr/lib/nss || die "copying libs failed"
	dolib */lib/*.so

	# all the include files
	insinto /usr/include/nss
	doins private/nss/*.h
	doins public/nss/*.h
	
	# NOTE: we ignore the binary files
	
}