From 9e79bf0e5e64b74ab6be074847fdffa7881dc060 Mon Sep 17 00:00:00 2001 From: Jory Pratt Date: Sun, 26 Feb 2012 15:56:17 +0000 Subject: remove stale versions of nss/nspr, version bump (Portage version: 2.1.10.49/cvs/Linux x86_64) --- dev-libs/nspr/ChangeLog | 9 +- .../nspr/files/nspr-4.9-pkgconfig-gentoo.patch | 90 ++++++++++++++++ dev-libs/nspr/nspr-4.8.6.ebuild | 104 ------------------- dev-libs/nspr/nspr-4.8.7.ebuild | 105 ------------------- dev-libs/nspr/nspr-4.8.9-r1.ebuild | 113 --------------------- dev-libs/nspr/nspr-4.9.ebuild | 101 ++++++++++++++++++ 6 files changed, 199 insertions(+), 323 deletions(-) create mode 100644 dev-libs/nspr/files/nspr-4.9-pkgconfig-gentoo.patch delete mode 100644 dev-libs/nspr/nspr-4.8.6.ebuild delete mode 100644 dev-libs/nspr/nspr-4.8.7.ebuild delete mode 100644 dev-libs/nspr/nspr-4.8.9-r1.ebuild create mode 100644 dev-libs/nspr/nspr-4.9.ebuild (limited to 'dev-libs') diff --git a/dev-libs/nspr/ChangeLog b/dev-libs/nspr/ChangeLog index f938741ac7ea..92785a1c6a4a 100644 --- a/dev-libs/nspr/ChangeLog +++ b/dev-libs/nspr/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-libs/nspr # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/ChangeLog,v 1.176 2012/01/10 02:14:37 anarchy Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/ChangeLog,v 1.177 2012/02/26 15:56:17 anarchy Exp $ + +*nspr-4.9 (26 Feb 2012) + + 26 Feb 2012; Jory A. Pratt -nspr-4.8.6.ebuild, + -nspr-4.8.7.ebuild, -nspr-4.8.9-r1.ebuild, +nspr-4.9.ebuild, + +files/nspr-4.9-pkgconfig-gentoo.patch: + remove stale versions, version bump *nspr-4.8.9-r1 (10 Jan 2012) diff --git a/dev-libs/nspr/files/nspr-4.9-pkgconfig-gentoo.patch b/dev-libs/nspr/files/nspr-4.9-pkgconfig-gentoo.patch new file mode 100644 index 000000000000..56d7bb870fdc --- /dev/null +++ b/dev-libs/nspr/files/nspr-4.9-pkgconfig-gentoo.patch @@ -0,0 +1,90 @@ +diff -urN a/mozilla/nsprpub/config/config.mk b/mozilla/nsprpub/config/config.mk +--- a/mozilla/nsprpub/config/config.mk 2011-10-13 09:00:06.000000000 -0500 ++++ b/mozilla/nsprpub/config/config.mk 2012-02-20 17:52:11.364823693 -0600 +@@ -183,6 +183,7 @@ + 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 + + # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including + # this file +diff -urN a/mozilla/nsprpub/config/Makefile.in b/mozilla/nsprpub/config/Makefile.in +--- a/mozilla/nsprpub/config/Makefile.in 2009-03-03 16:04:23.000000000 -0600 ++++ b/mozilla/nsprpub/config/Makefile.in 2012-02-20 17:53:06.490819923 -0600 +@@ -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 a/mozilla/nsprpub/config/nspr-config.in b/mozilla/nsprpub/config/nspr-config.in +--- a/mozilla/nsprpub/config/nspr-config.in 2005-05-10 19:53:41.000000000 -0500 ++++ b/mozilla/nsprpub/config/nspr-config.in 2012-02-20 17:55:10.947811413 -0600 +@@ -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 a/mozilla/nsprpub/config/nspr.pc.in b/mozilla/nsprpub/config/nspr.pc.in +--- a/mozilla/nsprpub/config/nspr.pc.in 1969-12-31 18:00:00.000000000 -0600 ++++ b/mozilla/nsprpub/config/nspr.pc.in 2012-02-20 18:00:14.609790649 -0600 +@@ -0,0 +1,10 @@ ++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@ @OS_LIBS@ ++Cflags: -I@includedir@ +diff -urN a/mozilla/nsprpub/config/rules.mk b/mozilla/nsprpub/config/rules.mk +--- a/mozilla/nsprpub/config/rules.mk 2011-08-29 12:02:51.000000000 -0500 ++++ b/mozilla/nsprpub/config/rules.mk 2012-02-20 18:11:56.112742680 -0600 +@@ -207,10 +207,14 @@ + 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 ++ifdef RELEASE_PC ++ $(NSINSTALL) -D $(DESTDIR)$(libdir)/pkgconfig ++ $(NSINSTALL) -t -m 0644 $(RELEASE_PC) $(DESTDIR)$(libdir)/pkgconfig/ ++endif + ifdef RELEASE_HEADERS + $(NSINSTALL) -t -m 0644 $(RELEASE_HEADERS) $(DESTDIR)$(includedir)/$(include_subdir) + endif +diff -urN a/mozilla/nsprpub/configure.in b/mozilla/nsprpub/configure.in +--- a/mozilla/nsprpub/configure.in 2012-02-14 13:06:00.000000000 -0600 ++++ b/mozilla/nsprpub/configure.in 2012-02-20 18:09:55.776750908 -0600 +@@ -3357,6 +3357,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.6.ebuild b/dev-libs/nspr/nspr-4.8.6.ebuild deleted file mode 100644 index d28968ec9e89..000000000000 --- a/dev-libs/nspr/nspr-4.8.6.ebuild +++ /dev/null @@ -1,104 +0,0 @@ -# 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.6.ebuild,v 1.7 2010/09/20 19:47:39 jlec Exp $ - -EAPI=3 - -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 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="debug" - -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_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*|*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=${EPREFIX}/usr/$(get_libdir)" - - ECONF_SOURCE="../mozilla/nsprpub" econf \ - $(use_enable debug) \ - $(use_enable !debug optimize) \ - ${myconf} || 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 - MINOR_VERSION=${MIN_PV} # Used for .so version - cd "${S}"/build - emake DESTDIR="${D}" install || die "emake install failed" - - 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 static libraries." - done - - 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 - 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 "${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 -} diff --git a/dev-libs/nspr/nspr-4.8.7.ebuild b/dev-libs/nspr/nspr-4.8.7.ebuild deleted file mode 100644 index bb277e69b9ab..000000000000 --- a/dev-libs/nspr/nspr-4.8.7.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/nspr-4.8.7.ebuild,v 1.7 2011/05/14 16:18:14 xarthisius Exp $ - -EAPI=3 - -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 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="debug" - -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 - # Patch needs updating - #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_configure() { - cd "${S}"/build - - echo > "${T}"/test.c - $(tc-getCC) -c "${T}"/test.c -o "${T}"/test.o - case $(scanelf -BF'%M' "${T}"/test.o)$(scanmacho -BF'%M' "${T}"/test.o) in - ELFCLASS64*|POWERPC64*|X86_64*) myconf="${myconf} --enable-64bit";; - ELFCLASS32*|POWERPC*|I386*|ARM*) ;; - *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";; - esac - - 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() { - cd "${S}"/build - 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 "${ED}"/usr/$(get_libdir) - for file in *.a; do - einfo "removing static libraries as upstream has requested!" - rm -f ${file} || die "failed to remove static libraries." - done - - 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 - 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 "${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 -} diff --git a/dev-libs/nspr/nspr-4.8.9-r1.ebuild b/dev-libs/nspr/nspr-4.8.9-r1.ebuild deleted file mode 100644 index 81aae6c280d6..000000000000 --- a/dev-libs/nspr/nspr-4.8.9-r1.ebuild +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/nspr-4.8.9-r1.ebuild,v 1.1 2012/01/10 02:14:37 anarchy Exp $ - -EAPI=3 - -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 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="debug" - -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 - # Patch needs updating - #epatch "${FILESDIR}"/${PN}-4.8.3-aix-soname.patch - epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch - epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.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 - - if [[ ${CHOST} == *-darwin* ]] ; then - # Fix pkgconfig for Darwin (no RPATH stuff) - sed -i -e 's/-Wl,-R${\?libdir}\?//' \ - "${S}"/mozilla/nsprpub/config/nspr-config.in \ - "${S}"/mozilla/nsprpub/config/nspr.pc.in || die - fi -} - -src_configure() { - cd "${S}"/build - - echo > "${T}"/test.c - $(tc-getCC) -c "${T}"/test.c -o "${T}"/test.o - case $(scanelf -BF'%M' "${T}"/test.o)$(scanmacho -BF'%M' "${T}"/test.o) in - ELFCLASS64*|POWERPC64*|X86_64*) myconf="${myconf} --enable-64bit";; - ELFCLASS32*|POWERPC*|I386*|ARM*) ;; - *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";; - esac - - 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() { - cd "${S}"/build - 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 "${ED}"/usr/$(get_libdir) - for file in *.a; do - einfo "removing static libraries as upstream has requested!" - rm -f ${file} || die "failed to remove static libraries." - done - - 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 - 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 "${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 -} diff --git a/dev-libs/nspr/nspr-4.9.ebuild b/dev-libs/nspr/nspr-4.9.ebuild new file mode 100644 index 000000000000..d4dbed807d74 --- /dev/null +++ b/dev-libs/nspr/nspr-4.9.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/nspr/nspr-4.9.ebuild,v 1.1 2012/02/26 15:56:17 anarchy Exp $ + +EAPI=3 +WANT_AUTOCONF="2.1" + +inherit autotools 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 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="debug" + +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.9-pkgconfig-gentoo.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 + # Patch needs updating + #epatch "${FILESDIR}"/${PN}-4.8.3-aix-soname.patch + epatch "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch + epatch "${FILESDIR}"/${PN}-4.8.9-link-flags.patch + + # We must run eautoconf to regenerate configure + cd "${S}"/mozilla/nsprpub + eautoconf + + # make sure it won't find Perl out of Prefix + sed -i -e "s/perl5//g" "${S}"/mozilla/nsprpub/configure || die + + # Respect LDFLAGS + sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \ + "${S}"/mozilla/nsprpub/config/rules.mk || die +} + +src_configure() { + cd "${S}"/build + + echo > "${T}"/test.c + $(tc-getCC) -c "${T}"/test.c -o "${T}"/test.o + case $(scanelf -BF'%M' "${T}"/test.o)$(scanmacho -BF'%M' "${T}"/test.o) in + ELFCLASS64*|POWERPC64*|X86_64*) myconf="${myconf} --enable-64bit";; + ELFCLASS32*|POWERPC*|I386*|ARM*) ;; + *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";; + esac + + 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() { + cd "${S}"/build + 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 "${ED}"/usr/$(get_libdir) + for file in *.a; do + einfo "removing static libraries as upstream has requested!" + rm -f ${file} || die "failed to remove static libraries." + done + + 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 + dobin "${S}"/build/config/nspr-config || die "failed to install nspr-config" + + # Remove stupid files in /usr/bin + rm -f "${ED}"/usr/bin/prerr.properties || die "failed to cleanup unneeded files" +} -- cgit v1.2.3-65-gdbad