summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/nspr/ChangeLog8
-rw-r--r--dev-libs/nspr/files/nspr-4.8-pkgconfig-gentoo-2.patch126
-rw-r--r--dev-libs/nspr/nspr-4.8.4.ebuild86
3 files changed, 219 insertions, 1 deletions
diff --git a/dev-libs/nspr/ChangeLog b/dev-libs/nspr/ChangeLog
index 1ceb5930266f..6b514c098151 100644
--- a/dev-libs/nspr/ChangeLog
+++ b/dev-libs/nspr/ChangeLog
@@ -1,6 +1,12 @@
# 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.136 2010/02/22 00:59:01 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/ChangeLog,v 1.137 2010/03/09 01:55:51 anarchy Exp $
+
+*nspr-4.8.4 (09 Mar 2010)
+
+ 09 Mar 2010; <anarchy@gentoo.org>
+ +files/nspr-4.8-pkgconfig-gentoo-2.patch, +nspr-4.8.4.ebuild:
+ Version bump
*nspr-4.8.3-r3 (22 Feb 2010)
diff --git a/dev-libs/nspr/files/nspr-4.8-pkgconfig-gentoo-2.patch b/dev-libs/nspr/files/nspr-4.8-pkgconfig-gentoo-2.patch
new file mode 100644
index 000000000000..3309ae085feb
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.8-pkgconfig-gentoo-2.patch
@@ -0,0 +1,126 @@
+diff -urN nspr-4.8-orig/mozilla/nsprpub/config/config.mk nspr-4.8/mozilla/nsprpub/config/config.mk
+--- nspr-4.8-orig/mozilla/nsprpub/config/config.mk 2009-09-12 00:43:47.678357452 -0500
++++ nspr-4.8/mozilla/nsprpub/config/config.mk 2009-09-12 00:44:19.383381757 -0500
+@@ -162,3 +162,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 -urN nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in nspr-4.8/mozilla/nsprpub/config/Makefile.in
+--- nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:43:47.678357452 -0500
++++ nspr-4.8/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:44:19.384379661 -0500
+@@ -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 -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in nspr-4.8/mozilla/nsprpub/config/nspr-config.in
+--- nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:43:47.677356194 -0500
++++ nspr-4.8/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:45:53.723359547 -0500
+@@ -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 -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in nspr-4.8/mozilla/nsprpub/config/nspr.pc.in
+--- nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in 1969-12-31 18:00:00.000000000 -0600
++++ nspr-4.8/mozilla/nsprpub/config/nspr.pc.in 2009-09-12 00:44:19.410432811 -0500
+@@ -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
++Cflags: -I${includedir}
++
+diff -urN nspr-4.8-orig/mozilla/nsprpub/config/rules.mk nspr-4.8/mozilla/nsprpub/config/rules.mk
+--- nspr-4.8-orig/mozilla/nsprpub/config/rules.mk 2009-09-12 00:43:47.677356194 -0500
++++ nspr-4.8/mozilla/nsprpub/config/rules.mk 2009-09-12 00:44:19.435517111 -0500
+@@ -211,7 +211,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
+@@ -221,6 +221,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
+@@ -272,6 +275,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 -urN nspr-4.8-orig/mozilla/nsprpub/configure nspr-4.8/mozilla/nsprpub/configure
+--- nspr-4.8-orig/mozilla/nsprpub/configure 2009-09-12 00:43:47.600359058 -0500
++++ nspr-4.8/mozilla/nsprpub/configure 2009-09-12 00:44:19.444380569 -0500
+@@ -6037,6 +6037,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++config/nspr.pc
+ lib/Makefile
+ lib/ds/Makefile
+ lib/libc/Makefile
+diff -urN nspr-4.8-orig/mozilla/nsprpub/configure.in nspr-4.8/mozilla/nsprpub/configure.in
+--- nspr-4.8-orig/mozilla/nsprpub/configure.in 2009-09-12 00:43:47.678357452 -0500
++++ nspr-4.8/mozilla/nsprpub/configure.in 2009-09-12 00:44:19.451396074 -0500
+@@ -2871,6 +2871,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-4.8.4.ebuild b/dev-libs/nspr/nspr-4.8.4.ebuild
new file mode 100644
index 000000000000..cf509ebe29b4
--- /dev/null
+++ b/dev-libs/nspr/nspr-4.8.4.ebuild
@@ -0,0 +1,86 @@
+# 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.ebuild,v 1.1 2010/03/09 01:55:51 anarchy Exp $
+
+inherit eutils multilib toolchain-funcs versionator
+
+MIN_PV="$(get_version_component_range 2)"
+
+DESCRIPTION="Netscape Portable Runtime"
+HOMEPAGE="http://www.mozilla.org/projects/nspr/"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/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="debug"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ 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-2.patch
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ mozilla/nsprpub/config/rules.mk
+}
+
+src_compile() {
+ 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*) ;;
+ *) 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)"
+
+ ECONF_SOURCE="../mozilla/nsprpub" econf \
+ $(use_enable debug) \
+ $(use_enable !debug optimize) \
+ ${myconf} || die "econf failed"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" || die "failed to build"
+}
+
+src_install () {
+ # Their build system is royally confusing, as usual
+ MINOR_VERSION=${MIN_PV} # Used for .so version
+ cd "${S}"/build
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ cd "${D}"/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."
+ done
+
+ # install nspr-config
+ dobin "${S}"/build/config/nspr-config || die "failed to install nspr-config"
+
+ # create pkg-config file
+ insinto /usr/$(get_libdir)/pkgconfig/
+ 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"
+}
+
+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
+}