diff options
-rw-r--r-- | dev-libs/nspr/Manifest | 15 | ||||
-rw-r--r-- | dev-libs/nspr/files/libs.patch | 58 | ||||
-rw-r--r-- | dev-libs/nspr/files/pkgconfig.patch | 126 | ||||
-rw-r--r-- | dev-libs/nspr/nspr-9999.ebuild | 72 |
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 +} |