aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/nspr/Manifest15
-rw-r--r--dev-libs/nspr/files/libs.patch58
-rw-r--r--dev-libs/nspr/files/pkgconfig.patch126
-rw-r--r--dev-libs/nspr/nspr-9999.ebuild72
4 files changed, 271 insertions, 0 deletions
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
new file mode 100644
index 0000000..71b63d4
--- /dev/null
+++ b/dev-libs/nspr/Manifest
@@ -0,0 +1,15 @@
+AUX libs.patch 1990 RMD160 f8546cc5f5ff0144b8f527b00691baaaa2f51c31 SHA1 fa9b036e4b96a3f88b57818d01721ed4f6adca98 SHA256 d8589298735028e9899e767da382523d83331f2c358440beaccf34ca569567be
+AUX nspr-4.6.1-config-1.patch 565 RMD160 62fef94c85f636249c83cb6f4a7cc00a71adf3f6 SHA1 51f8e14107dc2edc951377991e9a7d08757d0f91 SHA256 9ed8fd15102ef3de6d837d40ec5d73aef0ea45bf9059b4cf5ff1f47b6a519ed6
+AUX nspr-4.6.1-config.patch 2722 RMD160 75701d5dbdd25a05a3bb43539bfa5f5ea850aabd SHA1 e8deaea05baf51eb6795db4e89ab89162d5d4632 SHA256 01bba00a314375cbb056c4e26e059515a6a0df92c62229799abca9f3fa9c7842
+AUX nspr-4.6.1-lang.patch 1715 RMD160 8778363b94db0653bbbdd2e2feccd20f3e9cdb05 SHA1 4f2ff103202fe28b7642579df9b3e9484c184157 SHA256 71c199cd35640d079a66f1311260d52532424191cb7d7b96f045f3c8f5d30697
+AUX nspr-4.7.0-prtime.patch 962 RMD160 a8c5598d07fb75550f946ec4105ade7128e4404e SHA1 aa731691e91691a66b6de0fdcf912f8e09a9b5a8 SHA256 b586ecb71bffa3b083a875d476792aa1f61a5126a9e6d5669c81034888d284a2
+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 1425 RMD160 98ba83ca432addff873b7c199c8d203a4413091d SHA1 bd619972714a464fd58fd3024bdbdb258af20940 SHA256 c43e34499bc1c0f86a69633af1aadf99a2a911fecb77786c8a94b796a6176773
+AUX nspr-4.8-pkgconfig-gentoo-2.patch 4711 RMD160 3709911449facde45d1bebc60e9e1593aa691af5 SHA1 c41c608247aa712f783a1ec8ea2943b79dee44eb SHA256 5cd96bcb47f9678d4aac95d91d975101d31f038b05bd3f5b191a262d733b8943
+AUX nspr-4.8-pkgconfig-gentoo-3.patch 4026 RMD160 59c47896666e9339dd4ddfdaa9d8f8e3e4328419 SHA1 ec1869623dc237227c2f6b2dd2c622ec60fff2de SHA256 59b30402373ba8fac6dc441bb172a09696c402d7d359b3cfda20560903725a07
+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
+AUX pkgconfig.patch 4026 RMD160 147bcc36fe2394a0c5c7cdc531c88cc18eada7c9 SHA1 ae34f19de86ab5fefd3e443864120db3c77bc7dc SHA256 2ea7b2584ee440b8bbd7ad89c7f71b8e1a5b97737e1e9e23c6b0f1055777a033
+EBUILD nspr-9999.ebuild 1840 RMD160 b81eeac98e5ed8c64d6b15138a8a76124af72dc6 SHA1 a5c55a19e3ba5190c799a832ad1a2dc6963395a8 SHA256 e088b038d3aeb129ac3aefbb78b2535c70b885473bf6ef163286af3af6e49488
diff --git a/dev-libs/nspr/files/libs.patch b/dev-libs/nspr/files/libs.patch
new file mode 100644
index 0000000..2266ee5
--- /dev/null
+++ b/dev-libs/nspr/files/libs.patch
@@ -0,0 +1,58 @@
+--- mozilla/nsprpub/lib/libc/src/Makefile.in.orig 2005-06-01 14:28:26.000000000 +0000
++++ mozilla/nsprpub/lib/libc/src/Makefile.in 2006-01-15 02:50:39.000000000 +0000
+@@ -112,6 +112,10 @@
+ MKSHLIB += -R '$$ORIGIN'
+ endif
+
++ifeq ($(OS_ARCH), Linux)
++DSO_LDOPTS +=-Wl,-R,'$$ORIGIN'
++endif
++
+ ifeq ($(OS_ARCH),OS2)
+ MAPFILE = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).def
+ GARBAGE += $(MAPFILE)
+--- mozilla/nsprpub/lib/ds/Makefile.in.orig 2005-06-01 14:28:25.000000000 +0000
++++ mozilla/nsprpub/lib/ds/Makefile.in 2006-01-15 02:52:30.000000000 +0000
+@@ -102,6 +102,10 @@
+ MKSHLIB += -R '$$ORIGIN'
+ endif
+
++ifeq ($(OS_ARCH), Linux)
++DSO_LDOPTS += -Wl,-R,'$$ORIGIN'
++endif
++
+ ifeq ($(OS_ARCH),OS2)
+ MAPFILE = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).def
+ GARBAGE += $(MAPFILE)
+--- mozilla/nsprpub/pr/src/Makefile.in.orig 2005-06-01 14:28:27.000000000 +0000
++++ mozilla/nsprpub/pr/src/Makefile.in 2006-01-15 03:29:36.000000000 +0000
+@@ -168,6 +168,7 @@
+ else
+ OS_LIBS = -ldl
+ endif
++DSO_LDOPTS +=-Wl,-R,'$$ORIGIN'
+ endif
+
+ ifeq ($(OS_ARCH),HP-UX)
+--- mozilla/nsprpub/config/nspr-config.in.orig 2005-05-11 00:53:41.000000000 +0000
++++ mozilla/nsprpub/config/nspr-config.in 2006-01-15 06:37:58.000000000 +0000
+@@ -122,7 +122,7 @@
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- libdirs=-L$libdir
++ libdirs="-Wl,-R$libdir -L$libdir"
+ if test -n "$lib_plds"; then
+ libdirs="$libdirs -lplds${major_version}"
+ fi
+--- mozilla/nsprpub/configure.orig 2006-01-14 22:41:37.000000000 +0000
++++ mozilla/nsprpub/configure 2006-01-14 22:49:14.000000000 +0000
+@@ -3893,7 +3893,7 @@
+ PR_MD_CSRCS=linux.c
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@).$(MOD_MINOR_VERSION)'
+ _OPTIMIZE_FLAGS=-O2
+ _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
+ # combo is not yet good at debugging inlined
diff --git a/dev-libs/nspr/files/pkgconfig.patch b/dev-libs/nspr/files/pkgconfig.patch
new file mode 100644
index 0000000..b13e113
--- /dev/null
+++ b/dev-libs/nspr/files/pkgconfig.patch
@@ -0,0 +1,126 @@
+diff -r 40ebe6af8a66 nsprpub/config/Makefile.in
+--- a/nsprpub/config/Makefile.in Sat Apr 16 17:57:51 2011 +0200
++++ b/nsprpub/config/Makefile.in Sat Apr 16 19:03:01 2011 +0200
+@@ -52,9 +52,10 @@
+
+ # autoconf.mk must be deleted last (from the top-level directory)
+ # because it is included by every makefile.
+-DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config
++DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config nspr.pc
+
+ RELEASE_BINS = nspr-config
++RELEASE_PC = nspr.pc
+
+ include $(topsrcdir)/config/config.mk
+
+diff -r 40ebe6af8a66 nsprpub/config/config.mk
+--- a/nsprpub/config/config.mk Sat Apr 16 17:57:51 2011 +0200
++++ b/nsprpub/config/config.mk Sat Apr 16 19:03:01 2011 +0200
+@@ -173,3 +173,4 @@
+ RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/include
+ RELEASE_BIN_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/bin
+ RELEASE_LIB_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/lib
++RELEASE_PC_DIR = $(RELEASE_LIB_DIR)/pkgconfig
+diff -r 40ebe6af8a66 nsprpub/config/nspr-config.in
+--- a/nsprpub/config/nspr-config.in Sat Apr 16 17:57:51 2011 +0200
++++ b/nsprpub/config/nspr-config.in Sat Apr 16 19:03:01 2011 +0200
+@@ -92,13 +92,13 @@
+
+ # Set variables that may be dependent upon other variables
+ if test -z "$exec_prefix"; then
+- exec_prefix=@exec_prefix@
++ exec_prefix=`pkg-config --variable=exec_prefix nspr`
+ fi
+ if test -z "$includedir"; then
+- includedir=@includedir@
++ includedir=`pkg-config --variable=includedir nspr`
+ fi
+ if test -z "$libdir"; then
+- libdir=@libdir@
++ libdir=`pkg-config --variable=libdir nspr`
+ fi
+
+ if test "$echo_prefix" = "yes"; then
+diff -r 40ebe6af8a66 nsprpub/config/nspr.pc.in
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/nsprpub/config/nspr.pc.in Sat Apr 16 19:03:01 2011 +0200
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSPR
++Description: The Netscape Portable Runtime
++Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
++Libs: -L${libdir} -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ -lpthread -Wl,-R${libdir}
++Cflags: -I${includedir}
++
+diff -r 40ebe6af8a66 nsprpub/config/rules.mk
+--- a/nsprpub/config/rules.mk Sat Apr 16 17:57:51 2011 +0200
++++ b/nsprpub/config/rules.mk Sat Apr 16 19:03:01 2011 +0200
+@@ -206,7 +206,7 @@
+ rm -rf $(wildcard *.OBJ *.OBJD) dist $(ALL_TRASH) $(DIST_GARBAGE)
+ +$(LOOP_OVER_DIRS)
+
+-install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS)
++install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS) $(RELEASE_PC)
+ ifdef RELEASE_BINS
+ $(NSINSTALL) -t -m 0755 $(RELEASE_BINS) $(DESTDIR)$(bindir)
+ endif
+@@ -216,6 +216,9 @@
+ ifdef RELEASE_LIBS
+ $(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
+ endif
++ifdef RELEASE_PC
++ $(NSINSTALL) -t -m 0644 $(RELEASE_PC) $(DESTDIR)$(libdir)/pkgconfig/
++endif
+ +$(LOOP_OVER_DIRS)
+
+ release:: export
+@@ -267,6 +270,23 @@
+ fi
+ cp $(RELEASE_HEADERS) $(RELEASE_HEADERS_DEST)
+ endif
++ifdef RELEASE_PC
++ @echo "Copying pkg-config files to release directory"
++ @if test -z "$(BUILD_NUMBER)"; then \
++ echo "BUILD_NUMBER must be defined"; \
++ false; \
++ else \
++ true; \
++ fi
++ @if test ! -d $(RELEASE_PC_DEST); then \
++ rm -rf $(RELEASE_PC_DEST); \
++ $(NSINSTALL) -D $(RELEASE_PC_DEST);\
++ else \
++ true; \
++ fi
++ cp $(RELEASE_PC) $(RELEASE_PC_DEST)
++endif
++
+ +$(LOOP_OVER_DIRS)
+
+ alltags:
+diff -r 40ebe6af8a66 nsprpub/configure
+--- a/nsprpub/configure Sat Apr 16 17:57:51 2011 +0200
++++ b/nsprpub/configure Sat Apr 16 19:03:01 2011 +0200
+@@ -6362,6 +6362,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++config/nspr.pc
+ lib/Makefile
+ lib/ds/Makefile
+ lib/libc/Makefile
+diff -r 40ebe6af8a66 nsprpub/configure.in
+--- a/nsprpub/configure.in Sat Apr 16 17:57:51 2011 +0200
++++ b/nsprpub/configure.in Sat Apr 16 19:03:01 2011 +0200
+@@ -3123,6 +3123,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++config/nspr.pc
+ lib/Makefile
+ lib/ds/Makefile
+ lib/libc/Makefile
diff --git a/dev-libs/nspr/nspr-9999.ebuild b/dev-libs/nspr/nspr-9999.ebuild
new file mode 100644
index 0000000..1bb4723
--- /dev/null
+++ b/dev-libs/nspr/nspr-9999.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="3"
+
+inherit mozilla-scm
+
+DESCRIPTION="Netscape Portable Runtime"
+HOMEPAGE="http://www.mozilla.org/projects/nspr/"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug static-libs"
+
+src_prepare() {
+ mkdir inst
+ #epatch "${FILESDIR}"/${PN}-4.7.0-prtime.patch
+ epatch "${FILESDIR}"/libs.patch
+ epatch "${FILESDIR}"/pkgconfig.patch
+ sed -i -e 's/perl5//g' nsprpub/configure || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ nsprpub/config/rules.mk
+}
+
+src_configure() {
+ cd "${S}"/build
+
+ ECONF_SOURCE="../nsprpub" econf \
+ $(use_enable amd64 64bit) \
+ $(use_enable debug) \
+ $(use_enable !debug optimize) \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ || die "econf failed"
+}
+
+src_compile() {
+ cd "${S}"/build
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" || die "failed to build"
+}
+
+src_install () {
+ # Their build system is royally confusing, as usual
+ cd "${S}"/build
+ emake DESTDIR="${ED}" install || die "emake install failed"
+
+ if ! use static-libs; then
+ cd "${ED}"/usr/$(get_libdir)
+ for file in *.a; do
+ rm -f ${file} || die "failed to remove static libraries."
+ done
+ fi
+
+ #local n=
+ #MINOR_VERSION=${MIN_PV} # Used for .so version
+ #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."
+ #done
+
+ # Remove stupid files in /usr/bin
+ rm -f "${ED}"/usr/bin/prerr.properties || die "failed to cleanup unneeded files"
+}
+
+pkg_postinst() {
+ ewarn
+ ewarn "Please make sure you run revdep-rebuild after upgrade."
+ ewarn "This is *extremely* important to ensure your system nspr works properly."
+ ewarn
+}