Include static lib support, force to pic
authorJustin Lecher <jlec@gentoo.org>
Fri, 25 Jun 2010 16:03:16 +0000 (16:03 +0000)
committerJustin Lecher <jlec@gentoo.org>
Fri, 25 Jun 2010 16:03:16 +0000 (16:03 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sci-libs/gsl/ChangeLog
sci-libs/gsl/Manifest
sci-libs/gsl/gsl-1.14-r1.ebuild [new file with mode: 0644]

index b2d2261e16903deb0de7fe214ad3eb87037c4dcb..bbf6e86a45f79a13f4d3632e9f361fcfb66c6a3b 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for sci-libs/gsl
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/gsl/ChangeLog,v 1.69 2010/06/24 21:07:08 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/gsl/ChangeLog,v 1.70 2010/06/25 16:03:16 jlec Exp $
+
+*gsl-1.14-r1 (25 Jun 2010)
+
+  25 Jun 2010; Justin Lecher <jlec@gentoo.org> +gsl-1.14-r1.ebuild:
+  Include static lib support, force to pic
 
   24 Jun 2010; Pacho Ramos <pacho@gentoo.org> gsl-1.14.ebuild:
   stable amd64, bug 325179
index 538d544f5a7f23ca516555c30968429849457975..d74cebbc31004605199252b864c1acdfe1b31a52 100644 (file)
@@ -12,13 +12,14 @@ DIST gsl-1.13.tar.gz 3014270 RMD160 f71507181ace425df0977a13946f12cae4b65783 SHA
 DIST gsl-1.14.tar.gz 3128269 RMD160 c89a30a0b38a0c83d73ded19180d52acd56e6a52 SHA1 e1a600e4fe359692e6f0e28b7e12a96681efbe52 SHA256 3d4a47afd9a1e7c73b97791b4180d8cc4d5f0e5db6027fe06437f1f3f957fafb
 EBUILD gsl-1.13-r1.ebuild 2437 RMD160 8ffa2930d99a3709738b1a31cde714f40f696678 SHA1 3784388be04ad1161ff69d4daa320f82e8079e9f SHA256 4df7154d88b527d621734151a9510c5de6c62cc5b95b02e899282fef9cee0e58
 EBUILD gsl-1.13-r2.ebuild 2840 RMD160 8226d0b1d2b3f36d7a812a9970746bcc84481859 SHA1 44ffe6996747ab91353736258138857c15598737 SHA256 574c3173cb901eb390f1a46cc6f301bb522523a78e0c71870a49ee64c5a12640
+EBUILD gsl-1.14-r1.ebuild 2884 RMD160 a823cb31cb4cdab61fdf18c6e91d4f6012d22aaa SHA1 f9e4bcf6b7e439af6259d537ce0f58c36acf9e1d SHA256 62438d15dd8c9a3bc97a243dadbdeeb2b809e7ed4862b74bc6cfbaee050bbfe3
 EBUILD gsl-1.14.ebuild 2793 RMD160 6e5305f6cd8b931e9d13150827a1f8174d61b15c SHA1 cd2936b119004d4d18520f4fdecbd78187689156 SHA256 51fdc4522bf2b59f4f8e7a2cdd7ffc80fa2b775b9d4685d02d5ce42595c4a8a9
-MISC ChangeLog 10716 RMD160 e40b2319dcf2f91b8d97d355ebe2713463a98781 SHA1 99a932e79b3e4072e0c89722e6b34af712538f85 SHA256 bbe67d2168d9624726f7871e73257adb4f6b565a4d2ff8e852ee1af116ed986b
+MISC ChangeLog 10855 RMD160 816d97b743f1425a664b18549ddc2fd6832a20b6 SHA1 1410e4231831209b3bb07dd6fa5875086a87346e SHA256 263e1d5aa4910de89d52d358732e7c819dc98a10ad0a85bce08a2654ba80d816
 MISC metadata.xml 971 RMD160 a22e325865e4cd1f8a2fb06bbbec4ec87592c816 SHA1 c5bd3fc110d891fd22783bd92d259357672cb89b SHA256 50d67407a84b02c8826cf03a3256b38b588e45b31abffef6d7130883bc5a549b
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.15 (GNU/Linux)
 
-iEYEARECAAYFAkwjyQIACgkQCaWpQKGI+9SgQQCeJXvil0TpIe8Vnj89L0a5Ev9f
-HUIAnis5kckSMyjQlk2HPRKoKxk/i1Oa
-=ti1N
+iEYEARECAAYFAkwk00oACgkQgAnW8HDreRbwzgCfcpJ/UBCaedTRNFD+9TNRe7u9
+acIAnj5qHHr+ftna09Bk7PE1jiyMr+eT
+=XC+l
 -----END PGP SIGNATURE-----
diff --git a/sci-libs/gsl/gsl-1.14-r1.ebuild b/sci-libs/gsl/gsl-1.14-r1.ebuild
new file mode 100644 (file)
index 0000000..a2b86dd
--- /dev/null
@@ -0,0 +1,91 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/gsl/gsl-1.14-r1.ebuild,v 1.1 2010/06/25 16:03:16 jlec Exp $
+
+EAPI="3"
+
+inherit eutils flag-o-matic autotools
+
+DESCRIPTION="The GNU Scientific Library"
+HOMEPAGE="http://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cblas static-libs"
+
+RDEPEND="cblas? ( virtual/cblas )"
+DEPEND="${RDEPEND}
+       app-admin/eselect-cblas
+       dev-util/pkgconfig"
+
+pkg_setup() {
+       ESELECT_PROF="gsl"
+       # prevent to use external cblas from a previously installed gsl
+       local current_lib=$(eselect cblas show | cut -d' ' -f2)
+       if use cblas && [[ ${current_lib} == gsl ]]; then
+               ewarn "USE flag cblas is set: linking gsl with an external cblas."
+               ewarn "However the current selected external cblas is gsl."
+               ewarn "Please install and/or eselect another cblas"
+               die "Circular gsl dependency"
+       fi
+}
+
+src_prepare() {
+       filter-flags -ffast-math
+       epatch "${FILESDIR}"/${P}-cblas.patch
+       eautoreconf
+
+       cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/
+       sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.cblas.gsl || die
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+                       "${T}"/eselect.cblas.gsl || die
+       fi
+}
+
+src_configure() {
+       if use cblas; then
+               export CBLAS_LIBS="$(pkg-config --libs cblas)"
+               export CBLAS_CFLAGS="$(pkg-config --cflags cblas)"
+       fi
+       econf \
+               --with-pic \
+               --enable-shared \
+               $(use_with cblas) \
+               $(use_enable static-libs static)
+}
+
+src_install() {
+       emake install DESTDIR="${D}" || die "emake install failed."
+       dodoc AUTHORS BUGS ChangeLog NEWS README THANKS TODO
+
+       # take care of pkgconfig file for cblas implementation.
+       sed -e "s/@LIBDIR@/$(get_libdir)/" \
+               -e "s/@PV@/${PV}/" \
+               -e "/^prefix=/s:=:=${EPREFIX}:" \
+               -e "/^libdir=/s:=:=${EPREFIX}:" \
+               "${FILESDIR}"/cblas.pc.in > cblas.pc \
+               || die "sed cblas.pc failed"
+       insinto /usr/$(get_libdir)/blas/gsl
+       doins cblas.pc || die "installing cblas.pc failed"
+       eselect cblas add $(get_libdir) "${T}"/eselect.cblas.gsl \
+               ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+       local p=cblas
+       local current_lib=$(eselect ${p} show | cut -d' ' -f2)
+       if [[ ${current_lib} == ${ESELECT_PROF} || -z ${current_lib} ]]; then
+               # work around eselect bug #189942
+               local configfile="${EROOT}"/etc/env.d/${p}/$(get_libdir)/config
+               [[ -e ${configfile} ]] && rm -f ${configfile}
+               eselect ${p} set ${ESELECT_PROF}
+               elog "${p} has been eselected to ${ESELECT_PROF}"
+       else
+               elog "Current eselected ${p} is ${current_lib}"
+               elog "To use ${p} ${ESELECT_PROF} implementation, you have to issue (as root):"
+               elog "\t eselect ${p} set ${ESELECT_PROF}"
+       fi
+}