LDFLAGS respected, fix parallel make issue
authorJustin Lecher <jlec@gentoo.org>
Sat, 22 May 2010 06:50:38 +0000 (06:50 +0000)
committerJustin Lecher <jlec@gentoo.org>
Sat, 22 May 2010 06:50:38 +0000 (06:50 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sci-libs/pgplot/ChangeLog
sci-libs/pgplot/Manifest
sci-libs/pgplot/files/pgplot-ldflags.patch [new file with mode: 0644]
sci-libs/pgplot/pgplot-5.2.2-r3.ebuild
sci-libs/pgplot/pgplot-5.2.2-r4.ebuild [new file with mode: 0644]

index 5b20490231b0f797800e378aef3bac1dab9fe386..1fc3ffaaad4cc7f53dbc5dff3938a2ab99438036 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sci-libs/pgplot
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/pgplot/ChangeLog,v 1.18 2010/03/15 05:45:42 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/pgplot/ChangeLog,v 1.19 2010/05/22 06:50:38 jlec Exp $
+
+*pgplot-5.2.2-r4 (22 May 2010)
+
+  22 May 2010; Justin Lecher <jlec@gentoo.org> pgplot-5.2.2-r3.ebuild,
+  +pgplot-5.2.2-r4.ebuild, +files/pgplot-ldflags.patch:
+  LDFLAGS respected, fix parallel make issue
 
   15 Mar 2010; Sébastien Fabbro <bicatali@gentoo.org>
   pgplot-5.2.2-r3.ebuild:
index 7bdfa007f09d89be28f5fe666f4bf9793f8a0aa8..fc393668fa1de0538edf4c85a55c7ca8e96875e4 100644 (file)
@@ -4,16 +4,18 @@ Hash: SHA1
 AUX pgplot-compile-setup.patch 3034 RMD160 bb694b1a549b285144ae8e197423d412d123bf3d SHA1 3c72b4c09c68f43865ef03ac92313c124f9827db SHA256 d42ec9479298e8a4a2acb0165d457422fa484a700ac05e53b90dde786c1a044f
 AUX pgplot-drivers.patch 7431 RMD160 d300ecf9d5ed3b3117465330e4c235a3f17d0540 SHA1 d1cd686dd0f93b7550affe1e0d4d36f0a336b440 SHA256 19cabb29fd05c2c44cbb0492167ee3e45ab8890390b1e98de672f2ca2588baed
 AUX pgplot-headers.patch 2716 RMD160 aaad73bfbea9b4f731346a02c390e0adc318f8d0 SHA1 e6b95497b519a5450a24bb5997e18019c73e33eb SHA256 e92a07e38fff278218c09b84453d5c75be663576bdbe19ed9259615bd7a0be7c
+AUX pgplot-ldflags.patch 1005 RMD160 b7dbadeb1ccac887083c76b570acd80749b5163d SHA1 58ddaaa152777ff613df92b37982fb727f961941 SHA256 5d065415a304fb5650fc3db1294961b1208a75f0b72e0af34edc3e88dbe3b31d
 AUX pgplot-makemake.patch 4455 RMD160 5535ad4a42795d3395a79bbea5fd5dbe6357cd5f SHA1 e16937eebade8ae14d8242c9c37715f1dc260163 SHA256 c1a02f579910b793dcd6c9da606c0091ba6ff2f4f36a5a1661c9793371501bb4
 AUX pgplot-pgdisp.patch 332 RMD160 1bd3c2ed7770bb60be19c50c4610c35d67bf92e9 SHA1 891475823d011156aa919fc2b844d1786ae6d85f SHA256 3aac6127d35f4039023a13182553b24e1902d6e1b46530fbd68e034357d0b078
 DIST pgplot522.tar.gz 1197397 RMD160 4c21cad6613772f4104c65ac3d8d9a42e3c4afe1 SHA1 1f1c9aa17eeec9a2fb23fd15a0e4a91dcc49ddc1 SHA256 a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4
-EBUILD pgplot-5.2.2-r3.ebuild 4574 RMD160 e350fbf5e854c5e44efda7a3a742c3f632ad9578 SHA1 1d304498856bc03a35ffe789f10f12ffb2edeb6d SHA256 4612507a3f907b19d6fd253844f97cdf50e161603004796ae984a60781e3afe8
-MISC ChangeLog 3496 RMD160 ece28ae3a0f505a87e5392376b0df4b638eb13cd SHA1 0f08270ddb1528b2a66b0780a6d8b046712e53f8 SHA256 98bd8df62a0e8325b74407565dd96ec8e2b982a7d013fe1aace012321503a1c0
+EBUILD pgplot-5.2.2-r3.ebuild 4620 RMD160 c9874eea5e003138571322559c031eef359f7498 SHA1 f85d9991d5ae644c4626d3f1732ed76793fa686f SHA256 3243990610ad4b01251d7e7557480ab3c63d6d1f7885f05743c18ba42f67aeb5
+EBUILD pgplot-5.2.2-r4.ebuild 4620 RMD160 61899237a62b5e54e7f2f2adda82aa30003b6a71 SHA1 00f763be97d3bff3dd403d70461752aa9d23db2b SHA256 aba89eb5830a8190cec63d245e979ca408879f95708f2a481b5e8ef39acd28bf
+MISC ChangeLog 3697 RMD160 f88d9e14a7db9d315ac054cb2d41e6ac30618bcc SHA1 2010c54f5ad828c41581670f1b16c77ee8bcdedb SHA256 cff0dde4364bc7f73dcb22b2c4f9947b58deebe8c6444ede0993dc9855f7a286
 MISC metadata.xml 517 RMD160 27e91597c28b40b94a27548baeb7d1c6768eff77 SHA1 cabae2f60e330d39b41be431df8cf8b4ff84c642 SHA256 c0a4ba04ced31cde679aa0a17c19d313bbe9a5d4cd0771ba9b4af968c92c79f1
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.14 (GNU/Linux)
 
-iEUEARECAAYFAkudyY8ACgkQ1ycZbhPLE2CjUQCYphtBrjtjlrhTh2xNmjetTSwG
-QgCglCAr7pAqcLNj/jUs8JhI7FkLcZI=
-=vb+j
+iEYEARECAAYFAkv3fsUACgkQgAnW8HDreRYwZwCgltIcJMOauh1ZifJax22nW5AP
+SfEAoJzHj1lAKh3Pi5CGUjEALBuzHkw4
+=P/34
 -----END PGP SIGNATURE-----
diff --git a/sci-libs/pgplot/files/pgplot-ldflags.patch b/sci-libs/pgplot/files/pgplot-ldflags.patch
new file mode 100644 (file)
index 0000000..30e288f
--- /dev/null
@@ -0,0 +1,20 @@
+diff --git a/makemake b/makemake
+index 2055125..a5968c7 100755
+--- a/makemake
++++ b/makemake
+@@ -935,13 +935,13 @@ cat >> makefile << \EOD
+ # Target "pgxwin_server" is the server program for the XW driver
+ #-----------------------------------------------------------------------
+ pgxwin_server: $(DRVDIR)/pgxwin_server.c
+-      $(CCOMPL) $(CFLAGC) $(XINCL) -o pgxwin_server $(DRVDIR)/pgxwin_server.c $(LIBS)
++      $(CCOMPL) $(CFLAGC) $(LDFLAGS) $(XINCL) -o pgxwin_server $(DRVDIR)/pgxwin_server.c $(LIBS)
+ 
+ #-----------------------------------------------------------------------
+ # Target "pgdisp" is the pgdisp server program for /XDISP driver
+ #-----------------------------------------------------------------------
+ pgdisp: $(PGDISP_ROUTINES)
+-      $(CCOMPL) $(CFLAGC) -o pgdisp $(PGDISP_ROUTINES) $(LIBS)
++      $(CCOMPL) $(LDFLAGS) $(CFLAGC) -o pgdisp $(PGDISP_ROUTINES) $(LIBS)
+ 
+ #-----------------------------------------------------------------------
+ # Target "libxmpgplot.a" contains the Motif widget driver.
index 5a1fcd1b74a680bf28244a72238f4924902e6d03..1c6d4704a108b45e945cb239d19f6c7d42671db3 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/pgplot/pgplot-5.2.2-r3.ebuild,v 1.5 2010/03/15 05:45:42 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/pgplot/pgplot-5.2.2-r3.ebuild,v 1.6 2010/05/22 06:50:38 jlec Exp $
 
 EAPI=2
 inherit eutils toolchain-funcs
@@ -28,6 +28,7 @@ src_prepare() {
        epatch "${FILESDIR}"/${PN}-makemake.patch
        epatch "${FILESDIR}"/${PN}-compile-setup.patch
        epatch "${FILESDIR}"/${PN}-headers.patch
+       epatch "${FILESDIR}"/${PN}-ldflags.patch
 
        # gfortran < 4.3 does not compile gif, pp and wd drivers
        if [[ "$(tc-getFC)" == gfortran ]] &&
@@ -80,7 +81,7 @@ src_compile() {
        ./makemake . linux
        einfo "Doing static libs and execs"
        emake all cpg || die "emake static failed"
-       emake clean
+       emake -j1 clean
        einfo "Doing shared libs"
        emake \
                CFLAGS="${CFLAGS} -fPIC" \
@@ -97,7 +98,7 @@ src_compile() {
        fi
 
        # this just cleans out not needed files
-       emake clean
+       emake -j1 clean
 }
 
 src_test() {
diff --git a/sci-libs/pgplot/pgplot-5.2.2-r4.ebuild b/sci-libs/pgplot/pgplot-5.2.2-r4.ebuild
new file mode 100644 (file)
index 0000000..34707a7
--- /dev/null
@@ -0,0 +1,167 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/pgplot/pgplot-5.2.2-r4.ebuild,v 1.1 2010/05/22 06:50:38 jlec Exp $
+
+EAPI=2
+inherit eutils toolchain-funcs
+
+MY_P="${PN}${PV//.}"
+DESCRIPTION="FORTRAN/C device-independent scientific graphic library"
+HOMEPAGE="http://www.astro.caltech.edu/~tjp/pgplot/"
+SRC_URI="ftp://ftp.astro.caltech.edu/pub/pgplot/${MY_P}.tar.gz"
+LICENSE="free-noncomm"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~x86"
+IUSE="doc motif tk"
+RDEPEND="x11-libs/libX11
+       x11-libs/libXt
+       media-libs/libpng
+       motif? ( x11-libs/openmotif )
+       tk? ( dev-lang/tk )"
+DEPEND="${RDEPEND}
+       doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-drivers.patch
+       epatch "${FILESDIR}"/${PN}-makemake.patch
+       epatch "${FILESDIR}"/${PN}-compile-setup.patch
+       epatch "${FILESDIR}"/${PN}-headers.patch
+       epatch "${FILESDIR}"/${PN}-ldflags.patch
+
+       # gfortran < 4.3 does not compile gif, pp and wd drivers
+       if [[ "$(tc-getFC)" == gfortran ]] &&
+               [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] ; then
+               ewarn
+               ewarn "Warning!"
+               ewarn "gfortran < 4.3 selected: does not compile all drivers"
+               ewarn "disabling gif, wd, and ppd drivers"
+               ewarn "if you want more drivers, use gfortran >= 4.3, g77 or ifort"
+               ewarn
+               epause 4
+               sed -i \
+                       -e 's/GIDRIV/! GIDRIV/g' \
+                       -e 's/PPDRIV/! GIDRIV/g' \
+                       -e 's/WDDRIV/! GIDRIV/g' \
+                       drivers.list || die "sed drivers failed"
+       fi
+
+       # fix pointers for 64 bits
+       if use amd64 || use ia64; then
+               sed -i \
+                       -e 's/INTEGER PIXMAP/INTEGER*8 PIXMAP/g' \
+                       drivers/{gi,pp,wd}driv.f || die "sed 64bits failed"
+       fi
+
+       cp sys_linux/g77_gcc.conf local.conf
+
+       sed -i \
+               -e "s:FCOMPL=.*:FCOMPL=\"$(tc-getFC)\":g" \
+               -e "s:CCOMPL=.*:CCOMPL=\"$(tc-getCC)\":g" \
+               local.conf || die "sed flags failed"
+
+       if [[ "$(tc-getFC)" = if* ]]; then
+               sed -i \
+                       -e 's/-Wall//g' \
+                       -e 's/TK_LIBS="/TK_LIBS="-nofor-main /' \
+                       local.conf || die "sed drivers failed"
+       fi
+
+       sed -i \
+               -e "s:/usr/local/pgplot:/usr/$(get_libdir)/pgplot:g" \
+               -e "s:/usr/local/bin:/usr/bin:g" \
+               src/grgfil.f makehtml maketex || die "sed path failed"
+
+       use motif && sed -i -e '/XMDRIV/s/!//' drivers.list
+       use tk && sed -i -e '/TKDRIV/s/!//' drivers.list
+}
+
+src_compile() {
+       ./makemake . linux
+       einfo "Doing static libs and execs"
+       emake all cpg || die "emake static failed"
+       emake -j1 clean
+       einfo "Doing shared libs"
+       emake \
+               CFLAGS="${CFLAGS} -fPIC" \
+               FFLAGS="${FFLAGS} -fPIC" \
+               shared cpg-shared \
+               || die "emake shared failed"
+
+       if use doc; then
+               export VARTEXFONTS="${T}/fonts"
+               emake pgplot.html || die "make pgplot.html failed"
+               emake pgplot-routines.tex  || die "make pgplot-routines failed"
+               pdflatex pgplot-routines.tex
+               pdflatex pgplot-routines.tex
+       fi
+
+       # this just cleans out not needed files
+       emake -j1 clean
+}
+
+src_test() {
+       einfo "Testing various demo programs"
+       # i can go to 16
+       for i in 1 2 3; do
+               emake pgdemo${i}
+               # j can also be LATEX CPS...
+               for j in NULL PNG PS CPS LATEX; do
+                       local testexe=./test_${j}_${i}
+                       echo "LD_LIBRARY_PATH=. ./pgdemo${i} <<EOF" > ${testexe}
+                       echo "/${j}" >> ${testexe}
+                       echo "EOF" >> ${testexe}
+                       sh ${testexe} || die "test ${i} failed"
+               done
+       done
+}
+
+src_install() {
+       insinto /usr/$(get_libdir)/pgplot
+       doins grfont.dat grexec.f *.inc rgb.txt || die
+
+       # FORTRAN libs
+       dolib.a libpgplot.a || die "dolib.a failed"
+       dolib.so libpgplot.so* || die "dolib.so failed"
+       dobin pgxwin_server pgdisp || die "dobin failed"
+
+       # C binding
+       insinto /usr/include
+       doins cpgplot.h || die "doins C binding failed"
+       dolib.a libcpgplot.a || die "dolib.a failed"
+       dolib.so libcpgplot.so* || die "dolib C failed"
+
+       if use motif; then
+               doins XmPgplot.h || die "doins motif failed"
+               dolib.a libXmPgplot.a || die "dolib.a motif failed"
+       fi
+
+       if use tk; then
+               doins tkpgplot.h || die "doins tk failed"
+               dolib.a libtkpgplot.a || die "dolib.a tk failed"
+       fi
+
+       # minimal doc
+       dodoc aaaread.me pgplot.doc || die "dodoc minimal doc failed"
+       newdoc pgdispd/aaaread.me pgdispd.txt || die "install pgdispd doc failed"
+
+       if use doc; then
+               dodoc cpg/cpgplot.doc applications/curvefit/curvefit.doc
+               dohtml pgplot.html
+               insinto /usr/share/doc/${PF}
+               doins pgplot-routines.pdf pgplot-routines.tex
+               insinto /usr/share/doc/${PF}/examples
+               doins examples/* cpg/cpgdemo.c
+               insinto /usr/share/doc/${PF}/applications
+               doins -r applications/*
+               if use motif; then
+                       insinto /usr/share/doc/${PF}/pgm
+                       doins pgmf/* drivers/xmotif/pgmdemo.c
+               fi
+               if use tk; then
+                       insinto /usr/share/doc/${PF}/pgtk
+                       doins drivers/xtk/pgtkdemo.*
+               fi
+       fi
+}