summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/punc
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/punc')
-rw-r--r--sci-libs/punc/Manifest1
-rw-r--r--sci-libs/punc/files/0.2_p1-configure.patch49
-rw-r--r--sci-libs/punc/files/0.2_p1-underlinking.patch144
-rw-r--r--sci-libs/punc/files/1.4-doc.patch20
-rw-r--r--sci-libs/punc/files/1.4-header.patch26
-rw-r--r--sci-libs/punc/files/1.4-linking.patch158
-rw-r--r--sci-libs/punc/files/1.5-linking.patch174
-rw-r--r--sci-libs/punc/files/punc-0.2_p1-libdir.patch15
-rw-r--r--sci-libs/punc/metadata.xml24
-rw-r--r--sci-libs/punc/punc-1.5.ebuild91
10 files changed, 702 insertions, 0 deletions
diff --git a/sci-libs/punc/Manifest b/sci-libs/punc/Manifest
new file mode 100644
index 000000000000..26216cc78929
--- /dev/null
+++ b/sci-libs/punc/Manifest
@@ -0,0 +1 @@
+DIST punc-1.5.tar.gz 7036275 SHA256 6a63e4caf5dcd0529c09cd429cc94b4443ca4ba893b98b68962c0549c2a8246f SHA512 8b454f5de9cd01e87a30083f975ce8901c5d5a2cac7256cb535c8698221ce6d1ddb93a3663b2e903e5cae93ef76b48932ff7f13a816ba7da6bb07ea25490503b WHIRLPOOL 09af2ae6ae32014b5f946fcaa8035853aae93cd78b948bf934e817b6cb82bfa1fde6be2f6c970070ae870b494f64b4769203b773434f215dab0cafe420950ba6
diff --git a/sci-libs/punc/files/0.2_p1-configure.patch b/sci-libs/punc/files/0.2_p1-configure.patch
new file mode 100644
index 000000000000..7f4ce9788073
--- /dev/null
+++ b/sci-libs/punc/files/0.2_p1-configure.patch
@@ -0,0 +1,49 @@
+diff --git a/configure.ac b/configure.ac
+index 633803d..279fad6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -348,7 +348,7 @@ else
+ AC_CHECK_LIB(blas,dscal_,
+ [blas_use="yes";blas_lib="${blas_lib_path}-lblas"],
+ [blas_use="";blas_lib=""],
+- [${blas_lib_path}-lblas -lvf2c])
++ [${blas_lib_path}-lblas])
+ if test -z "${blas_use}"; then
+ AC_MSG_RESULT([** BLAS library missing ...will BUILD **])
+ blas="blas";
+@@ -410,7 +410,7 @@ else
+ AC_CHECK_LIB(lapack,dsysv_,
+ [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack"],
+ [lapack_use="";lapack_lib=""],
+- [${lapack_lib_path}-llapack ${blas_lib} -lvf2c])
++ [${lapack_lib_path}-llapack ${blas_lib}])
+ if test -z "${lapack_use}"; then
+ AC_MSG_RESULT([** LAPACK library missing ...will BUILD **])
+ lapack="lapack";
+@@ -472,7 +472,7 @@ else
+ AC_CHECK_LIB(superlu,Destroy_SuperMatrix_Store,
+ [superlu_use="yes";superlu_lib="${superlu_lib_path}-lsuperlu"],
+ [superlu_use="";superlu_lib=""],
+- [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib} -lvf2c])
++ [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib}])
+ if test -z "${superlu_use}"; then
+ AC_MSG_RESULT([** SUPERLU library missing ...will BUILD **])
+ superlu="superlu";
+@@ -534,7 +534,7 @@ else
+ AC_CHECK_LIB(arpack,dsgets_,
+ [arpack_use="yes";arpack_lib="${arpack_lib_path}-larpack"],
+ [arpack_use="";arpack_lib=""],
+- [${arpack_lib_path}-larpack ${blas_lib} -lvf2c])
++ [${arpack_lib_path}-larpack ${blas_lib}])
+ if test -z "${arpack_use}"; then
+ AC_MSG_RESULT([** ARPACK library missing ...will BUILD **])
+ arpack="arpack";
+@@ -658,7 +658,7 @@ else
+ AC_CHECK_LIB(pmg,buildg_,
+ [pmg_use="yes";pmg_lib="${pmg_lib_path}-lpmg"],
+ [pmg_use="";pmg_lib=""],
+- [${pmg_lib_path}-lpmg ${blas_lib} -lvf2c])
++ [${pmg_lib_path}-lpmg ${blas_lib}])
+ if test -z "${pmg_use}"; then
+ AC_MSG_RESULT([** PMG library missing ...will BUILD **])
+ pmg="pmg";
diff --git a/sci-libs/punc/files/0.2_p1-underlinking.patch b/sci-libs/punc/files/0.2_p1-underlinking.patch
new file mode 100644
index 000000000000..f83c93f1edc5
--- /dev/null
+++ b/sci-libs/punc/files/0.2_p1-underlinking.patch
@@ -0,0 +1,144 @@
+diff --git a/configure.ac b/configure.ac
+index 633803d..89a9fb4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -50,7 +50,8 @@ dnl 2. checks for programs
+ AC_LANG_C
+ AC_PROG_CC
+ AC_PROG_CPP
+-AC_DISABLE_SHARED
++AC_PROG_F77
++AC_F77_LIBRARY_LDFLAGS
+ AM_PROG_LIBTOOL
+
+ dnl 3. checks for libraries
+@@ -348,7 +349,7 @@ else
+ AC_CHECK_LIB(blas,dscal_,
+ [blas_use="yes";blas_lib="${blas_lib_path}-lblas"],
+ [blas_use="";blas_lib=""],
+- [${blas_lib_path}-lblas -lvf2c])
++ [${blas_lib_path}-lblas])
+ if test -z "${blas_use}"; then
+ AC_MSG_RESULT([** BLAS library missing ...will BUILD **])
+ blas="blas";
+@@ -410,7 +411,7 @@ else
+ AC_CHECK_LIB(lapack,dsysv_,
+ [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack"],
+ [lapack_use="";lapack_lib=""],
+- [${lapack_lib_path}-llapack ${blas_lib} -lvf2c])
++ [${lapack_lib_path}-llapack ${blas_lib}])
+ if test -z "${lapack_use}"; then
+ AC_MSG_RESULT([** LAPACK library missing ...will BUILD **])
+ lapack="lapack";
+@@ -472,7 +473,7 @@ else
+ AC_CHECK_LIB(superlu,Destroy_SuperMatrix_Store,
+ [superlu_use="yes";superlu_lib="${superlu_lib_path}-lsuperlu"],
+ [superlu_use="";superlu_lib=""],
+- [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib} -lvf2c])
++ [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib}])
+ if test -z "${superlu_use}"; then
+ AC_MSG_RESULT([** SUPERLU library missing ...will BUILD **])
+ superlu="superlu";
+@@ -534,7 +535,7 @@ else
+ AC_CHECK_LIB(arpack,dsgets_,
+ [arpack_use="yes";arpack_lib="${arpack_lib_path}-larpack"],
+ [arpack_use="";arpack_lib=""],
+- [${arpack_lib_path}-larpack ${blas_lib} -lvf2c])
++ [${arpack_lib_path}-larpack ${blas_lib}])
+ if test -z "${arpack_use}"; then
+ AC_MSG_RESULT([** ARPACK library missing ...will BUILD **])
+ arpack="arpack";
+@@ -658,7 +659,7 @@ else
+ AC_CHECK_LIB(pmg,buildg_,
+ [pmg_use="yes";pmg_lib="${pmg_lib_path}-lpmg"],
+ [pmg_use="";pmg_lib=""],
+- [${pmg_lib_path}-lpmg ${blas_lib} -lvf2c])
++ [${pmg_lib_path}-lpmg ${blas_lib}])
+ if test -z "${pmg_use}"; then
+ AC_MSG_RESULT([** PMG library missing ...will BUILD **])
+ pmg="pmg";
+@@ -846,10 +847,6 @@ AC_OUTPUT([
+ src/base/Makefile
+
+ src/vf2c/Makefile
+- src/blas/Makefile
+- src/lapack/Makefile
+- src/superlu/Makefile
+- src/arpack/Makefile
+ src/cgcode/Makefile
+ src/pmg/Makefile
+
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index e338300..903dd2f 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -92,11 +92,11 @@ libdir = ${prefix}/lib/${fetk_cpu_vendor_os}
+ lib_LTLIBRARIES = libpunc.la ${LIBVF2C} ${LIBBLAS} ${LIBLAPACK} ${LIBSUPERLU} ${LIBARPACK} ${LIBCGCODE} ${LIBPMG}
+
+ libpunc_la_SOURCES =
+-libpunc_la_LIBADD = ${BASE_LIBS}
++libpunc_la_LIBADD = ${BASE_LIBS} -lm
+ libpunc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libvf2c_la_SOURCES =
+-libvf2c_la_LIBADD = ${VF2C_LIBS}
++libvf2c_la_LIBADD = ${VF2C_LIBS} -lgfortran -lf2c -lm
+ libvf2c_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libblas_la_SOURCES =
+@@ -108,7 +108,7 @@ liblapack_la_LIBADD = ${LAPACK_LIBS}
+ liblapack_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libsuperlu_la_SOURCES =
+-libsuperlu_la_LIBADD = ${SUPERLU_LIBS}
++libsuperlu_la_LIBADD = ${SUPERLU_LIBS}
+ libsuperlu_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libarpack_la_SOURCES =
+@@ -116,10 +116,9 @@ libarpack_la_LIBADD = ${ARPACK_LIBS}
+ libarpack_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libcgcode_la_SOURCES =
+-libcgcode_la_LIBADD = ${CGCODE_LIBS}
++libcgcode_la_LIBADD = ${CGCODE_LIBS} ${VF2C_LIBS} -lblas -lgfortran -lm
+ libcgcode_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libpmg_la_SOURCES =
+-libpmg_la_LIBADD = ${PMG_LIBS}
++libpmg_la_LIBADD = ${VF2C_LIBS} ${PMG_LIBS} ${BASE_LIBS} -lgfortran -lf2c -lmaloc -lm
+ libpmg_la_LDFLAGS = -version-info ${FETK_VERSION}
+-
+diff --git a/src/pmg/Makefile.am b/src/pmg/Makefile.am
+index 6f3108d..154aeba 100644
+--- a/src/pmg/Makefile.am
++++ b/src/pmg/Makefile.am
+@@ -38,11 +38,12 @@ always_built_SUBDIRS =
+ SUBDIRS = $(always_built_SUBDIRS) .
+ THISLIB = pmg
+
+-noinst_LTLIBRARIES = libpmg.la
++lib_LTLIBRARIES = libpmg.la
+
+-SRC = buildAd.c buildBd.c buildGd.c buildPd.c cgd.c cgmgd.c cgmgdrvd.c gsd.c matvecd.c mblasd.c mgcsd.c mgdrvd.c mgfasd.c mgsubd.c mikpckd.c mlinpckd.c ncgd.c ncgdrvd.c newdrvd.c newtond.c ngsd.c ngsdrvd.c ninterpd.c nrchd.c nrchdrvd.c nsmoothd.c nsord.c nsordrvd.c nwjd.c nwjdrvd.c powerd.c rchd.c smoothd.c sord.c wjd.c
++SRC = buildAd.c buildBd.c buildGd.c buildPd.c cgd.c cgmgd.c cgmgdrvd.c gsd.c matvecd.c mblasd.c mgcsd.c mgdrvd.c mgfasd.c mgsubd.c mikpckd.c mlinpckd.c ncgd.c ncgdrvd.c newdrvd.c newtond.c ngsd.c ngsdrvd.c ninterpd.c nrchd.c nrchdrvd.c nsmoothd.c nsord.c nsordrvd.c nwjd.c nwjdrvd.c powerd.c rchd.c smoothd.c sord.c wjd.c secd.c pded.f
+
+ libpmg_la_SOURCES = ${SRC}
++libpmg_la_LIBADD = -lf2c ../vf2c/libvf2c.la
+ INCLUDES = @maloc_inc@
+ AM_CFLAGS = @profile@ @pedantic_ansi@
+
+diff --git a/src/vf2c/main.c b/src/vf2c/main.c
+index 4539749..6577570 100644
+--- a/src/vf2c/main.c
++++ b/src/vf2c/main.c
+@@ -134,7 +134,9 @@ f_init();
+ #ifndef NO_ONEXIT
+ ONEXIT(f_exit);
+ #endif
+-MAIN__();
++int MAIN__( )
++ { return(0);
++}
+ #ifdef NO_ONEXIT
+ f_exit();
+ #endif
diff --git a/sci-libs/punc/files/1.4-doc.patch b/sci-libs/punc/files/1.4-doc.patch
new file mode 100644
index 000000000000..ad17da322f17
--- /dev/null
+++ b/sci-libs/punc/files/1.4-doc.patch
@@ -0,0 +1,20 @@
+diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
+index ca42fe0..264ba82 100644
+--- a/doc/doxygen/Makefile.am
++++ b/doc/doxygen/Makefile.am
+@@ -29,13 +29,11 @@
+ ## Author: Michael Holst
+ ## ###########################################################################
+
+-docdir = @prefix@/doc/punc
+-
+ doc_DATA = punc_doc
+
+ punc_doc:
+ $(doxygen_path) $(top_srcdir)/doc/doxygen/punc.dox
+
+ install-docDATA:
+- mkdir -p $(docdir)
+- cp -r ../api $(docdir)/
++ mkdir -p $(DESTDIR)/@docdir@
++ cp -r ../api $(DESTDIR)/@docdir@/
diff --git a/sci-libs/punc/files/1.4-header.patch b/sci-libs/punc/files/1.4-header.patch
new file mode 100644
index 000000000000..e0b2d31c924d
--- /dev/null
+++ b/sci-libs/punc/files/1.4-header.patch
@@ -0,0 +1,26 @@
+diff --git a/src/vf2c/punc/vsuperlu.h b/src/vf2c/punc/vsuperlu.h
+index d0e7fb3..cb7977a 100644
+--- a/src/vf2c/punc/vsuperlu.h
++++ b/src/vf2c/punc/vsuperlu.h
+@@ -34,7 +34,7 @@
+
+ #include <punc/punc_base.h>
+
+-#include <punc/slu_ddefs.h>
++#include <superlu/slu_ddefs.h>
+
+ #endif /* _VSUPERLU_H_ */
+
+diff --git a/src/vf2c/punc/vumfpack.h b/src/vf2c/punc/vumfpack.h
+index 06896f3..e90aca6 100644
+--- a/src/vf2c/punc/vumfpack.h
++++ b/src/vf2c/punc/vumfpack.h
+@@ -34,7 +34,7 @@
+
+ #include <punc/punc_base.h>
+
+-#include <punc/umfpack.h>
++#include <umfpack.h>
+
+ #endif /* _VUMFPACK_H_ */
+
diff --git a/sci-libs/punc/files/1.4-linking.patch b/sci-libs/punc/files/1.4-linking.patch
new file mode 100644
index 000000000000..bdd19e7c0236
--- /dev/null
+++ b/sci-libs/punc/files/1.4-linking.patch
@@ -0,0 +1,158 @@
+diff --git a/configure.ac b/configure.ac
+index fcff075..f1262da 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -48,7 +48,8 @@ dnl 2. checks for programs
+ AC_LANG_C
+ AC_PROG_CC
+ AC_PROG_CPP
+-AC_DISABLE_SHARED
++AC_PROG_F77
++AC_F77_LIBRARY_LDFLAGS
+ AM_PROG_LIBTOOL
+
+ dnl 3. checks for libraries
+@@ -358,7 +359,7 @@ else
+ AC_CHECK_LIB(blas,dscal_,
+ [blas_use="yes";blas_lib="${blas_lib_path}-lblas"],
+ [blas_use="";blas_lib=""],
+- [${blas_lib_path}-lblas -lvf2c])
++ [${blas_lib_path}-lblas])
+ if test -z "${blas_use}"; then
+ AC_MSG_RESULT([** BLAS library missing ...will BUILD **])
+ blas="blas";
+@@ -413,7 +414,7 @@ else
+ AC_CHECK_LIB(lapack,dsysv_,
+ [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack"],
+ [lapack_use="";lapack_lib=""],
+- [${lapack_lib_path}-llapack ${blas_lib} -lvf2c])
++ [${lapack_lib_path}-llapack ${blas_lib}])
+ if test -z "${lapack_use}"; then
+ AC_MSG_RESULT([** LAPACK library missing ...will BUILD **])
+ lapack="lapack";
+@@ -465,10 +466,10 @@ else
+ LDFLAGS_SAVE=${LDFLAGS};
+ LDFLAGS=${amd_lib_path};
+ amd_use="";
+- AC_CHECK_LIB(amd,AMD_order,
++ AC_CHECK_LIB(amd,amd_order,
+ [amd_use="yes";amd_lib="${amd_lib_path}-lamd"],
+ [amd_use="";amd_lib=""],
+- [${amd_lib_path}-lamd ${blas_lib} -lvf2c])
++ [${amd_lib_path}-lamd ${blas_lib}])
+ if test -z "${amd_use}"; then
+ AC_MSG_RESULT([** AMD library missing ...will BUILD **])
+ amd="amd";
+@@ -520,10 +521,10 @@ else
+ LDFLAGS_SAVE=${LDFLAGS};
+ LDFLAGS=${umfpack_lib_path};
+ umfpack_use="";
+- AC_CHECK_LIB(umfpack,UMFPACK_numeric,
++ AC_CHECK_LIB(umfpack,umfpack_di_numeric,
+ [umfpack_use="yes";umfpack_lib="${umfpack_lib_path}-lumfpack"],
+ [umfpack_use="";umfpack_lib=""],
+- [${umfpack_lib_path}-lumfpack ${blas_lib} -lvf2c])
++ [${umfpack_lib_path}-lumfpack ${blas_lib}])
+ if test -z "${umfpack_use}"; then
+ AC_MSG_RESULT([** UMFPACK library missing ...will BUILD **])
+ umfpack="umfpack";
+@@ -578,7 +579,7 @@ else
+ AC_CHECK_LIB(superlu,Destroy_SuperMatrix_Store,
+ [superlu_use="yes";superlu_lib="${superlu_lib_path}-lsuperlu"],
+ [superlu_use="";superlu_lib=""],
+- [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib} -lvf2c])
++ [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib}])
+ if test -z "${superlu_use}"; then
+ AC_MSG_RESULT([** SUPERLU library missing ...will BUILD **])
+ superlu="superlu";
+@@ -633,7 +634,7 @@ else
+ AC_CHECK_LIB(arpack,dsgets_,
+ [arpack_use="yes";arpack_lib="${arpack_lib_path}-larpack"],
+ [arpack_use="";arpack_lib=""],
+- [${arpack_lib_path}-larpack ${blas_lib} -lvf2c])
++ [${arpack_lib_path}-larpack ${blas_lib}])
+ if test -z "${arpack_use}"; then
+ AC_MSG_RESULT([** ARPACK library missing ...will BUILD **])
+ arpack="arpack";
+@@ -688,7 +689,7 @@ else
+ AC_CHECK_LIB(cgcode,scgdrv_,
+ [cgcode_use="yes";cgcode_lib="${cgcode_lib_path}-lcgcode"],
+ [cgcode_use="";cgcode_lib=""],
+- [${cgcode_lib_path}-lcgcode ${blas_lib} -lvf2c])
++ [${cgcode_lib_path}-lcgcode ${blas_lib}])
+ if test -z "${cgcode_use}"; then
+ AC_MSG_RESULT([** CGCODE library missing ...will BUILD **])
+ cgcode="cgcode";
+@@ -743,7 +744,7 @@ else
+ AC_CHECK_LIB(pmg,buildg_,
+ [pmg_use="yes";pmg_lib="${pmg_lib_path}-lpmg"],
+ [pmg_use="";pmg_lib=""],
+- [${pmg_lib_path}-lpmg ${blas_lib} -lvf2c])
++ [${pmg_lib_path}-lpmg ${blas_lib}])
+ if test -z "${pmg_use}"; then
+ AC_MSG_RESULT([** PMG library missing ...will BUILD **])
+ pmg="pmg";
+@@ -982,13 +983,6 @@ AC_OUTPUT([
+ src/base/Makefile
+
+ src/vf2c/Makefile
+- src/blas/Makefile
+- src/lapack/Makefile
+- src/amd/Makefile
+- src/umfpack/Makefile
+- src/superlu/Makefile
+- src/arpack/Makefile
+- src/cgcode/Makefile
+ src/pmg/Makefile
+
+ src/aaa_inc/Makefile
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index 2e17d41..3cbb9b5 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -102,15 +102,14 @@ else
+ LIBPMG =
+ endif
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libpunc.la ${LIBVF2C} ${LIBBLAS} ${LIBLAPACK} ${LIBAMD} ${LIBUMFPACK} ${LIBSUPERLU} ${LIBARPACK} ${LIBCGCODE} ${LIBPMG}
+
+ libpunc_la_SOURCES =
+-libpunc_la_LIBADD = ${BASE_LIBS}
++libpunc_la_LIBADD = ${BASE_LIBS} -lm
+ libpunc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libvf2c_la_SOURCES =
+-libvf2c_la_LIBADD = ${VF2C_LIBS}
++libvf2c_la_LIBADD = ${VF2C_LIBS} -lgfortran -lf2c -lm
+ libvf2c_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libblas_la_SOURCES =
+@@ -142,6 +141,6 @@ libcgcode_la_LIBADD = ${CGCODE_LIBS}
+ libcgcode_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libpmg_la_SOURCES =
+-libpmg_la_LIBADD = ${PMG_LIBS}
++libpmg_la_LIBADD = ${PMG_LIBS} ${BASE_LIBS} -lgfortran -lf2c -lmaloc -lm
+ libpmg_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+diff --git a/src/pmg/Makefile.am b/src/pmg/Makefile.am
+index cae9324..8eb0ba0 100644
+--- a/src/pmg/Makefile.am
++++ b/src/pmg/Makefile.am
+@@ -38,13 +38,14 @@ always_built_SUBDIRS =
+ SUBDIRS = $(always_built_SUBDIRS) .
+ THISLIB = pmg
+
+-noinst_LTLIBRARIES = libpmg.la
++lib_LTLIBRARIES = libpmg.la
+
+ SRC = buildAd.c buildBd.c buildGd.c buildPd.c cgd.c cgmgd.c cgmgdrvd.c gsd.c matvecd.c mblasd.c mgcsd.c mgdrvd.c mgfasd.c mgsubd.c mikpckd.c mlinpckd.c ncgd.c ncgdrvd.c newdrvd.c newtond.c ngsd.c ngsdrvd.c ninterpd.c nrchd.c nrchdrvd.c nsmoothd.c nsord.c nsordrvd.c nwjd.c nwjdrvd.c powerd.c rchd.c smoothd.c sord.c wjd.c
+
+ libpmg_la_SOURCES = ${SRC}
+ INCLUDES = @maloc_inc@
+ AM_CFLAGS = @profile@ @pedantic_ansi@
++libpmg_la_LIBADD = -lf2c
+
+ all-local:
+ # -cp -p ${top_srcdir}/src/${THISLIB}/punc/*.h ../aaa_inc/punc/.
diff --git a/sci-libs/punc/files/1.5-linking.patch b/sci-libs/punc/files/1.5-linking.patch
new file mode 100644
index 000000000000..9e5d5a8ced69
--- /dev/null
+++ b/sci-libs/punc/files/1.5-linking.patch
@@ -0,0 +1,174 @@
+ configure.ac | 35 +++++++++++++++++------------------
+ src/aaa_lib/Makefile.am | 7 +++----
+ src/pmg/Makefile.am | 1 +
+ 3 files changed, 21 insertions(+), 22 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1295a9f..f8fd97c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -49,6 +49,8 @@ AC_LANG_C
+ AC_PROG_CC
+ AC_PROG_CPP
+ AC_DISABLE_STATIC
++AC_PROG_F77
++AC_F77_LIBRARY_LDFLAGS
+ AM_PROG_LIBTOOL
+
+ dnl 3. checks for libraries
+@@ -341,6 +343,10 @@ if test -n "${blas}"; then
+ else
+ AC_MSG_RESULT([no ...poking around])
+
++ PKG_CHECK_MODULES([BLAS],[blas],[
++ blas_lib=${BLAS_LIBS}
++ blas=""
++ ],[
+ dnl # BLAS library location ENV specification
+ AC_MSG_CHECKING([whether your environment defines FETK_BLAS_LIBRARY])
+ if test -n "${FETK_BLAS_LIBRARY}"; then
+@@ -358,7 +364,7 @@ else
+ AC_CHECK_LIB(blas,dscal_,
+ [blas_use="yes";blas_lib="${blas_lib_path}-lblas"],
+ [blas_use="";blas_lib=""],
+- [${blas_lib_path}-lblas -lvf2c])
++ [${blas_lib_path} $(BLAS_LIBS)])
+ if test -z "${blas_use}"; then
+ AC_MSG_RESULT([** BLAS library missing ...will BUILD **])
+ blas="blas";
+@@ -368,7 +374,7 @@ else
+ fi
+
+ dnl # Return LDFLAGS to normal
+- LDFLAGS=${LDFLAGS_SAVE};
++ LDFLAGS=${LDFLAGS_SAVE};])
+ fi
+
+ dnl # Final decisions on BLAS
+@@ -414,7 +420,7 @@ dnl lapack_use="";
+ dnl AC_CHECK_LIB(lapack,dsysv_,
+ dnl [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack"],
+ dnl [lapack_use="";lapack_lib=""],
+-dnl [${lapack_lib_path}-llapack ${blas_lib} -lvf2c])
++dnl [${lapack_lib_path}-llapack ${blas_lib}])
+ dnl if test -z "${lapack_use}"; then
+ dnl AC_MSG_RESULT([** LAPACK library missing ...will BUILD **])
+ dnl lapack="lapack";
+@@ -466,10 +472,10 @@ else
+ LDFLAGS_SAVE=${LDFLAGS};
+ LDFLAGS=${amd_lib_path};
+ amd_use="";
+- AC_CHECK_LIB(amd,AMD_order,
++ AC_CHECK_LIB(amd,amd_order,
+ [amd_use="yes";amd_lib="${amd_lib_path}-lamd"],
+ [amd_use="";amd_lib=""],
+- [${amd_lib_path}-lamd ${blas_lib} -lvf2c])
++ [${amd_lib_path}-lamd ${blas_lib}])
+ if test -z "${amd_use}"; then
+ AC_MSG_RESULT([** AMD library missing ...will BUILD **])
+ amd="amd";
+@@ -521,10 +527,10 @@ else
+ LDFLAGS_SAVE=${LDFLAGS};
+ LDFLAGS=${umfpack_lib_path};
+ umfpack_use="";
+- AC_CHECK_LIB(umfpack,UMFPACK_numeric,
++ AC_CHECK_LIB(umfpack,umfpack_di_numeric,
+ [umfpack_use="yes";umfpack_lib="${umfpack_lib_path}-lumfpack"],
+ [umfpack_use="";umfpack_lib=""],
+- [${umfpack_lib_path}-lumfpack ${blas_lib} -lvf2c])
++ [${umfpack_lib_path}-lumfpack ${blas_lib}])
+ if test -z "${umfpack_use}"; then
+ AC_MSG_RESULT([** UMFPACK library missing ...will BUILD **])
+ umfpack="umfpack";
+@@ -579,7 +585,7 @@ else
+ AC_CHECK_LIB(superlu,Destroy_SuperMatrix_Store,
+ [superlu_use="yes";superlu_lib="${superlu_lib_path}-lsuperlu"],
+ [superlu_use="";superlu_lib=""],
+- [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib} -lvf2c])
++ [${superlu_lib_path}-lsuperlu ${lapack_lib} ${blas_lib}])
+ if test -z "${superlu_use}"; then
+ AC_MSG_RESULT([** SUPERLU library missing ...will BUILD **])
+ superlu="superlu";
+@@ -635,7 +641,7 @@ dnl arpack_use="";
+ dnl AC_CHECK_LIB(arpack,dsgets_,
+ dnl [arpack_use="yes";arpack_lib="${arpack_lib_path}-larpack"],
+ dnl [arpack_use="";arpack_lib=""],
+-dnl [${arpack_lib_path}-larpack ${blas_lib} -lvf2c])
++dnl [${arpack_lib_path}-larpack ${blas_lib}])
+ dnl if test -z "${arpack_use}"; then
+ dnl AC_MSG_RESULT([** ARPACK library missing ...will BUILD **])
+ dnl arpack="arpack";
+@@ -691,7 +697,7 @@ dnl cgcode_use="";
+ dnl AC_CHECK_LIB(cgcode,scgdrv_,
+ dnl [cgcode_use="yes";cgcode_lib="${cgcode_lib_path}-lcgcode"],
+ dnl [cgcode_use="";cgcode_lib=""],
+-dnl [${cgcode_lib_path}-lcgcode ${blas_lib} -lvf2c])
++dnl [${cgcode_lib_path}-lcgcode ${blas_lib}])
+ dnl if test -z "${cgcode_use}"; then
+ dnl AC_MSG_RESULT([** CGCODE library missing ...will BUILD **])
+ dnl cgcode="cgcode";
+@@ -747,7 +753,7 @@ dnl pmg_use="";
+ dnl AC_CHECK_LIB(pmg,buildg_,
+ dnl [pmg_use="yes";pmg_lib="${pmg_lib_path}-lpmg"],
+ dnl [pmg_use="";pmg_lib=""],
+-dnl [${pmg_lib_path}-lpmg ${blas_lib} -lvf2c])
++dnl [${pmg_lib_path}-lpmg ${blas_lib}])
+ dnl if test -z "${pmg_use}"; then
+ dnl AC_MSG_RESULT([** PMG library missing ...will BUILD **])
+ dnl pmg="pmg";
+@@ -986,13 +992,6 @@ AC_OUTPUT([
+ src/base/Makefile
+
+ src/vf2c/Makefile
+- src/blas/Makefile
+- src/lapack/Makefile
+- src/amd/Makefile
+- src/umfpack/Makefile
+- src/superlu/Makefile
+- src/arpack/Makefile
+- src/cgcode/Makefile
+ src/pmg/Makefile
+
+ src/aaa_inc/Makefile
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index 2e17d41..3cbb9b5 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -102,15 +102,14 @@ else
+ LIBPMG =
+ endif
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libpunc.la ${LIBVF2C} ${LIBBLAS} ${LIBLAPACK} ${LIBAMD} ${LIBUMFPACK} ${LIBSUPERLU} ${LIBARPACK} ${LIBCGCODE} ${LIBPMG}
+
+ libpunc_la_SOURCES =
+-libpunc_la_LIBADD = ${BASE_LIBS}
++libpunc_la_LIBADD = ${BASE_LIBS} -lm
+ libpunc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libvf2c_la_SOURCES =
+-libvf2c_la_LIBADD = ${VF2C_LIBS}
++libvf2c_la_LIBADD = ${VF2C_LIBS} -lgfortran -lf2c -lm
+ libvf2c_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libblas_la_SOURCES =
+@@ -142,6 +141,6 @@ libcgcode_la_LIBADD = ${CGCODE_LIBS}
+ libcgcode_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libpmg_la_SOURCES =
+-libpmg_la_LIBADD = ${PMG_LIBS}
++libpmg_la_LIBADD = ${PMG_LIBS} ${BASE_LIBS} -lgfortran -lf2c -lmaloc -lm
+ libpmg_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+diff --git a/src/pmg/Makefile.am b/src/pmg/Makefile.am
+index cae9324..b34ace9 100644
+--- a/src/pmg/Makefile.am
++++ b/src/pmg/Makefile.am
+@@ -45,6 +45,7 @@ SRC = buildAd.c buildBd.c buildGd.c buildPd.c cgd.c cgmgd.c cgmgdrvd.c gsd.c mat
+ libpmg_la_SOURCES = ${SRC}
+ INCLUDES = @maloc_inc@
+ AM_CFLAGS = @profile@ @pedantic_ansi@
++libpmg_la_LIBADD = -lf2c
+
+ all-local:
+ # -cp -p ${top_srcdir}/src/${THISLIB}/punc/*.h ../aaa_inc/punc/.
diff --git a/sci-libs/punc/files/punc-0.2_p1-libdir.patch b/sci-libs/punc/files/punc-0.2_p1-libdir.patch
new file mode 100644
index 000000000000..b8a973b3aa2d
--- /dev/null
+++ b/sci-libs/punc/files/punc-0.2_p1-libdir.patch
@@ -0,0 +1,15 @@
+Index: punc/src/aaa_lib/Makefile.am
+===================================================================
+--- punc.orig/src/aaa_lib/Makefile.am
++++ punc/src/aaa_lib/Makefile.am
+@@ -88,8 +88,8 @@ else
+ LIBPMG =
+ endif
+
+-libdir = ${prefix}/lib/${fetk_cpu_vendor_os}
+-lib_LTLIBRARIES = libpunc.la ${LIBVF2C} ${LIBBLAS} ${LIBLAPACK} ${LIBSUPERLU} ${LIBARPACK} ${LIBCGCODE} ${LIBPMG}
++mylibdir = ${libdir}/${fetk_cpu_vendor_os}
++mylib_LTLIBRARIES = libpunc.la ${LIBVF2C} ${LIBBLAS} ${LIBLAPACK} ${LIBSUPERLU} ${LIBARPACK} ${LIBCGCODE} ${LIBPMG}
+
+ libpunc_la_SOURCES =
+ libpunc_la_LIBADD = ${BASE_LIBS}
diff --git a/sci-libs/punc/metadata.xml b/sci-libs/punc/metadata.xml
new file mode 100644
index 000000000000..149f0dfc9c6f
--- /dev/null
+++ b/sci-libs/punc/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ PUNC (Portable Understructure for Numerical Computing) is a small standard
+ collection of software libraries for numerical computing. The PUNC
+ collection includes reference implementations of the standard (dense matrix)
+ linear algebra tools BLAS and LAPACK, and also includes some newer (sparse
+ matrix) linear algebra tools ARPACK, SuperLU, CgCode, and PMG. PUNC also
+ provides some additional basic infrastructure such as the standard F2C
+ header and corresponding library (libF2C), to support the use of F2C'd
+ FORTRAN codes, and some other standard tools used to build numerical
+ simulation software, such as the HDF5 library. While most of the libraries
+ included in PUNC are completely stand-alone, and are the reference
+ implementations developed by the individual library authors, PUNC also
+ provides some Object-oriented C wrappers (written by the FETK developers)
+ for use with Object-oriented C/C++ codes such as FETK . This is accomplished
+ by building PUNC on top of FETK 's MALOC library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/punc/punc-1.5.ebuild b/sci-libs/punc/punc-1.5.ebuild
new file mode 100644
index 000000000000..eba6306bf600
--- /dev/null
+++ b/sci-libs/punc/punc-1.5.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils fortran-2 multilib toolchain-funcs
+
+DESCRIPTION="Portable Understructure for Numerical Computing"
+HOMEPAGE="http://fetk.org/codes/punc/index.html"
+SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc mpi static-libs"
+
+RDEPEND="
+ dev-libs/maloc[mpi=]
+ dev-libs/libf2c
+ sci-libs/amd
+ sci-libs/cgcode
+ sci-libs/arpack[mpi=]
+ sci-libs/superlu
+ sci-libs/umfpack
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ app-doc/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-linking.patch
+ "${FILESDIR}"/1.4-doc.patch
+ )
+
+src_prepare() {
+ sed 's:punc/slu_ddefs.h:superlu/slu_ddefs.h:g' src/superlu/punc/vsuperlu.h > vsuperlu.h || die
+ sed 's:punc/umfpack.h:umfpack.h:g' src/umfpack/punc/vumfpack.h > vumfpack.h || die
+ rm -rf src/{amd,blas,lapack,arpack,superlu,umfpack}
+
+ cp tools/tests/pmg/*.f src/pmg/ -f || die
+ cp tools/tests/pmg/*.c src/pmg/ -f || die
+ cp src/pmg/vpmg.h src/vf2c/punc/vpmg.h || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local fetk_include
+ local fetk_lib
+ local myeconfargs
+
+ use doc || myeconfargs+=( --with-doxygen= --with-dot= )
+
+ fetk_include="${EPREFIX}"/usr/include
+ fetk_lib="${EPREFIX}"/usr/$(get_libdir)
+ export FETK_INCLUDE="${fetk_include}"
+ export FETK_LIBRARY="${fetk_lib}"
+ export FETK_LAPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs lapack)"
+ export FETK_BLAS_LIBRARY="${fetk_lib}"
+ export FETK_SUPERLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)"
+ export FETK_ARPACK_LIBRARY="${fetk_lib}"
+ export FETK_UMFPACK_LIBRARY="${fetk_lib}"
+ export FETK_CGCODE_LIBRARY="${fetk_lib}"
+ export FETK_AMD_LIBRARY="${fetk_lib}"
+
+ myeconfargs+=(
+ $(use_enable debug vdebug)
+ --enable-vf2cforce
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --disable-triplet
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ insinto /usr/include/punc
+ doins v*.h
+
+ dohtml doc/index.html
+}