summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Olexa <darkside@gentoo.org>2010-07-21 14:00:18 +0000
committerJeremy Olexa <darkside@gentoo.org>2010-07-21 14:00:18 +0000
commitaa062f5a9c88485c41ec975492a67cfa8786b86d (patch)
treedfb7dcdc443abf0cc66f36d15552800587d15b04 /dev-libs/nspr
parentVersion bump (diff)
downloadhistorical-aa062f5a9c88485c41ec975492a67cfa8786b86d.tar.gz
historical-aa062f5a9c88485c41ec975492a67cfa8786b86d.tar.bz2
historical-aa062f5a9c88485c41ec975492a67cfa8786b86d.zip
Migrate changes from Gentoo Prefix overlay. Convert to EAPI3, add patches, etc. Approved by mozilla team in IRC, reference bug 328119
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64
Diffstat (limited to 'dev-libs/nspr')
-rw-r--r--dev-libs/nspr/ChangeLog9
-rw-r--r--dev-libs/nspr/Manifest9
-rw-r--r--dev-libs/nspr/files/nspr-4.7.1-solaris.patch14
-rw-r--r--dev-libs/nspr/files/nspr-4.7.4-solaris.patch62
-rw-r--r--dev-libs/nspr/files/nspr-4.8.3-aix-gcc.patch145
-rw-r--r--dev-libs/nspr/files/nspr-4.8.3-aix-soname.patch43
-rw-r--r--dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch25
-rw-r--r--dev-libs/nspr/nspr-4.8.4-r1.ebuild45
8 files changed, 335 insertions, 17 deletions
diff --git a/dev-libs/nspr/ChangeLog b/dev-libs/nspr/ChangeLog
index 05de56e28451..721e05cb003d 100644
--- a/dev-libs/nspr/ChangeLog
+++ b/dev-libs/nspr/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-libs/nspr
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/ChangeLog,v 1.144 2010/07/02 09:14:32 gmsoft Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/ChangeLog,v 1.145 2010/07/21 14:00:18 darkside Exp $
+
+ 21 Jul 2010; Jeremy Olexa <darkside@gentoo.org>
+ +files/nspr-4.7.1-solaris.patch, +files/nspr-4.7.4-solaris.patch,
+ +files/nspr-4.8.3-aix-gcc.patch, +files/nspr-4.8.3-aix-soname.patch,
+ nspr-4.8.4-r1.ebuild, +files/nspr-4.8.4-darwin-install_name.patch:
+ Migrate changes from Gentoo Prefix overlay. Convert to EAPI3, add patches,
+ etc. Approved by mozilla team in IRC, reference bug 328119
02 Jul 2010; Guy Martin <gmsoft@gentoo.org> nspr-4.8.4.ebuild:
hppa stable, #324735
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
index 5cc8a189c803..e6abbc7d75c0 100644
--- a/dev-libs/nspr/Manifest
+++ b/dev-libs/nspr/Manifest
@@ -2,13 +2,18 @@ AUX nspr-4.6.1-config-1.patch 565 RMD160 62fef94c85f636249c83cb6f4a7cc00a71adf3f
AUX nspr-4.6.1-config.patch 2722 RMD160 75701d5dbdd25a05a3bb43539bfa5f5ea850aabd SHA1 e8deaea05baf51eb6795db4e89ab89162d5d4632 SHA256 01bba00a314375cbb056c4e26e059515a6a0df92c62229799abca9f3fa9c7842
AUX nspr-4.6.1-lang.patch 1718 RMD160 6c3fb440f4b4004289de3f65b996936bcfcbaa45 SHA1 a5ae7b8c95204279fbcb1ac46a242448aa5a894d SHA256 326f5f9d020e73a6ed8e949124eb075f21d856d0b099b8d04035ecc937cd35fb
AUX nspr-4.7.0-prtime.patch 964 RMD160 a963c21fb1ce5e8913d3c41753ca37b24e80798d SHA1 b47ffa12022ea83b738e5d847e61cca026ec7f07 SHA256 3fd4f3c68257dced021c0bfa00245d0da2d6c64205135b1cc89f96a3375dffc7
+AUX nspr-4.7.1-solaris.patch 516 RMD160 aaa024e1afabfae51a0060db328536e1a624ed3a SHA1 6766a9939830e8277f2342db806235ab2e30ab14 SHA256 e47a0abb5b106af38fdfab2ca8661b4a1596d48ff7ca988280728dc6b8a49447
+AUX nspr-4.7.4-solaris.patch 2011 RMD160 08060ba3885a1a659ad5a5505715ced0dd669d5f SHA1 9b0e2021e9dca56f741b505e5aa5ca56da47bbb1 SHA256 9e72078c941229e7112b4bc184e195821c9243bfb9411e9eeefcdb889866ff9f
AUX nspr-4.8-config.patch 1429 RMD160 1988289c042f97ad8c3681b7febbbea45a3de9a6 SHA1 0055fb2f27865e3bcc6d6a9e6f79b633443295d6 SHA256 7cb63ea677ad9c92dde4513b16258f092b463738cb145edd95dd671bcfaa2150
AUX nspr-4.8-pkgconfig-gentoo-2.patch 4711 RMD160 3709911449facde45d1bebc60e9e1593aa691af5 SHA1 c41c608247aa712f783a1ec8ea2943b79dee44eb SHA256 5cd96bcb47f9678d4aac95d91d975101d31f038b05bd3f5b191a262d733b8943
AUX nspr-4.8-pkgconfig-gentoo-3.patch 4726 RMD160 c8e93e2a06b90d6e69a12dce4cfabaebf05b552b SHA1 5d4c67e7b3c0760fd8bb576b8623cbe967b01253 SHA256 f1197ff0f220425d38cae47667ea585cc999fb182cb5c13896e4449fde2d5b6d
+AUX nspr-4.8.3-aix-gcc.patch 3673 RMD160 01b03fb2be761c72dd3eb9c7e9f03bb9c3cf9efc SHA1 7919b736f4ebe12d8067ba400325487c06df3d04 SHA256 b801bc5e93c57e54a076f1b1ed85fc6c4d5d6f344e830929e0a2c4046930a17f
+AUX nspr-4.8.3-aix-soname.patch 1164 RMD160 da8fe1e17cade02ab6a4862ef901dd6c1606a1e3 SHA1 7a919bf08fa9d7a68815cdceda9082f5db8be445 SHA256 cec2e8b1cdf9e81f6b36c7981a5cb017fbf18192586c00d3e80ad897917bfcaa
+AUX nspr-4.8.4-darwin-install_name.patch 1102 RMD160 eb565bc36822129e05f2fa45aaa52284333f2aee SHA1 5f7a057a457c3176aa255dfe1503cb23b5f37f09 SHA256 ca17efc9a60f4372b5da9c29ddf1143726381b9825907f8e3162974224636fab
DIST nspr-4.8.4.tar.gz 1196103 RMD160 654b86f773130f74a19df3a06e40917a4cef9eb7 SHA1 c4af8c2956674ff0f17b4247516716e92db40cf6 SHA256 8c119a1702acf7568e5de887e84b34470a929639ee5a89271df2ba57a31f6746
DIST nspr-4.8.tar.gz 1170419 RMD160 f63468de3613793a8b564e967f3a963aab977c99 SHA1 ac30ec18bf0d070a9663d1a8c2d258004f3f42ad SHA256 a2de84aa21a7bbabd93c4f172123d58c6432c2358807bb260ac338b2dc61dbfe
-EBUILD nspr-4.8.4-r1.ebuild 2734 RMD160 6de4bcde9664eb8ed9fffeb55da7240f825adf2e SHA1 765c223028e7408c920528af2df1909a465eb3f8 SHA256 289828766b1bdec7046fa5888907637dd08da3d3813f504ebf703d90277a6276
+EBUILD nspr-4.8.4-r1.ebuild 3481 RMD160 31760c3d42e433304c193dff6dfed75fa468a330 SHA1 a6603db67412f385841a8ed8908112cc64eefa35 SHA256 c5557f6e9cc0b7251fd1d7389a1e0a0de4cd443bb04a056c2f27662361c7bfe4
EBUILD nspr-4.8.4.ebuild 2721 RMD160 be8a7bf8d6c4f2e4f281db3e197eb7cac88d3df4 SHA1 e7432949225152478d4b1baff6e39c907afc7ce9 SHA256 ec3c804f585140c324f020100e3a65ead502edd6737e94ce0712660401a2b1ec
EBUILD nspr-4.8.ebuild 2547 RMD160 a712f9f925c0bd045904a56d8b3a7ce09c44b9bb SHA1 26005a81d7cfd5ff5d571431da4452cff7cde536 SHA256 c49138f629d41b2958583b212a137908c5508228be87756217057c5c2e036e8d
-MISC ChangeLog 18708 RMD160 1ee4a0b1ecba2119e7a70324f3a6c7cc832a78bc SHA1 dc2e60253abec35b3df5cfba5c41dc386508eb48 SHA256 0b1b15b2f6bb2e2b08b47d4af420e82517de1fa526a38f5f6cc0ecbf3f85bb48
+MISC ChangeLog 19107 RMD160 5e713f26b660f9fd2c6839f65a125238adaf3e9b SHA1 0707cbd7cbccc085af9e48cbaecb7bd5104ab52f SHA256 42887b8e3e845323914d67f08e21dfe3a3ea9a9afa4430a7916a2f49f0f84bd2
MISC metadata.xml 160 RMD160 d5a9f0bf8989621c2bde30facb53bcae00aba709 SHA1 5015c07af2083f20f9552d7fb11afb5ea69af345 SHA256 0cc5126362a12cee42ec1197c528a804cf36859329dd2c6d9225726831d14b8b
diff --git a/dev-libs/nspr/files/nspr-4.7.1-solaris.patch b/dev-libs/nspr/files/nspr-4.7.1-solaris.patch
new file mode 100644
index 000000000000..5d9e810a5fe7
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.7.1-solaris.patch
@@ -0,0 +1,14 @@
+Same magic as haubi did for glib compilation, which works again here
+resolving a linker problem on Solaris with GNU ld. Bug #222625
+
+--- mozilla/nsprpub/pr/src/Makefile.in.orig 2008-06-22 22:24:56.671065000 +0200
++++ mozilla/nsprpub/pr/src/Makefile.in 2008-06-23 14:38:52.320417000 +0200
+@@ -95,7 +95,7 @@
+ endif
+
+ ifdef USE_PTHREADS
+-OS_LIBS = -lpthread ${LIBRT} -lsocket -lnsl -ldl -lc
++OS_LIBS = -pthread ${LIBRT} -lsocket -lnsl -ldl -lc
+ else
+ ifdef LOCAL_THREADS_ONLY
+ OS_LIBS = -lsocket -lnsl -ldl -lc
diff --git a/dev-libs/nspr/files/nspr-4.7.4-solaris.patch b/dev-libs/nspr/files/nspr-4.7.4-solaris.patch
new file mode 100644
index 000000000000..a0f14d555a3f
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.7.4-solaris.patch
@@ -0,0 +1,62 @@
+* drop Solaris linker stuff
+
+--- nspr-4.7.4/mozilla/nsprpub/configure.in
++++ nspr-4.7.4/mozilla/nsprpub/configure.in
+@@ -1988,26 +1988,14 @@
+ CPU_ARCH=`uname -p`
+ MDCPUCFG_H=_solaris.cfg
+ PR_MD_CSRCS=solaris.c
+- LD=/usr/ccs/bin/ld
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ RESOLVE_LINK_SYMBOLS=1
+- case "${OS_RELEASE}" in
+- 5.8|5.9)
+- ;;
+- *)
+- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
+- USE_B_DIRECT=1
+- ;;
+- esac
+ if test -n "$GNU_CC"; then
+ DSO_CFLAGS=-fPIC
+ if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
+ GCC_USE_GNU_LD=1
+ fi
+- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
+- if test -n "$USE_B_DIRECT"; then
+- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
+- fi
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ else
+ DSO_CFLAGS=-KPIC
+ DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
+--- nspr-4.7.4/mozilla/nsprpub/configure
++++ nspr-4.7.4/mozilla/nsprpub/configure
+@@ -4765,26 +4765,14 @@
+ CPU_ARCH=`uname -p`
+ MDCPUCFG_H=_solaris.cfg
+ PR_MD_CSRCS=solaris.c
+- LD=/usr/ccs/bin/ld
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ RESOLVE_LINK_SYMBOLS=1
+- case "${OS_RELEASE}" in
+- 5.8|5.9)
+- ;;
+- *)
+- # It is safe to use the -Bdirect linker flag on Solaris 10 or later.
+- USE_B_DIRECT=1
+- ;;
+- esac
+ if test -n "$GNU_CC"; then
+ DSO_CFLAGS=-fPIC
+ if `$CC -print-prog-name=ld` -v 2>&1 | grep -c GNU >/dev/null; then
+ GCC_USE_GNU_LD=1
+ fi
+- DSO_LDOPTS='-shared -Wl,-h,$(notdir $@),-z,combreloc,-z,defs,-z,ignore'
+- if test -n "$USE_B_DIRECT"; then
+- DSO_LDOPTS="$DSO_LDOPTS,-Bdirect"
+- fi
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ else
+ DSO_CFLAGS=-KPIC
+ DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs -z ignore'
diff --git a/dev-libs/nspr/files/nspr-4.8.3-aix-gcc.patch b/dev-libs/nspr/files/nspr-4.8.3-aix-gcc.patch
new file mode 100644
index 000000000000..4dc4ea335d91
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.8.3-aix-gcc.patch
@@ -0,0 +1,145 @@
+NSPR does not know that gcc does work on AIX:
+https://bugzilla.mozilla.org/show_bug.cgi?id=547991
+
+--- ./mozilla/nsprpub/configure.in.orig 2010-02-23 14:36:55 +0100
++++ ./mozilla/nsprpub/configure.in 2010-02-23 14:37:08 +0100
+@@ -871,8 +871,13 @@
+ AC_DEFINE(HAVE_FCNTL_FILE_LOCKING)
+ USE_IPV6=1
+ AIX_LINK_OPTS='-brtl -bnso -berok'
++ if test -n "$GNU_CC"; then
++ LD='$(CC)'
++ DSO_LDOPTS='-shared -Wl,-G,-bernotok,-bexpall,-blibpath:/usr/lib:/lib'
++ fi
+ ;;
+ esac
++ test -z "$GNU_CC" &&
+ CFLAGS="$CFLAGS -qro -qroconst"
+ AIX_WRAP='$(DIST)/lib/aixwrap.o'
+ AIX_TMP='./_aix_tmp.o'
+--- ./mozilla/nsprpub/configure.orig 2010-02-23 14:36:58 +0100
++++ ./mozilla/nsprpub/configure 2010-02-23 14:37:08 +0100
+@@ -3099,8 +3099,13 @@
+
+ USE_IPV6=1
+ AIX_LINK_OPTS='-brtl -bnso -berok'
++ if test -n "$GNU_CC"; then
++ LD='$(CC)'
++ DSO_LDOPTS='-shared -Wl,-G,-bernotok,-bexpall,-blibpath:/usr/lib:/lib'
++ fi
+ ;;
+ esac
++ test -z "$GNU_CC" &&
+ CFLAGS="$CFLAGS -qro -qroconst"
+ AIX_WRAP='$(DIST)/lib/aixwrap.o'
+ AIX_TMP='./_aix_tmp.o'
+--- ./mozilla/nsprpub/lib/ds/Makefile.in.orig 2010-02-23 14:40:10 +0100
++++ ./mozilla/nsprpub/lib/ds/Makefile.in 2010-02-23 14:40:58 +0100
+@@ -68,11 +68,19 @@
+ endif # WINNT
+
+ ifeq ($(OS_ARCH), AIX)
++ifndef NS_USE_GCC
+ ifeq ($(CLASSIC_NSPR),1)
+ OS_LIBS = -lc
+ else
+ OS_LIBS = -lc_r
+ endif
++else
++ifeq ($(CLASSIC_NSPR),1)
++OS_LIBS =
++else
++OS_LIBS = -pthread
++endif
++endif
+ endif
+
+ ifeq ($(OS_ARCH),IRIX)
+--- ./mozilla/nsprpub/lib/libc/src/Makefile.in.orig 2010-02-23 14:45:41 +0100
++++ ./mozilla/nsprpub/lib/libc/src/Makefile.in 2010-02-23 14:47:58 +0100
+@@ -77,11 +77,19 @@
+ endif # WINNT
+
+ ifeq ($(OS_ARCH), AIX)
++ifndef NS_USE_GCC
+ ifeq ($(CLASSIC_NSPR),1)
+ OS_LIBS = -lc
+ else
+ OS_LIBS = -lc_r
+ endif
++else
++ifeq ($(CLASSIC_NSPR),1)
++OS_LIBS =
++else
++OS_LIBS = -pthread
++endif
++endif
+ endif
+
+ ifeq ($(OS_ARCH),IRIX)
+--- ./mozilla/nsprpub/pr/src/Makefile.in.orig 2010-02-23 14:37:04 +0100
++++ ./mozilla/nsprpub/pr/src/Makefile.in 2010-02-23 14:52:16 +0100
+@@ -110,19 +110,29 @@
+ endif
+
+ ifeq ($(OS_ARCH),AIX)
++ifndef NS_USE_GCC
+ DSO_LDOPTS += -binitfini::_PR_Fini
++endif
+ OS_LIBS = -lodm -lcfg
+ ifeq ($(CLASSIC_NSPR),1)
+ ifeq ($(OS_RELEASE),4.1)
+ OS_LIBS += -lsvld -lc
+ else
++ifndef NS_USE_GCC
+ OS_LIBS += -ldl -lc
++else
++OS_LIBS += -ldl
++endif
+ endif
+ else
+ ifeq ($(OS_RELEASE),4.1)
+ OS_LIBS += -lpthreads -lsvld -lC_r -lC -lc_r -lm /usr/lib/libc.a
+ else
++ifndef NS_USE_GCC
+ OS_LIBS += -lpthreads -ldl -lC_r -lC -lc_r -lm /usr/lib/libc.a
++else
++OS_LIBS += -pthread -ldl -lm
++endif
+ endif
+ endif
+ endif
+--- mozilla/nsprpub/pr/tests/Makefile.in.orig 2010-02-23 15:14:03 +0100
++++ mozilla/nsprpub/pr/tests/Makefile.in 2010-02-23 15:17:58 +0100
+@@ -341,9 +341,17 @@
+
+ # AIX
+ ifeq ($(OS_ARCH),AIX)
++ ifndef NS_USE_GCC
+ LDOPTS += -blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib
++ else
++ LDOPTS += -Wl,-blibpath:$(ABSOLUTE_LIB_DIR):/usr/lib:/lib
++ endif
+ ifneq ($(OS_ARCH)$(OS_RELEASE),AIX4.1)
++ ifndef NS_USE_GCC
+ LDOPTS += -brtl
++ else
++ LDOPTS += -Wl,-brtl
++ endif
+ EXTRA_LIBS = -ldl
+ endif
+ endif
+--- mozilla/nsprpub/lib/tests/Makefile.in.orig 2010-02-23 15:35:37 +0100
++++ mozilla/nsprpub/lib/tests/Makefile.in 2010-02-23 15:35:37 +0100
+@@ -127,7 +127,11 @@
+
+ # AIX
+ ifeq ($(OS_ARCH),AIX)
++ifndef NS_USE_GCC
+ LDOPTS += -blibpath:$(PWD)/$(dist_libdir):/usr/lib:/lib
++else
++LDOPTS += -Wl,-blibpath:$(PWD)/$(dist_libdir):/usr/lib:/lib
++endif
+ LIBPR = -lnspr$(MOD_MAJOR_VERSION)_shr
+ LIBPLC = -lplc$(MOD_MAJOR_VERSION)_shr
+ endif
diff --git a/dev-libs/nspr/files/nspr-4.8.3-aix-soname.patch b/dev-libs/nspr/files/nspr-4.8.3-aix-soname.patch
new file mode 100644
index 000000000000..667e699c202e
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.8.3-aix-soname.patch
@@ -0,0 +1,43 @@
+NSPR does not set the soname on any platform yet:
+https://bugzilla.mozilla.org/show_bug.cgi?id=452873
+
+Supporting something like "soname" on AIX is tricky:
+http://bugs.gentoo.org/show_bug.cgi?id=213277
+
+--- mozilla/nsprpub/config/rules.mk.orig 2010-02-23 15:55:00 +0100
++++ mozilla/nsprpub/config/rules.mk 2010-02-23 16:04:31 +0100
+@@ -132,14 +132,17 @@
+ else
+ ifdef MKSHLIB
+ SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
++ifeq ($(OS_ARCH), AIX)
++IMPORT_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME).$(DLL_SUFFIX)
++endif
+ endif
+ endif
+
+ endif
+ endif
+
+ ifndef TARGETS
+-ifeq (,$(filter-out WINNT WINCE OS2,$(OS_ARCH)))
++ifeq (,$(filter-out WINNT WINCE OS2 AIX,$(OS_ARCH)))
+ TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
+ ifndef BUILD_OPT
+ ifdef MSC_VER
+@@ -327,6 +330,15 @@
+ else
+ ifeq (,$(filter-out WIN95 WINCE,$(OS_TARGET)))
+ $(IMPORT_LIBRARY): $(SHARED_LIBRARY)
++else
++ifdef IMPORT_LIBRARY
++$(IMPORT_LIBRARY): $(SHARED_LIBRARY)
++ ( echo '#! $(notdir $(SHARED_LIBRARY))' \
++ ; dump -Tv $(SHARED_LIBRARY) \
++ | awk '{ if ($$4 == "EXP" && $$6 != "SECdef") { print $$8 } }' \
++ | sort -u \
++ ) > $@
++endif
+ endif
+ endif
+
diff --git a/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch b/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch
new file mode 100644
index 000000000000..1258b608aa68
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.8.4-darwin-install_name.patch
@@ -0,0 +1,25 @@
+Don't use @executable_path, it messed up linking against nspr from e.g.
+nss.
+
+--- mozilla/nsprpub/configure.in
++++ mozilla/nsprpub/configure.in
+@@ -1007,7 +1007,7 @@
+ ;;
+ esac
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names'
++ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names'
+ _OPTIMIZE_FLAGS=-O2
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ STRIP="$STRIP -x -S"
+--- mozilla/nsprpub/configure
++++ mozilla/nsprpub/configure
+@@ -1007,7 +1007,7 @@
+ ;;
+ esac
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name @executable_path/$@ -headerpad_max_install_names'
++ DSO_LDOPTS='-dynamiclib -compatibility_version 1 -current_version 1 -all_load -install_name $(libdir)/$@ -headerpad_max_install_names'
+ _OPTIMIZE_FLAGS=-O2
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ STRIP="$STRIP -x -S"
diff --git a/dev-libs/nspr/nspr-4.8.4-r1.ebuild b/dev-libs/nspr/nspr-4.8.4-r1.ebuild
index 7c3626eff7b8..a2004d60b22e 100644
--- a/dev-libs/nspr/nspr-4.8.4-r1.ebuild
+++ b/dev-libs/nspr/nspr-4.8.4-r1.ebuild
@@ -1,6 +1,8 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/nspr-4.8.4-r1.ebuild,v 1.1 2010/05/16 18:39:14 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/nspr-4.8.4-r1.ebuild,v 1.2 2010/07/21 14:00:18 darkside Exp $
+
+EAPI=3
inherit eutils multilib toolchain-funcs versionator
@@ -12,41 +14,49 @@ SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/${P}.tar
LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="debug"
-src_unpack() {
- unpack ${A}
- cd "${S}"
+src_prepare() {
mkdir build inst
epatch "${FILESDIR}"/${PN}-4.8-config.patch
epatch "${FILESDIR}"/${PN}-4.6.1-config-1.patch
epatch "${FILESDIR}"/${PN}-4.6.1-lang.patch
epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch
epatch "${FILESDIR}"/${PN}-4.8-pkgconfig-gentoo-3.patch
+ epatch "${FILESDIR}"/${PN}-4.7.1-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.7.4-solaris.patch
+ epatch "${FILESDIR}"/${PN}-4.8.3-aix-gcc.patch
+ epatch "${FILESDIR}"/${PN}-4.8.3-aix-soname.patch
+ epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
+ # make sure it won't find Perl out of Prefix
+ sed -i -e "s/perl5//g" mozilla/nsprpub/configure || die
# Respect LDFLAGS
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
mozilla/nsprpub/config/rules.mk
}
-src_compile() {
+src_configure() {
cd "${S}"/build
echo > "${T}"/test.c
$(tc-getCC) -c "${T}"/test.c -o "${T}"/test.o
case $(file "${T}"/test.o) in
- *64-bit*) myconf="${myconf} --enable-64bit";;
- *32-bit*) ;;
+ *64-bit*|*ppc64*|*x86_64*) myconf="${myconf} --enable-64bit";;
+ *32-bit*|*ppc*|*i386*|*"RISC System/6000"*) ;;
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
esac
- myconf="${myconf} --libdir=/usr/$(get_libdir)"
+ myconf="${myconf} --libdir=${EPREFIX}/usr/$(get_libdir)"
ECONF_SOURCE="../mozilla/nsprpub" econf \
$(use_enable debug) \
$(use_enable !debug optimize) \
${myconf} || die "econf failed"
+}
+
+src_compile() {
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" || die "failed to build"
}
@@ -56,15 +66,22 @@ src_install () {
cd "${S}"/build
emake DESTDIR="${D}" install || die "emake install failed"
- cd "${D}"/usr/$(get_libdir)
+ cd "${ED}"/usr/$(get_libdir)
for file in *.a; do
einfo "removing static libraries as upstream has requested!"
rm -f ${file} || die "failed to remove staic libraries."
done
- for file in *.so; do
- mv ${file} ${file}.${MINOR_VERSION} || die "failed to mv files around"
- ln -s ${file}.${MINOR_VERSION} ${file} || die "failed to symlink files."
+ local n=
+ # aix-soname.patch does this already
+ [[ ${CHOST} == *-aix* ]] ||
+ for file in *$(get_libname); do
+ n=${file%$(get_libname)}$(get_libname ${MINOR_VERSION})
+ mv ${file} ${n} || die "failed to mv files around"
+ ln -s ${n} ${file} || die "failed to symlink files."
+ if [[ ${CHOST} == *-darwin* ]]; then
+ install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/${n}" ${n} || die
+ fi
done
# install nspr-config
@@ -75,7 +92,7 @@ src_install () {
doins "${S}"/build/config/nspr.pc || die "failed to insall nspr pkg-config file"
# Remove stupid files in /usr/bin
- rm -f "${D}"/usr/bin/prerr.properties || die "failed to cleanup unneeded files"
+ rm -f "${ED}"/usr/bin/prerr.properties || die "failed to cleanup unneeded files"
}
pkg_postinst() {