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
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')
-rw-r--r--sci-libs/Fiona/Fiona-1.5.1.ebuild35
-rw-r--r--sci-libs/Fiona/Fiona-9999.ebuild36
-rw-r--r--sci-libs/Fiona/Manifest1
-rw-r--r--sci-libs/Fiona/files/scriptname.patch11
-rw-r--r--sci-libs/Fiona/metadata.xml10
-rw-r--r--sci-libs/Rtree/Manifest1
-rw-r--r--sci-libs/Rtree/Rtree-0.8.2.ebuild21
-rw-r--r--sci-libs/Rtree/metadata.xml10
-rw-r--r--sci-libs/Shapely/Manifest2
-rw-r--r--sci-libs/Shapely/Shapely-1.3.0.ebuild29
-rw-r--r--sci-libs/Shapely/Shapely-1.3.2.ebuild29
-rw-r--r--sci-libs/Shapely/Shapely-9999.ebuild28
-rw-r--r--sci-libs/Shapely/files/setup_unicode.patch23
-rw-r--r--sci-libs/Shapely/metadata.xml10
-rw-r--r--sci-libs/ViSP/Manifest1
-rw-r--r--sci-libs/ViSP/ViSP-2.10.0.ebuild88
-rw-r--r--sci-libs/ViSP/files/opencv.patch13
-rw-r--r--sci-libs/ViSP/files/opencv3.patch67
-rw-r--r--sci-libs/ViSP/metadata.xml25
-rw-r--r--sci-libs/acml/Manifest6
-rw-r--r--sci-libs/acml/acml-4.1.0-r2.ebuild200
-rw-r--r--sci-libs/acml/files/blas.pc.in11
-rw-r--r--sci-libs/acml/files/lapack.pc.in11
-rw-r--r--sci-libs/acml/metadata.xml23
-rw-r--r--sci-libs/adolc/Manifest3
-rw-r--r--sci-libs/adolc/adolc-2.4.1.ebuild39
-rw-r--r--sci-libs/adolc/adolc-2.5.0.ebuild45
-rw-r--r--sci-libs/adolc/adolc-2.5.2.ebuild47
-rw-r--r--sci-libs/adolc/files/adolc-2.4.0-no-colpack.patch24
-rw-r--r--sci-libs/adolc/files/adolc-2.5.0-no-colpack.patch57
-rw-r--r--sci-libs/adolc/files/adolc-2.5.0-pkgconfig-no-ldflags.patch9
-rw-r--r--sci-libs/adolc/files/adolc-2.5.2-dash.patch148
-rw-r--r--sci-libs/adolc/metadata.xml14
-rw-r--r--sci-libs/alglib/Manifest2
-rw-r--r--sci-libs/alglib/alglib-3.7.0.ebuild27
-rw-r--r--sci-libs/alglib/alglib-3.8.2.ebuild28
-rw-r--r--sci-libs/alglib/files/CMakeLists.txt32
-rw-r--r--sci-libs/alglib/files/CMakeLists.txt-3.8.236
-rw-r--r--sci-libs/alglib/metadata.xml38
-rw-r--r--sci-libs/amd/Manifest1
-rw-r--r--sci-libs/amd/amd-2.3.1.ebuild29
-rw-r--r--sci-libs/amd/metadata.xml10
-rw-r--r--sci-libs/armadillo/Manifest5
-rw-r--r--sci-libs/armadillo/armadillo-3.4.4.ebuild58
-rw-r--r--sci-libs/armadillo/armadillo-3.6.2.ebuild57
-rw-r--r--sci-libs/armadillo/armadillo-4.650.4.ebuild110
-rw-r--r--sci-libs/armadillo/armadillo-5.100.2.ebuild119
-rw-r--r--sci-libs/armadillo/armadillo-5.200.2.ebuild119
-rw-r--r--sci-libs/armadillo/metadata.xml39
-rw-r--r--sci-libs/arpack/Manifest4
-rw-r--r--sci-libs/arpack/arpack-3.1.3-r1.ebuild63
-rw-r--r--sci-libs/arpack/arpack-3.1.5.ebuild64
-rw-r--r--sci-libs/arpack/files/arpack-3.1.3-pkgconfig.patch14
-rw-r--r--sci-libs/arpack/metadata.xml15
-rw-r--r--sci-libs/arprec/Manifest2
-rw-r--r--sci-libs/arprec/arprec-2.2.16.ebuild55
-rw-r--r--sci-libs/arprec/arprec-2.2.17.ebuild56
-rw-r--r--sci-libs/arprec/metadata.xml15
-rw-r--r--sci-libs/avogadrolibs/Manifest1
-rw-r--r--sci-libs/avogadrolibs/avogadrolibs-0.7.2-r1.ebuild51
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-0.7.2-6464.patch16
-rw-r--r--sci-libs/avogadrolibs/metadata.xml17
-rw-r--r--sci-libs/balbes-db/Manifest1
-rw-r--r--sci-libs/balbes-db/balbes-db-6.1.3-r1.ebuild47
-rw-r--r--sci-libs/balbes-db/metadata.xml5
-rw-r--r--sci-libs/beagle/Manifest1
-rw-r--r--sci-libs/beagle/beagle-3.0.3.ebuild55
-rw-r--r--sci-libs/beagle/files/beagle-3.0.3-gcc43.patch89
-rw-r--r--sci-libs/beagle/files/beagle-3.0.3-gcc47.patch10
-rw-r--r--sci-libs/beagle/metadata.xml11
-rw-r--r--sci-libs/blas-reference/Manifest1
-rw-r--r--sci-libs/blas-reference/blas-reference-20070226-r2.ebuild70
-rw-r--r--sci-libs/blas-reference/blas-reference-20070226-r3.ebuild70
-rw-r--r--sci-libs/blas-reference/blas-reference-20070226.ebuild58
-rw-r--r--sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch243
-rw-r--r--sci-libs/blas-reference/files/blas-reference-20070226-pkg-config.patch11
-rw-r--r--sci-libs/blas-reference/files/eselect.blas.reference4
-rw-r--r--sci-libs/blas-reference/files/eselect.blas.reference-ng1
-rw-r--r--sci-libs/blas-reference/metadata.xml14
-rw-r--r--sci-libs/bliss/Manifest1
-rw-r--r--sci-libs/bliss/bliss-0.72.ebuild44
-rw-r--r--sci-libs/bliss/files/bliss-0.72-autotools.patch159
-rw-r--r--sci-libs/bliss/files/bliss-0.72-fedora.patch648
-rw-r--r--sci-libs/bliss/metadata.xml13
-rw-r--r--sci-libs/bmrblib/Manifest1
-rw-r--r--sci-libs/bmrblib/bmrblib-1.0.3.ebuild18
-rw-r--r--sci-libs/bmrblib/metadata.xml16
-rw-r--r--sci-libs/btf/Manifest2
-rw-r--r--sci-libs/btf/btf-1.1.3.ebuild27
-rw-r--r--sci-libs/btf/btf-1.2.0.ebuild21
-rw-r--r--sci-libs/btf/files/btf-1.0.1-autotools.patch34
-rw-r--r--sci-libs/btf/metadata.xml11
-rw-r--r--sci-libs/buddy/Manifest2
-rw-r--r--sci-libs/buddy/buddy-2.2.ebuild38
-rw-r--r--sci-libs/buddy/buddy-2.4.ebuild39
-rw-r--r--sci-libs/buddy/files/buddy-2.4-gcc43.patch22
-rw-r--r--sci-libs/buddy/files/buddy-2.4-gold.patch16
-rw-r--r--sci-libs/buddy/metadata.xml14
-rw-r--r--sci-libs/camd/Manifest1
-rw-r--r--sci-libs/camd/camd-2.3.1.ebuild29
-rw-r--r--sci-libs/camd/files/camd-2.2.0-autotools.patch71
-rw-r--r--sci-libs/camd/metadata.xml10
-rw-r--r--sci-libs/cbflib/Manifest6
-rw-r--r--sci-libs/cbflib/cbflib-0.9.2.10-r1.ebuild65
-rw-r--r--sci-libs/cbflib/cbflib-0.9.2.10.ebuild64
-rw-r--r--sci-libs/cbflib/cbflib-0.9.2.2.ebuild71
-rw-r--r--sci-libs/cbflib/cbflib-0.9.2.4.ebuild68
-rw-r--r--sci-libs/cbflib/cbflib-0.9.3.3.ebuild59
-rw-r--r--sci-libs/cbflib/files/0.9.0-Makefile.patch104
-rw-r--r--sci-libs/cbflib/files/0.9.0-python.patch16
-rw-r--r--sci-libs/cbflib/files/0.9.2.10-Makefile.patch269
-rw-r--r--sci-libs/cbflib/files/0.9.2.2-Makefile.patch150
-rw-r--r--sci-libs/cbflib/files/0.9.2.3-Makefile.patch150
-rw-r--r--sci-libs/cbflib/files/cbflib-0.9.3.3-unbundle.patch181
-rw-r--r--sci-libs/cbflib/metadata.xml19
-rw-r--r--sci-libs/cblas-reference/Manifest1
-rw-r--r--sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild63
-rw-r--r--sci-libs/cblas-reference/cblas-reference-20030223-r5.ebuild69
-rw-r--r--sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch567
-rw-r--r--sci-libs/cblas-reference/files/eselect.cblas.reference5
-rw-r--r--sci-libs/cblas-reference/metadata.xml15
-rw-r--r--sci-libs/ccfits/Manifest1
-rw-r--r--sci-libs/ccfits/ccfits-2.4.ebuild38
-rw-r--r--sci-libs/ccfits/files/ccfits-2.2-makefile.patch26
-rw-r--r--sci-libs/ccfits/metadata.xml12
-rw-r--r--sci-libs/ccolamd/Manifest1
-rw-r--r--sci-libs/ccolamd/ccolamd-2.8.0.ebuild21
-rw-r--r--sci-libs/ccolamd/files/ccolamd-2.7.1-autotools.patch60
-rw-r--r--sci-libs/ccolamd/metadata.xml10
-rw-r--r--sci-libs/ccp4-libs/Manifest1
-rw-r--r--sci-libs/ccp4-libs/ccp4-libs-6.1.3-r16.ebuild359
-rw-r--r--sci-libs/ccp4-libs/files/6.0.2-ppc-double-define-gerror.patch11
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-cbf.patch16
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-ccif-shared.patch33
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-dont-build-mmdb.patch24
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-dont-make-dirs-in-configure.patch87
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-glibc2.10.patch22
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-impl-dec.patch140
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-lapack.patch597
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-link-proberly.patch230
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-no-pypath.patch87
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-noinstall.patch142
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-overflows.patch35
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng.patch367
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng2.patch395
-rw-r--r--sci-libs/ccp4-libs/files/6.1.3-unbundle-libs.patch203
-rw-r--r--sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-force.patch16
-rw-r--r--sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-format-security.patch16
-rw-r--r--sci-libs/ccp4-libs/metadata.xml9
-rw-r--r--sci-libs/ccpn-data/Manifest6
-rw-r--r--sci-libs/ccpn-data/ccpn-data-2.3.1_p140425.ebuild69
-rw-r--r--sci-libs/ccpn-data/ccpn-data-2.4.0_p140425.ebuild69
-rw-r--r--sci-libs/ccpn-data/ccpn-data-2.4.1.ebuild69
-rw-r--r--sci-libs/ccpn-data/ccpn-data-2.4.2.ebuild69
-rw-r--r--sci-libs/ccpn-data/files/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml140
-rw-r--r--sci-libs/ccpn-data/metadata.xml8
-rw-r--r--sci-libs/cctbx/Manifest1
-rw-r--r--sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild190
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-boost.patch516
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-clipper.patch77
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-flags.patch94
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-format-security.patch117
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-gcc-4.6.patch29
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch154
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-soname.patch123
-rw-r--r--sci-libs/cctbx/files/2010.03.29.2334-tst_server.py.patch15
-rw-r--r--sci-libs/cctbx/metadata.xml18
-rw-r--r--sci-libs/cdd+/Manifest1
-rw-r--r--sci-libs/cdd+/cdd+-077a.ebuild39
-rw-r--r--sci-libs/cdd+/files/cdd+-077a-gentoo.patch43
-rw-r--r--sci-libs/cdd+/files/cdd+-077a-headers.patch69
-rw-r--r--sci-libs/cdd+/metadata.xml10
-rw-r--r--sci-libs/cddlib/Manifest1
-rw-r--r--sci-libs/cddlib/cddlib-094g.ebuild44
-rw-r--r--sci-libs/cddlib/files/cdd_both_reps.c255
-rw-r--r--sci-libs/cddlib/files/cddlib-094f-add-cdd_both_reps-binary.patch41
-rw-r--r--sci-libs/cddlib/files/cddlib-094f-use-libtool.patch54
-rw-r--r--sci-libs/cddlib/files/cddlib-094g-add-cdd_both_reps-binary.patch41
-rw-r--r--sci-libs/cddlib/metadata.xml23
-rw-r--r--sci-libs/cdf/Manifest16
-rw-r--r--sci-libs/cdf/cdf-3.4.1.ebuild127
-rw-r--r--sci-libs/cdf/cdf-3.5.0.2.ebuild127
-rw-r--r--sci-libs/cdf/files/50cdf5
-rw-r--r--sci-libs/cdf/files/cdf-3.2-Makefile.patch100
-rw-r--r--sci-libs/cdf/files/cdf-3.2-soname.patch22
-rw-r--r--sci-libs/cdf/files/cdf-3.4-Makefile.patch102
-rw-r--r--sci-libs/cdf/files/cdf-3.5.0.2-Makefile.patch110
-rw-r--r--sci-libs/cdf/metadata.xml18
-rw-r--r--sci-libs/ceres-solver/Manifest2
-rw-r--r--sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild80
-rw-r--r--sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild97
-rw-r--r--sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch13
-rw-r--r--sci-libs/ceres-solver/metadata.xml31
-rw-r--r--sci-libs/cfitsio/Manifest1
-rw-r--r--sci-libs/cfitsio/cfitsio-3.360.ebuild57
-rw-r--r--sci-libs/cfitsio/metadata.xml18
-rw-r--r--sci-libs/cgcode/Manifest1
-rw-r--r--sci-libs/cgcode/cgcode-1.0-r2.ebuild38
-rw-r--r--sci-libs/cgcode/files/1.0-gentoo.patch83
-rw-r--r--sci-libs/cgcode/metadata.xml8
-rw-r--r--sci-libs/cgnslib/Manifest1
-rw-r--r--sci-libs/cgnslib/cgnslib-3.2.1.ebuild49
-rw-r--r--sci-libs/cgnslib/files/cgnslib-3.2.1-cmake.patch149
-rw-r--r--sci-libs/cgnslib/metadata.xml14
-rw-r--r--sci-libs/chemkit/Manifest1
-rw-r--r--sci-libs/chemkit/chemkit-0.1-r1.ebuild82
-rw-r--r--sci-libs/chemkit/chemkit-0.1.ebuild66
-rw-r--r--sci-libs/chemkit/files/chemkit-0.1-multilib.patch90
-rw-r--r--sci-libs/chemkit/files/chemkit-0.1-unbundle.patch191
-rw-r--r--sci-libs/chemkit/metadata.xml14
-rw-r--r--sci-libs/cholmod/Manifest1
-rw-r--r--sci-libs/cholmod/cholmod-2.1.2.ebuild64
-rw-r--r--sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch20
-rw-r--r--sci-libs/cholmod/metadata.xml13
-rw-r--r--sci-libs/cifparse-obj/Manifest1
-rw-r--r--sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild51
-rw-r--r--sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.3.patch87
-rw-r--r--sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.7.patch64
-rw-r--r--sci-libs/cifparse-obj/files/cifparse-obj-7.025-makefile.patch115
-rw-r--r--sci-libs/cifparse-obj/files/respect-flags-and-add-gcc4.patch302
-rw-r--r--sci-libs/cifparse-obj/metadata.xml5
-rw-r--r--sci-libs/clapack/Manifest1
-rw-r--r--sci-libs/clapack/clapack-3.2.1-r6.ebuild38
-rw-r--r--sci-libs/clapack/clapack-3.2.1-r7.ebuild38
-rw-r--r--sci-libs/clapack/clapack-3.2.1-r8.ebuild43
-rw-r--r--sci-libs/clapack/files/clapack-3.2.1-findblas-r6.patch50
-rw-r--r--sci-libs/clapack/files/clapack-3.2.1-findblas-r7.patch84
-rw-r--r--sci-libs/clapack/files/clapack-3.2.1-findblas.patch49
-rw-r--r--sci-libs/clapack/files/clapack-3.2.1-fix_include_file.patch25
-rw-r--r--sci-libs/clapack/files/clapack-3.2.1-hang.patch13
-rw-r--r--sci-libs/clapack/files/clapack-3.2.1-noblasf2c.patch189
-rw-r--r--sci-libs/clapack/metadata.xml14
-rw-r--r--sci-libs/clashscore-db/Manifest1
-rw-r--r--sci-libs/clashscore-db/clashscore-db-3.17.ebuild23
-rw-r--r--sci-libs/clashscore-db/metadata.xml8
-rw-r--r--sci-libs/clipper/Manifest1
-rw-r--r--sci-libs/clipper/clipper-2.1_p100511-r1.ebuild58
-rw-r--r--sci-libs/clipper/files/2.1_p100511-makefile.patch23
-rw-r--r--sci-libs/clipper/files/20091215-missing-var.patch13
-rw-r--r--sci-libs/clipper/files/clipper-2.1_p100511-outofsourcebuild.patch16
-rw-r--r--sci-libs/clipper/metadata.xml5
-rw-r--r--sci-libs/cln/Manifest1
-rw-r--r--sci-libs/cln/cln-1.3.3.ebuild57
-rw-r--r--sci-libs/cln/files/cln-1.3.2-arm.patch13
-rw-r--r--sci-libs/cln/metadata.xml13
-rw-r--r--sci-libs/cminpack/Manifest2
-rw-r--r--sci-libs/cminpack/cminpack-1.3.2.ebuild35
-rw-r--r--sci-libs/cminpack/cminpack-1.3.4.ebuild35
-rw-r--r--sci-libs/cminpack/files/cminpack-1.2.2-underlinking.patch15
-rw-r--r--sci-libs/cminpack/metadata.xml17
-rw-r--r--sci-libs/cmpfit/Manifest1
-rw-r--r--sci-libs/cmpfit/cmpfit-1.2.ebuild39
-rw-r--r--sci-libs/cmpfit/metadata.xml12
-rw-r--r--sci-libs/coinhsl/Manifest1
-rw-r--r--sci-libs/coinhsl/coinhsl-2014.01.10.ebuild33
-rw-r--r--sci-libs/coinhsl/metadata.xml12
-rw-r--r--sci-libs/coinor-alps/Manifest1
-rw-r--r--sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild67
-rw-r--r--sci-libs/coinor-alps/metadata.xml13
-rw-r--r--sci-libs/coinor-bcp/Manifest1
-rw-r--r--sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild59
-rw-r--r--sci-libs/coinor-bcp/metadata.xml13
-rw-r--r--sci-libs/coinor-bcps/Manifest1
-rw-r--r--sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild57
-rw-r--r--sci-libs/coinor-bcps/metadata.xml13
-rw-r--r--sci-libs/coinor-blis/Manifest1
-rw-r--r--sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild58
-rw-r--r--sci-libs/coinor-blis/metadata.xml12
-rw-r--r--sci-libs/coinor-bonmin/Manifest1
-rw-r--r--sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild62
-rw-r--r--sci-libs/coinor-bonmin/metadata.xml13
-rw-r--r--sci-libs/coinor-cbc/Manifest1
-rw-r--r--sci-libs/coinor-cbc/coinor-cbc-2.8.9.ebuild74
-rw-r--r--sci-libs/coinor-cbc/metadata.xml11
-rw-r--r--sci-libs/coinor-cgl/Manifest1
-rw-r--r--sci-libs/coinor-cgl/coinor-cgl-0.58.6.ebuild68
-rw-r--r--sci-libs/coinor-cgl/metadata.xml12
-rw-r--r--sci-libs/coinor-clp/Manifest1
-rw-r--r--sci-libs/coinor-clp/coinor-clp-1.15.6-r1.ebuild116
-rw-r--r--sci-libs/coinor-clp/files/coinor-clp-1.15.6-mpi-header.patch12
-rw-r--r--sci-libs/coinor-clp/files/coinor-clp-1.15.6-overflow.patch11
-rw-r--r--sci-libs/coinor-clp/metadata.xml20
-rw-r--r--sci-libs/coinor-couenne/Manifest1
-rw-r--r--sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild59
-rw-r--r--sci-libs/coinor-couenne/metadata.xml12
-rw-r--r--sci-libs/coinor-cppad/Manifest2
-rw-r--r--sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild52
-rw-r--r--sci-libs/coinor-cppad/coinor-cppad-20140519-r1.ebuild60
-rw-r--r--sci-libs/coinor-cppad/coinor-cppad-20140519.ebuild52
-rw-r--r--sci-libs/coinor-cppad/files/coinor-cppad-20140519-boost.patch79
-rw-r--r--sci-libs/coinor-cppad/files/coinor-cppad-20140519-dash.patch215
-rw-r--r--sci-libs/coinor-cppad/metadata.xml14
-rw-r--r--sci-libs/coinor-csdp/Manifest1
-rw-r--r--sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild102
-rw-r--r--sci-libs/coinor-csdp/metadata.xml16
-rw-r--r--sci-libs/coinor-dip/Manifest1
-rw-r--r--sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild58
-rw-r--r--sci-libs/coinor-dip/metadata.xml14
-rw-r--r--sci-libs/coinor-dylp/Manifest1
-rw-r--r--sci-libs/coinor-dylp/coinor-dylp-1.9.4.ebuild63
-rw-r--r--sci-libs/coinor-dylp/metadata.xml12
-rw-r--r--sci-libs/coinor-flopcpp/Manifest1
-rw-r--r--sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild67
-rw-r--r--sci-libs/coinor-flopcpp/metadata.xml14
-rw-r--r--sci-libs/coinor-mp/Manifest1
-rw-r--r--sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild61
-rw-r--r--sci-libs/coinor-mp/metadata.xml11
-rw-r--r--sci-libs/coinor-netlib/Manifest1
-rw-r--r--sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild20
-rw-r--r--sci-libs/coinor-netlib/metadata.xml9
-rw-r--r--sci-libs/coinor-os/Manifest1
-rw-r--r--sci-libs/coinor-os/coinor-os-2.8.3.ebuild62
-rw-r--r--sci-libs/coinor-os/metadata.xml11
-rw-r--r--sci-libs/coinor-osi/Manifest1
-rw-r--r--sci-libs/coinor-osi/coinor-osi-0.106.6.ebuild73
-rw-r--r--sci-libs/coinor-osi/metadata.xml15
-rw-r--r--sci-libs/coinor-sample/Manifest1
-rw-r--r--sci-libs/coinor-sample/coinor-sample-1.2.9.ebuild20
-rw-r--r--sci-libs/coinor-sample/metadata.xml9
-rw-r--r--sci-libs/coinor-smi/Manifest1
-rw-r--r--sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild71
-rw-r--r--sci-libs/coinor-smi/metadata.xml18
-rw-r--r--sci-libs/coinor-symphony/Manifest1
-rw-r--r--sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild87
-rw-r--r--sci-libs/coinor-symphony/metadata.xml18
-rw-r--r--sci-libs/coinor-utils/Manifest1
-rw-r--r--sci-libs/coinor-utils/coinor-utils-2.9.11.ebuild84
-rw-r--r--sci-libs/coinor-utils/metadata.xml15
-rw-r--r--sci-libs/coinor-vol/Manifest1
-rw-r--r--sci-libs/coinor-vol/coinor-vol-1.4.4.ebuild68
-rw-r--r--sci-libs/coinor-vol/metadata.xml10
-rw-r--r--sci-libs/colamd/Manifest1
-rw-r--r--sci-libs/colamd/colamd-2.8.0.ebuild21
-rw-r--r--sci-libs/colamd/files/colamd-2.7.1-autotools.patch58
-rw-r--r--sci-libs/colamd/files/colamd-2.7.4-autotools.patch58
-rw-r--r--sci-libs/colamd/metadata.xml15
-rw-r--r--sci-libs/colpack/Manifest3
-rw-r--r--sci-libs/colpack/colpack-1.0.6.ebuild41
-rw-r--r--sci-libs/colpack/colpack-1.0.8.ebuild45
-rw-r--r--sci-libs/colpack/colpack-1.0.9.ebuild44
-rw-r--r--sci-libs/colpack/files/colpack-1.0.6-flags.patch10
-rw-r--r--sci-libs/colpack/files/colpack-1.0.8-no-bin.patch15
-rw-r--r--sci-libs/colpack/files/colpack-1.0.9-fix_gcc49_omp.patch26
-rw-r--r--sci-libs/colpack/metadata.xml10
-rw-r--r--sci-libs/coot-data/Manifest1
-rw-r--r--sci-libs/coot-data/coot-data-2-r1.ebuild33
-rw-r--r--sci-libs/coot-data/coot-data-2.ebuild33
-rw-r--r--sci-libs/coot-data/metadata.xml5
-rw-r--r--sci-libs/cqrlib/Manifest1
-rw-r--r--sci-libs/cqrlib/cqrlib-1.1.2-r1.ebuild56
-rw-r--r--sci-libs/cqrlib/files/1.0.3-LDFLAGS.patch17
-rw-r--r--sci-libs/cqrlib/files/1.0.3-dynlib.patch45
-rw-r--r--sci-libs/cqrlib/files/1.0.5-gentoo.patch91
-rw-r--r--sci-libs/cqrlib/files/1.0.6-gentoo.patch101
-rw-r--r--sci-libs/cqrlib/metadata.xml8
-rw-r--r--sci-libs/cxsparse/Manifest4
-rw-r--r--sci-libs/cxsparse/cxsparse-2.2.1.ebuild33
-rw-r--r--sci-libs/cxsparse/cxsparse-2.2.6.ebuild27
-rw-r--r--sci-libs/cxsparse/cxsparse-3.1.1.ebuild20
-rw-r--r--sci-libs/cxsparse/cxsparse-3.1.2.ebuild20
-rw-r--r--sci-libs/cxsparse/files/cxsparse-2.2.1-autotools.patch152
-rw-r--r--sci-libs/cxsparse/files/cxsparse-2.2.2-autotools.patch152
-rw-r--r--sci-libs/cxsparse/metadata.xml10
-rw-r--r--sci-libs/deap/Manifest2
-rw-r--r--sci-libs/deap/deap-0.9.1.ebuild20
-rw-r--r--sci-libs/deap/deap-1.0.0.ebuild20
-rw-r--r--sci-libs/deap/metadata.xml16
-rw-r--r--sci-libs/djbfft/Manifest1
-rw-r--r--sci-libs/djbfft/djbfft-0.76-r2.ebuild68
-rw-r--r--sci-libs/djbfft/files/djbfft-0.76-gcc3.patch37
-rw-r--r--sci-libs/djbfft/files/djbfft-0.76-headers.patch38
-rw-r--r--sci-libs/djbfft/files/djbfft-0.76-shared.patch133
-rw-r--r--sci-libs/djbfft/metadata.xml15
-rw-r--r--sci-libs/dlib/Manifest2
-rw-r--r--sci-libs/dlib/dlib-18.15.ebuild45
-rw-r--r--sci-libs/dlib/dlib-18.7.ebuild45
-rw-r--r--sci-libs/dlib/files/dlib-17.48-makefile-test.patch35
-rw-r--r--sci-libs/dlib/metadata.xml14
-rw-r--r--sci-libs/dsdp/Manifest1
-rw-r--r--sci-libs/dsdp/dsdp-5.8-r2.ebuild80
-rw-r--r--sci-libs/dsdp/files/dsdp-5.8-gold.patch13
-rw-r--r--sci-libs/dsdp/files/dsdp-5.8-malloc.patch10
-rw-r--r--sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch11
-rw-r--r--sci-libs/dsdp/metadata.xml21
-rw-r--r--sci-libs/exodusii/Manifest4
-rw-r--r--sci-libs/exodusii/exodusii-5.22b.ebuild38
-rw-r--r--sci-libs/exodusii/exodusii-5.24.ebuild41
-rw-r--r--sci-libs/exodusii/exodusii-5.26.ebuild42
-rw-r--r--sci-libs/exodusii/exodusii-6.02.ebuild43
-rw-r--r--sci-libs/exodusii/files/exodusii-5.22b-multilib.patch102
-rw-r--r--sci-libs/exodusii/files/exodusii-5.26-multilib.patch95
-rw-r--r--sci-libs/exodusii/metadata.xml13
-rw-r--r--sci-libs/fcl/Manifest1
-rw-r--r--sci-libs/fcl/fcl-0.3.2.ebuild47
-rw-r--r--sci-libs/fcl/fcl-9999.ebuild47
-rw-r--r--sci-libs/fcl/metadata.xml11
-rw-r--r--sci-libs/fetk/fetk-1.5.ebuild23
-rw-r--r--sci-libs/fetk/metadata.xml23
-rw-r--r--sci-libs/fftw/Manifest2
-rw-r--r--sci-libs/fftw/fftw-2.1.5-r8.ebuild157
-rw-r--r--sci-libs/fftw/fftw-3.3.4.ebuild164
-rw-r--r--sci-libs/fftw/files/fftw-2.1.5-as-needed.patch112
-rw-r--r--sci-libs/fftw/files/fftw-2.1.5-cc.patch19
-rw-r--r--sci-libs/fftw/files/fftw-2.1.5-configure.in.patch226
-rw-r--r--sci-libs/fftw/files/fftw-2.1.5-no-test.patch33
-rw-r--r--sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch21
-rw-r--r--sci-libs/fftw/metadata.xml23
-rw-r--r--sci-libs/flann/Manifest2
-rw-r--r--sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch16
-rw-r--r--sci-libs/flann/files/flann-1.8.4-cuda5.5.patch61
-rw-r--r--sci-libs/flann/files/flann-1.8.4-docdir.patch24
-rw-r--r--sci-libs/flann/files/flann-1.8.4-examples.patch35
-rw-r--r--sci-libs/flann/files/flann-1.8.4-multilib.patch15
-rw-r--r--sci-libs/flann/files/flann-1.8.4-options.patch41
-rw-r--r--sci-libs/flann/flann-1.8.4-r1.ebuild109
-rw-r--r--sci-libs/flann/flann-9999.ebuild111
-rw-r--r--sci-libs/flann/metadata.xml19
-rw-r--r--sci-libs/fplll/Manifest1
-rw-r--r--sci-libs/fplll/fplll-4.0.4.ebuild33
-rw-r--r--sci-libs/fplll/metadata.xml7
-rw-r--r--sci-libs/freesteam/Manifest1
-rw-r--r--sci-libs/freesteam/files/freesteam-flags.patch28
-rw-r--r--sci-libs/freesteam/files/freesteam-soname-symlinks.patch39
-rw-r--r--sci-libs/freesteam/freesteam-2.0.ebuild47
-rw-r--r--sci-libs/freesteam/freesteam-9999.ebuild48
-rw-r--r--sci-libs/freesteam/metadata.xml8
-rw-r--r--sci-libs/galib/Manifest2
-rw-r--r--sci-libs/galib/files/galib-2.4.6-gcc4-gentoo.patch23
-rw-r--r--sci-libs/galib/files/galib-2.4.6-makefile.patch12
-rw-r--r--sci-libs/galib/galib-2.4.6.ebuild38
-rw-r--r--sci-libs/galib/galib-2.4.7.ebuild56
-rw-r--r--sci-libs/galib/metadata.xml10
-rw-r--r--sci-libs/gamer/Manifest1
-rw-r--r--sci-libs/gamer/files/1.4-doc.patch20
-rw-r--r--sci-libs/gamer/files/1.4-multilib.patch26
-rw-r--r--sci-libs/gamer/files/1.5-underlinking.patch42
-rw-r--r--sci-libs/gamer/gamer-1.5-r2.ebuild52
-rw-r--r--sci-libs/gamer/metadata.xml8
-rw-r--r--sci-libs/gaul-devel/Manifest1
-rw-r--r--sci-libs/gaul-devel/files/gaul-devel-0.1849-as-needed.patch26
-rw-r--r--sci-libs/gaul-devel/files/gaul-devel-0.1849-slang2-error.patch30
-rw-r--r--sci-libs/gaul-devel/gaul-devel-0.1849-r1.ebuild44
-rw-r--r--sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild46
-rw-r--r--sci-libs/gaul-devel/metadata.xml18
-rw-r--r--sci-libs/gdal/Manifest3
-rw-r--r--sci-libs/gdal/files/gdal-1.10.0-ruby-makefile.patch47
-rw-r--r--sci-libs/gdal/files/gdal-1.11.1-poppler-0.31.0-support.patch119
-rw-r--r--sci-libs/gdal/files/gdal-1.11.1-swig-3.0.3.patch161
-rw-r--r--sci-libs/gdal/files/gdal-1.5.0-install_name.patch45
-rw-r--r--sci-libs/gdal/files/gdal-1.5.0-soname.patch13
-rw-r--r--sci-libs/gdal/files/gdal-1.8.1-zlib_header_fix.patch13
-rw-r--r--sci-libs/gdal/files/gdal-1.9.1-ruby-makefile.patch43
-rw-r--r--sci-libs/gdal/gdal-1.11.1-r3.ebuild349
-rw-r--r--sci-libs/gdal/gdal-1.11.2.ebuild346
-rw-r--r--sci-libs/gdal/gdal-2.0.0.ebuild343
-rw-r--r--sci-libs/gdal/metadata.xml23
-rw-r--r--sci-libs/geos/Manifest2
-rw-r--r--sci-libs/geos/files/3.2.0-darwin.patch13
-rw-r--r--sci-libs/geos/files/3.2.0-python.patch40
-rw-r--r--sci-libs/geos/files/3.3.2-solaris-isnan.patch13
-rw-r--r--sci-libs/geos/files/3.4.1-solaris-isnan.patch14
-rw-r--r--sci-libs/geos/files/3.4.2-ruby_so_name.patch12
-rw-r--r--sci-libs/geos/files/3.4.2-solaris-isnan.patch14
-rw-r--r--sci-libs/geos/geos-3.4.1-r1.ebuild61
-rw-r--r--sci-libs/geos/geos-3.4.2-r1.ebuild58
-rw-r--r--sci-libs/geos/metadata.xml15
-rw-r--r--sci-libs/gerris/Manifest3
-rw-r--r--sci-libs/gerris/files/gerris-20130531-hypre-no-mpi.patch22
-rw-r--r--sci-libs/gerris/files/gerris-20130531-lis-matrix-csr.patch11
-rw-r--r--sci-libs/gerris/files/gerris-20130531-use-blas-lapack-system.patch33
-rw-r--r--sci-libs/gerris/files/gerris-hypre-no-mpi.patch21
-rw-r--r--sci-libs/gerris/gerris-20120731.ebuild64
-rw-r--r--sci-libs/gerris/gerris-20130531.ebuild68
-rw-r--r--sci-libs/gerris/gerris-20131206.ebuild68
-rw-r--r--sci-libs/gerris/metadata.xml9
-rw-r--r--sci-libs/getdata/Manifest1
-rw-r--r--sci-libs/getdata/files/getdata-0.8.5-out-of-source.patch16
-rw-r--r--sci-libs/getdata/files/getdata-0.8.5-serial-test.patch42
-rw-r--r--sci-libs/getdata/getdata-0.8.5.ebuild95
-rw-r--r--sci-libs/getdata/metadata.xml14
-rw-r--r--sci-libs/gpp4/Manifest1
-rw-r--r--sci-libs/gpp4/gpp4-1.3.1.ebuild27
-rw-r--r--sci-libs/gpp4/metadata.xml11
-rw-r--r--sci-libs/grib_api/Manifest2
-rw-r--r--sci-libs/grib_api/files/grib_api-1.9.16-autotools.patch512
-rw-r--r--sci-libs/grib_api/files/grib_api-1.9.16-jpeg2k.patch11
-rw-r--r--sci-libs/grib_api/files/grib_api-1.9.9-ieeefloat.patch18
-rw-r--r--sci-libs/grib_api/grib_api-1.11.0.ebuild86
-rw-r--r--sci-libs/grib_api/grib_api-1.9.16.ebuild73
-rw-r--r--sci-libs/grib_api/metadata.xml16
-rw-r--r--sci-libs/gsl/Manifest2
-rw-r--r--sci-libs/gsl/files/cblas.pc.in12
-rw-r--r--sci-libs/gsl/files/eselect.cblas.gsl5
-rw-r--r--sci-libs/gsl/files/gsl-1.13-cblas-vars.patch11
-rw-r--r--sci-libs/gsl/files/gsl-1.13-cblas.patch260
-rw-r--r--sci-libs/gsl/files/gsl-1.14-cblas.patch285
-rw-r--r--sci-libs/gsl/files/gsl-1.15-cblas.patch286
-rw-r--r--sci-libs/gsl/files/gsl-1.16-cblas.patch294
-rw-r--r--sci-libs/gsl/gsl-1.14.ebuild91
-rw-r--r--sci-libs/gsl/gsl-1.16.ebuild107
-rw-r--r--sci-libs/gsl/metadata.xml22
-rw-r--r--sci-libs/gts/Manifest1
-rw-r--r--sci-libs/gts/files/gts-20100321-examples.patch24
-rw-r--r--sci-libs/gts/files/gts-20111025-autotools.patch56
-rw-r--r--sci-libs/gts/gts-20121130.ebuild50
-rw-r--r--sci-libs/gts/metadata.xml9
-rw-r--r--sci-libs/hdf/Manifest2
-rw-r--r--sci-libs/hdf/files/4.2.7_p1-autotools.patch116
-rw-r--r--sci-libs/hdf/files/hdf-4.2.9-autotools.patch112
-rw-r--r--sci-libs/hdf/files/hdf-ppc.patch214
-rw-r--r--sci-libs/hdf/hdf-4.2.8.ebuild57
-rw-r--r--sci-libs/hdf/hdf-4.2.9.ebuild57
-rw-r--r--sci-libs/hdf/metadata.xml16
-rw-r--r--sci-libs/hdf5/Manifest2
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch33
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10-comments.patch42
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch54
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch29
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch35
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch21
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.14-implicits.patch55
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.14-ldflags.patch20
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch43
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.8-array_bounds.patch22
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch33
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.8-implicits.patch85
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch55
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch16
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch15
-rw-r--r--sci-libs/hdf5/files/mpd.conf2
-rw-r--r--sci-libs/hdf5/hdf5-1.8.14-r1.ebuild105
-rw-r--r--sci-libs/hdf5/hdf5-1.8.15_p1.ebuild104
-rw-r--r--sci-libs/hdf5/metadata.xml19
-rw-r--r--sci-libs/htslib/Manifest3
-rw-r--r--sci-libs/htslib/htslib-1.0.ebuild45
-rw-r--r--sci-libs/htslib/htslib-1.1.ebuild43
-rw-r--r--sci-libs/htslib/htslib-1.2.1.ebuild21
-rw-r--r--sci-libs/htslib/metadata.xml8
-rw-r--r--sci-libs/hypre/Manifest1
-rw-r--r--sci-libs/hypre/hypre-2.9.0b.ebuild74
-rw-r--r--sci-libs/hypre/metadata.xml9
-rw-r--r--sci-libs/idlmarkwardt/Manifest2
-rw-r--r--sci-libs/idlmarkwardt/idlmarkwardt-20121110.ebuild24
-rw-r--r--sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild24
-rw-r--r--sci-libs/idlmarkwardt/metadata.xml16
-rw-r--r--sci-libs/inchi/Manifest2
-rw-r--r--sci-libs/inchi/files/inchi-1.03-shared.patch20
-rw-r--r--sci-libs/inchi/files/inchi-1.04-static.patch26
-rw-r--r--sci-libs/inchi/inchi-1.04.ebuild74
-rw-r--r--sci-libs/inchi/metadata.xml8
-rw-r--r--sci-libs/indilib/Manifest2
-rw-r--r--sci-libs/indilib/files/indilib-0.9.8.1-symlinks.patch22
-rw-r--r--sci-libs/indilib/indilib-0.9.9.ebuild46
-rw-r--r--sci-libs/indilib/indilib-1.0.0.ebuild46
-rw-r--r--sci-libs/indilib/metadata.xml8
-rw-r--r--sci-libs/io_lib/Manifest4
-rw-r--r--sci-libs/io_lib/io_lib-1.10.1.ebuild23
-rw-r--r--sci-libs/io_lib/io_lib-1.11.2.1.ebuild26
-rw-r--r--sci-libs/io_lib/io_lib-1.12.5.ebuild32
-rw-r--r--sci-libs/io_lib/io_lib-1.13.2.ebuild31
-rw-r--r--sci-libs/io_lib/metadata.xml14
-rw-r--r--sci-libs/ipopt/Manifest2
-rw-r--r--sci-libs/ipopt/ipopt-3.11.7.ebuild97
-rw-r--r--sci-libs/ipopt/ipopt-3.11.8.ebuild98
-rw-r--r--sci-libs/ipopt/metadata.xml18
-rw-r--r--sci-libs/ipp/Manifest16
-rw-r--r--sci-libs/ipp/ipp-7.1.0.079.ebuild26
-rw-r--r--sci-libs/ipp/ipp-7.1.1.117.ebuild26
-rw-r--r--sci-libs/ipp/ipp-7.1.1.146.ebuild28
-rw-r--r--sci-libs/ipp/ipp-7.1.1.192.ebuild28
-rw-r--r--sci-libs/ipp/ipp-8.0.1.080.ebuild29
-rw-r--r--sci-libs/ipp/ipp-8.2.0.090.ebuild29
-rw-r--r--sci-libs/ipp/ipp-8.2.1.164.ebuild29
-rw-r--r--sci-libs/ipp/ipp-8.2.2.187.ebuild29
-rw-r--r--sci-libs/ipp/metadata.xml10
-rw-r--r--sci-libs/itpp/Manifest3
-rw-r--r--sci-libs/itpp/files/itpp-4.0.6-gcc44.patch60
-rw-r--r--sci-libs/itpp/files/itpp-4.0.7-fastica-fix-endless-loop.patch93
-rw-r--r--sci-libs/itpp/files/itpp-4.2-automake-1.12.patch16
-rw-r--r--sci-libs/itpp/files/itpp-4.2-fastica-correct-dim.patch26
-rw-r--r--sci-libs/itpp/files/itpp-4.2-pkg-config.patch27
-rw-r--r--sci-libs/itpp/files/itpp-4.2-test-fftw.patch14
-rw-r--r--sci-libs/itpp/itpp-4.2-r1.ebuild66
-rw-r--r--sci-libs/itpp/itpp-4.2-r2.ebuild69
-rw-r--r--sci-libs/itpp/itpp-4.3.0.ebuild45
-rw-r--r--sci-libs/itpp/itpp-4.3.1-r1.ebuild53
-rw-r--r--sci-libs/itpp/itpp-4.3.1.ebuild45
-rw-r--r--sci-libs/itpp/metadata.xml16
-rw-r--r--sci-libs/jama/Manifest2
-rw-r--r--sci-libs/jama/jama-1.2.5.ebuild30
-rw-r--r--sci-libs/jama/metadata.xml15
-rw-r--r--sci-libs/jmol-acme/Manifest1
-rw-r--r--sci-libs/jmol-acme/files/src.list4
-rw-r--r--sci-libs/jmol-acme/jmol-acme-1.0.ebuild41
-rw-r--r--sci-libs/jmol-acme/metadata.xml11
-rw-r--r--sci-libs/klu/Manifest1
-rw-r--r--sci-libs/klu/klu-1.2.1.ebuild31
-rw-r--r--sci-libs/klu/metadata.xml10
-rw-r--r--sci-libs/lapack-reference/Manifest4
-rw-r--r--sci-libs/lapack-reference/files/eselect.lapack.reference4
-rw-r--r--sci-libs/lapack-reference/files/eselect.lapack.reference-ng1
-rw-r--r--sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch36
-rw-r--r--sci-libs/lapack-reference/files/lapack-reference-3.2.1-parallel-make.patch112
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild91
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.2.1-r1.ebuild98
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.2.1-r3.ebuild101
-rw-r--r--sci-libs/lapack-reference/metadata.xml13
-rw-r--r--sci-libs/ldl/Manifest2
-rw-r--r--sci-libs/ldl/files/ldl-2.0.3-autotools.patch64
-rw-r--r--sci-libs/ldl/ldl-2.0.4.ebuild31
-rw-r--r--sci-libs/ldl/ldl-2.1.0.ebuild28
-rw-r--r--sci-libs/ldl/metadata.xml16
-rw-r--r--sci-libs/lemon/Manifest1
-rw-r--r--sci-libs/lemon/files/lemon-1.3-as-needed.patch47
-rw-r--r--sci-libs/lemon/files/lemon-1.3-multilib.patch18
-rw-r--r--sci-libs/lemon/lemon-1.3-r2.ebuild82
-rw-r--r--sci-libs/lemon/metadata.xml26
-rw-r--r--sci-libs/levmar/Manifest1
-rw-r--r--sci-libs/levmar/files/levmar-2.6-demo-underlinking.patch12
-rw-r--r--sci-libs/levmar/files/levmar-2.6-shared.patch12
-rw-r--r--sci-libs/levmar/levmar-2.6.ebuild48
-rw-r--r--sci-libs/levmar/metadata.xml16
-rw-r--r--sci-libs/libbufr/Manifest1
-rw-r--r--sci-libs/libbufr/files/libbufr-000360-gcc-includes.patch15
-rw-r--r--sci-libs/libbufr/files/libbufr-makefile.patch11
-rw-r--r--sci-libs/libbufr/libbufr-000387.ebuild190
-rw-r--r--sci-libs/libbufr/metadata.xml8
-rw-r--r--sci-libs/libccd/Manifest1
-rw-r--r--sci-libs/libccd/libccd-2.0.ebuild60
-rw-r--r--sci-libs/libccd/libccd-9999.ebuild60
-rw-r--r--sci-libs/libccd/metadata.xml11
-rw-r--r--sci-libs/libcerf/Manifest2
-rw-r--r--sci-libs/libcerf/files/libcerf-1.3-autotools.patch70
-rw-r--r--sci-libs/libcerf/libcerf-1.3.ebuild22
-rw-r--r--sci-libs/libcerf/libcerf-1.4.ebuild22
-rw-r--r--sci-libs/libcerf/metadata.xml5
-rw-r--r--sci-libs/libcmatrix/Manifest1
-rw-r--r--sci-libs/libcmatrix/files/3.11.0-shared.patch80
-rw-r--r--sci-libs/libcmatrix/files/3.2.1-atlas.patch33
-rw-r--r--sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch12
-rw-r--r--sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch16
-rw-r--r--sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch227
-rw-r--r--sci-libs/libcmatrix/files/3.2.1-minuit2.patch14
-rw-r--r--sci-libs/libcmatrix/files/3.2.1-shared.patch80
-rw-r--r--sci-libs/libcmatrix/files/3.9.0-atlas.patch24
-rw-r--r--sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild57
-rw-r--r--sci-libs/libcmatrix/metadata.xml8
-rw-r--r--sci-libs/libcore/Manifest2
-rw-r--r--sci-libs/libcore/files/2.1.1-makefiles.patch115
-rw-r--r--sci-libs/libcore/files/libcore-1.7.patch96
-rw-r--r--sci-libs/libcore/files/libcore-2.0.8-makefiles.patch97
-rw-r--r--sci-libs/libcore/libcore-2.1.1-r1.ebuild75
-rw-r--r--sci-libs/libcore/metadata.xml14
-rw-r--r--sci-libs/libctl/Manifest2
-rw-r--r--sci-libs/libctl/libctl-3.1.ebuild31
-rw-r--r--sci-libs/libctl/libctl-3.2.ebuild31
-rw-r--r--sci-libs/libctl/metadata.xml12
-rw-r--r--sci-libs/libdap/Manifest1
-rw-r--r--sci-libs/libdap/files/libdap-3.11.3-gcc-4.7.patch15
-rw-r--r--sci-libs/libdap/libdap-3.11.3.ebuild52
-rw-r--r--sci-libs/libdap/metadata.xml14
-rw-r--r--sci-libs/libexcelformat/Manifest1
-rw-r--r--sci-libs/libexcelformat/libexcelformat-101016.ebuild29
-rw-r--r--sci-libs/libexcelformat/metadata.xml5
-rw-r--r--sci-libs/libgenome/Manifest1
-rw-r--r--sci-libs/libgenome/libgenome-1.3-r1.ebuild32
-rw-r--r--sci-libs/libgenome/libgenome-9999.ebuild31
-rw-r--r--sci-libs/libgenome/metadata.xml5
-rw-r--r--sci-libs/libgeodecomp/Manifest1
-rw-r--r--sci-libs/libgeodecomp/files/libflatarray.patch11
-rw-r--r--sci-libs/libgeodecomp/libgeodecomp-0.3.1.ebuild41
-rw-r--r--sci-libs/libgeodecomp/metadata.xml7
-rw-r--r--sci-libs/libgeotiff/Manifest1
-rw-r--r--sci-libs/libgeotiff/files/Doxyfile261
-rw-r--r--sci-libs/libgeotiff/files/libgeotiff-1.2.4-soname.patch13
-rw-r--r--sci-libs/libgeotiff/libgeotiff-1.4.0.ebuild74
-rw-r--r--sci-libs/libgeotiff/metadata.xml5
-rw-r--r--sci-libs/libghemical/Manifest3
-rw-r--r--sci-libs/libghemical/files/2.00-really-find-blas-and-lapack.patch24
-rw-r--r--sci-libs/libghemical/files/libghemical-2.98-gcc43.patch43
-rw-r--r--sci-libs/libghemical/files/libghemical-2.98-gl.patch13
-rw-r--r--sci-libs/libghemical/files/libghemical-2.99.1-gl.patch26
-rw-r--r--sci-libs/libghemical/files/libghemical-gcc43.patch21
-rw-r--r--sci-libs/libghemical/libghemical-2.00.ebuild38
-rw-r--r--sci-libs/libghemical/libghemical-2.99.1.ebuild42
-rw-r--r--sci-libs/libghemical/libghemical-3.0.0.ebuild42
-rw-r--r--sci-libs/libghemical/metadata.xml18
-rw-r--r--sci-libs/libh2o/Manifest1
-rw-r--r--sci-libs/libh2o/libh2o-0.2.1.ebuild26
-rw-r--r--sci-libs/libh2o/libh2o-9999.ebuild38
-rw-r--r--sci-libs/libh2o/metadata.xml16
-rw-r--r--sci-libs/libh2oxx/Manifest1
-rw-r--r--sci-libs/libh2oxx/libh2oxx-0.2.ebuild27
-rw-r--r--sci-libs/libh2oxx/libh2oxx-9999.ebuild39
-rw-r--r--sci-libs/libh2oxx/metadata.xml16
-rw-r--r--sci-libs/libint/Manifest3
-rw-r--r--sci-libs/libint/files/1.1.4-as-needed.patch39
-rw-r--r--sci-libs/libint/files/dont-append-mcpu.patch16
-rw-r--r--sci-libs/libint/files/libint-1.1.6-as-needed.patch77
-rw-r--r--sci-libs/libint/libint-1.1.4-r1.ebuild36
-rw-r--r--sci-libs/libint/libint-1.1.6.ebuild41
-rw-r--r--sci-libs/libint/libint-2.0.5.ebuild61
-rw-r--r--sci-libs/libint/metadata.xml14
-rw-r--r--sci-libs/libmems/Manifest2
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-boost.patch120
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-build.patch19
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-gcc-4.7.patch71
-rw-r--r--sci-libs/libmems/libmems-1.6.ebuild32
-rw-r--r--sci-libs/libmems/libmems-1.6_p1.ebuild32
-rw-r--r--sci-libs/libmems/libmems-9999.ebuild30
-rw-r--r--sci-libs/libmems/metadata.xml5
-rw-r--r--sci-libs/libmuscle/Manifest1
-rw-r--r--sci-libs/libmuscle/files/3.7-bufferoverflow.patch22
-rw-r--r--sci-libs/libmuscle/libmuscle-3.7-r1.ebuild39
-rw-r--r--sci-libs/libmuscle/libmuscle-3.7-r2.ebuild40
-rw-r--r--sci-libs/libmuscle/libmuscle-9999.ebuild36
-rw-r--r--sci-libs/libmuscle/metadata.xml5
-rw-r--r--sci-libs/libnova/Manifest3
-rw-r--r--sci-libs/libnova/files/libnova-0.12.1-configure.patch17
-rw-r--r--sci-libs/libnova/libnova-0.12.3.ebuild52
-rw-r--r--sci-libs/libnova/libnova-0.14.0.ebuild40
-rw-r--r--sci-libs/libnova/libnova-0.15.0.ebuild41
-rw-r--r--sci-libs/libnova/metadata.xml14
-rw-r--r--sci-libs/liborigin/Manifest1
-rw-r--r--sci-libs/liborigin/liborigin-20110829.ebuild54
-rw-r--r--sci-libs/liborigin/metadata.xml8
-rw-r--r--sci-libs/libpdb++/Manifest1
-rw-r--r--sci-libs/libpdb++/files/040728-dynlib.patch12
-rw-r--r--sci-libs/libpdb++/files/libpdb++-040728-dynlib+flags.patch54
-rw-r--r--sci-libs/libpdb++/libpdb++-040728-r1.ebuild44
-rw-r--r--sci-libs/libpdb++/libpdb++-040728.ebuild46
-rw-r--r--sci-libs/libpdb++/metadata.xml8
-rw-r--r--sci-libs/libpdb/Manifest1
-rw-r--r--sci-libs/libpdb/files/991112-dynlib.patch12
-rw-r--r--sci-libs/libpdb/files/libpdb-991112-dynlib+flags.patch46
-rw-r--r--sci-libs/libpdb/libpdb-991112-r1.ebuild44
-rw-r--r--sci-libs/libpdb/libpdb-991112.ebuild46
-rw-r--r--sci-libs/libpdb/metadata.xml8
-rw-r--r--sci-libs/libqalculate/Manifest1
-rw-r--r--sci-libs/libqalculate/libqalculate-0.9.7-r1.ebuild62
-rw-r--r--sci-libs/libqalculate/metadata.xml8
-rw-r--r--sci-libs/libsigrok/Manifest1
-rw-r--r--sci-libs/libsigrok/files/libsigrok-0.3.0-configure-flags.patch169
-rw-r--r--sci-libs/libsigrok/files/libsigrok-0.3.0-no-check-linkage.patch30
-rw-r--r--sci-libs/libsigrok/libsigrok-0.3.0.ebuild65
-rw-r--r--sci-libs/libsigrok/libsigrok-9999.ebuild55
-rw-r--r--sci-libs/libsigrok/metadata.xml9
-rw-r--r--sci-libs/libsigrokdecode/Manifest1
-rw-r--r--sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-configure-test.patch28
-rw-r--r--sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-no-check-linkage.patch30
-rw-r--r--sci-libs/libsigrokdecode/libsigrokdecode-0.3.0.ebuild54
-rw-r--r--sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild52
-rw-r--r--sci-libs/libsigrokdecode/metadata.xml5
-rw-r--r--sci-libs/libspatialindex/Manifest4
-rw-r--r--sci-libs/libspatialindex/files/libspatialindex-1.8.0-QA.patch15
-rw-r--r--sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch15
-rw-r--r--sci-libs/libspatialindex/files/libspatialindex-1.8.1-pkgconfig.patch16
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.8.0.ebuild37
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.8.1.ebuild37
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.8.3.ebuild37
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.8.4.ebuild37
-rw-r--r--sci-libs/libspatialindex/metadata.xml9
-rw-r--r--sci-libs/libsvm/Manifest1
-rw-r--r--sci-libs/libsvm/files/3.11-openmp.patch34
-rw-r--r--sci-libs/libsvm/files/3.14-makefile.patch51
-rw-r--r--sci-libs/libsvm/libsvm-3.17-r1.ebuild92
-rw-r--r--sci-libs/libsvm/metadata.xml15
-rw-r--r--sci-libs/libticables2/Manifest2
-rw-r--r--sci-libs/libticables2/files/libticables2-1.2.0-locale.patch11
-rw-r--r--sci-libs/libticables2/libticables2-1.3.3-r1.ebuild49
-rw-r--r--sci-libs/libticables2/libticables2-1.3.4.ebuild49
-rw-r--r--sci-libs/libticables2/metadata.xml14
-rw-r--r--sci-libs/libticalcs2/Manifest2
-rw-r--r--sci-libs/libticalcs2/files/libticalcs2-1.1.0-locale.patch11
-rw-r--r--sci-libs/libticalcs2/libticalcs2-1.1.7.ebuild40
-rw-r--r--sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild41
-rw-r--r--sci-libs/libticalcs2/metadata.xml15
-rw-r--r--sci-libs/libticonv/Manifest2
-rw-r--r--sci-libs/libticonv/libticonv-1.1.3.ebuild38
-rw-r--r--sci-libs/libticonv/libticonv-1.1.4.ebuild38
-rw-r--r--sci-libs/libticonv/metadata.xml13
-rw-r--r--sci-libs/libtifiles2/Manifest2
-rw-r--r--sci-libs/libtifiles2/libtifiles2-1.1.5.ebuild45
-rw-r--r--sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild48
-rw-r--r--sci-libs/libtifiles2/metadata.xml15
-rw-r--r--sci-libs/linux-gpib/Manifest4
-rw-r--r--sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch44
-rw-r--r--sci-libs/linux-gpib/files/linux-gpib-3.2.16-perl.patch9
-rw-r--r--sci-libs/linux-gpib/files/linux-gpib-3.2.16-reallydie.patch16
-rw-r--r--sci-libs/linux-gpib/files/linux-gpib-3.2.21-build.patch44
-rw-r--r--sci-libs/linux-gpib/linux-gpib-3.2.20-r1.ebuild183
-rw-r--r--sci-libs/linux-gpib/linux-gpib-3.2.21-r1.ebuild192
-rw-r--r--sci-libs/linux-gpib/linux-gpib-3.2.21.ebuild183
-rw-r--r--sci-libs/linux-gpib/metadata.xml16
-rw-r--r--sci-libs/lis/Manifest2
-rw-r--r--sci-libs/lis/files/lis-1.4.11-autotools.patch311
-rw-r--r--sci-libs/lis/files/lis-1.4.23-autotools.patch302
-rw-r--r--sci-libs/lis/lis-1.4.11.ebuild51
-rw-r--r--sci-libs/lis/lis-1.4.23.ebuild51
-rw-r--r--sci-libs/lis/metadata.xml15
-rw-r--r--sci-libs/lrslib/Manifest2
-rw-r--r--sci-libs/lrslib/lrslib-042c-r1.ebuild53
-rw-r--r--sci-libs/lrslib/lrslib-042c-r2.ebuild61
-rw-r--r--sci-libs/lrslib/lrslib-051.ebuild45
-rw-r--r--sci-libs/lrslib/metadata.xml15
-rw-r--r--sci-libs/magma/Manifest2
-rw-r--r--sci-libs/magma/magma-1.4.0.ebuild126
-rw-r--r--sci-libs/magma/magma-1.4.1.ebuild126
-rw-r--r--sci-libs/magma/metadata.xml15
-rw-r--r--sci-libs/mathgl/Manifest3
-rw-r--r--sci-libs/mathgl/files/mathgl-2.1.3.1-x11.patch65
-rw-r--r--sci-libs/mathgl/mathgl-2.1.3.1.ebuild149
-rw-r--r--sci-libs/mathgl/mathgl-2.1.3.ebuild147
-rw-r--r--sci-libs/mathgl/metadata.xml22
-rw-r--r--sci-libs/matio/Manifest2
-rw-r--r--sci-libs/matio/files/matio-1.5.0-asneeded.patch11
-rw-r--r--sci-libs/matio/matio-1.5.1.ebuild51
-rw-r--r--sci-libs/matio/matio-1.5.2.ebuild51
-rw-r--r--sci-libs/matio/metadata.xml15
-rw-r--r--sci-libs/mc/Manifest1
-rw-r--r--sci-libs/mc/files/1.4-doc.patch20
-rw-r--r--sci-libs/mc/files/1.4-multilib.patch16
-rw-r--r--sci-libs/mc/files/1.4-overflow.patch13
-rw-r--r--sci-libs/mc/files/1.4-superlu.patch21
-rw-r--r--sci-libs/mc/files/mc-1.5-unbundle.patch58
-rw-r--r--sci-libs/mc/mc-1.5.ebuild85
-rw-r--r--sci-libs/mc/metadata.xml8
-rw-r--r--sci-libs/metadata.xml33
-rw-r--r--sci-libs/metis/Manifest2
-rw-r--r--sci-libs/metis/files/metis-4.0.1-autotools.patch85
-rw-r--r--sci-libs/metis/files/metis-5.1.0-datatype.patch12
-rw-r--r--sci-libs/metis/files/metis-5.1.0-multilib.patch20
-rw-r--r--sci-libs/metis/files/metis-5.1.0-shared-GKlib.patch21
-rw-r--r--sci-libs/metis/metadata.xml12
-rw-r--r--sci-libs/metis/metis-4.0.3.ebuild35
-rw-r--r--sci-libs/metis/metis-5.1.0-r1.ebuild73
-rw-r--r--sci-libs/minfx/Manifest7
-rw-r--r--sci-libs/minfx/metadata.xml13
-rw-r--r--sci-libs/minfx/minfx-1.0.10.ebuild18
-rw-r--r--sci-libs/minfx/minfx-1.0.11.ebuild18
-rw-r--r--sci-libs/minfx/minfx-1.0.3-r1.ebuild18
-rw-r--r--sci-libs/minfx/minfx-1.0.4.ebuild18
-rw-r--r--sci-libs/minfx/minfx-1.0.4_pre98.ebuild19
-rw-r--r--sci-libs/minfx/minfx-1.0.5.ebuild18
-rw-r--r--sci-libs/minfx/minfx-1.0.6.ebuild18
-rw-r--r--sci-libs/minuit/Manifest3
-rw-r--r--sci-libs/minuit/files/minuit-5.27.02-asneeded.patch38
-rw-r--r--sci-libs/minuit/metadata.xml12
-rw-r--r--sci-libs/minuit/minuit-5.28.00.ebuild60
-rw-r--r--sci-libs/mkl/Manifest1
-rw-r--r--sci-libs/mkl/files/blas.pc.in10
-rw-r--r--sci-libs/mkl/files/cblas.pc.in11
-rw-r--r--sci-libs/mkl/files/lapack.pc.in11
-rw-r--r--sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch18
-rw-r--r--sci-libs/mkl/files/mkl-10.0.2.018-tests.patch21
-rw-r--r--sci-libs/mkl/metadata.xml17
-rw-r--r--sci-libs/mkl/mkl-10.0.5.025.ebuild359
-rw-r--r--sci-libs/mmdb/Manifest3
-rw-r--r--sci-libs/mmdb/files/mmdb-1.25.5-include-path.patch16
-rw-r--r--sci-libs/mmdb/metadata.xml8
-rw-r--r--sci-libs/mmdb/mmdb-1.24.ebuild45
-rw-r--r--sci-libs/mmdb/mmdb-1.25.5-r1.ebuild21
-rw-r--r--sci-libs/mmdb/mmdb-1.25.5.ebuild19
-rw-r--r--sci-libs/mmdb/mmdb-2.0.1.ebuild23
-rw-r--r--sci-libs/mmtk/Manifest3
-rw-r--r--sci-libs/mmtk/metadata.xml5
-rw-r--r--sci-libs/mmtk/mmtk-2.7.3.ebuild57
-rw-r--r--sci-libs/mmtk/mmtk-2.7.5.ebuild57
-rw-r--r--sci-libs/mmtk/mmtk-2.7.9.ebuild55
-rw-r--r--sci-libs/monomer-db/Manifest1
-rw-r--r--sci-libs/monomer-db/metadata.xml8
-rw-r--r--sci-libs/monomer-db/monomer-db-0.090729.ebuild31
-rw-r--r--sci-libs/mpfi/Manifest1
-rw-r--r--sci-libs/mpfi/metadata.xml18
-rw-r--r--sci-libs/mpfi/mpfi-1.5.1.ebuild22
-rw-r--r--sci-libs/mpir/Manifest1
-rw-r--r--sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch145
-rw-r--r--sci-libs/mpir/files/mpir-2.2.0-yasm.patch54
-rw-r--r--sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch95
-rw-r--r--sci-libs/mpir/files/mpir-2.6.0-gcc48.patch13
-rw-r--r--sci-libs/mpir/files/mpir-2.6.0-yasm.patch52
-rw-r--r--sci-libs/mpir/metadata.xml22
-rw-r--r--sci-libs/mpir/mpir-2.6.0-r2.ebuild64
-rw-r--r--sci-libs/mumps/Manifest1
-rw-r--r--sci-libs/mumps/metadata.xml18
-rw-r--r--sci-libs/mumps/mumps-4.10.0-r1.ebuild185
-rw-r--r--sci-libs/naga/Manifest1
-rw-r--r--sci-libs/naga/metadata.xml12
-rw-r--r--sci-libs/naga/naga-2.1.ebuild30
-rw-r--r--sci-libs/neartree/Manifest1
-rw-r--r--sci-libs/neartree/files/2.1.4-test.patch20
-rw-r--r--sci-libs/neartree/files/2.3.1-gentoo.patch100
-rw-r--r--sci-libs/neartree/files/2.3.2-gentoo.patch82
-rw-r--r--sci-libs/neartree/files/2.3.2-notest.patch22
-rw-r--r--sci-libs/neartree/files/3.1.1-gentoo.patch98
-rw-r--r--sci-libs/neartree/files/3.1.1-notest.patch34
-rw-r--r--sci-libs/neartree/files/3.1.1-test.patch34
-rw-r--r--sci-libs/neartree/files/CMakeLists.txt21
-rw-r--r--sci-libs/neartree/metadata.xml8
-rw-r--r--sci-libs/neartree/neartree-3.1.1-r3.ebuild33
-rw-r--r--sci-libs/nemesis/Manifest2
-rw-r--r--sci-libs/nemesis/files/nemesis-5.22b-multilib.patch57
-rw-r--r--sci-libs/nemesis/metadata.xml20
-rw-r--r--sci-libs/nemesis/nemesis-5.22b.ebuild47
-rw-r--r--sci-libs/nemesis/nemesis-5.24.ebuild47
-rw-r--r--sci-libs/netcdf-cxx/Manifest2
-rw-r--r--sci-libs/netcdf-cxx/files/netcdf-cxx-4.2-config.patch28
-rw-r--r--sci-libs/netcdf-cxx/metadata.xml14
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild27
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild37
-rw-r--r--sci-libs/netcdf-fortran/Manifest1
-rw-r--r--sci-libs/netcdf-fortran/metadata.xml14
-rw-r--r--sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild38
-rw-r--r--sci-libs/netcdf/Manifest1
-rw-r--r--sci-libs/netcdf/files/netcdf-4.1.1-fortran.patch15
-rw-r--r--sci-libs/netcdf/files/netcdf-4.1.1-implicits.patch80
-rw-r--r--sci-libs/netcdf/files/netcdf-4.1.1-mpi-fix.patch32
-rw-r--r--sci-libs/netcdf/files/netcdf-4.1.1-parallel-build.patch40
-rw-r--r--sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch145
-rw-r--r--sci-libs/netcdf/metadata.xml18
-rw-r--r--sci-libs/netcdf/netcdf-4.3.2-r1.ebuild59
-rw-r--r--sci-libs/nfft/Manifest1
-rw-r--r--sci-libs/nfft/metadata.xml9
-rw-r--r--sci-libs/nfft/nfft-3.2.3.ebuild32
-rw-r--r--sci-libs/nlopt/Manifest2
-rw-r--r--sci-libs/nlopt/files/nlopt-2.2.4-fix-nlopt_hpp-location.patch47
-rw-r--r--sci-libs/nlopt/files/nlopt-2.3-as-needed.patch23
-rw-r--r--sci-libs/nlopt/files/nlopt-2.3-pkgconfig.patch10
-rw-r--r--sci-libs/nlopt/metadata.xml21
-rw-r--r--sci-libs/nlopt/nlopt-2.2.4.ebuild98
-rw-r--r--sci-libs/nlopt/nlopt-2.4.2.ebuild103
-rw-r--r--sci-libs/oc/Manifest1
-rw-r--r--sci-libs/oc/metadata.xml10
-rw-r--r--sci-libs/oc/oc-2.0.ebuild27
-rw-r--r--sci-libs/octomap/Manifest1
-rw-r--r--sci-libs/octomap/metadata.xml17
-rw-r--r--sci-libs/octomap/octomap-1.6.8.ebuild81
-rw-r--r--sci-libs/octomap/octomap-9999.ebuild81
-rw-r--r--sci-libs/ogdi/Manifest2
-rw-r--r--sci-libs/ogdi/files/ogdi-3.1.4-fpic.patch177
-rw-r--r--sci-libs/ogdi/files/ogdi-3.1.5-fpic.patch177
-rw-r--r--sci-libs/ogdi/files/ogdi-3.1.6-fpic.patch38
-rw-r--r--sci-libs/ogdi/files/ogdi-3.1.6-unbundle-libs.patch13
-rw-r--r--sci-libs/ogdi/files/ogdi-3.2.0_beta2-64b.patch11
-rw-r--r--sci-libs/ogdi/files/ogdi-3.2.0_beta2-endianess.patch18
-rw-r--r--sci-libs/ogdi/files/ogdi-3.2.0_beta2-proj480.patch297
-rw-r--r--sci-libs/ogdi/files/ogdi-3.2.0_beta2-subdirs.patch24
-rw-r--r--sci-libs/ogdi/metadata.xml8
-rw-r--r--sci-libs/ogdi/ogdi-3.1.5-r1.ebuild49
-rw-r--r--sci-libs/ogdi/ogdi-3.2.0_beta2.ebuild67
-rw-r--r--sci-libs/opencascade/Manifest6
-rw-r--r--sci-libs/opencascade/files/env.sh.template40
-rw-r--r--sci-libs/opencascade/files/opencascade-6.5-fixed-DESTDIR.patch174
-rw-r--r--sci-libs/opencascade/files/opencascade-6.5-ftgl.patch77
-rw-r--r--sci-libs/opencascade/files/opencascade-6.5-tcl8.6.patch46
-rw-r--r--sci-libs/opencascade/files/opencascade-6.5.4-fixed-DESTDIR.patch46
-rw-r--r--sci-libs/opencascade/files/opencascade-6.5.4-fixed-tbb-VERSION.patch10
-rw-r--r--sci-libs/opencascade/files/opencascade-6.5.4-tcl8.6.patch38
-rw-r--r--sci-libs/opencascade/files/opencascade-6.5.5-deprecated-glx-api.patch30
-rw-r--r--sci-libs/opencascade/files/opencascade-6.6.0-deprecated-glx-api.patch50
-rw-r--r--sci-libs/opencascade/files/opencascade-6.6.0-fixed-DESTDIR.patch45
-rw-r--r--sci-libs/opencascade/files/opencascade-6.7.0-fixed-DESTDIR.patch51
-rw-r--r--sci-libs/opencascade/files/opencascade-6.7.1-deprecated-glx-api.patch89
-rw-r--r--sci-libs/opencascade/files/opencascade-6.8.0-fixed-DESTDIR.patch47
-rw-r--r--sci-libs/opencascade/metadata.xml13
-rw-r--r--sci-libs/opencascade/opencascade-6.5.5.ebuild171
-rw-r--r--sci-libs/opencascade/opencascade-6.5.ebuild187
-rw-r--r--sci-libs/opencascade/opencascade-6.6.0.ebuild169
-rw-r--r--sci-libs/opencascade/opencascade-6.7.1.ebuild166
-rw-r--r--sci-libs/opencascade/opencascade-6.8.0.ebuild163
-rw-r--r--sci-libs/opencascade/opencascade-6.9.0.ebuild163
-rw-r--r--sci-libs/openfoam-bin/Manifest4
-rw-r--r--sci-libs/openfoam-bin/metadata.xml16
-rw-r--r--sci-libs/openfoam-bin/openfoam-bin-1.6.ebuild107
-rw-r--r--sci-libs/openfoam/Manifest5
-rw-r--r--sci-libs/openfoam/metadata.xml18
-rw-r--r--sci-libs/openfoam/openfoam-2.2.1.ebuild109
-rw-r--r--sci-libs/openfoam/openfoam-2.2.2.ebuild109
-rw-r--r--sci-libs/openfoam/openfoam-2.3.0.ebuild113
-rw-r--r--sci-libs/openfoam/openfoam-2.3.1.ebuild113
-rw-r--r--sci-libs/openfoam/openfoam-2.4.0.ebuild114
-rw-r--r--sci-libs/openlibm/Manifest2
-rw-r--r--sci-libs/openlibm/files/openlibm-respect-toolchain.patch44
-rw-r--r--sci-libs/openlibm/metadata.xml21
-rw-r--r--sci-libs/openlibm/openlibm-0.2.ebuild39
-rw-r--r--sci-libs/openlibm/openlibm-0.3.ebuild39
-rw-r--r--sci-libs/orocos-bfl/Manifest1
-rw-r--r--sci-libs/orocos-bfl/metadata.xml14
-rw-r--r--sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild63
-rw-r--r--sci-libs/orocos_kdl/Manifest1
-rw-r--r--sci-libs/orocos_kdl/metadata.xml23
-rw-r--r--sci-libs/orocos_kdl/orocos_kdl-1.3.0.ebuild68
-rw-r--r--sci-libs/orocos_kdl/orocos_kdl-9999.ebuild68
-rw-r--r--sci-libs/parmetis/Manifest1
-rw-r--r--sci-libs/parmetis/files/parmetis-3.1.1-autotools.patch298
-rw-r--r--sci-libs/parmetis/metadata.xml13
-rw-r--r--sci-libs/parmetis/parmetis-3.2.0.ebuild41
-rw-r--r--sci-libs/parmgridgen/Manifest1
-rw-r--r--sci-libs/parmgridgen/files/parmgridgen-1.0-as-needed.patch19
-rw-r--r--sci-libs/parmgridgen/files/parmgridgen-1.0-autotools.patch368
-rw-r--r--sci-libs/parmgridgen/metadata.xml8
-rw-r--r--sci-libs/parmgridgen/parmgridgen-1.0.ebuild38
-rw-r--r--sci-libs/pcl/Manifest1
-rw-r--r--sci-libs/pcl/files/nogl.patch22
-rw-r--r--sci-libs/pcl/metadata.xml23
-rw-r--r--sci-libs/pcl/pcl-1.7.2.ebuild83
-rw-r--r--sci-libs/pcl/pcl-9999.ebuild79
-rw-r--r--sci-libs/pgplot/Manifest1
-rw-r--r--sci-libs/pgplot/files/pgplot-compile-setup.patch96
-rw-r--r--sci-libs/pgplot/files/pgplot-drivers.patch117
-rw-r--r--sci-libs/pgplot/files/pgplot-headers.patch109
-rw-r--r--sci-libs/pgplot/files/pgplot-libpng15.patch11
-rw-r--r--sci-libs/pgplot/files/pgplot-makemake.patch223
-rw-r--r--sci-libs/pgplot/files/pgplot-pgdisp.patch11
-rw-r--r--sci-libs/pgplot/files/pgplot-tk86.patch47
-rw-r--r--sci-libs/pgplot/metadata.xml12
-rw-r--r--sci-libs/pgplot/pgplot-5.2.2-r6.ebuild181
-rw-r--r--sci-libs/plotmm/Manifest1
-rw-r--r--sci-libs/plotmm/files/plotmm-0.1.2-libsigc++-2.2.patch100
-rw-r--r--sci-libs/plotmm/metadata.xml10
-rw-r--r--sci-libs/plotmm/plotmm-0.1.2.ebuild62
-rw-r--r--sci-libs/plplot/Manifest2
-rw-r--r--sci-libs/plplot/files/plplot-5.10.0-cmake.patch18
-rw-r--r--sci-libs/plplot/files/plplot-5.10.0-have-config-h.patch117
-rw-r--r--sci-libs/plplot/files/plplot-5.11.0-multiarch.patch60
-rw-r--r--sci-libs/plplot/files/plplot-5.11.0-ocaml.patch40
-rw-r--r--sci-libs/plplot/files/plplot-5.11.0-octave.patch16
-rw-r--r--sci-libs/plplot/files/plplot-5.9.11-multiarch.patch50
-rw-r--r--sci-libs/plplot/files/plplot-5.9.11-ocaml.patch34
-rw-r--r--sci-libs/plplot/files/plplot-5.9.11-octave.patch12
-rw-r--r--sci-libs/plplot/files/plplot-5.9.6-python.patch13
-rw-r--r--sci-libs/plplot/metadata.xml30
-rw-r--r--sci-libs/plplot/plplot-5.10.0-r1.ebuild245
-rw-r--r--sci-libs/plplot/plplot-5.11.0-r1.ebuild249
-rw-r--r--sci-libs/primegen/Manifest1
-rw-r--r--sci-libs/primegen/files/primegen-0.97-man.patch13
-rw-r--r--sci-libs/primegen/files/primegen-0.97-missing-headers.patch46
-rw-r--r--sci-libs/primegen/metadata.xml15
-rw-r--r--sci-libs/primegen/primegen-0.97-r1.ebuild52
-rw-r--r--sci-libs/profnet/Manifest1
-rw-r--r--sci-libs/profnet/metadata.xml5
-rw-r--r--sci-libs/profnet/profnet-1.0.22.ebuild38
-rw-r--r--sci-libs/profphd-utils/Manifest1
-rw-r--r--sci-libs/profphd-utils/metadata.xml5
-rw-r--r--sci-libs/profphd-utils/profphd-utils-1.0.10-r1.ebuild33
-rw-r--r--sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild33
-rw-r--r--sci-libs/proj/Manifest3
-rw-r--r--sci-libs/proj/metadata.xml7
-rw-r--r--sci-libs/proj/proj-4.8.0.ebuild55
-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
-rw-r--r--sci-libs/pycifrw/Manifest2
-rw-r--r--sci-libs/pycifrw/metadata.xml12
-rw-r--r--sci-libs/pycifrw/pycifrw-3.6.2.ebuild23
-rw-r--r--sci-libs/pycifrw/pycifrw-4.1.1.ebuild23
-rw-r--r--sci-libs/pymmlib/Manifest1
-rw-r--r--sci-libs/pymmlib/metadata.xml5
-rw-r--r--sci-libs/pymmlib/pymmlib-1.2.1.ebuild45
-rw-r--r--sci-libs/pyshp/Manifest1
-rw-r--r--sci-libs/pyshp/metadata.xml10
-rw-r--r--sci-libs/pyshp/pyshp-1.2.0.ebuild28
-rw-r--r--sci-libs/pyshp/pyshp-9999.ebuild28
-rw-r--r--sci-libs/qd/Manifest2
-rw-r--r--sci-libs/qd/files/qd-2.3.13-autotools.patch15
-rw-r--r--sci-libs/qd/metadata.xml10
-rw-r--r--sci-libs/qd/qd-2.3.13.ebuild37
-rw-r--r--sci-libs/qd/qd-2.3.14.ebuild37
-rw-r--r--sci-libs/qfits/Manifest1
-rw-r--r--sci-libs/qfits/files/qfits-6.2.0-open.patch12
-rw-r--r--sci-libs/qfits/files/qfits-6.2.0-ttest.patch11
-rw-r--r--sci-libs/qfits/metadata.xml16
-rw-r--r--sci-libs/qfits/qfits-6.2.0.ebuild24
-rw-r--r--sci-libs/qrupdate/Manifest3
-rw-r--r--sci-libs/qrupdate/files/qrupdate-1.0.1-makefile.patch24
-rw-r--r--sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch88
-rw-r--r--sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch23
-rw-r--r--sci-libs/qrupdate/metadata.xml11
-rw-r--r--sci-libs/qrupdate/qrupdate-1.1.0.ebuild47
-rw-r--r--sci-libs/qrupdate/qrupdate-1.1.1.ebuild44
-rw-r--r--sci-libs/qrupdate/qrupdate-1.1.2.ebuild46
-rw-r--r--sci-libs/rosetta-db/Manifest1
-rw-r--r--sci-libs/rosetta-db/metadata.xml8
-rw-r--r--sci-libs/rosetta-db/rosetta-db-3.4.ebuild39
-rw-r--r--sci-libs/rosetta-fragments/Manifest1
-rw-r--r--sci-libs/rosetta-fragments/files/3.1-chemshift.patch33
-rw-r--r--sci-libs/rosetta-fragments/files/3.1-nnmake.patch107
-rw-r--r--sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-chemshift.patch62
-rw-r--r--sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-nnmake.patch153
-rw-r--r--sci-libs/rosetta-fragments/metadata.xml8
-rw-r--r--sci-libs/rosetta-fragments/rosetta-fragments-3.1-r1.ebuild57
-rw-r--r--sci-libs/rtabmap/Manifest3
-rw-r--r--sci-libs/rtabmap/metadata.xml14
-rw-r--r--sci-libs/rtabmap/rtabmap-0.8.2.ebuild48
-rw-r--r--sci-libs/rtabmap/rtabmap-0.8.3.ebuild48
-rw-r--r--sci-libs/rtabmap/rtabmap-0.9.0.ebuild60
-rw-r--r--sci-libs/rtabmap/rtabmap-9999.ebuild60
-rw-r--r--sci-libs/scalapack/Manifest1
-rw-r--r--sci-libs/scalapack/metadata.xml12
-rw-r--r--sci-libs/scalapack/scalapack-2.0.2.ebuild64
-rw-r--r--sci-libs/scikits/Manifest1
-rw-r--r--sci-libs/scikits/metadata.xml9
-rw-r--r--sci-libs/scikits/scikits-0.1-r1.ebuild35
-rw-r--r--sci-libs/scikits_image/Manifest3
-rw-r--r--sci-libs/scikits_image/metadata.xml19
-rw-r--r--sci-libs/scikits_image/scikits_image-0.10.0.ebuild49
-rw-r--r--sci-libs/scikits_image/scikits_image-0.10.1.ebuild51
-rw-r--r--sci-libs/scikits_image/scikits_image-0.9.3.ebuild48
-rw-r--r--sci-libs/scikits_learn/Manifest5
-rw-r--r--sci-libs/scikits_learn/files/scikits_learn-0.14.1-system-cblas.patch28
-rw-r--r--sci-libs/scikits_learn/metadata.xml13
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.13.1.ebuild89
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.14.1.ebuild109
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.15.1.ebuild109
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.15.2.ebuild109
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.16.1.ebuild108
-rw-r--r--sci-libs/scikits_optimization/Manifest1
-rw-r--r--sci-libs/scikits_optimization/metadata.xml11
-rw-r--r--sci-libs/scikits_optimization/scikits_optimization-0.3.ebuild33
-rw-r--r--sci-libs/scikits_timeseries/Manifest2
-rw-r--r--sci-libs/scikits_timeseries/metadata.xml16
-rw-r--r--sci-libs/scikits_timeseries/scikits_timeseries-0.91.3-r1.ebuild48
-rw-r--r--sci-libs/scipy/Manifest4
-rw-r--r--sci-libs/scipy/files/scipy-0.12.0-blitz.patch28
-rw-r--r--sci-libs/scipy/files/scipy-0.12.0-restore-sys-argv.patch15
-rw-r--r--sci-libs/scipy/metadata.xml20
-rw-r--r--sci-libs/scipy/scipy-0.15.1.ebuild141
-rw-r--r--sci-libs/scipy/scipy-0.16.0.ebuild143
-rw-r--r--sci-libs/scotch/Manifest3
-rw-r--r--sci-libs/scotch/files/scotch-5.1.12b-as-needed.patch112
-rw-r--r--sci-libs/scotch/files/scotch-6.0.0-as-needed.patch128
-rw-r--r--sci-libs/scotch/files/scotch-6.0.4-as-needed.patch128
-rw-r--r--sci-libs/scotch/metadata.xml31
-rw-r--r--sci-libs/scotch/scotch-5.1.12b.ebuild158
-rw-r--r--sci-libs/scotch/scotch-6.0.0.ebuild166
-rw-r--r--sci-libs/scotch/scotch-6.0.4.ebuild166
-rw-r--r--sci-libs/shapelib/Manifest1
-rw-r--r--sci-libs/shapelib/files/fix-shapelib-test.diff30
-rw-r--r--sci-libs/shapelib/files/makefile-fix.patch9
-rw-r--r--sci-libs/shapelib/files/shapelib-1.3.0-respect-user.patch118
-rw-r--r--sci-libs/shapelib/files/stdlib_include_fix.patch30
-rw-r--r--sci-libs/shapelib/metadata.xml6
-rw-r--r--sci-libs/shapelib/shapelib-1.3.0-r1.ebuild67
-rw-r--r--sci-libs/shogun/Manifest6
-rw-r--r--sci-libs/shogun/files/shogun-1.1.0-as-needed.patch48
-rw-r--r--sci-libs/shogun/files/shogun-1.1.0-respect-ldflags.patch12
-rw-r--r--sci-libs/shogun/files/shogun-1.1.0-test-readline.patch11
-rw-r--r--sci-libs/shogun/files/shogun-1.1.0-test-snappy.patch13
-rw-r--r--sci-libs/shogun/files/shogun-3.2.0-atlas.patch22
-rw-r--r--sci-libs/shogun/metadata.xml37
-rw-r--r--sci-libs/shogun/shogun-1.1.0.ebuild160
-rw-r--r--sci-libs/shogun/shogun-2.0.0.ebuild164
-rw-r--r--sci-libs/shogun/shogun-3.2.0.ebuild137
-rw-r--r--sci-libs/silo/Manifest2
-rw-r--r--sci-libs/silo/files/silo-4.10.2-qtlibs.patch66
-rw-r--r--sci-libs/silo/files/silo-4.10.2-tests.patch11
-rw-r--r--sci-libs/silo/files/silo-4.9.1-qtlibs.patch66
-rw-r--r--sci-libs/silo/files/silo-4.9.1-tests.patch11
-rw-r--r--sci-libs/silo/metadata.xml18
-rw-r--r--sci-libs/silo/silo-4.10.2.ebuild38
-rw-r--r--sci-libs/silo/silo-4.9.1.ebuild39
-rw-r--r--sci-libs/spooles/Manifest1
-rw-r--r--sci-libs/spooles/files/Make.inc.in9
-rw-r--r--sci-libs/spooles/files/spooles-2.2-I2Ohash-64bit.patch28
-rw-r--r--sci-libs/spooles/files/spooles-2.2-formats.patch17
-rw-r--r--sci-libs/spooles/files/spooles-2.2-makefiles.patch47
-rw-r--r--sci-libs/spooles/metadata.xml19
-rw-r--r--sci-libs/spooles/spooles-2.2.ebuild68
-rw-r--r--sci-libs/spqr/Manifest2
-rw-r--r--sci-libs/spqr/files/spqr-1.2.3-autotools.patch203
-rw-r--r--sci-libs/spqr/metadata.xml17
-rw-r--r--sci-libs/spqr/spqr-1.2.3-r1.ebuild40
-rw-r--r--sci-libs/spqr/spqr-1.3.1.ebuild32
-rw-r--r--sci-libs/spr/Manifest1
-rw-r--r--sci-libs/spr/files/spr-3.3.2-autotools.patch169
-rw-r--r--sci-libs/spr/files/spr-3.3.2-gcc46.patch33
-rw-r--r--sci-libs/spr/metadata.xml18
-rw-r--r--sci-libs/spr/spr-3.3.2.ebuild38
-rw-r--r--sci-libs/ssm/Manifest2
-rw-r--r--sci-libs/ssm/files/ssm-1.1-mmdb.patch27
-rw-r--r--sci-libs/ssm/files/ssm-1.1-pc.patch19
-rw-r--r--sci-libs/ssm/metadata.xml11
-rw-r--r--sci-libs/ssm/ssm-1.1.ebuild31
-rw-r--r--sci-libs/ssm/ssm-1.4.ebuild26
-rw-r--r--sci-libs/starparse/Manifest1
-rw-r--r--sci-libs/starparse/files/starparse-1.0-guile1.8.patch60
-rw-r--r--sci-libs/starparse/metadata.xml5
-rw-r--r--sci-libs/starparse/starparse-1.0-r1.ebuild33
-rw-r--r--sci-libs/suitesparse/metadata.xml33
-rw-r--r--sci-libs/suitesparse/suitesparse-4.0.2.ebuild28
-rw-r--r--sci-libs/suitesparse/suitesparse-4.2.1.ebuild28
-rw-r--r--sci-libs/suitesparseconfig/Manifest1
-rw-r--r--sci-libs/suitesparseconfig/metadata.xml9
-rw-r--r--sci-libs/suitesparseconfig/suitesparseconfig-4.2.1.ebuild16
-rw-r--r--sci-libs/superlu/Manifest1
-rw-r--r--sci-libs/superlu/files/superlu-4.3-autotools.patch584
-rw-r--r--sci-libs/superlu/files/superlu-4.3-format-security.patch16
-rw-r--r--sci-libs/superlu/metadata.xml21
-rw-r--r--sci-libs/superlu/superlu-4.3-r1.ebuild74
-rw-r--r--sci-libs/szip/Manifest1
-rw-r--r--sci-libs/szip/metadata.xml14
-rw-r--r--sci-libs/szip/szip-2.1-r1.ebuild20
-rw-r--r--sci-libs/szip/szip-2.1.ebuild24
-rw-r--r--sci-libs/ta-lib/Manifest1
-rw-r--r--sci-libs/ta-lib/files/ta-lib-0.4.0-asneeded.patch83
-rw-r--r--sci-libs/ta-lib/metadata.xml10
-rw-r--r--sci-libs/ta-lib/ta-lib-0.4.0.ebuild29
-rw-r--r--sci-libs/tamu_anova/Manifest1
-rw-r--r--sci-libs/tamu_anova/files/0.2.1-gentoo.patch35
-rw-r--r--sci-libs/tamu_anova/files/tamu_anova-0.2.1-texinfo5.1.patch39
-rw-r--r--sci-libs/tamu_anova/metadata.xml8
-rw-r--r--sci-libs/tamu_anova/tamu_anova-0.2.1.ebuild28
-rw-r--r--sci-libs/taucs/Manifest1
-rw-r--r--sci-libs/taucs/files/taucs-2.2-no-test-cilk.patch20
-rw-r--r--sci-libs/taucs/metadata.xml29
-rw-r--r--sci-libs/taucs/taucs-2.2.ebuild94
-rw-r--r--sci-libs/tnt/Manifest3
-rw-r--r--sci-libs/tnt/metadata.xml14
-rw-r--r--sci-libs/tnt/tnt-1.2.6.ebuild32
-rw-r--r--sci-libs/tnt/tnt-3.0.12.ebuild29
-rw-r--r--sci-libs/torch/Manifest2
-rw-r--r--sci-libs/torch/files/3.1-prll.patch40
-rw-r--r--sci-libs/torch/metadata.xml8
-rw-r--r--sci-libs/torch/torch-3.1.ebuild57
-rw-r--r--sci-libs/torch/torch-3.ebuild71
-rw-r--r--sci-libs/udunits/Manifest2
-rw-r--r--sci-libs/udunits/files/udunits-2.1.15-autotools.patch61
-rw-r--r--sci-libs/udunits/metadata.xml11
-rw-r--r--sci-libs/udunits/udunits-2.1.15.ebuild37
-rw-r--r--sci-libs/udunits/udunits-2.1.24.ebuild43
-rw-r--r--sci-libs/ufconfig/Manifest4
-rw-r--r--sci-libs/ufconfig/metadata.xml10
-rw-r--r--sci-libs/ufconfig/ufconfig-3.5.0.ebuild42
-rw-r--r--sci-libs/ufconfig/ufconfig-3.6.1.ebuild41
-rw-r--r--sci-libs/ufconfig/ufconfig-3.7.0.ebuild44
-rw-r--r--sci-libs/ufconfig/ufconfig-3.7.1.ebuild44
-rw-r--r--sci-libs/umfpack/Manifest2
-rw-r--r--sci-libs/umfpack/files/umfpack-5.2.0-autotools.patch531
-rw-r--r--sci-libs/umfpack/metadata.xml15
-rw-r--r--sci-libs/umfpack/umfpack-5.2.0.ebuild47
-rw-r--r--sci-libs/umfpack/umfpack-5.6.2.ebuild34
-rw-r--r--sci-libs/vecmath-objectclub/Manifest1
-rw-r--r--sci-libs/vecmath-objectclub/metadata.xml19
-rw-r--r--sci-libs/vecmath-objectclub/vecmath-objectclub-1.14.ebuild40
-rw-r--r--sci-libs/voro++/Manifest1
-rw-r--r--sci-libs/voro++/files/voro++-0.4.6-cmake.patch141
-rw-r--r--sci-libs/voro++/metadata.xml5
-rw-r--r--sci-libs/voro++/voro++-0.4.6-r1.ebuild26
-rw-r--r--sci-libs/votca-tools/Manifest3
-rw-r--r--sci-libs/votca-tools/metadata.xml15
-rw-r--r--sci-libs/votca-tools/votca-tools-1.2.2.ebuild69
-rw-r--r--sci-libs/votca-tools/votca-tools-1.2.4.ebuild58
-rw-r--r--sci-libs/vtk/Manifest6
-rw-r--r--sci-libs/vtk/files/vtk-5.10.1-ffmpeg-1.patch49
-rw-r--r--sci-libs/vtk/files/vtk-5.10.1-libav-9.patch117
-rw-r--r--sci-libs/vtk/files/vtk-5.10.1-tcl8.6.patch57
-rw-r--r--sci-libs/vtk/files/vtk-5.2.0-tcl-install.patch12
-rw-r--r--sci-libs/vtk/files/vtk-5.4.2-boost-property_map.patch194
-rw-r--r--sci-libs/vtk/files/vtk-5.4.2-cg-path.patch35
-rw-r--r--sci-libs/vtk/files/vtk-5.4.2-libpng14.patch20
-rw-r--r--sci-libs/vtk/files/vtk-5.6.0-R.patch57
-rw-r--r--sci-libs/vtk/files/vtk-5.6.0-boost-property_map.patch13
-rw-r--r--sci-libs/vtk/files/vtk-5.6.0-cg-path.patch36
-rw-r--r--sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch42
-rw-r--r--sci-libs/vtk/files/vtk-5.6.0-libpng14.patch22
-rw-r--r--sci-libs/vtk/files/vtk-5.6.0-odbc.patch12
-rw-r--r--sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch42
-rw-r--r--sci-libs/vtk/files/vtk-5.6.1-gcc-46.patch29
-rw-r--r--sci-libs/vtk/files/vtk-5.6.1-libav-0.8.patch66
-rw-r--r--sci-libs/vtk/files/vtk-5.6.1-libpng15.patch22
-rw-r--r--sci-libs/vtk/files/vtk-5.8.0-R.patch45
-rw-r--r--sci-libs/vtk/files/vtk-5.8.0-boost.patch39
-rw-r--r--sci-libs/vtk/files/vtk-6.0.0-cg-path.patch16
-rw-r--r--sci-libs/vtk/files/vtk-6.0.0-install.patch19
-rw-r--r--sci-libs/vtk/files/vtk-6.0.0-netcdf.patch75
-rw-r--r--sci-libs/vtk/files/vtk-6.0.0-system.patch27
-rw-r--r--sci-libs/vtk/files/vtk-6.0.0-vtkpython.patch12
-rw-r--r--sci-libs/vtk/files/vtk-6.1.0-freetype.patch22
-rw-r--r--sci-libs/vtk/files/vtk-6.1.0-glext.patch13
-rw-r--r--sci-libs/vtk/files/vtk-6.1.0-install.patch19
-rw-r--r--sci-libs/vtk/files/vtk-6.1.0-memset.patch147
-rw-r--r--sci-libs/vtk/files/vtk-6.1.0-netcdf.patch29
-rw-r--r--sci-libs/vtk/files/vtk-6.1.0-system.patch27
-rw-r--r--sci-libs/vtk/files/vtk-6.1.0-web.patch25
-rw-r--r--sci-libs/vtk/metadata.xml26
-rw-r--r--sci-libs/vtk/vtk-6.0.0.ebuild323
-rw-r--r--sci-libs/vtk/vtk-6.1.0-r1.ebuild389
-rw-r--r--sci-libs/vtk/vtk-6.1.0.ebuild379
-rw-r--r--sci-libs/vtkdata/Manifest2
-rw-r--r--sci-libs/vtkdata/metadata.xml8
-rw-r--r--sci-libs/vtkdata/vtkdata-6.0.0.ebuild27
-rw-r--r--sci-libs/vtkdata/vtkdata-6.1.0.ebuild27
-rw-r--r--sci-libs/xdmf2/Manifest1
-rw-r--r--sci-libs/xdmf2/files/xdmf2-1.0_p141226-module.patch13
-rw-r--r--sci-libs/xdmf2/metadata.xml8
-rw-r--r--sci-libs/xdmf2/xdmf2-1.0_p141226-r1.ebuild64
-rw-r--r--sci-libs/xdrfile/Manifest1
-rw-r--r--sci-libs/xdrfile/metadata.xml9
-rw-r--r--sci-libs/xdrfile/xdrfile-1.1.1.ebuild24
-rw-r--r--sci-libs/xgks-pmel/Manifest1
-rw-r--r--sci-libs/xgks-pmel/files/aclocal.patch146
-rw-r--r--sci-libs/xgks-pmel/metadata.xml10
-rw-r--r--sci-libs/xgks-pmel/xgks-pmel-2.5.5.ebuild81
-rw-r--r--sci-libs/xkaapi/Manifest3
-rw-r--r--sci-libs/xkaapi/files/xkaapi-2.1-ffi.patch24
-rw-r--r--sci-libs/xkaapi/files/xkaapi-2.1-flags.patch39
-rw-r--r--sci-libs/xkaapi/files/xkaapi-3.0.3-flags.patch31
-rw-r--r--sci-libs/xkaapi/metadata.xml12
-rw-r--r--sci-libs/xkaapi/xkaapi-2.1.ebuild58
-rw-r--r--sci-libs/xkaapi/xkaapi-2.2.ebuild58
-rw-r--r--sci-libs/xkaapi/xkaapi-3.0.3.ebuild52
-rw-r--r--sci-libs/xylib/Manifest2
-rw-r--r--sci-libs/xylib/metadata.xml13
-rw-r--r--sci-libs/xylib/xylib-1.1.ebuild28
-rw-r--r--sci-libs/xylib/xylib-1.2.ebuild31
1322 files changed, 60744 insertions, 0 deletions
diff --git a/sci-libs/Fiona/Fiona-1.5.1.ebuild b/sci-libs/Fiona/Fiona-1.5.1.ebuild
new file mode 100644
index 000000000000..756a8aaa0c5c
--- /dev/null
+++ b/sci-libs/Fiona/Fiona-1.5.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="OGR's neat, nimble, no-nonsense API"
+HOMEPAGE="https://pypi.python.org/pypi/Fiona"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ >=sci-libs/gdal-1.8
+ dev-python/click[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=( "${FILESDIR}"/scriptname.patch )
+
+python_test() {
+ esetup.py test
+}
diff --git a/sci-libs/Fiona/Fiona-9999.ebuild b/sci-libs/Fiona/Fiona-9999.ebuild
new file mode 100644
index 000000000000..ee2ff80c4e48
--- /dev/null
+++ b/sci-libs/Fiona/Fiona-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 git-r3
+
+DESCRIPTION="OGR's neat, nimble, no-nonsense API"
+HOMEPAGE="https://pypi.python.org/pypi/Fiona"
+SRC_URI=""
+EGIT_REPO_URI="http://github.com/Toblerity/${PN}.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND="
+ >=sci-libs/gdal-1.8
+ dev-python/click[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=( "${FILESDIR}"/scriptname.patch )
+
+python_test() {
+ esetup.py test
+}
diff --git a/sci-libs/Fiona/Manifest b/sci-libs/Fiona/Manifest
new file mode 100644
index 000000000000..aaea88699c76
--- /dev/null
+++ b/sci-libs/Fiona/Manifest
@@ -0,0 +1 @@
+DIST Fiona-1.5.1.tar.gz 1117361 SHA256 2e2469190107dc671b4aa05d5b8bed5c01ffeb9de79525c91129bad76915e095 SHA512 06a2f091138b455355aa24bdd3cace48a3ccbbcb8b680f8009862a9ef3bdc217b68ba4596c51caaa9d09d2fad606a581d50f2fc9f2d0636bfec459e2022546a7 WHIRLPOOL 47d274f1755aa875273f1c8b4ce8949fe9a22b237fff90bdf71aa3ff7a6a4a18ff9016ebe3cdf8b323a2d67fa45b6cb8c8e8bfc20c2c57e01df0aa7cf8733330
diff --git a/sci-libs/Fiona/files/scriptname.patch b/sci-libs/Fiona/files/scriptname.patch
new file mode 100644
index 000000000000..227e644f0759
--- /dev/null
+++ b/sci-libs/Fiona/files/scriptname.patch
@@ -0,0 +1,11 @@
+--- setup.py.orig 2015-03-27 21:34:22.790592037 +0100
++++ setup.py 2015-03-27 21:34:54.247259049 +0100
+@@ -150,7 +150,7 @@
+ packages=['fiona', 'fiona.fio'],
+ entry_points='''
+ [console_scripts]
+- fio=fiona.fio.fio:cli
++ Fiona=fiona.fio.fio:cli
+ ''',
+ install_requires=requirements,
+ tests_require=['nose'],
diff --git a/sci-libs/Fiona/metadata.xml b/sci-libs/Fiona/metadata.xml
new file mode 100644
index 000000000000..027d25f6a2b4
--- /dev/null
+++ b/sci-libs/Fiona/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Fiona</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/Rtree/Manifest b/sci-libs/Rtree/Manifest
new file mode 100644
index 000000000000..23b42c9017d2
--- /dev/null
+++ b/sci-libs/Rtree/Manifest
@@ -0,0 +1 @@
+DIST Rtree-0.8.2.tar.gz 55813 SHA256 064ecd9791fe170a8492f4ae75b0cbe8e62b5392f136a159a24d1b70c86d3c3f SHA512 c0c1091c21e92022540a0aed09c00f3b2b6abb2869757e0cb7a68a120e3a289f275cea824a72172ea5b327696a67024894f5f01354f0cd5ec5b05d9b3ec130e0 WHIRLPOOL 3167258f8a1480b2af65ebe6b6070870f6ad8dd2c5045285cb4babdff64a0bd85a4c434bf9b2a7908e211ec16be268482eacf2de8390afb27f06e8084c7b8db4
diff --git a/sci-libs/Rtree/Rtree-0.8.2.ebuild b/sci-libs/Rtree/Rtree-0.8.2.ebuild
new file mode 100644
index 000000000000..f15d40e7e25f
--- /dev/null
+++ b/sci-libs/Rtree/Rtree-0.8.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="R-Tree spatial index for Python GIS"
+HOMEPAGE="https://pypi.python.org/pypi/Rtree"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sci-libs/libspatialindex
+ sci-libs/scipy"
+DEPEND="dev-python/setuptools"
diff --git a/sci-libs/Rtree/metadata.xml b/sci-libs/Rtree/metadata.xml
new file mode 100644
index 000000000000..1d955686c636
--- /dev/null
+++ b/sci-libs/Rtree/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Rtree</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/Shapely/Manifest b/sci-libs/Shapely/Manifest
new file mode 100644
index 000000000000..6d0ebde8b8d9
--- /dev/null
+++ b/sci-libs/Shapely/Manifest
@@ -0,0 +1,2 @@
+DIST Shapely-1.3.0.tar.gz 118863 SHA256 297df004aec27e38ed93987e93ff5f8187cd0299394fe8b0b9028566015a9bb5 SHA512 106f9773a5b00e7269a84c760f3a2b867c48139c48eebeecd524c8216d75c28daaf46eff45c118c1809999e33a317e9aca278a8d83605dc7273877a7ed3edd82 WHIRLPOOL ddf42cab233b0950a4a955070c5a2a7791a7f259ba857778689944c7799484f7c1aa710926c37c8c66deaae5ab4f03d79fa2f407e8e6d05238217b529e7b1b15
+DIST Shapely-1.3.2.tar.gz 120179 SHA256 9f0de51c71373fcee4962f79f4813d67ea1e711f4394d7636c929a4019c5c2ff SHA512 23d65c5a7137726e05e0399dc49f05e5ad9b582d4adcdf30215f72ae75989e85daf30ea2a5010d6a5a086cb6bbb5b4599b5065080b845c833776812f6e46566d WHIRLPOOL 37836bd5597e485fe4ac8bb0994724fd7cde59bc2d57becd0e89547c0b561d147ff9bea3d99b1429c8a163538a7af7deb8416a4e5dfb8c9f7dff5322e81b2fb6
diff --git a/sci-libs/Shapely/Shapely-1.3.0.ebuild b/sci-libs/Shapely/Shapely-1.3.0.ebuild
new file mode 100644
index 000000000000..aca63508a63c
--- /dev/null
+++ b/sci-libs/Shapely/Shapely-1.3.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="https://pypi.python.org/pypi/Shapely"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=sci-libs/geos-3.1"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/setup_unicode.patch )
+
+python_test() {
+ esetup.py test
+}
diff --git a/sci-libs/Shapely/Shapely-1.3.2.ebuild b/sci-libs/Shapely/Shapely-1.3.2.ebuild
new file mode 100644
index 000000000000..aca63508a63c
--- /dev/null
+++ b/sci-libs/Shapely/Shapely-1.3.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="https://pypi.python.org/pypi/Shapely"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND=">=sci-libs/geos-3.1"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/setup_unicode.patch )
+
+python_test() {
+ esetup.py test
+}
diff --git a/sci-libs/Shapely/Shapely-9999.ebuild b/sci-libs/Shapely/Shapely-9999.ebuild
new file mode 100644
index 000000000000..1b3020d48ddd
--- /dev/null
+++ b/sci-libs/Shapely/Shapely-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 git-r3
+
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="https://pypi.python.org/pypi/Shapely"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/Toblerity/${PN}.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+
+RDEPEND=">=sci-libs/geos-3.1"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ esetup.py test
+}
diff --git a/sci-libs/Shapely/files/setup_unicode.patch b/sci-libs/Shapely/files/setup_unicode.patch
new file mode 100644
index 000000000000..89e1b058f0f8
--- /dev/null
+++ b/sci-libs/Shapely/files/setup_unicode.patch
@@ -0,0 +1,23 @@
+--- setup.py.orig 2014-06-20 10:27:26.638779565 +0200
++++ setup.py 2014-06-20 10:27:29.885446151 +0200
+@@ -1,4 +1,5 @@
+ #!/usr/bin/env python
++# -*- coding: utf-8 -*-
+
+ from __future__ import print_function
+
+@@ -74,8 +75,12 @@
+ readme_text = fp.read()
+ readme_text = readme_text.replace(".. include:: CREDITS.txt", "")
+
+-with open('CREDITS.txt', 'r') as fp:
+- credits = fp.read()
++if sys.version_info[0] == 3:
++ with open('CREDITS.txt', 'r', encoding='utf-8') as fp:
++ credits = fp.read()
++elif sys.version_info[0] == 2:
++ with open('CREDITS.txt', 'r') as fp:
++ credits = fp.read().decode('utf-8')
+
+ with open('CHANGES.txt', 'r') as fp:
+ changes_text = fp.read()
diff --git a/sci-libs/Shapely/metadata.xml b/sci-libs/Shapely/metadata.xml
new file mode 100644
index 000000000000..ed7978de6acf
--- /dev/null
+++ b/sci-libs/Shapely/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">Shapely</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/ViSP/Manifest b/sci-libs/ViSP/Manifest
new file mode 100644
index 000000000000..ee4b922b24ac
--- /dev/null
+++ b/sci-libs/ViSP/Manifest
@@ -0,0 +1 @@
+DIST ViSP-2.10.0.tar.gz 20745399 SHA256 1c8a37cadd0012526be9ceaa182eb21fb0d45aac622a1f0f2d255225e85797aa SHA512 485bad6aea1dddf51c1edd162e22f5f00205947b67b57843207902ea3b97b683828031338282861be495d66cc79bde3a7af09c075aa9c6b783652d5d3bd4f9ef WHIRLPOOL d3d7e29076231fd581346f7de37ef49afed22f48198673d08268b1a298121d8a9bd8a9bc6e34cf2a5655cf45575599b09c5cb56e78961340122ca6f95ee275e3
diff --git a/sci-libs/ViSP/ViSP-2.10.0.ebuild b/sci-libs/ViSP/ViSP-2.10.0.ebuild
new file mode 100644
index 000000000000..9bc5ac3e2a0c
--- /dev/null
+++ b/sci-libs/ViSP/ViSP-2.10.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Visual Servoing Platform: visual tracking and visual servoing library"
+HOMEPAGE="http://www.irisa.fr/lagadic/visp/visp.html"
+SRC_URI="http://gforge.inria.fr/frs/download.php/latestfile/475/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE="
+ demos +dmtx doc examples ffmpeg gsl ieee1394 jpeg lapack ogre ois opencv png
+ test tutorials usb v4l X xml +zbar zlib
+"
+
+RDEPEND="
+ dmtx? ( media-libs/libdmtx )
+ ffmpeg? ( virtual/ffmpeg )
+ gsl? ( sci-libs/gsl )
+ ieee1394? ( media-libs/libdc1394 )
+ jpeg? ( virtual/jpeg:0 )
+ lapack? ( virtual/lapack )
+ ogre? ( dev-games/ogre[ois?] dev-libs/boost:=[threads] )
+ opencv? ( media-libs/opencv )
+ png? ( media-libs/libpng:0= )
+ usb? ( virtual/libusb:1 )
+ v4l? ( media-libs/libv4l )
+ X? ( x11-libs/libX11 )
+ xml? ( dev-libs/libxml2 )
+ zbar? ( media-gfx/zbar )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen virtual/latex-base media-gfx/graphviz )
+ virtual/pkgconfig
+ test? ( sci-misc/ViSP-images )
+ v4l? ( virtual/os-headers )"
+RDEPEND="${RDEPEND}
+ demos? ( sci-misc/ViSP-images )"
+REQUIRED_USE="ffmpeg? ( opencv ) ois? ( ogre )"
+PATCHES=( "${FILESDIR}/opencv.patch" "${FILESDIR}/opencv3.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_EXAMPLES=$(usex examples ON OFF)"
+ "-DBUILD_TESTS=$(usex test ON OFF)"
+ "-DBUILD_DEMOS=$(usex demos ON OFF)"
+ "-DBUILD_TUTORIALS=$(usex tutorials ON OFF)"
+ "-DUSE_V4L2=$(usex v4l ON OFF)"
+ "-DUSE_DC1394=$(usex ieee1394 ON OFF)"
+ "-DUSE_LAPACK=$(usex lapack ON OFF)"
+ "-DUSE_GSL=$(usex gsl ON OFF)"
+ "-DUSE_OGRE=$(usex ogre ON OFF)"
+ "-DUSE_OIS=$(usex ois ON OFF)"
+ "-DUSE_LIBUSB_1=$(usex usb ON OFF)"
+ "-DUSE_XML2=$(usex xml ON OFF)"
+ "-DUSE_OPENCV=$(usex opencv ON OFF)"
+ "-DUSE_ZLIB=$(usex zlib ON OFF)"
+ "-DUSE_X11=$(usex X ON OFF)"
+ "-DUSE_LIBJPEG=$(usex jpeg ON OFF)"
+ "-DUSE_LIBPNG=$(usex png ON OFF)"
+ "-DUSE_FFMPEG=$(usex ffmpeg ON OFF)"
+ "-DUSE_ZBAR=$(usex zbar ON OFF)"
+ "-DUSE_DMTX=$(usex dmtx ON OFF)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ cd "${BUILD_DIR}"
+ use doc && emake visp_doc
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use tutorials ; then
+ dodoc -r tutorial
+ docompress -x /usr/share/doc/${PF}/tutorial
+ fi
+ cd "${BUILD_DIR}"
+ use doc && dohtml -r doc/html/*
+}
diff --git a/sci-libs/ViSP/files/opencv.patch b/sci-libs/ViSP/files/opencv.patch
new file mode 100644
index 000000000000..c8cafe0a5c97
--- /dev/null
+++ b/sci-libs/ViSP/files/opencv.patch
@@ -0,0 +1,13 @@
+Index: ViSP-2.10.0/CMakeLists.txt
+===================================================================
+--- ViSP-2.10.0.orig/CMakeLists.txt
++++ ViSP-2.10.0/CMakeLists.txt
+@@ -1450,7 +1450,7 @@ if(USE_OPENCV)
+ list(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
+ endif()
+ list(APPEND VISP_EXTERN_INCLUDE_DIRS ${OpenCV_INCLUDE_DIRS})
+- #LIST(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
++ LIST(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBRARIES})
+ #MESSAGE("OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
+ #MESSAGE("OpenCV_LIBS = ${OpenCV_LIBS}")
+ #MESSAGE("OpenCV_LIB_DIR = ${OpenCV_LIB_DIR}")
diff --git a/sci-libs/ViSP/files/opencv3.patch b/sci-libs/ViSP/files/opencv3.patch
new file mode 100644
index 000000000000..8f7f9ee269cd
--- /dev/null
+++ b/sci-libs/ViSP/files/opencv3.patch
@@ -0,0 +1,67 @@
+Index: ViSP-2.10.0/src/key-point/vpKeyPoint.h
+===================================================================
+--- ViSP-2.10.0.orig/src/key-point/vpKeyPoint.h
++++ ViSP-2.10.0/src/key-point/vpKeyPoint.h
+@@ -494,6 +494,7 @@ public:
+ initDetector(detectorName);
+ }
+
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ /*!
+ Template function to set to a \p parameterName a value for a specific detector named by his \p detectorName.
+
+@@ -507,6 +508,7 @@ public:
+ m_detectors[detectorName]->set(parameterName, value);
+ }
+ }
++#endif
+
+ /*!
+ Set and initialize a list of detectors denominated by their names \p detectorNames.
+@@ -532,6 +534,7 @@ public:
+ initExtractor(extractorName);
+ }
+
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ /*!
+ Template function to set to a \p parameterName a value for a specific extractor named by his \p extractorName.
+
+@@ -545,6 +548,7 @@ public:
+ m_extractors[extractorName]->set(parameterName, value);
+ }
+ }
++#endif
+
+ /*!
+ Set and initialize a list of extractors denominated by their names \p extractorNames.
+@@ -700,7 +704,7 @@ public:
+ m_useAffineDetection = useAffine;
+ }
+
+-#if (VISP_HAVE_OPENCV_VERSION >= 0x020400)
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ /*!
+ Set if cross check method must be used to eliminate some false matches with a brute-force matching method.
+
+Index: ViSP-2.10.0/src/key-point/vpKeyPoint.cpp
+===================================================================
+--- ViSP-2.10.0.orig/src/key-point/vpKeyPoint.cpp
++++ ViSP-2.10.0/src/key-point/vpKeyPoint.cpp
+@@ -868,7 +868,7 @@ void vpKeyPoint::detect(const vpImage<un
+ (int) rectangle.getBottom());
+ cv::rectangle(mask, leftTop, rightBottom, cv::Scalar(255), CV_FILLED);
+ } else {
+- mask = cv::Mat::ones(matImg.rows, matImg.cols, CV_8U);
++ mask = cv::Mat::ones(matImg.rows, matImg.cols, CV_8U) * 255;
+ }
+
+ detect(matImg, keyPoints, elapsedTime, mask);
+@@ -1544,7 +1544,7 @@ void vpKeyPoint::initExtractors(const st
+ void vpKeyPoint::initMatcher(const std::string &matcherName) {
+ m_matcher = cv::DescriptorMatcher::create(matcherName);
+
+-#if (VISP_HAVE_OPENCV_VERSION >= 0x020400)
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ if(m_matcher != NULL && !m_useKnn && matcherName == "BruteForce") {
+ m_matcher->set("crossCheck", m_useBruteForceCrossCheck);
+ }
diff --git a/sci-libs/ViSP/metadata.xml b/sci-libs/ViSP/metadata.xml
new file mode 100644
index 000000000000..6e275638c4ce
--- /dev/null
+++ b/sci-libs/ViSP/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>aballier@gentoo.org</email>
+<name>Alexis Ballier</name>
+</maintainer>
+<use>
+ <flag name="dmtx">Enables barcode data matrix support.</flag>
+ <flag name="demos">Installs demo programs.</flag>
+ <flag name="ogre">Enables <pkg>dev-games/ogre</pkg> support.</flag>
+ <flag name="ois">Enables <pkg>dev-games/ois</pkg> support via ogre.</flag>
+ <flag name="opencv">Enables <pkg>media-libs/opencv</pkg> support.</flag>
+ <flag name="tutorials">Installs tutorials.</flag>
+ <flag name="zbar">Enables barcodes reading.</flag>
+</use>
+<longdescription lang="en">
+ ViSP standing for Visual Servoing Platform is a modular cross platform library that allows prototyping and developing applications using visual tracking and visual servoing technics at the heart of the researches done by Inria Lagadic team.
+ ViSP is able to compute control laws that can be applied to robotic systems.
+ It provides a set of visual features that can be tracked using real time image processing or computer vision algorithms.
+ ViSP provides also simulation capabilities.
+
+ ViSP can be useful in robotics, computer vision, augmented reality and computer animation.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/acml/Manifest b/sci-libs/acml/Manifest
new file mode 100644
index 000000000000..1bc390d246ba
--- /dev/null
+++ b/sci-libs/acml/Manifest
@@ -0,0 +1,6 @@
+DIST acml-4-1-0-gfortran-32bit.tgz 18258099 SHA256 52580576c3a425635eccb19fc5df38c3139fbc44fd669799bc8ffd0e2d82ccc7
+DIST acml-4-1-0-gfortran-64bit-int64.tgz 29351223 SHA256 825ae742df873cf6d41fbaaecff08941badb2b43a7021ba6c8af7abc75a6d14d
+DIST acml-4-1-0-gfortran-64bit.tgz 29995624 SHA256 50f64687b86556123538e1f2bd4c185ff1d018501a5a5834ec8acf7487c817c4
+DIST acml-4-1-0-ifort-32bit.tgz 18797527 SHA256 5dfa768c12e96d2d25678e85cf2e0eea3bd427ddd94f417bcad09abe25369375
+DIST acml-4-1-0-ifort-64bit-int64.tgz 36135363 SHA256 3da0ded50ab25e44f531ac58b469344fed0f6af4ae70aa58b1286cf8de9731a4
+DIST acml-4-1-0-ifort-64bit.tgz 36577689 SHA256 b5b60425fccb624e3baf48f5d51ae68ccdc3e9852a4a50661bb3e45a6f25be40
diff --git a/sci-libs/acml/acml-4.1.0-r2.ebuild b/sci-libs/acml/acml-4.1.0-r2.ebuild
new file mode 100644
index 000000000000..05a9a11930c0
--- /dev/null
+++ b/sci-libs/acml/acml-4.1.0-r2.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils fortran-2 multilib toolchain-funcs versionator
+
+MY_P=${PN}-$(replace_all_version_separators -)
+
+DESCRIPTION="AMD Core Math Library for x86 and amd64 CPUs"
+HOMEPAGE="http://developer.amd.com/acml.jsp"
+SRC_URI="
+ amd64? (
+ ifc? ( ${MY_P}-ifort-64bit.tgz
+ int64? ( ${MY_P}-ifort-64bit-int64.tgz ) )
+ gfortran? ( ${MY_P}-gfortran-64bit.tgz
+ int64? ( ${MY_P}-gfortran-64bit-int64.tgz ) )
+ !ifc? (
+ !gfortran? ( ${MY_P}-gfortran-64bit.tgz
+ int64? ( ${MY_P}-gfortran-64bit-int64.tgz ) ) ) )
+ x86? (
+ ifc? ( ${MY_P}-ifort-32bit.tgz )
+ gfortran? ( ${MY_P}-gfortran-32bit.tgz )
+ !ifc? ( !gfortran? ( ${MY_P}-gfortran-32bit.tgz ) ) )"
+
+SLOT="0"
+LICENSE="ACML"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="doc examples gfortran ifc int64 openmp test"
+
+RESTRICT="strip fetch"
+
+CDEPEND="
+ ifc? ( dev-lang/ifc )
+ gfortran? ( =sys-devel/gcc-4.2* )
+ !gfortran? ( !ifc? ( =sys-devel/gcc-4.2* ) )"
+
+DEPEND="
+ app-eselect/eselect-blas
+ app-eselect/eselect-lapack
+ test? ( ${CDEPEND} )"
+
+RDEPEND="${CDEPEND}
+ app-eselect/eselect-blas
+ app-eselect/eselect-lapack
+ doc? ( app-doc/blas-docs app-doc/lapack-docs )"
+
+S="${WORKDIR}"
+
+pkg_nofetch() {
+ einfo "Please download the ACML from:"
+ einfo "${HOMEPAGE}"
+ einfo "and place it in ${DISTDIR}."
+ einfo "The previous versions could be found at"
+ einfo "http://developer.amd.com/acmlarchive.jsp"
+ einfo "SRC=${A} $SRC_URI"
+}
+
+get_fcomp() {
+ case $(tc-getFC) in
+ *gfortran* )
+ FCOMP="gfortran" ;;
+ ifort )
+ FCOMP="ifc" ;;
+ * )
+ FCOMP=$(tc-getFC) ;;
+ esac
+}
+
+pkg_setup() {
+ if use test; then
+ # work around incomplete fortran eclass
+ if use gfortran &&
+ [[ $(tc-getFC) =~ gfortran ]] &&
+ [[ $(gcc-version) != 4.2 ]]
+ then
+ eerror "You need gfortran-4.2 to test acml"
+ eerror "Please use gcc-config to switch gcc version 4.2"
+ die "gfortran check failed"
+ fi
+ fi
+ if use openmp; then
+ tc-has-openmp || die "Please ensure your compiler has openmp support"
+ FORTRAN_NEED_OPENMP=1
+ fi
+ fortran-2_pkg_setup
+ get_fcomp
+ # construct default profile dprof from default ddir
+ local ddir=gfortran
+ use ifc && ddir=ifort
+ use x86 && ddir=${ddir}32 || ddir=${ddir}64
+ use openmp && ddir=${ddir}_mp
+ use int64 && ddir=${ddir}_int64
+ ACML_DEFAULT_DIR=${ddir}
+}
+
+src_unpack() {
+ unpack ${A}
+ unpack ./contents-acml-*.tgz
+ use openmp || rm -rf *_mp*
+}
+
+src_test() {
+ # only testing with current chosen compiler
+ for fdir in ${ACML_DEFAULT_DIR/_mp}*; do
+ einfo "Testing acml in ${fdir}"
+ for d in . acml_mv; do
+ cd "${S}"/${fdir}/examples/${d}
+ emake \
+ ACMLDIR="${S}"/${fdir} \
+ F77=$(tc-getFC) \
+ CC="$(tc-getCC)" \
+ CPLUSPLUS="$(tc-getCXX)"
+ emake clean
+ done
+ done
+}
+
+make_acml_profile_name() {
+ local fort=${1%%[[:digit:]]*}
+ local opt=${1#*[0-9][0-9]}
+ echo ${PN}-${fort}${opt/mp/openmp} | tr '_' '-'
+}
+
+src_install() {
+ # respect acml default install dir (and FHS)
+ local instdir=/opt/${PN}${PV}
+ dodir ${instdir}
+
+ for lib in */lib; do
+ local fdir=${lib%/*}
+ # install acml
+ use examples || rm -rf "${S}"/${fdir}/examples
+ cp -pPR "${S}"/${fdir} "${D}"${instdir} || die "copy ${fdir} failed"
+
+ # install profiles
+ local prof=$(make_acml_profile_name ${fdir})
+ local acmldir=${instdir}/${fdir}
+ local acmllibs="-lacml"
+ local libname=${acmldir}/lib/libacml
+ local extlibs
+ local extflags
+ [[ ${fdir} =~ int64 ]] && extflags="${extflags} -fdefault-integer-8"
+ [[ ${fdir} =~ gfortran ]] && extlibs="${extlibs} -lgfortran"
+ if [[ ${fdir} =~ _mp ]]; then
+ [[ ${fdir} =~ ifort ]] && extlibs="${extlibs} -lguide"
+ extlibs="${extlibs} -lpthread"
+ extflags="${extflags} -fopenmp"
+ acmllibs="-lacml_mp"
+ libname=${libname}_mp
+ fi
+ use amd64 && acmllibs="${acmllibs} -lacml_mv"
+ for x in blas lapack; do
+ # pkgconfig files
+ sed -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@ACMLDIR@:${acmldir}:g" \
+ -e "s:@ACMLLIBS@:${acmllibs}:g" \
+ -e "s:@EXTLIBS@:${extlibs}:g" \
+ -e "s:@EXTFLAGS@:${extflags}:g" \
+ "${FILESDIR}"/${x}.pc.in > ${x}.pc \
+ || die "sed ${x}.pc failed"
+ insinto ${acmldir}/lib
+ doins ${x}.pc
+
+ # eselect files
+ cat > eselect.${prof}.${x} <<-EOF
+ ${libname}.so /usr/@LIBDIR@/lib${x}.so.0
+ ${libname}.so /usr/@LIBDIR@/lib${x}.so
+ ${libname}.a /usr/@LIBDIR@/lib${x}.a
+ ${acmldir}/lib/${x}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc
+ EOF
+ eselect ${x} add $(get_libdir) eselect.${prof}.${x} ${prof}
+ done
+ done
+
+ echo "LDPATH=${instdir}/${ACML_DEFAULT_DIR}/lib" > 35acml
+ doenvd "${S}"/35acml
+ use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html
+ cp -pPR "${S}"/Doc "${D}"${instdir} || die "copy doc failed"
+}
+
+pkg_postinst() {
+ local dprof="$(make_acml_profile_name ${ACML_DEFAULT_DIR})"
+ for x in blas lapack; do
+ local cprof=$(eselect ${x} show | cut -d' ' -f2)
+ if [[ ${cprof} == ${dprof} || -z ${cprof} ]]; then
+ # work around eselect bug #189942
+ local configfile="${ROOT}"/etc/env.d/${x}/$(get_libdir)/config
+ [[ -e ${configfile} ]] && rm -f ${configfile}
+ eselect ${x} set ${dprof}
+ elog "${x} has been eselected to ${dprof}"
+ else
+ elog "Current eselected ${x} implementation is ${cprof}"
+ elog "To use you have one of ${PN}, issue (as root):"
+ elog "\t eselect ${x} set <profile>"
+ fi
+ done
+}
diff --git a/sci-libs/acml/files/blas.pc.in b/sci-libs/acml/files/blas.pc.in
new file mode 100644
index 000000000000..523aabc1204c
--- /dev/null
+++ b/sci-libs/acml/files/blas.pc.in
@@ -0,0 +1,11 @@
+prefix=@ACMLDIR@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: blas
+Description: ACML implementations of the Basic Linear Algebra Subroutines
+Version: @PV@
+URL: http://developer.amd.com/acml.jsp
+Libs: -Wl,--no-as-needed -L${libdir} @ACMLLIBS@ @EXTLIBS@
+Cflags: @EXTFLAGS@
diff --git a/sci-libs/acml/files/lapack.pc.in b/sci-libs/acml/files/lapack.pc.in
new file mode 100644
index 000000000000..48fef122dfe4
--- /dev/null
+++ b/sci-libs/acml/files/lapack.pc.in
@@ -0,0 +1,11 @@
+prefix=@ACMLDIR@
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: lapack
+Description: ACML implementation of the F77 Linear Algebra PACKage
+Version: @PV@
+URL: http://developer.amd.com/acml.jsp
+Libs: -Wl,--no-as-needed -L${libdir} @ACMLLIBS@ @EXTLIBS@
+Cflags: @EXTFLAGS@
diff --git a/sci-libs/acml/metadata.xml b/sci-libs/acml/metadata.xml
new file mode 100644
index 000000000000..29546f51523b
--- /dev/null
+++ b/sci-libs/acml/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The AMD(R) Core Math Library provides an implementation of the "Basic
+ Linear Algebra Subprograms" (BLAS) and the "Linear Algebra PACKage"
+ (LAPACK) as well as a set of "Fast Fourier Transformation" (FFT)
+ routines, all highly optimized for AMD(R) x86 and amd64 CPUs.
+</longdescription>
+ <longdescription lang="de">
+ Die AMD(R) Core Math Library ist ein Ersatz für die "Basic Linear
+ Algebra Subprograms" (BLAS) und das "Linear Algebra PACKage" (LAPACK).
+ Außerdem enthält sie Routinen zur "Fast Fourier Tranformation" (FFT).
+ Alle Routinen sind hoch optimiert für AMD(R) x86 und amd64 CPUs.
+</longdescription>
+ <use>
+ <flag name="gfortran">Fetch and install acml compiled with GNU gfortran</flag>
+ <flag name="ifc">Fetch and install acml compiled with Intel Fortran Compiler
+ (<pkg>dev-lang/ifc</pkg>)</flag>
+ <flag name="int64">Install the 64 bits integer library</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/adolc/Manifest b/sci-libs/adolc/Manifest
new file mode 100644
index 000000000000..39489cbe99b8
--- /dev/null
+++ b/sci-libs/adolc/Manifest
@@ -0,0 +1,3 @@
+DIST ADOL-C-2.4.1.tgz 2210414 SHA256 05bf946cc1764e2b3fa7e708ccc4303f289699d9f36b9d525f6a9a6129b4d578 SHA512 5e5135ca587d159510bf77338fdff3d324f4d32c4ec6f8cf64ddc92253b427b8ee26a30bc1d83fe18121bbfdc7454c3536f58849c0c335e1b240e39d46acdccc WHIRLPOOL cd66a895dc3cb1f6f4f705a9fbce5a93dcb6856b6288704c3d3420be7f90e57296acd3fb2ea897ba5362e706429ec56b070bf0baa7094edcbf46c92d535bc492
+DIST ADOL-C-2.5.0.tgz 2313753 SHA256 908753153e0eca31752222150977eabd8ab97c4ab8fcd19f92667aba69a048a6 SHA512 e680565ed911bc15165c27281428c1daf35e95292dc3abc64aab6633068ec0d7e7ae626e692e0574b2c696a0c4aec2c79b2b02c3760acd2bd1b579a4c42d9585 WHIRLPOOL c0301c9a8f1357aa06be8e6a53bee9825a5d56cd31a2734862bcfd1f7c944935a4cd2c8c2ed49028493cb7c998008c9853b2d4bd7f6e0519ed353bbd3b7d0a8c
+DIST ADOL-C-2.5.2.tgz 2320010 SHA256 2fa514d9799989d6379738c2bcf75070d9834e4d227eb32a5b278840893b2af9 SHA512 3d2ef6e42504de9e9c1b5777afda8ece83fa61ab7c22fd471dce6bcb74af0a789d37cd2a6c9c9ead13f6c78e07ba985e7d14e79bcdf35fa56f8e73a2411905b5 WHIRLPOOL 55043cabe44b9913a7fba73ddaf0d64caa234d7002582d78dd9cfc05510ce3fbcb6dd3d1c40a2d6425f5ee1b7cc986d525d065671191096fbb303e122089c954
diff --git a/sci-libs/adolc/adolc-2.4.1.ebuild b/sci-libs/adolc/adolc-2.4.1.ebuild
new file mode 100644
index 000000000000..7adde9df1107
--- /dev/null
+++ b/sci-libs/adolc/adolc-2.4.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+AUTOTOOLS_IN_SOURCE_BUILD=yes
+inherit autotools-utils toolchain-funcs
+
+MYPN=ADOL-C
+
+DESCRIPTION="Automatic differentiation system for C/C++"
+HOMEPAGE="https://projects.coin-or.org/ADOL-C/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="|| ( EPL-1.0 GPL-2 )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="sparse static-libs"
+
+RDEPEND="sparse? ( sci-libs/colpack )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.4.0-no-colpack.patch )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable sparse)
+ $(use_with sparse colpack "${EPREFIX}"/usr)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
diff --git a/sci-libs/adolc/adolc-2.5.0.ebuild b/sci-libs/adolc/adolc-2.5.0.ebuild
new file mode 100644
index 000000000000..a74e53adb601
--- /dev/null
+++ b/sci-libs/adolc/adolc-2.5.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+#AUTOTOOLS_IN_SOURCE_BUILD=yes
+
+inherit autotools-utils toolchain-funcs
+
+MYPN=ADOL-C
+
+DESCRIPTION="Automatic differentiation system for C/C++"
+HOMEPAGE="https://projects.coin-or.org/ADOL-C/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="|| ( EPL-1.0 GPL-2 )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="mpi sparse static-libs"
+
+RDEPEND="mpi? ( sys-cluster/ampi:0= )
+ sparse? ( sci-libs/colpack:0= )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-no-colpack.patch
+ "${FILESDIR}"/${PN}-2.5.0-pkgconfig-no-ldflags.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable mpi ampi)
+ $(use_enable sparse)
+ $(use_with sparse colpack "${EPREFIX}"/usr)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
diff --git a/sci-libs/adolc/adolc-2.5.2.ebuild b/sci-libs/adolc/adolc-2.5.2.ebuild
new file mode 100644
index 000000000000..eacb9e3990e5
--- /dev/null
+++ b/sci-libs/adolc/adolc-2.5.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+#AUTOTOOLS_IN_SOURCE_BUILD=yes
+
+inherit autotools-utils toolchain-funcs
+
+MYPN=ADOL-C
+
+DESCRIPTION="Automatic differentiation system for C/C++"
+HOMEPAGE="https://projects.coin-or.org/ADOL-C/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="|| ( EPL-1.0 GPL-2 )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="mpi sparse static-libs"
+
+RDEPEND="
+ mpi? ( sys-cluster/ampi:0= )
+ sparse? ( sci-libs/colpack:0= )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-no-colpack.patch
+ "${FILESDIR}"/${PN}-2.5.0-pkgconfig-no-ldflags.patch
+ "${FILESDIR}"/${P}-dash.patch
+)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable mpi ampi)
+ $(use_enable sparse)
+ $(use_with sparse colpack "${EPREFIX}"/usr)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
diff --git a/sci-libs/adolc/files/adolc-2.4.0-no-colpack.patch b/sci-libs/adolc/files/adolc-2.4.0-no-colpack.patch
new file mode 100644
index 000000000000..e3b5a4a2ca5f
--- /dev/null
+++ b/sci-libs/adolc/files/adolc-2.4.0-no-colpack.patch
@@ -0,0 +1,24 @@
+do not test colpack when user says no even when it is installed
+
+--- configure.ac.orig 2012-07-19 13:04:37.426461811 -0700
++++ configure.ac 2012-07-19 13:06:06.477916144 -0700
+@@ -281,7 +281,7 @@
+ COLPACK_LIBDIR=""
+ COLPACK_LIBS="-lColPack"
+ ])
+-
++if test x$colpack != xno; then
+ AC_LANG_PUSH([C++])
+ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS"
+@@ -301,7 +301,9 @@
+ CPPFLAGS="$save_CPPFLAGS"
+ LIBS="$save_LIBS"
+ AC_LANG_POP([C++])
+-
++else
++ have_colpack=no
++fi
+ AM_CONDITIONAL(HAVE_LIBCOLPACK,[test x$have_colpack = xyes])
+ if test x$have_colpack = xyes; then
+ sparse=yes
diff --git a/sci-libs/adolc/files/adolc-2.5.0-no-colpack.patch b/sci-libs/adolc/files/adolc-2.5.0-no-colpack.patch
new file mode 100644
index 000000000000..779890c8cf2b
--- /dev/null
+++ b/sci-libs/adolc/files/adolc-2.5.0-no-colpack.patch
@@ -0,0 +1,57 @@
+ autoconf/colpack.m4 | 23 +++++++++++++----------
+ 1 file changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/autoconf/colpack.m4 b/autoconf/colpack.m4
+index 9792786..bd4ba5e 100644
+--- a/autoconf/colpack.m4
++++ b/autoconf/colpack.m4
+@@ -8,20 +8,20 @@ AC_ARG_WITH(colpack,
+ AS_HELP_STRING([--with-colpack=DIR],[path to the colpack library and headers [default=system libraries]])],
+ [
+ colpack=$withval
+-COLPACK_CFLAGS="-I$colpack/include"
+-if test x${_lib} != xlib ; then
+- D[[0]]="$colpack/${_lib}"
+- D[[1]]="$colpack/lib"
+-else
+- D[[0]]="$colpack/${_lib}"
+-fi
+ ],
+ [
+ COLPACK_CFLAGS=""
+ COLPACK_LIBS="-lColPack"
+ D[[0]]=""
+ ])
+-
++if test x$colpack != xno; then
++COLPACK_CFLAGS="-I$colpack/include"
++if test x${_lib} != xlib ; then
++ D[[0]]="$colpack/${_lib}"
++ D[[1]]="$colpack/lib"
++else
++ D[[0]]="$colpack/${_lib}"
++fi
+ AC_LANG_PUSH([C++])
+ save_CXXFLAGS="$CXXFLAGS"
+ save_CPPFLAGS="$CPPFLAGS"
+@@ -33,8 +33,8 @@ have_colpackheaders=no
+ CPPFLAGS="$save_CPPFLAGS"
+ CXXFLAGS="$save_CXXFLAGS"
+ ])
+-for ((i=0; i < ${#D[@]} ; i++)); do
+-COLPACK_LIBDIR="${D[[$i]]}"
++for i in ${D[@]}; do
++COLPACK_LIBDIR="${i}"
+ if test -n "$COLPACK_LIBDIR" ; then
+ COLPACK_LIBS="-L$COLPACK_LIBDIR -lColPack -Wl,-rpath,$COLPACK_LIBDIR"
+ fi
+@@ -56,6 +56,9 @@ else
+ fi
+ done
+ AC_LANG_POP([C++])
++else
++ have_colpack=no
++fi
+
+ AM_CONDITIONAL(HAVE_LIBCOLPACK,[test x$have_colpack = xyes])
+ if test x$have_colpack = xyes; then
diff --git a/sci-libs/adolc/files/adolc-2.5.0-pkgconfig-no-ldflags.patch b/sci-libs/adolc/files/adolc-2.5.0-pkgconfig-no-ldflags.patch
new file mode 100644
index 000000000000..4a6296e2db75
--- /dev/null
+++ b/sci-libs/adolc/files/adolc-2.5.0-pkgconfig-no-ldflags.patch
@@ -0,0 +1,9 @@
+--- adolclib.pc.in.orig 2014-05-21 09:09:10.060824555 -0700
++++ adolclib.pc.in 2014-05-21 09:09:10.060824555 -0700
+@@ -7,5 +7,5 @@
+ Version: @PACKAGE_VERSION@
+ Description: Algorithmic Differentiation Library for C/C++
+ Requires:
+-Libs: -L${libdir} -l@adolclib@ -Wl,-rpath,${libdir} @LDFLAGS@ @LIBS@
++Libs: -L${libdir} -l@adolclib@ @LIBS@
+ Cflags: -I${includedir}
diff --git a/sci-libs/adolc/files/adolc-2.5.2-dash.patch b/sci-libs/adolc/files/adolc-2.5.2-dash.patch
new file mode 100644
index 000000000000..3aa5a3035a14
--- /dev/null
+++ b/sci-libs/adolc/files/adolc-2.5.2-dash.patch
@@ -0,0 +1,148 @@
+ configure.ac | 45 +++++++++++++++++----------------------------
+ 1 file changed, 17 insertions(+), 28 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 926832c..1310025 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29,12 +29,12 @@ AM_SILENT_RULES([yes])
+
+ adolclib=adolc
+
+-if test "x$CFLAGS" == x ; then
++if test "x$CFLAGS" = x ; then
+ ac_shell_cflags="not_set"
+ else
+ ac_shell_cflags="$CFLAGS"
+ fi
+-if test "x$CXXFLAGS" == x ; then
++if test "x$CXXFLAGS" = x ; then
+ ac_shell_cxxflags="not_set"
+ else
+ ac_shell_cxxflags="$CXXFLAGS"
+@@ -225,12 +225,12 @@ AS_HELP_STRING([--enable-harddebug],[enable ADOL-C hard debug mode
+ AC_MSG_RESULT(no)
+ ])
+
+-if test x$adolc_harddebug == xyes ; then
++if test x$adolc_harddebug = xyes ; then
+ adolc_debug=yes
+ AC_DEFINE(ADOLC_HARDDEBUG,1,[ADOL-C hard debug mode])
+ fi
+
+-if test x$adolc_debug == xyes ; then
++if test x$adolc_debug = xyes ; then
+ AC_DEFINE(ADOLC_DEBUG,1,[ADOL-C debug mode])
+ fi
+
+@@ -248,7 +248,7 @@ AS_HELP_STRING([--disable-stdczero],[adouble default constructor does not initia
+ AC_MSG_RESULT(yes)
+ ])
+
+-if test x$adolc_stdczero == xyes; then
++if test x$adolc_stdczero = xyes; then
+ AC_DEFINE(ADOLC_ADOUBLE_STDCZERO,1,[ADOL-C adouble zeroing mode])
+ fi
+
+@@ -265,7 +265,7 @@ AS_HELP_STRING([--enable-lateinit],[adouble constructors need to be called. With
+ AC_MSG_RESULT(no)
+ ])
+
+-if test x$adolc_late_init == xyes; then
++if test x$adolc_late_init = xyes; then
+ AC_DEFINE(ADOLC_ADOUBLE_LATEINIT,1,[ADOL-C adouble late initialization mode])
+ fi
+
+@@ -282,7 +282,7 @@ AS_HELP_STRING([--enable-tserrno],[use errno as thread number cache [default=no]
+ AC_MSG_RESULT(no)
+ ])
+
+-if test x$adolc_tserrno == xyes ; then
++if test x$adolc_tserrno = xyes ; then
+ AC_DEFINE(ADOLC_THREADSAVE_ERRNO,1,[ADOL-C thread save errno mode])
+ fi
+
+@@ -351,8 +351,8 @@ AC_ARG_WITH(cflags,
+ [AS_HELP_STRING([--with-cflags=FLAGS],
+ [use CFLAGS=FLAGS (default: -O2)])],
+ [ac_adolc_cflags="$withval"
+- if test x${adolc_debug} == xyes ||
+- test x${adolc_harddebug} == xyes ; then
++ if test "x${adolc_debug}" = xyes ||
++ test "x${adolc_harddebug}" = xyes ; then
+ ac_adolc_cflags="$ac_adolc_cflags -g -O0"
+ fi
+ ac_adolc_cflags="$ac_adolc_cflags $ac_adolc_openmpflag"
+@@ -360,8 +360,8 @@ AC_ARG_WITH(cflags,
+ AC_MSG_RESULT($ac_adolc_cflags)],
+ [if test "$ac_shell_cflags" = "not_set"; then
+ ac_adolc_cflags="-O2"
+- if test x${adolc_debug} == xyes ||
+- test x${adolc_harddebug} == xyes ; then
++ if test "x${adolc_debug}" = xyes ||
++ test "x${adolc_harddebug}" = xyes ; then
+ ac_adolc_cflags="-g -O0 -Wall -ansi"
+ fi
+ else
+@@ -377,8 +377,8 @@ AC_ARG_WITH(cxxflags,
+ [AS_HELP_STRING([--with-cxxflags=FLAGS],
+ [use CXXFLAGS=FLAGS (default: -O2)])],
+ [ac_adolc_cxxflags="$withval"
+- if test x${adolc_debug} == xyes ||
+- test x${adolc_harddebug} == xyes ; then
++ if test x${adolc_debug} = xyes ||
++ test x${adolc_harddebug} = xyes ; then
+ ac_adolc_cxxflags="$ac_adolc_cxxflags -g -O0"
+ fi
+ ac_adolc_cxxflags="$ac_adolc_cxxflags $ac_adolc_openmpflag"
+@@ -386,8 +386,8 @@ AC_ARG_WITH(cxxflags,
+ AC_MSG_RESULT($ac_adolc_cxxflags)],
+ [if test "$ac_shell_cxxflags" = "not_set"; then
+ ac_adolc_cxxflags="-O2"
+- if test x${adolc_debug} == xyes ||
+- test x${adolc_harddebug} == xyes ; then
++ if test x${adolc_debug} = xyes ||
++ test x${adolc_harddebug} = xyes ; then
+ ac_adolc_cxxflags="-g -O0 -Wall"
+ fi
+ else
+@@ -420,7 +420,7 @@ AC_ARG_ENABLE(tapedoc_values,
+ ])
+ AC_MSG_RESULT($tapedoc_values)
+
+-if test x$tapedoc_values == xyes; then
++if test x$tapedoc_values = xyes; then
+ AC_DEFINE(ADOLC_TAPE_DOC_VALUES,1,[ADOL-C tape_doc routine computes values])
+ fi
+
+@@ -583,7 +583,7 @@ while test "x${pdir}" != "x/" ; do
+ break
+ fi
+ done
+-if test "x${pdir}" == "x/" ; then
++if test "x${pdir}" = "x/" ; then
+ writable=false
+ fi
+ if ! ${writable} ; then
+@@ -595,15 +595,6 @@ if ! ${writable} ; then
+ warn=true
+ fi
+
+-case ${prefix} in
+- ${HOME}|${HOME}/*)
+-if $warn ; then
+- for (( i=5; i>0; i-- )); do
+- echo -ne "\rPlease read the above messages carefully, continuing in ${i} seconds"
+- sleep 1
+- done
+- echo -e "\rPlease read the above messages carefully "
+-fi
+ echo \
+ "
+ *****************************************************************************
+@@ -629,5 +620,3 @@ echo \
+
+ *****************************************************************************
+ "
+-;;
+-esac
diff --git a/sci-libs/adolc/metadata.xml b/sci-libs/adolc/metadata.xml
new file mode 100644
index 000000000000..ea1d9dd9ce2e
--- /dev/null
+++ b/sci-libs/adolc/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The ADOLC system automatically calculates exact derivatives of a
+ C/C++ function. It uses C++ overloading to record arithmetic
+ operations, which it plays back later in various ways to calculate
+ the requested values.
+</longdescription>
+ <use>
+ <flag name="sparse">Add support for sparse matrix algebra with <pkg>sci-libs/colpack</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/alglib/Manifest b/sci-libs/alglib/Manifest
new file mode 100644
index 000000000000..76f161451943
--- /dev/null
+++ b/sci-libs/alglib/Manifest
@@ -0,0 +1,2 @@
+DIST alglib-3.7.0.cpp.tgz 1518417 SHA256 62100afea6f3e54606031065d28b484ef82b3a96732265a23d8e0f17e34bd36c SHA512 055a292512eb6b5bdb667a2cfb8fda33237b17f1b900ba086e20a541af0f41bc85aef935c1357d780b45f3b1f2e6acddea23f19cdafa25a08f821aa391fec285 WHIRLPOOL 7dce3c5057c2b356b4f361304f2bfa6281671bb1f45204895864db0013ee18127f9cb4a64b311369debdf1adad4b4cb594514a7387adc6f9b9c21ccb4dc549f6
+DIST alglib-3.8.2.cpp.tgz 1674260 SHA256 c02944558849c8b22f32f8dea03ebf3b77a0aab9aa2518927d25f6bfe7cb06a2 SHA512 3d7b6e3b5a29f25aee476bdd69e583d7504a2e06d390822b4aa2792eeb500e08c13477176be348a9dd560bad358e423465c9086f0c7c12f73dc88024364aed50 WHIRLPOOL 8ec5a51448c00241428f3b6c6191e31f94ee09dc1d94417178a59887edb8b4e8cfd561983bc4b31686971ad27c43e957aa7c1232e500000a0ea84e763f08ddcf
diff --git a/sci-libs/alglib/alglib-3.7.0.ebuild b/sci-libs/alglib/alglib-3.7.0.ebuild
new file mode 100644
index 000000000000..d10eef749b6d
--- /dev/null
+++ b/sci-libs/alglib/alglib-3.7.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Numerical analysis and data processing library"
+HOMEPAGE="http://www.alglib.net/"
+SRC_URI="http://www.alglib.net/translator/re/${P}.cpp.tgz"
+
+SLOT="0"
+LICENSE="GPL-2+"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+"
+
+S="${WORKDIR}"/cpp/
+
+src_prepare() {
+ cp "${FILESDIR}"/CMakeLists.txt . || die
+ cmake-utils_src_prepare
+}
diff --git a/sci-libs/alglib/alglib-3.8.2.ebuild b/sci-libs/alglib/alglib-3.8.2.ebuild
new file mode 100644
index 000000000000..8a0572f9b592
--- /dev/null
+++ b/sci-libs/alglib/alglib-3.8.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Numerical analysis and data processing library"
+HOMEPAGE="http://www.alglib.net/"
+SRC_URI="http://www.alglib.net/translator/re/${P}.cpp.tgz"
+
+SLOT="0"
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+S="${WORKDIR}"/cpp/
+
+src_prepare() {
+ cp "${FILESDIR}"/CMakeLists.txt-${PV} CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=( $(cmake-utils_use_build test) )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/alglib/files/CMakeLists.txt b/sci-libs/alglib/files/CMakeLists.txt
new file mode 100644
index 000000000000..6455423b0fe9
--- /dev/null
+++ b/sci-libs/alglib/files/CMakeLists.txt
@@ -0,0 +1,32 @@
+project(alglib CXX)
+cmake_minimum_required(VERSION 2.8)
+
+INCLUDE(GNUInstallDirs)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
+SET(VERSION 3.7.0)
+SET(SOVERSION 3.7)
+
+FILE(GLOB ALGLIB_SRC_LIB "src/*.cpp")
+FILE(GLOB ALGLIB_HDR_LIB "src/*.h")
+
+ADD_LIBRARY(alglib SHARED ${ALGLIB_SRC_LIB})
+SET_TARGET_PROPERTIES(alglib PROPERTIES
+ VERSION ${VERSION}
+ SOVERSION ${SOVERSION})
+
+INSTALL(TARGETS alglib DESTINATION ${CMAKE_INSTALL_LIBDIR}/)
+INSTALL(FILES ${ALGLIB_HDR_LIB} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+#===========================================================
+ADD_EXECUTABLE(test_c tests/test_c.cpp)
+TARGET_LINK_LIBRARIES(test_c alglib)
+#INSTALL(TARGETS test_c DESTINATION ${CMAKE_INSTALL_BINDIR}/)
+#===========================================================
+ADD_EXECUTABLE(test_i tests/test_i.cpp)
+TARGET_LINK_LIBRARIES(test_i alglib)
+#INSTALL(TARGETS test_i DESTINATION ${CMAKE_INSTALL_BINDIR}/)
+#===========================================================
+
+enable_testing()
+add_test( test_c ${CMAKE_BUILD_DIR}/test_c)
+add_test( test_i ${CMAKE_BUILD_DIR}/test_i)
diff --git a/sci-libs/alglib/files/CMakeLists.txt-3.8.2 b/sci-libs/alglib/files/CMakeLists.txt-3.8.2
new file mode 100644
index 000000000000..483c63dc7f59
--- /dev/null
+++ b/sci-libs/alglib/files/CMakeLists.txt-3.8.2
@@ -0,0 +1,36 @@
+project(alglib CXX)
+cmake_minimum_required(VERSION 2.8)
+
+INCLUDE(GNUInstallDirs)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
+SET(VERSION 3.8.2)
+SET(SOVERSION 3.8)
+
+option(BUILD_TEST "Build tests" OFF)
+
+FILE(GLOB ALGLIB_SRC_LIB "src/*.cpp")
+FILE(GLOB ALGLIB_HDR_LIB "src/*.h")
+
+ADD_LIBRARY(alglib SHARED ${ALGLIB_SRC_LIB})
+SET_TARGET_PROPERTIES(alglib PROPERTIES
+ VERSION ${VERSION}
+ SOVERSION ${SOVERSION})
+
+INSTALL(TARGETS alglib DESTINATION ${CMAKE_INSTALL_LIBDIR}/)
+INSTALL(FILES ${ALGLIB_HDR_LIB} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+if (BUILD_TEST)
+ #===========================================================
+ ADD_EXECUTABLE(test_c tests/test_c.cpp)
+ TARGET_LINK_LIBRARIES(test_c alglib)
+ #INSTALL(TARGETS test_c DESTINATION ${CMAKE_INSTALL_BINDIR}/)
+ #===========================================================
+ ADD_EXECUTABLE(test_i tests/test_i.cpp)
+ TARGET_LINK_LIBRARIES(test_i alglib)
+ #INSTALL(TARGETS test_i DESTINATION ${CMAKE_INSTALL_BINDIR}/)
+ #===========================================================
+
+ enable_testing()
+endif (BUILD_TEST)
+add_test( test_c ${CMAKE_BUILD_DIR}/test_c)
+add_test( test_i ${CMAKE_BUILD_DIR}/test_i)
diff --git a/sci-libs/alglib/metadata.xml b/sci-libs/alglib/metadata.xml
new file mode 100644
index 000000000000..8fa350bffef2
--- /dev/null
+++ b/sci-libs/alglib/metadata.xml
@@ -0,0 +1,38 @@
+<?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>
+ALGLIB is a cross-platform numerical analysis and data processing library. It
+supports several programming languages (C++, C#, Pascal, VBA) and several
+operating systems (Windows, Linux, Solaris). ALGLIB features include:
+
+* Linear algebra (direct algorithms, EVD/SVD)
+* Solvers (linear and nonlinear)
+* Interpolation
+* Optimization
+* Fast Fourier transforms
+* Numerical integration
+* Linear and nonlinear least-squares fitting
+* Ordinary differential equations
+* Special functions
+* Statistics (descriptive statistics, hypothesis testing)
+* Data analysis (classification/regression, including neural networks)
+* Multiple precision versions of linear algebra, interpolation optimization and
+* others algorithms (using MPFR for floating point computations)
+
+Why to choose ALGLIB? Because it is:
+
+* portable. It can be compiled almost anywhere using almost any compiler
+(see compatibility matrix for more info).
+* easy to use. It supports many programming languages. If you use one language,
+you don't need to study another (FORTRAN, for example) to compile and link an
+external library.
+* open source. It can be used for free under GPL 2+.
+* suited for commercial users too. Those who want to use ALGLIB in commercial
+applications can buy commercial license without copyleft requirement.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/amd/Manifest b/sci-libs/amd/Manifest
new file mode 100644
index 000000000000..5dca5550f72d
--- /dev/null
+++ b/sci-libs/amd/Manifest
@@ -0,0 +1 @@
+DIST amd-2.3.1.tar.bz2 339970 SHA256 35f60a47000ec39c8328d621b6d8f249ccf6c12f0ebc809272e16f7d4a8a430c SHA512 19b8c010e0f7a5a96e60fe52904b2b548fb89dfaf9d6f99184df955a732ec3edef04acff01a82a909e030c3bf78c9eccfe0c329731edb29f4b936507e39d885e WHIRLPOOL 737fe5eb785f09bea7a693421b547a0ec18c8428b19efb2890c8573895333862522ece1af00c24156d83ed0888b11c59d9c0ee3ea125ed8cb216d718343f6874
diff --git a/sci-libs/amd/amd-2.3.1.ebuild b/sci-libs/amd/amd-2.3.1.ebuild
new file mode 100644
index 000000000000..a68446a9c763
--- /dev/null
+++ b/sci-libs/amd/amd-2.3.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils fortran-2
+
+DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/amd"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc fortran static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable fortran)
+ $(use_with doc)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/amd/metadata.xml b/sci-libs/amd/metadata.xml
new file mode 100644
index 000000000000..f4c85ca59868
--- /dev/null
+++ b/sci-libs/amd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ AMD is a set of routines for ordering a sparse matrix prior to Cholesky
+ factorization (or for LU factorization with diagonal pivoting). There
+ are versions in both C and Fortran.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/armadillo/Manifest b/sci-libs/armadillo/Manifest
new file mode 100644
index 000000000000..7dcbe9dfe78b
--- /dev/null
+++ b/sci-libs/armadillo/Manifest
@@ -0,0 +1,5 @@
+DIST armadillo-3.4.4.tar.gz 3006964 SHA256 ef94e12556421fa62ba7734f8b18bb12c188f43dd6192d3648a28e8d154e6ba7 SHA512 78fbb107b220d283a2404483ee38720fd8259bbf675d8753d706cc3c3ba9678d47412d156f24a4b3cc95e20ce3c935167e2f7657806b5b8e8b7c95938c4b3f3f WHIRLPOOL 2a1b6426b695569c10b13d3df1183c615fdb4261497eea405e61316a838a5744477db7bfd8344f25d741e69899f64a19c801bd068d366175a2c9898369090093
+DIST armadillo-3.6.2.tar.gz 3016818 SHA256 04f64c632e619989616c7f219310a06cb1618b16274bdac05b4798d49eb4f149 SHA512 0c769caad012f7893cc8ebb46969179f1175edac638f98fd2a0898aed062f7456536eecd12c9720f77caf4859cd0049e00dd71c9f096458b5fd5ce9cea517c66 WHIRLPOOL 898c29f7d0a7b02658f8d95a528be7d321a7d15f95ada6a4296d9822ee873556a49ccaafcaca16cb25e4a05321fa91b9711d7790b0910464b653398fb6ce4738
+DIST armadillo-4.650.4.tar.gz 5408567 SHA256 ccc56580ec932ec9beade5679b07ecbed889e9b602866f673d1a05a7692b4bf8 SHA512 a548150ba5484fce35b0bc6023982939946f2f00b733dff2cd5b46101b1c344342061389cb4363cdaa04c5e3cca3278a40febe2ed705316552dd71f841c46037 WHIRLPOOL 331493d8b9c92b9e1908880c6f6510edb12e93193a9ceb77d0b8ce9d0bfb493dc48e590ea949d39c3c19f6fc3b05446b7e00525512e3055be0f907427c28f7d4
+DIST armadillo-5.100.2.tar.gz 5429961 SHA256 63150f12bf7c7c598ea55b7271d99fce349ff386a3dc2cae3904b244f6e35320 SHA512 2777b525bc62daddfb16eae7b74c29b6b695a7985c56d9dca727ae1e13aa4ea20ee85ea82233a5310b37c738838af07bb0fa7eea782e68e72cbe1cf46a0cc896 WHIRLPOOL df85a508875587651b187520b78900634402f2ca0fc2e64f43bd4a793e382e8cc6abd5b988267645bb02b3133d9aa99ab6d6ff5e200d1277093d4f7ce6e9d240
+DIST armadillo-5.200.2.tar.gz 5430682 SHA256 70c38fd94b4c0559ece1a7313cf85e08197a82dfda4daa5decd89b795bb73079 SHA512 034539d724fd1e4078a709cd616d280178fcfdcb1d3c3ca2f80f5f2ebc4b39b60f11e3bd22773be8a8fd61350a406a6f4056d56f88ed74964f438bed0d224f6f WHIRLPOOL 4d9fb5a5e6ee53db666b7a9b0e437cf18763ba46224ac8425c7aafac4d4c68dbceb272f929ba034c4f738539ea6b52ccc0fdef596e100a226b85239ebd12470b
diff --git a/sci-libs/armadillo/armadillo-3.4.4.ebuild b/sci-libs/armadillo/armadillo-3.4.4.ebuild
new file mode 100644
index 000000000000..a7c75f8948a9
--- /dev/null
+++ b/sci-libs/armadillo/armadillo-3.4.4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake-utils toolchain-funcs
+
+DESCRIPTION="Streamlined C++ linear algebra library"
+HOMEPAGE="http://arma.sourceforge.net/"
+SRC_URI="mirror://sourceforge/arma/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="blas doc examples lapack"
+
+RDEPEND="
+ dev-libs/boost
+ blas? ( virtual/blas )
+ lapack? ( virtual/lapack )"
+
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # avoid the automagic cmake macros
+ sed -i -e '/ARMA_Find/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=()
+ if use blas; then
+ mycmakeargs+=(
+ -DBLAS_FOUND=ON
+ -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
+ )
+ fi
+ if use lapack; then
+ mycmakeargs+=(
+ -DLAPACK_FOUND=ON
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.txt
+ use doc && dodoc *pdf && dohtml *html
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/armadillo/armadillo-3.6.2.ebuild b/sci-libs/armadillo/armadillo-3.6.2.ebuild
new file mode 100644
index 000000000000..c7d22704bcf8
--- /dev/null
+++ b/sci-libs/armadillo/armadillo-3.6.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake-utils toolchain-funcs
+
+DESCRIPTION="Streamlined C++ linear algebra library"
+HOMEPAGE="http://arma.sourceforge.net/"
+SRC_URI="mirror://sourceforge/arma/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="blas doc examples lapack"
+
+RDEPEND="
+ dev-libs/boost
+ blas? ( virtual/blas )
+ lapack? ( virtual/lapack )"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ # avoid the automagic cmake macros
+ sed -i -e '/ARMA_Find/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=()
+ if use blas; then
+ mycmakeargs+=(
+ -DBLAS_FOUND=ON
+ -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
+ )
+ fi
+ if use lapack; then
+ mycmakeargs+=(
+ -DLAPACK_FOUND=ON
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.txt
+ use doc && dodoc *pdf && dohtml *html
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/armadillo/armadillo-4.650.4.ebuild b/sci-libs/armadillo/armadillo-4.650.4.ebuild
new file mode 100644
index 000000000000..fe855834660d
--- /dev/null
+++ b/sci-libs/armadillo/armadillo-4.650.4.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake-utils toolchain-funcs multilib eutils
+
+DESCRIPTION="Streamlined C++ linear algebra library"
+HOMEPAGE="http://arma.sourceforge.net/"
+SRC_URI="mirror://sourceforge/arma/${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack blas debug doc examples hdf5 lapack mkl tbb test"
+REQUIRED_USE="test? ( lapack )"
+
+RDEPEND="
+ dev-libs/boost
+ arpack? ( sci-libs/arpack )
+ blas? ( virtual/blas )
+ lapack? ( virtual/lapack )"
+DEPEND="${RDEPEND}
+ arpack? ( virtual/pkgconfig )
+ blas? ( virtual/pkgconfig )
+ hdf5? ( sci-libs/hdf5 )
+ lapack? ( virtual/pkgconfig )
+ mkl? ( sci-libs/mkl )
+ tbb? ( dev-cpp/tbb )"
+PDEPEND="${RDEPEND}
+ hdf5? ( sci-libs/hdf5 )
+ mkl? ( sci-libs/mkl )
+ tbb? ( dev-cpp/tbb )"
+
+src_prepare() {
+ # avoid the automagic cmake macros
+ sed -i -e '/ARMA_Find/d' CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use debug ARMA_EXTRA_DEBUG)
+ $(cmake-utils_use mkl ARMA_USE_MKL_ALLOC)
+ $(cmake-utils_use tbb ARMA_USE_TBB_ALLOC)
+ )
+ if use arpack; then
+ mycmakeargs+=(
+ -DARPACK_FOUND=ON
+ -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
+ )
+ fi
+# if use atlas; then
+# local c=atlas-cblas l=atlas-clapack
+# $(tc-getPKG_CONFIG) --exists ${c}-threads && c+=-threads
+# $(tc-getPKG_CONFIG) --exists ${l}-threads && l+=-threads
+# mycmakeargs+=(
+# -DCBLAS_FOUND=ON
+# -DCBLAS_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${c} | sed 's/-I//')"
+# -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${c})"
+# -DCLAPACK_FOUND=ON
+# -DCLAPACK_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${l} | sed 's/-I//')"
+# -DCLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${l})"
+# )
+# fi
+ if use blas; then
+ mycmakeargs+=(
+ -DBLAS_FOUND=ON
+ -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
+ )
+ fi
+ if use hdf5; then
+ mycmakeargs+=(
+ -DHDF5_FOUND=ON
+ -DHDF5_LIBRARIES="-lhdf5"
+ )
+ fi
+ if use lapack; then
+ mycmakeargs+=(
+ -DLAPACK_FOUND=ON
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ fi
+ cmake-utils_src_configure
+}
+
+src_test() {
+ pushd examples > /dev/null
+ emake \
+ CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
+ EXTRA_LIB_FLAGS="-L.. $($(tc-getPKG_CONFIG) --libs blas lapack)"
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example2 || die
+ emake clean
+ popd > /dev/null
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.txt
+ use doc && dodoc *pdf && dohtml *html
+ if use examples; then
+ insinto /usr/share/examples/${PF}
+ doins -r examples/*
+ fi
+}
diff --git a/sci-libs/armadillo/armadillo-5.100.2.ebuild b/sci-libs/armadillo/armadillo-5.100.2.ebuild
new file mode 100644
index 000000000000..c785a401b00b
--- /dev/null
+++ b/sci-libs/armadillo/armadillo-5.100.2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake-utils toolchain-funcs multilib eutils
+
+DESCRIPTION="Streamlined C++ linear algebra library"
+HOMEPAGE="http://arma.sourceforge.net/"
+SRC_URI="mirror://sourceforge/arma/${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0/5"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack blas debug doc examples hdf5 lapack mkl superlu tbb test"
+REQUIRED_USE="test? ( lapack )"
+
+RDEPEND="
+ dev-libs/boost
+ arpack? ( sci-libs/arpack )
+ blas? ( virtual/blas )
+ lapack? ( virtual/lapack )
+ superlu? ( sci-libs/superlu )
+"
+DEPEND="${RDEPEND}
+ arpack? ( virtual/pkgconfig )
+ blas? ( virtual/pkgconfig )
+ hdf5? ( sci-libs/hdf5 )
+ lapack? ( virtual/pkgconfig )
+ mkl? ( sci-libs/mkl )
+ tbb? ( dev-cpp/tbb )"
+PDEPEND="${RDEPEND}
+ hdf5? ( sci-libs/hdf5 )
+ mkl? ( sci-libs/mkl )
+ tbb? ( dev-cpp/tbb )"
+
+src_prepare() {
+ # avoid the automagic cmake macros
+ sed -i -e '/ARMA_Find/d' CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use debug ARMA_EXTRA_DEBUG)
+ $(cmake-utils_use mkl ARMA_USE_MKL_ALLOC)
+ $(cmake-utils_use tbb ARMA_USE_TBB_ALLOC)
+ )
+ if use arpack; then
+ mycmakeargs+=(
+ -DARPACK_FOUND=ON
+ -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
+ )
+ fi
+# if use atlas; then
+# local c=atlas-cblas l=atlas-clapack
+# $(tc-getPKG_CONFIG) --exists ${c}-threads && c+=-threads
+# $(tc-getPKG_CONFIG) --exists ${l}-threads && l+=-threads
+# mycmakeargs+=(
+# -DCBLAS_FOUND=ON
+# -DCBLAS_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${c} | sed 's/-I//')"
+# -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${c})"
+# -DCLAPACK_FOUND=ON
+# -DCLAPACK_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${l} | sed 's/-I//')"
+# -DCLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${l})"
+# )
+# fi
+ if use blas; then
+ mycmakeargs+=(
+ -DBLAS_FOUND=ON
+ -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
+ )
+ fi
+ if use hdf5; then
+ mycmakeargs+=(
+ -DHDF5_FOUND=ON
+ -DHDF5_LIBRARIES="-lhdf5"
+ )
+ fi
+ if use lapack; then
+ mycmakeargs+=(
+ -DLAPACK_FOUND=ON
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ fi
+ if use superlu; then
+ mycmakeargs+=(
+ -DSuperLU_FOUND=ON
+ -DSuperLU_LIBRARIES="$($(tc-getPKG_CONFIG) --libs superlu)"
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ pushd examples > /dev/null
+ emake \
+ CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
+ EXTRA_LIB_FLAGS="-L.. $($(tc-getPKG_CONFIG) --libs blas lapack)"
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example2 || die
+ emake clean
+ popd > /dev/null
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.txt
+ use doc && dodoc *pdf && dohtml *html
+ if use examples; then
+ insinto /usr/share/examples/${PF}
+ doins -r examples/*
+ fi
+}
diff --git a/sci-libs/armadillo/armadillo-5.200.2.ebuild b/sci-libs/armadillo/armadillo-5.200.2.ebuild
new file mode 100644
index 000000000000..c785a401b00b
--- /dev/null
+++ b/sci-libs/armadillo/armadillo-5.200.2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake-utils toolchain-funcs multilib eutils
+
+DESCRIPTION="Streamlined C++ linear algebra library"
+HOMEPAGE="http://arma.sourceforge.net/"
+SRC_URI="mirror://sourceforge/arma/${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0/5"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack blas debug doc examples hdf5 lapack mkl superlu tbb test"
+REQUIRED_USE="test? ( lapack )"
+
+RDEPEND="
+ dev-libs/boost
+ arpack? ( sci-libs/arpack )
+ blas? ( virtual/blas )
+ lapack? ( virtual/lapack )
+ superlu? ( sci-libs/superlu )
+"
+DEPEND="${RDEPEND}
+ arpack? ( virtual/pkgconfig )
+ blas? ( virtual/pkgconfig )
+ hdf5? ( sci-libs/hdf5 )
+ lapack? ( virtual/pkgconfig )
+ mkl? ( sci-libs/mkl )
+ tbb? ( dev-cpp/tbb )"
+PDEPEND="${RDEPEND}
+ hdf5? ( sci-libs/hdf5 )
+ mkl? ( sci-libs/mkl )
+ tbb? ( dev-cpp/tbb )"
+
+src_prepare() {
+ # avoid the automagic cmake macros
+ sed -i -e '/ARMA_Find/d' CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ $(cmake-utils_use debug ARMA_EXTRA_DEBUG)
+ $(cmake-utils_use mkl ARMA_USE_MKL_ALLOC)
+ $(cmake-utils_use tbb ARMA_USE_TBB_ALLOC)
+ )
+ if use arpack; then
+ mycmakeargs+=(
+ -DARPACK_FOUND=ON
+ -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
+ )
+ fi
+# if use atlas; then
+# local c=atlas-cblas l=atlas-clapack
+# $(tc-getPKG_CONFIG) --exists ${c}-threads && c+=-threads
+# $(tc-getPKG_CONFIG) --exists ${l}-threads && l+=-threads
+# mycmakeargs+=(
+# -DCBLAS_FOUND=ON
+# -DCBLAS_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${c} | sed 's/-I//')"
+# -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${c})"
+# -DCLAPACK_FOUND=ON
+# -DCLAPACK_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I ${l} | sed 's/-I//')"
+# -DCLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs ${l})"
+# )
+# fi
+ if use blas; then
+ mycmakeargs+=(
+ -DBLAS_FOUND=ON
+ -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
+ )
+ fi
+ if use hdf5; then
+ mycmakeargs+=(
+ -DHDF5_FOUND=ON
+ -DHDF5_LIBRARIES="-lhdf5"
+ )
+ fi
+ if use lapack; then
+ mycmakeargs+=(
+ -DLAPACK_FOUND=ON
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ fi
+ if use superlu; then
+ mycmakeargs+=(
+ -DSuperLU_FOUND=ON
+ -DSuperLU_LIBRARIES="$($(tc-getPKG_CONFIG) --libs superlu)"
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ pushd examples > /dev/null
+ emake \
+ CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
+ EXTRA_LIB_FLAGS="-L.. $($(tc-getPKG_CONFIG) --libs blas lapack)"
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example2 || die
+ emake clean
+ popd > /dev/null
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.txt
+ use doc && dodoc *pdf && dohtml *html
+ if use examples; then
+ insinto /usr/share/examples/${PF}
+ doins -r examples/*
+ fi
+}
diff --git a/sci-libs/armadillo/metadata.xml b/sci-libs/armadillo/metadata.xml
new file mode 100644
index 000000000000..fb8d262a30ec
--- /dev/null
+++ b/sci-libs/armadillo/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>dilfridge@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Armadillo is a C++ linear algebra library (matrix maths) aiming
+ towards a good balance between speed and ease of use. Integer,
+ floating point and complex numbers are supported, as well as a
+ subset of trigonometric and statistics functions. Various matrix
+ decompositions are provided through optional integration with LAPACK
+ and ATLAS libraries.
+ A delayed evaluation approach is employed (during compile time) to
+ combine several operations into one and reduce (or eliminate) the
+ need for temporaries. This is accomplished through recursive
+ templates and template meta-programming.
+</longdescription>
+ <use>
+ <flag name="arpack">
+ Link with <pkg>sci-libs/arpack</pkg> libraries for eigen decomposition
+ </flag>
+ <flag name="mkl">
+ Use matrix allocation from the Intel MKL <pkg>sci-libs/mkl</pkg>
+ </flag>
+ <flag name="tbb">
+ Use matrix allocation from the Threads Building Blocks
+ <pkg>dev-cpp/tbb</pkg>
+ </flag>
+ <flag name="superlu">
+ Use SuperLU for sparse linear equation solving
+ <pkg>sci-libs/superlu</pkg>
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">arma</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest
new file mode 100644
index 000000000000..2edfb77059bc
--- /dev/null
+++ b/sci-libs/arpack/Manifest
@@ -0,0 +1,4 @@
+DIST arpack-ng-3.1.3.tar.gz 1299344 SHA256 4d649b80778e9145b9220f6cdd0d96f589f4c4fb225d385419be87dc863c3c0d SHA512 30bee66edc31d1144d029a4c6c4b03f08782bdcbe1b9627e0c3df8d142121111e9c9dd875158345918931815341a2338cd889a010939016509a7cfdd1e829426 WHIRLPOOL a804e3d85633b39fcd66f853a655a8d2c76daf52f23c0aa5b21b6af16b08f37e6fa0ec30700e6df3f4e52fa55133fcc046595a2ee836f5750edb0aa56840c169
+DIST arpack-ng_3.1.5.tar.gz 1516406 SHA256 a269ce7806bc77ced31ef794d23c3e3aff8543b65550fd7e3e24660f2a79d515 SHA512 4876b0babb89bbcc39e92b63d4537b860e9cd0b8a188937d3ba815041b7261623cdac25c91c8bef20ebce4271f822307c492cf6c9f22ec3d740218405337a515 WHIRLPOOL 6bd202c3bb3c12939bef2178d8e7fe7d7cc96a9dc0e4bb965c241f2c299e0b90d3a383429b94a6bc69bb063d689909e8cc9365091e8aa1d420875fc0c2142331
+DIST tutorial.ps.gz 105599 SHA256 2f745fe80b0a4fcdf1c273995ed67bc6cf03684ccbaa44442ad1187ea41b81c0 SHA512 a7b8fefd1a572ed477ae208d49094c1c65c9368990d12de9b3528e33fed546c947659f74e54a810d04154b4a1b0f9a94bcba4db0cf59d379e20786a261066aa4 WHIRLPOOL 6e1f6901c81993371731861b8c617f9ef22b602e737b3102c2107713b3201362ddd48205aac5814e3a157549f4fa5f280d18e7b84afc8edeadb93d10d8bda5c9
+DIST ug.ps.gz 248543 SHA256 ff1faac74bfc42442955906132756ecd7f0034803898d507dbd1bc960f6f4ab0 SHA512 3349117fb10b07207ffbab2ffa31b406d026855ea4c16e8649b14c7d70bc94e11b5730672e34acd654817799136d4bd76569ac50ec78d787df5582d18ed61328 WHIRLPOOL 83db17d8b1c49d532ca6f4412d110b1973323da5bb526804ab779bc143cf84d8270655b306822e04fa64290f531ed2c4f1e74ffbccbf76529991203e869ca6df
diff --git a/sci-libs/arpack/arpack-3.1.3-r1.ebuild b/sci-libs/arpack/arpack-3.1.3-r1.ebuild
new file mode 100644
index 000000000000..9aa9acbf27fd
--- /dev/null
+++ b/sci-libs/arpack/arpack-3.1.3-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils eutils flag-o-matic fortran-2 toolchain-funcs
+
+MY_P="${PN}-ng-${PV}"
+
+DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
+HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ http://forge.scilab.org/index.php/p/arpack-ng/"
+SRC_URI="
+ http://forge.scilab.org/upload/arpack-ng/files/${MY_P}.tar.gz
+ doc? (
+ http://www.caam.rice.edu/software/ARPACK/SRC/ug.ps.gz
+ http://www.caam.rice.edu/software/ARPACK/DOCS/tutorial.ps.gz )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples mpi static-libs"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[fortran] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pkgconfig.patch
+)
+
+src_configure() {
+ tc-export PKG_CONFIG
+ local myeconfargs=(
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
+ $(use_enable mpi)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ dodoc DOCUMENTS/*.doc
+ newdoc DOCUMENTS/README README.doc
+ use doc && dodoc "${WORKDIR}"/*.ps
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r EXAMPLES
+ if use mpi; then
+ insinto /usr/share/doc/${PF}/EXAMPLES/PARPACK
+ doins -r PARPACK/EXAMPLES/MPI
+ fi
+ fi
+}
diff --git a/sci-libs/arpack/arpack-3.1.5.ebuild b/sci-libs/arpack/arpack-3.1.5.ebuild
new file mode 100644
index 000000000000..17640a9af0d7
--- /dev/null
+++ b/sci-libs/arpack/arpack-3.1.5.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+#AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils eutils flag-o-matic fortran-2 toolchain-funcs
+
+MY_P="${PN}-ng_${PV}"
+
+DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
+HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ http://forge.scilab.org/index.php/p/arpack-ng/"
+SRC_URI="
+ http://forge.scilab.org/upload/arpack-ng/files/${MY_P}.tar.gz
+ doc? (
+ http://www.caam.rice.edu/software/ARPACK/SRC/ug.ps.gz
+ http://www.caam.rice.edu/software/ARPACK/DOCS/tutorial.ps.gz )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples mpi static-libs"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[fortran] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P/_/-}"
+
+src_configure() {
+ tc-export PKG_CONFIG
+ local myeconfargs=(
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
+ $(use_enable mpi)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ cp "${S}"/TESTS/testA.mtx "${BUILD_DIR}"/TESTS || die
+ autotools-utils_src_test
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ dodoc DOCUMENTS/*.doc
+ newdoc DOCUMENTS/README README.doc
+ use doc && dodoc "${WORKDIR}"/*.ps
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r EXAMPLES
+ if use mpi; then
+ insinto /usr/share/doc/${PF}/EXAMPLES/PARPACK
+ doins -r PARPACK/EXAMPLES/MPI
+ fi
+ fi
+}
diff --git a/sci-libs/arpack/files/arpack-3.1.3-pkgconfig.patch b/sci-libs/arpack/files/arpack-3.1.3-pkgconfig.patch
new file mode 100644
index 000000000000..437d9034b856
--- /dev/null
+++ b/sci-libs/arpack/files/arpack-3.1.3-pkgconfig.patch
@@ -0,0 +1,14 @@
+ arpack.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arpack.pc.in b/arpack.pc.in
+index 83739bd..996275e 100644
+--- a/arpack.pc.in
++++ b/arpack.pc.in
+@@ -5,5 +5,5 @@ libdir=@libdir@
+ Name: arpack
+ Description: ARPACK-NG
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -larpack -lblas -latlas
++Libs: -L${libdir} -larpack @LAPACK_LIBS@ @BLAS_LIBS@
+ Cflags:
diff --git a/sci-libs/arpack/metadata.xml b/sci-libs/arpack/metadata.xml
new file mode 100644
index 000000000000..c598daff90b3
--- /dev/null
+++ b/sci-libs/arpack/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The ARnoldi PACKage is a library of routines capable of solving large scale symmetric,
+ nonsymmetric, and generalized eigenproblems. The software is designed to compute a few
+ eigenvalues with user specified features such as those of largest real
+ part or largest magnitude. Storage requirements are on the order of
+ n*k locations. No auxiliary storage is required. A set of Schur basis
+ vectors for the desired k-dimensional eigen-space is computed which is
+ numerically orthogonal to working precision. Numerically accurate
+ eigenvectors are available on request.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/arprec/Manifest b/sci-libs/arprec/Manifest
new file mode 100644
index 000000000000..87356081d5b7
--- /dev/null
+++ b/sci-libs/arprec/Manifest
@@ -0,0 +1,2 @@
+DIST arprec-2.2.16.tar.gz 830227 SHA256 cf71f2a7f3530b57900e67d1282c4a114830d2c00a0fba90819aa8313f11653f SHA512 278bf96402179566d4f2b9a6d69e42d726c81c814f96cd31c19df2c3b61941f3a1858e4a56577548d0fcf526b7db7caca2b7ea7ec57e834e7768d21788e7e672 WHIRLPOOL c55a875af752dfe6700cd714e2d6d34d3100676b8c41d4271065ddb0e754b3c5333cffd7432b45f2dfa0efed8f93dfd3448ac87038b18941a27f6bed1468131c
+DIST arprec-2.2.17.tar.gz 900043 SHA256 87977981c1145465da51f252d04f11d16ee009d9dc7e8d0da71e4ef56b9fc5eb SHA512 d10f7d3e3d61274a36d253d2b50004bbf15447be3ffbd37bb0334ba62bd624e27fb9e26364fa1b89c1d4dfbb4136ab93d865f990ce123ecf94d9614e3ac567d1 WHIRLPOOL 6daeff384cfc9dfbb5771a177166212370ba724850d27ae99de63d1e2f2bc5f76b2be5c28e1fa0bb1d407a29d46212b0896c5e7f6ba66f9c2830e3a53e3e8b31
diff --git a/sci-libs/arprec/arprec-2.2.16.ebuild b/sci-libs/arprec/arprec-2.2.16.ebuild
new file mode 100644
index 000000000000..e467be41e889
--- /dev/null
+++ b/sci-libs/arprec/arprec-2.2.16.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+FORTRAN_NEEDED=fortran
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit eutils fortran-2 autotools-utils
+
+DESCRIPTION="Arbitrary precision float arithmetics and functions"
+HOMEPAGE="http://crd.lbl.gov/~dhbailey/mpdist/"
+SRC_URI="http://crd.lbl.gov/~dhbailey/mpdist/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran qd static-libs"
+
+DEPEND="qd? ( sci-libs/qd[fortran=] )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ $(use_enable "cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4)" fma)
+ $(use_enable fortran)
+ $(use_enable qd)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use fortran && autotools-utils_src_compile toolkit
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use fortran; then
+ cd toolkit
+ ./mathinit || die "mathinit failed"
+ exeinto /usr/libexec/${PN}
+ doexe .libs/mathtool
+ insinto /usr/libexec/${PN}
+ doins *.dat
+ echo > mathtool.exe "#!${EROOT}/bin/sh"
+ echo >> mathtool.exe "cd ${EROOT}/usr/libexec/arprec && exec ./mathtool"
+ newbin mathtool.exe mathtool
+ newdoc README README.mathtool
+ fi
+ use doc || rm "${ED}"/usr/share/doc/${PF}/*.pdf
+}
diff --git a/sci-libs/arprec/arprec-2.2.17.ebuild b/sci-libs/arprec/arprec-2.2.17.ebuild
new file mode 100644
index 000000000000..b5e9fe326944
--- /dev/null
+++ b/sci-libs/arprec/arprec-2.2.17.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="90"
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit eutils fortran-2 autotools-utils
+
+DESCRIPTION="Arbitrary precision float arithmetics and functions"
+HOMEPAGE="http://crd.lbl.gov/~dhbailey/mpdist/"
+SRC_URI="http://crd.lbl.gov/~dhbailey/mpdist/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran qd static-libs"
+
+DEPEND="qd? ( sci-libs/qd:0=[fortran=] )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ $(use_enable "cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4)" fma)
+ $(use_enable fortran)
+ $(use_enable qd)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use fortran && autotools-utils_src_compile toolkit
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use fortran; then
+ cd toolkit
+ ./mathinit || die "mathinit failed"
+ exeinto /usr/libexec/${PN}
+ doexe .libs/mathtool
+ insinto /usr/libexec/${PN}
+ doins *.dat
+ echo > mathtool.exe "#!${EROOT%/}/bin/sh"
+ echo >> mathtool.exe "cd ${EROOT%/}/usr/libexec/arprec && exec ./mathtool"
+ newbin mathtool.exe mathtool
+ newdoc README README.mathtool
+ fi
+ use doc || rm "${ED}"/usr/share/doc/${PF}/*.pdf
+}
diff --git a/sci-libs/arprec/metadata.xml b/sci-libs/arprec/metadata.xml
new file mode 100644
index 000000000000..f5a8029c8896
--- /dev/null
+++ b/sci-libs/arprec/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+<maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+</maintainer>
+<longdescription>
+ Arbitrary precision library for float arithmetics and mathematical functions.
+</longdescription>
+<use>
+ <flag name="qd">Use <pkg>sci-libs/qd</pkg> for quad-double datatype</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/avogadrolibs/Manifest b/sci-libs/avogadrolibs/Manifest
new file mode 100644
index 000000000000..b8ef93d9df75
--- /dev/null
+++ b/sci-libs/avogadrolibs/Manifest
@@ -0,0 +1 @@
+DIST avogadrolibs-0.7.2.tar.gz 637001 SHA256 217eb5d62082bbaacefe8ad3c8c8ddbbd41931d306038774f761c0155aeccc76 SHA512 a796af1ab3eb77eb2e5484e9e9cb9d7cf68759c9afbd48ddeb237513583e2c207c7c70b2e87b37843886fc737410456ee451e8fe5a21707bdc01fdf600d4cbb8 WHIRLPOOL 81f0d1949c0a93b9efd1f47f276929b01ca761a5875015be3feafb493be3629b0b8e00c0ba930e1ca73b79fc621a67f7e2ab41ae5e4fc10dddd18449238d933f
diff --git a/sci-libs/avogadrolibs/avogadrolibs-0.7.2-r1.ebuild b/sci-libs/avogadrolibs/avogadrolibs-0.7.2-r1.ebuild
new file mode 100644
index 000000000000..d68a539ddce7
--- /dev/null
+++ b/sci-libs/avogadrolibs/avogadrolibs-0.7.2-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Advanced molecule editor and visualizer 2 - libraries"
+HOMEPAGE="http://www.openchemistry.org/"
+SRC_URI="mirror://sourceforge/project/avogadro/avogadro2/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD GPL-2+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc opengl qt4 static-plugins test vtk"
+
+REQUIRED_USE="qt4? ( opengl )"
+
+RDEPEND="
+ >=sci-chemistry/molequeue-0.7
+ sci-libs/chemkit
+ sci-libs/hdf5:=
+ opengl? (
+ dev-qt/qtopengl:4
+ media-libs/glew
+ )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ )
+ vtk? ( sci-libs/vtk )
+"
+DEPEND="${DEPEND}
+ test? ( dev-cpp/gtest )"
+
+PATCHES=( "${FILESDIR}"/${P}-6464.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_PROTOCALL=OFF
+ -DBUILD_GPL_PLUGINS=ON
+ $(cmake-utils_use_build doc DOCUMENTATION)
+ $(cmake-utils_use_use opengl OPENGL)
+ $(cmake-utils_use_use qt4 QT)
+ $(cmake-utils_use_build static-plugins STATIC_PLUGINS)
+ $(cmake-utils_use_enable test TESTING)
+ $(cmake-utils_use_use vtk VTK)
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/avogadrolibs/files/avogadrolibs-0.7.2-6464.patch b/sci-libs/avogadrolibs/files/avogadrolibs-0.7.2-6464.patch
new file mode 100644
index 000000000000..f763c242cc48
--- /dev/null
+++ b/sci-libs/avogadrolibs/files/avogadrolibs-0.7.2-6464.patch
@@ -0,0 +1,16 @@
+ cmake/AvogadroLibsConfig.cmake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/AvogadroLibsConfig.cmake.in b/cmake/AvogadroLibsConfig.cmake.in
+index ad57195..8a63400 100644
+--- a/cmake/AvogadroLibsConfig.cmake.in
++++ b/cmake/AvogadroLibsConfig.cmake.in
+@@ -10,7 +10,7 @@ set(AvogadroLibs_VERSION "${AvogadroLibs_VERSION_MAJOR}.${AvogadroLibs_V
+
+ set(AvogadroLibs_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@")
+ set(AvogadroLibs_INCLUDE_DIRS "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_INCLUDE_DIR@")
+-set(AvogadroLibs_LIBRARY_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_LIBRARY_DIR@@LIB_SUFFIX@")
++set(AvogadroLibs_LIBRARY_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_LIBRARY_DIR@")
+ set(AvogadroLibs_RUNTIME_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_RUNTIME_DIR@")
+ set(AvogadroLibs_CMAKE_DIR "${AvogadroLibs_LIBRARY_DIR}/cmake/avogadrolibs")
+
diff --git a/sci-libs/avogadrolibs/metadata.xml b/sci-libs/avogadrolibs/metadata.xml
new file mode 100644
index 000000000000..e6d586ae9200
--- /dev/null
+++ b/sci-libs/avogadrolibs/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="static-plugins">
+ build all plugins statically into main plugin modules
+ </flag>
+ <flag name="vtk">include vtk support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">avogadro</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/balbes-db/Manifest b/sci-libs/balbes-db/Manifest
new file mode 100644
index 000000000000..86fed7e6ab9e
--- /dev/null
+++ b/sci-libs/balbes-db/Manifest
@@ -0,0 +1 @@
+DIST ccp4-6.1.3-balbesdb-10-11-08.tar.gz 600856059 SHA256 5606fc5e131138b56fa3a1afce014225a6c07826b99587f132f6c337585f4f0d SHA512 5b7f3b3465312da72ff4816c96244252a6f0bf039fde8ff772ea683e6317053d903cdc2b3b86b78e8edbb1c766d1b3676048ac4e7d4d0db29ed7bf62dfb00ab2 WHIRLPOOL 9a01610c9767aece4c9cc052a8aa2fd5dff9c9967f11688f5e6e206a82e2714751e086a7ddbe6a99da23b70163c7b096f57d281eebe53b8dd7cdb18faed23d63
diff --git a/sci-libs/balbes-db/balbes-db-6.1.3-r1.ebuild b/sci-libs/balbes-db/balbes-db-6.1.3-r1.ebuild
new file mode 100644
index 000000000000..befa38413e59
--- /dev/null
+++ b/sci-libs/balbes-db/balbes-db-6.1.3-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_P="ccp4-${PV}"
+
+SRC="ftp://ftp.ccp4.ac.uk/ccp4"
+VERSION="10-11-08"
+
+DESCRIPTION="The database for the BALBES automated crystallographic molecular replacement pipeline"
+HOMEPAGE="http://www.ysbl.york.ac.uk/~fei/balbes/"
+SRC_URI="${SRC}/${PV}/${MY_P}-${PN/-/}-${VERSION}.tar.gz"
+
+LICENSE="ccp4"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND="
+ >=dev-python/pyxml-0.8.4
+ sci-libs/monomer-db"
+DEPEND="${RDEPEND}"
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}/${MY_P}"
+
+src_install() {
+ dodir /usr/share/balbes/BALBES_0.0.1
+ rm -rf share/balbes/BALBES_0.0.1/dic || die
+ # We don't want to wait around to copy all this, or suck up double
+ # the disk space
+ einfo "Installing files, which can take some time ..."
+ mv "${S}"/share/balbes/BALBES_0.0.1/* "${ED}"/usr/share/balbes/BALBES_0.0.1/ || die
+ # db files shouldn't be executable
+ find "${ED}"/usr/share/balbes/BALBES_0.0.1/ \
+ -type f \
+ -exec chmod 664 '{}' \; || die
+ dosym ../../ccp4/data/monomers /usr/share/balbes/BALBES_0.0.1/dic
+
+ cat >> "${T}"/20balbes <<- EOF
+ BALBES_ROOT="${EPREFIX}/usr/share/balbes/BALBES_0.0.1/"
+ EOF
+
+ doenvd "${T}"/20balbes
+}
diff --git a/sci-libs/balbes-db/metadata.xml b/sci-libs/balbes-db/metadata.xml
new file mode 100644
index 000000000000..51fdedab1b38
--- /dev/null
+++ b/sci-libs/balbes-db/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+</pkgmetadata>
diff --git a/sci-libs/beagle/Manifest b/sci-libs/beagle/Manifest
new file mode 100644
index 000000000000..6e60f608bfcf
--- /dev/null
+++ b/sci-libs/beagle/Manifest
@@ -0,0 +1 @@
+DIST beagle-3.0.3.tar.gz 5002994 SHA256 2e481dc180bc1f665ade82f0568db4d67f4b8b3f32bc155f1358fd48630e2935 SHA512 2f8f027f3f24d0fd287e27a80fe5b24e18550144add06fb8157dd03f734f5ce212f62889720c81fd33246fa7086e9b913802ec0c5155df5bd801c36888b346cb WHIRLPOOL 7902d2bf149afb9c2dc1f89fbb6754250950d6df90e63b445939b9c7fdc21b59835ac840d3babb7b56056c24e1f159da9aef27105ff9e05e0298f283e6697bbb
diff --git a/sci-libs/beagle/beagle-3.0.3.ebuild b/sci-libs/beagle/beagle-3.0.3.ebuild
new file mode 100644
index 000000000000..52ba7e8f86b2
--- /dev/null
+++ b/sci-libs/beagle/beagle-3.0.3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Open BEAGLE, a versatile EC/GA/GP framework"
+SRC_URI="mirror://sourceforge/beagle/${P}.tar.gz"
+HOMEPAGE="http://beagle.gel.ulaval.ca/"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 x86"
+IUSE="doc static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ !app-misc/beagle
+ !dev-libs/libbeagle"
+DEPEND="${DEPEND}
+ doc? ( app-doc/doxygen )"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.0.3-gcc43.patch "${FILESDIR}"/${PN}-3.0.3-gcc47.patch )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ autotools-utils_src_prepare
+ sed -e "s:@LIBS@:@LIBS@ -lpthread:" \
+ -i PACC/Threading/Makefile.in || \
+ die "Failed to fix threading libs makefile."
+}
+
+src_configure() {
+ local myeconfargs=( --enable-optimization )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use doc && autotools-utils_src_compile doc
+}
+
+src_install () {
+ autotools-utils_src_install
+
+ if use doc; then
+ cp -pPR examples "${D}"/usr/share/doc/${PF} || \
+ die "Failed to install examples."
+ dohtml -r refman/*
+ fi
+}
diff --git a/sci-libs/beagle/files/beagle-3.0.3-gcc43.patch b/sci-libs/beagle/files/beagle-3.0.3-gcc43.patch
new file mode 100644
index 000000000000..608ce388e793
--- /dev/null
+++ b/sci-libs/beagle/files/beagle-3.0.3-gcc43.patch
@@ -0,0 +1,89 @@
+diff -rupN beagle-3.0.3b/PACC/Math/Matrix.cpp beagle-3.0.3/PACC/Math/Matrix.cpp
+--- beagle-3.0.3b/PACC/Math/Matrix.cpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/Math/Matrix.cpp 2009-01-21 00:26:46.000000000 -0400
+@@ -40,6 +40,7 @@
+ #include <stdexcept>
+ #include <iomanip>
+ #include <cmath>
++#include <climits>
+
+ using namespace std;
+ using namespace PACC;
+diff -rupN beagle-3.0.3b/PACC/Math/Vector.hpp beagle-3.0.3/PACC/Math/Vector.hpp
+--- beagle-3.0.3b/PACC/Math/Vector.hpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/Math/Vector.hpp 2009-01-21 00:26:29.000000000 -0400
+@@ -42,6 +42,7 @@
+ #include "XML/Document.hpp"
+ #include "XML/Streamer.hpp"
+ #include <cmath>
++#include <algorithm>
+
+ namespace PACC {
+
+diff -rupN beagle-3.0.3b/PACC/Socket/Cafe.cpp beagle-3.0.3/PACC/Socket/Cafe.cpp
+--- beagle-3.0.3b/PACC/Socket/Cafe.cpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/Socket/Cafe.cpp 2009-01-21 00:31:09.000000000 -0400
+@@ -35,6 +35,7 @@
+
+ #include "Socket/Cafe.hpp"
+ #include <iostream>
++#include <cstring>
+
+ #ifdef WIN32
+ ///////////// specifics for windows /////////////
+diff -rupN beagle-3.0.3b/PACC/Socket/Port.cpp beagle-3.0.3/PACC/Socket/Port.cpp
+--- beagle-3.0.3b/PACC/Socket/Port.cpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/Socket/Port.cpp 2009-01-21 00:30:54.000000000 -0400
+@@ -34,6 +34,7 @@
+ */
+
+ #include "Socket/Port.hpp"
++#include <cstring>
+
+ #ifdef WIN32
+ ///////////// specifics for windows /////////////
+diff -rupN beagle-3.0.3b/PACC/Threading/Thread.cpp beagle-3.0.3/PACC/Threading/Thread.cpp
+--- beagle-3.0.3b/PACC/Threading/Thread.cpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/Threading/Thread.cpp 2009-01-21 00:28:02.000000000 -0400
+@@ -35,6 +35,7 @@
+
+ #include "Threading/Thread.hpp"
+ #include "Util/Assert.hpp"
++#include <cstdlib>
+
+ #ifdef WIN32
+ #include <windows.h>
+diff -rupN beagle-3.0.3b/PACC/Util/SignalHandler.cpp beagle-3.0.3/PACC/Util/SignalHandler.cpp
+--- beagle-3.0.3b/PACC/Util/SignalHandler.cpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/Util/SignalHandler.cpp 2009-01-20 23:44:20.000000000 -0400
+@@ -37,6 +37,7 @@
+ #include "Util/Assert.hpp"
+ #include <signal.h>
+ #include <stdexcept>
++#include <cstdlib>
+
+ using namespace std;
+ using namespace PACC;
+diff -rupN beagle-3.0.3b/PACC/Util/Tokenizer.cpp beagle-3.0.3/PACC/Util/Tokenizer.cpp
+--- beagle-3.0.3b/PACC/Util/Tokenizer.cpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/Util/Tokenizer.cpp 2009-01-20 23:44:10.000000000 -0400
+@@ -36,6 +36,8 @@
+ #include "Util/Tokenizer.hpp"
+ #include "Util/Assert.hpp"
+ #include <stdexcept>
++#include <cstring>
++#include <cstdlib>
+
+ using namespace std;
+ using namespace PACC;
+diff -rupN beagle-3.0.3b/PACC/XML/Node.cpp beagle-3.0.3/PACC/XML/Node.cpp
+--- beagle-3.0.3b/PACC/XML/Node.cpp 2009-01-20 23:38:39.000000000 -0400
++++ beagle-3.0.3/PACC/XML/Node.cpp 2009-01-20 23:45:09.000000000 -0400
+@@ -39,6 +39,7 @@
+ #include "Util/Assert.hpp"
+ #include <sstream>
+ #include <stdexcept>
++#include <cstring>
+
+ using namespace std;
+ using namespace PACC;
diff --git a/sci-libs/beagle/files/beagle-3.0.3-gcc47.patch b/sci-libs/beagle/files/beagle-3.0.3-gcc47.patch
new file mode 100644
index 000000000000..cb3546c68a5c
--- /dev/null
+++ b/sci-libs/beagle/files/beagle-3.0.3-gcc47.patch
@@ -0,0 +1,10 @@
+--- beagle/include/beagle/RouletteT.hpp
++++ beagle/include/beagle/RouletteT.hpp
+@@ -87,7 +87,7 @@
+ Beagle_StackTraceBeginM();
+ Beagle_AssertM(inWeight>=0.0);
+ if(VectorType::empty()==false) inWeight += VectorType::back().first;
+- push_back(std::make_pair(inWeight,inValue));
++ this->push_back(std::make_pair(inWeight,inValue));
+ Beagle_StackTraceEndM("void RouletteT<T>::insert(const T& inValue, double inWeight)");
+ }
diff --git a/sci-libs/beagle/metadata.xml b/sci-libs/beagle/metadata.xml
new file mode 100644
index 000000000000..4b2a7479afe8
--- /dev/null
+++ b/sci-libs/beagle/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription>
+ Open BEAGLE is a C++ Evolutionary Computation (EC) framework. It provides an high-level software environment to do any kind of EC, with support for tree-based genetic programming, bit string and real-valued genetic algorithms, and evolution strategy.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">beagle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/blas-reference/Manifest b/sci-libs/blas-reference/Manifest
new file mode 100644
index 000000000000..d8ee8dc42400
--- /dev/null
+++ b/sci-libs/blas-reference/Manifest
@@ -0,0 +1 @@
+DIST lapack-lite-3.1.1.tgz 5332509 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 SHA512 492b932ef313339ce6b4e63ac8f778489e6870b0eb85f7b086f3c844e75f98e7f85382c7556dfa368ab8320b6f02d1df8ccfcb40b5c0b7c2d74518b7c309e75c WHIRLPOOL 11145043d16b8c2972229e17a24e92e62987c08e84d91b81a7f4767b80f13844faffb2a2798b321a78c7127d849a0fd60cbb1605f03e150b4eaa6c230f0e7fdd
diff --git a/sci-libs/blas-reference/blas-reference-20070226-r2.ebuild b/sci-libs/blas-reference/blas-reference-20070226-r2.ebuild
new file mode 100644
index 000000000000..6c6e0a9e373b
--- /dev/null
+++ b/sci-libs/blas-reference/blas-reference-20070226-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils fortran-2 autotools multilib flag-o-matic toolchain-funcs
+
+LAPACKPV="3.1.1"
+LAPACKPN="lapack-lite"
+
+DESCRIPTION="Basic Linear Algebra Subprograms F77 reference implementations"
+HOMEPAGE="http://www.netlib.org/blas/"
+SRC_URI="http://www.netlib.org/lapack/${LAPACKPN}-${LAPACKPV}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
+IUSE="doc"
+
+DEPEND="app-eselect/eselect-blas"
+RDEPEND="${DEPEND}
+ doc? ( app-doc/blas-docs )"
+
+S="${WORKDIR}/${LAPACKPN}-${LAPACKPV}"
+
+src_prepare() {
+ ESELECT_PROF=reference
+ epatch \
+ "${FILESDIR}"/${P}-autotool.patch \
+ "${FILESDIR}"/${P}-pkg-config.patch
+ eautoreconf
+
+ cp "${FILESDIR}"/eselect.blas.reference "${T}"/
+ sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.blas.reference || die
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+ "${T}"/eselect.blas.reference || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir)/blas/reference
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ eselect blas add $(get_libdir) "${T}"/eselect.blas.reference ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+ local p=blas
+ 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
+}
diff --git a/sci-libs/blas-reference/blas-reference-20070226-r3.ebuild b/sci-libs/blas-reference/blas-reference-20070226-r3.ebuild
new file mode 100644
index 000000000000..6317d3d99dd4
--- /dev/null
+++ b/sci-libs/blas-reference/blas-reference-20070226-r3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils fortran-2 autotools multilib flag-o-matic toolchain-funcs
+
+LAPACKPV="3.1.1"
+LAPACKPN="lapack-lite"
+
+DESCRIPTION="Basic Linear Algebra Subprograms F77 reference implementations"
+HOMEPAGE="http://www.netlib.org/blas/"
+SRC_URI="http://www.netlib.org/lapack/${LAPACKPN}-${LAPACKPV}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc"
+
+DEPEND="app-eselect/eselect-blas"
+RDEPEND="${DEPEND}
+ doc? ( app-doc/blas-docs )"
+
+S="${WORKDIR}/${LAPACKPN}-${LAPACKPV}"
+
+src_prepare() {
+ ESELECT_PROF=reference
+ epatch \
+ "${FILESDIR}"/${P}-autotool.patch \
+ "${FILESDIR}"/${P}-pkg-config.patch
+ eautoreconf
+
+ cp "${FILESDIR}"/eselect.blas.reference-ng "${T}"/eselect.blas.reference || die
+ sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.blas.reference || die
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+ "${T}"/eselect.blas.reference || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir)/blas/reference
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ eselect blas add $(get_libdir) "${T}"/eselect.blas.reference ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+ local p=blas
+ 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
+}
diff --git a/sci-libs/blas-reference/blas-reference-20070226.ebuild b/sci-libs/blas-reference/blas-reference-20070226.ebuild
new file mode 100644
index 000000000000..b062b5b6a6f5
--- /dev/null
+++ b/sci-libs/blas-reference/blas-reference-20070226.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils fortran-2 autotools multilib flag-o-matic toolchain-funcs
+
+LAPACKPV="3.1.1"
+LAPACKPN="lapack-lite"
+
+DESCRIPTION="Basic Linear Algebra Subprograms F77 reference implementations"
+HOMEPAGE="http://www.netlib.org/blas/"
+SRC_URI="http://www.netlib.org/lapack/${LAPACKPN}-${LAPACKPV}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 s390 sparc x86 ~x86-fbsd"
+IUSE="doc"
+
+DEPEND="app-eselect/eselect-blas"
+RDEPEND="${DEPEND}
+ doc? ( app-doc/blas-docs )"
+
+S="${WORKDIR}/${LAPACKPN}-${LAPACKPV}"
+
+src_unpack() {
+ ESELECT_PROF=reference
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotool.patch
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ --libdir=/usr/$(get_libdir)/blas/reference
+ emake LDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.reference ${ESELECT_PROF}
+}
+
+pkg_postinst() {
+ local p=blas
+ 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="${ROOT}"/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
+}
diff --git a/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch b/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch
new file mode 100644
index 000000000000..8d8192fc0254
--- /dev/null
+++ b/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch
@@ -0,0 +1,243 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2007-07-16 10:14:29.000000000 +0100
+@@ -0,0 +1,14 @@
++AC_PREREQ(2.59)
++AC_INIT(blas, 20070226, lapack@cs.utk.edu)
++AM_INIT_AUTOMAKE([foreign])
++
++AC_LANG(Fortran 77)
++AC_PROG_F77
++AC_PROG_LIBTOOL
++
++AC_CONFIG_FILES([Makefile
++ BLAS/Makefile
++ BLAS/SRC/Makefile
++ BLAS/TESTING/Makefile
++ BLAS/blas.pc])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2007-07-16 01:51:11.000000000 +0100
+@@ -0,0 +1 @@
++SUBDIRS = BLAS
+--- BLAS/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/Makefile.am 2007-08-14 11:38:42.000000000 +0100
+@@ -0,0 +1,7 @@
++SUBDIRS = SRC TESTING
++
++pkgconfigdir = $(libdir)
++pkgconfig_DATA = blas.pc
++
++EXTRA = blas.pc
++
+--- BLAS/blas.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/blas.pc.in 2007-08-17 11:38:23.000000000 +0100
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Basic Linear Algebra Subprograms F77 reference implementations
++Version: @PACKAGE_VERSION@
++URL: http://www.netlib.org/blas
++Libs: -lblas
++Libs.private: -lm
+--- BLAS/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/SRC/Makefile.am 2007-07-16 01:50:12.000000000 +0100
+@@ -0,0 +1,153 @@
++lib_LTLIBRARIES = libblas.la
++
++libblas_la_SOURCES = \
++ caxpy.f \
++ ccopy.f \
++ cdotc.f \
++ cdotu.f \
++ cgbmv.f \
++ cgemm.f \
++ cgemv.f \
++ cgerc.f \
++ cgeru.f \
++ chbmv.f \
++ chemm.f \
++ chemv.f \
++ cher2.f \
++ cher2k.f \
++ cher.f \
++ cherk.f \
++ chpmv.f \
++ chpr2.f \
++ chpr.f \
++ crotg.f \
++ cscal.f \
++ csrot.f \
++ csscal.f \
++ cswap.f \
++ csymm.f \
++ csyr2k.f \
++ csyrk.f \
++ ctbmv.f \
++ ctbsv.f \
++ ctpmv.f \
++ ctpsv.f \
++ ctrmm.f \
++ ctrmv.f \
++ ctrsm.f \
++ ctrsv.f \
++ dasum.f \
++ daxpy.f \
++ dcabs1.f \
++ dcopy.f \
++ ddot.f \
++ dgbmv.f \
++ dgemm.f \
++ dgemv.f \
++ dger.f \
++ dnrm2.f \
++ drot.f \
++ drotg.f \
++ drotm.f \
++ drotmg.f \
++ dsbmv.f \
++ dscal.f \
++ dsdot.f \
++ dspmv.f \
++ dspr2.f \
++ dspr.f \
++ dswap.f \
++ dsymm.f \
++ dsymv.f \
++ dsyr2.f \
++ dsyr2k.f \
++ dsyr.f \
++ dsyrk.f \
++ dtbmv.f \
++ dtbsv.f \
++ dtpmv.f \
++ dtpsv.f \
++ dtrmm.f \
++ dtrmv.f \
++ dtrsm.f \
++ dtrsv.f \
++ dzasum.f \
++ dznrm2.f \
++ icamax.f \
++ idamax.f \
++ isamax.f \
++ izamax.f \
++ lsame.f \
++ scabs1.f \
++ sasum.f \
++ saxpy.f \
++ scasum.f \
++ scnrm2.f \
++ scopy.f \
++ sdot.f \
++ sdsdot.f \
++ sgbmv.f \
++ sgemm.f \
++ sgemv.f \
++ sger.f \
++ snrm2.f \
++ srot.f \
++ srotg.f \
++ srotm.f \
++ srotmg.f \
++ ssbmv.f \
++ sscal.f \
++ sspmv.f \
++ sspr2.f \
++ sspr.f \
++ sswap.f \
++ ssymm.f \
++ ssymv.f \
++ ssyr2.f \
++ ssyr2k.f \
++ ssyr.f \
++ ssyrk.f \
++ stbmv.f \
++ stbsv.f \
++ stpmv.f \
++ stpsv.f \
++ strmm.f \
++ strmv.f \
++ strsm.f \
++ strsv.f \
++ xerbla.f \
++ zaxpy.f \
++ zcopy.f \
++ zdotc.f \
++ zdotu.f \
++ zdrot.f \
++ zdscal.f \
++ zgbmv.f \
++ zgemm.f \
++ zgemv.f \
++ zgerc.f \
++ zgeru.f \
++ zhbmv.f \
++ zhemm.f \
++ zhemv.f \
++ zher2.f \
++ zher2k.f \
++ zher.f \
++ zherk.f \
++ zhpmv.f \
++ zhpr2.f \
++ zhpr.f \
++ zrotg.f \
++ zscal.f \
++ zswap.f \
++ zsymm.f \
++ zsyr2k.f \
++ zsyrk.f \
++ ztbmv.f \
++ ztbsv.f \
++ ztpmv.f \
++ ztpsv.f \
++ ztrmm.f \
++ ztrmv.f \
++ ztrsm.f \
++ ztrsv.f
+--- BLAS/TESTING/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/TESTING/Makefile.am 2007-07-16 01:50:12.000000000 +0100
+@@ -0,0 +1,27 @@
++TESTS = blas_tests
++
++blas_tests:
++ @install -m0755 blas_tests.sh blas_tests
++
++check_PROGRAMS = \
++ xsblat1 xdblat1 xcblat1 xzblat1 \
++ xsblat2 xdblat2 xcblat2 xzblat2 \
++ xsblat3 xdblat3 xcblat3 xzblat3
++
++LDADD = $(top_builddir)/BLAS/SRC/libblas.la
++
++xsblat1_SOURCES = sblat1.f
++xdblat1_SOURCES = dblat1.f
++xcblat1_SOURCES = cblat1.f
++xzblat1_SOURCES = zblat1.f
++
++xsblat2_SOURCES = sblat2.f
++xdblat2_SOURCES = dblat2.f
++xcblat2_SOURCES = cblat2.f
++xzblat2_SOURCES = zblat2.f
++
++xsblat3_SOURCES = sblat3.f
++xdblat3_SOURCES = dblat3.f
++xcblat3_SOURCES = cblat3.f
++xzblat3_SOURCES = zblat3.f
++
+--- BLAS/TESTING/blas_tests.sh 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/TESTING/blas_tests.sh 2007-07-16 01:50:12.000000000 +0100
+@@ -0,0 +1,9 @@
++#!/bin/sh
++
++for t in cblat1 sblat1 dblat1 zblat1; do
++ ./x${t}
++done
++
++for t in cblat2 sblat2 dblat2 zblat2 cblat3 sblat3 dblat3 zblat3; do
++ ./x${t} < ../${t}.in
++done
diff --git a/sci-libs/blas-reference/files/blas-reference-20070226-pkg-config.patch b/sci-libs/blas-reference/files/blas-reference-20070226-pkg-config.patch
new file mode 100644
index 000000000000..14190f41e7d5
--- /dev/null
+++ b/sci-libs/blas-reference/files/blas-reference-20070226-pkg-config.patch
@@ -0,0 +1,11 @@
+diff --git a/BLAS/blas.pc.in b/BLAS/blas.pc.in
+index 367c87b..44b86db 100644
+--- a/BLAS/blas.pc.in
++++ b/BLAS/blas.pc.in
+@@ -7,5 +7,5 @@ Name: @PACKAGE_NAME@
+ Description: Basic Linear Algebra Subprograms F77 reference implementations
+ Version: @PACKAGE_VERSION@
+ URL: http://www.netlib.org/blas
+-Libs: -lblas
++Libs: -L@libdir@ -lblas
+ Libs.private: -lm
diff --git a/sci-libs/blas-reference/files/eselect.blas.reference b/sci-libs/blas-reference/files/eselect.blas.reference
new file mode 100644
index 000000000000..edb10ddd10d9
--- /dev/null
+++ b/sci-libs/blas-reference/files/eselect.blas.reference
@@ -0,0 +1,4 @@
+blas/reference/libblas.so /usr/@LIBDIR@/libblas.so
+blas/reference/libblas.so.0 /usr/@LIBDIR@/libblas.so.0
+blas/reference/libblas.a /usr/@LIBDIR@/libblas.a
+../blas/reference/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc
diff --git a/sci-libs/blas-reference/files/eselect.blas.reference-ng b/sci-libs/blas-reference/files/eselect.blas.reference-ng
new file mode 100644
index 000000000000..840389479fe2
--- /dev/null
+++ b/sci-libs/blas-reference/files/eselect.blas.reference-ng
@@ -0,0 +1 @@
+../blas/reference/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc
diff --git a/sci-libs/blas-reference/metadata.xml b/sci-libs/blas-reference/metadata.xml
new file mode 100644
index 000000000000..6d6f67c0371c
--- /dev/null
+++ b/sci-libs/blas-reference/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+The BLAS (Basic Linear Algebra Subprograms) are high quality "building
+block" routines for performing basic vector and matrix operations. Level 1
+BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations,
+and Level 3 BLAS do matrix-matrix operations. Because the BLAS are
+efficient, portable, and widely available, they're commonly used in the
+development of high quality linear algebra software, LAPACK for
+example. This packages implements the reference FORTRAN 77 library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/bliss/Manifest b/sci-libs/bliss/Manifest
new file mode 100644
index 000000000000..be3eecb6e270
--- /dev/null
+++ b/sci-libs/bliss/Manifest
@@ -0,0 +1 @@
+DIST bliss-0.72.zip 90970 SHA256 528d192b1e30722fc60f5f12c9d6c12b374d838198ae7f18fb41bedabf735ed3 SHA512 a09b3cea26e3ff5f5733f10bfaadaf6fb5a3f443e1cc306fad16af2f7b4cd97c90652315f911a324d6d71426a3d098cd5c7e5721f69c599fe2e0d6d34caa0ef5 WHIRLPOOL afbc41c04e843d383a2da8d5e26ec2882c847e8e5f1e71c05f884396fcc79eab764df628523336b88e0c6ef4fbf073a52870e2c68ded428002d9391894cb53d6
diff --git a/sci-libs/bliss/bliss-0.72.ebuild b/sci-libs/bliss/bliss-0.72.ebuild
new file mode 100644
index 000000000000..dea3e3c0c723
--- /dev/null
+++ b/sci-libs/bliss/bliss-0.72.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+SRC_URI="http://www.tcs.hut.fi/Software/${PN}/${P}.zip"
+DESCRIPTION="A Tool for Computing Automorphism Groups and Canonical Labelings of Graphs"
+HOMEPAGE="http://www.tcs.hut.fi/Software/bliss/index.shtml"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gmp static-libs"
+
+RDEPEND="gmp? ( dev-libs/gmp:0= )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+AUTOTOOLS_PRUNE_LIBTOOL_FILES="all" #comes with pkg-config file
+
+PATCHES=(
+ "${FILESDIR}/${P}-fedora.patch"
+ "${FILESDIR}/${P}-autotools.patch"
+)
+
+src_configure() {
+ local myeconfargs=( $(use_with gmp) )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(usex doc html "")
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/html/. )
+ autotools-utils_src_install
+}
diff --git a/sci-libs/bliss/files/bliss-0.72-autotools.patch b/sci-libs/bliss/files/bliss-0.72-autotools.patch
new file mode 100644
index 000000000000..d30c51622e2e
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.72-autotools.patch
@@ -0,0 +1,159 @@
+Replace simple Makefile by autotools
+- allow shared library
+- parallel build
+- added pkg-config support
+
+Author: Christoph Junghans <ottxor@gentoo.org>
+
+diff -Naur bliss-0.72-fedora/config/.dummy bliss-0.72/config/.dummy
+--- bliss-0.72-fedora/config/.dummy 1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/config/.dummy 2013-04-28 14:43:06.143760368 -0600
+@@ -0,0 +1 @@
++Dummy file to make patch create config dir, which is needed for autotools
+diff -Naur bliss-0.72-fedora/configure.ac bliss-0.72/configure.ac
+--- bliss-0.72-fedora/configure.ac 1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/configure.ac 2013-04-28 14:40:42.283242722 -0600
+@@ -0,0 +1,31 @@
++AC_PREREQ([2.65])
++AC_INIT([bliss], [0.72], [Tommi.Junttil@kk.fi])
++
++AC_CONFIG_AUX_DIR(config)
++AC_CONFIG_MACRO_DIR(config)
++
++AM_INIT_AUTOMAKE([1.8 foreign])
++
++SHARED_VERSION_INFO="1:0:0"
++AC_SUBST(SHARED_VERSION_INFO)
++
++# Checks for programs.
++AC_PROG_CXX
++
++LT_INIT
++# Checks for libraries.
++AC_ARG_WITH([gmp],
++ [AS_HELP_STRING([--with-gmp], [enable support for GNU Multiple Precision Arithmetic Library @<:@default=check@:>@])],
++ [], [with_readline=no])
++AS_IF([test "x$with_readline" != xno],
++ [AC_CHECK_HEADERS([gmp.h],,AC_MSG_ERROR([Cannot find gmp.h header]))
++ AC_CHECK_LIB([gmp],_init,,AC_MSG_ERROR([Cannot find gmp library]))
++ AC_SUBST([GMP],[-lgmp])
++ [CPPFLAGS="$CPPFLAGS -DBLISS_USE_GMP"]])
++
++AC_CHECK_PROG(DOXYGEN,doxygen,doxygen,no)
++AM_CONDITIONAL(HAVE_DOXYGEN,[test .$DOXYGEN != .no])
++
++AC_CONFIG_FILES([Makefile])
++AC_CONFIG_FILES([bliss.pc])
++AC_OUTPUT
+diff -Naur bliss-0.72-fedora/bliss.pc.in bliss-0.72/bliss.pc.in
+--- bliss-0.72-fedora/bliss.pc.in 1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/bliss.pc.in 2013-04-28 14:40:54.223285686 -0600
+@@ -0,0 +1,13 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: bliss
++Description: Library for Computing Automorphism Groups and Canonical Labelings of Graphs
++URL: http://www.tcs.hut.fi/Software/bliss/index.shtml
++Version: @VERSION@
++Requires:
++Libs: -L${libdir} -lbliss @GMP@
++Libs.private: -lm
++Cflags: -I${includedir}
+diff -Naur bliss-0.72-fedora/Makefile bliss-0.72/Makefile
+--- bliss-0.72-fedora/Makefile 2013-04-28 14:40:10.543128514 -0600
++++ bliss-0.72/Makefile 1969-12-31 17:00:00.000000000 -0700
+@@ -1,57 +0,0 @@
+-CFLAGS = -I.
+-CFLAGS += -g
+-#CFLAGS += -pg
+-CFLAGS += -Wall
+-CFLAGS += --pedantic
+-CFLAGS += -O9
+-#CFLAGS += -DBLISS_DEBUG
+-CFLAGS += -fPIC
+-
+-SRCS = defs.cc graph.cc partition.cc orbit.cc uintseqhash.cc heap.cc
+-SRCS += timer.cc utils.cc bliss_C.cc
+-
+-OBJS = $(addsuffix .o, $(basename $(SRCS)))
+-
+-GMPOBJS = $(addsuffix g, $(OBJS))
+-
+-LIB =
+-#LIB += /usr/lib/ccmalloc.o -ldl
+-
+-CC = g++
+-RANLIB = ranlib
+-AR = ar
+-BLISSLIB = libbliss.a
+-
+-gmp: LIB += -lgmp
+-gmp: CFLAGS += -DBLISS_USE_GMP
+-
+-normal: bliss
+-gmp: bliss_gmp
+-
+-
+-all:: lib bliss
+-
+-%.o %.og: %.cc
+- $(CC) $(CFLAGS) -c -o $@ $<
+-
+-lib: $(OBJS)
+- rm -f $(BLISSLIB)
+- $(AR) cr $(BLISSLIB) $(OBJS)
+- $(RANLIB) $(BLISSLIB)
+-
+-lib_gmp: $(GMPOBJS)
+- rm -f $(BLISSLIB)
+- $(AR) cr $(BLISSLIB) $(GMPOBJS)
+- $(RANLIB) $(BLISSLIB)
+-
+-bliss: bliss.o lib $(OBJS)
+- $(CC) $(CFLAGS) -o bliss bliss.o $(OBJS) $(LIB)
+-
+-bliss_gmp: bliss.og lib_gmp $(GMPOBJS)
+- $(CC) $(CFLAGS) -o bliss bliss.og $(GMPOBJS) $(LIB)
+-
+-
+-clean:
+- rm -f bliss $(BLISSLIB) $(OBJS) bliss.o $(GMPOBJS) bliss.og
+-
+-# DO NOT DELETE
+diff -Naur bliss-0.72-fedora/Makefile.am bliss-0.72/Makefile.am
+--- bliss-0.72-fedora/Makefile.am 1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/Makefile.am 2013-04-28 14:47:26.944698789 -0600
+@@ -0,0 +1,30 @@
++ACLOCAL_AMFLAGS = -I config
++
++lib_LTLIBRARIES = libbliss.la
++
++libbliss_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
++libbliss_la_SOURCES = \
++ defs.cc graph.cc partition.cc orbit.cc uintseqhash.cc heap.cc \
++ timer.cc utils.cc bliss_C.cc
++
++pkginclude_HEADERS = \
++ bignum.hh bliss_C.h defs.hh graph.hh heap.hh kqueue.hh kstack.hh \
++ orbit.hh partition.hh timer.hh uintseqhash.hh utils.hh
++
++bin_PROGRAMS = bliss
++bliss_SOURCES = bliss.cc
++bliss_LDADD = libbliss.la
++dist_man1_MANS = bliss.1
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = bliss.pc
++
++html-local: Doxyfile
++if HAVE_DOXYGEN
++ $(DOXYGEN) $(srcdir)/Doxyfile
++else
++ @echo "doxygen was not found, please re-run configure"
++endif
++
++clean-local:
++ -rm -rf html
diff --git a/sci-libs/bliss/files/bliss-0.72-fedora.patch b/sci-libs/bliss/files/bliss-0.72-fedora.patch
new file mode 100644
index 000000000000..e1f8b6685109
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.72-fedora.patch
@@ -0,0 +1,648 @@
+Pulled on 28-04-13 from
+http://pkgs.fedoraproject.org/cgit/bliss.git/tree/
+
+- Man page written by Jerry James using text borrowed from the sources.
+ The man page therefore has the same copyright and license as the sources.
+- Don't call exit() in library code.
+- Patch from Thomas Rehn, also sent upstream. Fix one bug and add one
+ performance enhancement.
+
+diff -Naur bliss-0.72.orig/bliss.1 bliss-0.72/bliss.1
+--- bliss-0.72.orig/bliss.1 1969-12-31 17:00:00.000000000 -0700
++++ bliss-0.72/bliss.1 2013-04-28 14:35:37.000000000 -0600
+@@ -0,0 +1,55 @@
++.TH "BLISS" "1" "@VERSION@" "Tommi Junttila & Petteri Kaski" "User Commands"
++.SH "NAME"
++bliss \- Compute automorphism groups and canonical labelings of graphs
++.SH "SYNOPSIS"
++.B bliss
++[\fIOPTIONS\fR] [<\fIGRAPH FILE\fR>]
++.SH "DESCRIPTION"
++.PP
++Bliss is an open source tool for computing automorphism groups and
++canonical forms of graphs. The graphs are specified in DIMACS format.
++.TP
++\fB\-directed\fR
++the input graph is directed
++.TP
++\fB\-can\fR
++compute canonical form
++.TP
++\fB\-ocan\fR=\fIf\fR
++compute canonical form and output it in file \fIf\fR
++.TP
++\fB\-v\fR=\fIN\fR
++set verbosity level to N [N >= 0, default: 1]
++.TP
++\fB\-sh\fR=\fIX\fR
++select splitting heuristics, where X is:
++.TS
++tab(;);
++R L.
++f;first non-singleton cell
++fl;first largest non-singleton cell
++fs;first smallest non-singleton cell
++fm;first maximally non-trivially connected non-singleton cell
++flm;first largest maximally non-trivially connected
++;non-singleton cell
++fsm;first smallest maximally non-trivially connected
++;non-singleton cell (default)
++.TE
++.TP
++\fB\-fr\fR=\fIX\fR
++use failure recording? [X=y/n, default: y]
++.TP
++\fB\-cr\fR=\fIX\fR
++use component recursion? [X=y/n, default: y]
++.TP
++\fB\-version\fR
++print the version number and exit
++.TP
++\fB\-help\fR
++print this help and exit
++.SH "AUTHORS"
++Bliss was written by Tommi Junttila <Tommi.Junttila@tkk.fi> and
++Petteri Kaski <petteri.kaski@aalto.fi>.
++.PP
++This man page was written by Jerry James <loganjerry@gmail.com>.
++It is distributed under the same terms as bliss.
+diff -Naur bliss-0.72.orig/bliss.cc bliss-0.72/bliss.cc
+--- bliss-0.72.orig/bliss.cc 2013-04-28 14:35:20.582085167 -0600
++++ bliss-0.72/bliss.cc 2013-04-28 14:36:28.792330603 -0600
+@@ -276,13 +276,16 @@
+ if(opt_canonize == false)
+ {
+ /* No canonical labeling, only automorphism group */
+- g->find_automorphisms(stats, &report_aut, stdout);
++ if (!g->find_automorphisms(stats, &report_aut, stdout))
++ exit(1);
+ }
+ else
+ {
+ /* Canonical labeling and automorphism group */
+ const unsigned int* cl = g->canonical_form(stats, &report_aut, stdout);
+
++ if (!cl)
++ exit(1);
+ fprintf(stdout, "Canonical labeling: ");
+ bliss::print_permutation(stdout, g->get_nof_vertices(), cl, 1);
+ fprintf(stdout, "\n");
+@@ -290,6 +293,8 @@
+ if(opt_output_can_file)
+ {
+ bliss::AbstractGraph* cf = g->permute(cl);
++ if (!cf)
++ exit(1);
+ FILE* const fp = fopen(opt_output_can_file, "w");
+ if(!fp)
+ _fatal("Cannot open '%s' for outputting the canonical form, aborting", opt_output_can_file);
+diff -Naur bliss-0.72.orig/bliss_C.cc bliss-0.72/bliss_C.cc
+--- bliss-0.72.orig/bliss_C.cc 2013-04-28 14:35:20.582085167 -0600
++++ bliss-0.72/bliss_C.cc 2013-04-28 14:36:28.792330603 -0600
+@@ -131,7 +131,7 @@
+ }
+
+ extern "C"
+-void
++int
+ bliss_find_automorphisms(BlissGraph *graph,
+ void (*hook)(void *user_param,
+ unsigned int n,
+@@ -142,7 +142,8 @@
+ bliss::Stats s;
+ assert(graph);
+ assert(graph->g);
+- graph->g->find_automorphisms(s, hook, hook_user_param);
++ if (!graph->g->find_automorphisms(s, hook, hook_user_param))
++ return 0;
+
+ if(stats)
+ {
+@@ -154,6 +155,7 @@
+ stats->nof_generators = s.get_nof_generators();
+ stats->max_level = s.get_max_level();
+ }
++ return 1;
+ }
+
+
+@@ -173,7 +175,7 @@
+
+ canonical_labeling = graph->g->canonical_form(s, hook, hook_user_param);
+
+- if(stats)
++ if(canonical_labeling && stats)
+ {
+ stats->group_size_approx = s.get_group_size_approx();
+ stats->nof_nodes = s.get_nof_nodes();
+diff -Naur bliss-0.72.orig/bliss_C.h bliss-0.72/bliss_C.h
+--- bliss-0.72.orig/bliss_C.h 2013-04-28 14:35:20.582085167 -0600
++++ bliss-0.72/bliss_C.h 2013-04-28 14:36:28.792330603 -0600
+@@ -156,6 +156,7 @@
+ * The argument \a perm should be an array of
+ * N=bliss::bliss_get_nof_vertices(\a graph) elements describing
+ * a bijection on {0,...,N-1}.
++ * Returns NULL if insufficient memory or internal error.
+ */
+ BlissGraph *bliss_permute(BlissGraph *graph, const unsigned int *perm);
+
+@@ -174,8 +175,9 @@
+ * if you want to use the automorphism later, you have to take a copy of it.
+ * Do not call bliss_* functions in the hook.
+ * If \a stats is non-null, then some search statistics are copied there.
++ * \return nonzero if successful, zero if insufficient memory or internal error
+ */
+-void
++int
+ bliss_find_automorphisms(BlissGraph *graph,
+ void (*hook)(void *user_param,
+ unsigned int N,
+@@ -194,6 +196,7 @@
+ * then bliss_permute() with the returned canonical labeling.
+ * Note that the computed canonical version may depend on the applied version
+ * of bliss.
++ * Returns NULL if insufficient memory or internal error.
+ */
+ const unsigned int *
+ bliss_find_canonical_labeling(BlissGraph *graph,
+diff -Naur bliss-0.72.orig/defs.cc bliss-0.72/defs.cc
+--- bliss-0.72.orig/defs.cc 2013-04-28 14:35:20.582085167 -0600
++++ bliss-0.72/defs.cc 2013-04-28 14:36:28.792330603 -0600
+@@ -33,7 +33,6 @@
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, "\nAborting!\n");
+ va_end(ap);
+- exit(1);
+ }
+
+ }
+diff -Naur bliss-0.72.orig/graph.cc bliss-0.72/graph.cc
+--- bliss-0.72.orig/graph.cc 2013-04-28 14:35:20.582085167 -0600
++++ bliss-0.72/graph.cc 2013-04-28 14:37:16.162501050 -0600
+@@ -34,7 +34,10 @@
+ namespace bliss {
+
+ #define _INTERNAL_ERROR() fatal_error("%s:%d: internal error",__FILE__,__LINE__)
+-#define _OUT_OF_MEMORY() fatal_error("%s:%d: out of memory",__FILE__,__LINE__)
++#define _OUT_OF_MEMORY(label) do { \
++ fatal_error("%s:%d: out of memory",__FILE__,__LINE__); \
++ goto label; \
++ } while (0)
+
+ /*-------------------------------------------------------------------------
+ *
+@@ -279,20 +282,6 @@
+ *perm = i;
+ }
+
+-bool
+-AbstractGraph::is_automorphism(unsigned int* const perm)
+-{
+- _INTERNAL_ERROR();
+- return false;
+-}
+-
+-bool
+-AbstractGraph::is_automorphism(const std::vector<unsigned int>& perm) const
+-{
+- _INTERNAL_ERROR();
+- return false;
+-}
+-
+
+
+
+@@ -608,17 +597,7 @@
+ };
+
+
+-
+-
+-typedef struct {
+- unsigned int splitting_element;
+- unsigned int certificate_index;
+- unsigned int subcertificate_length;
+- UintSeqHash eqref_hash;
+-} PathInfo;
+-
+-
+-void
++bool
+ AbstractGraph::search(const bool canonical, Stats& stats)
+ {
+ const unsigned int N = get_nof_vertices();
+@@ -658,7 +637,7 @@
+ if(N == 0)
+ {
+ /* Nothing to do, return... */
+- return;
++ return true;
+ }
+
+ /* Initialize the partition ... */
+@@ -696,10 +675,10 @@
+ */
+ if(first_path_labeling) free(first_path_labeling);
+ first_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int));
+- if(!first_path_labeling) _OUT_OF_MEMORY();
++ if(!first_path_labeling) _OUT_OF_MEMORY(oom1);
+ if(best_path_labeling) free(best_path_labeling);
+ best_path_labeling = (unsigned int*)calloc(N, sizeof(unsigned int));
+- if(!best_path_labeling) _OUT_OF_MEMORY();
++ if(!best_path_labeling) _OUT_OF_MEMORY(oom2);
+
+ /*
+ * Is the initial partition discrete?
+@@ -710,7 +689,7 @@
+ update_labeling(best_path_labeling);
+ /* Update statistics */
+ stats.nof_leaf_nodes = 1;
+- return;
++ return true;
+ }
+
+ /*
+@@ -718,20 +697,39 @@
+ */
+ if(first_path_labeling_inv) free(first_path_labeling_inv);
+ first_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int));
+- if(!first_path_labeling_inv) _OUT_OF_MEMORY();
++ if(!first_path_labeling_inv) _OUT_OF_MEMORY(oom3);
+ if(best_path_labeling_inv) free(best_path_labeling_inv);
+ best_path_labeling_inv = (unsigned int*)calloc(N, sizeof(unsigned int));
+- if(!best_path_labeling_inv) _OUT_OF_MEMORY();
++ if(!best_path_labeling_inv) _OUT_OF_MEMORY(oom4);
+
+ /*
+ * Allocate space for the automorphisms
+ */
+ if(first_path_automorphism) free(first_path_automorphism);
+ first_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int));
+- if(!first_path_automorphism) _OUT_OF_MEMORY();
++ if(!first_path_automorphism) _OUT_OF_MEMORY(oom5);
+ if(best_path_automorphism) free(best_path_automorphism);
+ best_path_automorphism = (unsigned int*)malloc(N * sizeof(unsigned int));
+- if(!best_path_automorphism) _OUT_OF_MEMORY();
++ if(!best_path_automorphism) {
++ _OUT_OF_MEMORY(oom6);
++ oom6:
++ free(first_path_automorphism);
++ first_path_automorphism = NULL;
++ oom5:
++ free(best_path_labeling_inv);
++ best_path_labeling_inv = NULL;
++ oom4:
++ free(first_path_labeling_inv);
++ first_path_labeling_inv = NULL;
++ oom3:
++ free(best_path_labeling);
++ best_path_labeling = NULL;
++ oom2:
++ free(first_path_labeling);
++ first_path_labeling = NULL;
++ oom1:
++ return false;
++ }
+
+ /*
+ * Initialize orbit information so that all vertices are in their own orbits
+@@ -745,7 +743,6 @@
+ initialize_certificate();
+
+ std::vector<TreeNode> search_stack;
+- std::vector<PathInfo> first_path_info;
+ std::vector<PathInfo> best_path_info;
+
+ search_stack.clear();
+@@ -974,7 +971,6 @@
+ */
+ {
+ unsigned int next_split_element = UINT_MAX;
+- unsigned int* next_split_element_pos = 0;
+ unsigned int* ep = p.elements + cell->first;
+ if(current_node.fp_on)
+ {
+@@ -985,7 +981,6 @@
+ *ep < next_split_element and
+ first_path_orbits.is_minimal_representative(*ep)) {
+ next_split_element = *ep;
+- next_split_element_pos = ep;
+ }
+ }
+ }
+@@ -1001,7 +996,6 @@
+ current_node.long_prune_redundant.find(*ep) ==
+ current_node.long_prune_redundant.end())) {
+ next_split_element = *ep;
+- next_split_element_pos = ep;
+ }
+ }
+ }
+@@ -1015,7 +1009,6 @@
+ current_node.long_prune_redundant.find(*ep) ==
+ current_node.long_prune_redundant.end())) {
+ next_split_element = *ep;
+- next_split_element_pos = ep;
+ }
+ }
+ }
+@@ -1203,8 +1196,10 @@
+
+ #if defined(BLISS_VERIFY_EQUITABLEDNESS)
+ /* The new partition should be equitable */
+- if(!is_equitable())
++ if(!is_equitable()) {
+ fatal_error("consistency check failed - partition after refinement is not equitable");
++ return false;
++ }
+ #endif
+
+ /*
+@@ -1366,6 +1361,7 @@
+ goto handle_first_path_automorphism;
+ /* Should never get here because of CR:FP */
+ _INTERNAL_ERROR();
++ return false;
+ }
+ }
+
+@@ -1598,8 +1594,10 @@
+
+ #if defined(BLISS_VERIFY_AUTOMORPHISMS)
+ /* Verify that it really is an automorphism */
+- if(!is_automorphism(best_path_automorphism))
++ if(!is_automorphism(best_path_automorphism)) {
+ fatal_error("Best path automorhism validation check failed");
++ return false;
++ }
+ #endif
+
+ unsigned int gca_level_with_first = 0;
+@@ -1666,6 +1664,7 @@
+
+
+ _INTERNAL_ERROR();
++ return false;
+
+
+ handle_first_path_automorphism:
+@@ -1701,8 +1700,10 @@
+
+ #if defined(BLISS_VERIFY_AUTOMORPHISMS)
+ /* Verify that it really is an automorphism */
+- if(!is_automorphism(first_path_automorphism))
++ if(!is_automorphism(first_path_automorphism)) {
+ fatal_error("First path automorphism validation check failed");
++ return false;
++ }
+ #endif
+
+ if(opt_use_long_prune)
+@@ -1749,12 +1750,13 @@
+ /* Release component recursion data in partition */
+ if(opt_use_comprec)
+ p.cr_free();
++ return true;
+ }
+
+
+
+
+-void
++bool
+ AbstractGraph::find_automorphisms(Stats& stats,
+ void (*hook)(void *user_param,
+ unsigned int n,
+@@ -1764,7 +1766,8 @@
+ report_hook = hook;
+ report_user_param = user_param;
+
+- search(false, stats);
++ if (!search(false, stats))
++ return false;
+
+ if(first_path_labeling)
+ {
+@@ -1776,6 +1779,7 @@
+ free(best_path_labeling);
+ best_path_labeling = 0;
+ }
++ return true;
+ }
+
+
+@@ -1790,7 +1794,8 @@
+ report_hook = hook;
+ report_user_param = user_param;
+
+- search(true, stats);
++ if (!search(true, stats))
++ return NULL;
+
+ return best_path_labeling;
+ }
+@@ -3480,15 +3485,17 @@
+ * Check whether perm is an automorphism.
+ * Slow, mainly for debugging and validation purposes.
+ */
+-bool
++int
+ Digraph::is_automorphism(unsigned int* const perm)
+ {
+ std::set<unsigned int, std::less<unsigned int> > edges1;
+ std::set<unsigned int, std::less<unsigned int> > edges2;
+
+ #if defined(BLISS_CONSISTENCY_CHECKS)
+- if(!is_permutation(get_nof_vertices(), perm))
++ if(!is_permutation(get_nof_vertices(), perm)) {
+ _INTERNAL_ERROR();
++ return -1;
++ }
+ #endif
+
+ for(unsigned int i = 0; i < get_nof_vertices(); i++)
+@@ -3507,7 +3514,7 @@
+ ei++)
+ edges2.insert(*ei);
+ if(!(edges1 == edges2))
+- return false;
++ return 0;
+
+ edges1.clear();
+ for(std::vector<unsigned int>::iterator ei = v1.edges_out.begin();
+@@ -3520,10 +3527,10 @@
+ ei++)
+ edges2.insert(*ei);
+ if(!(edges1 == edges2))
+- return false;
++ return 0;
+ }
+
+- return true;
++ return 1;
+ }
+
+ bool
+@@ -4330,8 +4337,10 @@
+ Graph::permute(const unsigned int* perm) const
+ {
+ #if defined(BLISS_CONSISTENCY_CHECKS)
+- if(!is_permutation(get_nof_vertices(), perm))
++ if(!is_permutation(get_nof_vertices(), perm)) {
+ _INTERNAL_ERROR();
++ return NULL;
++ }
+ #endif
+
+ Graph* const g = new Graph(get_nof_vertices());
+@@ -5270,15 +5279,17 @@
+ *
+ *-------------------------------------------------------------------------*/
+
+-bool
++int
+ Graph::is_automorphism(unsigned int* const perm)
+ {
+ std::set<unsigned int, std::less<unsigned int> > edges1;
+ std::set<unsigned int, std::less<unsigned int> > edges2;
+
+ #if defined(BLISS_CONSISTENCY_CHECKS)
+- if(!is_permutation(get_nof_vertices(), perm))
++ if(!is_permutation(get_nof_vertices(), perm)) {
+ _INTERNAL_ERROR();
++ return -1;
++ }
+ #endif
+
+ for(unsigned int i = 0; i < get_nof_vertices(); i++)
+@@ -5298,10 +5309,10 @@
+ edges2.insert(*ei);
+
+ if(!(edges1 == edges2))
+- return false;
++ return 0;
+ }
+
+- return true;
++ return 1;
+ }
+
+
+@@ -5444,7 +5455,7 @@
+ component.clear();
+ component_elements = 0;
+ sh_return = 0;
+- unsigned int sh_first = 0;
++ unsigned int sh_first = 1 << 31;
+ unsigned int sh_size = 0;
+ unsigned int sh_nuconn = 0;
+
+diff -Naur bliss-0.72.orig/graph.hh bliss-0.72/graph.hh
+--- bliss-0.72.orig/graph.hh 2013-04-28 14:35:20.582085167 -0600
++++ bliss-0.72/graph.hh 2013-04-28 14:37:16.162501050 -0600
+@@ -109,9 +109,12 @@
+ unsigned long int get_max_level() const {return max_level;}
+ };
+
+-
+-
+-
++typedef struct {
++ unsigned int splitting_element;
++ unsigned int certificate_index;
++ unsigned int subcertificate_length;
++ UintSeqHash eqref_hash;
++} PathInfo;
+
+
+ /**
+@@ -270,7 +273,7 @@
+ void reset_permutation(unsigned int *perm);
+
+ /* Mainly for debugging purposes */
+- virtual bool is_automorphism(unsigned int* const perm);
++ virtual int is_automorphism(unsigned int* const perm) = 0;
+
+ std::vector<unsigned int> certificate_current_path;
+ std::vector<unsigned int> certificate_first_path;
+@@ -284,7 +287,11 @@
+ virtual Partition::Cell* find_next_cell_to_be_splitted(Partition::Cell *cell) = 0;
+
+
+- void search(const bool canonical, Stats &stats);
++ /**
++ * \return true if successful, false if insufficient memory to complete or
++ * other internal error
++ */
++ bool search(const bool canonical, Stats &stats);
+
+
+ void (*report_hook)(void *user_param,
+@@ -351,7 +358,7 @@
+ */
+ unsigned int cr_component_elements;
+
+-
++ std::vector<PathInfo> first_path_info;
+
+
+ public:
+@@ -362,7 +369,7 @@
+ * Check whether \a perm is an automorphism of this graph.
+ * Unoptimized, mainly for debugging purposes.
+ */
+- virtual bool is_automorphism(const std::vector<unsigned int>& perm) const;
++ virtual bool is_automorphism(const std::vector<unsigned int>& perm) const = 0;
+
+
+
+@@ -427,8 +434,10 @@
+ * if you want to use the automorphism later, you have to take a copy of it.
+ * Do not call any member functions in the hook.
+ * The search statistics are copied in \a stats.
++ * \return true if successful, false if insufficient memory to search or
++ * other internal error.
+ */
+- void find_automorphisms(Stats& stats,
++ bool find_automorphisms(Stats& stats,
+ void (*hook)(void* user_param,
+ unsigned int n,
+ const unsigned int* aut),
+@@ -448,6 +457,8 @@
+ * Note that the computed canonical version may depend on the applied version
+ * of bliss as well as on some other options (for instance, the splitting
+ * heuristic selected with bliss::Graph::set_splitting_heuristic()).
++ * This function returns NULL if there is insufficient memory, or another
++ * internal error occurs.
+ */
+ const unsigned int* canonical_form(Stats& stats,
+ void (*hook)(void* user_param,
+@@ -500,6 +511,10 @@
+ opt_use_long_prune = active;
+ }
+
++ /**
++ * Get an information vector about the first path.
++ */
++ std::vector<PathInfo> get_first_path_info() { return first_path_info; }
+ };
+
+
+@@ -615,7 +630,7 @@
+
+ void initialize_certificate();
+
+- bool is_automorphism(unsigned int* const perm);
++ int is_automorphism(unsigned int* const perm);
+
+
+ bool nucr_find_first_component(const unsigned int level);
+@@ -856,7 +871,7 @@
+
+ void initialize_certificate();
+
+- bool is_automorphism(unsigned int* const perm);
++ int is_automorphism(unsigned int* const perm);
+
+ void sort_edges();
+
diff --git a/sci-libs/bliss/metadata.xml b/sci-libs/bliss/metadata.xml
new file mode 100644
index 000000000000..64784b089c3f
--- /dev/null
+++ b/sci-libs/bliss/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>ottxor@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <maintainer>
+ <email>tomka@gentoo.org</email>
+ <name>Thomas Kahle</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/bmrblib/Manifest b/sci-libs/bmrblib/Manifest
new file mode 100644
index 000000000000..6b6dde85caf9
--- /dev/null
+++ b/sci-libs/bmrblib/Manifest
@@ -0,0 +1 @@
+DIST bmrblib-1.0.3.tar.bz2 51246 SHA256 583e8d8f4ea2aaffec5eb30edfb4a840f1222512ad4f17c2d0d2c885a5afe3f6 SHA512 b03ad9e4ca035439165ebd1b7ba93ede427b2a233a4179be4e8089db988f1dcdce68b1e97348fe22fe7f2c3827ed003b654e0674a4d16a9e32a8a7c255c4b248 WHIRLPOOL 65b3a62142092af882be8d45fa84dd5b80e983c6bfb36d98b5ab444d6b0e4b0523ca64977a6643f27be9d64448a0c7e0ee2021bcbc306cbaa2101dcc3a1f6e1a
diff --git a/sci-libs/bmrblib/bmrblib-1.0.3.ebuild b/sci-libs/bmrblib/bmrblib-1.0.3.ebuild
new file mode 100644
index 000000000000..421a816c09a3
--- /dev/null
+++ b/sci-libs/bmrblib/bmrblib-1.0.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="API abstracting the BioMagResBank (BMRB) NMR-STAR format (http://www.bmrb.wisc.edu/)"
+HOMEPAGE="http://gna.org/projects/bmrblib/"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/bmrblib/metadata.xml b/sci-libs/bmrblib/metadata.xml
new file mode 100644
index 000000000000..ce97f606bcd9
--- /dev/null
+++ b/sci-libs/bmrblib/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ Bmrblib is an API abstracting the BioMagResBank (BMRB) NMR-STAR format
+ (http://www.bmrb.wisc.edu/). It allows the writing of NMR-STAR files
+ for BMRB data deposition and the reading and easy extraction of data
+ from files residing in the BMRB data bank, all without knowledge of
+ the Self-Defining Text Archive and Retrieval (STAR) format. The API
+ has currently only python bindings.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/btf/Manifest b/sci-libs/btf/Manifest
new file mode 100644
index 000000000000..bc48bc451e84
--- /dev/null
+++ b/sci-libs/btf/Manifest
@@ -0,0 +1,2 @@
+DIST BTF-1.1.3.tar.gz 38276 SHA256 01032ba79baba9a90e3c03e9500c42cce9250c2ecab03c48323bc940f3a7cbfe SHA512 1e1b3e9bbed22ae417177f1bb960bd8097af05e7fede4b59df270020845e4bc9a77a16733af980d9b309503edc7ab6ffd852d28c6650e4e53b29125c5dc6364c WHIRLPOOL 319d1a512c42b3f6be294cd98020f9353d35456bd5136b76a98eb6fda77b5f0a6f924f1fc13c8aa29ddceb03602a3d0231d2283964f3a5041b3f4f9f28102bc3
+DIST btf-1.2.0.tar.bz2 290915 SHA256 9c26f0dc080891838421dd4d38bf1350d8f6fadb1e8a090c127e2667041191fb SHA512 4c2dcd5abf7a72485267a666e679545a5bfa8a20dfbf75a939c92547bdf960d40b6ae93cad23ac44f791e515a13f26c1dae446d3ba6e89b3d1f87d91d4dba50c WHIRLPOOL 0c40c7616b1fec6875ce4653e856f64056bd4eafe96c501cea5474d9ea7a1a75401a86db82f73b8f2f9c1244195746faca265abece3c7bfbf579f9bb2aaec37e
diff --git a/sci-libs/btf/btf-1.1.3.ebuild b/sci-libs/btf/btf-1.1.3.ebuild
new file mode 100644
index 000000000000..60a8f6dd54c5
--- /dev/null
+++ b/sci-libs/btf/btf-1.1.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+inherit autotools-utils
+
+MY_PN=BTF
+
+DESCRIPTION="Algorithm for matrix permutation into block triangular form"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/btf/"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+DEPEND="sci-libs/ufconfig"
+RDEPEND=""
+
+DOCS=( README.txt Doc/ChangeLog )
+PATCHES=( "${FILESDIR}"/${PN}-1.0.1-autotools.patch )
+
+S="${WORKDIR}/${MY_PN}"
diff --git a/sci-libs/btf/btf-1.2.0.ebuild b/sci-libs/btf/btf-1.2.0.ebuild
new file mode 100644
index 000000000000..a331bc8b1a93
--- /dev/null
+++ b/sci-libs/btf/btf-1.2.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Algorithm for matrix permutation into block triangular form"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/btf/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+KEYWORDS=" ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/sci-libs/btf/files/btf-1.0.1-autotools.patch b/sci-libs/btf/files/btf-1.0.1-autotools.patch
new file mode 100644
index 000000000000..4156c2dfeb70
--- /dev/null
+++ b/sci-libs/btf/files/btf-1.0.1-autotools.patch
@@ -0,0 +1,34 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-30 12:29:44.232979678 +0000
+@@ -0,0 +1,10 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(btf, 1.0.1, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CONFIG_FILES([Makefile Source/Makefile])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-30 12:30:12.862611188 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = Source
++EXTRA_DIST = README.txt
++include_HEADERS = Include/btf.h Include/btf_internal.h
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-30 12:37:00.857861512 +0000
+@@ -0,0 +1,12 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++BTFSRC = btf_order.c btf_maxtrans.c btf_strongcomp.c
++
++lib_LTLIBRARIES = libbtf.la
++noinst_LTLIBRARIES = libbtfi.la libbtfl.la
++libbtfi_la_SOURCES = $(BTFSRC)
++libbtfi_la_CPPFLAGS = $(AM_CPPFLAGS)
++libbtfl_la_SOURCES = $(BTFSRC)
++libbtfl_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
++libbtf_la_SOURCES =
++libbtf_la_LIBADD = libbtfl.la libbtfi.la
diff --git a/sci-libs/btf/metadata.xml b/sci-libs/btf/metadata.xml
new file mode 100644
index 000000000000..2c22e8591c55
--- /dev/null
+++ b/sci-libs/btf/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The Block Triangular Form is a library of routines offering
+ permutation of an unsymmetric matrix (square or rectangular) into
+ its block upper triangular form (more precisely, it computes a
+ Dulmage-Mendelsohn decomposition).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/buddy/Manifest b/sci-libs/buddy/Manifest
new file mode 100644
index 000000000000..8c71890779bb
--- /dev/null
+++ b/sci-libs/buddy/Manifest
@@ -0,0 +1,2 @@
+DIST buddy-2.4.tar.gz 766523 SHA256 d3df80a6a669d9ae408cb46012ff17bd33d855529d20f3a7e563d0d913358836 SHA512 43984969359ac363141ee8a67538ceeae1412efa172432a8355f6ce68ab5ffab12470ad7a2e0d7a6a557b8bf55e98b2f2dc5cc6710466403d45fab2195ba2e23 WHIRLPOOL 448c1eacc61a238083723693abca6f1600198e9ebd420a9b21179d82fd717c697bfe39758bffda1d96e3ace1a160da5cde91094bd67d9d288a632f1d03f2170a
+DIST buddy22.tar.gz 448103 SHA256 932be15566d95038239b76028bf8d371baadc421fe16c379d4b29d0b834530ca SHA512 edded743a9fdd762b2529408902069b559b24278c9ca8f10f8a72d486f0ea254f2b5d6fc414fb7599eb627841e4d8126198aebc96913c297cadd691485680df9 WHIRLPOOL cf0b668bfa50c0ae7f35f5936d8e9e5a83c70a8de0fadd0454a458cff7a0babef8f30829fe8414d0e012a6c7857f917f92a010c136e2689978779e99fffca971
diff --git a/sci-libs/buddy/buddy-2.2.ebuild b/sci-libs/buddy/buddy-2.2.ebuild
new file mode 100644
index 000000000000..f4cc8ccada2c
--- /dev/null
+++ b/sci-libs/buddy/buddy-2.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="Binary Decision Diagram Package"
+HOMEPAGE="http://www.itu.dk/research/buddy/"
+SRC_URI="http://www.itu.dk/research/buddy/buddy22.tar.gz"
+
+LICENSE="buddy"
+SLOT="0"
+KEYWORDS="x86 ~ppc"
+IUSE=""
+
+S=${WORKDIR}/buddy22
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS}" \
+ LIBDIR=usr/lib \
+ INCDIR=usr/include \
+ || die
+}
+
+src_install() {
+ dodir /usr/lib /usr/include
+ emake install \
+ LIBDIR="${D}"/usr/lib \
+ INCDIR="${D}"/usr/include || die
+ dodoc CHANGES README doc/*.txt
+ insinto /usr/share/doc/${P}/ps
+ doins doc/*.ps
+ insinto /usr/share/${PN}/examples
+ cd examples
+ for example in *; do
+ tar -czf ${example}.tar.gz ${example}
+ doins ${example}.tar.gz
+ done
+}
diff --git a/sci-libs/buddy/buddy-2.4.ebuild b/sci-libs/buddy/buddy-2.4.ebuild
new file mode 100644
index 000000000000..ecb37494e61e
--- /dev/null
+++ b/sci-libs/buddy/buddy-2.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2
+
+DESCRIPTION="Binary Decision Diagram Package"
+HOMEPAGE="http://sourceforge.net/projects/buddy/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="buddy"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples static-libs"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-gold.patch
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ dodoc doc/*.txt
+
+ use doc && docinto /usr/share/doc/${PF}/ps && dodoc doc/*.ps
+
+ if use examples; then
+ insinto /usr/share/${PN}/
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/buddy/files/buddy-2.4-gcc43.patch b/sci-libs/buddy/files/buddy-2.4-gcc43.patch
new file mode 100644
index 000000000000..c7b9f85688eb
--- /dev/null
+++ b/sci-libs/buddy/files/buddy-2.4-gcc43.patch
@@ -0,0 +1,22 @@
+diff -Naurp buddy-2.4-orig/src/bddtest.cxx buddy-2.4/src/bddtest.cxx
+--- buddy-2.4-orig/src/bddtest.cxx 2004-06-25 07:22:26.000000000 -0600
++++ buddy-2.4/src/bddtest.cxx 2009-02-09 22:14:19.000000000 -0600
+@@ -28,6 +28,7 @@
+ ========================================================================*/
+
+ #include <string>
++#include <cstdlib>
+ #include "bdd.h"
+ #include "bvec.h"
+
+diff -Naurp buddy-2.4-orig/examples/bddcalc/parser_.h buddy-2.4/examples/bddcalc/parser_.h
+--- buddy-2.4-orig/examples/bddcalc/parser_.h 2004-06-25 07:21:43.000000000 -0600
++++ buddy-2.4/examples/bddcalc/parser_.h 2009-02-09 22:21:09.000000000 -0600
+@@ -9,6 +9,7 @@
+ #define _PARSER_H
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include "bdd.h"
+
+ #define MAXIDLEN 32 /* Max. number of allowed characters in an identifier */
diff --git a/sci-libs/buddy/files/buddy-2.4-gold.patch b/sci-libs/buddy/files/buddy-2.4-gold.patch
new file mode 100644
index 000000000000..dc30a642141d
--- /dev/null
+++ b/sci-libs/buddy/files/buddy-2.4-gold.patch
@@ -0,0 +1,16 @@
+ examples/cmilner/Makefile.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/examples/cmilner/Makefile.in b/examples/cmilner/Makefile.in
+index 9b49e9d..f7a9b8a 100644
+--- a/examples/cmilner/Makefile.in
++++ b/examples/cmilner/Makefile.in
+@@ -217,7 +217,7 @@ clean-checkPROGRAMS:
+ done
+ cmilner$(EXEEXT): $(cmilner_OBJECTS) $(cmilner_DEPENDENCIES)
+ @rm -f cmilner$(EXEEXT)
+- $(LINK) $(cmilner_LDFLAGS) $(cmilner_OBJECTS) $(cmilner_LDADD) $(LIBS)
++ $(LINK) $(cmilner_LDFLAGS) $(cmilner_OBJECTS) $(cmilner_LDADD) $(LIBS) -lm
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
diff --git a/sci-libs/buddy/metadata.xml b/sci-libs/buddy/metadata.xml
new file mode 100644
index 000000000000..c09b86dde138
--- /dev/null
+++ b/sci-libs/buddy/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ A Binary Decision Diagram library, with :many highly efficient
+ vectorized BDD operations,dynamic variable reordering,automated
+ garbage collection,a C++ interface with automatic reference
+ counting,and much more.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">buddy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/camd/Manifest b/sci-libs/camd/Manifest
new file mode 100644
index 000000000000..87acde08cd65
--- /dev/null
+++ b/sci-libs/camd/Manifest
@@ -0,0 +1 @@
+DIST camd-2.3.1.tar.bz2 319766 SHA256 bb3fcb577307fa4a70281bea8db896b2300a484f27cb61b392be2c4cf7cd5a2e SHA512 13c5d687b9314f43a6c7237c7541e0c21cc544ffe52f8a984f64c5177a9f1f6b5ab07e9190388587f273424db8e6076ef050f836dbc9f33ca44e94d0034c8070 WHIRLPOOL a53b09c002b930a78055742f507b3ea7b14906378edb6808e65e4aac16dcad8178cc16de6373d633356b501fb8a5939737f8c4966d94c1162076be5b1b15c2ad
diff --git a/sci-libs/camd/camd-2.3.1.ebuild b/sci-libs/camd/camd-2.3.1.ebuild
new file mode 100644
index 000000000000..b085672fa7db
--- /dev/null
+++ b/sci-libs/camd/camd-2.3.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/camd/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/camd/files/camd-2.2.0-autotools.patch b/sci-libs/camd/files/camd-2.2.0-autotools.patch
new file mode 100644
index 000000000000..d112a5f17169
--- /dev/null
+++ b/sci-libs/camd/files/camd-2.2.0-autotools.patch
@@ -0,0 +1,71 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-31 15:35:15.579030692 +0000
+@@ -0,0 +1,12 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(camd, 2.2.0, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CONFIG_FILES([Source/Makefile
++ Demo/Makefile
++ Makefile])
++AC_OUTPUT
+--- ./Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ./Demo/Makefile.am 2008-01-31 15:36:57.492838429 +0000
+@@ -0,0 +1,27 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++check_PROGRAMS = \
++ camd_demo \
++ camd_demo2 \
++ camd_simple
++# test is not robust
++# camd_l_demo
++
++LDADD = $(top_builddir)/Source/libcamd.la -lm
++
++camd_demo_SOURCES = camd_demo.c
++#camd_l_demo_SOURCES = camd_l_demo.c
++camd_demo2_SOURCES = camd_demo2.c
++camd_simple_SOURCES = camd_simple.c
++
++check-local: $(check_PROGRAMS)
++ @for i in $(check_PROGRAMS); do \
++ echo "Testing $$i"; \
++ ./$$i > my_$$i.out; \
++ if ! diff $(srcdir)/$$i.out my_$$i.out; then \
++ echo "Test $$i failed!"; \
++ exit 1; \
++ fi \
++ done;
++
++clean-local:
++ rm -f my*.out
+--- ./Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ./Source/Makefile.am 2008-01-31 15:37:17.205961816 +0000
+@@ -0,0 +1,17 @@
++CAMDCSRC = \
++ camd_aat.c camd_1.c camd_2.c camd_dump.c camd_postorder.c \
++ camd_defaults.c camd_order.c camd_control.c camd_info.c \
++ camd_valid.c camd_preprocess.c
++
++lib_LTLIBRARIES = libcamd.la
++noinst_LTLIBRARIES = libcamdi.la libcamdl.la
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++libcamdi_la_SOURCES = $(CAMDCSRC)
++libcamdi_la_CPPFLAGS = $(AM_CPPFLAGS) -DDINT
++libcamdl_la_SOURCES = $(CAMDCSRC)
++libcamdl_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
++
++libcamd_la_SOURCES = camd_global.c
++libcamd_la_LIBADD = libcamdl.la libcamdi.la -lm
++
+--- ./Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ./Makefile.am 2008-01-31 15:34:59.202097424 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = Demo Source
++EXTRA_DIST = README.txt
++include_HEADERS = Include/camd.h Include/camd_internal.h
diff --git a/sci-libs/camd/metadata.xml b/sci-libs/camd/metadata.xml
new file mode 100644
index 000000000000..9c4f1c34262f
--- /dev/null
+++ b/sci-libs/camd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Constrained Approximate Minimum Degree ordering is a set of routines
+ for ordering a sparse matrix prior to Cholesky factorization (or for
+ LU factorization with diagonal pivoting).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/cbflib/Manifest b/sci-libs/cbflib/Manifest
new file mode 100644
index 000000000000..51d76249c0ee
--- /dev/null
+++ b/sci-libs/cbflib/Manifest
@@ -0,0 +1,6 @@
+DIST CBFlib-0.9.2.10.tar.gz 4898574 SHA256 e98ed35e0659ca4ebc10cb035399e8a94f30c721be734ac2bac1933ae6a1bc6f SHA512 d0d9fa6f990f3fb03733887088f409bb348462ba4e8fa0a5431ae1c1087c54e8de969790f04d90e8f23e3eaf351f3253e3ae8791058b47a6cd230b04d9c51898 WHIRLPOOL d380f5144bd497fe4635c9a78579cab58c8fe6bfc14552eabd8da27d94654af1b0be024daff1cf4dbd769291e9011a708dbbab1c9e81c35e5eeb2588a3cca17a
+DIST CBFlib-0.9.2.2.tar.gz 4549837 SHA256 ce289756d643aa2ab79fd1614183ccee7ad06f128d1d8d59c97d7c107ce5f802 SHA512 756153ba81c17ea55d1397227273bc912a4fec7fd70d0b226b2519a5a14c92b612d6421f2748583aea5d0162b1defa51740200e936ce4f23b13b1506cfa5a043 WHIRLPOOL 4b690fa5698503eb424886391752fa2f4b5dad89b184cb4390506980032141ac5c147002b0261ec2769c9ea8aba696c629883b080bc504bc58d973367e399718
+DIST CBFlib-0.9.2.4.tar.gz 4564355 SHA256 c7d11a70e6454a6801e8f30d56db6639fa814aa25775bf54109325073c4a08c1 SHA512 e1ee1fe39b3d15e5d707d973c5666f198e3c9006b4c449fa56287032661a7ecfbeadad0fda528310f9cdd9f33856004333784a840d193a5c7db6c5c071fb07e5 WHIRLPOOL ded867cda1757196ad2188eda7a1a09999411a3d1a452172880fabdc5504aa346e44b2c8c25d921f674897ec7f8edf3da4de79d4843f68ecbb72634631ea43dd
+DIST CBFlib-0.9.3.3.tar.gz 5787633 SHA256 d6c3cc2c6c0aed2a3aa7c74dc645ad223470dc76bb2181242534d4c322bb00dc SHA512 e041c26770e12e09110d7c4f39737406c6ade6cae6fa941cd31dd3b90432a034426272b8daa851a8a23baceb7189479d2d8bde882b7cfdb8ae666fadc5be57ff WHIRLPOOL 8e9e0004cdd2411c9d37b588afa274e1c2b955fe361fc3df597acc30526958d5722993f36f33672769ef55eca51b87917f57ec56528a7711a934d9f8de2b8019
+DIST CBFlib_0.9.2_Data_Files_Input.tar.gz 17102003 SHA256 4414166a5a5b5ef6e4c460bb6941bd0aca53e7a41dbc9e5bdf0c6d44cf00d5ac SHA512 86689695155b822146e8cc1e310f4820292cde28c9cc240da34ef8259c429af7b182a055e1014078081528c505b0269367cd5e6e80278a53b448f0cc0dfcc3aa WHIRLPOOL a946dce8a6fa1a90a6fb3e7ec167a2ba41fdd5ef9435f4da083f9f9a7f5dfb94a2ebef1d1c36f5332fc486452b9b26c29161c7484ba337da83c24fbcd0334126
+DIST CBFlib_0.9.2_Data_Files_Output.tar.gz 36009958 SHA256 311cebff470b7d4f94b7888252cca879e6e0745f4e2eb6fa9e21cf84f984029b SHA512 fb08cbc5a68a73089c012c4c8da2a02ed7a216e02f23f2b24ba2e4dca7af834c7200868028921540e14326ea88e48028675e1be1f2c572eb3e962a79cf892002 WHIRLPOOL 386691e706dafacb9f5ee13f74fcf0f78c3a827d434ae18602fb2a8f805c178f9883e10658ed739a35bb7ceb58b628c1a9f1bbf89144efd793d13c7a62c3d05b
diff --git a/sci-libs/cbflib/cbflib-0.9.2.10-r1.ebuild b/sci-libs/cbflib/cbflib-0.9.2.10-r1.ebuild
new file mode 100644
index 000000000000..165e6324e889
--- /dev/null
+++ b/sci-libs/cbflib/cbflib-0.9.2.10-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic fortran-2 toolchain-funcs
+
+MY_P1="CBFlib-${PV}"
+#MY_P2="CBFlib_${PV}"
+MY_P2="CBFlib_0.9.3"
+
+DESCRIPTION="Library providing a simple mechanism for accessing CBF files and imgCIF files"
+HOMEPAGE="http://www.bernstein-plus-sons.com/software/CBF/"
+BASE_TEST_URI="http://arcib.dowling.edu/software/CBFlib/downloads/version_${PV}/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P1}.tar.gz"
+# test? (
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Input.tar.gz
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Output.tar.gz
+# )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+S=${WORKDIR}/${MY_P1}
+
+RDEPEND="sci-libs/hdf5:="
+DEPEND="${RDEPEND}"
+
+RESTRICT="test"
+
+src_prepare(){
+ rm -rf Py* drel* dRel* ply*
+ epatch "${FILESDIR}"/${PV}-Makefile.patch
+ cp Makefile_LINUX_gcc42 Makefile
+
+ append-fflags -fno-range-check
+ append-cflags -D_USE_XOPEN_EXTENDED -DCBF_DONT_USE_LONG_LONG
+
+ sed \
+ -e "s|^SOLDFLAGS.*$|SOLDFLAGS = -shared ${LDFLAGS}|g" \
+ -i Makefile || die
+ tc-export CC CXX AR RANLIB
+}
+
+src_compile() {
+ emake -j1 shared
+}
+
+src_test(){
+ emake -j1 basic
+}
+
+src_install() {
+ insinto /usr/include/${PN}
+ dosym ${PN} /usr/include/cbf
+ doins include/*.h
+
+ dolib.so solib/lib*
+
+ dodoc README
+ use doc && dohtml -r README.html html_graphics doc
+}
diff --git a/sci-libs/cbflib/cbflib-0.9.2.10.ebuild b/sci-libs/cbflib/cbflib-0.9.2.10.ebuild
new file mode 100644
index 000000000000..c84f4936d49f
--- /dev/null
+++ b/sci-libs/cbflib/cbflib-0.9.2.10.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic fortran-2 toolchain-funcs
+
+MY_P1="CBFlib-${PV}"
+#MY_P2="CBFlib_${PV}"
+MY_P2="CBFlib_0.9.3"
+
+DESCRIPTION="Library providing a simple mechanism for accessing CBF files and imgCIF files"
+HOMEPAGE="http://www.bernstein-plus-sons.com/software/CBF/"
+BASE_TEST_URI="http://arcib.dowling.edu/software/CBFlib/downloads/version_${PV}/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P1}.tar.gz"
+# test? (
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Input.tar.gz
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Output.tar.gz
+# )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+S=${WORKDIR}/${MY_P1}
+
+RDEPEND="sci-libs/hdf5:="
+DEPEND="${RDEPEND}"
+
+RESTRICT="test"
+
+src_prepare(){
+ rm -rf Py* drel* dRel* ply*
+ epatch "${FILESDIR}"/${PV}-Makefile.patch
+ cp Makefile_LINUX_gcc42 Makefile
+
+ append-fflags -fno-range-check
+ append-cflags -D_USE_XOPEN_EXTENDED -DCBF_DONT_USE_LONG_LONG
+
+ sed \
+ -e "s|^SOLDFLAGS.*$|SOLDFLAGS = -shared ${LDFLAGS}|g" \
+ -i Makefile || die
+ tc-export CC CXX AR RANLIB
+}
+
+src_compile() {
+ emake -j1 shared
+}
+
+src_test(){
+ emake -j1 basic
+}
+
+src_install() {
+ insinto /usr/include/${PN}
+ doins include/*.h
+
+ dolib.so solib/lib*
+
+ dodoc README
+ use doc && dohtml -r README.html html_graphics doc
+}
diff --git a/sci-libs/cbflib/cbflib-0.9.2.2.ebuild b/sci-libs/cbflib/cbflib-0.9.2.2.ebuild
new file mode 100644
index 000000000000..fe47e5422204
--- /dev/null
+++ b/sci-libs/cbflib/cbflib-0.9.2.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils flag-o-matic fortran-2 toolchain-funcs
+
+MY_P1="CBFlib-${PV}"
+#MY_P2="CBFlib_${PV}"
+MY_P2="CBFlib_0.9.2"
+
+DESCRIPTION="Library providing a simple mechanism for accessing CBF files and imgCIF files"
+HOMEPAGE="http://www.bernstein-plus-sons.com/software/CBF/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P1}.tar.gz
+ test? (
+ mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Input.tar.gz
+ mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Output.tar.gz
+ )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+DEPEND="virtual/fortran"
+RDEPEND="${DEPEND}"
+#test? ( sys-process/time )"
+
+S=${WORKDIR}/${MY_P1}
+
+src_prepare(){
+ rm -rf Py* drel* dRel* ply*
+ epatch "${FILESDIR}"/${PV}-Makefile.patch
+ cp Makefile_LINUX_gcc42 Makefile
+
+ append-fflags -fno-range-check
+ append-cflags -D_USE_XOPEN_EXTENDED -DCBF_DONT_USE_LONG_LONG
+
+ sed \
+ -e "s|^CC.*$|CC = $(tc-getCC)|" \
+ -e "s|^C++.*$|C++ = $(tc-getCXX)|" \
+ -e "s|C++|CXX|g" \
+ -e "s|^CFLAGS.*$|CFLAGS = ${CFLAGS}|" \
+ -e "s|^F90C.*$|F90C = $(tc-getFC)|" \
+ -e "s|^F90FLAGS.*$|F90FLAGS = ${FFLAGS}|" \
+ -e "s|^SOLDFLAGS.*$|SOLDFLAGS = -shared ${LDFLAGS}|g" \
+ -e "s| /bin| ${EPREFIX}/bin|g" \
+ -e "s|/usr|${EPREFIX}/usr|g" \
+ -i Makefile || die
+}
+
+src_compile() {
+ emake -j1 shared
+}
+
+src_test(){
+ emake -j1 basic
+}
+
+src_install() {
+ insinto /usr/include/${PN}
+ doins include/*.h
+
+ dolib.so solib/lib*
+
+ dodoc README
+ if use doc; then
+ dohtml -r README.html html_graphics doc
+ fi
+}
diff --git a/sci-libs/cbflib/cbflib-0.9.2.4.ebuild b/sci-libs/cbflib/cbflib-0.9.2.4.ebuild
new file mode 100644
index 000000000000..374ab24a4ad5
--- /dev/null
+++ b/sci-libs/cbflib/cbflib-0.9.2.4.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils flag-o-matic fortran-2 toolchain-funcs
+
+MY_P1="CBFlib-${PV}"
+#MY_P2="CBFlib_${PV}"
+MY_P2="CBFlib_0.9.3"
+
+DESCRIPTION="Library providing a simple mechanism for accessing CBF files and imgCIF files"
+HOMEPAGE="http://www.bernstein-plus-sons.com/software/CBF/"
+BASE_TEST_URI="http://arcib.dowling.edu/software/CBFlib/downloads/version_${PV}/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P1}.tar.gz"
+# test? (
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Input.tar.gz
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Output.tar.gz
+# )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+S=${WORKDIR}/${MY_P1}
+
+RESTRICT="test"
+
+src_prepare(){
+ rm -rf Py* drel* dRel* ply*
+ epatch "${FILESDIR}"/0.9.2.3-Makefile.patch
+ cp Makefile_LINUX_gcc42 Makefile
+
+ append-fflags -fno-range-check
+ append-cflags -D_USE_XOPEN_EXTENDED -DCBF_DONT_USE_LONG_LONG
+
+ sed \
+ -e "s|^CC.*$|CC = $(tc-getCC)|" \
+ -e "s|^C++.*$|C++ = $(tc-getCXX)|" \
+ -e "s|C++|CXX|g" \
+ -e "s|^CFLAGS.*$|CFLAGS = ${CFLAGS}|" \
+ -e "s|^F90C.*$|F90C = $(tc-getFC)|" \
+ -e "s|^F90FLAGS.*$|F90FLAGS = ${FFLAGS}|" \
+ -e "s|^SOLDFLAGS.*$|SOLDFLAGS = -shared ${LDFLAGS}|g" \
+ -e "s| /bin| ${EPREFIX}/bin|g" \
+ -e "s|/usr|${EPREFIX}/usr|g" \
+ -i Makefile || die
+}
+
+src_compile() {
+ emake -j1 shared
+}
+
+src_test(){
+ emake -j1 basic
+}
+
+src_install() {
+ insinto /usr/include/${PN}
+ doins include/*.h
+
+ dolib.so solib/lib*
+
+ dodoc README
+ use doc && dohtml -r README.html html_graphics doc
+}
diff --git a/sci-libs/cbflib/cbflib-0.9.3.3.ebuild b/sci-libs/cbflib/cbflib-0.9.3.3.ebuild
new file mode 100644
index 000000000000..2f3c1a86fd99
--- /dev/null
+++ b/sci-libs/cbflib/cbflib-0.9.3.3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit cmake-utils eutils flag-o-matic fortran-2 toolchain-funcs
+
+MY_P1="CBFlib-${PV}"
+#MY_P2="CBFlib_${PV}"
+MY_P2="CBFlib_0.9.3"
+
+DESCRIPTION="Library providing a simple mechanism for accessing CBF files and imgCIF files"
+HOMEPAGE="http://www.bernstein-plus-sons.com/software/CBF/"
+BASE_TEST_URI="http://arcib.dowling.edu/software/CBFlib/downloads/version_${PV}/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P1}.tar.gz"
+# test? (
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Input.tar.gz
+# mirror://sourceforge/${PN}/${MY_P2}_Data_Files_Output.tar.gz
+# )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+S=${WORKDIR}/${MY_P1}
+
+RDEPEND="sci-libs/hdf5:="
+DEPEND="${RDEPEND}"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-unbundle.patch
+)
+
+src_prepare(){
+ rm -rf Py* drel* dRel* ply* || die
+
+ append-fflags -fno-range-check
+
+ tc-export CC CXX AR RANLIB FC F77
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUNPACKED_DIRECTORY="${S}"
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dosym ${PN} /usr/include/cbf
+}
diff --git a/sci-libs/cbflib/files/0.9.0-Makefile.patch b/sci-libs/cbflib/files/0.9.0-Makefile.patch
new file mode 100644
index 000000000000..914152c9e9e0
--- /dev/null
+++ b/sci-libs/cbflib/files/0.9.0-Makefile.patch
@@ -0,0 +1,104 @@
+diff --git a/Makefile_LINUX_gcc42 b/Makefile_LINUX_gcc42
+index 52c5286..5c894a0 100644
+--- a/Makefile_LINUX_gcc42
++++ b/Makefile_LINUX_gcc42
+@@ -250,7 +250,10 @@
+
+
+ # Version string
+-VERSION = 0.9.0
++MAJOR = 0
++MINOR = 9
++MICRO = 0
++VERSION = ${MAJOR}.${MINOR}.${MICRO}
+
+
+ #
+@@ -282,7 +285,7 @@ SHAR = /usr/bin/shar
+ #
+ # Program to use to create archives
+ #
+-AR = /usr/bin/ar
++AR = ar
+
+ #
+ # Program to use to add an index to an archive
+@@ -292,13 +295,13 @@ RANLIB = /usr/bin/ranlib
+ #
+ # Program to use to decompress a data file
+ #
+-DECOMPRESS = /usr/bin/bunzip2
++DECOMPRESS = bunzip2
+
+
+ #
+ # Program to use to compress a data file
+ #
+-COMPRESS = /usr/bin/bzip2
++COMPRESS = bzip2
+
+ #
+ # Program to use to generate a signature
+@@ -486,9 +489,9 @@ F90SOURCE = $(SRC)/fcb_atol_wcnt.f90 \
+ $(SRC)/fcb_read_image.f90 \
+ $(SRC)/fcb_read_line.f90 \
+ $(SRC)/fcb_read_xds_i2.f90 \
+- $(SRC)/fcb_skip_whitespace.f90 \
+- $(EXAMPLES)/test_fcb_read_image.f90 \
+- $(EXAMPLES)/test_xds_binary.f90
++ $(SRC)/fcb_skip_whitespace.f90
++# $(EXAMPLES)/test_fcb_read_image.f90 \
++# $(EXAMPLES)/test_xds_binary.f90
+
+
+ #
+@@ -663,7 +666,7 @@ all:: $(BIN)/test_xds_binary \
+ $(BIN)/test_fcb_read_image
+ endif
+
+-shared: $(SOLIB)/libcbf.so $(SOLIB)/libfcb.so $(SOLIB)/libimg.so
++shared: $(SOLIB)/libcbf.so.${VERSION} $(SOLIB)/libfcb.so.${VERSION} $(SOLIB)/libimg.so.${VERSION}
+
+ javawrapper: shared $(JAVADIR) $(JAVADIR)/cbflib-$(VERSION).jar $(SOLIB)/libcbf_wrap.so
+
+@@ -846,10 +849,11 @@ ifneq ($(RANLIB),)
+ $(RANLIB) $@
+ endif
+
+-$(SOLIB)/libcbf.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++$(SOLIB)/libcbf.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+ $(CC) $(CFLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
+ mv *.o $(SOLIB)
+- $(CC) -o $@ $(SOLIB)/*.o $(SOLDFLAGS) $(EXTRALIBS)
++ $(CC) $(LDFLAGS) -Wl,-soname,libcbf.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ $(SOLIB)/*.o $(EXTRALIBS)
++ ln -sf libcbf.so.$(VERSION) $(SOLIB)/libcbf.so
+
+ #
+ # IMG library
+@@ -862,9 +866,10 @@ ifneq ($(RANLIB),)
+ endif
+ rm img.o
+
+-$(SOLIB)/libimg.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++$(SOLIB)/libimg.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+ $(CC) $(CFLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
+- $(CC) -o $@ img.o $(SOLDFLAGS)
++ $(CC) $(LDFLAGS) -Wl,-soname,libimg.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ img.o
++ ln -sf libimg.so.$(VERSION) $(SOLIB)/libimg.so
+ rm img.o
+
+ #
+@@ -888,10 +893,11 @@ else
+ echo "Define F90C to build $(LIB)/libfcb.a"
+ endif
+
+-$(SOLIB)/libfcb.so: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++$(SOLIB)/libfcb.so.${VERSION}: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+ ifneq ($(F90C),)
+ $(F90C) $(F90FLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(F90SOURCE)
+- $(F90C) $(F90FLAGS) -o $@ *.o $(SOLDFLAGS)
++ $(F90C) $(LDFLAGS) -Wl,-soname,libfcb.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) $(F90FLAGS) -o $@ *.o
++ ln -sf libfcb.so.$(VERSION) $(SOLIB)/libfcb.so
+ rm *.o
+ else
+ echo "Define F90C to build $(SOLIB)/libfcb.so"
diff --git a/sci-libs/cbflib/files/0.9.0-python.patch b/sci-libs/cbflib/files/0.9.0-python.patch
new file mode 100644
index 000000000000..b18d019ff8e2
--- /dev/null
+++ b/sci-libs/cbflib/files/0.9.0-python.patch
@@ -0,0 +1,16 @@
+diff --git a/pycbf/setup.py b/pycbf/setup.py
+index 0763f06..7fe9ccc 100644
+--- a/pycbf/setup.py
++++ b/pycbf/setup.py
+@@ -9,9 +9,9 @@ from distutils.core import setup, Extension
+ e = Extension('_pycbf',
+ sources = ["pycbf_wrap.c","../src/cbf_simple.c"],
+ extra_compile_args=["-g"],
+- library_dirs=["../lib/"],
++ library_dirs=["../solib/"],
+ libraries=["cbf"],
+ include_dirs = ["../include"] )
+
+ # Build it
+-setup(name="_pycbf",ext_modules=[e],)
++setup(name="_pycbf",ext_modules=[e],py_modules=["pycbf"],)
diff --git a/sci-libs/cbflib/files/0.9.2.10-Makefile.patch b/sci-libs/cbflib/files/0.9.2.10-Makefile.patch
new file mode 100644
index 000000000000..9c72300873fc
--- /dev/null
+++ b/sci-libs/cbflib/files/0.9.2.10-Makefile.patch
@@ -0,0 +1,269 @@
+ Makefile_LINUX_gcc42 | 93 ++++++++++++++++++++++++++++------------------------
+ 1 file changed, 50 insertions(+), 43 deletions(-)
+
+diff --git a/Makefile_LINUX_gcc42 b/Makefile_LINUX_gcc42
+index 0aa639a..071863d 100644
+--- a/Makefile_LINUX_gcc42
++++ b/Makefile_LINUX_gcc42
+@@ -250,7 +250,11 @@
+
+
+ # Version string
+-VERSION = 0.9.2
++MAJOR = 0
++MINOR = 9
++MICRO = 3
++VERSION = ${MAJOR}.${MINOR}.${MICRO}
++
+
+
+ #
+@@ -297,12 +301,12 @@ SHAR = /usr/bin/shar
+ #
+ # Program to use to create archives
+ #
+-AR = /usr/bin/ar
++AR ?= ar
+
+ #
+ # Program to use to add an index to an archive
+ #
+-RANLIB = /usr/bin/ranlib
++RANLIB ?= ranlib
+
+ #
+ # Program to use to decompress a data file
+@@ -313,7 +317,7 @@ DECOMPRESS = bunzip2
+ #
+ # Program to use to compress a data file
+ #
+-COMPRESS = /usr/bin/bzip2
++COMPRESS = bzip2
+
+ #
+ # Program to use to generate a signature
+@@ -410,12 +414,12 @@ SETUP_PY = setup.py
+ # with gcc version 4.2
+ #
+ #########################################################
+-CC = gcc
+-C++ = g++
+-CFLAGS = -g -O2 -Wall -D_USE_XOPEN_EXTENDED -fno-strict-aliasing
+-F90C = gfortran
+-F90FLAGS = -g -fno-range-check
+-F90LDFLAGS =
++CC ?= gcc
++CXX ?= g++
++CFLAGS += -Wall -D_USE_XOPEN_EXTENDED -fno-strict-aliasing
++FC ?= gfortran
++FCFLAGS += -g -fno-range-check
++LDFLAGS +=
+ SOCFLAGS = -fPIC
+ SOLDFLAGS = -shared -Wl,-rpath,$(INSTALLDIR)/lib
+ JAVAINCLUDES = -I$(JDKDIR)/include -I$(JDKDIR)/include/linux
+@@ -425,7 +429,7 @@ M4FLAGS = -Dfcb_bytes_in_rec=131072
+ TIME = time
+
+ ifneq ($(NOFORTRAN),)
+-F90C =
++FC =
+ endif
+
+ #
+@@ -491,9 +495,9 @@ RTLPEXPORTS = export LD_LIBRARY_PATH=$(PWD)/solib:$(PWD)/lib;\
+ .m4.f90:
+ m4 -P $(M4FLAGS) $< > $@
+
+-ifneq ($(F90C),)
++ifneq ($(FC),)
+ .f90.o:
+- $(F90C) $(F90FLAGS) -c $< -o $@
++ $(FC) $(FCFLAGS) -c $< -o $@
+ endif
+
+
+@@ -701,7 +705,7 @@ default:
+ #
+ # Compile the library and examples
+ #
+-all:: $(BIN) $(SOURCE) $(F90SOURCE) $(HEADERS) $(HDF5)\
++all:: $(BIN) $(SOURCE) $(F90SOURCE) $(HEADERS) \
+ symlinksdone \
+ $(REGEXDEP) \
+ $(LIB)/libcbf.a \
+@@ -725,12 +729,12 @@ all:: $(BIN) $(SOURCE) $(F90SOURCE) $(HEADERS) $(HDF5)\
+ $(BIN)/tiff2cbf
+
+
+-ifneq ($(F90C),)
++ifneq ($(FC),)
+ all:: $(BIN)/test_xds_binary \
+ $(BIN)/test_fcb_read_image
+ endif
+
+-shared: $(SOLIB)/libcbf.so $(SOLIB)/libfcb.so $(SOLIB)/libimg.so
++shared: $(SOLIB)/libcbf.so.${VERSION} $(SOLIB)/libfcb.so.${VERSION} $(SOLIB)/libimg.so.${VERSION}
+
+ javawrapper: shared $(JCBF) $(JCBF)/cbflib-$(VERSION).jar $(SOLIB)/libcbf_wrap.so
+
+@@ -969,7 +973,7 @@ $(SRC)/cbf_stx.c: $(SRC)/cbf.stx.y
+ #
+ # CBF library
+ #
+-$(LIB)/libcbf.a: $(SOURCE) $(HEADERS) $(COMMONDEP) $(LIB) $(HDF5)
++$(LIB)/libcbf.a: $(SOURCE) $(HEADERS) $(COMMONDEP) $(LIB)
+ $(CC) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(PYCIFRWFLAG) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
+ $(AR) cr $@ *.o
+ mv *.o $(LIB)
+@@ -977,10 +981,11 @@ ifneq ($(RANLIB),)
+ $(RANLIB) $@
+ endif
+
+-$(SOLIB)/libcbf.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB) $(HDF5)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(PYCIFRWFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
+- $(CC) -o $@ *.o $(SOLDFLAGS) $(EXTRALIBS) $(HDF5SOLIBS)
+- rm *.o
++$(SOLIB)/libcbf.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++ $(CC) $(CFLAGS) $(NOREGEXFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
++ mv *.o $(SOLIB)
++ $(CC) $(LDFLAGS) -Wl,-soname,libcbf.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ $(SOLIB)/*.o $(EXTRALIBS) $(HDF5SOLIBS)
++ ln -sf libcbf.so.$(VERSION) $(SOLIB)/libcbf.so
+
+ #
+ # IMG library
+@@ -993,9 +998,10 @@ ifneq ($(RANLIB),)
+ endif
+ rm img.o
+
+-$(SOLIB)/libimg.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
+- $(CC) -o $@ img.o $(SOLDFLAGS)
++$(SOLIB)/libimg.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++ $(CC) $(CFLAGS) $(NOREGEXFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
++ $(CC) $(LDFLAGS) -Wl,-soname,libimg.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ img.o -lm
++ ln -sf libimg.so.$(VERSION) $(SOLIB)/libimg.so
+ rm img.o
+
+ #
+@@ -1007,25 +1013,26 @@ CBF_IMG_LIBS: $(LIB)/libcbf.a $(LIB)/libimg.a
+ #
+ # FCB library
+ #
+-$(LIB)/libfcb.a: $(F90SOURCE) $(COMMONDEP) $(LIB) $(HDF5)
+-ifneq ($(F90C),)
+- $(F90C) $(F90FLAGS) -c $(F90SOURCE)
++$(LIB)/libfcb.a: $(F90SOURCE) $(COMMONDEP) $(LIB)
++ifneq ($(FC),)
++ $(FC) $(FCFLAGS) -c $(F90SOURCE)
+ $(AR) cr $@ *.o
+ ifneq ($(RANLIB),)
+ $(RANLIB) $@
+ endif
+ rm *.o
+ else
+- echo "Define F90C to build $(LIB)/libfcb.a"
++ echo "Define FC to build $(LIB)/libfcb.a"
+ endif
+
+-$(SOLIB)/libfcb.so: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+-ifneq ($(F90C),)
+- $(F90C) $(F90FLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(F90SOURCE)
+- $(F90C) $(F90FLAGS) -o $@ *.o $(SOLDFLAGS)
++$(SOLIB)/libfcb.so.${VERSION}: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++ifneq ($(FC),)
++ $(FC) $(FCFLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(F90SOURCE)
++ $(FC) $(LDFLAGS) -Wl,-soname,libfcb.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) $(FCFLAGS) -o $@ *.o
++ ln -sf libfcb.so.$(VERSION) $(SOLIB)/libfcb.so
+ rm *.o
+ else
+- echo "Define F90C to build $(SOLIB)/libfcb.so"
++ echo "Define FC to build $(SOLIB)/libfcb.so"
+ endif
+
+
+@@ -1183,7 +1190,7 @@ $(BIN)/cbf_template_t: $(DECTRIS_EXAMPLES)/cbf_template_t.c \
+ # testcell example program
+ #
+ $(BIN)/testcell: $(LIB)/libcbf.a $(EXAMPLES)/testcell.C
+- $(C++) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) \
++ $(CXX) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) \
+ $(EXAMPLES)/testcell.C -L$(LIB) \
+ -lcbf $(EXTRALIBS) $(HDF5LIBS) -o $@
+
+@@ -1191,7 +1198,7 @@ $(BIN)/testcell: $(LIB)/libcbf.a $(EXAMPLES)/testcell.C
+ # cif2c example program
+ #
+ $(BIN)/cif2c: $(LIB)/libcbf.a $(EXAMPLES)/cif2c.c
+- $(C++) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) \
++ $(CXX) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) \
+ $(EXAMPLES)/cif2c.c -L$(LIB) \
+ -lcbf $(EXTRALIBS) $(HDF5LIBS) -o $@
+
+@@ -1199,7 +1206,7 @@ $(BIN)/cif2c: $(LIB)/libcbf.a $(EXAMPLES)/cif2c.c
+ # sauter_test example program
+ #
+ $(BIN)/sauter_test: $(LIB)/libcbf.a $(EXAMPLES)/sauter_test.C
+- $(C++) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) \
++ $(CXX) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) \
+ $(EXAMPLES)/sauter_test.C -L$(LIB) \
+ -lcbf $(EXTRALIBS) $(HDF5LIBS) -o $@
+
+@@ -1253,19 +1260,19 @@ $(BIN)/testflatpacked: $(LIB)/libcbf.a $(EXAMPLES)/testflatpacked.c
+ $(EXAMPLES)/testflatpacked.c -L$(LIB) \
+ -lcbf $(EXTRALIBS) $(HDF5LIBS) -o $@
+
+-ifneq ($(F90C),)
++ifneq ($(FC),)
+ #
+ # test_xds_binary example program
+ #
+ $(BIN)/test_xds_binary: $(LIB)/libfcb.a $(EXAMPLES)/test_xds_binary.f90
+- $(F90C) $(F90FLAGS) $(F90LDFLAGS) $(EXAMPLES)/test_xds_binary.f90 \
++ $(FC) $(FCFLAGS) $(LDFLAGS) $(EXAMPLES)/test_xds_binary.f90 \
+ -L$(LIB) -lfcb -o $@
+
+ #
+ # test_fcb_read_image example program
+ #
+ $(BIN)/test_fcb_read_image: $(LIB)/libfcb.a $(EXAMPLES)/test_fcb_read_image.f90
+- $(F90C) $(F90FLAGS) $(F90LDFLAGS) $(EXAMPLES)/test_fcb_read_image.f90 \
++ $(FC) $(FCFLAGS) $(LDFLAGS) $(EXAMPLES)/test_fcb_read_image.f90 \
+ -L$(LIB) -lfcb -o $@
+ endif
+
+@@ -1520,7 +1527,7 @@ basic: $(BIN)/makecbf $(BIN)/img2cif $(BIN)/cif2cbf $(TESTINPUT_BASIC)
+ #
+ # Extra Tests
+ #
+-ifneq ($(F90C),)
++ifneq ($(FC),)
+ extra: $(BIN)/convert_image $(BIN)/convert_minicbf $(BIN)/cif2cbf $(BIN)/testcell \
+ $(BIN)/testreals $(BIN)/testflat $(BIN)/testflatpacked \
+ $(BIN)/test_xds_binary $(BIN)/test_fcb_read_image $(BIN)/convert_minicbf \
+@@ -1582,7 +1589,7 @@ endif
+ -cmp testflatin.cbf testflatout.cbf
+ $(TIME) $(BIN)/testflatpacked
+ -cmp testflatpackedin.cbf testflatpackedout.cbf
+-ifneq ($(F90C),)
++ifneq ($(FC),)
+ echo testflatout.cbf | $(TIME) $(BIN)/test_xds_binary > test_xds_bin_testflatout.out
+ -$(DIFF) test_xds_bin_testflatout.out test_xds_bin_testflatout_orig.out
+ echo testflatpackedout.cbf | $(TIME) $(BIN)/test_xds_binary > test_xds_bin_testflatpackedout.out
+@@ -1599,7 +1606,7 @@ endif
+ $(TIME) $(BIN)/cif2cbf -I 4 -C 100. -L 0. -e n -c b -i XRD1621.cbf -o XRD1621_I4encbC100.cbf
+ -$(DIFF) XRD1621_I4encbC100.cbf XRD1621_I4encbC100_orig.cbf
+
+-ifneq ($(F90C),)
++ifneq ($(FC),)
+ extra_sigs_only: $(BIN)/convert_image $(BIN)/convert_minicbf $(BIN)/cif2cbf $(BIN)/testcell \
+ $(BIN)/testreals $(BIN)/testflat $(BIN)/testflatpacked \
+ $(BIN)/test_xds_binary $(BIN)/test_fcb_read_image $(BIN)/convert_minicbf \
+@@ -1650,7 +1657,7 @@ endif
+ -cmp testflatin.cbf testflatout.cbf
+ $(TIME) $(BIN)/testflatpacked
+ -cmp testflatpackedin.cbf testflatpackedout.cbf
+-ifneq ($(F90C),)
++ifneq ($(FC),)
+ echo testflatout.cbf | $(TIME) $(BIN)/test_xds_binary | \
+ $(SIGNATURE) | $(DIFF) - test_xds_bin_testflatout_orig.out$(SEXT)
+ echo testflatpackedout.cbf | $(TIME) $(BIN)/test_xds_binary | \
diff --git a/sci-libs/cbflib/files/0.9.2.2-Makefile.patch b/sci-libs/cbflib/files/0.9.2.2-Makefile.patch
new file mode 100644
index 000000000000..a25760307275
--- /dev/null
+++ b/sci-libs/cbflib/files/0.9.2.2-Makefile.patch
@@ -0,0 +1,150 @@
+From 44e303d998c72d5d502705895a536b3657a7c4c5 Mon Sep 17 00:00:00 2001
+Message-Id: <44e303d998c72d5d502705895a536b3657a7c4c5.1323790511.git.jlec@gentoo.org>
+From: Justin Lecher <jlec@gentoo.org>
+Date: Tue, 13 Dec 2011 16:10:43 +0100
+Subject: [PATCH] 0.9.0 Makefile.patch
+
+Conflicts:
+
+ Makefile_LINUX_gcc42
+---
+ Makefile_LINUX_gcc42 | 63 ++++++++++++++++++++++++++-----------------------
+ 1 files changed, 33 insertions(+), 30 deletions(-)
+
+diff --git a/Makefile_LINUX_gcc42 b/Makefile_LINUX_gcc42
+index a74be5f..1cfb066 100644
+--- a/Makefile_LINUX_gcc42
++++ b/Makefile_LINUX_gcc42
+@@ -250,7 +250,10 @@
+
+
+ # Version string
+-VERSION = 0.9.2
++MAJOR = 0
++MINOR = 9
++MICRO = 2
++VERSION = ${MAJOR}.${MINOR}.${MICRO}
+
+
+ #
+@@ -290,7 +293,7 @@ SHAR = /usr/bin/shar
+ #
+ # Program to use to create archives
+ #
+-AR = /usr/bin/ar
++AR = ar
+
+ #
+ # Program to use to add an index to an archive
+@@ -300,13 +303,13 @@ RANLIB = /usr/bin/ranlib
+ #
+ # Program to use to decompress a data file
+ #
+-DECOMPRESS = /usr/bin/bunzip2
++DECOMPRESS = bunzip2
+
+
+ #
+ # Program to use to compress a data file
+ #
+-COMPRESS = /usr/bin/bzip2
++COMPRESS = bzip2
+
+ #
+ # Program to use to generate a signature
+@@ -509,21 +512,18 @@ SOURCE = $(SRC)/cbf.c \
+
+
+ F90SOURCE = $(SRC)/fcb_atol_wcnt.f90 \
+- $(SRC)/fcb_ci_strncmparr.f90 \
+- $(SRC)/fcb_exit_binary.f90 \
+- $(SRC)/fcb_nblen_array.f90 \
+- $(SRC)/fcb_next_binary.f90 \
+- $(SRC)/fcb_open_cifin.f90 \
+- $(SRC)/fcb_packed.f90 \
+- $(SRC)/fcb_read_bits.f90 \
+- $(SRC)/fcb_read_byte.f90 \
+- $(SRC)/fcb_read_image.f90 \
+- $(SRC)/fcb_read_line.f90 \
+- $(SRC)/fcb_read_xds_i2.f90 \
+- $(SRC)/fcb_skip_whitespace.f90 \
+- $(EXAMPLES)/test_fcb_read_image.f90 \
+- $(EXAMPLES)/test_xds_binary.f90
+-
++ $(SRC)/fcb_ci_strncmparr.f90 \
++ $(SRC)/fcb_exit_binary.f90 \
++ $(SRC)/fcb_nblen_array.f90 \
++ $(SRC)/fcb_next_binary.f90 \
++ $(SRC)/fcb_open_cifin.f90 \
++ $(SRC)/fcb_packed.f90 \
++ $(SRC)/fcb_read_bits.f90 \
++ $(SRC)/fcb_read_byte.f90 \
++ $(SRC)/fcb_read_image.f90 \
++ $(SRC)/fcb_read_line.f90 \
++ $(SRC)/fcb_read_xds_i2.f90 \
++ $(SRC)/fcb_skip_whitespace.f90
+
+ #
+ # Header files
+@@ -701,7 +701,7 @@ all:: $(BIN)/test_xds_binary \
+ $(BIN)/test_fcb_read_image
+ endif
+
+-shared: $(SOLIB)/libcbf.so $(SOLIB)/libfcb.so $(SOLIB)/libimg.so
++shared: $(SOLIB)/libcbf.so.${VERSION} $(SOLIB)/libfcb.so.${VERSION} $(SOLIB)/libimg.so.${VERSION}
+
+ javawrapper: shared $(JCBF) $(JCBF)/cbflib-$(VERSION).jar $(SOLIB)/libcbf_wrap.so
+
+@@ -915,25 +915,27 @@ ifneq ($(RANLIB),)
+ $(RANLIB) $@
+ endif
+
+-$(SOLIB)/libcbf.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(PYCIFRWFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
+- $(CC) -o $@ *.o $(SOLDFLAGS) $(EXTRALIBS)
+- rm *.o
++$(SOLIB)/libcbf.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++ $(CC) $(CFLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
++ mv *.o $(SOLIB)
++ $(CC) $(LDFLAGS) -Wl,-soname,libcbf.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ $(SOLIB)/*.o $(EXTRALIBS)
++ ln -sf libcbf.so.$(VERSION) $(SOLIB)/libcbf.so
+
+ #
+ # IMG library
+ #
+ $(LIB)/libimg.a: $(EXAMPLES)/img.c $(HEADERS) $(COMMONDEP) $(LIB)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
++ $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
+ $(AR) cr $@ img.o
+ ifneq ($(RANLIB),)
+ $(RANLIB) $@
+ endif
+ rm img.o
+
+-$(SOLIB)/libimg.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
+- $(CC) -o $@ img.o $(SOLDFLAGS)
++$(SOLIB)/libimg.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++ $(CC) $(CFLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
++ $(CC) $(LDFLAGS) -Wl,-soname,libimg.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ img.o
++ ln -sf libimg.so.$(VERSION) $(SOLIB)/libimg.so
+ rm img.o
+
+ #
+@@ -957,10 +959,11 @@ else
+ echo "Define F90C to build $(LIB)/libfcb.a"
+ endif
+
+-$(SOLIB)/libfcb.so: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++$(SOLIB)/libfcb.so.${VERSION}: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+ ifneq ($(F90C),)
+ $(F90C) $(F90FLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(F90SOURCE)
+- $(F90C) $(F90FLAGS) -o $@ *.o $(SOLDFLAGS)
++ $(F90C) $(LDFLAGS) -Wl,-soname,libfcb.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) $(F90FLAGS) -o $@ *.o
++ ln -sf libfcb.so.$(VERSION) $(SOLIB)/libfcb.so
+ rm *.o
+ else
+ echo "Define F90C to build $(SOLIB)/libfcb.so"
+--
+1.7.8
+
diff --git a/sci-libs/cbflib/files/0.9.2.3-Makefile.patch b/sci-libs/cbflib/files/0.9.2.3-Makefile.patch
new file mode 100644
index 000000000000..b7c504225218
--- /dev/null
+++ b/sci-libs/cbflib/files/0.9.2.3-Makefile.patch
@@ -0,0 +1,150 @@
+From 44e303d998c72d5d502705895a536b3657a7c4c5 Mon Sep 17 00:00:00 2001
+Message-Id: <44e303d998c72d5d502705895a536b3657a7c4c5.1323790511.git.jlec@gentoo.org>
+From: Justin Lecher <jlec@gentoo.org>
+Date: Tue, 13 Dec 2011 16:10:43 +0100
+Subject: [PATCH] 0.9.0 Makefile.patch
+
+Conflicts:
+
+ Makefile_LINUX_gcc42
+---
+ Makefile_LINUX_gcc42 | 63 ++++++++++++++++++++++++++-----------------------
+ 1 files changed, 33 insertions(+), 30 deletions(-)
+
+diff --git a/Makefile_LINUX_gcc42 b/Makefile_LINUX_gcc42
+index a74be5f..1cfb066 100644
+--- a/Makefile_LINUX_gcc42
++++ b/Makefile_LINUX_gcc42
+@@ -250,7 +250,10 @@
+
+
+ # Version string
+-VERSION = 0.9.2
++MAJOR = 0
++MINOR = 9
++MICRO = 3
++VERSION = ${MAJOR}.${MINOR}.${MICRO}
+
+
+ #
+@@ -290,7 +293,7 @@ SHAR = /usr/bin/shar
+ #
+ # Program to use to create archives
+ #
+-AR = /usr/bin/ar
++AR = ar
+
+ #
+ # Program to use to add an index to an archive
+@@ -300,13 +303,13 @@ RANLIB = /usr/bin/ranlib
+ #
+ # Program to use to decompress a data file
+ #
+-DECOMPRESS = /usr/bin/bunzip2
++DECOMPRESS = bunzip2
+
+
+ #
+ # Program to use to compress a data file
+ #
+-COMPRESS = /usr/bin/bzip2
++COMPRESS = bzip2
+
+ #
+ # Program to use to generate a signature
+@@ -509,21 +512,18 @@ SOURCE = $(SRC)/cbf.c \
+
+
+ F90SOURCE = $(SRC)/fcb_atol_wcnt.f90 \
+- $(SRC)/fcb_ci_strncmparr.f90 \
+- $(SRC)/fcb_exit_binary.f90 \
+- $(SRC)/fcb_nblen_array.f90 \
+- $(SRC)/fcb_next_binary.f90 \
+- $(SRC)/fcb_open_cifin.f90 \
+- $(SRC)/fcb_packed.f90 \
+- $(SRC)/fcb_read_bits.f90 \
+- $(SRC)/fcb_read_byte.f90 \
+- $(SRC)/fcb_read_image.f90 \
+- $(SRC)/fcb_read_line.f90 \
+- $(SRC)/fcb_read_xds_i2.f90 \
+- $(SRC)/fcb_skip_whitespace.f90 \
+- $(EXAMPLES)/test_fcb_read_image.f90 \
+- $(EXAMPLES)/test_xds_binary.f90
+-
++ $(SRC)/fcb_ci_strncmparr.f90 \
++ $(SRC)/fcb_exit_binary.f90 \
++ $(SRC)/fcb_nblen_array.f90 \
++ $(SRC)/fcb_next_binary.f90 \
++ $(SRC)/fcb_open_cifin.f90 \
++ $(SRC)/fcb_packed.f90 \
++ $(SRC)/fcb_read_bits.f90 \
++ $(SRC)/fcb_read_byte.f90 \
++ $(SRC)/fcb_read_image.f90 \
++ $(SRC)/fcb_read_line.f90 \
++ $(SRC)/fcb_read_xds_i2.f90 \
++ $(SRC)/fcb_skip_whitespace.f90
+
+ #
+ # Header files
+@@ -701,7 +701,7 @@ all:: $(BIN)/test_xds_binary \
+ $(BIN)/test_fcb_read_image
+ endif
+
+-shared: $(SOLIB)/libcbf.so $(SOLIB)/libfcb.so $(SOLIB)/libimg.so
++shared: $(SOLIB)/libcbf.so.${VERSION} $(SOLIB)/libfcb.so.${VERSION} $(SOLIB)/libimg.so.${VERSION}
+
+ javawrapper: shared $(JCBF) $(JCBF)/cbflib-$(VERSION).jar $(SOLIB)/libcbf_wrap.so
+
+@@ -915,25 +915,27 @@ ifneq ($(RANLIB),)
+ $(RANLIB) $@
+ endif
+
+-$(SOLIB)/libcbf.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(PYCIFRWFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
+- $(CC) -o $@ *.o $(SOLDFLAGS) $(EXTRALIBS)
+- rm *.o
++$(SOLIB)/libcbf.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++ $(CC) $(CFLAGS) $(NOREGEXFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(SOURCE)
++ mv *.o $(SOLIB)
++ $(CC) $(LDFLAGS) -Wl,-soname,libcbf.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ $(SOLIB)/*.o $(EXTRALIBS)
++ ln -sf libcbf.so.$(VERSION) $(SOLIB)/libcbf.so
+
+ #
+ # IMG library
+ #
+ $(LIB)/libimg.a: $(EXAMPLES)/img.c $(HEADERS) $(COMMONDEP) $(LIB)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
++ $(CC) $(CFLAGS) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
+ $(AR) cr $@ img.o
+ ifneq ($(RANLIB),)
+ $(RANLIB) $@
+ endif
+ rm img.o
+
+-$(SOLIB)/libimg.so: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+- $(CC) $(CFLAGS) $(NOLLFLAG) $(NOREGEXFLAG) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
+- $(CC) -o $@ img.o $(SOLDFLAGS)
++$(SOLIB)/libimg.so.${VERSION}: $(SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++ $(CC) $(CFLAGS) $(SOCFLAGS) $(NOREGEXFLAG) $(INCLUDES) $(WARNINGS) -c $(EXAMPLES)/img.c
++ $(CC) $(LDFLAGS) -Wl,-soname,libimg.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) -o $@ img.o -lm
++ ln -sf libimg.so.$(VERSION) $(SOLIB)/libimg.so
+ rm img.o
+
+ #
+@@ -957,10 +959,11 @@ else
+ echo "Define F90C to build $(LIB)/libfcb.a"
+ endif
+
+-$(SOLIB)/libfcb.so: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
++$(SOLIB)/libfcb.so.${VERSION}: $(F90SOURCE) $(HEADERS) $(COMMONDEP) $(SOLIB)
+ ifneq ($(F90C),)
+ $(F90C) $(F90FLAGS) $(SOCFLAGS) $(INCLUDES) $(WARNINGS) -c $(F90SOURCE)
+- $(F90C) $(F90FLAGS) -o $@ *.o $(SOLDFLAGS)
++ $(F90C) $(LDFLAGS) -Wl,-soname,libfcb.so.$(VERSION) $(SOCFLAGS) $(SOLDFLAGS) $(F90FLAGS) -o $@ *.o
++ ln -sf libfcb.so.$(VERSION) $(SOLIB)/libfcb.so
+ rm *.o
+ else
+ echo "Define F90C to build $(SOLIB)/libfcb.so"
+--
+1.7.8
+
diff --git a/sci-libs/cbflib/files/cbflib-0.9.3.3-unbundle.patch b/sci-libs/cbflib/files/cbflib-0.9.3.3-unbundle.patch
new file mode 100644
index 000000000000..ef24c4b94b22
--- /dev/null
+++ b/sci-libs/cbflib/files/cbflib-0.9.3.3-unbundle.patch
@@ -0,0 +1,181 @@
+ CMakeLists.txt | 118 +++------------------------------------------------------
+ 1 file changed, 6 insertions(+), 112 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 75054d6..15bab99 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -279,7 +279,7 @@ project (CBFlib C CXX Fortran)
+ enable_testing()
+ set (CBF_CMAKE_DEBUG "ON")
+
+-set(CMAKE_C_FLAGS "-Wall -fno-strict-aliasing")
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fno-strict-aliasing")
+
+ #
+ # User setable parameters
+@@ -530,42 +530,6 @@ find_package(ZLIB)
+
+
+
+-#Load external packages in build directory at cmake time
+-add_subdirectory(${CBF__EXTERNAL_PACKAGES} "${CBF__EXT_PKG}")
+-
+-find_file(CBF_EXT_PKG_BLD_RUNNING cbf_ext_pkg_build_running "${CBF__EXT_PKG}")
+-if (${CBF_EXT_PKG_BLD_RUNNING} STREQUAL "CBF_EXT_PKG_BLD_RUNNING-NOTFOUND")
+- file(WRITE "${CBF__EXT_PKG}/cbf_ext_pkg_build_running" "cbf_ext_pkg_build_running")
+- CBF_DEBUG_MESSAGE("CMAKE_COMMAND: ${CMAKE_COMMAND}")
+- CBF_DEBUG_MESSAGE("CBFlib_SOURCE_DIR: ${CBFlib_SOURCE_DIR} ")
+- execute_process(
+- COMMAND ${CMAKE_COMMAND} ${CBFlib_SOURCE_DIR}
+- RESULT_VARIABLE CBF_BUILD_RESULT)
+- CBF_DEBUG_MESSAGE("CBF_BUILD_RESULT: ${CBF_BUILD_RESULT}")
+- execute_process(
+- COMMAND ${CMAKE_COMMAND} --build ${CBFlib_BINARY_DIR} --target HDF5
+- RESULT_VARIABLE CBF_BUILD_RESULT)
+- CBF_DEBUG_MESSAGE("CBF_BUILD_RESULT: ${CBF_BUILD_RESULT}")
+- execute_process(
+- COMMAND ${CMAKE_COMMAND} --build ${CBFlib_BINARY_DIR} --target TIFF
+- RESULT_VARIABLE CBF_BUILD_RESULT)
+- CBF_DEBUG_MESSAGE("CBF_BUILD_RESULT: ${CBF_BUILD_RESULT}")
+- file(REMOVE "${CBF__EXT_PKG}/cbf_ext_pkg_build_running")
+-endif (${CBF_EXT_PKG_BLD_RUNNING} STREQUAL "CBF_EXT_PKG_BLD_RUNNING-NOTFOUND")
+-
+-
+-file(GLOB CBF_HDF5_LIBRARY_PATH "${CMAKE_CURRENT_BINARY_DIR}/lib/*hdf5*")
+-CBF_DEBUG_MESSAGE( "CBF_HDF5_LIBRARY_PATH: ${CBF_HDF5_LIBRARY_PATH}")
+-file(GLOB CBF_TIFF_LIBRARY_PATH "${CMAKE_CURRENT_BINARY_DIR}/lib/*tif*")
+-CBF_DEBUG_MESSAGE( "CBF_TIFF_LIBRARY_PATH: ${CBF_TIFF_LIBRARY_PATH}")
+-
+-if ("|${CBF_HDF5_LIBRARY_PATH}|" STREQUAL "||" OR "|${CBF_TIFF_LIBRARY_PATH}|" STREQUAL "||")
+- MESSAGE(STATUS "Must build external packages in ${CBF__EXT_PKG}")
+- MESSAGE(STATUS "Then rerun cmake")
+- MESSAGE(WARNING "Finishing run to make Makefiles")
+-endif ("|${CBF_HDF5_LIBRARY_PATH}|" STREQUAL "||" OR "|${CBF_TIFF_LIBRARY_PATH}|" STREQUAL "||")
+-
+-
+ #
+ # Data Directories
+ #
+@@ -579,35 +543,6 @@ set(CBF_DATAURLBASE "http://downloads.sf.net/cbflib")
+ set(CBF_DATAURLI "${CBF_DATAURLBASE}/CBFlib_${CBF_VERSION}_Data_Files_Input.tar.gz")
+ set(CBF_DATAURLO "${CBF_DATAURLBASE}/CBFlib_${CBF_VERSION}_Data_Files_Output.tar.gz")
+ set(CBF_DATAURLS "${CBF_DATAURLBASE}/CBFlib_${CBF_VERSION}_Data_Files_Output_Sigs_Only.tar.gz")
+-#
+-# Load and unpack the Data Files
+-#
+-CBF_LOAD_TARBALL(${CBF__DATA} ${CBF_DATADIRI} ${CBF_DATAURLI})
+-CBF_LOAD_TARBALL(${CBF__DATA} ${CBF_DATADIRO} ${CBF_DATAURLO})
+-CBF_LOAD_TARBALL(${CBF__DATA} ${CBF_DATADIRS} ${CBF_DATAURLS})
+-#
+-# Verify the checksums
+-#
+-file(GLOB CBF_DATADIRI_FILES "${CBF_DATADIRI}/*")
+-file(GLOB CBF_DATADIRO_FILES "${CBF_DATADIRO}/*")
+-foreach(loop_file ${CBF_DATADIRI_FILES} )
+- if (NOT "${loop_file}" MATCHES "[*.]md5")
+- file(MD5 "${loop_file}" loop_file_md5)
+- file(STRINGS "${loop_file}.md5" loop_file_md5_orig LIMIT_COUNT 1)
+- if (NOT ("${loop_file_md5}" STREQUAL "${loop_file_md5_orig}"))
+- message(WARNINH "loop_file: ${loop_file}:|${loop_file_md5}|${loop_file_md5_orig}|")
+- endif (NOT ("${loop_file_md5}" STREQUAL "${loop_file_md5_orig}"))
+- endif (NOT "${loop_file}" MATCHES "[*.]md5")
+-endforeach(loop_file)
+-foreach(loop_file ${CBF_DATADIRO_FILES} )
+- if (NOT "${loop_file}" MATCHES "[*.]md5")
+- file(MD5 "${loop_file}" loop_file_md5)
+- file(STRINGS "${loop_file}.md5" loop_file_md5_orig LIMIT_COUNT 1)
+- if (NOT ("${loop_file_md5}" STREQUAL "${loop_file_md5_orig}"))
+- message(WARNING "loop_file: ${loop_file}:|${loop_file_md5}|${loop_file_md5_orig}|")
+- endif (NOT ("${loop_file_md5}" STREQUAL "${loop_file_md5_orig}"))
+- endif (NOT "${loop_file}" MATCHES "[*.]md5")
+-endforeach(loop_file)
+
+
+ #
+@@ -775,7 +710,7 @@ add_library(cbf_shared SHARED ${CBF_C_SOURCES})
+ set_target_properties(cbf_shared PROPERTIES OUTPUT_NAME "cbf")
+ set_target_properties(cbf_shared PROPERTIES LINKER_LANGUAGE C)
+ set_target_properties(cbf_shared PROPERTIES SOVERSION "${CBF_APIVERSION}")
+-target_link_libraries(cbf_shared ${CBF_HDF5_LIBRARY_PATH})
++target_link_libraries(cbf_shared hdf5)
+
+ #
+ # Build the static and shared IMG libraries
+@@ -791,7 +726,7 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CBFlib_BINARY_DIR}/solib")
+ add_library(img_shared SHARED ${CBF__EXAMPLES}/img.c)
+ set_target_properties(img_shared PROPERTIES OUTPUT_NAME "img")
+ set_target_properties(img_shared PROPERTIES LINKER_LANGUAGE C)
+-target_link_libraries(img_shared ${CBF_HDF5_LIBRARY_PATH})
++target_link_libraries(img_shared hdf5 m )
+
+
+ #
+@@ -829,26 +764,6 @@ target_link_libraries(fcb_shared ${CBF_HDF5_LIBRARY_PATH})
+ #
+ # C and C++ examples
+ #
+-CBF_ADD_C_EXAMPLE(convert_image "${CBF__EXAMPLES}" "" "img_static")
+-CBF_ADD_C_EXAMPLE(convert_minicbf "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(makecbf "${CBF__EXAMPLES}" "" "img_static")
+-CBF_ADD_C_EXAMPLE(adscimg2cbf "${CBF__EXAMPLES}" "${CBF__EXAMPLES}/adscimg2cbf_sub.c" "")
+-CBF_ADD_C_EXAMPLE(cbf2adscimg "${CBF__EXAMPLES}" "${CBF__EXAMPLES}/cbf2adscimg_sub.c" "")
+-CBF_ADD_C_EXAMPLE(cbf_tail "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(changtestcompression "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(img2cif "${CBF__EXAMPLES}" "" "img_static")
+-CBF_ADD_C_EXAMPLE(cif2cbf "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(cbf2nexus "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(minicbf2nexus "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(cbf_template_t "${CBF__DECTRIS_EXAMPLES}" "" "")
+-CBF_ADD_CXX_EXAMPLE(testcell "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_CXX_EXAMPLE(sauter_test "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(sequence_match "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(tiff2cbf "${CBF__EXAMPLES}" "${CBF__EXT_PKG}/${CBF_TIFF}/libtiff/tif_sprint.c" "${CBF_TIFF_LIBRARY_PATH}")
+-CBF_ADD_C_EXAMPLE(testulp "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(testhdf5 "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(testtree "${CBF__EXAMPLES}" "" "")
+-CBF_ADD_C_EXAMPLE(testalloc "${CBF__EXAMPLES}" "" "")
+
+
+
+@@ -876,26 +791,9 @@ target_link_libraries(test_xds_binary fcb_static)
+ #
+ # install
+ #
+-install (TARGETS makecbf DESTINATION bin)
+-install (TARGETS img2cif DESTINATION bin)
+-install (TARGETS cif2cbf DESTINATION bin)
+-install (TARGETS adscimg2cbf DESTINATION bin)
+-install (TARGETS cbf2adscimg DESTINATION bin)
+-install (TARGETS changtestcompression DESTINATION bin)
+-install (TARGETS convert_image DESTINATION bin)
+-install (TARGETS convert_minicbf DESTINATION bin)
+-install (TARGETS minicbf2nexus DESTINATION bin)
+-install (TARGETS cbf_template_t DESTINATION bin)
+-install (TARGETS testcell DESTINATION bin)
+-install (TARGETS sauter_test DESTINATION bin)
+-install (TARGETS sequence_match DESTINATION bin)
+-install (TARGETS tiff2cbf DESTINATION bin)
+-install (TARGETS cbf_static DESTINATION lib)
+-install (TARGETS cbf_shared DESTINATION lib)
+-install (TARGETS fcb_static DESTINATION lib)
+-install (TARGETS fcb_shared DESTINATION lib)
+-install (TARGETS img_static DESTINATION lib)
+-install (TARGETS img_shared DESTINATION lib)
++install (TARGETS cbf_shared DESTINATION lib${LIB_SUFFIX})
++install (TARGETS fcb_shared DESTINATION lib${LIB_SUFFIX})
++install (TARGETS img_shared DESTINATION lib${LIB_SUFFIX})
+ install (DIRECTORY ${CBF__INCLUDE}/ DESTINATION include/cbflib FILES_MATCHING PATTERN "*.h")
+ install (DIRECTORY ${CBF__BIN_INCLUDE}/* DESTINATION include/cbflib FILES_MATCHING PATTERN "*.h")
+
+@@ -914,10 +812,6 @@ endif ()
+ #
+ # tests -- to be extended
+ #
+-add_test(NAME cbftest_makecbf
+- COMMAND ${CMAKE_COMMAND}
+- -DCMD1=$<TARGET_FILE:makecbf> -DARG11=${CBF_DATADIRI}/example.mar2300 -DARG12=makecbf.cbf
+- -P ${CMAKE_CURRENT_SOURCE_DIR}/runcommands.cmake)
+ add_test(cbftest_testalloc ${VALGRIND_COMMAND} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/testalloc)
+ add_test(cbftest_testhdf5 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/testhdf5)
+ add_test(cbftest_testtree ${VALGRIND_COMMAND} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/testtree)
diff --git a/sci-libs/cbflib/metadata.xml b/sci-libs/cbflib/metadata.xml
new file mode 100644
index 000000000000..7371ec6ccff3
--- /dev/null
+++ b/sci-libs/cbflib/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription>
+CBFLIB is a library of ANSI-C functions providing a simple mechanism
+for accessing Crystallographic Binary Files (CBF files) and Image-supporting
+CIF (imgCIF) files. The CBFLIB API is loosely based on the CIFPARSE API for
+mmCIF files. Starting with this release, CBFLIB performs validation checks
+on reading of a CBF. If a dictionary is provided, values will be validated
+against dictionary ranges and enumerations. Tags missing under parent-child
+relationships or category key requirements will be reported. CBFlib provides
+functions to create, read, modify and write CBF binary data files and imgCIF
+ASCII data files.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">cbflib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/cblas-reference/Manifest b/sci-libs/cblas-reference/Manifest
new file mode 100644
index 000000000000..1e8316091c81
--- /dev/null
+++ b/sci-libs/cblas-reference/Manifest
@@ -0,0 +1 @@
+DIST cblas.tgz 197694 SHA256 9b49d7177fda62b6141bf2ca29e475e86f0b12d8f72e0b944058d02b439dd52a SHA512 8edc4f939d36e6bb9bcbc4ffe414b6c991192ef2e76ec4eda16d3578591185d31e46be5e747d74c740411db6bd2c2d414a18f73193d4a288e8c7e4b83cb0895d WHIRLPOOL e3f9f2b6a58f000ac2dc02326cd5a41f8a5cc1437035e710c49eb2ff8b366906c099285c982394e69082d861be16cacd8bef2c3191d84dcace120b5d73623915
diff --git a/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild b/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild
new file mode 100644
index 000000000000..72164d89c970
--- /dev/null
+++ b/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit autotools eutils fortran-2 multilib toolchain-funcs
+
+MyPN="${PN/-reference/}"
+
+DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation"
+HOMEPAGE="http://www.netlib.org/blas/"
+SRC_URI="http://www.netlib.org/blas/blast-forum/${MyPN}.tgz"
+
+SLOT="0"
+LICENSE="public-domain"
+IUSE=""
+KEYWORDS="alpha amd64 hppa ppc ppc64 s390 sparc x86 ~x86-fbsd"
+
+RDEPEND="
+ virtual/blas
+ app-eselect/eselect-cblas"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+ESELECT_PROF=reference
+S="${WORKDIR}/CBLAS"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotool.patch
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ --libdir=/usr/$(get_libdir)/blas/reference \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README || die "failed to install docs"
+ insinto /usr/share/doc/${PF}
+ doins cblas_example*c || die "install examples failed"
+ eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.reference ${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="${ROOT}"/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
+}
diff --git a/sci-libs/cblas-reference/cblas-reference-20030223-r5.ebuild b/sci-libs/cblas-reference/cblas-reference-20030223-r5.ebuild
new file mode 100644
index 000000000000..6d0264b44388
--- /dev/null
+++ b/sci-libs/cblas-reference/cblas-reference-20030223-r5.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit autotools eutils fortran-2 multilib toolchain-funcs
+
+MyPN="${PN/-reference/}"
+
+DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation"
+HOMEPAGE="http://www.netlib.org/blas/"
+SRC_URI="http://www.netlib.org/blas/blast-forum/${MyPN}.tgz"
+
+SLOT="0"
+LICENSE="public-domain"
+IUSE=""
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ virtual/blas
+ app-eselect/eselect-cblas"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+ESELECT_PROF=reference
+S="${WORKDIR}/CBLAS"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-autotool.patch
+ eautoreconf
+
+ cp "${FILESDIR}"/eselect.cblas.reference "${T}"/
+ sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.cblas.reference || die
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+ "${T}"/eselect.cblas.reference || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --libdir="${EPREFIX}"/usr/$(get_libdir)/blas/reference \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README || die "failed to install docs"
+ insinto /usr/share/doc/${PF}
+ doins cblas_example*c || die "install examples failed"
+ eselect cblas add $(get_libdir) "${T}"/eselect.cblas.reference ${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
+}
diff --git a/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch b/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch
new file mode 100644
index 000000000000..0dd595bf4a21
--- /dev/null
+++ b/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch
@@ -0,0 +1,567 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2007-11-09 17:59:16.000000000 +0000
+@@ -0,0 +1,24 @@
++AC_PREREQ(2.59)
++AC_INIT(cblas, 20030223, lapack@cs.utk.edu)
++AC_CONFIG_SRCDIR([cblas_example2.c])
++AC_CONFIG_HEADER([config.h])
++AM_INIT_AUTOMAKE([foreign])
++
++AC_LANG(C)
++AC_PROG_CC
++AC_PROG_F77
++AC_F77_LIBRARY_LDFLAGS
++AC_PROG_LIBTOOL
++
++sinclude(acx_blas.m4)
++ACX_BLAS
++if test x"$BLAS_LIBS" = x; then
++ AC_MSG_ERROR([Cannot find blas libraries])
++fi
++
++
++AC_CONFIG_FILES([Makefile
++ src/Makefile
++ testing/Makefile
++ cblas.pc])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2007-11-09 16:20:41.000000000 +0000
+@@ -0,0 +1,8 @@
++SUBDIRS = src testing
++
++pkgconfigdir = $(libdir)
++pkgconfig_DATA = cblas.pc
++
++EXTRA = cblas.pc
++
++
+--- cblas.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ cblas.pc.in 2007-11-09 16:20:41.000000000 +0000
+@@ -0,0 +1,13 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Basic Linear Algebra Subprograms C reference wrapper
++Version: @PACKAGE_VERSION@
++Requires: blas
++URL: http://www.netlib.org/blas/
++Libs: -lcblas
++Libs.private: @FLIBS@
++Cflags: -I${includedir}
+--- acx_blas.m4 1970-01-01 01:00:00.000000000 +0100
++++ acx_blas.m4 2007-08-04 22:50:48.000000000 +0100
+@@ -0,0 +1,191 @@
++##### http://autoconf-archive.cryp.to/acx_blas.html
++#
++# SYNOPSIS
++#
++# ACX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro looks for a library that implements the BLAS
++# linear-algebra interface (see http://www.netlib.org/blas/). On
++# success, it sets the BLAS_LIBS output variable to hold the
++# requisite library linkages.
++#
++# To link with BLAS, you should link with:
++#
++# $BLAS_LIBS $LIBS $FLIBS
++#
++# in that order. FLIBS is the output variable of the
++# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by ACX_BLAS), and
++# is sometimes necessary in order to link with F77 libraries. Users
++# will also need to use AC_F77_DUMMY_MAIN (see the autoconf manual),
++# for the same reason.
++#
++# Many libraries are searched for, from ATLAS to CXML to ESSL. The
++# user may also use --with-blas=<lib> in order to use some specific
++# BLAS library <lib>. In order to link successfully, however, be
++# aware that you will probably need to use the same Fortran compiler
++# (which can be set via the F77 env. var.) as was used to compile the
++# BLAS library.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a BLAS
++# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
++# run it if it is not found. If ACTION-IF-FOUND is not specified, the
++# default action will define HAVE_BLAS.
++#
++# This macro requires autoconf 2.50 or later.
++#
++# LAST MODIFICATION
++#
++# 2007-07-29
++#
++# COPYLEFT
++#
++# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu>
++#
++# This program is free software: you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation, either version 3 of the
++# License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright
++# owner gives unlimited permission to copy, distribute and modify the
++# configure scripts that are the output of Autoconf when processing
++# the Macro. You need not follow the terms of the GNU General Public
++# License when using or distributing such scripts, even though
++# portions of the text of the Macro appear in them. The GNU General
++# Public License (GPL) does govern all other use of the material that
++# constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the
++# Autoconf Macro released by the Autoconf Macro Archive. When you
++# make and distribute a modified version of the Autoconf Macro, you
++# may extend this special exception to the GPL to apply to your
++# modified version as well.
++
++AC_DEFUN([ACX_BLAS], [
++AC_PREREQ(2.50)
++AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS])
++acx_blas_ok=no
++
++AC_ARG_WITH(blas,
++ [AC_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])
++case $with_blas in
++ yes | "") ;;
++ no) acx_blas_ok=disable ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;;
++ *) BLAS_LIBS="-l$with_blas" ;;
++esac
++
++# Get fortran linker names of BLAS functions to check for.
++AC_F77_FUNC(sgemm)
++AC_F77_FUNC(dgemm)
++
++acx_blas_save_LIBS="$LIBS"
++LIBS="$LIBS $FLIBS"
++
++# First, check BLAS_LIBS environment variable
++if test $acx_blas_ok = no; then
++if test "x$BLAS_LIBS" != x; then
++ save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
++ AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS])
++ AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes], [BLAS_LIBS=""])
++ AC_MSG_RESULT($acx_blas_ok)
++ LIBS="$save_LIBS"
++fi
++fi
++
++# BLAS linked to by default? (happens on some supercomputers)
++if test $acx_blas_ok = no; then
++ save_LIBS="$LIBS"; LIBS="$LIBS"
++ AC_CHECK_FUNC($sgemm, [acx_blas_ok=yes])
++ LIBS="$save_LIBS"
++fi
++
++# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(atlas, ATL_xerbla,
++ [AC_CHECK_LIB(f77blas, $sgemm,
++ [AC_CHECK_LIB(cblas, cblas_dgemm,
++ [acx_blas_ok=yes
++ BLAS_LIBS="-lcblas -lf77blas -latlas"],
++ [], [-lf77blas -latlas])],
++ [], [-latlas])])
++fi
++
++# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(dgemm, $dgemm,
++ [AC_CHECK_LIB(sgemm, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"],
++ [], [-lblas])],
++ [], [-lblas])])
++fi
++
++# BLAS in Alpha CXML library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(cxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-lcxml"])
++fi
++
++# BLAS in Alpha DXML library? (now called CXML, see above)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(dxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-ldxml"])
++fi
++
++# BLAS in Sun Performance library?
++if test $acx_blas_ok = no; then
++ if test "x$GCC" != xyes; then # only works with Sun CC
++ AC_CHECK_LIB(sunmath, acosp,
++ [AC_CHECK_LIB(sunperf, $sgemm,
++ [BLAS_LIBS="-xlic_lib=sunperf -lsunmath"
++ acx_blas_ok=yes],[],[-lsunmath])])
++ fi
++fi
++
++# BLAS in SCSL library? (SGI/Cray Scientific Library)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(scs, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lscs"])
++fi
++
++# BLAS in SGIMATH library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(complib.sgimath, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"])
++fi
++
++# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(essl, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lessl -lblas"],
++ [], [-lblas $FLIBS])])
++fi
++
++# Generic BLAS library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas"])
++fi
++
++AC_SUBST(BLAS_LIBS)
++
++LIBS="$acx_blas_save_LIBS"
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$acx_blas_ok" = xyes; then
++ ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1])
++ :
++else
++ acx_blas_ok=no
++ $2
++fi
++])dnl ACX_BLAS
+--- src/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ src/Makefile.am 2007-11-09 16:20:41.000000000 +0000
+@@ -0,0 +1,232 @@
++lib_LTLIBRARIES = libcblas.la
++
++pkgincludedir = $(includedir)/cblas
++pkginclude_HEADERS = cblas.h
++
++AM_CPPFLAGS = -DADD_
++
++ERRHAND_SOURCES = \
++ cblas_globals.c \
++ cblas_xerbla.c \
++ xerbla.c
++
++SINGLE_SOURCES = \
++ cblas_scasum.c \
++ cblas_scnrm2.c \
++ scasumsub.f \
++ scnrm2sub.f
++
++SLEV_SOURCES = \
++ isamaxsub.f \
++ sdotsub.f \
++ sdsdotsub.f \
++ snrm2sub.f \
++ sasumsub.f
++
++SLEV1_SOURCES = \
++ cblas_srotg.c \
++ cblas_srotmg.c \
++ cblas_srot.c \
++ cblas_srotm.c \
++ cblas_sswap.c \
++ cblas_sscal.c \
++ cblas_scopy.c \
++ cblas_saxpy.c \
++ cblas_sdot.c \
++ cblas_sdsdot.c \
++ cblas_snrm2.c \
++ cblas_sasum.c \
++ cblas_isamax.c
++
++SLEV2_SOURCES = \
++ cblas_sgemv.c \
++ cblas_sgbmv.c \
++ cblas_sger.c \
++ cblas_ssbmv.c \
++ cblas_sspmv.c \
++ cblas_sspr.c \
++ cblas_sspr2.c \
++ cblas_ssymv.c \
++ cblas_ssyr.c \
++ cblas_ssyr2.c \
++ cblas_stbmv.c \
++ cblas_stbsv.c \
++ cblas_stpmv.c \
++ cblas_stpsv.c \
++ cblas_strmv.c \
++ cblas_strsv.c
++
++SLEV3_SOURCES = \
++ cblas_sgemm.c \
++ cblas_ssymm.c \
++ cblas_ssyrk.c \
++ cblas_ssyr2k.c \
++ cblas_strmm.c \
++ cblas_strsm.c
++
++DLEV_SOURCES = \
++ ddotsub.f \
++ dsdotsub.f \
++ dnrm2sub.f \
++ dasumsub.f \
++ idamaxsub.f
++
++DLEV1_SOURCES = \
++ cblas_drotg.c \
++ cblas_drotmg.c \
++ cblas_drot.c \
++ cblas_drotm.c \
++ cblas_dswap.c \
++ cblas_dscal.c \
++ cblas_dcopy.c \
++ cblas_daxpy.c \
++ cblas_ddot.c \
++ cblas_dsdot.c \
++ cblas_dnrm2.c \
++ cblas_dasum.c \
++ cblas_idamax.c
++
++DLEV2_SOURCES = \
++ cblas_dgemv.c \
++ cblas_dgbmv.c \
++ cblas_dger.c \
++ cblas_dsbmv.c \
++ cblas_dspmv.c \
++ cblas_dspr.c \
++ cblas_dspr2.c \
++ cblas_dsymv.c \
++ cblas_dsyr.c \
++ cblas_dsyr2.c \
++ cblas_dtbmv.c \
++ cblas_dtbsv.c \
++ cblas_dtpmv.c \
++ cblas_dtpsv.c \
++ cblas_dtrmv.c \
++ cblas_dtrsv.c
++
++DLEV3_SOURCES = \
++ cblas_dgemm.c \
++ cblas_dsymm.c \
++ cblas_dsyrk.c \
++ cblas_dsyr2k.c \
++ cblas_dtrmm.c \
++ cblas_dtrsm.c
++
++CLEV_SOURCES = \
++ cdotcsub.f \
++ cdotusub.f \
++ icamaxsub.f
++
++CLEV1_SOURCES = \
++ cblas_cswap.c \
++ cblas_cscal.c \
++ cblas_csscal.c \
++ cblas_ccopy.c \
++ cblas_caxpy.c \
++ cblas_cdotu_sub.c \
++ cblas_cdotc_sub.c \
++ cblas_icamax.c
++
++CLEV2_SOURCES = \
++ cblas_cgemv.c \
++ cblas_cgbmv.c \
++ cblas_chemv.c \
++ cblas_chbmv.c \
++ cblas_chpmv.c \
++ cblas_ctrmv.c \
++ cblas_ctbmv.c \
++ cblas_ctpmv.c \
++ cblas_ctrsv.c \
++ cblas_ctbsv.c \
++ cblas_ctpsv.c \
++ cblas_cgeru.c \
++ cblas_cgerc.c \
++ cblas_cher.c \
++ cblas_cher2.c \
++ cblas_chpr.c \
++ cblas_chpr2.c
++
++CLEV3_SOURCES = \
++ cblas_cgemm.c \
++ cblas_csymm.c \
++ cblas_chemm.c \
++ cblas_cherk.c \
++ cblas_cher2k.c \
++ cblas_ctrmm.c \
++ cblas_ctrsm.c \
++ cblas_csyrk.c \
++ cblas_csyr2k.c
++
++ZLEV_SOURCES = \
++ zdotcsub.f \
++ zdotusub.f \
++ dzasumsub.f \
++ dznrm2sub.f \
++ izamaxsub.f
++
++ZLEV1_SOURCES = \
++ cblas_zswap.c \
++ cblas_zscal.c \
++ cblas_zdscal.c \
++ cblas_zcopy.c \
++ cblas_zaxpy.c \
++ cblas_zdotu_sub.c \
++ cblas_zdotc_sub.c \
++ cblas_dznrm2.c \
++ cblas_dzasum.c \
++ cblas_izamax.c
++
++ZLEV2_SOURCES = \
++ cblas_zgemv.c \
++ cblas_zgbmv.c \
++ cblas_zhemv.c \
++ cblas_zhbmv.c \
++ cblas_zhpmv.c \
++ cblas_ztrmv.c \
++ cblas_ztbmv.c \
++ cblas_ztpmv.c \
++ cblas_ztrsv.c \
++ cblas_ztbsv.c \
++ cblas_ztpsv.c \
++ cblas_zgeru.c \
++ cblas_zgerc.c \
++ cblas_zher.c \
++ cblas_zher2.c \
++ cblas_zhpr.c \
++ cblas_zhpr2.c
++
++ZLEV3_SOURCES = \
++ cblas_zgemm.c \
++ cblas_zsymm.c \
++ cblas_zhemm.c \
++ cblas_zherk.c \
++ cblas_zher2k.c \
++ cblas_ztrmm.c \
++ cblas_ztrsm.c \
++ cblas_zsyrk.c \
++ cblas_zsyr2k.c
++
++libcblas_la_SOURCES = \
++ cblas_f77.h \
++ cblas.h \
++ $(ERRHAND_SOURCES) \
++ $(SINGLE_SOURCES) \
++ $(SLEV_SOURCES) \
++ $(DLEV_SOURCES) \
++ $(CLEV_SOURCES) \
++ $(ZLEV_SOURCES) \
++ $(SLEV1_SOURCES) \
++ $(DLEV1_SOURCES) \
++ $(CLEV1_SOURCES) \
++ $(ZLEV1_SOURCES) \
++ $(SLEV2_SOURCES) \
++ $(DLEV2_SOURCES) \
++ $(CLEV2_SOURCES) \
++ $(ZLEV2_SOURCES) \
++ $(SLEV3_SOURCES) \
++ $(DLEV3_SOURCES) \
++ $(CLEV3_SOURCES) \
++ $(ZLEV3_SOURCES)
++
++libcblas_la_LIBADD = @BLAS_LIBS@
++
+--- testing/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ testing/Makefile.am 2007-11-09 17:20:37.000000000 +0000
+@@ -0,0 +1,70 @@
++TESTS = cblas_tests
++
++cblas_tests:
++ @install -m0755 cblas_tests.sh cblas_tests
++
++check_PROGRAMS = \
++ xscblat1 xdcblat1 xccblat1 xzcblat1 \
++ xscblat2 xdcblat2 xccblat2 xzcblat2 \
++ xscblat3 xdcblat3 xccblat3 xzcblat3
++
++LDADD = $(top_builddir)/src/libcblas.la @BLAS_LIBS@
++
++AM_CPPFLAGS = -I$(top_srcdir)/src -DADD_
++
++AUX_SOURCES = \
++ auxiliary.c \
++ c_xerbla.c
++
++xscblat1_SOURCES = \
++ c_sblas1.c \
++ c_sblat1.f
++xscblat2_SOURCES = \
++ c_sblas2.c \
++ c_s2chke.c \
++ c_sblat2.f \
++ $(AUX_SOURCES)
++xscblat3_SOURCES = \
++ c_sblas3.c \
++ c_s3chke.c \
++ c_sblat3.f \
++ $(AUX_SOURCES)
++xdcblat1_SOURCES = \
++ c_dblas1.c \
++ c_dblat1.f
++xdcblat2_SOURCES = \
++ c_dblas2.c \
++ c_d2chke.c \
++ c_dblat2.f \
++ $(AUX_SOURCES)
++xdcblat3_SOURCES = \
++ c_dblas3.c \
++ c_d3chke.c \
++ c_dblat3.f \
++ $(AUX_SOURCES)
++xccblat1_SOURCES = \
++ c_cblas1.c \
++ c_cblat1.f
++xccblat2_SOURCES = \
++ c_cblas2.c \
++ c_c2chke.c \
++ c_cblat2.f \
++ $(AUX_SOURCES)
++xccblat3_SOURCES = \
++ c_cblas3.c \
++ c_c3chke.c \
++ c_cblat3.f \
++ $(AUX_SOURCES)
++xzcblat1_SOURCES = \
++ c_zblas1.c \
++ c_zblat1.f
++xzcblat2_SOURCES = \
++ c_zblas2.c \
++ c_z2chke.c \
++ c_zblat2.f \
++ $(AUX_SOURCES)
++xzcblat3_SOURCES = \
++ c_zblas3.c \
++ c_z3chke.c \
++ c_zblat3.f \
++ $(AUX_SOURCES)
+--- testing/cblas_tests.sh 1970-01-01 01:00:00.000000000 +0100
++++ testing/cblas_tests.sh 2007-11-09 16:20:41.000000000 +0000
+@@ -0,0 +1,8 @@
++#!/bin/sh
++
++for t in x*blat1; do
++ ./${t}
++done
++for t in x*blat{2,3}; do
++ ./${t} < ${t:1:1}in${t:7:1}
++done
diff --git a/sci-libs/cblas-reference/files/eselect.cblas.reference b/sci-libs/cblas-reference/files/eselect.cblas.reference
new file mode 100644
index 000000000000..62b581860fc7
--- /dev/null
+++ b/sci-libs/cblas-reference/files/eselect.cblas.reference
@@ -0,0 +1,5 @@
+blas/reference/libcblas.so /usr/@LIBDIR@/libcblas.so
+blas/reference/libcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+blas/reference/libcblas.a /usr/@LIBDIR@/libcblas.a
+../blas/reference/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+cblas/cblas.h /usr/include/cblas.h
diff --git a/sci-libs/cblas-reference/metadata.xml b/sci-libs/cblas-reference/metadata.xml
new file mode 100644
index 000000000000..f08baae0892a
--- /dev/null
+++ b/sci-libs/cblas-reference/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+The BLAS (Basic Linear Algebra Subprograms) are high quality "building
+block" routines for performing basic vector and matrix operations. Level 1
+BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations,
+and Level 3 BLAS do matrix-matrix operations. Because the BLAS are
+efficient, portable, and widely available, they're commonly used in the
+development of high quality linear algebra software, LAPACK for
+example. This packages implements the reference C library as a wrapper
+to the FORTRAN 77 BLAS library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/ccfits/Manifest b/sci-libs/ccfits/Manifest
new file mode 100644
index 000000000000..13e11de12311
--- /dev/null
+++ b/sci-libs/ccfits/Manifest
@@ -0,0 +1 @@
+DIST CCfits-2.4.tar.gz 1792643 SHA256 ba6c5012b260adf7633f92581279ea582e331343d8c973981aa7de07242bd7f8 SHA512 b12d455bb6dd631056e02a12e996d3bf0b6169f8922011e4b64f979b08d2ab8f405e14947c6f5d26ad18bf2f5764854a84987ae105944515f533fe6b0b4ef7be WHIRLPOOL 7f0ca6f0e684f7d66d7272a89dbeb8fa95e3907f358ec624f5f817311288fdfb6467ec915d0ab9f2eee753fcaee3f4b68f497c2dffcf7a38bdce9a7f97681e2a
diff --git a/sci-libs/ccfits/ccfits-2.4.ebuild b/sci-libs/ccfits/ccfits-2.4.ebuild
new file mode 100644
index 000000000000..f309dc2c30d7
--- /dev/null
+++ b/sci-libs/ccfits/ccfits-2.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils autotools
+
+MYPN=CCfits
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="C++ interface for cfitsio"
+HOMEPAGE="http://heasarc.gsfc.nasa.gov/fitsio/CCfits/"
+SRC_URI="${HOMEPAGE}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+RDEPEND=">=sci-libs/cfitsio-3.080"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYPN}"
+
+src_prepare() {
+ # avoid building cookbook by default and no rpath
+ epatch "${FILESDIR}"/${PN}-2.2-makefile.patch
+ AT_M4DIR=config/m4 eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install () {
+ default
+ use doc && dodoc *.pdf && dohtml -r html/*
+}
diff --git a/sci-libs/ccfits/files/ccfits-2.2-makefile.patch b/sci-libs/ccfits/files/ccfits-2.2-makefile.patch
new file mode 100644
index 000000000000..e92d9306900c
--- /dev/null
+++ b/sci-libs/ccfits/files/ccfits-2.2-makefile.patch
@@ -0,0 +1,26 @@
+--- Makefile.am.orig 2010-01-20 02:52:22.000000000 +0000
++++ Makefile.am 2010-01-20 02:50:34.000000000 +0000
+@@ -26,12 +26,11 @@
+ EXTRA_DIST = config CHANGES README.INSTALL License.txt file1.pha $(MSVC_FILES)
+
+
+-bin_PROGRAMS = cookbook
++check_PROGRAMS = cookbook
+
+ cookbook_SOURCES = cookbook.cxx
+
+ cookbook_LDADD = libCCfits.la
+-cookbook_LDFLAGS = -R $(R_LIB_PATH) -R $(CXX_LIB_PATH)
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = CCfits.pc
+@@ -64,8 +63,7 @@
+
+ # This will tell shared library which STD C++ library to use without
+ # needing the user to use LD_LIBRARY_PATH environment variable
+-libCCfits_la_LIBADD = $(LIBSTDCPP)
+-libCCfits_la_LDFLAGS = -R $(R_LIB_PATH) -R $(CXX_LIB_PATH)
++#libCCfits_la_LIBADD = $(LIBSTDCPP)
+
+ libCCfits_ladir = $(pkgincludedir)
+
diff --git a/sci-libs/ccfits/metadata.xml b/sci-libs/ccfits/metadata.xml
new file mode 100644
index 000000000000..b4532406f703
--- /dev/null
+++ b/sci-libs/ccfits/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ CCfits is an object oriented interface to the cfitsio library. It is
+ designed to make the capabilities of cfitsio available to
+ programmers working in C++. It is written in ANSI C++ and
+ implemented using the C++ Standard Library with namespaces,
+ exception handling, and member template functions.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/ccolamd/Manifest b/sci-libs/ccolamd/Manifest
new file mode 100644
index 000000000000..1f5e80f44d10
--- /dev/null
+++ b/sci-libs/ccolamd/Manifest
@@ -0,0 +1 @@
+DIST ccolamd-2.8.0.tar.bz2 309907 SHA256 0e3d0d147f22ef6d3e6eedc7540be6135303a064dae9f10ff443ade1196d12eb SHA512 6a515a8250ed98d52aa932a6f93170174ff32f76c1ecedcedeb1540a471416d0cd40b5613a839b96fbc79c66b3cb5106c6a340a33fafdd695c83b7d949756e77 WHIRLPOOL f999836681321d0f1ee0ccaae8cbc86b934220eb4151792b5163a7a1f115319442a9a3db8cb707b7e42cd50fa092765a0fc49c8e60daf756aaff56fa8eb93169
diff --git a/sci-libs/ccolamd/ccolamd-2.8.0.ebuild b/sci-libs/ccolamd/ccolamd-2.8.0.ebuild
new file mode 100644
index 000000000000..5f19e42750fa
--- /dev/null
+++ b/sci-libs/ccolamd/ccolamd-2.8.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Constrained Column approximate minimum degree ordering algorithm"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/ccolamd/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/sci-libs/ccolamd/files/ccolamd-2.7.1-autotools.patch b/sci-libs/ccolamd/files/ccolamd-2.7.1-autotools.patch
new file mode 100644
index 000000000000..8386325da742
--- /dev/null
+++ b/sci-libs/ccolamd/files/ccolamd-2.7.1-autotools.patch
@@ -0,0 +1,60 @@
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-29 18:53:56.000000000 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = Demo Source
++EXTRA_DIST = Doc/ChangeLog README.txt
++include_HEADERS = Include/ccolamd.h
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-29 18:54:17.000000000 +0000
+@@ -0,0 +1,13 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(ccolamd, 2.7.1, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CONFIG_FILES([
++ Source/Makefile
++ Demo/Makefile
++ Makefile])
++AC_OUTPUT
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-29 18:53:56.000000000 +0000
+@@ -0,0 +1,10 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++lib_LTLIBRARIES = libccolamd.la
++noinst_LTLIBRARIES = libccolamdl.la libccolamdi.la
++
++libccolamdl_la_SOURCES = ccolamd.c
++libccolamdl_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
++libccolamdi_la_SOURCES = ccolamd.c
++
++libccolamd_la_SOURCES = ccolamd_global.c
++libccolamd_la_LIBADD = libccolamdl.la libccolamdi.la
+--- Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Demo/Makefile.am 2008-01-29 18:55:44.000000000 +0000
+@@ -0,0 +1,22 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++check_PROGRAMS = \
++ ccolamd_example \
++ ccolamd_l_example
++
++LDADD = $(top_builddir)/Source/libccolamd.la -lm
++ccolamd_example_SOURCES = ccolamd_example.c
++ccolamd_l_example_SOURCES = ccolamd_l_example.c
++
++check-local: $(check_PROGRAMS)
++ @for i in $(check_PROGRAMS); do \
++ echo "Testing $$i"; \
++ ./$$i > my_$$i.out; \
++ if ! diff $(srcdir)/$$i.out my_$$i.out; then \
++ echo "Test $$i failed!"; \
++ exit 1; \
++ fi \
++ done;
++
++clean-local:
++ rm -f my*.out
diff --git a/sci-libs/ccolamd/metadata.xml b/sci-libs/ccolamd/metadata.xml
new file mode 100644
index 000000000000..2451169809d7
--- /dev/null
+++ b/sci-libs/ccolamd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Constrained COLAMD computes an column approximate minimum degree ordering
+ algorithm, (like COLAMD), but it can also be given a set of ordering
+ constraints.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/ccp4-libs/Manifest b/sci-libs/ccp4-libs/Manifest
new file mode 100644
index 000000000000..9d3fe2806365
--- /dev/null
+++ b/sci-libs/ccp4-libs/Manifest
@@ -0,0 +1 @@
+DIST ccp4-6.1.3-core-src.tar.gz 242134076 SHA256 1e529c660e7f390ec0feca9d45caa00a2813d23156c10a2747c427117293c324 SHA512 413eba806107ebcdbd93e9122275463709133d9b2a9ce44ae57a6c2350465a47ba66ad9875237aead74f5d422c0104f58f728ab37a757b10d82cde92af444c20 WHIRLPOOL faebf8ee7920013bc3d0e83565207dca1f31ba0b5c92fe1eae4b740f70ff2031d95787fa0d545b09c853d25657c08973527e43de02fddc086988123ca2a6339c
diff --git a/sci-libs/ccp4-libs/ccp4-libs-6.1.3-r16.ebuild b/sci-libs/ccp4-libs/ccp4-libs-6.1.3-r16.ebuild
new file mode 100644
index 000000000000..ffa5a866a2f7
--- /dev/null
+++ b/sci-libs/ccp4-libs/ccp4-libs-6.1.3-r16.ebuild
@@ -0,0 +1,359 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils fortran-2 gnuconfig multilib python-single-r1 toolchain-funcs
+
+SRC="ftp://ftp.ccp4.ac.uk/ccp4"
+
+#UPDATE="04_03_09"
+#PATCHDATE="090511"
+
+MY_P="${P/-libs}"
+
+PATCH_TOT="0"
+
+DESCRIPTION="Protein X-ray crystallography toolkit - Libraries"
+HOMEPAGE="http://www.ccp4.ac.uk/"
+SRC_URI="${SRC}/${PV}/${MY_P}-core-src.tar.gz"
+# patch tarball from upstream
+ [[ -n ${UPDATE} ]] && SRC_URI="${SRC_URI} ${SRC}/${PV}/updates/${P}-src-patch-${UPDATE}.tar.gz"
+# patches created by us
+ [[ -n ${PATCHDATE} ]] && SRC_URI="${SRC_URI} http://dev.gentoo.org/~jlec/science-dist/${PV}-${PATCHDATE}-updates.patch.bz2"
+
+for i in $(seq $PATCH_TOT); do
+ NAME="PATCH${i}[1]"
+ SRC_URI="${SRC_URI}
+ ${SRC}/${PV}/patches/${!NAME}"
+done
+
+LICENSE="ccp4"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="minimal"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ !<sci-chemistry/ccp4-6.1.3
+ !<sci-chemistry/ccp4-apps-${PV}-r10
+ app-shells/tcsh
+ dev-lang/tcl:0
+ >=sci-libs/cbflib-0.9.2.2
+ sci-libs/fftw:2.1
+ sci-libs/mmdb:0
+ sci-libs/monomer-db
+ sci-libs/ssm
+ virtual/jpeg:0=
+ virtual/lapack
+ virtual/blas"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+MAKEOPTS+=" -j1"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ tc-export PKG_CONFIG RANLIB AR
+
+ sed \
+ -e "/^AR/s:ar:$(tc-getAR):g" \
+ -i lib/src/Makefile.in src/Makefile.in src/ccp4mapwish_/Makefile.in lib/ccif/Makefile.in || die
+
+ einfo "Applying upstream patches ..."
+ for patch in $(seq $PATCH_TOT); do
+ base="PATCH${patch}"
+ dir=$(eval echo \${${base}[0]})
+ p=$(eval echo \${${base}[1]})
+ pushd "${dir}" >& /dev/null
+ ccp_patch "${DISTDIR}/${p}"
+ popd >& /dev/null
+ done
+ einfo "Done."
+ echo
+
+ [[ -n ${PATCHDATE} ]] && epatch "${WORKDIR}"/${PV}-${PATCHDATE}-updates.patch
+
+ einfo "Applying Gentoo patches ..."
+ # fix buffer overflows wrt bug 339706
+ ccp_patch "${FILESDIR}"/${PV}-overflows.patch
+
+ # it tries to create libdir, bindir etc on live system in configure
+ ccp_patch "${FILESDIR}"/${PV}-dont-make-dirs-in-configure.patch
+
+ # gerror_ gets defined twice on ppc if you're using gfortran/g95
+ ccp_patch "${FILESDIR}"/6.0.2-ppc-double-define-gerror.patch
+
+ # make creation of libccif.so smooth
+ ccp_patch "${FILESDIR}"/${PV}-ccif-shared.patch
+
+ # lets try to build libmmdb seperatly
+ ccp_patch "${FILESDIR}"/${PV}-dont-build-mmdb.patch
+
+ # unbundle libjpeg and cbflib
+ ccp_patch "${FILESDIR}"/${PV}-unbundle-libs-ng2.patch
+
+ # Fix missing DESTIDR
+ # not installing during build
+ ccp_patch "${FILESDIR}"/${PV}-noinstall.patch
+ sed \
+ -e '/SHARE_INST/s:$(libdir):$(DESTDIR)/$(libdir):g' \
+ -i configure || die
+
+ # Fix upstreams code
+ ccp_patch "${FILESDIR}"/${PV}-impl-dec.patch
+
+ # use pkg-config to detect BLAS/LAPACK
+ ccp_patch "${FILESDIR}"/${PV}-lapack.patch
+
+ # proto type changing in version 0.9.2.2
+ ccp_patch "${FILESDIR}"/${PV}-cbf.patch
+
+ # proto type changing in version 0.9.2.2
+ ccp_patch "${FILESDIR}"/${PV}-no-pypath.patch
+
+ ccp_patch "${FILESDIR}"/${P}-force.patch
+
+ ccp_patch "${FILESDIR}"/${P}-format-security.patch
+
+ einfo "Done." # done applying Gentoo patches
+ echo
+
+ # not needed, we have it extra
+ rm -rf src/rapper/{libxml2,gc7.0} || die
+
+ sed \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ -e 's:-Wl,-rpath,$CLIB::g' \
+ -e 's: -rpath $CLIB::g' \
+ -e 's: -I${srcdir}/include/cpp_c_headers::g' \
+ -e 's:sleep 1:sleep .2:g' \
+ -i configure || die
+
+ gnuconfig_update
+
+ for i in lib/DiffractionImage src/rapper src/pisa; do
+ pushd ${i} > /dev/null
+ sed 's:-g::g' -i configure* || die
+ [[ -f configure.in ]] && mv configure.{in,ac}
+ eautoreconf
+ popd > /dev/null
+ done
+
+ ## unbundle libssm
+ sed -e '/libdir/s:ssm::g' -i Makefile.in || die
+ find ./lib/src/mmdb ./lib/ssm ./lib/clipper ./lib/fftw lib/lapack -delete || die
+}
+
+src_configure() {
+ rm -rf lib/DiffractionImage/{jpg,CBFlib} || die
+
+ # Build system is broken if we set LDFLAGS
+ userldflags="${LDFLAGS}"
+ export SHARED_LIB_FLAGS="${LDFLAGS}"
+ unset LDFLAGS
+
+ # GENTOO_OSNAME can be one of:
+ # irix irix64 sunos sunos64 aix hpux osf1 linux freebsd
+ # linux_compaq_compilers linux_intel_compilers generic Darwin
+ # ia64_linux_intel Darwin_ibm_compilers linux_ibm_compilers
+ if [[ "$(tc-getFC)" = "ifort" ]]; then
+ if use ia64; then
+ GENTOO_OSNAME="ia64_linux_intel"
+ else
+ # Should be valid for x86, maybe amd64
+ GENTOO_OSNAME="linux_intel_compilers"
+ fi
+ else
+ # Should be valid for x86 and amd64, at least
+ GENTOO_OSNAME="linux"
+ fi
+
+ # Sets up env
+ ln -s \
+ ccp4.setup-bash \
+ "${S}"/include/ccp4.setup || die
+
+ # We agree to the license by emerging this, set in LICENSE
+ sed -i \
+ -e "s~^\(^agreed=\).*~\1yes~g" \
+ "${S}"/configure || die
+
+ # Fix up variables -- need to reset CCP4_MASTER at install-time
+ sed -i \
+ -e "s~^\(setenv CCP4_MASTER.*\)/.*~\1${WORKDIR}~g" \
+ -e "s~^\(export CCP4_MASTER.*\)/.*~\1${WORKDIR}~g" \
+ -e "s~^\(.*export CBIN=.*\)\$CCP4.*~\1\$CCP4/libexec/ccp4/bin/~g" \
+ -e "s~^\(.*setenv CBIN .*\)\$CCP4.*~\1\$CCP4/libexec/ccp4/bin/~g" \
+ -e "s~^\(setenv CCP4I_TCLTK.*\)/usr/local/bin~\1${EPREFIX}/usr/bin~g" \
+ "${S}"/include/ccp4.setup* || die
+
+ # Set up variables for build
+ source "${S}"/include/ccp4.setup-sh
+
+ export CC=$(tc-getCC)
+ export CXX=$(tc-getCXX)
+ export COPTIM=${CFLAGS}
+ export CXXOPTIM=${CXXFLAGS}
+ # Default to -O2 if FFLAGS is unset
+ export FC=$(tc-getFC)
+ export FOPTIM=${FFLAGS:- -O2}
+
+ export SHARE_LIB="\
+ $(tc-getCC) ${userldflags} -shared -Wl,-soname,libccp4c.so -o libccp4c.so \${CORELIBOBJS} \${CGENERALOBJS} \${CUCOBJS} \${CMTZOBJS} \${CMAPOBJS} \${CSYMOBJS} -L../ccif/ -lccif $(gcc-config -L | awk -F: '{for(i=1; i<=NF; i++) printf " -L%s", $i}') -lm && \
+ $(tc-getFC) ${userldflags} -shared -Wl,-soname,libccp4f.so -o libccp4f.so \${FORTRANLOBJS} \${FINTERFACEOBJS} -L../ccif/ -lccif -L. -lccp4c $($(tc-getPKG_CONFIG) --libs mmdb) $(gcc-config -L | awk -F: '{for(i=1; i<=NF; i++) printf " -L%s", $i}') -lstdc++ -lgfortran -lm"
+
+ # Can't use econf, configure rejects unknown options like --prefix
+ ./configure \
+ --onlylibs \
+ --with-shared-libs \
+ --with-fftw="${EPREFIX}/usr" \
+ --with-warnings \
+ --disable-cctbx \
+ --disable-clipper \
+ --disable-ssm \
+ --tmpdir="${TMPDIR}" \
+ --bindir="${EPREFIX}/usr/libexec/ccp4/bin/" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ ${GENTOO_OSNAME} || die "configure failed"
+}
+
+src_compile() {
+ emake DESTDIR="${D}" onlylib
+}
+
+src_install() {
+ # Set up variables for build
+ source "${S}"/include/ccp4.setup-sh
+
+ emake \
+ DESTDIR="${D}" \
+ includedir="${EPREFIX}/usr/include" \
+ library_includedir="${EPREFIX}/usr/include" \
+ install
+
+ sed \
+ -e "330,1000d" \
+ -i "${S}"/include/ccp4.setup-sh || die
+
+ sed \
+ -e "378,1000d" \
+ -i "${S}"/include/ccp4.setup-csh || die
+
+ sed \
+ -e "s:-${PV/-r*/}::g" \
+ -e "s:^\(.*export CCP4_MASTER=\).*:\1${EPREFIX}/usr:g" \
+ -e "s:^\(.*setenv CCP4_MASTER\).*:\1 ${EPREFIX}/usr:g" \
+ -e "s:^\(.*export CCP4=\).*CCP4_MASTER.*:\1${EPREFIX}/usr:g" \
+ -e "s:^\(.*setenv CCP4\).*CCP4_MASTER.*:\1 ${EPREFIX}/usr:g" \
+ -e "s:^\(.*export CCP4_SCR=\).*:\1${EPREFIX}/tmp:g" \
+ -e "s:^\(.*setenv CCP4_SCR \).*:\1${EPREFIX}/tmp:g" \
+ -e "s:^\(.*export BINSORT_SCR=\).*:\1${EPREFIX}/tmp:g" \
+ -e "s:^\(.*setenv BINSORT_SCR \).*:\1${EPREFIX}/tmp:g" \
+ -e "s:^\(.*export CCP4I_TOP=\).*:\1${EPREFIX}/usr/$(get_libdir)/ccp4/ccp4i:g" \
+ -e "s:^\(.*setenv CCP4I_TOP \).*:\1${EPREFIX}/usr/$(get_libdir)/ccp4/ccp4i:g" \
+ -e "s:^\(.*export CCP4I_TCLTK=\).*:\1${EPREFIX}/usr/bin:g" \
+ -e "s:^\(.*setenv CCP4I_TCLTK \).*:\1${EPREFIX}/usr/bin:g" \
+ -e "s:^\(.*export CCP4I_HELP=\).*:\1${EPREFIX}/usr/$(get_libdir)/ccp4/ccp4i/help:g" \
+ -e "s:^\(.*setenv CCP4I_HELP \).*:\1${EPREFIX}/usr/$(get_libdir)/ccp4/ccp4i/help:g" \
+ -e "s:^\(.*export CBIN=\).*:\1${EPREFIX}/usr/libexec/ccp4/bin:g" \
+ -e "s:^\(.*setenv CBIN \).*:\1${EPREFIX}/usr/libexec/ccp4/bin:g" \
+ -e "s:^\(.*export CCP4_BIN=\).*:\1${EPREFIX}/usr/libexec/ccp4/bin:g" \
+ -e "s:^\(.*setenv CCP4_BIN \).*:\1${EPREFIX}/usr/libexec/ccp4/bin:g" \
+ -e "s:^\(.*export CLIBD_MON=\).*:\1${EPREFIX}/usr/share/ccp4/data/monomers/:g" \
+ -e "s:^\(.*setenv CLIBD_MON \).*:\1${EPREFIX}/usr/share/ccp4/data/monomers/:g" \
+ -e "s:^\(.*export CLIBD=\).*:\1${EPREFIX}/usr/share/ccp4/data:g" \
+ -e "s:^\(.*setenv CLIBD \).*:\1${EPREFIX}/usr/share/ccp4/data:g" \
+ -e "s:^\(.*export CCP4_LIB=\).*:\1${EPREFIX}/usr/$(get_libdir):g" \
+ -e "s:^\(.*setenv CCP4_LIB \).*:\1${EPREFIX}/usr/$(get_libdir):g" \
+ -e "s:^\(.*export CCP4_BROWSER=\).*:\1firefox:g" \
+ -e "s:^\(.*setenv CCP4_BROWSER \).*:\1firefox:g" \
+ -e "s:^\(.*export MANPATH=\).*:\1\${MANPATH}:g" \
+ -e "s:^\(.*setenv MANPATH \).*:\1\${MANPATH}:g" \
+ -e "s:^\(.*export DBCCP4I_TOP=\).*:\1${EPREFIX}/usr/share/ccp4/dbccp4i:g" \
+ -e "s:^\(.*setenv DBCCP4I_TOP \).*:\1${EPREFIX}/usr/share/ccp4/dbccp4i:g" \
+ -e "s:^\(.*export MOLREPLIB=\).*:\1${EPREFIX}/usr/share/ccp4/data/monomers/:g" \
+ -e "s:^\(.*setenv MOLREPLIB \).*:\1${EPREFIX}/usr/share/ccp4/data/monomers/:g" \
+ -e "s:^\(.*export CDOC=\).*:\1${EPREFIX}/usr/share/doc:g" \
+ -e "s:^\(.*setenv CDOC \).*:\1${EPREFIX}/usr/share/doc:g" \
+ -e "s:^\(.*export CEXAM=\).*:\1${EPREFIX}/usr/share/doc/examples:g" \
+ -e "s:^\(.*setenv CEXAM \).*:\1${EPREFIX}/usr/share/doc/examples:g" \
+ -e "s:^\(.*export CINCL=\).*:\1${EPREFIX}/usr/share/ccp4/include:g" \
+ -e "s:^\(.*setenv CINCL \).*:\1${EPREFIX}/usr/share/ccp4/include:g" \
+ -e "s:\$CLIB/font84.dat:\"${EPREFIX}/usr/$(get_libdir)/font84.dat\":g" \
+ -e "s:\$CLIB/cif_mmdic.lib:\"${EPREFIX}/usr/$(get_libdir)/cif_mmdic.lib\":g" \
+ -e '/# .*LD_LIBRARY_PATH specifies/,/^$/d' \
+ -e '/CLIB=/d' \
+ -e '/CLIB /d' \
+ -e '/CLIBS=/d' \
+ -e '/CLIBS /d' \
+ -e "/alias/d" \
+ -e "/CCP4_HELPDIR/d" \
+ -e "/IMOSFLM_VERSION/d" \
+ -i "${S}"/include/ccp4.setup* || die
+
+ # Don't check for updates on every sourcing of /etc/profile
+ sed -i \
+ -e "s:\(eval python.*\):#\1:g" \
+ "${S}"/include/ccp4.setup* || die
+
+ # Libs
+ for file in "${S}"/lib/*; do
+ if [[ -d ${file} ]]; then
+ continue
+ elif [[ -x ${file} ]]; then
+ dolib.so ${file}
+ else
+ insinto /usr/$(get_libdir)
+ doins ${file}
+ fi
+ done
+
+ prune_libtool_files
+
+ sed \
+ -e 's:test "LD_LIBRARY_PATH":test "$LD_LIBRARY_PATH":g' \
+ -i "${S}"/include/ccp4.setup-sh || die
+
+ if ! use minimal; then
+ # Setup scripts
+ insinto /etc/profile.d
+ newins "${S}"/include/ccp4.setup-csh 40ccp4.setup.csh
+ newins "${S}"/include/ccp4.setup-sh 40ccp4.setup.sh
+
+ # Data
+ insinto /usr/share/ccp4/data/
+ doins -r "${S}"/lib/data/{*.PARM,*.prt,*.lib,*.dic,*.idl,*.cif,*.resource,*.york,*.hist,fraglib,reference_structures}
+
+ # Environment files, setup scripts, etc.
+ rm -rf "${S}"/include/{ccp4.setup*,COPYING,cpp_c_headers} || die
+ insinto /usr/share/ccp4/
+ doins -r "${S}"/include
+ fi
+
+ rm -f "${S}"/include/ccp4.setup* || die
+
+ dodoc "${S}"/lib/data/*.doc
+ newdoc "${S}"/lib/data/README DATA-README
+}
+
+pkg_postinst() {
+ einfo "The Web browser defaults to firefox. Change CCP4_BROWSER"
+ einfo "in ${EPREFIX}/etc/profile.d/40ccp4.setup* to modify this."
+}
+
+# Epatch wrapper for bulk patching
+ccp_patch() {
+ EPATCH_SINGLE_MSG=" ${1##*/} ..." epatch ${1}
+}
diff --git a/sci-libs/ccp4-libs/files/6.0.2-ppc-double-define-gerror.patch b/sci-libs/ccp4-libs/files/6.0.2-ppc-double-define-gerror.patch
new file mode 100644
index 000000000000..a77d9494a05c
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.0.2-ppc-double-define-gerror.patch
@@ -0,0 +1,11 @@
+--- ccp4-6.0.1.orig/lib/src/library_f.c 2006-06-12 07:06:22.000000000 -0700
++++ ccp4-6.0.1/lib/src/library_f.c 2006-06-12 07:21:56.000000000 -0700
+@@ -716,7 +716,7 @@
+
+ #endif /* end of apple xlf support */
+
+-#if ( defined (__linux__) && defined (_CALL_SYSV) )
++#if ( defined (__linux__) && defined (_CALL_SYSV) && ! defined(G95) && ! defined (GFORTRAN) )
+ /* linuxppc xlf support */
+ void gerror_ (str, Lstr)
+ char *str;
diff --git a/sci-libs/ccp4-libs/files/6.1.3-cbf.patch b/sci-libs/ccp4-libs/files/6.1.3-cbf.patch
new file mode 100644
index 000000000000..6930fcad766a
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-cbf.patch
@@ -0,0 +1,16 @@
+ lib/DiffractionImage/DiffractionImageCBF.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/lib/DiffractionImage/DiffractionImageCBF.cpp b/lib/DiffractionImage/DiffractionImageCBF.cpp
+index 69b32b0..3ffee26 100755
+--- a/lib/DiffractionImage/DiffractionImageCBF.cpp
++++ b/lib/DiffractionImage/DiffractionImageCBF.cpp
+@@ -62,7 +62,7 @@ namespace DI
+ int* tmpimg;
+ tmpimg=new int[height*width];
+ test= cbf_decompress_byte_offset ((void *)tmpimg,sizeof(int),sign,
+- nelements,&nread,0,32,sign,ccbbff,0,
++ nelements,&nread,0,0,32,sign,ccbbff,0,
+ byte_ord.c_str(),2,(size_t) width,
+ (size_t) height,1,(size_t) padding);
+ for(int i=0;i<height*width;i++)
diff --git a/sci-libs/ccp4-libs/files/6.1.3-ccif-shared.patch b/sci-libs/ccp4-libs/files/6.1.3-ccif-shared.patch
new file mode 100644
index 000000000000..ca18d75bc840
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-ccif-shared.patch
@@ -0,0 +1,33 @@
+--- configure 2009-08-04 22:35:34.000000000 +0200
++++ configure.new 2009-08-04 22:54:32.000000000 +0200
+@@ -3136,8 +3136,8 @@
+ fi
+ ( touch /tmp/$$.cache_file 2>/dev/null && \
+ cat /dev/null > /tmp/$$.cache_file && \
+- ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif --cache-file=/tmp/$$.cache_file ) || \
+- ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif
++ ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif --cache-file=/tmp/$$.cache_file --enable-shared-lib ) || \
++ ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif --enable-shared-lib
+ rm -f /tmp/$$.cache_file
+ if [ "X$LIBFOPTIM" != "X" ]; then
+ FOPTIM=$FOPTIM_save
+--- lib/ccif/configure 2009-08-04 22:35:37.000000000 +0200
++++ lib/ccif/configure.new 2009-08-04 23:05:44.000000000 +0200
+@@ -5568,7 +5568,7 @@
+ enable_shared_lib=no
+ ;;
+
+- i?86-unknown-linux | i?86-pc-linux-gnu )
++ i?86-unknown-linux | i?86-pc-linux-gnu | x86_64-unknown-linux-gnu)
+ if test $enable_shared_lib = yes ; then
+
+ SO_LOC_VAR='LD_LIBRARY_PATH'
+@@ -5585,7 +5585,7 @@
+ else
+ SHARED_LIB_PATH='LD_LIBRARY_PATH=`pwd`'
+ fi
+- SHARED_LIB_CMD='$(CC) $(SHARED_LIB_FLAGS) -shared -Wl,-soname -Wl,$(SHARED_LIB_NAME) '"$SHARED_LIB_RESTRICT"' ${LOBJS} $(RX_LFLAG) -o $(SHARED_LIB_NAME)'
++ SHARED_LIB_CMD='$(CC) $(SHARED_LIB_FLAGS) -shared -Wl,-soname -Wl,$(SHARED_LIB_NAME) '"$SHARED_LIB_RESTRICT"' ${LOBJS} $(RX_LFLAG) -o $(SHARED_LIB_NAME) -lm'
+ # SHARED_LIB_EXPORTS_CMD='cp libccif-universal-ld.lis $(SHARED_LIB_EXPORTS)'
+ SHARED_LIB_EXPORTS_CMD=''
+ fi
diff --git a/sci-libs/ccp4-libs/files/6.1.3-dont-build-mmdb.patch b/sci-libs/ccp4-libs/files/6.1.3-dont-build-mmdb.patch
new file mode 100644
index 000000000000..b3147ad81bbf
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-dont-build-mmdb.patch
@@ -0,0 +1,24 @@
+diff --git a/lib/src/Makefile.in b/lib/src/Makefile.in
+index c23f488..b32dd1e 100755
+--- a/lib/src/Makefile.in
++++ b/lib/src/Makefile.in
+@@ -176,7 +176,7 @@ $(mmdbsrcdir)/mmdb_sbase0.h $(mmdbsrcdir)/hybrid_36.h
+
+ ##### Makefile targets ######
+
+-all: fsplit $(LMMDB) $(LC) $(LF) $(SCRIPT_MODULES)
++all: fsplit $(LC) $(LF) $(SCRIPT_MODULES)
+ # maybe create shared library
+ $(SHARE_LIB)
+
+@@ -717,10 +717,8 @@ uninstall-mmdbHEADERS:
+ done
+
+ install : all install-ccp4HEADERS install-mmdbHEADERS
+- $(INSTALL_DATA) `pwd`/$(LMMDB) $(libdir)/$(LMMDB)
+ $(INSTALL_DATA) `pwd`/$(LC) $(libdir)/$(LC)
+ $(INSTALL_DATA) `pwd`/$(LF) $(libdir)/$(LF)
+- $(RANLIB) $(libdir)/$(LMMDB)
+ $(RANLIB) $(libdir)/$(LC)
+ $(RANLIB) $(libdir)/$(LF)
+ $(SHARE_INST)
diff --git a/sci-libs/ccp4-libs/files/6.1.3-dont-make-dirs-in-configure.patch b/sci-libs/ccp4-libs/files/6.1.3-dont-make-dirs-in-configure.patch
new file mode 100644
index 000000000000..583697cea0a1
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-dont-make-dirs-in-configure.patch
@@ -0,0 +1,87 @@
+--- ccp4-6.0.99e.orig/configure 2008-07-31 10:37:22.000000000 -0700
++++ ccp4-6.0.99e/configure 2008-07-31 10:39:18.000000000 -0700
+@@ -643,45 +643,45 @@
+ # echo "! Beware -- the $system installation isn't properly tested." ; }
+ syswarn='echo; echo "! Beware -- the $system installation is not properly tested."'
+
+-if test -z "$onlylibs" ; then
+- for i in CCP4_SCR BINSORT_SCR; do
+- if ( eval test -d \$$i || eval mkdir -p \$$i ) ; then :
+- else
+- eval echo "! No directory \$$i and can\'t create it."
+- echo " Check the value of $i."
+- badvar=1
+- fi
+- done
+-
+- for i in libdir bindir includedir; do
+- if ( eval test -d \$$i || eval mkdir -p \$$i ) ; then :
+- else
+- eval echo "! No directory \$$i and can\'t create it."
+- echo " Check the argument of --$i."
+- badvar=1
+- fi
+- done
+-
+- for i in $dotsrc $dotunsupp $dotunsuppsrc $dotdeprec $dotdeprecsrc ./lib ./lib/src ./lib/data ./ccp4i/etc/unix $mosflmdir/lib $mosflmdir/bin $mosflmdir/cbf/lib ; do
+- if test -d $i || mkdir $i; then :
+- else
+- eval echo "! No directory $i and can\'t create it."
+- badvar=1
+- fi
+- done
+-else
+- # Kludge to fool the "Makefile" target in the top-level CCP4
+- # Makefile into not trying to remake src/Makefile.in
+- for i in $srcdir/src $srcdir/lib/src ; do
+- if test -d $i || mkdir $i; then
+- if ! test -f $i/Makefile.in ; then
+- echo
+- echo "onlylibs: making dummy file $i/Makefile.in"
+- touch $i/Makefile.in
+- fi
+- fi
+- done
+-fi
++#if test -z "$onlylibs" ; then
++# for i in CCP4_SCR BINSORT_SCR; do
++# if ( eval test -d \$$i || eval mkdir -p \$$i ) ; then :
++# else
++# eval echo "! No directory \$$i and can\'t create it."
++# echo " Check the value of $i."
++# badvar=1
++# fi
++# done
++#
++# for i in libdir bindir includedir; do
++# if ( eval test -d \$$i || eval mkdir -p \$$i ) ; then :
++# else
++# eval echo "! No directory \$$i and can\'t create it."
++# echo " Check the argument of --$i."
++# badvar=1
++# fi
++# done
++#
++# for i in $dotsrc $dotunsupp $dotunsuppsrc $dotdeprec $dotdeprecsrc ./lib ./lib/src ./lib/data ./ccp4i/etc/unix $mosflmdir/lib $mosflmdir/bin $mosflmdir/cbf/lib ; do
++# if test -d $i || mkdir $i; then :
++# else
++# eval echo "! No directory $i and can\'t create it."
++# badvar=1
++# fi
++# done
++#else
++# # Kludge to fool the "Makefile" target in the top-level CCP4
++# # Makefile into not trying to remake src/Makefile.in
++# for i in $srcdir/src $srcdir/lib/src ; do
++# if test -d $i || mkdir $i; then
++# if ! test -f $i/Makefile.in ; then
++# echo
++# echo "onlylibs: making dummy file $i/Makefile.in"
++# touch $i/Makefile.in
++# fi
++# fi
++# done
++#fi
+
+ ### sanity checks
+
diff --git a/sci-libs/ccp4-libs/files/6.1.3-glibc2.10.patch b/sci-libs/ccp4-libs/files/6.1.3-glibc2.10.patch
new file mode 100644
index 000000000000..6e3997647955
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-glibc2.10.patch
@@ -0,0 +1,22 @@
+--- lib/ccif/configure.in 2009-06-10 13:52:59.000000000 +0200
++++ lib/ccif/configure.in.new 2009-06-10 14:04:31.000000000 +0200
+@@ -363,7 +363,7 @@
+ fi
+ SHARED_LIB_CMD='$(LD) $(SHARED_LIB_FLAGS) -shared -soname $(SHARED_LIB_NAME) \\\
+ --whole-archive '"$SHARED_LIB_RESTRICT"' $L \\\
+- $(RX_LFLAG) -o $(SHARED_LIB_NAME)'
++ $(RX_LFLAG) -o $(SHARED_LIB_NAME) -lm'
+ SHARED_LIB_EXPORTS_CMD='cp libccif-universal-ld.lis $(SHARED_LIB_EXPORTS)'
+ fi
+ ;;
+--- lib/ccif/configure 2009-06-10 14:26:58.000000000 +0200
++++ lib/ccif/configure.new 2009-06-10 14:43:31.000000000 +0200
+@@ -1807,7 +1807,7 @@
+ SHARED_LIB_CMD='$(LD) $(SHARED_LIB_CFLAGS) -shared -soname \\\
+ $(SHARED_LIB_NAME) \\\
+ --whole-archive $L \\\
+- -o $(SHARED_LIB_NAME)'
++ -o $(SHARED_LIB_NAME) -lm'
+ SHARED_LIB_EXPORTS_CMD=''
+ fi
+ ;;
diff --git a/sci-libs/ccp4-libs/files/6.1.3-impl-dec.patch b/sci-libs/ccp4-libs/files/6.1.3-impl-dec.patch
new file mode 100644
index 000000000000..8bfa7db8cbff
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-impl-dec.patch
@@ -0,0 +1,140 @@
+diff --git a/lib/DiffractionImage/Bruker/FRM_LIB.c b/lib/DiffractionImage/Bruker/FRM_LIB.c
+index bfda882..f821e04 100755
+--- a/lib/DiffractionImage/Bruker/FRM_LIB.c
++++ b/lib/DiffractionImage/Bruker/FRM_LIB.c
+@@ -38,6 +38,8 @@ FRM_LIB: Routines for reading, writing, and handling frame files.
+ #include "sys/types.h" /* _open, etc. */
+ #include "sys/stat.h" /* _open, etc. */
+
++#include <unistd.h>
++
+ #ifndef _MSC_VER
+ int min(int a, int b)
+ {
+diff --git a/lib/DiffractionImage/MAR/mar300_header.c b/lib/DiffractionImage/MAR/mar300_header.c
+index 1a933de..1c40c32 100755
+--- a/lib/DiffractionImage/MAR/mar300_header.c
++++ b/lib/DiffractionImage/MAR/mar300_header.c
+@@ -23,6 +23,9 @@
+ */
+ #include "mar300_header.h"
+
++#include <sys/types.h>
++#include <unistd.h>
++
+ /*
+ * Local functions
+ */
+diff --git a/lib/DiffractionImage/MAR/mar345_header.c b/lib/DiffractionImage/MAR/mar345_header.c
+index a8351ea..16d0f7b 100755
+--- a/lib/DiffractionImage/MAR/mar345_header.c
++++ b/lib/DiffractionImage/MAR/mar345_header.c
+@@ -32,6 +32,9 @@
+ */
+ #include "mar345_header.h"
+
++#include <sys/types.h>
++#include <unistd.h>
++
+ /*
+ * Definitions
+ */
+diff --git a/lib/DiffractionImage/MAR/nb_header.c b/lib/DiffractionImage/MAR/nb_header.c
+index 07f2741..6364ca4 100755
+--- a/lib/DiffractionImage/MAR/nb_header.c
++++ b/lib/DiffractionImage/MAR/nb_header.c
+@@ -20,6 +20,8 @@
+ #include <io.h>
+ #endif
+
++#include <sys/types.h>
++#include <unistd.h>
+ /*
+ * mar software include files
+ */
+diff --git a/lib/DiffractionImage/MAR/swap.c b/lib/DiffractionImage/MAR/swap.c
+index 443bb8c..0d96b3f 100755
+--- a/lib/DiffractionImage/MAR/swap.c
++++ b/lib/DiffractionImage/MAR/swap.c
+@@ -10,6 +10,9 @@
+ *
+ **********************************************************************/
+
++#define _XOPEN_SOURCE
++#include <unistd.h>
++
+ void swaplong();
+ void swapshort();
+
+diff --git a/lib/ccif/f_interface.c b/lib/ccif/f_interface.c
+index 0f6a6b7..a09dc48 100755
+--- a/lib/ccif/f_interface.c
++++ b/lib/ccif/f_interface.c
+@@ -25,6 +25,7 @@
+ ********************************************************************/
+
+ #include "stdpccts.h"
++#include <sys/mman.h>
+
+ /* This file is terribly organised, and badly needs re-doing. There is probably
+ * scope for splitting this into three modules:
+diff --git a/lib/src/ccp4_general_f.c b/lib/src/ccp4_general_f.c
+index 8b5d04f..74ee3f7 100755
+--- a/lib/src/ccp4_general_f.c
++++ b/lib/src/ccp4_general_f.c
+@@ -26,6 +26,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <math.h>
++#include <time.h>
+ #include "ccp4_errno.h"
+ #include "ccp4_fortran.h"
+ #include "ccp4_parser.h"
+diff --git a/lib/src/ccp4_program.c b/lib/src/ccp4_program.c
+index 3e83d4d..bb3e975 100755
+--- a/lib/src/ccp4_program.c
++++ b/lib/src/ccp4_program.c
+@@ -25,6 +25,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <time.h>
+ #include "ccp4_program.h"
+ #include "ccp4_parser.h"
+ #include "ccp4_utils.h"
+diff --git a/lib/src/fsplit.c b/lib/src/fsplit.c
+index ee8af24..c6fb3cd 100755
+--- a/lib/src/fsplit.c
++++ b/lib/src/fsplit.c
+@@ -50,6 +50,7 @@ static char sccsid[] = "@(#)fsplit.c 5.5 (Berkeley) 3/12/91";
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <unistd.h>
+
+ /*
+ * usage: fsplit [-e efile] ... [file]
+diff --git a/src/clipper_progs/src/pirate/compress42.c b/src/clipper_progs/src/pirate/compress42.c
+index ea52e96..30dbd56 100755
+--- a/src/clipper_progs/src/pirate/compress42.c
++++ b/src/clipper_progs/src/pirate/compress42.c
+@@ -142,6 +142,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <errno.h>
++#include <unistd.h>
+
+ #ifdef DIRENT
+ # include <dirent.h>
+diff --git a/src/mtz2cif_/mtz2cif.c b/src/mtz2cif_/mtz2cif.c
+index e224430..c7b82f4 100755
+--- a/src/mtz2cif_/mtz2cif.c
++++ b/src/mtz2cif_/mtz2cif.c
+@@ -28,6 +28,7 @@
+ #include "cmtzlib.h"
+ #include "ccp4_parser.h"
+ #include "ccp4_general.h"
++#include "ccp4_program.h"
+ #include "csymlib.h"
+ #include "mtz2cif_lib.h"
+
diff --git a/sci-libs/ccp4-libs/files/6.1.3-lapack.patch b/sci-libs/ccp4-libs/files/6.1.3-lapack.patch
new file mode 100644
index 000000000000..0463b3719525
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-lapack.patch
@@ -0,0 +1,597 @@
+diff --git a/configure b/configure
+index 833f483..bcfa62d 100755
+--- a/configure
++++ b/configure
+@@ -3226,574 +3226,14 @@ else
+ echo
+ echo "Warning: this option has not been extensively tested!"
+ echo "Please report problems to ccp4@ccp4.ac.uk"
+- # Search for vendor LAPACK/BLAS first
+- if test ! "$with_netlib_lapack" ; then
+- # Initialise variables to blank
+- lapackdir=
+- XLAPACK_LIB=
+- # Possible directories to check for vendor or pre-existing LAPACK or
+- # BLAS - add to these if you want to test others
+- trydirs="`echo $LD_LIBRARY_PATH |sed -e s/:/\ /g` /lib /usr/lib /usr/local/lib"
+- # Possible library names
+- # These are the names like xxxx where the library will be libxxxx.a
+- # or libxxxx.so
+- echo
+- echo "Guessing names for native/vendor LAPACK and/or BLAS libraries"
+- echo "on this system"
+- case $system in
+- linux | linux64 | linux32 )
+- # linux users will usually have them in /usr/lib but don't call it
+- trylapack="lapack"
+- tryblas="blas"
+- # if code is non_shared then this can lead to problems. both blas and lapack
+- # need to be resolved even if they are not called!
+- if test "$non_shared" = yes; then
+- echo "You are compiling linux non_shared. This sometimes causes problems "
+- echo " so checking for requirements."
+- echo "Checking: try to link library against test program"
+- if test -f testlink.f || test -f testlink ; then
+- rm -f testlink*
+- fi
+- cat > testlink.f <<EOF
+- PROGRAM TESTLINK
+-C A bit of scala code to test the linking
+- real bf(3), bnorm
+-c
+- integer maxbmt
+- parameter (maxbmt = 2)
+- double precision B(maxbmt,maxbmt), eigval(maxbmt),
+- $ eigvec(maxbmt,maxbmt), w(5*maxbmt)
+- integer m, ia, ix, istat
+-c
+- B(1,1) = 1.00
+- B(1,2) = 1.00
+- B(2,1) = 1.00
+- B(2,2) = 1.00
+-c
+- m = maxbmt
+- ia = maxbmt
+- ix = maxbmt
+- call dsyev('N', 'L', m, B, ia, eigval, w, 5*maxbmt, istat)
+- end
+-EOF
+- #firstly test without -lblas
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -llapack"
+- echo $test_compile
+- if { (eval $test_compile >& /dev/null ) 2>&1; } && test -s testlink ; then
+- # Compilation was okay
+- echo "... only -llapack needed"
+- XLAPACK_LIB="-llapack"
+- # Set the next two variables so that configure
+- # doesn't try to build netlib libraries
+- LAPACKLIB="lapack"
+- noblas=yes
+- trylapack=
+- tryblas=
+- else
+- echo "more than just -llapack needed...."
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -llapack -lblas"
+- echo $test_compile
+- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
+- # Compilation was okay
+- echo "...-llapack and -lblas were needed"
+- XLAPACK_LIB="-llapack -lblas"
+- # Set the next two variables so that configure
+- # doesn't try to build netlib libraries
+- LAPACKLIB="lapack blas"
+- noblas=no
+- trylapack=
+- tryblas=
+- else
+- echo "....could not find either lapack or blas."
+- fi
+- fi
+- fi
+- # add 64 bit libs
+- case $system in
+- linux64 ) trydirs="/usr/lib64 ${trydirs}" ;;
+- esac
+-
+- ;;
+- osf1)
+- # OSF1 has dxml (old version) and cxml
+- # which should have both lapack and blas
+- trylapack="dxml cxml"
+- tryblas=
+- trydirs="${trydirs} /usr/shlib"
+- ;;
+- irix)
+- # Additional search paths for IRIX
+- trydirs="${trydirs} /usr/lib32"
+- # SCSL should have both LAPACK and BLAS
+- trylapack="scs"
+- tryblas="blas"
+- ;;
+- irix64)
+- # Additional search paths for IRIX64
+- trydirs="${trydirs} /usr/lib64"
+- # SCSL should have both LAPACK and BLAS
+- trylapack="scs"
+- tryblas="blas"
+- # Extra compiler flags?
+- #XLAPACKFLAGS="-OPT:IEEE_NaN_inf=ON"
+- ;;
+- aix)
+- # Additional search paths for AIX
+- trydirs="${trydirs}"
+- # AIX might have ESSL library - blas only I think
+- trylapack=
+- tryblas="essl"
+- ;;
+- hpux)
+- # Additional search paths for HPUX
+- trydirs="${trydirs} /opt/fortran/lib /opt/fortran/lib/pa2.0 /opt/mlib/lib/pa2.0"
+- # HPUX should have both LAPACK (part of mlib) and BLAS
+- trylapack="lapack"
+- tryblas="blas"
+- # Extra compiler flags?
+- # +U77 required for ETIME function - this is already in XFFLAGS
+- #XLAPACKFLAGS="+U77"
+- ;;
+-
+- sunos | sunos64)
+- # Sun has libraries with BLAS and LAPACK invoked using
+- # -xlic_lib=sunperf
+- trylapack=
+- tryblas=
+- echo "SunOs can use the Sun Performance Library (if installed)"
+- echo "which has both BLAS and LAPACK 3.0"
+- echo
+- echo "Looking for a valid library to use..."
+- echo
+- # Loop over the possible library names
+- try_libs="sunperf"
+- for testlib in $try_libs
+- do
+- if test ! "$XLAPACK_LIB" ; then
+- # Try running a test compile to see if this a valid library
+- if test -f testlink.f || test -f testlink ; then
+- rm -f testlink*
+- fi
+- cat > testlink.f <<EOF
+-c Test fortran program to link against library
+- PROGRAM TESTLINK
+- IMPLICIT NONE
+- INTEGER A
+- A = 1
+- STOP
+- END
+-EOF
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -dalign -xlic_lib=$testlib"
+- echo $test_compile
+- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
+- # Compilation was okay
+- echo "... -xlic_lib=$testlib is okay"
+- XLAPACK_LIB="-dalign -xlic_lib=$testlib"
+- # Set the next two variables so that configure
+- # doesn't try to build netlib libraries
+- LAPACKLIB="$testlib"
+- noblas=yes
+- else
+- # Compilation failed
+- echo "... cannot use -xlic_lib=$testlib"
+- fi
+- # End of test for testlib
+- fi
+- # End of loop over possible lib names
+- done
+- # Report if no suitable library was found
+- if test ! "$XLAPACK_LIB" ; then
+- echo
+- echo "No suitable LAPACK library was found."
+- echo "This may be because the Sun Performance Library is not"
+- echo "installed on your system"
+- echo "Contact your system administrator or Sun vendor"
+- fi
+- ;;
+- Darwin | Darwin32 | Darwin64 )
+- # Darwin has libraries with BLAS and LAPACK invoked using
+- # -framework vecLib
+- echo "Darwin can use the vecLib Library (if installed)"
+- echo "which has both BLAS and LAPACK 3.0"
+- echo
+- # This is a special case so try running a test compile
+- echo "Checking: try to link library against test program"
+- if test -f testlink.f || test -f testlink ; then
+- rm -f testlink*
+- fi
+- cat > testlink.f <<EOF
+-c Test fortran program to link against library
+- PROGRAM TESTLINK
+- IMPLICIT NONE
+- INTEGER A
+- A = 1
+- STOP
+- END
+-EOF
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -framework vecLib"
+- echo $test_compile
+- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
+- # Compilation was okay
+- echo "... -framework vecLib is okay"
+- XLAPACK_LIB="-framework vecLib"
+- # Set the next two variables so that configure
+- # doesn't try to build netlib libraries
+- LAPACKLIB="vecLib"
+- noblas=yes
+- else
+-#alternative linking for vecLib libraries
+- case `uname -sr` in
+- *Darwin\ 7.* ) test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -lcc_dynamic -Wl,-framework -Wl,vecLib" ;;
+- * ) test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -Wl,-framework -Wl,vecLib" ;;
+- esac
+-
+- echo $test_compile
+- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
+- # Compilation was okay
+- echo "... -framework vecLib is okay"
+- XLAPACK_LIB="-Wl,-framework -Wl,vecLib"
+- # Set the next two variables so that configure
+- # doesn't try to build netlib libraries
+- LAPACKLIB="-Wl,-framework -Wl,vecLib"
+- noblas=yes
+- else
+- # Compilation failed
+- echo "... cannot use -framework vecLib"
+- echo
+- fi
+- fi
+- trylapack=
+- tryblas=
+-# try the fink installation
+- trydirs="${trydirs} /sw"
+- ;;
+- Darwin_ibm_compilers )
+- # Darwin has libraries with BLAS and LAPACK invoked using
+- # -framework vecLib
+- echo "Darwin can use the vecLib Library (if installed)"
+- echo "which has both BLAS and LAPACK 3.0"
+- echo
+- # This is a special case so try running a test compile
+- echo "Checking: try to link library against test program"
+- if test -f testlink.f || test -f testlink ; then
+- rm -f testlink*
+- fi
+- cat > testlink.f <<EOF
+-c Test fortran program to link against library
+- PROGRAM TESTLINK
+- IMPLICIT NONE
+- INTEGER A
+- A = 1
+- STOP
+- END
+-EOF
+- case `uname -sr` in
+- Darwin\ 8* )
+- XLAPACK_LIB="-L/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A -lLAPACK -lBLAS"
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f $XLAPACK_LIB"
+- ;;
+- Darwin\ 7* )
+- XLAPACK_LIB="-L/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A -lLAPACK -lBLAS"
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -lcc_dynamic $XLAPACK_LIB"
+- ;;
+- *)
+- XLAPACK_LIB="/System/Library/Frameworks/vecLib.Framework/Versions/Current/VecLib"
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f $XLAPACK_LIB"
+- esac
+- echo $test_compile
+- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
+- # Compilation was okay
+- echo "... -framework vecLib is okay"
+- # Set the next two variables so that configure
+- # doesn't try to build netlib libraries
+- LAPACKLIB="vecLib"
+- noblas=yes
+- else
+- # Compilation failed
+- XLAPACK_LIB=""
+- echo "... cannot use -framework vecLib"
+- echo
+- fi
+- trylapack=
+- tryblas=
+-# try the fink installation
+- trydirs="${trydirs} /sw"
+- ;;
+-
+- Darwin_intel_compilers)
+- # Darwin has libraries with BLAS and LAPACK invoked using
+- # -F vecLib
+- echo "Darwin can use the vecLib Library (if installed)"
+- echo "which has both BLAS and LAPACK 3.0"
+- echo
+- # This is a special case so try running a test compile
+- echo "Checking: try to link library against test program"
+- if test -f testlink.f || test -f testlink ; then
+- rm -f testlink*
+- fi
+- cat > testlink.f <<EOF
+-c Test fortran program to link against library
+- PROGRAM TESTLINK
+- IMPLICIT NONE
+- INTEGER A
+- A = 1
+- STOP
+- END
+-EOF
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -Wl,-framework -Wl,vecLib"
+- echo $test_compile
+- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
+- # Compilation was okay
+- # doesn't try to build netlib libraries
+- XLAPACK_LIB="-F /System/Library/Frameworks -Qoption,ld,-framework -Qoption,ld,vecLib"
+- LAPACKLIB="vecLib"
+- noblas=yes
+- else
+- # Compilation failed
+- echo "... cannot use -framework vecLib"
+- echo
+- fi
+- trylapack=
+- tryblas=
+-# try the fink installation
+- trydirs="${trydirs} /sw"
+- ;;
+-
+-# linux_ia64_sgi_altix)
+-# SGI Japan
+- ia64_linux_intel)
+- # Additional search paths for Linux/IA64
+- trydirs="${trydirs} /opt/scsl/lib /usr/lib /usr/local/lib"
+- # SCSL and MKL should have both LAPACK and BLAS
+- trylapack="mkl_lapack scs lapack"
+- tryblas="mkl scs blas"
+- ;;
+- linux_ibm_compilers )
+- trylapack="lapack"
+- tryblas="blas"
+- ;;
+- linux64_ibm_compilers )
+- trydirs="/usr/lib64 ${trydirs}"
+- trylapack="lapack"
+- tryblas="blas"
+- ;;
+- linux_intel_compilers )
+- trydirs="/usr/lib64 ${trydirs}"
+- trylapack="mkl_lapack lapack"
+- tryblas="mkl blas"
+- ;;
+- *)
+- echo "The guesses for this system may not be correct - please"
+- echo "e-mail ccp4@ccp4.ac.uk if you have any extra information"
+- echo
+- # Default guess is just libblas
+- trylapack="lapack"
+- tryblas="blas"
+- ;;
+- esac
+- #
+- # Search for LAPACK libraries
+- #
+- # Write out what the guesses are
+- if test "$trylapack" ; then
+- echo "Possible LAPACK library names for this system:"
+- for libname in $trylapack
+- do
+- echo " lib$libname"
+- done
+- # Possible library name extensions
+- tryexts="a so dylib"
+- # Now loop over all the possibilities and see if anything
+- # turns up
+- echo
+- echo "Searching for libraries with LAPACK and BLAS:"
+- for testdir in $trydirs
+- do
+- for testlib in $trylapack
+- do
+- for ext in $tryexts
+- do
+- if test ! "$LAPACKLIB"; then
+- if test -s "$testdir/lib$testlib.$ext" ; then
+- echo "...found LAPACK library: $testdir/lib$testlib.$ext"
+- # Now try and link to a test program
+- # This is really for IRIX where libraries can be
+- # o32 or n32
+- echo " Testing: try to link library against test program"
+- if test -f testlink.f || test -f testlink ; then
+- rm -f testlink*
+- fi
+- cat > testlink.f <<EOF
+-c Test fortran program to link against library
+- PROGRAM TESTLINK
+- IMPLICIT NONE
+- INTEGER A
+- A = 1
+- STOP
+- END
+-EOF
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib"
+- test_ccompile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib $XLDFLAGS"
+- echo $test_compile
+- if { (eval $test_compile ) 2>&1; } && test -s testlink ; then
+- have_lapack=yes
+- else
+-# cover clapack option
+- echo $test_ccompile
+- if { (eval $test_ccompile ) 2>&1; } && test -s testlink ; then
+- have_lapack=yes
+- fi
+- fi
+- if test x$have_lapack = xyes ; then
+- # This one is okay
+- LAPACKLIB="$testlib"
+- LAPACKDIR="$testdir"
+- echo "Link ok - using lib$LAPACKLIB from $LAPACKDIR"
+- #
+- XLAPACK_LIB="-L$LAPACKDIR -l$LAPACKLIB"
+- #
+- # Test to see if we need BLAS too
+- # Do this by trying to compile a test program
+- # Use the LSAME test for now
+- echo
+- echo " * Checking whether we need a separate BLAS library *"
+- echo " Testing: try linking library against test program"
+- cd lib/lapack/test
+- if test -f testlsame ; then
+- rm -f testsame testlsame.o
+- fi
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlsame lsametst.f -L$LAPACKDIR -l$LAPACKLIB"
+- test_ccompile="$FC $FOPTIM $XFFLAGS -o testlsame lsametst.f -L$LAPACKDIR -l$LAPACKLIB $XLDFLAGS"
+- echo $test_compile
+- if { ( eval $test_compile) 2>&1;} && test -s testlsame ; then
+- have_blas=yes
+- else
+-#cblas route
+- echo $test_ccompile
+- if { ( eval $test_ccompile) 2>&1;} && test -s testlsame ; then
+- have_blas=yes
+- fi
+- fi
+- if test x$have_blas = xyes ; then
+- echo "Test program okay - additional separate BLAS not required"
+- noblas=yes
+- else
+- echo "Test program failed - need a separate BLAS library"
+- fi
+- cd ../../..
+- else
+- # Keep looking
+- echo " link failed - cannot use lib$testlib"
+- fi
+- fi
+- fi
+- done
+- done
+- if test ! "$LAPACKLIB"; then
+- echo "...nothing in $testdir"
+- fi
+- done
+- fi
+-
+- # If LAPACKLIB hasn't been set at this point then no LAPACK library
+- # was found
+- if test ! "$LAPACKLIB" ; then
+- echo
+- echo "No pre-existing LAPACK library found - NetLib LAPACK will be built instead"
+- make_lapack=lapacklib
+- fi
+- # Look for possible BLAS
+- if test ! "$noblas" ; then
+- if test "$tryblas" ; then
+- echo
+- echo "Possible BLAS library names for this system:"
+- for libname in $tryblas
+- do
+- echo " lib$libname"
+- done
+- # Possible library name extensions
+- tryexts="a so"
+- # Now loop over all the possibilities and see if anything
+- # turns up
+- echo
+- echo "Searching for libraries with BLAS:"
+- for testdir in $trydirs
+- do
+- for testlib in $tryblas
+- do
+- for ext in $tryexts
+- do
+- if test ! "$BLASLIB"; then
+- if test -s "$testdir/lib$testlib.$ext" ; then
+- echo "...found BLAS library: $testdir/lib$testlib.$ext"
+- # Now try and link to a test program
+- # This is really for IRIX where libraries can be
+- # o32 or n32
+- echo " Testing: try to link library against test program"
+- if test -f testlink.f || test -f testlink ; then
+- rm -f testlink*
+- fi
+- cat > testlink.f <<EOF
+-c Test fortran program to link against library
+- PROGRAM TESTLINK
+- IMPLICIT NONE
+- INTEGER A
+- A = 1
+- STOP
+- END
+-EOF
+- test_compile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib"
+- test_ccompile="$FC $FOPTIM $XFFLAGS -o testlink testlink.f -L$testdir -l$testlib $XLDFLAGS"
+- echo $test_compile
+- if { ( eval $test_compile) 2>&1;} && test -s testlink ; then
+- have_blas=yes
+- else
+- echo $test_ccompile
+- if { ( eval $test_compile) 2>&1;} && test -s testlink ; then
+- have_blas=yes
+- fi
+- fi
+- if test x$have_blas = xyes ; then
+- # This one is okay
+- BLASLIB="$testlib"
+- BLASDIR="$testdir"
+- BLASEXT="$ext"
+- echo "Link ok - using lib$BLASLIB from $BLASDIR"
+- XLAPACK_LIB="$XLAPACK_LIB -L$BLASDIR -l$BLASLIB"
+- else
+- # Keep looking
+- echo " link failed - cannot use lib$testlib"
+- fi
+- fi
+- fi
+- done
+- done
+- if test ! "$BLASLIB"; then
+- echo "...nothing in $testdir"
+- fi
+- done
+- fi
+- # Do we need to build BLAS too?
+- if test ! "$BLASLIB" ; then
+- echo
+- echo "No pre-existing BLAS library was found - NetLib BLAS will be built instead"
+- echo "This may result in poorer performance of the LAPACK routines"
+- make_blas=blaslib
+- BLASLIB=blas
+- BLASDIR="$srcdir/lib/lapack"
+- BLASEXT="a"
+- fi
+- fi
++ # gentoo is clever
++ make_blas=
++ make_lapack=
++ BLASLIB=$(${PKG_CONFIG} --libs lapack)
++ LAPACKLIB=$(${PKG_CONFIG} --libs lapack)
++ XLAPACK_LIB="${BLASLIB} ${LAPACKLIB}"
++ XFFLAGS_LAPACK="$(${PKG_CONFIG} --cflags lapack blas)"
+ # Otherwise force building of NetLib BLAS and LAPACK libs
+- else
+- echo
+- echo "! Force building of NetLib BLAS and LAPACK..."
+- make_blas=blaslib
+- make_lapack=lapacklib
+- BLASLIB=blas
+- BLASDIR="$srcdir/lib/lapack"
+- BLASEXT="a"
+- fi
+ # need to know if we the lapack library was linked using the C or
+ # fortran linker
+ if test -f testlink.f || test -f testlink || test -f testlink.c ; then
+@@ -3916,8 +3356,8 @@ RANLIB = ${RANLIB}
+ INSTALL_DATA = ${INSTALL_DATA}
+ libdir = $libdir
+ #
+-BLASLIB = lib${BLASLIB}.${BLASEXT}
+-LAPACKLIB = liblapack.a
++BLASLIB = ${BLASLIB}
++LAPACKLIB = ${LAPACKLIB}
+ #
+ # These variables define targets in the main Makefile
+ blaslib = ${make_blas}
diff --git a/sci-libs/ccp4-libs/files/6.1.3-link-proberly.patch b/sci-libs/ccp4-libs/files/6.1.3-link-proberly.patch
new file mode 100644
index 000000000000..24a0a2d8e4a2
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-link-proberly.patch
@@ -0,0 +1,230 @@
+--- lib/src/Makefile.in 2009-03-02 17:53:15.000000000 +0100
++++ lib/src/Makefile.in.new 2009-03-02 17:52:09.000000000 +0100
+@@ -172,9 +172,8 @@
+
+ ##### Makefile targets ######
+
+-all: fsplit $(LMMDB) $(LC) $(LF) $(SCRIPT_MODULES)
++all: fsplit $(LMMDB) LMMDB_SO $(LC) LC_SO $(LF) LF_SO $(SCRIPT_MODULES)
+ # maybe create shared library
+- $(SHARE_LIB)
+
+ $(LC) : $(CORELIBOBJS) $(CGENERALOBJS) $(CUCOBJS) $(CMTZOBJS) $(CMAPOBJS) $(CSYMOBJS)
+ $(AR) $(LC) $?
+@@ -186,6 +185,27 @@
+ $(AR) $(LF) $(FINTERFACEOBJS)
+ $(RANLIB) $@
+
++LMMDB_SO :
++ $(CC) $(COPTIM) -shared -Wl,-soname,libmmdb.so.0 -o libmmdb.so.0.0.0 \
++ $(MMDBOBJS) && \
++ ln -sf libmmdb.so.0.0.0 libmmdb.so.0 && \
++ ln -sf libmmdb.so.0.0.0 libmmdb.so
++
++LC_SO :
++ $(CC) $(COPTIM) -shared -Wl,-soname,libccp4c.so.0 -o libccp4c.so.0.0.0 \
++ $(CORELIBOBJS) $(CGENERALOBJS) $(CUCOBJS) $(CMTZOBJS) $(CMAPOBJS) $(CSYMOBJS) && \
++ ln -sf libccp4c.so.0.0.0 libccp4c.so.0 && \
++ ln -sf libccp4c.so.0.0.0 libccp4c.so
++
++LF_SO :
++ $(FC) $(FOPTIM) -shared -Wl,-soname,libccp4f.so.0 -o libccp4f.so.0.0.0 \
++ parser.dir/*.o ccplib.dir/*.o lgglib.dir/*.o plot84lib.dir/*.o \
++ libhtml.dir/*.o pxxml.dir/*.o rwbrook.dir/*.o cciflib.dir/*.o \
++ harvlib.dir/*.o keyparse.dir/*.o dna_output.dir/*.o plotsubs.dir/*.o \
++ modlib.dir/*.o fftlib.dir/*.o unix.dir/*.o pack_f.o pack_c.o $(FINTERFACEOBJS) && \
++ ln -sf libccp4f.so.0.0.0 libccp4f.so.0 && \
++ ln -sf libccp4f.so.0.0.0 libccp4f.so
++
+ # cmtz library only
+
+ cmtz: $(LCMTZ)
+@@ -339,9 +356,7 @@
+ fi
+ cd parser.dir && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f parser.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ parser : parser.o
+ $(RANLIB) $(LF)
+
+@@ -351,9 +366,7 @@
+ echo ' END' >> ccplib.dir/ccplib.$F
+ cd ccplib.dir && $(fsplit_dir)/fsplit $(srcdir)/ccplib.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f ccplib.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ ccplib : ccplib.o
+ $(RANLIB) $(LF)
+
+@@ -364,9 +377,7 @@
+ @$(SETFLAGS) ; \
+ cd lgglib.dir && $(fsplit_dir)/fsplit $(srcdir)/lgglib.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- eval $(FC) -c $${lgglib_FLAGS-"$(FFLAGS)"} $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f lgglib.dir/*.o
++ eval $(FC) -c $${lgglib_FLAGS-"$(FFLAGS)"} $(SHARED_LIB_FFLAGS) $$i; done
+ lgglib : lgglib.o
+ $(RANLIB) $(LF)
+
+@@ -376,9 +387,7 @@
+ echo ' END' >> plot84lib.dir/plot84lib.$F
+ cd plot84lib.dir && $(fsplit_dir)/fsplit $(srcdir)/plot84lib.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f plot84lib.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ plot84lib : plot84lib.o
+ $(RANLIB) $(LF)
+
+@@ -388,9 +397,7 @@
+ echo ' END' >> libhtml.dir/libhtml.$F
+ cd libhtml.dir && $(fsplit_dir)/fsplit $(srcdir)/libhtml.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f libhtml.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ libhtml : libhtml.o
+ $(RANLIB) $(LF)
+
+@@ -400,9 +407,7 @@
+ echo ' END' >> pxxml.dir/pxxml.$F
+ cd pxxml.dir && $(fsplit_dir)/fsplit $(srcdir)/pxxml.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f pxxml.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ pxxml : pxxml.o
+ $(RANLIB) $(LF)
+
+@@ -412,9 +417,7 @@
+ echo ' END' >> rwbrook.dir/rwbrook.$F
+ cd rwbrook.dir && $(fsplit_dir)/fsplit $(srcdir)/rwbrook.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f rwbrook.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ rwbrook : rwbrook.o
+ $(RANLIB) $(LF)
+
+@@ -424,9 +427,7 @@
+ echo ' END' >> cciflib.dir/cciflib.$F
+ cd cciflib.dir && $(fsplit_dir)/fsplit $(srcdir)/cciflib.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) -I$(srcdir) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f cciflib.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) -I$(srcdir) $$i; done
+ cciflib : cciflib.o
+ $(RANLIB) $(LF)
+
+@@ -440,9 +441,7 @@
+ && $(AR) ../$(LF) *.o ; else \
+ cd harvlib.dir && $(fsplit_dir)/fsplit $(srcdir)/harv_dummy.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) -I$(srcdir) $$i; done\
+- && $(AR) ../$(LF) *.o ; fi
+- rm -f harvlib.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) -I$(srcdir) $$i; done; fi
+ harvlib : harvlib.o
+ $(RANLIB) $(LF)
+
+@@ -452,9 +451,7 @@
+ echo ' END' >> keyparse.dir/keyparse.$F
+ cd keyparse.dir && $(fsplit_dir)/fsplit $(srcdir)/keyparse.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f keyparse.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ keyparse : keyparse.o
+ $(RANLIB) $(LF)
+
+@@ -464,9 +461,7 @@
+ echo ' END' >> dna_output.dir/dna_output.$F
+ cd dna_output.dir && $(fsplit_dir)/fsplit $(srcdir)/dna_output.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -I$(srcdir) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f dna_output.dir/*.o
++ $(FC) -I$(srcdir) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ dna_output : dna_output.o
+ $(RANLIB) $(LF)
+
+@@ -474,10 +469,9 @@
+ # for ipdisp. May be useful but could be moved.
+ $(LF)(pack_c.o): $(srcdir)/pack_c.c $(srcdir)/pack_c.h
+ $(CC) $(CFLAGS) $(SHARED_LIB_CFLAGS) -I$(srcdir) -c $(srcdir)/pack_c.c
+- $(AR) $(LF) pack_c.o && rm pack_c.o
++ $(AR) $(LF) pack_c.o
+ $(LF)(pack_f.o): $(srcdir)/pack_f.f
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $(srcdir)/pack_f.$(F) && $(AR) $(LF) pack_f.o \
+- && rm pack_f.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $(srcdir)/pack_f.$(F) && $(AR) $(LF) pack_f.o
+ pack: $(LF)(pack_c.o) $(LF)(pack_f.o)
+ $(RANLIB) $(LF)
+
+@@ -488,9 +482,7 @@
+ echo ' END' >> sorting_main.dir/sorting_main.$F
+ cd sorting_main.dir && $(fsplit_dir)/fsplit $(srcdir)/sorting_main.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f sorting_main.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ sorting_main : sorting_main.o
+ $(RANLIB) $(LF)
+
+@@ -500,9 +492,7 @@
+ echo ' END' >> plotsubs.dir/plotsubs.$F
+ cd plotsubs.dir && $(fsplit_dir)/fsplit $(srcdir)/plotsubs.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f plotsubs.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ plotsubs : plotsubs.o
+ $(RANLIB) $(LF)
+
+@@ -512,9 +502,7 @@
+ echo ' END' >> modlib.dir/modlib.$F
+ cd modlib.dir && $(fsplit_dir)/fsplit $(srcdir)/modlib.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f modlib.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ modlib : modlib.o
+ $(RANLIB) $(LF)
+
+@@ -524,9 +512,7 @@
+ echo ' END' >> fftlib.dir/fftlib.$F
+ cd fftlib.dir && $(fsplit_dir)/fsplit $(srcdir)/fftlib.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done \
+- && $(AR) ../$(LF) *.o
+- rm -f fftlib.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ fftlib : fftlib.o
+ $(RANLIB) $(LF)
+
+@@ -541,9 +527,7 @@
+ echo ' END' >> unix.dir/unix.f
+ cd unix.dir && $(fsplit_dir)/fsplit ../unix.f >/dev/null && $(RMEMPTY) && \
+ for i in `pwd`/*.$F; do \
+- $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done\
+- && $(AR) ../$(LF) *.o
+- rm -f unix.dir/*.o
++ $(FC) -c $(FFLAGS) $(SHARED_LIB_FFLAGS) $$i; done
+ unix : unix.o
+ $(RANLIB) $(LF)
+
diff --git a/sci-libs/ccp4-libs/files/6.1.3-no-pypath.patch b/sci-libs/ccp4-libs/files/6.1.3-no-pypath.patch
new file mode 100644
index 000000000000..6a0cb5be7c3d
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-no-pypath.patch
@@ -0,0 +1,87 @@
+ include/ccp4.setup-bash | 8 --------
+ include/ccp4.setup-csh | 11 -----------
+ include/ccp4.setup-sh | 8 --------
+ include/ccp4.setup-zsh | 10 ----------
+ 4 files changed, 37 deletions(-)
+
+diff --git a/include/ccp4.setup-bash b/include/ccp4.setup-bash
+index 3a67791..80aef23 100755
+--- a/include/ccp4.setup-bash
++++ b/include/ccp4.setup-bash
+@@ -185,14 +185,6 @@ else
+ fi
+ fi
+
+-#Python path for the subprocess fixed module
+-
+-if [ $ccp4_first_in_path -eq 1 ]; then
+- setenv PYTHONPATH ${CCP4}/share/python:${PYTHONPATH}
+-else
+- setenv PYTHONPATH ${PYTHONPATH}:${CCP4}/share/python
+-fi
+-
+ ### PLOT_COMMAND PRINT_COMMAND for the XCCPJIFFY programs to compile ###
+ setenv PLOT_COMMAND 'lp -s -dmicrolaser'
+ setenv PRINT_COMMAND 'lp -s -denscript'
+diff --git a/include/ccp4.setup-csh b/include/ccp4.setup-csh
+index 10d3ab8..72cc479 100755
+--- a/include/ccp4.setup-csh
++++ b/include/ccp4.setup-csh
+@@ -177,17 +177,6 @@ else
+ endif
+ endif
+
+-#Python path for the subprocess fixed module
+-if (${?PYTHONPATH}) then
+- if ($ccp4_first_in_path) then
+- setenv PYTHONPATH ${CCP4}/share/python:${PYTHONPATH}
+- else
+- setenv PYTHONPATH ${PYTHONPATH}:${CCP4}/share/python
+- endif
+-else
+- setenv PYTHONPATH ${CCP4}/share/python
+-endif
+-
+ ### PLOT_COMMAND PRINT_COMMAND for the XCCPJIFFY programs to compile ###
+ setenv PLOT_COMMAND 'lp -s -dmicrolaser'
+ setenv PRINT_COMMAND 'lp -s -denscript'
+diff --git a/include/ccp4.setup-sh b/include/ccp4.setup-sh
+index 2298bba..44643ab 100755
+--- a/include/ccp4.setup-sh
++++ b/include/ccp4.setup-sh
+@@ -225,14 +225,6 @@ test -r $CCP4/include/ccp4.msg && cat $CCP4/include/ccp4.msg
+
+ ################### EXPERIENCED USERS STOP HERE #####################
+
+-#Python path for the subprocess fixed module
+-
+-if test $ccp4_first_in_path -eq 1; then
+- export PYTHONPATH=${CCP4}/share/python:${PYTHONPATH}
+-else
+- export PYTHONPATH=${PYTHONPATH}:${CCP4}/share/python
+-fi
+-
+ ################### THE REST SHOULDN'T NEED EDITING #####################
+
+ ### dbCCP4i database handler setup ###
+diff --git a/include/ccp4.setup-zsh b/include/ccp4.setup-zsh
+index 660b35b..e453db9 100755
+--- a/include/ccp4.setup-zsh
++++ b/include/ccp4.setup-zsh
+@@ -154,16 +154,6 @@ export CCP4_BIN=$CBIN
+ CLASSPATH=$CBIN:$CLASSPATH # edit this if necessary
+ export CLASSPATH
+
+-#Python path for the subprocess fixed module
+-
+-if ($ccp4_first_in_path) then
+- PYTHONPATH=${CCP4}/share/python:${PYTHONPATH}
+- export PYTHONPATH
+-else
+- PYTHONPATH=${PYTHONPATH}:${CCP4}/share/python
+- export PYTHONPATH
+-fi
+-
+ ### PLOT_COMMAND PRINT_COMMAND for the XCCPJIFFY programs to compile ###
+ export PLOT_COMMAND='lpr'
+ export PRINT_COMMAND='lpr'
diff --git a/sci-libs/ccp4-libs/files/6.1.3-noinstall.patch b/sci-libs/ccp4-libs/files/6.1.3-noinstall.patch
new file mode 100644
index 000000000000..c1479f2b1155
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-noinstall.patch
@@ -0,0 +1,142 @@
+diff --git a/Makefile.in b/Makefile.in
+index ac552fe..fab1a87 100755
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -30,8 +30,7 @@ lapacklib : FORCE
+
+ cciflib : FORCE
+ if test -n "$(ccifdir)"; then cd $(ccifdir); \
+- $(MAKE) $(MFLAGS) $(MVARS); else true; fi; \
+- $(MAKE) install
++ $(MAKE) $(MFLAGS) $(MVARS); else true; fi
+
+ cctbx: FORCE
+ if test -n "$(cctbxdir)"; then cd $(top_srcdir)/$(cctbxdir); \
+@@ -40,8 +39,7 @@ cctbx: FORCE
+ libdir : FORCE lapacklib cciflib libccp4 clipper ssm diffractionImg
+
+ libccp4: FORCE
+- cd lib/src; $(MAKE) $(MFLAGS) $(MVARS) ; \
+- $(MAKE) install
++ cd lib/src; $(MAKE) $(MFLAGS) $(MVARS)
+
+ share : FORCE
+ cd share; $(MAKE) $(MFLAGS) $(MVARS)
+@@ -51,18 +49,15 @@ ccp4i : FORCE
+
+ clipper: FORCE fftw
+ if test -n "$(clipperdir)"; then cd $(top_srcdir)/lib/clipper/clipper; \
+- $(MAKE) -i $(MFLAGS) $(MVARS); else true; fi ; \
+- $(MAKE) install
++ $(MAKE) -i $(MFLAGS) $(MVARS); else true; fi
+
+ diffractionImg:
+ if test -n "$(diffimdir)"; then cd $(top_srcdir)/$(diffimdir); \
+- $(MAKE) -i $(MFLAGS) $(MVARS); else true; fi ; \
+- $(MAKE) install
++ $(MAKE) -i $(MFLAGS) $(MVARS); else true; fi
+
+ ssm:
+ if test -n "$(ssmdir)"; then cd $(top_srcdir)/$(ssmdir); \
+- $(MAKE) -i $(MFLAGS) $(MVARS); else true; fi ; \
+- $(MAKE) install
++ $(MAKE) -i $(MFLAGS) $(MVARS); else true; fi
+
+ fftw: FORCE
+ if test -n "$(fftwdir)"; then cd $(top_srcdir)/lib/fftw; \
+@@ -79,7 +74,7 @@ unsupported : FORCE libdir
+ $(MAKE) $(MFLAGS) $(MVARS); else true; fi
+
+ datadir : FORCE libdir
+- cd lib/data; $(MAKE) $(MFLAGS) $(MVARS)
++ cd lib/data; $(MAKE) $(MFLAGS) $(MVARS) font84.dat
+
+ xwindir : FORCE libdir
+ if test -f x-windows/Makefile; then cd x-windows; \
+diff --git a/lib/ccif/Makefile.in b/lib/ccif/Makefile.in
+index 975f1d9..75eda9f 100755
+--- a/lib/ccif/Makefile.in
++++ b/lib/ccif/Makefile.in
+@@ -371,11 +371,11 @@ condition.h condition_list.h: $(srcdir)/condition.list $(srcdir)/condition.awk
+ #
+
+ install : all
+- $(INSTALL_DATA) `pwd`/$L $(libdir)/$L
+- $(INSTALL_DATA) `pwd`/$(CIFMMLIB) $(libdir)/$(CIFMMLIB)
+- $(RANLIB) $(libdir)/$L
++ $(RANLIB) $L
++ $(INSTALL_DATA) `pwd`/$L $(DESTDIR)/$(libdir)/$L
++ $(INSTALL_DATA) `pwd`/$(CIFMMLIB) $(DESTDIR)$(libdir)/$(CIFMMLIB)
+ if (test -f $(SHARED_LIB_NAME)); then \
+- $(INSTALL_DATA) `pwd`/$(SHARED_LIB_NAME) $(libdir)/$(SHARED_LIB_NAME); \
++ $(INSTALL_DATA) `pwd`/$(SHARED_LIB_NAME) $(DESTDIR)/$(libdir)/$(SHARED_LIB_NAME); \
+ fi
+
+ uninstall :
+diff --git a/lib/data/Makefile.in b/lib/data/Makefile.in
+index cc25c5c..017502d 100755
+--- a/lib/data/Makefile.in
++++ b/lib/data/Makefile.in
+@@ -30,9 +30,9 @@ font84.dat : fontpack $(srcdir)/font84.ascii
+
+ install : all
+ -rm -f font84.dat
+- test -f font84.ascii || $(LNS) $(srcdir)/font84.ascii .
+- ./fontpack
+- $(INSTALL) `pwd`/font84.dat $(libdir)/font84.dat
++ test -f font84.ascii || $(LNS) $(DESTDIR)/$(srcdir)/font84.ascii .
++ LD_LIBRARY_PATH="../src:../ccif" ./fontpack
++ $(INSTALL) `pwd`/font84.dat $(DESTDIR)/$(libdir)/font84.dat
+
+ uninstall :
+ -rm -f $(libdir)/font84.dat
+diff --git a/lib/src/Makefile.in b/lib/src/Makefile.in
+index b32dd1e..6aa107d 100755
+--- a/lib/src/Makefile.in
++++ b/lib/src/Makefile.in
+@@ -685,7 +685,7 @@ testlib : $(srcdir)/testlib.f $(LF)
+ #
+
+ install-ccp4HEADERS: $(ccp4_HEADERS)
+- if test ! -d $(DESTDIR)$(includedir)/ccp4; then mkdir $(DESTDIR)$(includedir)/ccp4; fi
++ if test ! -d $(DESTDIR)$(includedir)/ccp4; then mkdir -p $(DESTDIR)$(includedir)/ccp4; fi
+ @list='$(ccp4_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+@@ -716,11 +716,11 @@ uninstall-mmdbHEADERS:
+ rm -f $(DESTDIR)$(includedir)/mmdb/$$f; \
+ done
+
+-install : all install-ccp4HEADERS install-mmdbHEADERS
+- $(INSTALL_DATA) `pwd`/$(LC) $(libdir)/$(LC)
+- $(INSTALL_DATA) `pwd`/$(LF) $(libdir)/$(LF)
+- $(RANLIB) $(libdir)/$(LC)
+- $(RANLIB) $(libdir)/$(LF)
++install : all install-ccp4HEADERS
++ $(RANLIB) $(LC)
++ $(RANLIB) $(LF)
++ $(INSTALL_DATA) `pwd`/$(LC) $(DESTDIR)/$(libdir)/$(LC)
++ $(INSTALL_DATA) `pwd`/$(LF) $(DESTDIR)/$(libdir)/$(LF)
+ $(SHARE_INST)
+
+ uninstall : uninstall-ccp4HEADERS uninstall-mmdbHEADERS
+diff --git a/lib/ssm/Makefile.in b/lib/ssm/Makefile.in
+index 27d3aa2..0a14fe5 100755
+--- a/lib/ssm/Makefile.in
++++ b/lib/ssm/Makefile.in
+@@ -375,12 +375,12 @@ distclean-libtool:
+ uninstall-info-am:
+ install-library_includeHEADERS: $(library_include_HEADERS)
+ @$(NORMAL_INSTALL)
+- test -z "$(library_includedir)" || $(mkdir_p) "$(DESTDIR)$(library_includedir)"
++ test -z "$(library_includedir)" || $(mkdir_p) "$(DESTDIR)$(library_includedir)/ssm"
+ @list='$(library_include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+- echo " $(library_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(library_includedir)/$$f'"; \
+- $(library_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(library_includedir)/$$f"; \
++ echo " $(library_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(library_includedir)/ssm/$$f'"; \
++ $(library_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(library_includedir)/ssm/$$f"; \
+ done
+
+ uninstall-library_includeHEADERS:
diff --git a/sci-libs/ccp4-libs/files/6.1.3-overflows.patch b/sci-libs/ccp4-libs/files/6.1.3-overflows.patch
new file mode 100644
index 000000000000..0e3c941d1cc2
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-overflows.patch
@@ -0,0 +1,35 @@
+Fix overflows and array subscript above array bounds
+
+http://bugs.gentoo.org/show_bug.cgi?id=339706
+
+--- ccp4-6.1.3/lib/ccif/f_interface.c
++++ ccp4-6.1.3/lib/ccif/f_interface.c
+@@ -926,7 +926,7 @@
+ #endif
+
+ {
+- char logname_c[81];
++ char logname_c[MAXFLEN];
+ size_t Length;
+ int unit;
+ CIF_FILE_LIST file_list_entry;
+@@ -4064,7 +4064,7 @@
+ #endif
+
+ {
+- char lognam_c[81], *blknam_c;
++ char lognam_c[MAXFLEN], *blknam_c;
+ size_t loglen, blklen;
+ int i, j, new;
+
+--- ccp4-6.1.3/lib/src/ccp4_diskio_f.c
++++ ccp4-6.1.3/lib/src/ccp4_diskio_f.c
+@@ -705,7 +705,7 @@
+ log_name = strdup("diskio.dft");
+ if (!(file_name = getenv(log_name)))
+ file_name = log_name;
+- for ( *istrm = 1; *istrm == MAXFILES; *istrm++)
++ for ( *istrm = 1; *istrm < MAXFILES; *istrm++)
+ if (!strcmp(file_name,_ioChannels[*istrm]->iobj->name)) break;
+ }
+ if (*istrm != MAXFILES) {
diff --git a/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng.patch b/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng.patch
new file mode 100644
index 000000000000..4271d5b76aec
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng.patch
@@ -0,0 +1,367 @@
+diff --git a/lib/DiffractionImage/DiffractionImageCBF.cpp b/lib/DiffractionImage/DiffractionImageCBF.cpp
+index 69b32b0..602e35f 100755
+--- a/lib/DiffractionImage/DiffractionImageCBF.cpp
++++ b/lib/DiffractionImage/DiffractionImageCBF.cpp
+@@ -6,10 +6,10 @@
+ // images.
+
+ #include "DiffractionImage.h"
+-#include "cbf.h"
+-#include "cbf_simple.h"
+-#include "cbf_string.h"
+-#include "cbf_byte_offset.h"
++#include <cbflib/cbf.h>
++#include <cbflib/cbf_simple.h>
++#include <cbflib/cbf_string.h>
++#include <cbflib/cbf_byte_offset.h>
+
+
+ using namespace std;
+diff --git a/lib/DiffractionImage/MAR/Makefile.am b/lib/DiffractionImage/MAR/Makefile.am
+index fedb7ac..89a048e 100755
+--- a/lib/DiffractionImage/MAR/Makefile.am
++++ b/lib/DiffractionImage/MAR/Makefile.am
+@@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = gnu
+
+ noinst_LTLIBRARIES = libmar.la
+
+-AM_CPPFLAGS =-I../CBFlib/src -I../CBFlib/include
++AM_CPPFLAGS =
+
+ libmar_la_SOURCES = mar300_header.c \
+ mar345_header.c \
+@@ -12,4 +12,3 @@ libmar_la_SOURCES = mar300_header.c \
+ utils.c \
+ pck.c
+
+-libmar_la_LDFLAGS = -static
+diff --git a/lib/DiffractionImage/MAR/marcif.c b/lib/DiffractionImage/MAR/marcif.c
+index d3f4212..2c37108 100755
+--- a/lib/DiffractionImage/MAR/marcif.c
++++ b/lib/DiffractionImage/MAR/marcif.c
+@@ -31,8 +31,7 @@
+ #include "marcif_header.h"
+ #include "mar345_header.h"
+
+-#include <cbf.h>
+-#include <img.h>
++#include <cbflib/cbf.h>
+
+ #define printe(x) printf("%s: %s: %s\n",prg,f,x)
+ #undef cbf_failnez
+diff --git a/lib/DiffractionImage/Makefile.am b/lib/DiffractionImage/Makefile.am
+index 189a1d7..6652576 100755
+--- a/lib/DiffractionImage/Makefile.am
++++ b/lib/DiffractionImage/Makefile.am
+@@ -1,7 +1,9 @@
+ AUTOMAKE_OPTIONS = gnu
+-SUBDIRS = CBFlib Bruker MAR Rigaku jpg
++SUBDIRS = Bruker MAR Rigaku
+
+-AM_CPPFLAGS =-I./MAR -I./CBFlib/src -I./CBFlib/include -I./jpg
++SYSLIBS = -ljpeg -lcbf
++
++AM_CPPFLAGS =-I./MAR
+ lib_LTLIBRARIES = libDiffImage.la
+
+ if WANT_PYTHONMOD
+@@ -35,48 +37,56 @@ libDiffImage_la_SOURCES = DiffractionImageJpeg.cpp \
+ Profile.cpp \
+ Peak.cpp \
+ dps_peaksearch_cn.c
+-libDiffImage_la_LDFLAGS = -static
++libDiffImage_la_LDFLAGS = -shared $(SHARED_LIB_FLAGS)
++libDiffImage_la_LIBADD = $(SYSLIBS) \
++ ./MAR/libmar.la ./Bruker/libbruker.la \
++ ./Rigaku/librigaku.la
+
+-libDiffractionImage_la_DEPENDENCIES= libDiffImage.la ./CBFlib/src/libcbf.la \
++libDiffractionImage_la_DEPENDENCIES= libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+ libDiffractionImage_la_SOURCES = DiffractionImageTclInterface.cpp
+-libDiffractionImage_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
+- --no-whole-archive -rpath '$(libdir)'
++libDiffractionImage_la_LDFLAGS = -shared --whole-archive $(SHARED_LIB_FLAGS)
++libDiffractionImage_la_LIBADD = $(SYSLIBS) -ltcl \
++ libDiffImage.la \
++ ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+
+-lib_DiffractionImage_la_DEPENDENCIES = libDiffImage.la ./CBFlib/src/libcbf.la \
++lib_DiffractionImage_la_DEPENDENCIES = libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+ lib_DiffractionImage_la_SOURCES = DiffractionImagePythonInterface.cpp
+-lib_DiffractionImage_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
+- --no-whole-archive -rpath '$(libdir)'
++lib_DiffractionImage_la_LDFLAGS = -shared --whole-archive $(SHARED_LIB_FLAGS)
++lib_DiffractionImage_la_LIBADD = libDiffImage.la @PYLIB@ $(SYSLIBS) \
++ ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+
+-libDiffractionImaJ_la_DEPENDENCIES = libDiffImage.la ./CBFlib/src/libcbf.la \
++libDiffractionImaJ_la_DEPENDENCIES = libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+ libDiffractionImaJ_la_SOURCES = DiffractionImageJavaInterface.cpp
+-libDiffractionImaJ_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
+- --no-whole-archive -rpath '$(libdir)'
++libDiffractionImaJ_la_LDFLAGS = -shared --whole-archive $(SHARED_LIB_FLAGS)
++libDiffractionImaJ_la_LIBADD = libDiffImage.la \
++ ./Bruker/libbruker.la $(SYSLIBS) \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+
+ bin_PROGRAMS = automask diffdump printpeaks diff2jpeg
+-automask_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++automask_LDADD = libDiffImage.la ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la $(SYSLIBS)
+ automask_SOURCES = automask.cpp
+-diffdump_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++automask_LDFLAGS = $(SHARED_LIB_FLAGS)
++diffdump_LDADD = libDiffImage.la ./Bruker/libbruker.la $(SYSLIBS) \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+ diffdump_SOURCES = diffdump.cpp
+-printpeaks_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++diffdump_LDFLAGS = $(SHARED_LIB_FLAGS)
++printpeaks_LDADD = libDiffImage.la ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la $(SYSLIBS)
+ printpeaks_SOURCES = printpeaks.cpp
+-diff2jpeg_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++printpeaks_LDFLAGS = $(SHARED_LIB_FLAGS)
++diff2jpeg_LDADD = libDiffImage.la ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la $(SYSLIBS)
+ diff2jpeg_SOURCES = diff2jpeg.cpp
++diff2jpeg_LDFLAGS = $(SHARED_LIB_FLAGS)
+
+ install-data-local:
+ @INSTALL_DATA@ doc/DiffractionImage.doc ${CDOC}
+diff --git a/lib/DiffractionImage/configure b/lib/DiffractionImage/configure
+index 3fb5784..fdf9683 100755
+--- a/lib/DiffractionImage/configure
++++ b/lib/DiffractionImage/configure
+@@ -21768,7 +21768,7 @@ _ACEOF
+ fi
+
+
+-ac_config_files="$ac_config_files Makefile CBFlib/Makefile CBFlib/src/Makefile MAR/Makefile Rigaku/Makefile Bruker/Makefile jpg/Makefile"
++ac_config_files="$ac_config_files Makefile MAR/Makefile Rigaku/Makefile Bruker/Makefile "
+
+
+ cat >confcache <<\_ACEOF
+@@ -22407,12 +22407,9 @@ do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+- "CBFlib/Makefile") CONFIG_FILES="$CONFIG_FILES CBFlib/Makefile" ;;
+- "CBFlib/src/Makefile") CONFIG_FILES="$CONFIG_FILES CBFlib/src/Makefile" ;;
+ "MAR/Makefile") CONFIG_FILES="$CONFIG_FILES MAR/Makefile" ;;
+ "Rigaku/Makefile") CONFIG_FILES="$CONFIG_FILES Rigaku/Makefile" ;;
+ "Bruker/Makefile") CONFIG_FILES="$CONFIG_FILES Bruker/Makefile" ;;
+- "jpg/Makefile") CONFIG_FILES="$CONFIG_FILES jpg/Makefile" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+diff --git a/lib/DiffractionImage/configure.in b/lib/DiffractionImage/configure.in
+index 7f54b4b..16efc64 100755
+--- a/lib/DiffractionImage/configure.in
++++ b/lib/DiffractionImage/configure.in
+@@ -21,6 +21,8 @@ if test -n "${PYTHON}" ; then
+ HAVE_PYTHON=1
+ CPPFLAGS="${CPPFLAGS} -I${PYTHON_PREFIX}/include/python${PYTHON_VER}"
+ ])
++ PYLIB="-lpython${PYTHON_VER}"
++ AC_SUBST(PYLIB)
+ fi
+ AC_CHECK_HEADER([tcl.h], [HAVE_TCL=1])
+
+@@ -65,11 +67,8 @@ AM_CONDITIONAL([WANT_JAVA], test z${HAVE_JAVA} != z)
+ AC_CHECK_LIB([m], [sqrt])
+
+ AC_CONFIG_FILES([Makefile
+- CBFlib/Makefile
+- CBFlib/src/Makefile
+ MAR/Makefile
+ Rigaku/Makefile
+- Bruker/Makefile
+- jpg/Makefile])
++ Bruker/Makefile])
+
+ AC_OUTPUT
+diff --git a/lib/ssm/Makefile.am b/lib/ssm/Makefile.am
+index e9554e1..a3ba33d 100755
+--- a/lib/ssm/Makefile.am
++++ b/lib/ssm/Makefile.am
+@@ -1,7 +1,11 @@
++ACLOCAL_AMFLAGS = -I macros
+ #libtool
+ lib_LTLIBRARIES = libssm.la
++libssm_la_LDFLAGS = -shared $(SHARED_LIB_FLAGS)
++libssm_la_CFLAGS = @MMDB_CFLAGS@
+ libssm_la_SOURCES = ssm_superpose.cpp ss_csia.cpp ss_vxedge.cpp \
+ ssm_align.cpp ss_graph.cpp
++libssm_la_LIBADD = @MMDB_LIBS@
+
+ #non libtool
+ #lib_LIBRARIES = libssm.a
+@@ -16,12 +20,10 @@ superpose_SOURCES = superpose.cpp
+
+ bin_PROGRAMS = superpose
+
+-INCLUDES = $(MMDB_CXXFLAGS)
+-
+-AM_LDFLAGS = $(MMDB_LIBS)
++INCLUDES = @MMDB_CFLAGS@
+
+ EXTRA_DIST = macros/mmdb.m4
+
+-superpose_LDADD = libssm.la
++superpose_LDADD = libssm.la @MMDB_LIBS@
+
+ libssm_a_AR = $(AR) $(AR_FLAGS)
+diff --git a/lib/ssm/configure.ac b/lib/ssm/configure.ac
+index 783cb46..d637d11 100755
+--- a/lib/ssm/configure.ac
++++ b/lib/ssm/configure.ac
+@@ -28,31 +28,10 @@ AC_ARG_ENABLE(debug,
+ [ac_cv_enable_debug=no ] )
+
+ dnl Optional: Check for MMDB.
+-AM_PATH_MMDB(,
+- [ if test "x$mmdb_prefix" != x ; then
+- if test "x$ac_MMDB_CXXFLAGS" != x ; then
+- case "$ac_MMDB_CXXFLAGS" in
+- *src/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#src/mmdb#src#g`
+- ;;
+- *include/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#include/mmdb#lib#g`
+- ;;
+- *)
+- esac
+- MMDB_CXXFLAGS="$ac_MMDB_CXXFLAGS"
+- MMDB_LIBS=`echo "$ac_MMDB_LDOPTS -lmmdb" | sed s#-I#-L#`
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- else
+- MMDB_CXXFLAGS="-I$mmdb_prefix/lib/src/mmdb -I$mmdb_prefix/include/mmdb"
+- MMDB_LIBS="-L$mmdb_prefix/lib/src -L$mmdb_prefix/lib -lmmdb"
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- fi
+- else
+- AC_MSG_WARN([mmdb not found])
+- fi
+- ]
+-)
++
++PKG_CHECK_MODULES([MMDB],[mmdb])
++AC_SUBST([MMDB_CFLAGS])
++AC_SUBST([MMDB_LIBS])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ #
+@@ -67,6 +46,7 @@ AC_CHECK_FUNCS([floor pow rint sqrt])
+ # test for function in m
+ AC_CHECK_LIB([m], [sqrt])
+
++
+ AC_SUBST(AR_FLAGS)
+ AC_SUBST(superpose_LDFLAGS)
+ AM_CONDITIONAL(DEBUG, test "$ac_cv_enable_debug" = yes)
+diff --git a/src/pisa/Makefile.am b/src/pisa/Makefile.am
+index 094fd6b..922a131 100755
+--- a/src/pisa/Makefile.am
++++ b/src/pisa/Makefile.am
+@@ -1,3 +1,4 @@
++ACLOCAL_AMFLAGS = -I macros
+ SUBDIRS = molref pisastore sbase
+
+ pkgdatadir = $(datadir)/pisa
+@@ -20,8 +21,8 @@ pisa.cpp pisa_lists.cpp seq_superpose.cpp
+
+ bin_PROGRAMS = pisa
+
+-INCLUDES = $(MMDB_CXXFLAGS) $(SSM_CXXFLAGS)
++INCLUDES = @MMDB_CFLAGS@ $(SSM_CXXFLAGS)
+
+-pisa_LDADD = $(SSM_LIBS) $(MMDB_LIBS)
++pisa_LDADD = $(SSM_LIBS) @MMDB_LIBS@
+
+ EXTRA_DIST = macros/mmdb.m4 macros/ssm.m4 pisa.cfg.in
+diff --git a/src/pisa/configure.ac b/src/pisa/configure.ac
+index 81afdda..4f99df6 100755
+--- a/src/pisa/configure.ac
++++ b/src/pisa/configure.ac
+@@ -32,35 +32,13 @@ AC_CHECK_FUNCS([floor pow rint sqrt])
+ AC_CHECK_LIB([m], [sqrt])
+
+ dnl Optional: Check for MMDB.
+-AM_PATH_MMDB(,
+- [ if test "x$mmdb_prefix" != x ; then
+- if test "x$ac_MMDB_CXXFLAGS" != x && test "x$ac_MMDB_LDOPTS" = x ; then
+- case "$ac_MMDB_CXXFLAGS" in
+- *src/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#src/mmdb#src#g`
+- ;;
+- *include/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#include/mmdb#lib#g`
+- ;;
+- *)
+- esac
+- MMDB_CXXFLAGS="$ac_MMDB_CXXFLAGS"
+- MMDB_LIBS=`echo "$ac_MMDB_LDOPTS -lmmdb" | sed s#-I#-L#`
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- else
+- MMDB_CXXFLAGS="-I$mmdb_prefix/src -I$mmdb_prefix/src/mmdb -I$mmdb_prefix/include -I$mmdb_prefix/include/mmdb"
+- MMDB_LIBS="-L$mmdb_prefix/src -L$mmdb_prefix/lib -lmmdb"
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- fi
+- else
+- AC_MSG_ERROR([mmdb not found])
+- fi
+- ]
+-)
++PKG_CHECK_MODULES([MMDB],[mmdb])
++AC_SUBST([MMDB_CFLAGS])
++AC_SUBST([MMDB_LIBS])
+
+ ac_saved_CXXFLAGS=$CXXFLAGS
+ ac_saved_LIBS=$LIBS
+-CXXFLAGS="$CXXFLAGS $MMDB_CXXFLAGS"
++CXXFLAGS="$CXXFLAGS $MMDB_CFLAGS"
+ LIBS="$MMDB_LIBS $LIBS"
+ AM_PATH_SSM(,
+ [ if test "x$ssm_prefix" != x ; then
+diff --git a/src/rapper/Makefile.am b/src/rapper/Makefile.am
+index e78b10d..486b931 100755
+--- a/src/rapper/Makefile.am
++++ b/src/rapper/Makefile.am
+@@ -1,3 +1,3 @@
+-SUBDIRS = libxml2 gc7.0 LOOP data
++SUBDIRS = LOOP data
+
+ EXTRA_DIST =
+diff --git a/src/rapper/configure.ac b/src/rapper/configure.ac
+index 5e4ef69..11b63ec 100755
+--- a/src/rapper/configure.ac
++++ b/src/rapper/configure.ac
+@@ -48,6 +48,6 @@ AM_CONDITIONAL(AMDEP, test "x$enable_dependency_tracking" != xno)
+
+ AC_SUBST(rapper_LDFLAGS)
+
+-AC_CONFIG_SUBDIRS([gc7.0 libxml2])
++#AC_CONFIG_SUBDIRS([gc7.0 libxml2])
+ #AC_OUTPUT(Makefile LOOP/Makefile LOOP/python/Makefile data/Makefile)
+ AC_OUTPUT(Makefile LOOP/Makefile data/Makefile)
diff --git a/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng2.patch b/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng2.patch
new file mode 100644
index 000000000000..c787df903dfc
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs-ng2.patch
@@ -0,0 +1,395 @@
+ lib/DiffractionImage/DiffractionImageCBF.cpp | 8 ++--
+ lib/DiffractionImage/MAR/Makefile.am | 3 +-
+ lib/DiffractionImage/MAR/marcif.c | 3 +-
+ lib/DiffractionImage/Makefile.am | 68 +++++++++++++++-----------
+ lib/DiffractionImage/configure | 5 +--
+ lib/DiffractionImage/configure.in | 7 +--
+ lib/src/Makefile.in | 2 +-
+ lib/ssm/Makefile.am | 10 ++--
+ lib/ssm/configure.ac | 30 ++---------
+ src/pisa/Makefile.am | 5 +-
+ src/pisa/configure.ac | 30 ++----------
+ src/rapper/Makefile.am | 2 +-
+ src/rapper/configure.ac | 2 +-
+ 13 files changed, 70 insertions(+), 105 deletions(-)
+
+diff --git a/lib/DiffractionImage/DiffractionImageCBF.cpp b/lib/DiffractionImage/DiffractionImageCBF.cpp
+index 69b32b0..602e35f 100755
+--- a/lib/DiffractionImage/DiffractionImageCBF.cpp
++++ b/lib/DiffractionImage/DiffractionImageCBF.cpp
+@@ -6,10 +6,10 @@
+ // images.
+
+ #include "DiffractionImage.h"
+-#include "cbf.h"
+-#include "cbf_simple.h"
+-#include "cbf_string.h"
+-#include "cbf_byte_offset.h"
++#include <cbflib/cbf.h>
++#include <cbflib/cbf_simple.h>
++#include <cbflib/cbf_string.h>
++#include <cbflib/cbf_byte_offset.h>
+
+
+ using namespace std;
+diff --git a/lib/DiffractionImage/MAR/Makefile.am b/lib/DiffractionImage/MAR/Makefile.am
+index fedb7ac..89a048e 100755
+--- a/lib/DiffractionImage/MAR/Makefile.am
++++ b/lib/DiffractionImage/MAR/Makefile.am
+@@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = gnu
+
+ noinst_LTLIBRARIES = libmar.la
+
+-AM_CPPFLAGS =-I../CBFlib/src -I../CBFlib/include
++AM_CPPFLAGS =
+
+ libmar_la_SOURCES = mar300_header.c \
+ mar345_header.c \
+@@ -12,4 +12,3 @@ libmar_la_SOURCES = mar300_header.c \
+ utils.c \
+ pck.c
+
+-libmar_la_LDFLAGS = -static
+diff --git a/lib/DiffractionImage/MAR/marcif.c b/lib/DiffractionImage/MAR/marcif.c
+index d3f4212..2c37108 100755
+--- a/lib/DiffractionImage/MAR/marcif.c
++++ b/lib/DiffractionImage/MAR/marcif.c
+@@ -31,8 +31,7 @@
+ #include "marcif_header.h"
+ #include "mar345_header.h"
+
+-#include <cbf.h>
+-#include <img.h>
++#include <cbflib/cbf.h>
+
+ #define printe(x) printf("%s: %s: %s\n",prg,f,x)
+ #undef cbf_failnez
+diff --git a/lib/DiffractionImage/Makefile.am b/lib/DiffractionImage/Makefile.am
+index 189a1d7..6652576 100755
+--- a/lib/DiffractionImage/Makefile.am
++++ b/lib/DiffractionImage/Makefile.am
+@@ -1,7 +1,9 @@
+ AUTOMAKE_OPTIONS = gnu
+-SUBDIRS = CBFlib Bruker MAR Rigaku jpg
++SUBDIRS = Bruker MAR Rigaku
+
+-AM_CPPFLAGS =-I./MAR -I./CBFlib/src -I./CBFlib/include -I./jpg
++SYSLIBS = -ljpeg -lcbf
++
++AM_CPPFLAGS =-I./MAR
+ lib_LTLIBRARIES = libDiffImage.la
+
+ if WANT_PYTHONMOD
+@@ -35,48 +37,56 @@ libDiffImage_la_SOURCES = DiffractionImageJpeg.cpp \
+ Profile.cpp \
+ Peak.cpp \
+ dps_peaksearch_cn.c
+-libDiffImage_la_LDFLAGS = -static
++libDiffImage_la_LDFLAGS = -shared $(SHARED_LIB_FLAGS)
++libDiffImage_la_LIBADD = $(SYSLIBS) \
++ ./MAR/libmar.la ./Bruker/libbruker.la \
++ ./Rigaku/librigaku.la
+
+-libDiffractionImage_la_DEPENDENCIES= libDiffImage.la ./CBFlib/src/libcbf.la \
++libDiffractionImage_la_DEPENDENCIES= libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+ libDiffractionImage_la_SOURCES = DiffractionImageTclInterface.cpp
+-libDiffractionImage_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
+- --no-whole-archive -rpath '$(libdir)'
++libDiffractionImage_la_LDFLAGS = -shared --whole-archive $(SHARED_LIB_FLAGS)
++libDiffractionImage_la_LIBADD = $(SYSLIBS) -ltcl \
++ libDiffImage.la \
++ ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+
+-lib_DiffractionImage_la_DEPENDENCIES = libDiffImage.la ./CBFlib/src/libcbf.la \
++lib_DiffractionImage_la_DEPENDENCIES = libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+ lib_DiffractionImage_la_SOURCES = DiffractionImagePythonInterface.cpp
+-lib_DiffractionImage_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
+- --no-whole-archive -rpath '$(libdir)'
++lib_DiffractionImage_la_LDFLAGS = -shared --whole-archive $(SHARED_LIB_FLAGS)
++lib_DiffractionImage_la_LIBADD = libDiffImage.la @PYLIB@ $(SYSLIBS) \
++ ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+
+-libDiffractionImaJ_la_DEPENDENCIES = libDiffImage.la ./CBFlib/src/libcbf.la \
++libDiffractionImaJ_la_DEPENDENCIES = libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+ libDiffractionImaJ_la_SOURCES = DiffractionImageJavaInterface.cpp
+-libDiffractionImaJ_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
+- --no-whole-archive -rpath '$(libdir)'
++libDiffractionImaJ_la_LDFLAGS = -shared --whole-archive $(SHARED_LIB_FLAGS)
++libDiffractionImaJ_la_LIBADD = libDiffImage.la \
++ ./Bruker/libbruker.la $(SYSLIBS) \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+
+ bin_PROGRAMS = automask diffdump printpeaks diff2jpeg
+-automask_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++automask_LDADD = libDiffImage.la ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la $(SYSLIBS)
+ automask_SOURCES = automask.cpp
+-diffdump_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++automask_LDFLAGS = $(SHARED_LIB_FLAGS)
++diffdump_LDADD = libDiffImage.la ./Bruker/libbruker.la $(SYSLIBS) \
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+ diffdump_SOURCES = diffdump.cpp
+-printpeaks_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++diffdump_LDFLAGS = $(SHARED_LIB_FLAGS)
++printpeaks_LDADD = libDiffImage.la ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la $(SYSLIBS)
+ printpeaks_SOURCES = printpeaks.cpp
+-diff2jpeg_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++printpeaks_LDFLAGS = $(SHARED_LIB_FLAGS)
++diff2jpeg_LDADD = libDiffImage.la ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la $(SYSLIBS)
+ diff2jpeg_SOURCES = diff2jpeg.cpp
++diff2jpeg_LDFLAGS = $(SHARED_LIB_FLAGS)
+
+ install-data-local:
+ @INSTALL_DATA@ doc/DiffractionImage.doc ${CDOC}
+diff --git a/lib/DiffractionImage/configure b/lib/DiffractionImage/configure
+index 3fb5784..fdf9683 100755
+--- a/lib/DiffractionImage/configure
++++ b/lib/DiffractionImage/configure
+@@ -21768,7 +21768,7 @@ _ACEOF
+ fi
+
+
+-ac_config_files="$ac_config_files Makefile CBFlib/Makefile CBFlib/src/Makefile MAR/Makefile Rigaku/Makefile Bruker/Makefile jpg/Makefile"
++ac_config_files="$ac_config_files Makefile MAR/Makefile Rigaku/Makefile Bruker/Makefile "
+
+
+ cat >confcache <<\_ACEOF
+@@ -22407,12 +22407,9 @@ do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+- "CBFlib/Makefile") CONFIG_FILES="$CONFIG_FILES CBFlib/Makefile" ;;
+- "CBFlib/src/Makefile") CONFIG_FILES="$CONFIG_FILES CBFlib/src/Makefile" ;;
+ "MAR/Makefile") CONFIG_FILES="$CONFIG_FILES MAR/Makefile" ;;
+ "Rigaku/Makefile") CONFIG_FILES="$CONFIG_FILES Rigaku/Makefile" ;;
+ "Bruker/Makefile") CONFIG_FILES="$CONFIG_FILES Bruker/Makefile" ;;
+- "jpg/Makefile") CONFIG_FILES="$CONFIG_FILES jpg/Makefile" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+diff --git a/lib/DiffractionImage/configure.in b/lib/DiffractionImage/configure.in
+index 7f54b4b..16efc64 100755
+--- a/lib/DiffractionImage/configure.in
++++ b/lib/DiffractionImage/configure.in
+@@ -21,6 +21,8 @@ if test -n "${PYTHON}" ; then
+ HAVE_PYTHON=1
+ CPPFLAGS="${CPPFLAGS} -I${PYTHON_PREFIX}/include/python${PYTHON_VER}"
+ ])
++ PYLIB="-lpython${PYTHON_VER}"
++ AC_SUBST(PYLIB)
+ fi
+ AC_CHECK_HEADER([tcl.h], [HAVE_TCL=1])
+
+@@ -65,11 +67,8 @@ AM_CONDITIONAL([WANT_JAVA], test z${HAVE_JAVA} != z)
+ AC_CHECK_LIB([m], [sqrt])
+
+ AC_CONFIG_FILES([Makefile
+- CBFlib/Makefile
+- CBFlib/src/Makefile
+ MAR/Makefile
+ Rigaku/Makefile
+- Bruker/Makefile
+- jpg/Makefile])
++ Bruker/Makefile])
+
+ AC_OUTPUT
+diff --git a/lib/src/Makefile.in b/lib/src/Makefile.in
+index c23f488..9579b3b 100755
+--- a/lib/src/Makefile.in
++++ b/lib/src/Makefile.in
+@@ -659,7 +659,7 @@ csymlib.o: $(srcdir)/csymlib.c $(srcdir)/csymlib.h
+ csymlib_f.o: $(srcdir)/csymlib_f.c $(srcdir)/csymlib.h
+ ccp4_unitcell.o: $(srcdir)/ccp4_unitcell.c $(srcdir)/ccp4_unitcell.h
+ ccp4_unitcell_f.o: $(srcdir)/ccp4_unitcell_f.c $(srcdir)/ccp4_unitcell.h
+-hybrid_36_f.o: $(srcdir)/hybrid_36_f.c $(mmdbsrcdir)/hybrid_36.h
++hybrid_36_f.o: $(srcdir)/hybrid_36_f.c
+ cvecmat.o: $(srcdir)/cvecmat.c $(srcdir)/cvecmat.h
+ cmtzlib_python_wrap.o: $(srcdir)/cmtzlib_python_wrap.c $(srcdir)/mtzdata.h
+ cmaplib_python_wrap.o: $(srcdir)/cmaplib_python_wrap.c
+diff --git a/lib/ssm/Makefile.am b/lib/ssm/Makefile.am
+index e9554e1..a3ba33d 100755
+--- a/lib/ssm/Makefile.am
++++ b/lib/ssm/Makefile.am
+@@ -1,7 +1,11 @@
++ACLOCAL_AMFLAGS = -I macros
+ #libtool
+ lib_LTLIBRARIES = libssm.la
++libssm_la_LDFLAGS = -shared $(SHARED_LIB_FLAGS)
++libssm_la_CFLAGS = @MMDB_CFLAGS@
+ libssm_la_SOURCES = ssm_superpose.cpp ss_csia.cpp ss_vxedge.cpp \
+ ssm_align.cpp ss_graph.cpp
++libssm_la_LIBADD = @MMDB_LIBS@
+
+ #non libtool
+ #lib_LIBRARIES = libssm.a
+@@ -16,12 +20,10 @@ superpose_SOURCES = superpose.cpp
+
+ bin_PROGRAMS = superpose
+
+-INCLUDES = $(MMDB_CXXFLAGS)
+-
+-AM_LDFLAGS = $(MMDB_LIBS)
++INCLUDES = @MMDB_CFLAGS@
+
+ EXTRA_DIST = macros/mmdb.m4
+
+-superpose_LDADD = libssm.la
++superpose_LDADD = libssm.la @MMDB_LIBS@
+
+ libssm_a_AR = $(AR) $(AR_FLAGS)
+diff --git a/lib/ssm/configure.ac b/lib/ssm/configure.ac
+index 783cb46..d637d11 100755
+--- a/lib/ssm/configure.ac
++++ b/lib/ssm/configure.ac
+@@ -28,31 +28,10 @@ AC_ARG_ENABLE(debug,
+ [ac_cv_enable_debug=no ] )
+
+ dnl Optional: Check for MMDB.
+-AM_PATH_MMDB(,
+- [ if test "x$mmdb_prefix" != x ; then
+- if test "x$ac_MMDB_CXXFLAGS" != x ; then
+- case "$ac_MMDB_CXXFLAGS" in
+- *src/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#src/mmdb#src#g`
+- ;;
+- *include/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#include/mmdb#lib#g`
+- ;;
+- *)
+- esac
+- MMDB_CXXFLAGS="$ac_MMDB_CXXFLAGS"
+- MMDB_LIBS=`echo "$ac_MMDB_LDOPTS -lmmdb" | sed s#-I#-L#`
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- else
+- MMDB_CXXFLAGS="-I$mmdb_prefix/lib/src/mmdb -I$mmdb_prefix/include/mmdb"
+- MMDB_LIBS="-L$mmdb_prefix/lib/src -L$mmdb_prefix/lib -lmmdb"
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- fi
+- else
+- AC_MSG_WARN([mmdb not found])
+- fi
+- ]
+-)
++
++PKG_CHECK_MODULES([MMDB],[mmdb])
++AC_SUBST([MMDB_CFLAGS])
++AC_SUBST([MMDB_LIBS])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ #
+@@ -67,6 +46,7 @@ AC_CHECK_FUNCS([floor pow rint sqrt])
+ # test for function in m
+ AC_CHECK_LIB([m], [sqrt])
+
++
+ AC_SUBST(AR_FLAGS)
+ AC_SUBST(superpose_LDFLAGS)
+ AM_CONDITIONAL(DEBUG, test "$ac_cv_enable_debug" = yes)
+diff --git a/src/pisa/Makefile.am b/src/pisa/Makefile.am
+index 094fd6b..922a131 100755
+--- a/src/pisa/Makefile.am
++++ b/src/pisa/Makefile.am
+@@ -1,3 +1,4 @@
++ACLOCAL_AMFLAGS = -I macros
+ SUBDIRS = molref pisastore sbase
+
+ pkgdatadir = $(datadir)/pisa
+@@ -20,8 +21,8 @@ pisa.cpp pisa_lists.cpp seq_superpose.cpp
+
+ bin_PROGRAMS = pisa
+
+-INCLUDES = $(MMDB_CXXFLAGS) $(SSM_CXXFLAGS)
++INCLUDES = @MMDB_CFLAGS@ $(SSM_CXXFLAGS)
+
+-pisa_LDADD = $(SSM_LIBS) $(MMDB_LIBS)
++pisa_LDADD = $(SSM_LIBS) @MMDB_LIBS@
+
+ EXTRA_DIST = macros/mmdb.m4 macros/ssm.m4 pisa.cfg.in
+diff --git a/src/pisa/configure.ac b/src/pisa/configure.ac
+index 81afdda..4f99df6 100755
+--- a/src/pisa/configure.ac
++++ b/src/pisa/configure.ac
+@@ -32,35 +32,13 @@ AC_CHECK_FUNCS([floor pow rint sqrt])
+ AC_CHECK_LIB([m], [sqrt])
+
+ dnl Optional: Check for MMDB.
+-AM_PATH_MMDB(,
+- [ if test "x$mmdb_prefix" != x ; then
+- if test "x$ac_MMDB_CXXFLAGS" != x && test "x$ac_MMDB_LDOPTS" = x ; then
+- case "$ac_MMDB_CXXFLAGS" in
+- *src/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#src/mmdb#src#g`
+- ;;
+- *include/mmdb )
+- ac_MMDB_LDOPTS=`echo "$ac_MMDB_CXXFLAGS" | sed s#include/mmdb#lib#g`
+- ;;
+- *)
+- esac
+- MMDB_CXXFLAGS="$ac_MMDB_CXXFLAGS"
+- MMDB_LIBS=`echo "$ac_MMDB_LDOPTS -lmmdb" | sed s#-I#-L#`
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- else
+- MMDB_CXXFLAGS="-I$mmdb_prefix/src -I$mmdb_prefix/src/mmdb -I$mmdb_prefix/include -I$mmdb_prefix/include/mmdb"
+- MMDB_LIBS="-L$mmdb_prefix/src -L$mmdb_prefix/lib -lmmdb"
+- AC_MSG_WARN([assuming library $MMDB_LIBS headers $MMDB_CXXFLAGS])
+- fi
+- else
+- AC_MSG_ERROR([mmdb not found])
+- fi
+- ]
+-)
++PKG_CHECK_MODULES([MMDB],[mmdb])
++AC_SUBST([MMDB_CFLAGS])
++AC_SUBST([MMDB_LIBS])
+
+ ac_saved_CXXFLAGS=$CXXFLAGS
+ ac_saved_LIBS=$LIBS
+-CXXFLAGS="$CXXFLAGS $MMDB_CXXFLAGS"
++CXXFLAGS="$CXXFLAGS $MMDB_CFLAGS"
+ LIBS="$MMDB_LIBS $LIBS"
+ AM_PATH_SSM(,
+ [ if test "x$ssm_prefix" != x ; then
+diff --git a/src/rapper/Makefile.am b/src/rapper/Makefile.am
+index e78b10d..486b931 100755
+--- a/src/rapper/Makefile.am
++++ b/src/rapper/Makefile.am
+@@ -1,3 +1,3 @@
+-SUBDIRS = libxml2 gc7.0 LOOP data
++SUBDIRS = LOOP data
+
+ EXTRA_DIST =
+diff --git a/src/rapper/configure.ac b/src/rapper/configure.ac
+index 5e4ef69..11b63ec 100755
+--- a/src/rapper/configure.ac
++++ b/src/rapper/configure.ac
+@@ -48,6 +48,6 @@ AM_CONDITIONAL(AMDEP, test "x$enable_dependency_tracking" != xno)
+
+ AC_SUBST(rapper_LDFLAGS)
+
+-AC_CONFIG_SUBDIRS([gc7.0 libxml2])
++#AC_CONFIG_SUBDIRS([gc7.0 libxml2])
+ #AC_OUTPUT(Makefile LOOP/Makefile LOOP/python/Makefile data/Makefile)
+ AC_OUTPUT(Makefile LOOP/Makefile data/Makefile)
diff --git a/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs.patch b/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs.patch
new file mode 100644
index 000000000000..96978320163b
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/6.1.3-unbundle-libs.patch
@@ -0,0 +1,203 @@
+diff --git a/lib/DiffractionImage/DiffractionImageCBF.cpp b/lib/DiffractionImage/DiffractionImageCBF.cpp
+index 69b32b0..602e35f 100755
+--- a/lib/DiffractionImage/DiffractionImageCBF.cpp
++++ b/lib/DiffractionImage/DiffractionImageCBF.cpp
+@@ -6,10 +6,10 @@
+ // images.
+
+ #include "DiffractionImage.h"
+-#include "cbf.h"
+-#include "cbf_simple.h"
+-#include "cbf_string.h"
+-#include "cbf_byte_offset.h"
++#include <cbflib/cbf.h>
++#include <cbflib/cbf_simple.h>
++#include <cbflib/cbf_string.h>
++#include <cbflib/cbf_byte_offset.h>
+
+
+ using namespace std;
+diff --git a/lib/DiffractionImage/MAR/Makefile.in b/lib/DiffractionImage/MAR/Makefile.in
+index 4264696..00c4d8d 100755
+--- a/lib/DiffractionImage/MAR/Makefile.in
++++ b/lib/DiffractionImage/MAR/Makefile.in
+@@ -174,7 +174,7 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = gnu
+ noinst_LTLIBRARIES = libmar.la
+-AM_CPPFLAGS = -I../CBFlib/src -I../CBFlib/include
++AM_CPPFLAGS =
+ libmar_la_SOURCES = mar300_header.c \
+ mar345_header.c \
+ marcif.c \
+diff --git a/lib/DiffractionImage/MAR/marcif.c b/lib/DiffractionImage/MAR/marcif.c
+index d3f4212..2c37108 100755
+--- a/lib/DiffractionImage/MAR/marcif.c
++++ b/lib/DiffractionImage/MAR/marcif.c
+@@ -31,8 +31,7 @@
+ #include "marcif_header.h"
+ #include "mar345_header.h"
+
+-#include <cbf.h>
+-#include <img.h>
++#include <cbflib/cbf.h>
+
+ #define printe(x) printf("%s: %s: %s\n",prg,f,x)
+ #undef cbf_failnez
+diff --git a/lib/DiffractionImage/Makefile.in b/lib/DiffractionImage/Makefile.in
+index 8197956..807cf25 100755
+--- a/lib/DiffractionImage/Makefile.in
++++ b/lib/DiffractionImage/Makefile.in
+@@ -106,23 +106,19 @@ PROGRAMS = $(bin_PROGRAMS)
+ am_automask_OBJECTS = automask.$(OBJEXT)
+ automask_OBJECTS = $(am_automask_OBJECTS)
+ automask_DEPENDENCIES = libDiffImage.la ./Bruker/libbruker.la \
+- ./CBFlib/src/libcbf.la ./MAR/libmar.la ./Rigaku/librigaku.la \
+- ./jpg/libjpeg.la
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+ am_diff2jpeg_OBJECTS = diff2jpeg.$(OBJEXT)
+ diff2jpeg_OBJECTS = $(am_diff2jpeg_OBJECTS)
+ diff2jpeg_DEPENDENCIES = libDiffImage.la ./Bruker/libbruker.la \
+- ./CBFlib/src/libcbf.la ./MAR/libmar.la ./Rigaku/librigaku.la \
+- ./jpg/libjpeg.la
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+ am_diffdump_OBJECTS = diffdump.$(OBJEXT)
+ diffdump_OBJECTS = $(am_diffdump_OBJECTS)
+ diffdump_DEPENDENCIES = libDiffImage.la ./Bruker/libbruker.la \
+- ./CBFlib/src/libcbf.la ./MAR/libmar.la ./Rigaku/librigaku.la \
+- ./jpg/libjpeg.la
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+ am_printpeaks_OBJECTS = printpeaks.$(OBJEXT)
+ printpeaks_OBJECTS = $(am_printpeaks_OBJECTS)
+ printpeaks_DEPENDENCIES = libDiffImage.la ./Bruker/libbruker.la \
+- ./CBFlib/src/libcbf.la ./MAR/libmar.la ./Rigaku/librigaku.la \
+- ./jpg/libjpeg.la
++ ./MAR/libmar.la ./Rigaku/librigaku.la
+ DEFAULT_INCLUDES = -I.@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+@@ -284,8 +280,8 @@ target_alias = @target_alias@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = gnu
+-SUBDIRS = CBFlib Bruker MAR Rigaku jpg
+-AM_CPPFLAGS = -I./MAR -I./CBFlib/src -I./CBFlib/include -I./jpg
++SUBDIRS = Bruker MAR Rigaku
++AM_CPPFLAGS = -I./MAR
+ lib_LTLIBRARIES = libDiffImage.la $(am__append_1) $(am__append_2) \
+ $(am__append_3)
+ libDiffImage_la_SOURCES = DiffractionImageJpeg.cpp \
+@@ -311,50 +307,50 @@ libDiffImage_la_SOURCES = DiffractionImageJpeg.cpp \
+ dps_peaksearch_cn.c
+
+ libDiffImage_la_LDFLAGS = -static
+-libDiffractionImage_la_DEPENDENCIES = libDiffImage.la ./CBFlib/src/libcbf.la \
++libDiffractionImage_la_DEPENDENCIES = libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+
+ libDiffractionImage_la_SOURCES = DiffractionImageTclInterface.cpp
+ libDiffractionImage_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
++ -lcbf ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la -ljpeg \
+ --no-whole-archive -rpath '$(libdir)'
+
+-lib_DiffractionImage_la_DEPENDENCIES = libDiffImage.la ./CBFlib/src/libcbf.la \
++lib_DiffractionImage_la_DEPENDENCIES = libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+
+ lib_DiffractionImage_la_SOURCES = DiffractionImagePythonInterface.cpp
+ lib_DiffractionImage_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
++ -lcbf ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la -ljpeg \
+ --no-whole-archive -rpath '$(libdir)'
+
+-libDiffractionImaJ_la_DEPENDENCIES = libDiffImage.la ./CBFlib/src/libcbf.la \
++libDiffractionImaJ_la_DEPENDENCIES = libDiffImage.la \
+ ./Bruker/libbruker.la ./MAR/libmar.la \
+- ./Rigaku/librigaku.la ./jpg/libjpeg.la
++ ./Rigaku/librigaku.la
+
+ libDiffractionImaJ_la_SOURCES = DiffractionImageJavaInterface.cpp
+ libDiffractionImaJ_la_LDFLAGS = -shared --whole-archive libDiffImage.la \
+- ./CBFlib/src/libcbf.la ./Bruker/libbruker.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la \
++ -lcbf ./Bruker/libbruker.la \
++ ./MAR/libmar.la ./Rigaku/librigaku.la -ljpeg \
+ --no-whole-archive -rpath '$(libdir)'
+
+-automask_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++automask_LDADD = libDiffImage.la ./Bruker/libbruker.la -lcbf \
++ ./MAR/libmar.la ./Rigaku/librigaku.la -ljpeg
+
+ automask_SOURCES = automask.cpp
+-diffdump_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++diffdump_LDADD = libDiffImage.la ./Bruker/libbruker.la -lcbf \
++ ./MAR/libmar.la ./Rigaku/librigaku.la -ljpeg
+
+ diffdump_SOURCES = diffdump.cpp
+-printpeaks_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++printpeaks_LDADD = libDiffImage.la ./Bruker/libbruker.la -lcbf \
++ ./MAR/libmar.la ./Rigaku/librigaku.la -ljpeg
+
+ printpeaks_SOURCES = printpeaks.cpp
+-diff2jpeg_LDADD = libDiffImage.la ./Bruker/libbruker.la ./CBFlib/src/libcbf.la \
+- ./MAR/libmar.la ./Rigaku/librigaku.la ./jpg/libjpeg.la
++diff2jpeg_LDADD = libDiffImage.la ./Bruker/libbruker.la -lcbf \
++ ./MAR/libmar.la ./Rigaku/librigaku.la -ljpeg
+
+ diff2jpeg_SOURCES = diff2jpeg.cpp
+ all: all-recursive
+diff --git a/lib/DiffractionImage/configure b/lib/DiffractionImage/configure
+index 3fb5784..fdf9683 100755
+--- a/lib/DiffractionImage/configure
++++ b/lib/DiffractionImage/configure
+@@ -21768,7 +21768,7 @@ _ACEOF
+ fi
+
+
+-ac_config_files="$ac_config_files Makefile CBFlib/Makefile CBFlib/src/Makefile MAR/Makefile Rigaku/Makefile Bruker/Makefile jpg/Makefile"
++ac_config_files="$ac_config_files Makefile MAR/Makefile Rigaku/Makefile Bruker/Makefile "
+
+
+ cat >confcache <<\_ACEOF
+@@ -22407,12 +22407,9 @@ do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+- "CBFlib/Makefile") CONFIG_FILES="$CONFIG_FILES CBFlib/Makefile" ;;
+- "CBFlib/src/Makefile") CONFIG_FILES="$CONFIG_FILES CBFlib/src/Makefile" ;;
+ "MAR/Makefile") CONFIG_FILES="$CONFIG_FILES MAR/Makefile" ;;
+ "Rigaku/Makefile") CONFIG_FILES="$CONFIG_FILES Rigaku/Makefile" ;;
+ "Bruker/Makefile") CONFIG_FILES="$CONFIG_FILES Bruker/Makefile" ;;
+- "jpg/Makefile") CONFIG_FILES="$CONFIG_FILES jpg/Makefile" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+diff --git a/lib/DiffractionImage/configure.in b/lib/DiffractionImage/configure.in
+index 7f54b4b..69b10e1 100755
+--- a/lib/DiffractionImage/configure.in
++++ b/lib/DiffractionImage/configure.in
+@@ -65,11 +65,8 @@ AM_CONDITIONAL([WANT_JAVA], test z${HAVE_JAVA} != z)
+ AC_CHECK_LIB([m], [sqrt])
+
+ AC_CONFIG_FILES([Makefile
+- CBFlib/Makefile
+- CBFlib/src/Makefile
+ MAR/Makefile
+ Rigaku/Makefile
+- Bruker/Makefile
+- jpg/Makefile])
++ Bruker/Makefile])
+
+ AC_OUTPUT
diff --git a/sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-force.patch b/sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-force.patch
new file mode 100644
index 000000000000..367d53e3e4f6
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-force.patch
@@ -0,0 +1,16 @@
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 60033eb..13ddbd0 100755
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -53,7 +53,7 @@ clipper: FORCE fftw
+
+ diffractionImg:
+ if test -n "$(diffimdir)"; then cd $(top_srcdir)/$(diffimdir); \
+- $(MAKE) -i $(MFLAGS) $(MVARS); else true; fi
++ $(MAKE) $(MFLAGS) $(MVARS); fi
+
+ ssm:
+ if test -n "$(ssmdir)"; then cd $(top_srcdir)/$(ssmdir); \
diff --git a/sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-format-security.patch b/sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-format-security.patch
new file mode 100644
index 000000000000..caf62bb652e2
--- /dev/null
+++ b/sci-libs/ccp4-libs/files/ccp4-libs-6.1.3-format-security.patch
@@ -0,0 +1,16 @@
+ lib/DiffractionImage/DiffractionImagePythonInterface.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/DiffractionImage/DiffractionImagePythonInterface.cpp b/lib/DiffractionImage/DiffractionImagePythonInterface.cpp
+index f729fc5..4c24e82 100755
+--- a/lib/DiffractionImage/DiffractionImagePythonInterface.cpp
++++ b/lib/DiffractionImage/DiffractionImagePythonInterface.cpp
+@@ -867,7 +867,7 @@ SWIG_Python_AddErrorMsg(const char* mesg)
+ Py_DECREF(old_str);
+ Py_DECREF(value);
+ } else {
+- PyErr_Format(PyExc_RuntimeError, mesg);
++ PyErr_Format(PyExc_RuntimeError, "%s", mesg);
+ }
+ }
+
diff --git a/sci-libs/ccp4-libs/metadata.xml b/sci-libs/ccp4-libs/metadata.xml
new file mode 100644
index 000000000000..c0432fefe855
--- /dev/null
+++ b/sci-libs/ccp4-libs/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher (jlec)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/ccpn-data/Manifest b/sci-libs/ccpn-data/Manifest
new file mode 100644
index 000000000000..76446c08d0c4
--- /dev/null
+++ b/sci-libs/ccpn-data/Manifest
@@ -0,0 +1,6 @@
+DIST analysis2.3.1r2.tar.gz 21683215 SHA256 a9e47a24d84f7b8261c6c23a8607af5a6ba2f2db9e161a7f873794c1ba8663ef SHA512 96bf75d1e958340d83836348f5a3045e5b2632913c66d9d74272140085800ea096f1ae53eadfb5bc0eba76804f1864553e82a517d637bdc3bace71b0c1c785ee WHIRLPOOL 2d1e55a4d8e62decc649a885d767dc5a2bdec701447a97ef8bc5e15ddde8c6add5fb0606c0cdd5871bbb9af74c163a13a28207b3e254fb41ba56293c88d6bc85
+DIST analysis2.4.0.tar.gz 36047222 SHA256 efde9f398bb62cb79e32cfe3118fe2af4ff6c56e5a9068bee654b3aa00f20ae1 SHA512 2f9c5abd401675796d64c620f6142b484084c54af98e0a4800b2bea81de447d711d594ccf773f86ef6631f0482fe0a0ad2881da713d6e022e0704f8dea8d65d9 WHIRLPOOL 922aaf0b464966d91286e1e96757cdf66238373f5c358623657f552012473cea4196622274dbbc8455b60df3580132497c6e9de2f3d9c2f539fb4ad8684dbf96
+DIST analysis2.4.1.tar.gz 36088236 SHA256 1cb089dcc739e8536d938a68536f556094f5d728907b251fe337758ba5bef106 SHA512 db44468c360d51815614fe0055505001c0a7a722f980c2c049c00524672bdfd4a507134ce1d68b29ebf622ffe94e0c9bb9685fea5b3441790b997a64f78c0dc1 WHIRLPOOL b53fc0438a878a8f8ce0244f5c1ce9edb616665149a699364e3bcd38c5db548c22b80ef67b4183ad5321b71b69a3b85aecc7d912893bba947700003a411651ac
+DIST analysis2.4.2.tar.gz 36390919 SHA256 14941131033cbd4b0b13d6d4fe3f9253360a7c2ace8ece9194be00c1fe4b2903 SHA512 694faefd3c085b559b6bb4729141a9ab885334f578bfbb0ebf260366dbca38c31738d5f5af50b5c7ea16b304b27adf80411082859796a5afeec630c36d56bd8b WHIRLPOOL 4499dcb074d445bfc972f9dea43e6f3e3c28722d513dce0fec4e1b2b5dab8be098f53f82565d86a4e7935f0595ef303465668230aa61021cf88e13cce8606214
+DIST ccpn-update-2.3.1-140425.patch.xz 19020 SHA256 38cc7100d46966cb07fbb8c032248064191da3e015de4332878e8992f6acc9e6 SHA512 071e1a0c4f589a76a6878cb5636516304c3eb9d929924ed1d03c1838cb1d894cc330cc5c6c0b222a71e24513e212f469a69fc3e746ea82e34eb669292d7ce52e WHIRLPOOL 72d6850734e0e4f64fb63b1790ecd942b03b03c3e4682c1bc6248b3ee1f12bf014534a2f37ca31914b4a1be87ad8ef8a160364aa5dd0e1b3e5bfe47f3a83b8f3
+DIST ccpn-update-2.4.0-140425.patch.xz 1096 SHA256 ea1325b4b4ce6e03f004686f0b75243c0b354c72b7431f3611c59f8b288afd8d SHA512 8c1d3df4210f02e8fbb07caabab740c115769457296ae62903f5401ca875b006e355b99dcda32f9606c93c84b0e0cee07acff53fc953bc77918597b58f826e0f WHIRLPOOL 594ed27fc74ef56473af76de164a2c3e30f63ffd677ebcd17d3c36f724961afbb2952212a1140cd1aaf7ba6bd5d9ba960c70ec95808f97a5b94a641b51cc8653
diff --git a/sci-libs/ccpn-data/ccpn-data-2.3.1_p140425.ebuild b/sci-libs/ccpn-data/ccpn-data-2.3.1_p140425.ebuild
new file mode 100644
index 000000000000..4dc7b171156d
--- /dev/null
+++ b/sci-libs/ccpn-data/ccpn-data-2.3.1_p140425.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils portability python-r1 versionator
+
+PATCHSET="${PV##*_p}"
+MY_PN="${PN/-data}mr"
+MY_PV="$(replace_version_separator 3 _ ${PV%%_p*})r2"
+MY_MAJOR="$(get_version_component_range 1-3)"
+
+DESCRIPTION="The Collaborative Computing Project for NMR - Data"
+HOMEPAGE="http://www.ccpn.ac.uk/ccpn"
+SRC_URI="http://www2.ccpn.ac.uk/download/${MY_PN}/analysis${MY_PV}.tar.gz"
+[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentoo.org/~jlec/distfiles/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch.xz"
+
+SLOT="0"
+LICENSE="|| ( CCPN LGPL-2.1 )"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ !<sci-chemistry/ccpn-${PVR}"
+DEPEND=""
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"/ccpnmr/ccpnmr2.3
+
+src_prepare() {
+ [[ -n ${PATCHSET} ]] && \
+ epatch "${WORKDIR}"/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch
+ cp "${FILESDIR}"/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml data/ccp/nmr/NmrExpPrototype/ || die
+}
+
+src_install() {
+ local i pydocs in_path ein_path
+
+ dodir /usr/share/doc/${PF}/html
+ sed \
+ -e "s:../ccpnmr2.1:${EPREFIX}/usr/share/doc/${PF}/html:g" \
+ ../doc/index.html > "${ED}"/usr/share/doc/${PF}/html/index.html || die
+ treecopy $(find python/ -name doc -type d) "${ED}"/usr/share/doc/${PF}/html/
+
+ pydocs="$(find python -name doc -type d)"
+
+ symlinking() {
+ in_path=$(python_get_sitedir)/ccpn
+ ein_path="${in_path#${EPREFIX}}"
+ dosym ../../../../share/doc/${PF}/html ${ein_path}/doc
+ for i in ${pydocs}; do
+ dosym /usr/share/doc/${PF}/html/${i} ${ein_path}/${i}
+ done
+ dosym /usr/share/ccpn/data ${ein_path}/data
+ dosym /usr/share/ccpn/model ${ein_path}/model
+ }
+ python_foreach_impl symlinking
+
+ dohtml -r doc/*
+ insinto /usr/share/ccpn
+ doins -r data model
+}
diff --git a/sci-libs/ccpn-data/ccpn-data-2.4.0_p140425.ebuild b/sci-libs/ccpn-data/ccpn-data-2.4.0_p140425.ebuild
new file mode 100644
index 000000000000..90e27ce624cf
--- /dev/null
+++ b/sci-libs/ccpn-data/ccpn-data-2.4.0_p140425.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils portability python-r1 versionator
+
+PATCHSET="${PV##*_p}"
+MY_PN="${PN/-data}mr"
+MY_PV="$(replace_version_separator 3 _ ${PV%%_p*})"
+MY_MAJOR="$(get_version_component_range 1-3)"
+
+DESCRIPTION="The Collaborative Computing Project for NMR - Data"
+HOMEPAGE="http://www.ccpn.ac.uk/ccpn"
+SRC_URI="http://www2.ccpn.ac.uk/download/${MY_PN}/analysis${MY_PV}.tar.gz"
+[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentoo.org/~jlec/distfiles/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch.xz"
+
+SLOT="0"
+LICENSE="|| ( CCPN LGPL-2.1 )"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ !<sci-chemistry/ccpn-${PVR}"
+DEPEND=""
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"/ccpnmr/ccpnmr2.4
+
+src_prepare() {
+ [[ -n ${PATCHSET} ]] && \
+ epatch "${WORKDIR}"/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch
+ cp "${FILESDIR}"/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml data/ccp/nmr/NmrExpPrototype/ || die
+}
+
+src_install() {
+ local i pydocs in_path ein_path
+
+ dodir /usr/share/doc/${PF}/html
+ sed \
+ -e "s:../ccpnmr2.1:${EPREFIX}/usr/share/doc/${PF}/html:g" \
+ ../doc/index.html > "${ED}"/usr/share/doc/${PF}/html/index.html || die
+ treecopy $(find python/ -name doc -type d) "${ED}"/usr/share/doc/${PF}/html/
+
+ pydocs="$(find python -name doc -type d)"
+
+ symlinking() {
+ in_path=$(python_get_sitedir)/ccpn
+ ein_path="${in_path#${EPREFIX}}"
+ dosym ../../../../share/doc/${PF}/html ${ein_path}/doc
+ for i in ${pydocs}; do
+ dosym /usr/share/doc/${PF}/html/${i} ${ein_path}/${i}
+ done
+ dosym /usr/share/ccpn/data ${ein_path}/data
+ dosym /usr/share/ccpn/model ${ein_path}/model
+ }
+ python_foreach_impl symlinking
+
+ dohtml -r doc/*
+ insinto /usr/share/ccpn
+ doins -r data model
+}
diff --git a/sci-libs/ccpn-data/ccpn-data-2.4.1.ebuild b/sci-libs/ccpn-data/ccpn-data-2.4.1.ebuild
new file mode 100644
index 000000000000..fef8c3c29b8e
--- /dev/null
+++ b/sci-libs/ccpn-data/ccpn-data-2.4.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils portability python-r1 versionator
+
+#PATCHSET="${PV##*_p}"
+MY_PN="${PN/-data}mr"
+MY_PV="$(replace_version_separator 3 _ ${PV%%_p*})"
+MY_MAJOR="$(get_version_component_range 1-3)"
+
+DESCRIPTION="The Collaborative Computing Project for NMR - Data"
+HOMEPAGE="http://www.ccpn.ac.uk/ccpn"
+SRC_URI="http://www2.ccpn.ac.uk/download/${MY_PN}/analysis${MY_PV}.tar.gz"
+[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentoo.org/~jlec/distfiles/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch.xz"
+
+SLOT="0"
+LICENSE="|| ( CCPN LGPL-2.1 )"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ !<sci-chemistry/ccpn-${PVR}"
+DEPEND=""
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"/ccpnmr/ccpnmr2.4
+
+src_prepare() {
+ [[ -n ${PATCHSET} ]] && \
+ epatch "${WORKDIR}"/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch
+ cp "${FILESDIR}"/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml data/ccp/nmr/NmrExpPrototype/ || die
+}
+
+src_install() {
+ local i pydocs in_path ein_path
+
+ dodir /usr/share/doc/${PF}/html
+ sed \
+ -e "s:../ccpnmr2.1:${EPREFIX}/usr/share/doc/${PF}/html:g" \
+ ../doc/index.html > "${ED}"/usr/share/doc/${PF}/html/index.html || die
+ treecopy $(find python/ -name doc -type d) "${ED}"/usr/share/doc/${PF}/html/
+
+ pydocs="$(find python -name doc -type d)"
+
+ symlinking() {
+ in_path=$(python_get_sitedir)/ccpn
+ ein_path="${in_path#${EPREFIX}}"
+ dosym ../../../../share/doc/${PF}/html ${ein_path}/doc
+ for i in ${pydocs}; do
+ dosym /usr/share/doc/${PF}/html/${i} ${ein_path}/${i}
+ done
+ dosym /usr/share/ccpn/data ${ein_path}/data
+ dosym /usr/share/ccpn/model ${ein_path}/model
+ }
+ python_foreach_impl symlinking
+
+ dohtml -r doc/*
+ insinto /usr/share/ccpn
+ doins -r data model
+}
diff --git a/sci-libs/ccpn-data/ccpn-data-2.4.2.ebuild b/sci-libs/ccpn-data/ccpn-data-2.4.2.ebuild
new file mode 100644
index 000000000000..9c480829032c
--- /dev/null
+++ b/sci-libs/ccpn-data/ccpn-data-2.4.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils portability python-r1 versionator
+
+#PATCHSET="${PV##*_p}"
+MY_PN="${PN/-data}mr"
+MY_PV="$(replace_version_separator 3 _ ${PV%%_p*})"
+MY_MAJOR="$(get_version_component_range 1-3)"
+
+DESCRIPTION="The Collaborative Computing Project for NMR - Data"
+HOMEPAGE="http://www.ccpn.ac.uk/ccpn"
+SRC_URI="http://www2.ccpn.ac.uk/download/${MY_PN}/analysis${MY_PV}.tar.gz"
+[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentoo.org/~jlec/distfiles/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch.xz"
+
+SLOT="0"
+LICENSE="|| ( CCPN LGPL-2.1 )"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ !<sci-chemistry/ccpn-${PVR}"
+DEPEND=""
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"/ccpnmr/ccpnmr2.4
+
+src_prepare() {
+ [[ -n ${PATCHSET} ]] && \
+ epatch "${WORKDIR}"/ccpn-update-${MY_MAJOR}-${PATCHSET}.patch
+ cp "${FILESDIR}"/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml data/ccp/nmr/NmrExpPrototype/ || die
+}
+
+src_install() {
+ local i pydocs in_path ein_path
+
+ dodir /usr/share/doc/${PF}/html
+ sed \
+ -e "s:../ccpnmr2.1:${EPREFIX}/usr/share/doc/${PF}/html:g" \
+ ../doc/index.html > "${ED}"/usr/share/doc/${PF}/html/index.html || die
+ treecopy $(find python/ -name doc -type d) "${ED}"/usr/share/doc/${PF}/html/
+
+ pydocs="$(find python -name doc -type d)"
+
+ symlinking() {
+ in_path=$(python_get_sitedir)/ccpn
+ ein_path="${in_path#${EPREFIX}}"
+ dosym ../../../../share/doc/${PF}/html ${ein_path}/doc
+ for i in ${pydocs}; do
+ dosym /usr/share/doc/${PF}/html/${i} ${ein_path}/${i}
+ done
+ dosym /usr/share/ccpn/data ${ein_path}/data
+ dosym /usr/share/ccpn/model ${ein_path}/model
+ }
+ python_foreach_impl symlinking
+
+ dohtml -r doc/*
+ insinto /usr/share/ccpn
+ doins -r data model
+}
diff --git a/sci-libs/ccpn-data/files/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml b/sci-libs/ccpn-data/files/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml
new file mode 100644
index 000000000000..60e8041c99da
--- /dev/null
+++ b/sci-libs/ccpn-data/files/312+ccpn_rhf22_2013-10-02-16-17-30-923_00001.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<_StorageUnit release="2.1.2" originator="CCPN Python XmlIO" packageGuid="www.ccpn.ac.uk_Fogh_2006-08-16-14:22:45_00019" time="Wed Oct 2 16:22:49 2013">
+
+<NMRX.NmrExpPrototype _ID="_1" createdBy="ccpnRef" guid="ccpn_rhf22_2013-10-02-16-17-30-923_00001" lastUnlockedBy="editor" serial="312">
+ <NMRX.NmrExpPrototype.category>
+ <NMRX.ExpCategory>through-bond</NMRX.ExpCategory>
+ </NMRX.NmrExpPrototype.category>
+ <NMRX.NmrExpPrototype.details>
+ <IMPL.Text>e.g. POST-C7, INADEQUATE</IMPL.Text>
+ </NMRX.NmrExpPrototype.details>
+ <NMRX.NmrExpPrototype.name>
+ <IMPL.Line>C[DQ(CC)]_C.through-space</IMPL.Line>
+ </NMRX.NmrExpPrototype.name>
+ <NMRX.NmrExpPrototype.synonym>
+ <IMPL.Line>13C DQ</IMPL.Line>
+ </NMRX.NmrExpPrototype.synonym>
+ <NMRX.NmrExpPrototype.atomSites>
+ <NMRX.AtomSite _ID="_2" isotopeCode="13C" name="C" serial="1">
+ <NMRX.AtomSite.expMeasurements> _3 _4</NMRX.AtomSite.expMeasurements>
+ <NMRX.AtomSite.expTransfers> _5 _6</NMRX.AtomSite.expTransfers>
+ </NMRX.AtomSite>
+ <NMRX.AtomSite _ID="_7" isotopeCode="13C" name="C" serial="2">
+ <NMRX.AtomSite.expMeasurements> _4</NMRX.AtomSite.expMeasurements>
+ <NMRX.AtomSite.expTransfers> _5</NMRX.AtomSite.expTransfers>
+ </NMRX.AtomSite>
+ <NMRX.AtomSite _ID="_8" isotopeCode="13C" name="C" serial="3">
+ <NMRX.AtomSite.expMeasurements> _9</NMRX.AtomSite.expMeasurements>
+ <NMRX.AtomSite.expTransfers> _6</NMRX.AtomSite.expTransfers>
+ </NMRX.AtomSite>
+ </NMRX.NmrExpPrototype.atomSites>
+ <NMRX.NmrExpPrototype.expGraphs>
+ <NMRX.ExpGraph _ID="_10" serial="1">
+ <NMRX.ExpGraph.expSteps>
+ <NMRX.ExpStep _ID="_11" serial="1" stepNumber="1">
+ </NMRX.ExpStep>
+ <NMRX.ExpStep _ID="_12" serial="2" stepNumber="2">
+ </NMRX.ExpStep>
+ <NMRX.ExpStep _ID="_13" serial="3" stepNumber="3">
+ </NMRX.ExpStep>
+ <NMRX.ExpStep _ID="_14" serial="4" stepNumber="4">
+ </NMRX.ExpStep>
+ </NMRX.ExpGraph.expSteps>
+ <NMRX.ExpGraph.expTransfers>
+ <NMRX.ExpTransfer _ID="_5" serial="1" transferType="onebond">
+ <NMRX.ExpTransfer.atomSites> _7 _2</NMRX.ExpTransfer.atomSites>
+ </NMRX.ExpTransfer>
+ <NMRX.ExpTransfer _ID="_6" serial="2" transferToSelf="true" transferType="through-space">
+ <NMRX.ExpTransfer.atomSites> _8 _2</NMRX.ExpTransfer.atomSites>
+ </NMRX.ExpTransfer>
+ </NMRX.ExpGraph.expTransfers>
+ </NMRX.ExpGraph>
+ </NMRX.NmrExpPrototype.expGraphs>
+ <NMRX.NmrExpPrototype.expMeasurements>
+ <NMRX.ExpMeasurement _ID="_3" serial="1">
+ <NMRX.ExpMeasurement.measurementType>
+ <NMRX.ExpMeasurementType>Shift</NMRX.ExpMeasurementType>
+ </NMRX.ExpMeasurement.measurementType>
+ <NMRX.ExpMeasurement.atomSites> _2</NMRX.ExpMeasurement.atomSites>
+ <NMRX.ExpMeasurement.expSteps> _11 _13</NMRX.ExpMeasurement.expSteps>
+ <NMRX.ExpMeasurement.refExpDimRefs> _15</NMRX.ExpMeasurement.refExpDimRefs>
+ </NMRX.ExpMeasurement>
+ <NMRX.ExpMeasurement _ID="_4" serial="2">
+ <NMRX.ExpMeasurement.atomSiteWeights> 1.0 1.0</NMRX.ExpMeasurement.atomSiteWeights>
+ <NMRX.ExpMeasurement.measurementType>
+ <NMRX.ExpMeasurementType>MQShift</NMRX.ExpMeasurementType>
+ </NMRX.ExpMeasurement.measurementType>
+ <NMRX.ExpMeasurement.atomSites> _2 _7</NMRX.ExpMeasurement.atomSites>
+ <NMRX.ExpMeasurement.expSteps> _12</NMRX.ExpMeasurement.expSteps>
+ <NMRX.ExpMeasurement.refExpDimRefs> _16 _17</NMRX.ExpMeasurement.refExpDimRefs>
+ </NMRX.ExpMeasurement>
+ <NMRX.ExpMeasurement _ID="_9" serial="3">
+ <NMRX.ExpMeasurement.measurementType>
+ <NMRX.ExpMeasurementType>Shift</NMRX.ExpMeasurementType>
+ </NMRX.ExpMeasurement.measurementType>
+ <NMRX.ExpMeasurement.atomSites> _8</NMRX.ExpMeasurement.atomSites>
+ <NMRX.ExpMeasurement.expSteps> _14</NMRX.ExpMeasurement.expSteps>
+ <NMRX.ExpMeasurement.refExpDimRefs> _18 _19</NMRX.ExpMeasurement.refExpDimRefs>
+ </NMRX.ExpMeasurement>
+ </NMRX.NmrExpPrototype.expMeasurements>
+ <NMRX.NmrExpPrototype.refExperiments>
+ <NMRX.RefExperiment _ID="_20" serial="3">
+ <NMRX.RefExperiment.name>
+ <IMPL.Line>C[DQ(CC)]_C.through-space</IMPL.Line>
+ </NMRX.RefExperiment.name>
+ <NMRX.RefExperiment.synonym>
+ <IMPL.Line>13C DQ-SQ-SQ</IMPL.Line>
+ </NMRX.RefExperiment.synonym>
+ <NMRX.RefExperiment.refExpDims>
+ <NMRX.RefExpDim _ID="_21" dim="1">
+ <NMRX.RefExpDim.refExpDimRefs>
+ <NMRX.RefExpDimRef _ID="_19" serial="1">
+ <NMRX.RefExpDimRef.validScalingFactors> 1.0</NMRX.RefExpDimRef.validScalingFactors>
+ </NMRX.RefExpDimRef>
+ </NMRX.RefExpDim.refExpDimRefs>
+ </NMRX.RefExpDim>
+ <NMRX.RefExpDim _ID="_22" dim="2">
+ <NMRX.RefExpDim.refExpDimRefs>
+ <NMRX.RefExpDimRef _ID="_15" serial="1">
+ <NMRX.RefExpDimRef.validScalingFactors> 1.0</NMRX.RefExpDimRef.validScalingFactors>
+ </NMRX.RefExpDimRef>
+ </NMRX.RefExpDim.refExpDimRefs>
+ </NMRX.RefExpDim>
+ <NMRX.RefExpDim _ID="_23" dim="3">
+ <NMRX.RefExpDim.refExpDimRefs>
+ <NMRX.RefExpDimRef _ID="_17" serial="1">
+ <NMRX.RefExpDimRef.validScalingFactors> 1.0</NMRX.RefExpDimRef.validScalingFactors>
+ </NMRX.RefExpDimRef>
+ </NMRX.RefExpDim.refExpDimRefs>
+ </NMRX.RefExpDim>
+ </NMRX.RefExperiment.refExpDims>
+ </NMRX.RefExperiment>
+ <NMRX.RefExperiment _ID="_24" serial="4">
+ <NMRX.RefExperiment.name>
+ <IMPL.Line>c[DQ(CC)]_C.through-space</IMPL.Line>
+ </NMRX.RefExperiment.name>
+ <NMRX.RefExperiment.synonym>
+ <IMPL.Line>13C DQ-SQ-SQ</IMPL.Line>
+ </NMRX.RefExperiment.synonym>
+ <NMRX.RefExperiment.refExpDims>
+ <NMRX.RefExpDim _ID="_25" dim="1">
+ <NMRX.RefExpDim.refExpDimRefs>
+ <NMRX.RefExpDimRef _ID="_18" serial="1">
+ <NMRX.RefExpDimRef.validScalingFactors> 1.0</NMRX.RefExpDimRef.validScalingFactors>
+ </NMRX.RefExpDimRef>
+ </NMRX.RefExpDim.refExpDimRefs>
+ </NMRX.RefExpDim>
+ <NMRX.RefExpDim _ID="_26" dim="2">
+ <NMRX.RefExpDim.refExpDimRefs>
+ <NMRX.RefExpDimRef _ID="_16" serial="1">
+ <NMRX.RefExpDimRef.validScalingFactors> 1.0</NMRX.RefExpDimRef.validScalingFactors>
+ </NMRX.RefExpDimRef>
+ </NMRX.RefExpDim.refExpDimRefs>
+ </NMRX.RefExpDim>
+ </NMRX.RefExperiment.refExpDims>
+ </NMRX.RefExperiment>
+ </NMRX.NmrExpPrototype.refExperiments>
+</NMRX.NmrExpPrototype>
+
+</_StorageUnit>
+<!--End of Memops Data-->
diff --git a/sci-libs/ccpn-data/metadata.xml b/sci-libs/ccpn-data/metadata.xml
new file mode 100644
index 000000000000..ae9ec7c5f6a4
--- /dev/null
+++ b/sci-libs/ccpn-data/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/cctbx/Manifest b/sci-libs/cctbx/Manifest
new file mode 100644
index 000000000000..ac309cf50fdc
--- /dev/null
+++ b/sci-libs/cctbx/Manifest
@@ -0,0 +1 @@
+DIST cctbx-2010.03.29.2334.tar.gz 15570372 SHA256 e1fae804caaf8593c7a3f32e4544046f4c00293063d9099721578cc8fbd17213 SHA512 7aafd647db49925fc1df16a9ccb4f8caf040b4d73e9601731eb3da3051467c3005fb2cc95b498501c899cd1bd378e6a6135cffe734cb4f93eccacbc13575b2c8 WHIRLPOOL 5954ce6ae8bd3a29deaa5d7f8b354d9468a87a01fc7d6aa9a0545e1d323b1ee209348e88270e2f50d7985b1916a7b5bf687dfdf871013d3ec35925fde253d9a0
diff --git a/sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild b/sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild
new file mode 100644
index 000000000000..c00c31bef51f
--- /dev/null
+++ b/sci-libs/cctbx/cctbx-2010.03.29.2334-r7.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils fortran-2 multilib prefix python-single-r1 toolchain-funcs
+
+MY_PV="${PV//./_}"
+
+DESCRIPTION="Computational Crystallography Toolbox"
+HOMEPAGE="http://cctbx.sourceforge.net/"
+SRC_URI="http://cci.lbl.gov/cctbx_build/results/${MY_PV}/${PN}_bundle.tar.gz -> ${P}.tar.gz"
+
+LICENSE="cctbx-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
+IUSE="+minimal openmp threads"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ?? ( openmp threads )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}]
+ sci-libs/clipper
+ sci-libs/fftw:3.0=
+ !minimal? (
+ sci-chemistry/cns
+ sci-chemistry/shelx )"
+DEPEND="${RDEPEND}
+ !prefix? ( >=dev-util/scons-1.2[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}"
+MY_S="${WORKDIR}"/cctbx_sources
+MY_B="${WORKDIR}"/cctbx_build
+
+pkg_setup() {
+ use openmp && FORTRAN_NEED_OPENMP="1"
+ if use openmp && ! tc-has-openmp; then
+ ewarn "You are using gcc and OpenMP is only available with gcc >= 4.2 and icc"
+ ewarn "If you want to build ${PN} with OpenMP, abort now,"
+ ewarn "and switch CC to an OpenMP capable compiler"
+ FORTRAN_NEED_OPENMP=1
+ fi
+ fortran-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ local opts
+ local optsld
+
+ epatch \
+ "${FILESDIR}"/${PV}-tst_server.py.patch \
+ "${FILESDIR}"/${PV}-boost.patch \
+ "${FILESDIR}"/${PV}-clipper.patch \
+ "${FILESDIR}"/${PV}-flags.patch \
+ "${FILESDIR}"/${PV}-soname.patch \
+ "${FILESDIR}"/${PV}-gcc-4.6.patch \
+ "${FILESDIR}"/${PV}-gcc-4.7.patch \
+ "${FILESDIR}"/${PV}-format-security.patch
+
+ eprefixify "${MY_S}"/scitbx/libtbx_refresh.py
+
+ rm -rvf "${MY_S}/boost" "${MY_S}/PyCifRW" >> "${T}"/clean.log || die
+ if ! use prefix; then
+ rm -rvf "${MY_S}/scons" >> "${T}"/clean.log || die
+ echo "import os, sys; os.execvp('scons', sys.argv)" > "${MY_S}"/libtbx/command_line/scons.py || die
+ fi
+
+ find "${MY_S}/clipper" -name "*.h" -print -delete >> "${T}"/clean.log || die
+
+ sed \
+ -e "/LIBS/s:boost_python:boost_python-$(echo ${EPYTHON} | sed 's/python//'):g" \
+ -i "${MY_S}"/boost_adaptbx/SConscript "${MY_S}"/scitbx/boost_python/SConscript || die
+}
+
+src_configure() {
+ local compiler
+ local myconf
+
+ myconf="${MY_S}/libtbx/configure.py"
+
+ compiler=$(expr match "$(tc-getCC)" '.*\([a-z]cc\)')
+ myconf="${myconf} --compiler=${compiler}"
+
+ # Additional USE flag usage
+ myconf="${myconf} --enable-openmp-if-possible=$(usex openmp true false)"
+
+ use threads && USEthreads="--enable-boost-threads"
+
+ myconf="${myconf} ${USE_threads} --scan-boost --use_environment_flags"
+
+ mkdir "${MY_B}" && myconf="${myconf} --current_working_directory=${MY_B}"
+ cd "${MY_B}"
+
+ myconf="${myconf} --build=release fftw3tbx rstbx smtbx mmtbx clipper_adaptbx fable"
+ einfo "configuring with ${python} ${myconf}"
+
+ ${EPYTHON} ${myconf} || die "configure failed"
+}
+
+src_compile() {
+ local makeopts_exp
+
+ cd "${MY_B}"
+
+ makeopts_exp=${MAKEOPTS/j/j }
+ makeopts_exp=${makeopts_exp%-l[0-9]*}
+
+ source setpaths_all.sh
+
+ einfo "compiling with libtbx.scons ${makeopts_exp}"
+ libtbx.scons ${makeopts_exp} .|| die "make failed"
+}
+
+src_test(){
+ source "${MY_B}"/setpaths_all.sh
+ libtbx.python $(libtbx.show_dist_paths boost_adaptbx)/tests/tst_rational.py && \
+ libtbx.python ${SCITBX_DIST}/run_tests.py ${MAKEOPTS_EXP} && \
+ libtbx.python ${CCTBX_DIST}/run_tests.py ${MAKEOPTS_EXP} \
+ || die "test failed"
+}
+
+src_install(){
+ local lib baselib
+# find cctbx_build/ -type f \( -name "*.py" -o -name "*sh" \) -exec \
+# sed -e "s:${MY_S}:${EPREFIX}/usr/$(get_libdir)/cctbx/cctbx_sources:g" \
+# -e "s:${MY_B}:${EPREFIX}/usr/$(get_libdir)/cctbx/cctbx_build:g" \
+# -i '{}' \; || die "Fail to correct path"
+
+ sed \
+ -e "s:${MY_B}:${EPREFIX}/usr:g" \
+ -e "s:${MY_S}:${EPREFIX}/$(python_get_sitedir):g" \
+ -i "${MY_B}/libtbx_env" || die
+
+ insinto /usr/share/cctbx
+ doins "${MY_B}/libtbx_env" || die
+
+ ebegin "removing unnessary files"
+ rm -r "${S}"/cctbx_sources/{clipper,ccp4io,ucs-fonts,TAG} || die "failed to remove uneeded scons"
+ find -O3 "${S}" -type f \
+ \( -name "*conftest*" -o -name "*.o" -o -name "*.c" -o -name "*.f" -o -name "*.cpp" -o \
+ -name "*.pyc" -o -name "SCons*" -o -name "Makefile" -o -name "config.log" \) -delete \
+ -print >> "${T}"/clean.log || die
+ find "${S}" -type d -empty -delete -print >> "${T}"/clean.log || die
+ find "${MY_B}" -maxdepth 1 -type f -delete -print >> "${T}"/clean.log || die
+ eend
+
+ dobin "${MY_B}"/bin/*
+ rm -vrf "${MY_B}/bin" >> "${T}"/clean.log || die
+ dolib.so "${MY_B}"/lib/lib*
+ mv "${ED}"/usr/$(get_libdir)/libscitbx_min{,i}pack.so || die
+ rm -vf "${MY_B}"/lib/lib* >> "${T}"/clean.log || die
+
+ for lib in "${ED}"/usr/$(get_libdir)/*.so; do
+ baselib=$(basename ${lib})
+ mv ${lib}{,.0.0} || die
+ dosym ${baselib}.0.0 /usr/$(get_libdir)/${baselib}
+ done
+
+ insinto /usr/include
+ doins -r "${MY_B}"/include/* || die
+ rm -rvf "${MY_B}/include" >> "${T}"/clean.log || die
+
+ insinto /usr/libexec/${PN}
+ doins -r "${MY_B}"/* || die
+ find "${ED}"/usr/libexec/${PN} -type f -exec chmod 755 '{}' \;
+
+ cd "${MY_S}"
+ python_domodule * "${MY_B}"/lib/*
+ rm -rvf "${MY_B}/lib" >> "${T}"/clean.log || die
+
+ sed \
+ -e "/PYTHONPATH/s:${MY_S}:$(python_get_sitedir):g" \
+ -e "/PYTHONPATH/s:${MY_B}:$(python_get_sitedir):g" \
+ -e "/LD_LIBRARY_PATH/s:${MY_B}/lib:${EPREFIX}/usr/$(get_libdir):g" \
+ -e "/PATH/s:${MY_B}/bin:${EPREFIX}/usr/bin:g" \
+ -e "/PATH/s:${MY_B}/exe:${EPREFIX}/usr/bin:g" \
+ -e "/exec/s:${MY_S}:$(python_get_sitedir):g" \
+ -e "/LIBTBX_BUILD/s:${MY_B}:${EPREFIX}/usr/share/cctbx:g" \
+ -e "s:${MY_B}/exe_dev/:${EPREFIX}/usr/libexec/${PN}/exe_dev/:g" \
+ -i "${ED}"/usr/bin/* || die
+
+ python_optimize
+}
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-boost.patch b/sci-libs/cctbx/files/2010.03.29.2334-boost.patch
new file mode 100644
index 000000000000..5b4439ee6780
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-boost.patch
@@ -0,0 +1,516 @@
+From 7e77ff8694b87e95efe56ed961fbc8dd30d8c238 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
+Date: Sun, 4 Jul 2010 12:21:10 +0200
+Subject: [PATCH] Unbundle boost.
+
+---
+ work/cctbx_sources/boost_adaptbx/SConscript | 260 -------------------------
+ work/cctbx_sources/cbflib_adaptbx/SConscript | 1 -
+ work/cctbx_sources/cctbx/SConscript | 1 -
+ work/cctbx_sources/clipper_adaptbx/SConscript | 1 -
+ work/cctbx_sources/fable/SConscript | 1 -
+ work/cctbx_sources/fable/libtbx_config | 2 +-
+ work/cctbx_sources/fftw3tbx/SConscript | 1 -
+ work/cctbx_sources/gltbx/SConscript | 1 -
+ work/cctbx_sources/iotbx/SConscript | 2 -
+ work/cctbx_sources/mmtbx/SConscript | 1 -
+ work/cctbx_sources/omptbx/libtbx_config | 2 +-
+ work/cctbx_sources/rstbx/SConscript | 1 -
+ work/cctbx_sources/scitbx/SConscript | 1 -
+ work/cctbx_sources/scitbx/libtbx_config | 2 +-
+ work/cctbx_sources/scitbx/libtbx_refresh.py | 3 +-
+ work/cctbx_sources/smtbx/SConscript | 1 -
+ work/cctbx_sources/spotfinder/SConscript | 1 -
+ work/cctbx_sources/tntbx/SConscript | 1 -
+ 18 files changed, 4 insertions(+), 279 deletions(-)
+
+diff --git a/work/cctbx_sources/boost_adaptbx/SConscript b/work/cctbx_sources/boost_adaptbx/SConscript
+index 0701816..9f8cbf9 100644
+--- a/work/cctbx_sources/boost_adaptbx/SConscript
++++ b/work/cctbx_sources/boost_adaptbx/SConscript
+@@ -8,39 +8,9 @@ import string
+ import sys, os
+ op = os.path
+ Import("env_base", "env_etc")
+-env_etc.boost_dist = libtbx.env.dist_path("boost")
+-env_etc.boost_include = env_etc.boost_dist
+ env_etc.boost_adaptbx_dist = libtbx.env.dist_path("boost_adaptbx")
+ env_etc.boost_adaptbx_include = os.path.dirname(env_etc.boost_adaptbx_dist)
+
+-def build_boost_thread():
+- if (not libtbx.env.build_options.enable_boost_threads):
+- return
+- if (sys.platform == "win32"): s = "win32"
+- else: s = "pthread"
+- join = os.path.join
+- src = join("libs", "thread", "src", s)
+- prefix = "#" + join(os.path.basename(env_etc.boost_dist), src)
+- source = []
+- for node in sorted(os.listdir(join(env_etc.boost_dist, src))):
+- if (not node.lower().endswith(".cpp")): continue
+- source.append(join(prefix, node))
+- env = env_base.Clone(
+- SHLINKFLAGS=env_etc.shlinkflags)
+- env.Append(SHCXXFLAGS=["-DBOOST_THREAD_BUILD_DLL"])
+- env_etc.include_registry.append(
+- env=env,
+- paths=[env_etc.boost_include])
+- darwin_shlinkcom(env_etc, env,
+- lo="boost/libs/thread/src/libboost_thread.lo",
+- dylib="lib/libboost_thread.dylib")
+- env.Repository(os.path.dirname(env_etc.boost_dist))
+- env.SharedLibrary(
+- target='#lib/boost_thread',
+- source=source)
+-
+-build_boost_thread()
+-
+ if (not env_etc.no_boost_python):
+ env_etc.cxxflags_bpl_defines_base = [
+ "-DBOOST_PYTHON_MAX_BASES=2"]
+@@ -64,12 +34,10 @@ if (not env_etc.no_boost_python):
+ ' /manifest ${TARGET}.manifest'])
+ Export("env_no_includes_boost_python_ext")
+ env_pure_boost_python_ext = env_no_includes_boost_python_ext.Clone()
+- env_etc.include_registry.set_boost_dir_name(env_etc.boost_dist)
+ env_etc.include_registry.append(
+ env=env_pure_boost_python_ext,
+ paths=[
+ "#include",
+- env_etc.boost_include,
+ env_etc.python_include])
+ env_boost_python_ext = env_pure_boost_python_ext.Clone()
+ env_etc.include_registry.prepend(
+@@ -113,234 +81,6 @@ if (not env_etc.no_boost_python):
+ target="tests/tst_optional_copy",
+ source="tests/tst_optional_copy.cpp")
+
+- import os, os.path
+- env = env_base.Clone(LIBS=env_etc.libs_python)
+- env.Append(LIBPATH=env_etc.libpath_python)
+- env.Append(SHCXXFLAGS=env_etc.cxxflags_bpl_defines_base)
+- env.Append(SHCXXFLAGS=["-DBOOST_PYTHON_SOURCE"])
+- if (libtbx.env.build_options.boost_python_bool_int_strict):
+- env.Append(SHCXXFLAGS=["-DBOOST_PYTHON_BOOL_INT_STRICT"])
+- env.Replace(SHLINKFLAGS=env_etc.shlinkflags)
+- env.Append(CXXFLAGS=env_etc.cxxflags_bpl_defines_base)
+- env.Append(CXXFLAGS="-DBOOST_PYTHON_SOURCE")
+- env.Replace(LINKFLAGS=env_etc.shlinkflags)
+- env_etc.include_registry.append(
+- env=env,
+- paths=[env_etc.boost_include, env_etc.python_include])
+-
+- darwin_shlinkcom(env_etc, env,
+- lo="boost/libs/python/src/libboost_python.lo",
+- dylib="lib/libboost_python.dylib")
+-
+- # fixed list of file names introduced 2009-09-29, due to major changes in
+- # boost/libs/python/build/Jamfile.v2 svn rev. 56305 (new Python 3 support)
+- bpl_dll_sources = """\
+-numeric.cpp
+-list.cpp
+-long.cpp
+-dict.cpp
+-tuple.cpp
+-str.cpp
+-slice.cpp
+-converter/from_python.cpp
+-converter/registry.cpp
+-converter/type_id.cpp
+-object/enum.cpp
+-object/class.cpp
+-object/function.cpp
+-object/inheritance.cpp
+-object/life_support.cpp
+-object/pickle_support.cpp
+-errors.cpp
+-module.cpp
+-converter/builtin_converters.cpp
+-converter/arg_to_python_base.cpp
+-object/iterator.cpp
+-object/stl_iterator.cpp
+-object_protocol.cpp
+-object_operators.cpp
+-wrapper.cpp
+-import.cpp
+-exec.cpp
+-object/function_doc_signature.cpp
+-""".splitlines()
+- prefix = "#"+os.path.join(
+- os.path.basename(env_etc.boost_dist), "libs", "python", "src")
+- bpl_dll_sources = [os.path.join(prefix, path) for path in bpl_dll_sources]
+- #
+- env.Repository(os.path.dirname(env_etc.boost_dist))
+- if (env_etc.static_bpl):
+- env.StaticLibrary(target="#lib/boost_python", source=bpl_dll_sources)
+- else:
+- env.SharedLibrary(target="#lib/boost_python", source=bpl_dll_sources)
+- if (int(ARGUMENTS.get("boost_python_tests", 0))):
+- warn_if_unexpected_md5_hexdigest(
+- path=libtbx.env.under_dist("boost", "libs/python/test/Jamfile.v2"),
+- expected_md5_hexdigests=[
+- "c7a3dd81bf730635146f5c908ac982eb", # svn revision 39065M
+- "d40aac0029bcd28f6e205ae3b30a1284", # svn revision 40216
+- "b79f016d3ec10cf1625a9e006e605428", # svn revision 40714
+- "f948983d970fd47e83a3a785bb54520a", # svn revision 41550
+- "c3d84006331d534840c42ab956fdfa05", # svn revision 50367M
+- "cedfd061d767a27413ef4a75ee0e446f", # svn revision 56310
+- "e5507482a1937825e4c9f3ffe555fc59", # svn revision 59331
+- ])
+- bpl_tests = Split("""
+-staticmethod
+-shared_ptr
+-enable_shared_from_this
+-andreas_beyer
+-polymorphism
+-polymorphism2
+-auto_ptr
+-minimal
+-args
+-numpy
+-enum
+-exception_translator
+-test_pointer_adoption
+-operators
+-callbacks
+-defaults
+-object
+-list
+-long
+-dict
+-tuple
+-str
+-virtual_functions
+-back_reference
+-implicit
+-data_members
+-ben_scott1
+-bienstman1
+-bienstman2
+-bienstman3
+-multi_arg_constructor
+-extract
+-opaque
+-pickle1
+-pickle2
+-pickle3
+-pickle4
+-nested
+-docstring
+-pytype_function
+-bienstman4
+-bienstman5
+-test_builtin_converters,builtin_converters_ext,test_builtin_converters
+-cltree,cltree,test_cltree
+-m1,m1,newtest
+-m2,m2,newtest
+-iterator,iterator_ext,iterator
+-input_iterator,input_iterator,iterator
+-crossmod_exception_a,crossmod_exception_a,crossmod_exception
+-crossmod_exception_b,crossmod_exception_b,crossmod_exception
+-vector_indexing_suite
+-return_arg
+-keywords,keywords,keywords_test
+-properties
+-map_indexing_suite;int_map_indexing_suite;a_map_indexing_suite,map_indexing_suite_ext,map_indexing_suite
+-injected
+-slice
+-const_argument
+-raw_ctor
+-pointer_vector
+-wrapper_held_type
+-polymorphism2_auto_ptr
+-stl_iterator
+-voidptr
+-crossmod_opaque_a,crossmod_opaque_a,crossmod_opaque
+-crossmod_opaque_b,crossmod_opaque_b,crossmod_opaque
+-""")
+-# non-portable tests are not included above:
+-# calling_conventions
+-# calling_conventions_mf
+-#
+- Import("env_boost_python_ext")
+- test_dir = libtbx.env.under_dist("boost", "libs/python/test")
+- prefix = "#"+os.path.join(
+- os.path.basename(env_etc.boost_dist), "libs", "python", "test")
+- all_tst = []
+- for bpl_test in bpl_tests:
+- flds = bpl_test.split(",")
+- assert len(flds) in (1,3)
+- if (len(flds) == 1):
+- src = bpl_test
+- pyd = bpl_test + "_ext"
+- tst = bpl_test
+- else:
+- src = flds[0]
+- pyd = flds[1]
+- tst = flds[2]
+- env = env_pure_boost_python_ext.Clone()
+- env.Repository(os.path.dirname(env_etc.boost_dist))
+- ok = True
+- source = []
+- for s in src.split(";"):
+- cpp = "%s.cpp" % s
+- file_name = os.path.join(test_dir, cpp)
+- if (not os.path.isfile(file_name)):
+- print "Warning: source file not available:", show_string(file_name)
+- ok = False
+- else:
+- source.append(os.path.join(prefix, cpp))
+- if (ok):
+- if (not tst in all_tst):
+- all_tst.append(tst)
+- env.SharedLibrary(target="#lib/%s" % pyd, source=source)
+- all_tst = [os.path.join(test_dir, tst+".py") for tst in all_tst]
+- #
+- if (sys.platform == "linux2"):
+- base_lib = libtbx.env.under_build(path="base/lib")
+- if (os.path.isdir(base_lib)):
+- env_prog = env.Clone()
+- env_prog.Append(LIBPATH=[base_lib])
+- env_prog.Append(LIBS=[
+- "-lpython%d.%d" % sys.version_info[:2],
+- "-lpthread",
+- "-lutil",
+- "-ldl"])
+- exe = env_prog.Program(
+- target="boost/libs/python/test/exec_dynamic",
+- source=[os.path.join(prefix, "exec.cpp")])
+- libtbx.env.write_dispatcher_in_bin(
+- source_file=exe[0].get_abspath(),
+- target_file="boost_libs_python_test_exec_dynamic")
+- all_tst.append("$ boost_libs_python_test_exec_dynamic %s"
+- % show_string(os.path.join(test_dir, "exec.py")))
+- #
+- if (os.name != "nt"):
+- env.SharedLibrary(
+- target="#lib/boost_adaptbx_char_array_ext",
+- source=["char_array_ext.cpp"])
+- all_tst.append(
+- libtbx.env.under_dist("boost_adaptbx", "tests/tst_char_array.py"))
+- #
+- if (os.name == "nt"):
+- boost_python_run_tests = \
+- "%s\\boost_python_run_tests.bat" % libtbx.env.build_path
+- f = open(boost_python_run_tests, "w")
+- for tst in all_tst:
+- if (tst.startswith("$ ")):
+- print >> f, 'call %s' % tst[2:]
+- else:
+- print >> f, 'call libtbx.python %s' % show_string(tst)
+- f.close()
+- else:
+- boost_python_run_tests = \
+- "%s/boost_python_run_tests.csh" % libtbx.env.build_path
+- f = open(boost_python_run_tests, "w")
+- print >> f, "#! /bin/csh -f"
+- print >> f, "set verbose"
+- for tst in all_tst:
+- if (tst.startswith("$ ")):
+- print >> f, tst[2:]
+- else:
+- print >> f, 'libtbx.python "%s"' % show_string(tst)
+- f.close()
+- os.chmod(boost_python_run_tests, 0755)
+-
+ def write_type_id_eq_h():
+ unsigned_types = [
+ "unsigned short",
+diff --git a/work/cctbx_sources/cbflib_adaptbx/SConscript b/work/cctbx_sources/cbflib_adaptbx/SConscript
+index 78c1297..dffc247 100644
+--- a/work/cctbx_sources/cbflib_adaptbx/SConscript
++++ b/work/cctbx_sources/cbflib_adaptbx/SConscript
+@@ -14,7 +14,6 @@ env_etc.cbflib_common_includes = [
+ env_etc.libtbx_include,
+ env_etc.scitbx_include,
+ env_etc.boost_adaptbx_include,
+- env_etc.boost_include,
+ env_etc.cbflib_dist, # for the adaptor cpp files
+ env_etc.cbflib_include[0], # for the cbflib c-files
+ env_etc.cbflib_include[1], # for the cbflib c-files
+diff --git a/work/cctbx_sources/cctbx/SConscript b/work/cctbx_sources/cctbx/SConscript
+index 6ec7c93..2dfb442 100644
+--- a/work/cctbx_sources/cctbx/SConscript
++++ b/work/cctbx_sources/cctbx/SConscript
+@@ -10,7 +10,6 @@ env_etc.cctbx_common_includes = [
+ env_etc.scitbx_include,
+ env_etc.chiltbx_include,
+ env_etc.omptbx_include,
+- env_etc.boost_include,
+ ]
+
+ env = env_base.Clone(
+diff --git a/work/cctbx_sources/fable/SConscript b/work/cctbx_sources/fable/SConscript
+index bf8e198..b6acccf 100644
+--- a/work/cctbx_sources/fable/SConscript
++++ b/work/cctbx_sources/fable/SConscript
+@@ -13,7 +13,6 @@ if (not env_etc.no_boost_python):
+ env_etc.libtbx_include,
+ env_etc.fable_include,
+ env_etc.boost_adaptbx_include,
+- env_etc.boost_include,
+ env_etc.python_include])
+ env.SharedLibrary(
+ target="#lib/fable_ext",
+diff --git a/work/cctbx_sources/fable/libtbx_config b/work/cctbx_sources/fable/libtbx_config
+index d456588..f00ae86 100644
+--- a/work/cctbx_sources/fable/libtbx_config
++++ b/work/cctbx_sources/fable/libtbx_config
+@@ -1,4 +1,4 @@
+ {
+- "modules_required_for_build": ["boost"],
++ "modules_required_for_build": [],
+ "modules_required_for_use": ["boost_adaptbx"],
+ }
+diff --git a/work/cctbx_sources/fftw3tbx/SConscript b/work/cctbx_sources/fftw3tbx/SConscript
+index ecc3a03..4fc1ec1 100755
+--- a/work/cctbx_sources/fftw3tbx/SConscript
++++ b/work/cctbx_sources/fftw3tbx/SConscript
+@@ -8,7 +8,6 @@ env_etc.fftw3tbx_dist = libtbx.env.dist_path("fftw3tbx")
+ env_etc.fftw3tbx_common_includes = [
+ env_etc.libtbx_include,
+ env_etc.scitbx_include,
+- env_etc.boost_include,
+ ]
+
+ base_include = libtbx.env.under_build("base/include")
+diff --git a/work/cctbx_sources/gltbx/SConscript b/work/cctbx_sources/gltbx/SConscript
+index 56a7115..f6214a4 100644
+--- a/work/cctbx_sources/gltbx/SConscript
++++ b/work/cctbx_sources/gltbx/SConscript
+@@ -7,7 +7,6 @@ env_etc.gltbx_common_includes = [
+ env_etc.libtbx_include,
+ env_etc.gltbx_include,
+ env_etc.scitbx_include,
+- env_etc.boost_include,
+ ]
+
+ if (not env_etc.no_boost_python):
+diff --git a/work/cctbx_sources/iotbx/SConscript b/work/cctbx_sources/iotbx/SConscript
+index df17856..c5cf7da 100644
+--- a/work/cctbx_sources/iotbx/SConscript
++++ b/work/cctbx_sources/iotbx/SConscript
+@@ -10,7 +10,6 @@ env_etc.iotbx_common_includes = [
+ env_etc.iotbx_include,
+ env_etc.cctbx_include,
+ env_etc.scitbx_include,
+- env_etc.boost_include,
+ env_etc.boost_adaptbx_include,
+ ]
+
+@@ -37,7 +36,6 @@ if (not env_etc.no_boost_python):
+ env_etc.include_registry.append(
+ env=env,
+ paths=[env_etc.libtbx_include,
+- env_etc.boost_include,
+ env_etc.python_include])
+ env.SharedLibrary(
+ target="#lib/iotbx_wildcard_ext",
+diff --git a/work/cctbx_sources/mmtbx/SConscript b/work/cctbx_sources/mmtbx/SConscript
+index 0532878..9bcaeb2 100755
+--- a/work/cctbx_sources/mmtbx/SConscript
++++ b/work/cctbx_sources/mmtbx/SConscript
+@@ -10,7 +10,6 @@ env_etc.mmtbx_common_includes = [
+ env_etc.mmtbx_include,
+ env_etc.cctbx_include,
+ env_etc.scitbx_include,
+- env_etc.boost_include,
+ ]
+
+ if (not env_etc.no_boost_python):
+diff --git a/work/cctbx_sources/omptbx/libtbx_config b/work/cctbx_sources/omptbx/libtbx_config
+index d456588..f00ae86 100644
+--- a/work/cctbx_sources/omptbx/libtbx_config
++++ b/work/cctbx_sources/omptbx/libtbx_config
+@@ -1,4 +1,4 @@
+ {
+- "modules_required_for_build": ["boost"],
++ "modules_required_for_build": [],
+ "modules_required_for_use": ["boost_adaptbx"],
+ }
+diff --git a/work/cctbx_sources/rstbx/SConscript b/work/cctbx_sources/rstbx/SConscript
+index 2213c2f..232b5d7 100644
+--- a/work/cctbx_sources/rstbx/SConscript
++++ b/work/cctbx_sources/rstbx/SConscript
+@@ -11,7 +11,6 @@ env_etc.rstbx_common_includes = [
+ env_etc.scitbx_include,
+ env_etc.chiltbx_include,
+ env_etc.omptbx_include,
+- env_etc.boost_include,
+ ]
+
+ env = env_base.Clone(SHLINKFLAGS=env_etc.shlinkflags)
+diff --git a/work/cctbx_sources/scitbx/SConscript b/work/cctbx_sources/scitbx/SConscript
+index f30b9db..10e0967 100644
+--- a/work/cctbx_sources/scitbx/SConscript
++++ b/work/cctbx_sources/scitbx/SConscript
+@@ -9,7 +9,6 @@ env_etc.scitbx_common_includes = [
+ env_etc.scitbx_include,
+ env_etc.omptbx_include,
+ env_etc.boost_adaptbx_include,
+- env_etc.boost_include,
+ ]
+
+ SConscript("error/SConscript")
+diff --git a/work/cctbx_sources/scitbx/libtbx_config b/work/cctbx_sources/scitbx/libtbx_config
+index 87cc3c7..d147819 100644
+--- a/work/cctbx_sources/scitbx/libtbx_config
++++ b/work/cctbx_sources/scitbx/libtbx_config
+@@ -1,4 +1,4 @@
+ {
+- "modules_required_for_build": ["boost"],
++ "modules_required_for_build": [],
+ "modules_required_for_use": ["boost_adaptbx", "omptbx"],
+ }
+diff --git a/work/cctbx_sources/scitbx/libtbx_refresh.py b/work/cctbx_sources/scitbx/libtbx_refresh.py
+index 10d4ee0..c8374b2 100644
+--- a/work/cctbx_sources/scitbx/libtbx_refresh.py
++++ b/work/cctbx_sources/scitbx/libtbx_refresh.py
+@@ -13,8 +13,7 @@ if (self.env.is_ready_for_build()):
+ generate_all.refresh(array_family=os.path.dirname(target_dir))
+ #
+ warn_if_unexpected_md5_hexdigest(
+- path=self.env.under_dist(
+- module_name="boost", path="boost/random/mersenne_twister.hpp"),
++ path="@GENTOO_PORTAGE_EPREFIX@/usr/include/boost/random/mersenne_twister.hpp",
+ expected_md5_hexdigests=[
+ "a2533c79a21f0f773f2e0d29a37371b0", # CVS revision 1.21
+ "378432b5b280c9c0c894f7c80f0dad92", # CVS revision 1.20
+diff --git a/work/cctbx_sources/smtbx/SConscript b/work/cctbx_sources/smtbx/SConscript
+index f5031ee..02f81a4 100644
+--- a/work/cctbx_sources/smtbx/SConscript
++++ b/work/cctbx_sources/smtbx/SConscript
+@@ -7,7 +7,6 @@ env_etc.smtbx_common_includes = [
+ env_etc.cctbx_include,
+ env_etc.scitbx_include,
+ env_etc.chiltbx_include,
+- env_etc.boost_include,
+ ]
+
+ env = env_base.Clone(
+diff --git a/work/cctbx_sources/spotfinder/SConscript b/work/cctbx_sources/spotfinder/SConscript
+index 1d280d4..9dc9195 100644
+--- a/work/cctbx_sources/spotfinder/SConscript
++++ b/work/cctbx_sources/spotfinder/SConscript
+@@ -13,7 +13,6 @@ env_etc.spotfinder_common_includes = [
+ env_etc.iotbx_include,
+ os.path.dirname(env_etc.spotfinder_dist),
+ env_etc.boost_adaptbx_include,
+- env_etc.boost_include,
+ env_etc.annlib_dist,
+ env_etc.annlib_include[0],
+ env_etc.annlib_include[1],
+diff --git a/work/cctbx_sources/tntbx/SConscript b/work/cctbx_sources/tntbx/SConscript
+index e773186..ee29f10 100755
+--- a/work/cctbx_sources/tntbx/SConscript
++++ b/work/cctbx_sources/tntbx/SConscript
+@@ -10,7 +10,6 @@ env_etc.tntbx_common_includes = [
+ env_etc.tntbx_include,
+ env_etc.tntbx_tnt_include,
+ env_etc.scitbx_include,
+- env_etc.boost_include,
+ ]
+
+ Import("env_base", "env_etc")
+--
+1.7.1.1
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-clipper.patch b/sci-libs/cctbx/files/2010.03.29.2334-clipper.patch
new file mode 100644
index 000000000000..8830dd8a054e
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-clipper.patch
@@ -0,0 +1,77 @@
+diff --git a/cctbx_sources/clipper_adaptbx/SConscript b/cctbx_sources/clipper_adaptbx/SConscript
+index 9cce49e..1046ed0 100644
+--- a/cctbx_sources/clipper_adaptbx/SConscript
++++ b/cctbx_sources/clipper_adaptbx/SConscript
+@@ -1,56 +1,13 @@
+ import libtbx.load_env
+ Import("env_base", "env_etc")
+
+-env_etc.clipper_dist = libtbx.env.dist_path("clipper")
+-env_etc.clipper_include = env_etc.clipper_dist
+-
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags,
+ LIBS=env_etc.libm)
+-env.Prepend(CPPPATH=[env_etc.clipper_include])
+-
+-if (env_etc.static_libraries): builder = env.StaticLibrary
+-else: builder = env.SharedLibrary
+-builder(target='#lib/clipper',
+- source = ["../clipper/clipper/core/"+file_name for file_name in """
+- atomsf.cpp
+- cell.cpp
+- clipper_memory.cpp
+- clipper_message.cpp
+- clipper_stats.cpp
+- clipper_types.cpp
+- clipper_util.cpp
+- container.cpp
+- container_hkl.cpp
+- container_map.cpp
+- container_types.cpp
+- coords.cpp
+- derivs.cpp
+- hkl_compute.cpp
+- hkl_data.cpp
+- hkl_datatypes.cpp
+- hkl_info.cpp
+- hkl_lookup.cpp
+- hkl_operators.cpp
+- map_interp.cpp
+- map_utils.cpp
+- nxmap.cpp
+- nxmap_operator.cpp
+- ramachandran.cpp
+- resol_basisfn.cpp
+- resol_fn.cpp
+- resol_targetfn.cpp
+- rotation.cpp
+- spacegroup.cpp
+- spacegroup_data.cpp
+- symop.cpp
+- xmap.cpp
+-""".split()])
+-# fftmap_sparse.cpp
+-# fftmap.cpp
+
+ env_exe = env.Clone()
+-env_exe.Prepend(LIBS=["clipper"])
++env_exe.Prepend(LIBS=["clipper-minimol","clipper-mmdb","clipper-cns","clipper-cif","clipper-contrib","clipper-ccp4","clipper-phs","clipper-core"])
++env_exe.Prepend(SHLINKFLAGS=["-Wl,--as-needed"])
+
+ exe = env_exe.Program(
+ target='#exe_dev/'+env["PROGPREFIX"]+'clipper.symtest'
+@@ -76,12 +33,10 @@ if (hasattr(env_etc, "cctbx_include")):
+ env_etc.include_registry.append(
+ env=env_clipper_boost_python_ext,
+ paths=[
+- env_etc.clipper_include,
+ env_etc.libtbx_include,
+ env_etc.cctbx_include,
+ env_etc.scitbx_include,
+ env_etc.boost_adaptbx_include,
+- env_etc.boost_include,
+ env_etc.python_include])
+ Export("env_clipper_boost_python_ext")
+- SConscript("clipper/SConscript")
++
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-flags.patch b/sci-libs/cctbx/files/2010.03.29.2334-flags.patch
new file mode 100644
index 000000000000..8a8033234713
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-flags.patch
@@ -0,0 +1,94 @@
+diff --git a/cctbx_sources/libtbx/SConscript b/cctbx_sources/libtbx/SConscript
+index 16d22b6..f85b664 100644
+--- a/cctbx_sources/libtbx/SConscript
++++ b/cctbx_sources/libtbx/SConscript
+@@ -5,6 +5,7 @@ from libtbx.str_utils import show_string
+ from libtbx.path import norm_join, full_command_path
+ import platform
+ import sys, os
++import SCons.Util
+
+ if (hasattr(Environment, "Clone")):
+ Environment.Copy = Environment.Clone # XXX backward compatibility 2008_03_30
+@@ -132,9 +133,7 @@ if (env_etc.compiler == "unix_icpc"):
+ static_exe = libtbx.env.build_options.static_exe
+
+ def gcc_common_warn_options():
+- result = ["-Wall", "-Wno-sign-compare", "-Wno-unknown-pragmas"]
+- if (env_etc.gcc_version >= 40000):
+- result.append("-Winit-self")
++ result = [""]
+ return result
+
+ def enable_more_warnings(env):
+@@ -355,16 +354,22 @@ else:
+ cc = env_etc.compiler.replace("unix_", "")
+ cxx = cc.replace("gcc", "g++")
+ env_etc.gcc_version = libtbx.env_config.get_gcc_version(command_name=cc)
++# linkerflags = os.environ.get("LDFLAGS")
++# link_flags=env_etc.ldflags
++ link_flags=os.environ.get("LDFLAGS")
++ linker_options=SCons.Util.CLVar(os.environ['LDFLAGS'])
+ env_base.Replace(
+ CC=cc,
+ SHCC=cc,
+ CXX=cxx,
+ LINK=cxx,
++ LINKFLAGS=linker_options,
+ SHCXX=cxx,
+ SHLINK=cxx,
+ SHLIBSUFFIX=env_etc.shlibsuffix,
+ )
+- env_etc.c_link = cc
++# linkerflags = env_etc.ldflags
++# env_etc.c_link = cc + " " + linkerflags
+ env_etc.ccflags_base = [
+ "-fPIC",
+ "-fno-strict-aliasing"]
+@@ -380,7 +385,7 @@ else:
+ warn_options = gcc_common_warn_options() + ["-Werror"]
+ env_etc.ccflags_base.extend(warn_options)
+ if (libtbx.env.build_options.optimization):
+- opts = ["-DNDEBUG", "-O3", "-ffast-math"]
++ opts = ["-DNDEBUG"]
+ if (env_etc.gcc_version >= 40300):
+ opts.append("-fno-associative-math")
+ opts.append("-ftrapping-math")
+@@ -401,6 +406,7 @@ else:
+ env_base.Prepend(LINKFLAGS=["-static"])
+ static_exe = None
+ env_etc.shlinkflags = ["-shared"]
++ env_etc.shlinkflags.append(linker_options)
+ env_etc.shlinkflags_bpl = env_etc.shlinkflags
+ if (libtbx.env.build_options.mode == "profile"):
+ env_base.Prepend(LINKFLAGS=["-pg"])
+diff --git a/cctbx_sources/libtbx/env_config.py b/cctbx_sources/libtbx/env_config.py
+index ca510b9..68c58ea 100644
+--- a/cctbx_sources/libtbx/env_config.py
++++ b/cctbx_sources/libtbx/env_config.py
+@@ -1608,6 +1608,7 @@ class build_options:
+ self.env_cxxflags = ""
+ self.env_cflags = ""
+ self.env_cppflags = ""
++ self.env_ldflags = ""
+ flg = os.environ.get("CXXFLAGS")
+ if flg is not None:
+ self.env_cxxflags = flg
+@@ -1617,6 +1618,9 @@ class build_options:
+ flg = os.environ.get("CPPFLAGS")
+ if flg is not None:
+ self.env_cppflags = flg
++ flg = os.environ.get("LDFLAGS")
++ if flg is not None:
++ self.env_ldflags = flg
+
+ def report(self, f=None):
+ if (f is None): f = sys.stdout
+@@ -1640,6 +1644,7 @@ class build_options:
+ print >>f, " CXXFLAGS = ", self.env_cxxflags
+ print >>f, " CFLAGS = ", self.env_cflags
+ print >>f, " CPPFLAGS = ", self.env_cppflags
++ print >>f, " LDFLAGS = ", self.env_ldflags
+
+ class include_registry:
+
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-format-security.patch b/sci-libs/cctbx/files/2010.03.29.2334-format-security.patch
new file mode 100644
index 000000000000..057c135f9953
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-format-security.patch
@@ -0,0 +1,117 @@
+ cctbx_sources/scitbx/lbfgsb/raw.h | 54 +++++++++++++++++++--------------------
+ 1 file changed, 27 insertions(+), 27 deletions(-)
+
+diff --git a/cctbx_sources/scitbx/lbfgsb/raw.h b/cctbx_sources/scitbx/lbfgsb/raw.h
+index 21afed7..5b15055 100644
+--- a/cctbx_sources/scitbx/lbfgsb/raw.h
++++ b/cctbx_sources/scitbx/lbfgsb/raw.h
+@@ -853,7 +853,7 @@ namespace raw {
+ if (iprint >= 99) {
+ printf(" LINE SEARCH%12d times; norm of step = %.15G\n",
+ iback, xstep);
+- printf(fmt_2001, iter,f,sbgnrm);
++ printf("%s %i %f %f", fmt_2001, iter,f,sbgnrm);
+ if (iprint > 100) {
+ write_ref1(" X =", x);
+ write_ref1(" G =", g);
+@@ -862,7 +862,7 @@ namespace raw {
+ else if (iprint > 0) {
+ int imod = iter % iprint;
+ if (imod == 0) {
+- printf(fmt_2001, iter,f,sbgnrm);
++ printf("%s %i %f %f", fmt_2001, iter,f,sbgnrm);
+ }
+ }
+ if (iprint >= 1) {
+@@ -967,9 +967,9 @@ namespace raw {
+ " 2 rounding error dominate computation.\n";
+ if (task.substr(0,5) == "ERROR") goto lbl_999;
+ if (iprint >= 0) {
+- printf(fmt_3003);
+- printf(fmt_3004);
+- printf(fmt_3005, n,iter,nfgv,nintol,nskip,nact,sbgnrm,f);
++ printf("%s", fmt_3003);
++ printf("%s", fmt_3004);
++ printf("%s %i %i %i %i %i %i %f %f", fmt_3005, n,iter,nfgv,nintol,nskip,nact,sbgnrm,f);
+ if (iprint >= 100) {
+ write_ref1(" X =", x);
+ }
+@@ -977,40 +977,40 @@ namespace raw {
+ }
+ lbl_999:
+ if (iprint >= 0) {
+- printf(fmt_3009, task.c_str());
++ printf("%s %s", fmt_3009, task.c_str());
+ if (info != 0) {
+- if (info == -1) printf(fmt_9011);
+- if (info == -2) printf(fmt_9012);
+- if (info == -3) printf(fmt_9013);
+- if (info == -4) printf(fmt_9014);
+- if (info == -5) printf(fmt_9015);
++ if (info == -1) printf("%s", fmt_9011);
++ if (info == -2) printf("%s", fmt_9012);
++ if (info == -3) printf("%s", fmt_9013);
++ if (info == -4) printf("%s", fmt_9014);
++ if (info == -5) printf("%s", fmt_9015);
+ if (info == -6) {
+ printf(" Input nbd(%12d) is invalid.\n", k);
+ }
+ if (info == -7) {
+ printf(" l(%12d) > u(%12d). No feasible solution.\n", k, k);
+ }
+- if (info == -8) printf(fmt_9018);
+- if (info == -9) printf(fmt_9019);
++ if (info == -8) printf("%s", fmt_9018);
++ if (info == -9) printf("%s", fmt_9019);
+ }
+- if (iprint >= 1) printf(fmt_3007, cachyt,sbtime,lnscht);
+- printf(fmt_3008, time);
++ if (iprint >= 1) printf("%s %f %f %f", fmt_3007, cachyt,sbtime,lnscht);
++ printf("%s %f", fmt_3008, time);
+ if (iprint >= 1) {
+ if (info == -4 || info == -9) {
+- printf(fmt_3002,
++ printf("%s %i %i %i %i %s %i %f %f", fmt_3002,
+ iter,nfgv,nint,nact,word.c_str(),iback,stp,xstep); // itfile
+ }
+- printf(fmt_3009, task.c_str()); // itfile
++ printf("%s %s", fmt_3009, task.c_str()); // itfile
+ if (info != 0) {
+- if (info == -1) printf(fmt_9011); // itfile
+- if (info == -2) printf(fmt_9012); // itfile
+- if (info == -3) printf(fmt_9013); // itfile
+- if (info == -4) printf(fmt_9014); // itfile
+- if (info == -5) printf(fmt_9015); // itfile
+- if (info == -8) printf(fmt_9018); // itfile
+- if (info == -9) printf(fmt_9019); // itfile
++ if (info == -1) printf("%s", fmt_9011); // itfile
++ if (info == -2) printf("%s", fmt_9012); // itfile
++ if (info == -3) printf("%s", fmt_9013); // itfile
++ if (info == -4) printf("%s", fmt_9014); // itfile
++ if (info == -5) printf("%s", fmt_9015); // itfile
++ if (info == -8) printf("%s", fmt_9018); // itfile
++ if (info == -9) printf("%s", fmt_9019); // itfile
+ }
+- printf(fmt_3008, time); // itfile
++ printf("%s %f", fmt_3008, time); // itfile
+ }
+ }
+ }
+@@ -3902,7 +3902,7 @@ namespace raw {
+ " refresh the lbfgs memory and restart the iteration.\n";
+ if (info != 0) {
+ // singular triangular system detected; refresh the lbfgs memory.
+- if(iprint >= 1) printf(fmt_1005);
++ if(iprint >= 1) printf("%s", fmt_1005);
+ info = 0;
+ col = 0;
+ head = 1;
+@@ -3968,7 +3968,7 @@ namespace raw {
+ if (info != 0) {
+ // singular triangular system detected;
+ // refresh the lbfgs memory and restart the iteration.
+- if(iprint >= 1) printf(fmt_1005);
++ if(iprint >= 1) printf("%s", fmt_1005);
+ info = 0;
+ col = 0;
+ head = 1;
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.6.patch b/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.6.patch
new file mode 100644
index 000000000000..e54cfa16838b
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.6.patch
@@ -0,0 +1,29 @@
+ cctbx_sources/scitbx/array_family/detail/misc.h | 1 +
+ .../scitbx/fortran_io/details/istream_scanner.h | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/cctbx_sources/scitbx/array_family/detail/misc.h b/cctbx_sources/scitbx/array_family/detail/misc.h
+index 6ed881e..d7f7f52 100644
+--- a/cctbx_sources/scitbx/array_family/detail/misc.h
++++ b/cctbx_sources/scitbx/array_family/detail/misc.h
+@@ -2,6 +2,7 @@
+ #define SCITBX_ARRAY_FAMILY_MISC_H
+
+ #include <scitbx/array_family/type_traits.h>
++#include <memory>
+
+ namespace scitbx { namespace af {
+
+diff --git a/cctbx_sources/scitbx/fortran_io/details/istream_scanner.h b/cctbx_sources/scitbx/fortran_io/details/istream_scanner.h
+index 8a0ac25..03a0e20 100644
+--- a/cctbx_sources/scitbx/fortran_io/details/istream_scanner.h
++++ b/cctbx_sources/scitbx/fortran_io/details/istream_scanner.h
+@@ -32,7 +32,7 @@ class istream_scanner
+ }
+
+ private:
+- mutable std::basic_istream<CharType> &input;
++ std::basic_istream<CharType> &input;
+ mutable value_t current;
+ };
+
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch b/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch
new file mode 100644
index 000000000000..96cb21531bbf
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-gcc-4.7.patch
@@ -0,0 +1,154 @@
+ .../scitbx/math/boost_python/distributions.cpp | 60 +++++++++++++------
+ cctbx_sources/scitbx/rigid_body/spatial_lib.h | 1 +
+ cctbx_sources/scitbx/rigid_body/tardy.h | 4 +-
+ .../refinement/boost_python/weighting_schemes.cpp | 4 +-
+ .../smtbx/structure_factors/direct/standard_xray.h | 4 +-
+ 5 files changed, 48 insertions(+), 25 deletions(-)
+
+diff --git a/cctbx_sources/scitbx/math/boost_python/distributions.cpp b/cctbx_sources/scitbx/math/boost_python/distributions.cpp
+index a676798..68818e7 100644
+--- a/cctbx_sources/scitbx/math/boost_python/distributions.cpp
++++ b/cctbx_sources/scitbx/math/boost_python/distributions.cpp
+@@ -59,29 +59,51 @@ namespace {
+ {
+ typedef Distribution wt;
+
++ #define NEW_MEMBER(name) \
++ static FloatType name(wt const &self) { \
++ return boost::math::name(self); \
++ }
++
++ NEW_MEMBER(mean);
++ NEW_MEMBER(median);
++ NEW_MEMBER(mode);
++ NEW_MEMBER(variance);
++ NEW_MEMBER(standard_deviation);
++ NEW_MEMBER(skewness);
++ NEW_MEMBER(kurtosis);
++
++ #undef NEW_MEMBER
++
++ #define NEW_MEMBER(name) \
++ static FloatType name(wt const &self, FloatType arg) { \
++ return boost::math::name(self, arg); \
++ }
++
++ NEW_MEMBER(pdf);
++ NEW_MEMBER(cdf);
++ NEW_MEMBER(quantile);
++
++ #undef NEW_MEMBER
++
++ static scitbx::af::shared<FloatType> quantiles(wt const &self, std::size_t n) {
++ return scitbx::math::quantiles<FloatType>(self, n);
++ }
++
+ static void
+ wrap()
+ {
+ using namespace boost::python;
+- def("mean", (FloatType(*)(wt const&)) boost::math::mean);
+- def("median", (FloatType(*)(wt const&)) boost::math::median);
+- def("mode", (FloatType(*)(wt const&)) boost::math::mode);
+- def("variance", (FloatType(*)(wt const&)) boost::math::variance);
+- def("standard_deviation",
+- (FloatType(*)(wt const&)) boost::math::standard_deviation);
+- def("skewness", (FloatType(*)(wt const&)) boost::math::skewness);
+- def("kurtosis", (FloatType(*)(wt const&)) boost::math::kurtosis);
+- def("pdf", (FloatType(*)(wt const&, FloatType const&)) boost::math::pdf);
+- def("cdf", (FloatType(*)(wt const&, FloatType const&)) boost::math::cdf);
+- def("quantile", (FloatType(*)(wt const&, FloatType const&))
+- boost::math::quantile);
+- def("quantiles",
+-#if BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(306))
+- (scitbx::af::shared<FloatType>(*)(wt const&, std::size_t)) quantiles
+-#else
+- quantiles<FloatType, wt>
+-#endif
+- );
++ def("mean" , mean);
++ def("median" , median);
++ def("mode" , mode);
++ def("variance" , variance);
++ def("standard_deviation", standard_deviation);
++ def("skewness" , skewness);
++ def("kurtosis" , kurtosis);
++ def("pdf" , pdf);
++ def("cdf" , cdf);
++ def("quantile" , quantile);
++ def("quantiles" , quantiles);
+ }
+ };
+
+diff --git a/cctbx_sources/scitbx/rigid_body/spatial_lib.h b/cctbx_sources/scitbx/rigid_body/spatial_lib.h
+index a084f0f..e377292 100755
+--- a/cctbx_sources/scitbx/rigid_body/spatial_lib.h
++++ b/cctbx_sources/scitbx/rigid_body/spatial_lib.h
+@@ -2,6 +2,7 @@
+ #define SCITBX_RIGID_BODY_SPATIAL_LIB_H
+
+ #include <scitbx/rotr3.h>
++#include <scitbx/rigid_body/matrix_helpers.h>
+ #include <scitbx/array_family/versa_matrix.h>
+
+ namespace scitbx { namespace rigid_body {
+diff --git a/cctbx_sources/scitbx/rigid_body/tardy.h b/cctbx_sources/scitbx/rigid_body/tardy.h
+index 104f16b..a8f76cc 100755
+--- a/cctbx_sources/scitbx/rigid_body/tardy.h
++++ b/cctbx_sources/scitbx/rigid_body/tardy.h
+@@ -346,7 +346,7 @@ namespace tardy {
+ unsigned nb = this->bodies_size();
+ af::shared<af::small<ft, 7> > result((af::reserve(nb)));
+ af::shared<af::small<ft, 6> >
+- tau_array = f_ext_as_tau(f_ext_array().const_ref());
++ tau_array = this->f_ext_as_tau(f_ext_array().const_ref());
+ for(unsigned ib=0;ib<nb;ib++) {
+ result.push_back(
+ this->bodies[ib]->joint->tau_as_d_e_pot_d_q(tau_array[ib]));
+@@ -379,7 +379,7 @@ namespace tardy {
+ qdd_array()
+ {
+ if (!qdd_array_) {
+- qdd_array_ = forward_dynamics_ab(
++ qdd_array_ = this->forward_dynamics_ab(
+ /*tau_array*/ af::const_ref<af::small<ft, 6> >(0, 0),
+ f_ext_array().const_ref(),
+ /*grav_accn*/ af::const_ref<ft>(0, 0));
+diff --git a/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp b/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp
+index ce0c27b..904e8d7 100644
+--- a/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp
++++ b/cctbx_sources/smtbx/refinement/boost_python/weighting_schemes.cpp
+@@ -25,9 +25,9 @@ namespace smtbx { namespace refinement { namespace least_squares {
+ : base_t(name, boost::python::no_init)
+ {
+ using namespace boost::python;
+- def("__call__", &wt::operator(),
++ this->def("__call__", &wt::operator(),
+ (arg("fo_sq"), arg("sigma"), arg("fc_sq")));
+- def("__call__", weights,
++ this->def("__call__", weights,
+ (arg("fo_sq"), arg("sigmas"), arg("fc_sq")));
+ }
+ };
+diff --git a/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h b/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h
+index 5e2df76..911bfde 100644
+--- a/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h
++++ b/cctbx_sources/smtbx/structure_factors/direct/standard_xray.h
+@@ -161,7 +161,7 @@ namespace smtbx { namespace structure_factors { namespace direct {
+ for (int k=0; k < hr_ht.groups.size(); ++k) {
+ hr_ht_group<float_type> const &g = hr_ht.groups[k];
+ float_type hrx = g.hr * scatterer.site;
+- complex_type f = exp_i_2pi(hrx + g.ht);
++ complex_type f = this->exp_i_2pi(hrx + g.ht);
+ if (scatterer.flags.use_u_aniso()) {
+ float_type dw = debye_waller_factor_u_star(g.hr, scatterer.u_star);
+ f *= dw;
+@@ -336,7 +336,7 @@ namespace smtbx { namespace structure_factors { namespace direct {
+ for (int k=0; k < hr_ht.groups.size(); ++k) {
+ hr_ht_group<float_type> const &g = hr_ht.groups[k];
+ float_type hrx = g.hr * scatterer.site;
+- complex_type f = exp_i_2pi(hrx + g.ht);
++ complex_type f = this->exp_i_2pi(hrx + g.ht);
+ float_type fa = f.real(), fb = f.imag();
+ if (scatterer.flags.use_u_aniso()) {
+ float_type dw = debye_waller_factor_u_star(g.hr, scatterer.u_star);
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-soname.patch b/sci-libs/cctbx/files/2010.03.29.2334-soname.patch
new file mode 100644
index 000000000000..2c0efcabeb13
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-soname.patch
@@ -0,0 +1,123 @@
+diff --git a/cctbx_sources/ccp4io_adaptbx/SConscript b/cctbx_sources/ccp4io_adaptbx/SConscript
+index 4ff2232..2ee3991 100644
+--- a/cctbx_sources/ccp4io_adaptbx/SConscript
++++ b/cctbx_sources/ccp4io_adaptbx/SConscript
+@@ -40,6 +40,7 @@ def replace_printf(file_name):
+
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libccp4io.so.0.0"])
+ env.Append(CCFLAGS=env_etc.ccp4io_defines)
+ env.Append(SHCCFLAGS=env_etc.ccp4io_defines)
+ env_etc.include_registry.append(
+diff --git a/cctbx_sources/cctbx/SConscript b/cctbx_sources/cctbx/SConscript
+index 6ec7c93..7f2e788 100644
+--- a/cctbx_sources/cctbx/SConscript
++++ b/cctbx_sources/cctbx/SConscript
+@@ -15,6 +15,7 @@ env_etc.cctbx_common_includes = [
+
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libcctbx.so.0.0"])
+ env_etc.include_registry.append(
+ env=env,
+ paths=env_etc.cctbx_common_includes)
+diff --git a/cctbx_sources/iotbx/mtz/SConscript b/cctbx_sources/iotbx/mtz/SConscript
+index c0a4bb0..d3c1e45 100644
+--- a/cctbx_sources/iotbx/mtz/SConscript
++++ b/cctbx_sources/iotbx/mtz/SConscript
+@@ -6,6 +6,7 @@ ccp4io_lib = getattr(env_etc, "ccp4io_lib", "cmtz")
+ env.Prepend(LIBS=["cctbx", ccp4io_lib]+env_etc.libm)
+ env.Append(CXXFLAGS=env_etc.ccp4io_defines)
+ env.Append(SHCXXFLAGS=env_etc.ccp4io_defines)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libiotbx_mtz.so.0.0"])
+ env_etc.enable_more_warnings(env=env)
+ if (env_etc.static_libraries): builder = env.StaticLibrary
+ else: builder = env.SharedLibrary
+diff --git a/cctbx_sources/iotbx/pdb/SConscript b/cctbx_sources/iotbx/pdb/SConscript
+index c1415c8..9e1af8d 100644
+--- a/cctbx_sources/iotbx/pdb/SConscript
++++ b/cctbx_sources/iotbx/pdb/SConscript
+@@ -2,6 +2,7 @@ Import("env_base", "env_etc")
+
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libiotbx_pdb.so.0.0"])
+ env_etc.enable_more_warnings(env=env)
+ env_etc.include_registry.append(
+ env=env,
+diff --git a/cctbx_sources/mmtbx/masks/SConscript b/cctbx_sources/mmtbx/masks/SConscript
+index e70ab3c..cf2f530 100755
+--- a/cctbx_sources/mmtbx/masks/SConscript
++++ b/cctbx_sources/mmtbx/masks/SConscript
+@@ -17,7 +17,9 @@ builder(
+ target="#lib/mmtbx_masks",
+ source=lib_sources)
+
+-env = env.Clone()
++env = env.Clone(
++ SHLINKFLAGS=env_etc.shlinkflags)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libmmtbx_masks.so.0.0"])
+ env.Prepend(LIBS=["mmtbx_masks", "iotbx_pdb", "cctbx_sgtbx_asu"])
+ env.Program( target = "tst_mask", source="tst_mask.cpp")
+
+diff --git a/cctbx_sources/omptbx/SConscript b/cctbx_sources/omptbx/SConscript
+index 43aac91..ce4b4f3 100644
+--- a/cctbx_sources/omptbx/SConscript
++++ b/cctbx_sources/omptbx/SConscript
+@@ -7,6 +7,7 @@ env_etc.omptbx_include = os.path.dirname(env_etc.omptbx_dist)
+
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libomptbx.so.0.0"])
+ env_etc.include_registry.append(
+ env=env,
+ paths=[env_etc.omptbx_include])
+diff --git a/cctbx_sources/rstbx/SConscript b/cctbx_sources/rstbx/SConscript
+index 2213c2f..cae7542 100644
+--- a/cctbx_sources/rstbx/SConscript
++++ b/cctbx_sources/rstbx/SConscript
+@@ -15,6 +15,7 @@ env_etc.rstbx_common_includes = [
+ ]
+
+ env = env_base.Clone(SHLINKFLAGS=env_etc.shlinkflags)
++env.Append(SHLINKFLAGS=["-Wl,-soname,librstbx.so.0.0"])
+ env.Append(LIBS=["cctbx"] + env_etc.libm)
+ env_etc.include_registry.append(
+ env=env,
+diff --git a/cctbx_sources/scitbx/boost_python/SConscript b/cctbx_sources/scitbx/boost_python/SConscript
+index 6f221d0..c4698d8 100644
+--- a/cctbx_sources/scitbx/boost_python/SConscript
++++ b/cctbx_sources/scitbx/boost_python/SConscript
+@@ -4,6 +4,7 @@ Import("env_scitbx_boost_python_ext")
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags)
+ env_etc.enable_more_warnings(env=env)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libscitbx_boost_python.so.0.0"])
+ env.Append(CXXFLAGS=env_etc.cxxflags_bpl_defines_base)
+ env.Append(SHCXXFLAGS=env_etc.cxxflags_bpl_defines_base)
+ env.Append(LIBS=["boost_python"])
+diff --git a/cctbx_sources/scitbx/minpack/SConscript b/cctbx_sources/scitbx/minpack/SConscript
+index 7c325cb..cc23a04 100644
+--- a/cctbx_sources/scitbx/minpack/SConscript
++++ b/cctbx_sources/scitbx/minpack/SConscript
+@@ -3,6 +3,7 @@ Import("env_base", "env_etc")
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags)
+ env_etc.enable_more_warnings(env=env)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libscitbx_minipack.so.0.0"])
+ env_etc.include_registry.append(
+ env=env,
+ paths=env_etc.scitbx_common_includes)
+diff --git a/cctbx_sources/scitbx/slatec/SConscript b/cctbx_sources/scitbx/slatec/SConscript
+index ca9b6da..9c79d47 100644
+--- a/cctbx_sources/scitbx/slatec/SConscript
++++ b/cctbx_sources/scitbx/slatec/SConscript
+@@ -3,6 +3,7 @@ Import("env_base", "env_etc")
+ env = env_base.Clone(
+ SHLINKFLAGS=env_etc.shlinkflags)
+ env_etc.enable_more_warnings(env=env)
++env.Append(SHLINKFLAGS=["-Wl,-soname,libscitbx_slatec.so.0.0"])
+ env.Append(LIBS=env_etc.libm)
+ if (env_etc.static_libraries): builder = env.StaticLibrary
+ else: builder = env.SharedLibrary
diff --git a/sci-libs/cctbx/files/2010.03.29.2334-tst_server.py.patch b/sci-libs/cctbx/files/2010.03.29.2334-tst_server.py.patch
new file mode 100644
index 000000000000..f6509260d313
--- /dev/null
+++ b/sci-libs/cctbx/files/2010.03.29.2334-tst_server.py.patch
@@ -0,0 +1,15 @@
+diff --git a/mmtbx/monomer_library/tst_server.py b/mmtbx/monomer_library/tst_server.py
+index 519d203..91ba783 100644
+--- cctbx_sources/mmtbx/monomer_library/tst_server.py
++++ cctbx_sources/mmtbx/monomer_library/tst_server.py
+@@ -86,8 +86,8 @@ def exercise():
+ for base_code in ["A", "C", "G"]:
+ rna_atoms = srv.get_comp_comp_id_direct(base_code+"r").atom_dict()
+ dna_atoms = srv.get_comp_comp_id_direct(base_code+"d").atom_dict()
+- for as,bs,c in [(rna_atoms,dna_atoms,"d"), (dna_atoms,rna_atoms,"r")]:
+- for a in as.keys():
++ for as_,bs,c in [(rna_atoms,dna_atoms,"d"), (dna_atoms,rna_atoms,"r")]:
++ for a in as_.keys():
+ b = bs.get(a, None)
+ if (b is None):
+ print "Not in %s: %s" % (base_code+c, a)
diff --git a/sci-libs/cctbx/metadata.xml b/sci-libs/cctbx/metadata.xml
new file mode 100644
index 000000000000..a259ded7c025
--- /dev/null
+++ b/sci-libs/cctbx/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher (jlec)</name>
+ </maintainer>
+ <longdescription>
+ The Computational Crystallography Toolbox (cctbx) is being developed
+ as the open source component of the PHENIX system. The goal of
+ the PHENIX project is to advance automation of macromolecular structure
+ determination. PHENIX depends on the cctbx, but not vice versa. This
+ hierarchical approach enforces a clean design as a reusable library.
+ The cctbx is therefore also useful for small-molecule crystallography
+ and even general scientific applications.
+ </longdescription>
+</pkgmetadata>
diff --git a/sci-libs/cdd+/Manifest b/sci-libs/cdd+/Manifest
new file mode 100644
index 000000000000..30c21c9c6815
--- /dev/null
+++ b/sci-libs/cdd+/Manifest
@@ -0,0 +1 @@
+DIST cdd+-077a.tar.gz 186771 SHA256 bace5c6c62fc48938b04a7b80fc55935e1bfe56cfb0b80f803842173a40ad616 SHA512 cb151274adec502420e5e931d2f248d62b26d5797f7d55f6db9c947f8e9d715a864c88ad08ad2cd74ada237789de5ca3c49dc04dc55e63d4101f07cc1685ab12 WHIRLPOOL a36abf5d5654a786844543f78126d60ec9c0326966570674e63f02251aa2fce72a640eda5ad1893cd5b3e7592f53f0fbd96887107d4e53fcf15100e8a6bea73d
diff --git a/sci-libs/cdd+/cdd+-077a.ebuild b/sci-libs/cdd+/cdd+-077a.ebuild
new file mode 100644
index 000000000000..19dd12c7ac28
--- /dev/null
+++ b/sci-libs/cdd+/cdd+-077a.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Another implementation of the double description method"
+HOMEPAGE="http://www.ifor.math.ethz.ch/~fukuda/cdd_home/"
+SRC_URI="ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-libs/gmp:0="
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-headers.patch \
+ "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ GMPLIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ GMPINCLUDE="${EPREFIX}/usr/include" \
+ all
+
+}
+
+src_install() {
+ dobin cddr+ cddf+
+}
diff --git a/sci-libs/cdd+/files/cdd+-077a-gentoo.patch b/sci-libs/cdd+/files/cdd+-077a-gentoo.patch
new file mode 100644
index 000000000000..efe6d7035e99
--- /dev/null
+++ b/sci-libs/cdd+/files/cdd+-077a-gentoo.patch
@@ -0,0 +1,43 @@
+--- makefile.orig 2010-01-19 20:22:59.000000000 +0100
++++ makefile 2010-01-19 20:52:01.000000000 +0100
+@@ -6,21 +6,21 @@
+ #CC = /bin/cc
+
+ # Location of gnu c++ library.
+-#LIBDIR = /usr/lib
+-LIBDIR = /usr/local/lib
++LIBDIR = /usr/lib
++#LIBDIR = /usr/local/lib
+
+ # Location of gnu gmp library libgmp.a
+-#GMPLIBDIR = /usr/lib
+-GMPLIBDIR = /usr/local/lib
++GMPLIBDIR = /usr/lib
++#GMPLIBDIR = /usr/local/lib
+
+ # Location of gnu gmp-library include file gmp.h
+-#GMPINCLUDEDIR = /usr/include
+-GMPINCLUDEDIR = /usr/local/include
++GMPINCLUDEDIR = /usr/include
++#GMPINCLUDEDIR = /usr/local/include
+
+ # Compiler optimization/debug options
+ #OPTFLAGS = -g -static -O
+ #OPTFLAGS = -g -static -pg -O
+-OPTFLAGS = -O3
++#OPTFLAGS = -O3
+
+ ########## You shouldn't have to change anything after this point ##########
+
+@@ -29,9 +29,8 @@
+ RATOBJ = gmp_init.o Integer.o Rational.o
+ RATEXE = cddr+
+
+-CFLAGS = $(OPTFLAGS) -I$(INCLUDEDIR) -I$(GMPINCLUDEDIR) -I. $(GMPFLAG)
+-
+-LDFLAGS = -L$(LIBDIR) -L$(GMPLIBDIR)
++CFLAGS += -I$(INCLUDEDIR) -I$(GMPINCLUDEDIR) -I. $(GMPFLAG)
++LDFLAGS += -L$(LIBDIR) -L$(GMPLIBDIR)
+
+ LIBS = -lstdc++ -l$(RATLIB)
+
diff --git a/sci-libs/cdd+/files/cdd+-077a-headers.patch b/sci-libs/cdd+/files/cdd+-077a-headers.patch
new file mode 100644
index 000000000000..c6ceb93bfaad
--- /dev/null
+++ b/sci-libs/cdd+/files/cdd+-077a-headers.patch
@@ -0,0 +1,69 @@
+Index: Integer.h
+===================================================================
+RCS file: /home/imocvs/cdd+/Integer.h,v
+retrieving revision 1.1.1.1
+diff -u -p -r1.1.1.1 Integer.h
+--- Integer.h 2008/12/15 01:19:52 1.1.1.1
++++ Integer.h 2008/12/15 01:24:04
+@@ -23,6 +23,7 @@
+ #include <gmp_init.h>
+ #include <cctype>
+ #include <limits>
++#include <climits>
+
+ class Integer; class Rational;
+
+Index: Rational.cc
+===================================================================
+RCS file: /home/imocvs/cdd+/Rational.cc,v
+retrieving revision 1.1.1.1
+diff -u -p -r1.1.1.1 Rational.cc
+--- Rational.cc 2008/12/15 01:19:52 1.1.1.1
++++ Rational.cc 2008/12/15 01:25:14
+@@ -17,6 +17,7 @@
+
+ #include <cctype>
+ #include "Rational.h"
++#include <cstring>
+
+ Rational& Rational::set(const char* s) throw (gmp_error)
+ {
+Index: Rational.h
+===================================================================
+RCS file: /home/imocvs/cdd+/Rational.h,v
+retrieving revision 1.1.1.1
+diff -u -p -r1.1.1.1 Rational.h
+--- Rational.h 2008/12/15 01:19:52 1.1.1.1
++++ Rational.h 2008/12/15 01:27:08
+@@ -17,6 +17,7 @@
+ #define _POLYMAKE_GMP_RATIONAL_H "$Project: polymake $$Id$
+
+ #include <Integer.h>
++#include <cstring>
+
+ #if __GNU_MP_VERSION < 4
+ #define _tmp_little_Integer(x) \
+@@ -1178,7 +1179,7 @@ std::basic_ostream<char, Traits>& operat
+ Integer::little_buffer buf(s);
+ numerator(a).putstr(os.flags(), buf);
+ if (show_den) {
+- char *den_buf=buf+strlen(buf);
++ char *den_buf=buf+std::strlen(buf);
+ *den_buf++ = '/';
+ denominator(a).putstr(os.flags(), den_buf);
+ }
+Index: gmp_init.cc
+===================================================================
+RCS file: /home/imocvs/cdd+/gmp_init.cc,v
+retrieving revision 1.1.1.1
+diff -u -p -r1.1.1.1 gmp_init.cc
+--- gmp_init.cc 2008/12/15 01:19:52 1.1.1.1
++++ gmp_init.cc 2008/12/15 01:23:45
+@@ -16,6 +16,7 @@
+ #ident "$Project: polymake $$Id$
+
+ #include <memory>
++#include <cstring>
+ #include "gmp_init.h"
+
+ #if defined(__GNUC__)
diff --git a/sci-libs/cdd+/metadata.xml b/sci-libs/cdd+/metadata.xml
new file mode 100644
index 000000000000..3444aa87b903
--- /dev/null
+++ b/sci-libs/cdd+/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription>
+ The program cdd+ is a C++ implementation of the Double Description Method of Motzkin et al. for generating all
+ vertices (i.e. extreme points) and extreme rays of a general convex polyhedron in R^d given by a system of linear
+ inequalities: P = { x : A x &lt;= b } where A is an m x d real matrix and b is a real m dimensional vector.
+ </longdescription>
+</pkgmetadata>
diff --git a/sci-libs/cddlib/Manifest b/sci-libs/cddlib/Manifest
new file mode 100644
index 000000000000..47a43eccb909
--- /dev/null
+++ b/sci-libs/cddlib/Manifest
@@ -0,0 +1 @@
+DIST cddlib-094g.tar.gz 1383388 SHA256 af1b81226514abf731800e2e104def8a7274817d7e645693f8b99fc2b1432155 SHA512 e1053c6e34f79add53b2880c7664f9c20c0a6de636aa5de4c6a9dfc4d1d241221601c37d15e1833bcd5b1162512c3fbaed4046f771bc0a1e5753b713d6840b77 WHIRLPOOL e10d7be9989fee69827c66075be3dea4ef6751c42b7cdd21b3b07b3904387b1609314844dca0395ee7fb0b1d1cdb4fc978b4ebd0ce778f91d526276dd8ab7117
diff --git a/sci-libs/cddlib/cddlib-094g.ebuild b/sci-libs/cddlib/cddlib-094g.ebuild
new file mode 100644
index 000000000000..6cf4da920837
--- /dev/null
+++ b/sci-libs/cddlib/cddlib-094g.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils
+
+DESCRIPTION="C implementation of the Double Description Method of Motzkin et al"
+HOMEPAGE="http://www.ifor.math.ethz.ch/~fukuda/cdd_home/"
+SRC_URI="ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+DEPEND=">=dev-libs/gmp-4.2.2:0="
+RDEPEND="${DEPEND}"
+
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+DOCS=( ChangeLog README )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-add-cdd_both_reps-binary.patch
+)
+
+src_prepare() {
+ autotools-utils_src_prepare
+
+ cp "${FILESDIR}"/cdd_both_reps.c "${S}"/src/ \
+ || die "failed to copy source file"
+ ln -s "${S}"/src/cdd_both_reps.c "${S}"/src-gmp/cdd_both_reps.c \
+ || die "failed to make symbolic link to source file"
+}
+
+src_install() {
+ use doc && DOCS+=( doc/cddlibman.pdf doc/cddlibman.ps )
+
+ autotools-utils_src_install
+}
diff --git a/sci-libs/cddlib/files/cdd_both_reps.c b/sci-libs/cddlib/files/cdd_both_reps.c
new file mode 100644
index 000000000000..3de4247e3016
--- /dev/null
+++ b/sci-libs/cddlib/files/cdd_both_reps.c
@@ -0,0 +1,255 @@
+/* cdd_both_reps.c: compute reduced H and V representation of polytope
+ by Volker Braun <vbraun@stp.dias.ie>
+
+ The input is taken from stdin and can be either a
+ H or V representation, not necessarily reduced.
+
+ based on testcdd1.c, redcheck.c, and of course the cdd library
+ written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+ Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/* This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+
+
+
+
+void compute_adjacency(dd_MatrixPtr Rep, dd_ErrorType* err_ptr)
+{
+ dd_SetFamilyPtr AdjacencyGraph;
+ if (*err_ptr != dd_NoError) return;
+
+ switch (Rep->representation) {
+ case dd_Inequality:
+ printf("Facet graph\n");
+ break;
+ case dd_Generator:
+ printf("Vertex graph\n");
+ break;
+ case dd_Unspecified:
+ printf("unknown representation type!\n");
+ default:
+ printf("This should be unreachable!\n");
+ exit(2);
+ }
+
+ /* Output adjacency of vertices/rays/lines */
+ if (Rep->rowsize > 0) { /* workaround for bug with empty polyhedron */
+ /* compute adjacent vertices/rays/lines */
+ AdjacencyGraph = dd_Matrix2Adjacency(Rep, err_ptr);
+ if (*err_ptr == dd_NoError) {
+ dd_WriteSetFamily(stdout,AdjacencyGraph);
+ dd_FreeSetFamily(AdjacencyGraph);
+ }
+ } else {
+ printf("begin\n");
+ printf(" 0 0\n");
+ printf("end\n");
+ }
+
+ printf("\n");
+}
+
+
+void minimal_Vrep_Hrep(dd_MatrixPtr M,
+ dd_MatrixPtr* Vrep_ptr, dd_MatrixPtr* Hrep_ptr,
+ dd_ErrorType* err_ptr)
+{
+ dd_PolyhedraPtr poly;
+ dd_rowindex newpos;
+ dd_rowset impl_linset,redset;
+ dd_MatrixPtr Vrep, Hrep;
+
+ if (*err_ptr != dd_NoError) return;
+
+ /* compute the second representation */
+ poly = dd_DDMatrix2Poly(M, err_ptr);
+ if (*err_ptr != dd_NoError) return;
+
+ if (*err_ptr == dd_NoError) {
+ /* compute canonical H-representation */
+ Hrep = dd_CopyInequalities(poly);
+ if (Hrep->rowsize > 0) { /* workaround for bug with empty matrix */
+ dd_MatrixCanonicalize(&Hrep, &impl_linset, &redset, &newpos, err_ptr);
+ if (*err_ptr == dd_NoError) {
+ set_free(redset);
+ set_free(impl_linset);
+ free(newpos);
+ }
+ }
+ if (*err_ptr == dd_NoError) (*Hrep_ptr) = Hrep;
+ }
+
+ if (*err_ptr == dd_NoError) {
+ /* compute canonical V-representation */
+ Vrep = dd_CopyGenerators(poly);
+ if (Vrep->rowsize > 0) { /* workaround for bug with empty matrix */
+ dd_MatrixCanonicalize(&Vrep, &impl_linset, &redset, &newpos, err_ptr);
+ if (*err_ptr == dd_NoError) {
+ set_free(redset);
+ set_free(impl_linset);
+ free(newpos);
+ }
+ }
+ if (*err_ptr == dd_NoError) (*Vrep_ptr) = Vrep;
+ }
+
+ dd_FreePolyhedra(poly);
+}
+
+
+void print_both_reps(dd_MatrixPtr Vrep, dd_MatrixPtr Hrep)
+{
+ /* Output V-representation */
+ dd_WriteMatrix(stdout,Vrep);
+ printf("\n");
+
+ /* Output H-representation */
+ dd_WriteMatrix(stdout,Hrep);
+ printf("\n");
+}
+
+
+void compute_both_reps(dd_MatrixPtr M, dd_ErrorType* err_ptr)
+{
+ dd_MatrixPtr Vrep, Hrep;
+ minimal_Vrep_Hrep(M, &Vrep, &Hrep, err_ptr);
+ if (*err_ptr != dd_NoError) return;
+
+ print_both_reps(Vrep, Hrep);
+ dd_FreeMatrix(Hrep);
+ dd_FreeMatrix(Vrep);
+}
+
+
+void compute_all(dd_MatrixPtr M, dd_ErrorType* err_ptr)
+{
+ dd_MatrixPtr Vrep, Hrep;
+ minimal_Vrep_Hrep(M, &Vrep, &Hrep, err_ptr);
+ if (*err_ptr != dd_NoError) return;
+
+ print_both_reps(Vrep, Hrep);
+ compute_adjacency(Vrep, err_ptr);
+ compute_adjacency(Hrep, err_ptr);
+ dd_FreeMatrix(Hrep);
+ dd_FreeMatrix(Vrep);
+}
+
+
+
+void usage(char *name)
+{
+ printf("No known option specified, I don't know what to do!\n"
+ "Usage:\n"
+ "%s --option\n"
+ "where --option is precisely one of the following:\n\n"
+ " --all: Compute everything.\n"
+ " This will compute minimal H-,V-representation and vertex and facet graph.\n"
+ "\n"
+ " --reps: Compute both a minimal H- and minimal V-representation.\n"
+ "\n"
+ " --adjacency: Compute adjacency information only.\n"
+ " The input is assumed to be a minimal representation, as, for example, computed\n"
+ " by --reps. Warning, you will not get the correct answer if the input\n"
+ " representation is not minimal! The output is the vertex or facet graph,\n"
+ " depending on the input.\n"
+ "\n"
+ "The input data is a H- or V-representation in cdd's ine/ext format and\n"
+ "is in each case read from stdin.\n",
+ name);
+}
+
+
+enum command_line_arguments { ALL, REPS, ADJACENCY };
+
+
+int parse_arguments(char* arg, enum command_line_arguments* option)
+{
+ if (strcmp(arg,"--all")==0) {
+ *option = ALL;
+ return 0;
+ }
+ if (strcmp(arg,"--reps")==0) {
+ *option = REPS;
+ return 0;
+ }
+ if (strcmp(arg,"--adjacency")==0) {
+ *option = ADJACENCY;
+ return 0;
+ }
+ printf("Unknown option: %s\n", arg);
+ return 1;
+}
+
+
+int main(int argc, char *argv[])
+{
+ dd_ErrorType err=dd_NoError;
+ dd_MatrixPtr M;
+ enum command_line_arguments option;
+
+ if (argc!=2 || parse_arguments(argv[1],&option)) {
+ usage(argv[0]);
+ return 0;
+ }
+
+ dd_set_global_constants();
+
+ /* Read data from stdin */
+ M = dd_PolyFile2Matrix(stdin, &err);
+ if (err != dd_NoError) {
+ printf("I was unable to parse the input data!\n");
+ dd_WriteErrorMessages(stdout,err);
+ dd_free_global_constants();
+ return 1;
+ }
+
+ switch (option) {
+ case ALL:
+ compute_all(M,&err);
+ break;
+ case REPS:
+ compute_both_reps(M,&err);
+ break;
+ case ADJACENCY:
+ compute_adjacency(M,&err);
+ break;
+ default:
+ printf("unreachable option %d\n", option);
+ exit(3); /* unreachable */
+ }
+
+ /* cleanup */
+ dd_FreeMatrix(M);
+ if (err != dd_NoError) {
+ dd_WriteErrorMessages(stdout,err);
+ }
+
+ dd_free_global_constants();
+ return 0;
+}
+
+
+
diff --git a/sci-libs/cddlib/files/cddlib-094f-add-cdd_both_reps-binary.patch b/sci-libs/cddlib/files/cddlib-094f-add-cdd_both_reps-binary.patch
new file mode 100644
index 000000000000..3c7392db7244
--- /dev/null
+++ b/sci-libs/cddlib/files/cddlib-094f-add-cdd_both_reps-binary.patch
@@ -0,0 +1,41 @@
+--- src-gmp/Makefile.am 2009-01-26 09:30:16.000000000 +0000
++++ src-gmp/Makefile.am 2009-10-04 10:36:17.000000000 +0100
+@@ -11,7 +11,8 @@
+ testcdd2_gmp \
+ testlp1_gmp \
+ testlp2_gmp \
+-testlp3_gmp
++testlp3_gmp \
++cdd_both_reps_gmp
+ #cddmathlink
+
+ scdd_gmp_SOURCES = simplecdd.c
+@@ -27,6 +28,7 @@
+ testlp1_gmp_SOURCES = testlp1.c
+ testlp2_gmp_SOURCES = testlp2.c
+ testlp3_gmp_SOURCES = testlp3.c
++cdd_both_reps_gmp_SOURCES = cdd_both_reps.c
+ # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c
+
+ LDADD = ../lib-src-gmp/libcddgmp.a
+--- src/Makefile.am 2009-01-26 09:30:03.000000000 +0000
++++ src/Makefile.am 2009-10-04 10:36:17.000000000 +0100
+@@ -11,7 +11,8 @@
+ testcdd2 \
+ testlp1 \
+ testlp2 \
+-testlp3
++testlp3 \
++cdd_both_reps
+ #cddmathlink
+
+ scdd_SOURCES = simplecdd.c
+@@ -27,6 +28,7 @@
+ testlp1_SOURCES = testlp1.c
+ testlp2_SOURCES = testlp2.c
+ testlp3_SOURCES = testlp3.c
++cdd_both_reps_SOURCES = cdd_both_reps.c
+ # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c
+
+ LDADD = ../lib-src/libcdd.a
+
diff --git a/sci-libs/cddlib/files/cddlib-094f-use-libtool.patch b/sci-libs/cddlib/files/cddlib-094f-use-libtool.patch
new file mode 100644
index 000000000000..219f6d9eb371
--- /dev/null
+++ b/sci-libs/cddlib/files/cddlib-094f-use-libtool.patch
@@ -0,0 +1,54 @@
+--- configure.in.orig 2008-02-07 09:57:13.000000000 +1300
++++ configure.in 2008-05-26 08:59:21.000000000 +1200
+@@ -7,7 +7,7 @@
+ dnl Checks for programs.
+ AC_PROG_CC
+ AC_PROG_INSTALL
+-AC_PROG_RANLIB
++AC_PROG_LIBTOOL
+
+ dnl Checks for libraries.
+ dnl Replace `main' with a function in -lg:
+--- lib-src-gmp/Makefile.am.orig 2008-02-07 09:57:13.000000000 +1300
++++ lib-src-gmp/Makefile.am 2008-05-26 08:55:35.000000000 +1200
+@@ -1,6 +1,6 @@
+-lib_LIBRARIES = libcddgmp.a
++lib_LTLIBRARIES = libcddgmp.la
+
+-libcddgmp_a_SOURCES = \
++libcddgmp_la_SOURCES = \
+ cddcore.c \
+ cddlp.c \
+ cddmp.c \
+--- lib-src/Makefile.am.orig 2008-02-07 09:57:14.000000000 +1300
++++ lib-src/Makefile.am 2008-05-26 08:56:38.000000000 +1200
+@@ -1,6 +1,6 @@
+-lib_LIBRARIES = libcdd.a
++lib_LTLIBRARIES = libcdd.la
+
+-libcdd_a_SOURCES = \
++libcdd_la_SOURCES = \
+ cddcore.c \
+ cddlp.c \
+ cddmp.c \
+--- src/Makefile.am.orig 2008-02-07 09:57:15.000000000 +1300
++++ src/Makefile.am 2008-05-26 08:57:49.000000000 +1200
+@@ -29,6 +29,6 @@
+ testlp3_SOURCES = testlp3.c
+ # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c
+
+-LDADD = ../lib-src/libcdd.a
++LDADD = ../lib-src/libcdd.la
+ INCLUDES = -I../lib-src
+ AM_CPPFLAGS = -UGMPRATIONAL
+--- src-gmp/Makefile.am.orig 2008-02-07 09:57:14.000000000 +1300
++++ src-gmp/Makefile.am 2008-05-26 08:58:35.000000000 +1200
+@@ -29,7 +29,7 @@
+ testlp3_gmp_SOURCES = testlp3.c
+ # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c
+
+-LDADD = ../lib-src-gmp/libcddgmp.a
++LDADD = ../lib-src-gmp/libcddgmp.la
+ AM_LDFLAGS = -L$(gmplibdir)
+ INCLUDES = -I../lib-src-gmp
+ INCLUDES += -I$(gmpincludedir)
diff --git a/sci-libs/cddlib/files/cddlib-094g-add-cdd_both_reps-binary.patch b/sci-libs/cddlib/files/cddlib-094g-add-cdd_both_reps-binary.patch
new file mode 100644
index 000000000000..3aa5912b7460
--- /dev/null
+++ b/sci-libs/cddlib/files/cddlib-094g-add-cdd_both_reps-binary.patch
@@ -0,0 +1,41 @@
+--- src-gmp/Makefile.am 2009-01-26 09:30:16.000000000 +0000
++++ src-gmp/Makefile.am 2009-10-04 10:36:17.000000000 +0100
+@@ -11,7 +11,8 @@
+ testcdd2_gmp \
+ testlp1_gmp \
+ testlp2_gmp \
+-testlp3_gmp
++testlp3_gmp \
++cdd_both_reps_gmp
+ #cddmathlink
+
+ scdd_gmp_SOURCES = simplecdd.c
+@@ -27,6 +28,7 @@
+ testlp1_gmp_SOURCES = testlp1.c
+ testlp2_gmp_SOURCES = testlp2.c
+ testlp3_gmp_SOURCES = testlp3.c
++cdd_both_reps_gmp_SOURCES = cdd_both_reps.c
+ # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c
+
+ LDADD = ../lib-src-gmp/libcddgmp.la
+--- src/Makefile.am 2009-01-26 09:30:03.000000000 +0000
++++ src/Makefile.am 2009-10-04 10:36:17.000000000 +0100
+@@ -11,7 +11,8 @@
+ testcdd2 \
+ testlp1 \
+ testlp2 \
+-testlp3
++testlp3 \
++cdd_both_reps
+ #cddmathlink
+
+ scdd_SOURCES = simplecdd.c
+@@ -27,6 +28,7 @@
+ testlp1_SOURCES = testlp1.c
+ testlp2_SOURCES = testlp2.c
+ testlp3_SOURCES = testlp3.c
++cdd_both_reps_SOURCES = cdd_both_reps.c
+ # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c
+
+ LDADD = ../lib-src/libcdd.la
+
diff --git a/sci-libs/cddlib/metadata.xml b/sci-libs/cddlib/metadata.xml
new file mode 100644
index 000000000000..2f650f9efbfa
--- /dev/null
+++ b/sci-libs/cddlib/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+The C-library cddlib is a C implementation of the Double Description
+Method of Motzkin et al. for generating all vertices (i.e. extreme points)
+and extreme rays of a general convex polyhedron in R^d given by a system
+of linear inequalities:
+
+ P = { x=(x1, ..., xd)^T : b - A x &gt;= 0 }
+
+where A is a given m x d real matrix, b is a given m-vector
+and 0 is the m-vector of all zeros.
+
+The program can be used for the reverse operation (i.e. convex hull
+computation). This means that one can move back and forth between
+an inequality representation and a generator (i.e. vertex and ray)
+representation of a polyhedron with cdd. Also, cdd can solve a linear
+programming problem, i.e. a problem of maximizing and minimizing
+a linear function over P.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/cdf/Manifest b/sci-libs/cdf/Manifest
new file mode 100644
index 000000000000..56a8849335c6
--- /dev/null
+++ b/sci-libs/cdf/Manifest
@@ -0,0 +1,16 @@
+DIST cdf34_1-dist-cdf.tar.gz 1045465 SHA256 d4bffe144e2e2c47c38830681a86b417e3426ffce378f0634682953957185117 SHA512 d68e39b521402256205196f09ec9742b7fdcd1d59fb3251b5eb50812fee52f9ae193c39d342b3dcc467d03911972e4e19f1cf157ac102eae6cc77cb6abacac44 WHIRLPOOL 4c8b5ee2ed1af21511c235a2b7204f142b98ac68181026816fee72be33b7b56b33dbfbf91b9923d913c052b26c1018d916857d57fc599c63782aef54a384384d
+DIST cdf34_1-dist-java.tar.gz 713180 SHA256 d6efb2e1c06a42e52e3a3a90c0f155b31d3fdac71f781b73e8a6c0ffa85f459e SHA512 1b95110e6ff455cb379370a74b4160098b5dbd3bef8a3854634caad40d93fde9bc804e4f10187cfeb232f9b9a28a69ce6de6caba969c64dc21b89b339e01e112 WHIRLPOOL 410e5b3dbedd3c4a19e3fac85687ec69e5ad605e9b85c45ce679fc2fdd3b28ad353e76990886ccb0ff7fab4a09b287b2b2bd0c14beef6945de43e47273141502
+DIST cdf34crm.pdf 1693915 SHA256 cc3add52cef16be0820b314a0f7928c254e85a870ba11b931f662a6ce545f2e9 SHA512 cbc8a4b6237632147de24c0eecaaff0f7fa6551eec08f68ebc72c79aff71a99608c309874bd07e9dca6203868171159556a29a7669ecb7e45e60a5cef8d81cb4 WHIRLPOOL 35a01d1cae36d683c232fc3de779c3541b209d303edebdec254eebbba88b10063cd632d0a36bf18b82f47e002695ad858801359b75af7fbf7b1282a1f97ea575
+DIST cdf34frm.pdf 1968381 SHA256 a725ee218c00fd544fdce4c7868d49b1c6128077ba60c2eebf19d7357bfbb8a4 SHA512 c5402db80c05192430e1ca7142d356a8224c52f128fe8c1be937767623c12a7ed55d7afaa0955a00e9ebcace87ba5fed977fc8020a71cdac40fb44326c5f8f65 WHIRLPOOL 7ce91654405d8e80c81b775d931fdf676b00987406fc608df19f69278a5f362f83c30c6e8c4986bd064f1f32f3ce48fb03e2cd8e39a785fa53335a95c4a83d7d
+DIST cdf34ifd.pdf 415359 SHA256 3bf7b3ec80c8be85425bb632a9da34142eabc7a26f5c1cdb6208eb47095922ec SHA512 1ab42f8677fbbb7cb477c6cbbfe632a8569c6a78fee07dd32c42f549b7d451faaf0ca61ba03f2ea5ba4de2a3a71cc40e4de6ca3dcf86b7caef7594cefc9f2246 WHIRLPOOL adfcd60cdb58799a652cea688e2515d6e336e3ac3913b515afcca7dfd507691cd16471564baaa6690691442ffe6319cd693aa176f23ebea0d573f576dbf1a9f5
+DIST cdf34jrm.pdf 3505200 SHA256 7a08793d023080cedf370f4dc2ff589074b0ef11add2abfd634691790e4efeb3 SHA512 1609f609f7f455bb4749f5f948183f066bc7b6a1367082fccfed669a9768d8c6d8e46f39680e0e99b4accd030c262af92deff9f832e2789ea191874c107df94c WHIRLPOOL 107f852b43b950c2b603299622a1ddec75221cbf6c19520576a9b95e694579545585340d609560eba691f49acf4ec4beae9994bf15ce6a5844752fe975fefc78
+DIST cdf34prm.pdf 1062987 SHA256 157253ec0cfe47eb6e9f76f2f1a1c365abf82303ffd3334dd7b0168448c1d0cd SHA512 f4e95ce93c896147e4c3074caa8a4d564aadebc8e741c6e593a9377fc0fb0e6f3225c2cd9962900a144418a5b445f462fe12d1178857c3f229f2650da4030587 WHIRLPOOL 261dae7cb16a7bf0cf83d3eda4a939b6d0890a3049b8e7f5817a203408320b9ea41445ae46b4ecd4651a5f70f755a7bdba46e4ced1c0d59d03ceaca5bdcaeb25
+DIST cdf34ug.pdf 1307731 SHA256 a23eb912cb1b371e34ba39e4c3d9ea28cd4512b072910ee8cfa6e00c9323775d SHA512 78c4891690494131f1a8793e1e0dbb9aa0d021b88d04489385156dcc25a218555acad3ec727265aa2b749e24c9a66601ad0698ad201bc6f16b74c9266aae4a0f WHIRLPOOL f15dfbeb68574359d9ccee3ab085ddd671d63b8fa46b16df2b9995aaf85281681dbefe5bc6b9e8f6c64bf6ea9fa1911d96dfa3c6d1e54cb3b0593db8e8ededa8
+DIST cdf350crm.pdf 2139671 SHA256 3cc847dbf32d7d86cde4bd7bf2914a2800abc97a38a3d52832b31b7157afe2de SHA512 382c3cfd73b7c75a017f0c563c61473fccc11ca344f33f4f5a543f4c339a52879400532dbff9956ae8c2b7706f63223132666c3154ad7ada281cd4418e48b4dd WHIRLPOOL 22dfa4158c2f206a68caf3fa0a4c31b5099299d590b5427a376796762ad504b4b731b6a79a12b529b2bc48e8972bbfc45df96c84a8b0515e093eab4bfc9c1cbf
+DIST cdf350frm.pdf 2194293 SHA256 a4cbe07f14885a1ac0aeb092c00fdd522784cd8b03a6f6ba948464d9495ff3f7 SHA512 1c1db067f42b56ddb01399821103ced7207da1dc191f62f7acf6776a05c15a992f7be060790233e1b94444724aedb6f83ba687f60b7a20b4988f9d591b40d481 WHIRLPOOL b91148ab9c2c47aaaa9f9d29ffd7368db52db8d534b851185d85f6ec39ed7a6d102be67a6ba88943e3a0f77a6597ecd5608af0a1f6b911beb38c86ddddb3c35c
+DIST cdf350jrm.pdf 4009791 SHA256 d57b5298de5ca753d31c4c879c7690349f754492a02b148f7587631260f57444 SHA512 cf42de6d94168337936403fc2e504b03fdd676ae8daf8020186d3261bc7331822d47b7c509c804ca5fd637af3696308d09c5db102aaa546138d0630c3df999c3 WHIRLPOOL 6a8ce28712ee20efa9806f5e0de039c91b537a063695697552ddaad71c86845b4d1667eb414737d9cfa431289caab6dc876f50c5052eb24e5e4d4871d5386913
+DIST cdf350prm.pdf 1111201 SHA256 4e95c4377bbc621a03071b4802356f4f745e24c10f95d92bf719a6740bd090bc SHA512 5ab9002dea0d223e5322d3cfbd9faaa4306d701c9e81de77a27b6c28054ffde146ce1fc98c6f8f34d36c684fc65c8007e378af9990cf709f534da35c2ca1ecb4 WHIRLPOOL 52eaa71ec1277d0a1371258c90c31879760ba13cd11453501ec7786cd74a3cfe77440932de2ec7551562b98b44a239ec0b5e94f032d3e7cb77e8634601f87004
+DIST cdf350ug.pdf 1396156 SHA256 835cee3304954c003d0aad86c9a14d06fbb41e3b8e8875a9610f688a22fd79ee SHA512 2c3111cb873f7e59b78e1963923a878564f4dbcd7bd8f54a3b35825e3fcfd162bf19ba6fef3ec1058616cc76bb0c57cdd2f7bf9fd5f4faaac9ba5559d7febe29 WHIRLPOOL fae228f9b72c4d38b8261295303475a8ac4ae558468ec40f8d69fe76463bf40912552e0636f1f422dbfa583ff25837b6845fe9cf942f3f4f0b079563a7a5a78b
+DIST cdf35_0-dist-cdf.tar.gz 1137065 SHA256 ffac4885e5ae3a14ea1bb473560678894b4feb586dd94839e5008deaf4ef884b SHA512 f26bd1e298494563cb30c52751bd175124814dca2fe2c05ae056d6c2ad905fb5ddc7da35888c6a07d69914f52481cb4e9fcab9684c9a8a0ca4b80ca449ad3406 WHIRLPOOL 2db7bdb674f8dad9dd94f340d615baaa134718388815ee982d6f2775d269d6ad70ecb67cd3d2e0487c149a7b4feccf3616fd70d96ce5ba1f870574b7b6eae474
+DIST cdf35_0-dist-java.tar.gz 724055 SHA256 5a24cb2cbab78f4857abcfbd4f8a3c420def6927f5118caff4e9a7d9a8c9798d SHA512 2e69447e9c36ced39a6bfcd1f2a5dfa7c36c04e9a5acac12952c1b415c5191471efbf2cc432b5b31eb37c8ee31bda3e27bce0fa266c5549fb1b0ab86c4dd6c4f WHIRLPOOL e9d6e081d4f62dd07c5c8c15d646d970a5ab7818fdfe8d322a066b689072082f365c1a5371eaba0b7886e984c6bbfd30704556eda54d28d3007ee3a189f915c7
+DIST cdf35ifd.pdf 560458 SHA256 652fb65604b7ca32961f04babc2149f6435a60ea16b32635d046492d29839ba5 SHA512 018a524f7fc8dc5b8b3512ed8bdea42bae141eb65d24b4fbbdac6ecebaeac5c458caf3a476fc4b7c0313b17441cbe7dce32d1002f9344d056cd46853ee3cd438 WHIRLPOOL 9f7b606f428ffe216b3b68ff817c951aa9b74890aa150a393635b694a58495fcdc2f719321567d0dabd08cd584930711f974ade580642a27876c03ff59ad15ae
diff --git a/sci-libs/cdf/cdf-3.4.1.ebuild b/sci-libs/cdf/cdf-3.4.1.ebuild
new file mode 100644
index 000000000000..7db24ca42e7a
--- /dev/null
+++ b/sci-libs/cdf/cdf-3.4.1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils java-pkg-opt-2 multilib toolchain-funcs versionator
+
+MY_DP="${PN}$(get_version_component_range 1)$(get_version_component_range 2)"
+MY_P="${MY_DP}_$(get_version_component_range 3)"
+
+DESCRIPTION="Common Data Format I/O library for multi-dimensional data sets"
+HOMEPAGE="http://cdf.gsfc.nasa.gov/"
+SRC_BASE="ftp://cdaweb.gsfc.nasa.gov/pub/${PN}/dist/${MY_P}/unix"
+
+SRC_URI="${SRC_BASE}/${MY_P}-dist-${PN}.tar.gz
+ java? ( ${SRC_BASE}/${MY_P}-dist-java.tar.gz )
+ doc? (
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}crm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}frm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}ifd.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}prm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}ug.pdf
+ java? ( ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}jrm.pdf )
+ )"
+
+LICENSE="CDF"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples java ncurses static-libs"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.5 )
+ ncurses? ( sys-libs/ncurses )
+ "
+DEPEND="
+ java? ( >=virtual/jdk-1.5 )
+ ncurses? ( sys-libs/ncurses )
+ "
+
+S="${WORKDIR}/${MY_P}-dist"
+
+src_prepare() {
+ # respect cflags, remove useless scripts
+ epatch \
+ "${FILESDIR}"/${PN}-3.4-Makefile.patch \
+ "${FILESDIR}"/${PN}-3.2-soname.patch
+ # use proper lib dir
+ sed -i \
+ -e "s:\$(INSTALLDIR)/lib:\$(INSTALLDIR)/$(get_libdir):g" \
+ Makefile || die "sed failed"
+}
+
+src_compile() {
+ PV_SO=${PV:0:1}
+ emake \
+ OS=linux \
+ CC=$(tc-getCC) \
+ ENV=gnu \
+ SHARED=yes \
+ SHAREDEXT_linux=so.${PV_SO} \
+ CURSESLIB_linux_gnu="$(usex ncurses "$($(tc-getPKG_CONFIG) --libs ncurses)" "")" \
+ CURSES=$(usex ncurses) \
+ ${myconf} \
+ all
+
+ if use java; then
+ export CDF_BASE="${S}"
+ export CDF_LIB="${S}/src/lib"
+ cd cdfjava/jni
+ $(tc-getCC) \
+ ${CFLAGS} -fPIC \
+ -I${CDF_BASE}/src/include \
+ -I$(java-config -O)/include \
+ -I$(java-config -O)/include/linux \
+ -c cdfNativeLibrary.c \
+ -o cdfNativeLibrary.o \
+ || die "compiling java lib failed"
+ $(tc-getCC) \
+ ${LDFLAGS} \
+ -shared cdfNativeLibrary.o \
+ -Wl,-soname=libcdfNativeLibrary.so.${PV_SO} \
+ -L${CDF_LIB} -lcdf -lm \
+ -o libcdfNativeLibrary.so.${PV_SO} \
+ || die "linking java lib failed"
+ fi
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ dodir /usr/bin /usr/$(get_libdir)
+ # -j1 (fragile non-autotooled make)
+ emake -j1 \
+ INSTALLDIR="${ED}/usr" \
+ SHAREDEXT=so.${PV_SO} \
+ install
+ dosym libcdf.so.${PV_SO} /usr/$(get_libdir)/libcdf.so
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/libcdf.a
+ dodoc Release.notes CHANGES.txt Welcome.txt
+ doenvd "${FILESDIR}"/50cdf
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins "${DISTDIR}"/${MY_DP}*.pdf
+ use java || rm "${D}"/usr/share/doc/${PF}/${MY_P}jrm.pdf
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins samples/*
+ fi
+
+ if use java; then
+ cd cdfjava || die
+ dolib.so jni/libcdfNativeLibrary.so.${PV_SO}
+ dosym libcdfNativeLibrary.so.${PV_SO} \
+ /usr/$(get_libdir)/libcdfNativeLibrary.so
+ java-pkg_dojar */*.jar
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples/java
+ doins examples/*
+ fi
+ fi
+}
diff --git a/sci-libs/cdf/cdf-3.5.0.2.ebuild b/sci-libs/cdf/cdf-3.5.0.2.ebuild
new file mode 100644
index 000000000000..c370eb3e3855
--- /dev/null
+++ b/sci-libs/cdf/cdf-3.5.0.2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils java-pkg-opt-2 multilib toolchain-funcs versionator
+
+MY_DP="${PN}$(get_version_component_range 1)$(get_version_component_range 2)"
+MY_P="${MY_DP}_$(get_version_component_range 3)"
+
+DESCRIPTION="Common Data Format I/O library for multi-dimensional data sets"
+HOMEPAGE="http://cdf.gsfc.nasa.gov/"
+SRC_BASE="http://cdaweb.gsfc.nasa.gov/pub/software/${PN}/dist/${MY_P}/unix/"
+
+SRC_URI="${SRC_BASE}/${MY_P}-dist-${PN}.tar.gz
+ java? ( ${SRC_BASE}/${MY_P}-dist-java.tar.gz )
+ doc? (
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0crm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0frm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}ifd.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0prm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0ug.pdf
+ java? ( ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0jrm.pdf )
+ )"
+
+LICENSE="CDF"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples java ncurses static-libs"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.5 )
+ ncurses? ( sys-libs/ncurses )
+ "
+DEPEND="
+ java? ( >=virtual/jdk-1.5 )
+ ncurses? ( sys-libs/ncurses )
+ "
+
+S="${WORKDIR}/${MY_P}-dist"
+
+src_prepare() {
+ # respect cflags, remove useless scripts
+ epatch \
+ "${FILESDIR}"/${P}-Makefile.patch \
+ "${FILESDIR}"/${PN}-3.2-soname.patch
+ # use proper lib dir
+ sed -i \
+ -e "s:\$(INSTALLDIR)/lib:\$(INSTALLDIR)/$(get_libdir):g" \
+ Makefile || die "sed failed"
+}
+
+src_compile() {
+ PV_SO=${PV:0:1}
+ emake \
+ OS=linux \
+ CC=$(tc-getCC) \
+ ENV=gnu \
+ SHARED=yes \
+ SHAREDEXT_linux=so.${PV_SO} \
+ CURSESLIB_linux_gnu="$(usex ncurses "$($(tc-getPKG_CONFIG) --libs ncurses)" "")" \
+ CURSES=$(usex ncurses) \
+ ${myconf} \
+ all
+
+ if use java; then
+ export CDF_BASE="${S}"
+ export CDF_LIB="${S}/src/lib"
+ cd cdfjava/jni
+ $(tc-getCC) \
+ ${CFLAGS} -fPIC \
+ -I${CDF_BASE}/src/include \
+ -I$(java-config -O)/include \
+ -I$(java-config -O)/include/linux \
+ -c cdfNativeLibrary.c \
+ -o cdfNativeLibrary.o \
+ || die "compiling java lib failed"
+ $(tc-getCC) \
+ ${LDFLAGS} \
+ -shared cdfNativeLibrary.o \
+ -Wl,-soname=libcdfNativeLibrary.so.${PV_SO} \
+ -L${CDF_LIB} -lcdf -lm \
+ -o libcdfNativeLibrary.so.${PV_SO} \
+ || die "linking java lib failed"
+ fi
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ dodir /usr/bin /usr/$(get_libdir)
+ # -j1 (fragile non-autotooled make)
+ emake -j1 \
+ INSTALLDIR="${ED}/usr" \
+ SHAREDEXT=so.${PV_SO} \
+ install
+ dosym libcdf.so.${PV_SO} /usr/$(get_libdir)/libcdf.so
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/libcdf.a
+ dodoc Release.notes CHANGES.txt Welcome.txt
+ doenvd "${FILESDIR}"/50cdf
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins "${DISTDIR}"/${MY_DP}*.pdf
+ use java || rm "${D}"/usr/share/doc/${PF}/${MY_P}jrm.pdf
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins samples/*
+ fi
+
+ if use java; then
+ cd cdfjava || die
+ dolib.so jni/libcdfNativeLibrary.so.${PV_SO}
+ dosym libcdfNativeLibrary.so.${PV_SO} \
+ /usr/$(get_libdir)/libcdfNativeLibrary.so
+ java-pkg_dojar */*.jar
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples/java
+ doins examples/*
+ fi
+ fi
+}
diff --git a/sci-libs/cdf/files/50cdf b/sci-libs/cdf/files/50cdf
new file mode 100644
index 000000000000..d967cbee6f22
--- /dev/null
+++ b/sci-libs/cdf/files/50cdf
@@ -0,0 +1,5 @@
+CDF_BASE=/usr
+CDF_INC=${CDF_BASE}/include
+CDF_LIB=${CDF_BASE}/lib
+CDF_BIN=${CDF_BASE}/bin
+CDF_HELP=${CDF_BASE}/lib/cdf/help
diff --git a/sci-libs/cdf/files/cdf-3.2-Makefile.patch b/sci-libs/cdf/files/cdf-3.2-Makefile.patch
new file mode 100644
index 000000000000..6333632abb28
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.2-Makefile.patch
@@ -0,0 +1,100 @@
+--- Makefile.orig 2007-12-03 17:38:59.450705131 +0000
++++ Makefile 2007-12-03 17:46:11.117238346 +0000
+@@ -661,17 +661,17 @@
+ "PIC=$(PIC_$(OS)_$(ENV))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+ "LDx=$(LD_$(OS)_$(ENV))" \
+-"COPTIONS=$(UCOPTIONS) $(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSshr_$(OS)_$(ENV))" \
+ "SHAREDEXT=$(SHAREDEXT_$(OS))" \
+-"LDOPTIONS=$(LDOPTIONS_$(OS)_$(ENV))" \
++"LDOPTIONS=$(LDFLAGS) $(LDOPTIONS_$(OS)_$(ENV))" \
+ "AROPTIONS=$(AROPTIONS_$(OS))" \
+ "RANLIB=$(RANLIB_$(OS))" \
+ all
+ @cd $(TOOLSsrcDIR); $(MAKE) \
+ "CURSES=$(AND.$(CURSES).$(CURSES_$(OS)_$(ENV)))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+-"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
+ "CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))" \
+@@ -681,9 +681,9 @@
+ "FCx=$(FC_$(OS))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+ "SHARED=$(AND.$(SHARED).$(SHARED_$(OS)))" \
+-"FOPTIONS=$(FOPTIONS_$(OS)) $(FOPTIONS_$(OS)_$(ENV))" \
++"FOPTIONS=$(FFLAGS) $(FOPTIONS_$(OS)) $(FOPTIONS_$(OS)_$(ENV))" \
+ "FOPTIONSld=$(FOPTIONSld_$(OS)) $(FOPTIONSld_$(OS)_$(ENV))" \
+-"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
+ "SHAREDEXT=$(SHAREDEXT_$(OS))" \
+@@ -711,12 +711,17 @@
+ install.all: install.definitions install.include install.lib \
+ install.tools install.help_ notify.user
+
+-install.definitions: create.bin copy.definitions change.definitions
++install.definitions: create.bin
+ install.include: create.include copy.include
+ install.tools: create.bin copy.tools
+ install.help_: create.help copy.help
+
+ install.lib: create.lib copy.lib.a
++ @if [ -f $(LIBsrcDIR)/libcdf.$(SHAREDEXT) ] ; then \
++ $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
++ else \
++ $(NULL) ; \
++ fi
+ @if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
+ $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
+ else \
+@@ -811,8 +816,8 @@
+ cp $(INCsrcDIR)/cdfconfig.h $(INSTALLDIR)/include
+
+ copy.lib.so:
+- @echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
+- cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
++ @echo cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
++ cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
+
+ copy.lib.sl:
+ @echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
+@@ -1851,15 +1856,15 @@
+ show.supported:
+ @echo SHARED is $(SUPPORTED.$(SHARED_$(OS)))
+ @echo CURSES is $(SUPPORTED.$(CURSES_$(OS)_$(ENV)))
+- @echo FOPTIONS=$(FOPTIONS_$(OS))
++ @echo FOPTIONS=$(FFLAGS) $(FOPTIONS_$(OS))
+ @echo FOPTIONSld=$(FOPTIONSld_$(OS))
+ @echo SHAREDEXT=$(SHAREDEXT_$(OS))
+- @echo LDOPTIONSlibcdf=$(LDOPTIONS_$(OS)_$(ENV))
++ @echo LDOPTIONSlibcdf=$(LDFLAGS) $(LDOPTIONS_$(OS)_$(ENV))
+ @echo RANLIB=$(RANLIB_$(OS))
+ @echo FCx=$(FC_$(OS))
+ @echo CCx=$(CC_$(OS)_$(ENV))
+ @echo PIC=$(PIC_$(OS)_$(ENV))
+- @echo COPTIONS=$(COPTIONS_$(OS)_$(ENV))
++ @echo COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))
+ @echo COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))
+ @echo CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))
+ @echo SYSLIBSexe=$(SYSLIBSexe_$(OS)_$(ENV))
+--- src/tools/Makefile.orig 2009-02-02 18:02:55.000000000 +0000
++++ src/tools/Makefile 2009-02-02 18:07:31.000000000 +0000
+@@ -35,10 +35,10 @@
+ INCLUDEcdf= ../include
+
+ CC=$(CCx)
+-CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
+-CFLAGSld=$(COPTIONSld)
++CFLAGS:= $(CFLAGS) $(COPTIONS) -I$(INCLUDEcdf)
++CFLAGSld=$(LDFLAGS) $(COPTIONSld)
+
+-LIBCDFa=../lib/libcdf.a
++LIBCDFa=../lib/libcdf.so.3
+
+ LIBs1=$(LIBCDFa) $(SYSLIBS)
+ LIBs2=$(LIBCDFa) $(CURSESLIB) $(SYSLIBS)
diff --git a/sci-libs/cdf/files/cdf-3.2-soname.patch b/sci-libs/cdf/files/cdf-3.2-soname.patch
new file mode 100644
index 000000000000..e4f28617faca
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.2-soname.patch
@@ -0,0 +1,22 @@
+--- src/lib/Makefile.orig 2007-12-03 17:47:58.476149933 +0000
++++ src/lib/Makefile 2007-12-03 17:50:34.353032850 +0000
+@@ -94,7 +94,7 @@
+
+ shared.yes: libcdf.$(SHAREDEXT)
+
+-libcdf.so \
++libcdf.$(SHAREDEXT) \
+ libcdf.dylib \
+ libcdf.sl: $(OBJs)
+ @if [ -f $@ ] ; then rm $@ ; else $(NULL) ; fi
+@@ -102,8 +102,8 @@
+ echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \
+ $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \
+ else \
+- echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \
+- $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \
++ echo $(LD) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS); \
++ $(LD) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS); \
+ fi
+
+ libcdf.o: $(OBJs)
diff --git a/sci-libs/cdf/files/cdf-3.4-Makefile.patch b/sci-libs/cdf/files/cdf-3.4-Makefile.patch
new file mode 100644
index 000000000000..4a6c0a0ef266
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.4-Makefile.patch
@@ -0,0 +1,102 @@
+diff -Nur cdf34_1-dist.orig/Makefile cdf34_1-dist/Makefile
+--- cdf34_1-dist.orig/Makefile 2012-06-19 06:05:21.000000000 -0700
++++ cdf34_1-dist/Makefile 2012-08-03 10:11:38.672992055 -0700
+@@ -715,17 +715,17 @@
+ "PIC=$(PIC_$(OS)_$(ENV))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+ "LDx=$(LD_$(OS)_$(ENV))" \
+-"COPTIONS=$(UCOPTIONS) $(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSshr_$(OS)_$(ENV))" \
+ "SHAREDEXT=$(SHAREDEXT_$(OS))" \
+-"LDOPTIONS=$(LDOPTIONS_$(OS)_$(ENV))" \
++"LDOPTIONS=$(LDFLAGS) $(LDOPTIONS_$(OS)_$(ENV))" \
+ "AROPTIONS=$(AROPTIONS_$(OS))" \
+ "RANLIB=$(RANLIB_$(OS))" \
+ all
+ @cd $(TOOLSsrcDIR); $(MAKE) \
+ "CURSES=$(AND.$(CURSES).$(CURSES_$(OS)_$(ENV)))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+-"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
+ "CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))" \
+@@ -735,9 +735,9 @@
+ "FCx=$(FC_$(OS))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+ "SHARED=$(AND.$(SHARED).$(SHARED_$(OS)))" \
+-"FOPTIONS=$(FOPTIONS_$(OS)) $(FOPTIONS_$(OS)_$(ENV))" \
++"FOPTIONS=$(FFLAGS) $(FOPTIONS_$(OS)) $(FOPTIONS_$(OS)_$(ENV))" \
+ "FOPTIONSld=$(FOPTIONSld_$(OS)) $(FOPTIONSld_$(OS)_$(ENV))" \
+-"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
+ "SHAREDEXT=$(SHAREDEXT_$(OS))" \
+@@ -773,12 +773,17 @@
+ install.all: install.definitions install.include install.lib \
+ install.tools install.help_ notify.user copy.leapseconds
+
+-install.definitions: create.bin copy.definitions change.definitions
++install.definitions: create.bin
+ install.include: create.include copy.include
+ install.tools: create.bin copy.tools
+ install.help_: create.help copy.help
+
+ install.lib: create.lib copy.lib.a
++ @if [ -f $(LIBsrcDIR)/libcdf.$(SHAREDEXT) ] ; then \
++ $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
++ else \
++ $(NULL) ; \
++ fi
+ @if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
+ $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
+ else \
+@@ -884,8 +889,8 @@
+ cp $(INCsrcDIR)/cdfconfig.h $(INSTALLDIR)/include
+
+ copy.lib.so:
+- @echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
+- cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
++ @echo cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
++ cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
+
+ copy.lib.sl:
+ @echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
+@@ -1964,15 +1969,15 @@
+ show.supported:
+ @echo SHARED is $(SUPPORTED.$(SHARED_$(OS)))
+ @echo CURSES is $(SUPPORTED.$(CURSES_$(OS)_$(ENV)))
+- @echo FOPTIONS=$(FOPTIONS_$(OS))
++ @echo FOPTIONS=$(FFLAGS) $(FOPTIONS_$(OS))
+ @echo FOPTIONSld=$(FOPTIONSld_$(OS))
+ @echo SHAREDEXT=$(SHAREDEXT_$(OS))
+- @echo LDOPTIONSlibcdf=$(LDOPTIONS_$(OS)_$(ENV))
++ @echo LDOPTIONSlibcdf=$(LDFLAGS) $(LDOPTIONS_$(OS)_$(ENV))
+ @echo RANLIB=$(RANLIB_$(OS))
+ @echo FCx=$(FC_$(OS))
+ @echo CCx=$(CC_$(OS)_$(ENV))
+ @echo PIC=$(PIC_$(OS)_$(ENV))
+- @echo COPTIONS=$(COPTIONS_$(OS)_$(ENV))
++ @echo COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))
+ @echo COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))
+ @echo CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))
+ @echo SYSLIBSexe=$(SYSLIBSexe_$(OS)_$(ENV))
+diff -Nur cdf34_1-dist.orig/src/tools/Makefile cdf34_1-dist/src/tools/Makefile
+--- cdf34_1-dist.orig/src/tools/Makefile 2012-06-15 09:22:16.000000000 -0700
++++ cdf34_1-dist/src/tools/Makefile 2012-08-03 10:11:38.685992724 -0700
+@@ -35,10 +35,10 @@
+ INCLUDEcdf= ../include
+
+ CC=$(CCx)
+-CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
+-CFLAGSld=$(COPTIONSld)
++CFLAGS:=$(CFLAGS) $(COPTIONS) -I$(INCLUDEcdf)
++CFLAGSld=$(LDFLAGS) $(COPTIONSld)
+
+-LIBCDFa=../lib/libcdf.a
++LIBCDFa=../lib/libcdf.so.3
+ LIBs1=$(LIBCDFa) $(SYSLIBS)
+ LIBs2=$(LIBCDFa) $(CURSESLIB) $(SYSLIBS)
+
diff --git a/sci-libs/cdf/files/cdf-3.5.0.2-Makefile.patch b/sci-libs/cdf/files/cdf-3.5.0.2-Makefile.patch
new file mode 100644
index 000000000000..3bab69dfc6ac
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.5.0.2-Makefile.patch
@@ -0,0 +1,110 @@
+ Makefile | 27 ++++++++++++++++-----------
+ src/tools/Makefile | 6 +++---
+ 2 files changed, 19 insertions(+), 14 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 7f240db..222c4f1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -771,17 +771,17 @@ all
+ "PIC=$(PIC_$(OS)_$(ENV))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+ "LDx=$(LD_$(OS)_$(ENV))" \
+-"COPTIONS=$(UCOPTIONS) $(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSshr_$(OS)_$(ENV))" \
+ "SHAREDEXT=$(SHAREDEXT_$(OS))" \
+-"LDOPTIONS=$(LDOPTIONS_$(OS)_$(ENV))" \
++"LDOPTIONS=$(LDFLAGS) $(LDOPTIONS_$(OS)_$(ENV))" \
+ "AROPTIONS=$(AROPTIONS_$(OS))" \
+ "RANLIB=$(RANLIB_$(OS))" \
+ all
+ @cd $(TOOLSsrcDIR); $(MAKE) \
+ "CURSES=$(AND.$(CURSES).$(CURSES_$(OS)_$(ENV)))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+-"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
+ "CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))" \
+@@ -791,9 +791,9 @@ all
+ "FCx=$(FC_$(OS))" \
+ "CCx=$(CC_$(OS)_$(ENV))" \
+ "SHARED=$(AND.$(SHARED).$(SHARED_$(OS)))" \
+-"FOPTIONS=$(FOPTIONS_$(OS)) $(FOPTIONS_$(OS)_$(ENV))" \
++"FOPTIONS=$(FFLAGS) $(FOPTIONS_$(OS)) $(FOPTIONS_$(OS)_$(ENV))" \
+ "FOPTIONSld=$(FOPTIONSld_$(OS)) $(FOPTIONSld_$(OS)_$(ENV))" \
+-"COPTIONS=$(COPTIONS_$(OS)_$(ENV))" \
++"COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))" \
+ "COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))" \
+ "SYSLIBS=$(SYSLIBSexe_$(OS)_$(ENV))" \
+ "SHAREDEXT=$(SHAREDEXT_$(OS))" \
+@@ -829,12 +829,17 @@ install: install.$(PART)
+ install.all: install.definitions install.include install.lib \
+ install.tools install.help_ notify.user copy.leapseconds
+
+-install.definitions: create.bin copy.definitions change.definitions
++install.definitions: create.bin
+ install.include: create.include copy.include
+ install.tools: create.bin copy.tools
+ install.help_: create.help copy.help
+
+ install.lib: create.lib copy.lib.a
++ @if [ -f $(LIBsrcDIR)/libcdf.$(SHAREDEXT) ] ; then \
++ $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
++ else \
++ $(NULL) ; \
++ fi
+ @if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
+ $(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
+ else \
+@@ -940,8 +945,8 @@ copy.include:
+ cp $(INCsrcDIR)/cdfconfig.h $(INSTALLDIR)/include
+
+ copy.lib.so:
+- @echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
+- cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
++ @echo cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
++ cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
+
+ copy.lib.sl:
+ @echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
+@@ -2128,15 +2133,15 @@ show.posix.alphaI: show.supported
+ show.supported:
+ @echo SHARED is $(SUPPORTED.$(SHARED_$(OS)))
+ @echo CURSES is $(SUPPORTED.$(CURSES_$(OS)_$(ENV)))
+- @echo FOPTIONS=$(FOPTIONS_$(OS))
++ @echo FOPTIONS=$(FFLAGS) $(FOPTIONS_$(OS))
+ @echo FOPTIONSld=$(FOPTIONSld_$(OS))
+ @echo SHAREDEXT=$(SHAREDEXT_$(OS))
+- @echo LDOPTIONSlibcdf=$(LDOPTIONS_$(OS)_$(ENV))
++ @echo LDOPTIONSlibcdf=$(LDFLAGS) $(LDOPTIONS_$(OS)_$(ENV))
+ @echo RANLIB=$(RANLIB_$(OS))
+ @echo FCx=$(FC_$(OS))
+ @echo CCx=$(CC_$(OS)_$(ENV))
+ @echo PIC=$(PIC_$(OS)_$(ENV))
+- @echo COPTIONS=$(COPTIONS_$(OS)_$(ENV))
++ @echo COPTIONS=$(CFLAGS) $(COPTIONS_$(OS)_$(ENV))
+ @echo COPTIONSld=$(COPTIONSld_$(OS)_$(ENV))
+ @echo CURSESLIB=$(CURSESLIB_$(OS)_$(ENV))
+ @echo SYSLIBSexe=$(SYSLIBSexe_$(OS)_$(ENV))
+diff --git a/src/tools/Makefile b/src/tools/Makefile
+index 3773c0c..1cabf61 100644
+--- a/src/tools/Makefile
++++ b/src/tools/Makefile
+@@ -40,12 +40,12 @@ CURSESLIB=-lncurses
+ INCLUDEcdf= ../include
+
+ CC=$(CCx)
+-CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
+-CFLAGSld=$(COPTIONSld)
++CFLAGS:=$(CFLAGS) $(COPTIONS) -I$(INCLUDEcdf)
++CFLAGSld=$(LDFLAGS) $(COPTIONSld)
+
+ WHICHOS=$(shell uname -a | cut -f1 -d" ")
+ ifeq ("$(WHICHOS)","Darwin")
+- LIBCDFa=../lib/libcdf.a
++ LIBCDFa=../lib/libcdf.so.3
+ else
+ WHICHOS=$(shell uname -a | cut -f7 -d" ")
+ ifeq ("$(WHICHOS)","Cygwin")
diff --git a/sci-libs/cdf/metadata.xml b/sci-libs/cdf/metadata.xml
new file mode 100644
index 000000000000..aadf07573aff
--- /dev/null
+++ b/sci-libs/cdf/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+Common Data Format (CDF) is a conceptual data abstraction for storing
+multi-dimensional data sets. The basic component of CDF is a software
+programming interface that is a device independent view of the CDF data
+model. The application developer is insulated from the actual physical
+file format for reasons of conceptual simplicity, device independence,
+and future expandability. CDF files created on any given platform can
+be transported to any other platform on to which CDF is ported and used
+with any CDF tools or layered applications. A more detailed introduction
+to CDF can be found in the CDF User's Guide.
+A comparison between CDF, netCDF, HDF and HDF5 is available at
+http://cdf.gsfc.nasa.gov/html/FAQ.html.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/ceres-solver/Manifest b/sci-libs/ceres-solver/Manifest
new file mode 100644
index 000000000000..e22fd30a62fc
--- /dev/null
+++ b/sci-libs/ceres-solver/Manifest
@@ -0,0 +1,2 @@
+DIST ceres-solver-1.8.0.tar.gz 3506384 SHA256 8ee53241930622b74946201123cd38231161878caacf6c30a3bf1c68b24d79af SHA512 114ab5e8e40cffb325c69b70b546697d90833a3f82239fc901fb0d87a9d98b376e2e042b768fd0252d8412f3d301adfb7d992202a0e149d037bea86a08f8c6db WHIRLPOOL cf966a02dced9b672d6aa8a2aecf0aab71bb718bbc5f13acdab2641aed4622c08909eaae6fde1ea91d3e2d0046131692e2ce65969dcbd431ff372482540e4d31
+DIST ceres-solver-1.9.0.tar.gz 3793265 SHA256 30ac0729249f908afe80cb6fd06ae6d037f25a60d9fac54f61344389adab9c1a SHA512 8a991eba3bf1e8fe34ad87291af4ab2091e1026dc1eb83a5e5e40913035744587021592c613b5c5077b2ca848bd61175788933996b91f3c6ef4a40309606691d WHIRLPOOL 9187d217f9283f4575d8633ec7cba4d6868624a178fae12e9204f0989554c7b3e9b217b8890288382325b871ac59038e08dd9255be252ae8570c71a4485c1481
diff --git a/sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild b/sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild
new file mode 100644
index 000000000000..e08cf155e2dc
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-1.8.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils eutils multilib
+
+DESCRIPTION="Nonlinear least-squares minimizer"
+HOMEPAGE="https://code.google.com/p/ceres-solver/"
+SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cxsparse doc examples gflags lapack openmp protobuf +schur sparse static-libs test"
+REQUIRED_USE="test? ( gflags ) sparse? ( lapack )"
+
+RDEPEND="
+ dev-cpp/glog[gflags?]
+ cxsparse? ( sci-libs/cxsparse )
+ lapack? ( virtual/lapack )
+ protobuf? ( dev-libs/protobuf )
+ sparse? (
+ sci-libs/amd
+ sci-libs/camd
+ sci-libs/ccolamd
+ sci-libs/cholmod
+ sci-libs/colamd
+ sci-libs/spqr )"
+
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ lapack? ( virtual/pkgconfig )
+ doc? ( dev-python/sphinx )"
+
+src_prepare() {
+ # prefix love
+ sed -i \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ cmake/*.cmake || die
+
+ # remove Werror and
+ sed -i \
+ -e 's/-Werror//g' \
+ CMakeLists.txt || die
+
+ # respect gentoo doc dir
+ sed -i \
+ -e "s:share/doc/ceres:share/doc/${PF}:" \
+ docs/source/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_EXAMPLES=OFF
+ $(cmake-utils_use_enable test TESTING)
+ $(cmake-utils_use doc BUILD_DOCUMENTATION)
+ $(cmake-utils_use gflags GFLAGS)
+ $(cmake-utils_use lapack LAPACK)
+ $(cmake-utils_use openmp OPENMP)
+ $(cmake-utils_use protobuf PROTOBUF)
+ $(cmake-utils_use schur SCHUR_SPECIALIZATIONS)
+ $(cmake-utils_use cxsparse CXSPARSE)
+ $(cmake-utils_use sparse SUITESPARSE)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README VERSION
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ docompress -x /usr/share/doc/${PF}/examples
+ doins -r examples data
+ fi
+}
diff --git a/sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild b/sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild
new file mode 100644
index 000000000000..80e0ea0f8617
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-1.9.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eutils multilib python-any-r1 toolchain-funcs
+
+DESCRIPTION="Nonlinear least-squares minimizer"
+HOMEPAGE="http://ceres-solver.org/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="cxsparse doc examples gflags lapack openmp protobuf +schur sparse static-libs test"
+REQUIRED_USE="test? ( gflags ) sparse? ( lapack ) doc? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-cpp/glog[gflags?]
+ cxsparse? ( sci-libs/cxsparse:0= )
+ lapack? ( virtual/lapack )
+ protobuf? ( dev-libs/protobuf )
+ sparse? (
+ sci-libs/amd:0=
+ sci-libs/camd:0=
+ sci-libs/ccolamd:0=
+ sci-libs/cholmod:0=
+ sci-libs/colamd:0=
+ sci-libs/spqr:0= )"
+
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ doc? ( dev-python/sphinx dev-python/sphinx_rtd_theme )
+ lapack? ( virtual/pkgconfig )"
+
+PATCHES=( "${FILESDIR}"/${P}-underlink.patch )
+
+pkg_setup() {
+ # XXX: this looks like it should be used with BUILD_TYPE!=binary
+ if use openmp; then
+ if [[ $(tc-getCXX) == *g++* ]] && ! tc-has-openmp; then
+ ewarn "OpenMP is not available in your current selected gcc"
+ die "need openmp capable gcc"
+ fi
+ fi
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # search paths work for prefix
+ sed -i \
+ -e "s:/usr:${EPREFIX}/usr:g" \
+ cmake/*.cmake || die
+
+ # remove Werror
+ sed -i \
+ -e 's/-Werror//g' \
+ CMakeLists.txt || die
+
+ # respect gentoo doc install directory
+ sed -i \
+ -e "s:share/doc/ceres:share/doc/${PF}:" \
+ docs/source/CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_EXAMPLES=OFF
+ $(cmake-utils_use_enable test TESTING)
+ $(cmake-utils_use doc BUILD_DOCUMENTATION)
+ $(cmake-utils_use gflags GFLAGS)
+ $(cmake-utils_use lapack LAPACK)
+ $(cmake-utils_use openmp OPENMP)
+ $(cmake-utils_use protobuf PROTOBUF)
+ $(cmake-utils_use schur SCHUR_SPECIALIZATIONS)
+ $(cmake-utils_use cxsparse CXSPARSE)
+ $(cmake-utils_use sparse SUITESPARSE)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README VERSION
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ docompress -x /usr/share/doc/${PF}/examples
+ doins -r examples data
+ fi
+}
diff --git a/sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch b/sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch
new file mode 100644
index 000000000000..00b005431687
--- /dev/null
+++ b/sci-libs/ceres-solver/files/ceres-solver-1.9.0-underlink.patch
@@ -0,0 +1,13 @@
+--- internal/ceres/CMakeLists.txt.orig 2014-06-05 08:45:55.031448944 -0700
++++ internal/ceres/CMakeLists.txt 2014-06-05 08:48:03.496344301 -0700
+@@ -146,8 +146,9 @@
+
+ SET(CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES})
+
+-IF (SUITESPARSE AND SUITESPARSE_FOUND)
++IF (SUITESPARSE AND SUITESPARSE_FOUND)
+ LIST(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES ${SUITESPARSE_LIBRARIES})
++ LIST(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${SUITESPARSE_LIBRARIES})
+ ENDIF (SUITESPARSE AND SUITESPARSE_FOUND)
+
+ IF (CXSPARSE AND CXSPARSE_FOUND)
diff --git a/sci-libs/ceres-solver/metadata.xml b/sci-libs/ceres-solver/metadata.xml
new file mode 100644
index 000000000000..c61f580793c1
--- /dev/null
+++ b/sci-libs/ceres-solver/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Ceres Solver is a portable C++ library that allows for
+ modeling and solving large complicated nonlinear least squares
+ problems. It features:
+ * automatic differentiation
+ * robust loss functions
+ * local parameterizations
+ * threaded Jacobian evaluators and linear solvers
+ * Levenberg-Marquardt and Dogleg (Powell, Subspace) solvers
+ * Dense QR and Cholesky factorization (using Eigen) for small problems
+ * Sparse Cholesky factorization (using SuiteSparse) for large sparse
+ problems
+ * Specialized solvers for bundle adjustment problems in computer vision
+ * Iterative linear solvers for general sparse and bundle
+ adjustment problems
+</longdescription>
+<use>
+ <flag name="cxsparse">Enable simple support for sparse matrix algebra from
+ <pkg>sci-libs/cxsparse</pkg> with no LAPACK dependencies</flag>
+ <flag name="schur">Enable fixed-size schur specializations (disable if
+ binary size is an issue)</flag>
+ <flag name="sparse">Enable support for sparse matrix algebra with various
+ packages from SuiteSparse</flag>
+ <flag name="gflags">Use <pkg>dev-cpp/gflags</pkg> for flag parsing</flag>
+ <flag name="protobuf">Use <pkg>dev-libs/protobuf</pkg> to encode structured data</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/cfitsio/Manifest b/sci-libs/cfitsio/Manifest
new file mode 100644
index 000000000000..00ace0279414
--- /dev/null
+++ b/sci-libs/cfitsio/Manifest
@@ -0,0 +1 @@
+DIST cfitsio-3.360.tar.gz 4104894 SHA256 b5fb209583c76a0bcc39808e55ebf2417b9c26114c59db1a3f49ea1ede5fa95d SHA512 158819b4a3a29c29a5f017283e2b20067420994e881d202dbf3ba199c9e564dc1e74f8be5ce84f78107126d2a8688cc55cc7ed284540ca647e44cdc3b0b02072 WHIRLPOOL 05589a27c6fa83a0240b26924954c1c6d25d985ad609dfbd37fccfe5758fd28efbd97a5ec289803053e2f53e053e51c017292845de1b4368bcd1725fa2eccdb7
diff --git a/sci-libs/cfitsio/cfitsio-3.360.ebuild b/sci-libs/cfitsio/cfitsio-3.360.ebuild
new file mode 100644
index 000000000000..23165576aa16
--- /dev/null
+++ b/sci-libs/cfitsio/cfitsio-3.360.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools-utils fortran-2
+
+DESCRIPTION="C and Fortran library for manipulating FITS files"
+HOMEPAGE="http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86 ~x64-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
+IUSE="doc examples fortran static-libs +tools threads"
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}
+ fortran? ( dev-lang/cfortran )"
+
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ # avoid internal cfortran
+ if use fortran; then
+ mv cfortran.h cfortran.h.disabled
+ ln -s "${EPREFIX}"/usr/include/cfortran.h . || die
+ fi
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable fortran)
+ $(use_enable threads)
+ $(use_enable tools)
+ )
+ autotools-utils_src_configure
+}
+
+src_install () {
+ autotools-utils_src_install
+ dodoc README* Changes* docs/changes.txt docs/cfitsio.doc
+ use fortran && dodoc docs/fitsio.doc
+ use doc && dodoc docs/{quick,cfitsio,fpackguide}.pdf
+ use doc && use fortran && dodoc docs/fitsio.pdf
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins cookbook.c testprog.c speed.c smem.c
+ use fortran && doins cookbook.f testf77.f
+ fi
+}
diff --git a/sci-libs/cfitsio/metadata.xml b/sci-libs/cfitsio/metadata.xml
new file mode 100644
index 000000000000..3a1d7eeeb433
--- /dev/null
+++ b/sci-libs/cfitsio/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-astronomy</herd>
+ <longdescription lang="en">
+ CFITSIO is a library of C and Fortran subroutines for reading and
+ writing data files in FITS (Flexible Image Transport System) data
+ format. CFITSIO provides simple high-level routines for reading and
+ writing FITS files that insulate the programmer from the internal
+ complexities of the FITS format. CFITSIO also provides advanced
+ features for manipulating and filtering the information in FITS
+ files.
+</longdescription>
+ <use>
+ <flag name="tools">Build execs fpack, funpack, imcopy, fitscopy, listhead
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/cgcode/Manifest b/sci-libs/cgcode/Manifest
new file mode 100644
index 000000000000..540d1b0b40f2
--- /dev/null
+++ b/sci-libs/cgcode/Manifest
@@ -0,0 +1 @@
+DIST cgcode-1.0.tar.gz 77941 SHA256 41dd5a8d388b234c26dbc514f61883530be3d0bd56abdbbde94b8724d266f594 SHA512 df76a2f8a0c00924af3d6933487a363fe23ded8281b392d40f240074c8643219f99dda9b6b6d515a281827d657a27ab06416ce152e65c5fead7549bb96be9621 WHIRLPOOL bcd4f00b4698c6b023a6458c5466f979ae726625b54014ee47a84864c5dc7ac783a8ffcb452e0990f1cfce3093f5c33c131b948a6436b04b0e314e0507d0b538
diff --git a/sci-libs/cgcode/cgcode-1.0-r2.ebuild b/sci-libs/cgcode/cgcode-1.0-r2.ebuild
new file mode 100644
index 000000000000..8a5fe1492688
--- /dev/null
+++ b/sci-libs/cgcode/cgcode-1.0-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils fortran-2 toolchain-funcs
+
+DESCRIPTION="Conjugate gradient Codes for large sparse linear systems"
+HOMEPAGE="http://fetk.org/codes/cgcode/index.html"
+SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-2"
+IUSE=""
+
+RDEPEND="virtual/blas"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-gentoo.patch
+
+ cat >> make.inc <<- EOF
+ F77 = $(tc-getFC)
+ FFLAGS = ${FFLAGS}
+ BLASLIBS = $($(tc-getPKG_CONFIG) --libs blas)
+ EOF
+}
+
+src_install() {
+ dobin goos good
+ dolib.so src/lib${PN}.so*
+ dodoc INTRODUCTION NOTE README
+}
diff --git a/sci-libs/cgcode/files/1.0-gentoo.patch b/sci-libs/cgcode/files/1.0-gentoo.patch
new file mode 100644
index 000000000000..612ca9e06497
--- /dev/null
+++ b/sci-libs/cgcode/files/1.0-gentoo.patch
@@ -0,0 +1,83 @@
+diff --git a/makefile b/makefile
+index 4813b55..f20af02 100644
+--- a/makefile
++++ b/makefile
+@@ -1,21 +1,23 @@
+
+ include make.inc
+
+-THELIBS = libcgcode.a libblas_mini.a
++THELIBS = -lcgcode
+
+ default : goos good
+
+-libs :
+- cd src ; make ; cd ../util ; make
++libs : src/libcgcode.so
++
++src/libcgcode.so:
++ $(MAKE) -C src
+
+ goos : mains.o libs
+- $(F77) $(DEBUG) $(OFLAGS) $(LFLAGS) mains.o $(THELIBS) -o goos
++ $(F77) $(LDFLAGS) mains.o -L./src $(THELIBS) $(BLASLIBS) -o goos
+
+ good : maind.o libs
+- $(F77) $(DEBUG) $(OFLAGS) $(LFLAGS) maind.o $(THELIBS) -o good
++ $(F77) $(LDFLAGS) maind.o -L./src $(THELIBS) $(BLASLIBS) -o good
+
+-.f.o :
+- $(F77) $(CFLAGS) $(DEBUG) $(OFLAGS) $*$ .f
++%.o : %.f
++ $(F77) $(FFLAGS) -c $<
+
+ clean :
+ rm -f *.o goos good
+diff --git a/src/makefile b/src/makefile
+index 10cf6c3..1dfd02d 100644
+--- a/src/makefile
++++ b/src/makefile
+@@ -1,16 +1,17 @@
+
+ include ../make.inc
+
+-THISLIB = libcgcode.a
++THISLIB = libcgcode.so
+ SOBJLIB = scgdrv.o scg.o scr.o scrind.o spcg.o scgnr.o scgne.o spcgnr.o spcgne.o sppcg.o spcgca.o sdpchb.o scbfix.o sckchb.o scgchk.o sonest.o msstop.o r1mach.o sratqr.o
+ DOBJLIB = dcgdrv.o dcg.o dcr.o dcrind.o dpcg.o dcgnr.o dcgne.o dpcgnr.o dpcgne.o dppcg.o dpcgca.o ddpchb.o dcbfix.o dckchb.o dcgchk.o donest.o mdstop.o d1mach.o dratqr.o depsln.o
+
+ $(THISLIB) : $(SOBJLIB) $(DOBJLIB)
+- $(AR) $(THISLIB) $(SOBJLIB) $(DOBJLIB)
+- cp $(THISLIB) ../.
++ $(F77) $(FFLAGS) $(LDFLAGS) -shared -fPIC -Wl,--soname,$(THISLIB).1 -o $(THISLIB).1.0 $(SOBJLIB) $(DOBJLIB) $(BLASLIBS)
++ ln -sf $(THISLIB).1.0 $(THISLIB).1
++ ln -sf $(THISLIB).1.0 $(THISLIB)
+
+-.f.o :
+- $(F77) $(CFLAGS) $(DEBUG) $(OFLAGS) $*$ .f
++%.o : %.f
++ $(F77) $(FFLAGS) -fPIC -c $<
+
+ clean :
+ rm -f *.o $(THISLIB)
+diff --git a/util/makefile b/util/makefile
+index 6dad0d1..5c9d24f 100644
+--- a/util/makefile
++++ b/util/makefile
+@@ -6,11 +6,12 @@ SOBJLIB = saxpy.o scopy.o sdot.o snrm2.o sscal.o
+ DOBJLIB = daxpy.o dcopy.o ddot.o dnrm2.o dscal.o
+
+ $(THISLIB) : $(SOBJLIB) $(DOBJLIB)
+- $(AR) $(THISLIB) $(SOBJLIB) $(DOBJLIB)
+- cp $(THISLIB) ../.
++ $(F77) $(FFLAGS) $(LDFLAGS) -shared -Wl,--soname,$(THISLIB).1 -o $(THISLIB).1.0 $(SOBJLIB) $(DOBJLIB) $(BLASLIBS)
++ ln -sf $(THISLIB).1.0 $(THISLIB)
++ cp $(THISLIB)* ../.
+
+-.f.o :
+- $(F77) $(CFLAGS) $(DEBUG) $(OFLAGS) $*$ .f
++%.o : %.f
++ $(F77) $(FFLAGS) -c $<
+
+ clean :
+ rm -f *.o $(THISLIB)
diff --git a/sci-libs/cgcode/metadata.xml b/sci-libs/cgcode/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/cgcode/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/cgnslib/Manifest b/sci-libs/cgnslib/Manifest
new file mode 100644
index 000000000000..624bc849a872
--- /dev/null
+++ b/sci-libs/cgnslib/Manifest
@@ -0,0 +1 @@
+DIST cgnslib_3.2.1.tar.gz 865223 SHA256 34306316f04dbf6484343a4bc611b3bf912ac7dbc3c13b581defdaebbf6c1fc3 SHA512 318fda24e7f5f20407c6026ad4b10a84a0ea02a04d3dab3e0e2277d21cbc1b43f04eb65c4b912a7964e1219cf83afdabb357d25b40e76add9bed8bd2564a674e WHIRLPOOL 5f49f3e19712da5b178f7e40deb024a3287835613d61a46e2b7cb24fa4c9253dd87499b0e34a024945ced686b3a0d5c62ffbde88070f4d204d19f0651f8545f1
diff --git a/sci-libs/cgnslib/cgnslib-3.2.1.ebuild b/sci-libs/cgnslib/cgnslib-3.2.1.ebuild
new file mode 100644
index 000000000000..287aca7a934d
--- /dev/null
+++ b/sci-libs/cgnslib/cgnslib-3.2.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED="fortran"
+
+inherit cmake-utils fortran-2 versionator
+
+MY_P="${PN}_$(replace_version_separator 3 '-')"
+MY_S="${PN}_$(get_version_component_range 1-2)"
+
+DESCRIPTION="The CFD General Notation System (CGNS) is a standard for CFD data"
+HOMEPAGE="http://www.cgns.org/"
+SRC_URI="mirror://sourceforge/project/cgns/${MY_S}/${MY_P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="fortran hdf5 legacy mpi szip zlib"
+
+DEPEND="
+ hdf5? ( >=sci-libs/hdf5-1.8[mpi=] )
+ szip? ( sci-libs/szip )
+ zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${PN}_${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake.patch
+)
+
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCGNS_ENABLE_64BIT=ON
+ $(usex x86 -DCGNS_ENABLE_LFS=ON)
+ $(cmake-utils_use fortran CGNS_ENABLE_FORTRAN)
+ $(cmake-utils_use hdf5 CGNS_ENABLE_HDF5)
+ $(cmake-utils_use legacy CGNS_ENABLE_LEGACY)
+ $(cmake-utils_use mpi HDF5_NEED_MPI)
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/cgnslib/files/cgnslib-3.2.1-cmake.patch b/sci-libs/cgnslib/files/cgnslib-3.2.1-cmake.patch
new file mode 100644
index 000000000000..bf8ea5f2bfeb
--- /dev/null
+++ b/sci-libs/cgnslib/files/cgnslib-3.2.1-cmake.patch
@@ -0,0 +1,149 @@
+ CMakeLists.txt | 20 +--------------
+ src/CMakeLists.txt | 72 +++++++++++++++++++++++++++---------------------------
+ 2 files changed, 37 insertions(+), 55 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d9c1b3c..d4c2bf7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -81,7 +81,7 @@ if (CGNS_ENABLE_LFS)
+ if (HAVE_OPEN64)
+ add_definitions(-DHAVE_LSEEK64)
+ endif (HAVE_OPEN64)
+- if (HAVE_OPEN64)
++ if (HAVE_LSEEK64)
+ add_definitions(-DHAVE_LSEEK64)
+ endif (HAVE_LSEEK64)
+ endif (WIN32)
+@@ -254,24 +254,6 @@ else (CGNS_ENABLE_HDF5 AND HDF5_NEED_MPI)
+ mark_as_advanced(FORCE CGNS_ENABLE_PARALLEL)
+ endif (CGNS_ENABLE_HDF5 AND HDF5_NEED_MPI)
+
+-####################
+-# RPATH Management #
+-####################
+-
+-# use, i.e. don't skip the full RPATH for the build tree
+-set(CMAKE_SKIP_BUILD_RPATH FALSE)
+-
+-# when building, don't use the install RPATH already
+-# (but later on when installing)
+-set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+-
+-# the RPATH to be used when installing
+-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+-
+-# add the automatically determined parts of the RPATH
+-# which point to directories outside the build tree to the install RPATH
+-set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+-
+ ########
+ # CGNS #
+ ########
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 3c12c6d..694da42 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -69,7 +69,7 @@ set(SYSCFLAGS "")
+ set(CFGFLAGS "")
+ set(LIBS "")
+
+-file(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/lib LIBDIR)
++file(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} LIBDIR)
+ file(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/include INCLUDEDIR)
+ file(TO_NATIVE_PATH ${CMAKE_C_COMPILER} CC)
+ if (WIN32)
+@@ -102,42 +102,42 @@ set(ZLIBLIB "")
+ set(MPIINC "")
+ set(MPILIBS "")
+
+-macro(native_paths INPUT_PATH_VARIABLE RESULT_VARIABLE)
+- set(${RESULT_VARIABLE} "")
+- foreach(PATH ${${INPUT_PATH_VARIABLE}})
+- file(TO_NATIVE_PATH ${PATH} NATIVE_PATH)
+- list(APPEND ${RESULT_VARIABLE} ${NATIVE_PATH})
+- endforeach(PATH ${${INPUT_PATH_VARIABLE}})
+-endmacro(native_paths)
++macro(native_paths INPUT_PATH_VARIABLE RESULT_VARIABLE)
++ set(${RESULT_VARIABLE} "")
++ foreach(PATH ${${INPUT_PATH_VARIABLE}})
++ file(TO_NATIVE_PATH ${PATH} NATIVE_PATH)
++ list(APPEND ${RESULT_VARIABLE} ${NATIVE_PATH})
++ endforeach(PATH ${${INPUT_PATH_VARIABLE}})
++endmacro(native_paths)
+
+ if (CGNS_ENABLE_HDF5)
+ set(BUILDHDF5 1)
+- if (HDF5_INCLUDE_PATH)
+- native_paths(HDF5_INCLUDE_PATH HDF5INC)
+- endif (HDF5_INCLUDE_PATH)
+- if (HDF5_LIBRARY)
+- native_paths(HDF5_LIBRARY HDF5LIB)
+- endif (HDF5_LIBRARY)
+- if (HDF5_NEED_SZIP)
+- set(H5NEEDSZIP 1)
+- if (SZIP_LIBRARY)
+- native_paths(SZIP_LIBRARY SZIPLIB)
+- endif (SZIP_LIBRARY)
+- endif (HDF5_NEED_SZIP)
+- if (HDF5_NEED_ZLIB)
+- set(H5NEEDZLIB 1)
+- if (ZLIB_LIBRARY)
+- native_paths(${ZLIB_LIBRARY} ZLIBLIB)
+- endif (ZLIB_LIBRARY)
+- endif (HDF5_NEED_ZLIB)
+- if (HDF5_NEED_MPI)
+- set(H5NEEDMPI 1)
+- if (MPI_INC)
+- native_paths(MPI_INC MPIINC)
+- endif (MPI_INC)
+- if (MPI_LIBS)
+- native_paths(MPI_LIBS MPILIBS)
+- endif (MPI_LIBS)
++ if (HDF5_INCLUDE_PATH)
++ native_paths(HDF5_INCLUDE_PATH HDF5INC)
++ endif (HDF5_INCLUDE_PATH)
++ if (HDF5_LIBRARY)
++ native_paths(HDF5_LIBRARY HDF5LIB)
++ endif (HDF5_LIBRARY)
++ if (HDF5_NEED_SZIP)
++ set(H5NEEDSZIP 1)
++ if (SZIP_LIBRARY)
++ native_paths(SZIP_LIBRARY SZIPLIB)
++ endif (SZIP_LIBRARY)
++ endif (HDF5_NEED_SZIP)
++ if (HDF5_NEED_ZLIB)
++ set(H5NEEDZLIB 1)
++ if (ZLIB_LIBRARY)
++ native_paths(${ZLIB_LIBRARY} ZLIBLIB)
++ endif (ZLIB_LIBRARY)
++ endif (HDF5_NEED_ZLIB)
++ if (HDF5_NEED_MPI)
++ set(H5NEEDMPI 1)
++ if (MPI_INC)
++ native_paths(MPI_INC MPIINC)
++ endif (MPI_INC)
++ if (MPI_LIBS)
++ native_paths(MPI_LIBS MPILIBS)
++ endif (MPI_LIBS)
+ if (CGNS_ENABLE_PARALLEL)
+ set(BUILDPARALLEL 1)
+ endif (CGNS_ENABLE_PARALLEL)
+@@ -251,7 +251,7 @@ if(CGNS_BUILD_SHARED)
+ endif(CGNS_BUILD_SHARED)
+
+ # Set the install path of the static library
+-install(TARGETS cgns_static ARCHIVE DESTINATION lib)
++install(TARGETS cgns_static ARCHIVE DESTINATION lib${LIB_SUFFIX})
+ # Set the install path of the shared library
+ if(CGNS_BUILD_SHARED)
+ # for windows, need to install both cgnsdll.dll and cgnsdll.lib
+@@ -259,7 +259,7 @@ if(CGNS_BUILD_SHARED)
+ install(TARGETS cgns_shared ARCHIVE DESTINATION lib)
+ install(TARGETS cgns_shared RUNTIME DESTINATION lib)
+ else (WIN32 OR CYGWIN)
+- install(TARGETS cgns_shared LIBRARY DESTINATION lib)
++ install(TARGETS cgns_shared LIBRARY DESTINATION lib${LIB_SUFFIX})
+ endif (WIN32 OR CYGWIN)
+ endif(CGNS_BUILD_SHARED)
+
diff --git a/sci-libs/cgnslib/metadata.xml b/sci-libs/cgnslib/metadata.xml
new file mode 100644
index 000000000000..993590617a99
--- /dev/null
+++ b/sci-libs/cgnslib/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <use>
+ <flag name="legacy">Enable or disable building legacy code (3.0 compatible)</flag>
+ </use>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">cgns</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/chemkit/Manifest b/sci-libs/chemkit/Manifest
new file mode 100644
index 000000000000..13f90d9ca048
--- /dev/null
+++ b/sci-libs/chemkit/Manifest
@@ -0,0 +1 @@
+DIST chemkit-0.1.tar.gz 5842235 SHA256 bec718ce4ae2fcb4cda63004d05a6e6bf65c1887179f665fcee118cbe7bec11b SHA512 0273f8735333000b04007ccd7adc58f0c4809a570fa5a72e4161652d72e8953bf89cad0893c20ecbb3484d6c13a8828c92f12366dddeedaf591815c35f6ef011 WHIRLPOOL 30c73d5d2bb7e946204d3dcdd87b82fa3e5278e799b06df523557f46ca4c71ae7d5b9c37d82af8dcdee48bb83f8840c5f2900b4331c3cf643c323ef20abc1883
diff --git a/sci-libs/chemkit/chemkit-0.1-r1.ebuild b/sci-libs/chemkit/chemkit-0.1-r1.ebuild
new file mode 100644
index 000000000000..00ec9a3973d7
--- /dev/null
+++ b/sci-libs/chemkit/chemkit-0.1-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils multilib python-single-r1 virtualx
+
+DESCRIPTION="Library for chemistry applications"
+HOMEPAGE="http://www.chemkit.org/"
+SRC_URI="mirror://sourceforge/project/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD PSF-2.2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="applications examples python test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ test? ( applications python )"
+
+RDEPEND="
+ dev-libs/boost
+ dev-libs/rapidxml
+ dev-cpp/eigen:3
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ media-libs/glu
+ sci-libs/inchi
+ sci-libs/lemon
+ virtual/opengl
+ examples? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${P}-unbundle.patch
+ )
+
+src_prepare() {
+ # jsoncpp API change
+ # xdrf != xdrfile
+ rm -rvf src/3rdparty/{inchi,khronos,lemon,rapidxml} || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCHEMKIT_BUILD_PLUGIN_BABEL=on
+ -DUSE_SYSTEM_INCHI=ON
+ -DUSE_SYSTEM_JSONCPP=OFF
+ -DUSE_SYSTEM_RAPIDXML=ON
+ -DUSE_SYSTEM_XDRF=OFF
+ $(cmake-utils_use applications CHEMKIT_BUILD_APPS)
+ $(cmake-utils_use applications CHEMKIT_BUILD_QT_DESIGNER_PLUGINS)
+ $(cmake-utils_use examples CHEMKIT_BUILD_EXAMPLES)
+ $(cmake-utils_use examples CHEMKIT_BUILD_DEMOS)
+ $(cmake-utils_use python CHEMKIT_BUILD_BINDINGS_PYTHON)
+ $(cmake-utils_use test CHEMKIT_BUILD_TESTS)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ VIRTUALX_COMMAND="cmake-utils_src_test"
+ virtualmake
+}
+
+src_install() {
+ use examples && dobin demos/*-viewer/*-viewer examples/uff-energy/uff-energy
+
+ cmake-utils_src_install
+}
diff --git a/sci-libs/chemkit/chemkit-0.1.ebuild b/sci-libs/chemkit/chemkit-0.1.ebuild
new file mode 100644
index 000000000000..89820e28d923
--- /dev/null
+++ b/sci-libs/chemkit/chemkit-0.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils multilib python-single-r1 virtualx
+
+DESCRIPTION="Library for chemistry applications"
+HOMEPAGE="http://www.chemkit.org/"
+SRC_URI="mirror://sourceforge/project/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="applications examples python test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ test? ( applications python )"
+
+RDEPEND="
+ dev-libs/boost
+ dev-cpp/eigen:3
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ media-libs/glu
+ examples? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multilib.patch
+ )
+
+src_configure() {
+ local mycmakeargs=(
+ -DCHEMKIT_BUILD_PLUGIN_BABEL=on
+ $(cmake-utils_use applications CHEMKIT_BUILD_APPS)
+ $(cmake-utils_use applications CHEMKIT_BUILD_QT_DESIGNER_PLUGINS)
+ $(cmake-utils_use examples CHEMKIT_BUILD_EXAMPLES)
+ $(cmake-utils_use examples CHEMKIT_BUILD_DEMOS)
+ $(cmake-utils_use python CHEMKIT_BUILD_BINDINGS_PYTHON)
+ $(cmake-utils_use test CHEMKIT_BUILD_TESTS)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ VIRTUALX_COMMAND="cmake-utils_src_test"
+ virtualmake
+}
+
+src_install() {
+ use examples && dobin demos/*-viewer/*-viewer examples/uff-energy/uff-energy
+
+ cmake-utils_src_install
+}
diff --git a/sci-libs/chemkit/files/chemkit-0.1-multilib.patch b/sci-libs/chemkit/files/chemkit-0.1-multilib.patch
new file mode 100644
index 000000000000..b6a61d58ed8c
--- /dev/null
+++ b/sci-libs/chemkit/files/chemkit-0.1-multilib.patch
@@ -0,0 +1,90 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e531be4..e0d6b2d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -44,7 +44,7 @@ configure_file(
+ "${CMAKE_MODULE_PATH}/ChemkitConfig.cmake.in"
+ "${CMAKE_BINARY_DIR}/ChemkitConfig.cmake"
+ IMMEDIATE @ONLY)
+-install(FILES ${CMAKE_BINARY_DIR}/ChemkitConfig.cmake DESTINATION lib/chemkit)
++install(FILES ${CMAKE_BINARY_DIR}/ChemkitConfig.cmake DESTINATION lib${LIB_SUFFIX}/chemkit)
+
+ # Create a ChemkitBuildTreeSettings.cmake file for the use from the build tree
+ configure_file(
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 88c6b5f..1100c3b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -8,12 +8,12 @@ macro(add_chemkit_library library_name)
+ add_library(${library_name} SHARED ${ARGN})
+
+ # add install target
+- install(TARGETS ${library_name} DESTINATION lib)
++ install(TARGETS ${library_name} DESTINATION lib${LIB_SUFFIX})
+
+ # copy library into build directory
+ get_target_property(library_location ${library_name} LOCATION)
+ get_filename_component(library_filename ${library_location} NAME)
+- add_custom_command(TARGET ${library_name} POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy ${library_location} ${CMAKE_BINARY_DIR}/lib/${library_filename})
++ add_custom_command(TARGET ${library_name} POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy ${library_location} ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/${library_filename})
+
+ endmacro(add_chemkit_library)
+
+diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
+index dc8970f..77029b7 100644
+--- a/src/plugins/CMakeLists.txt
++++ b/src/plugins/CMakeLists.txt
+@@ -3,7 +3,7 @@ macro(add_chemkit_plugin plugin_name)
+ add_library(${plugin_name} SHARED ${ARGN})
+
+ # add install target
+- install(TARGETS ${plugin_name} DESTINATION lib/chemkit/plugins/)
++ install(TARGETS ${plugin_name} DESTINATION lib${LIB_SUFFIX}/chemkit/plugins/)
+
+ # remove 'lib' prefix
+ set_target_properties(${plugin_name} PROPERTIES PREFIX "")
+@@ -11,15 +11,15 @@ macro(add_chemkit_plugin plugin_name)
+ # copy plugin into build directory
+ get_target_property(plugin_location ${plugin_name} LOCATION)
+ get_filename_component(plugin_filename ${plugin_location} NAME)
+- add_custom_command(TARGET ${plugin_name} POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy ${plugin_location} ${CMAKE_BINARY_DIR}/lib/chemkit/plugins/${plugin_filename})
++ add_custom_command(TARGET ${plugin_name} POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy ${plugin_location} ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/chemkit/plugins/${plugin_filename})
+
+ # plugin data
+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/data)
+ # copy plugin data into build directory
+- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION ${CMAKE_BINARY_DIR}/lib/chemkit/plugins/data/${plugin_name}/)
++ file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/chemkit/plugins/data/${plugin_name}/)
+
+ # install plugin data directory
+- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION lib/chemkit/plugins/data/${plugin_name})
++ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/ DESTINATION lib${LIB_SUFFIX}/chemkit/plugins/data/${plugin_name})
+ endif()
+ endmacro(add_chemkit_plugin)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index b191b82..a4ea0b0 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -4,7 +4,7 @@ endif()
+
+ macro(add_chemkit_test test_name test_executable)
+ add_test(NAME ${test_name} COMMAND ${test_executable})
+- set_tests_properties(${test_name} PROPERTIES ENVIRONMENT "CHEMKIT_PLUGIN_PATH=${CMAKE_BINARY_DIR}/lib/chemkit/plugins/")
++ set_tests_properties(${test_name} PROPERTIES ENVIRONMENT "CHEMKIT_PLUGIN_PATH=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/chemkit/plugins/")
+ endmacro(add_chemkit_test)
+
+ add_subdirectory(auto)
+diff --git a/tests/auto/bindings/python/CMakeLists.txt b/tests/auto/bindings/python/CMakeLists.txt
+index 9859867..70da693 100644
+--- a/tests/auto/bindings/python/CMakeLists.txt
++++ b/tests/auto/bindings/python/CMakeLists.txt
+@@ -5,7 +5,7 @@ endif()
+ macro(add_chemkit_python_test test_name test_script)
+ add_test(${test_name} ${PYTHON_EXECUTABLE} ${test_script})
+ set_tests_properties(${test_name} PROPERTIES
+- ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/bindings/python/;CHEMKIT_PLUGIN_PATH=${CMAKE_BINARY_DIR}/lib/chemkit/plugins")
++ ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/bindings/python/;CHEMKIT_PLUGIN_PATH=${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX}/chemkit/plugins")
+ endmacro(add_chemkit_python_test)
+
+ add_chemkit_python_test(python.Atom ${CMAKE_CURRENT_SOURCE_DIR}/atomtest.py)
diff --git a/sci-libs/chemkit/files/chemkit-0.1-unbundle.patch b/sci-libs/chemkit/files/chemkit-0.1-unbundle.patch
new file mode 100644
index 000000000000..e8c9d18dca6e
--- /dev/null
+++ b/sci-libs/chemkit/files/chemkit-0.1-unbundle.patch
@@ -0,0 +1,191 @@
+ CMakeLists.txt | 21 +++++++++++++++++++++
+ src/plugins/chemjson/CMakeLists.txt | 6 +++++-
+ src/plugins/chemjson/chemjsonfileformat.cpp | 4 ++++
+ src/plugins/cml/cmlfileformat.h | 4 ++++
+ src/plugins/inchi/CMakeLists.txt | 4 +++-
+ src/plugins/inchi/inchikeylineformat.cpp | 4 ++++
+ src/plugins/inchi/inchilineformat.cpp | 4 ++++
+ src/plugins/pdb/pdbmlfileformat.cpp | 4 ++++
+ src/plugins/xtc/CMakeLists.txt | 9 +++++++--
+ src/plugins/xtc/xtcfileformat.cpp | 4 ++++
+ 10 files changed, 60 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e531be4..622ea9d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,6 +55,27 @@ configure_file(
+ # export the Chemkit package
+ export(PACKAGE Chemkit)
+
++option(USE_SYSTEM_INCHI "Use inchi installed in system" OFF)
++option(USE_SYSTEM_JSONCPP "Use json cpp installed in system" OFF)
++option(USE_SYSTEM_RAPIXML "Use rapidxml installed in system" OFF)
++option(USE_SYSTEM_XDRF "Use xdrflib installed in system" OFF)
++
++if(USE_SYSTEM_INCHI)
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSYSTEM_INCHI")
++endif()
++
++if(USE_SYSTEM_JSONCPP)
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSYSTEM_JSONCPP")
++endif()
++
++if(USE_SYSTEM_RAPIDXML)
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSYSTEM_RAPIDXML")
++endif()
++
++if(USE_SYSTEM_XDRF)
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSYSTEM_XDRF")
++endif()
++
+ # build options
+ option(CHEMKIT_WITH_GRAPHICS "Build the chemkit-graphics library." ON)
+ option(CHEMKIT_WITH_IO "Build the chemkit-io library." ON)
+diff --git a/src/plugins/chemjson/CMakeLists.txt b/src/plugins/chemjson/CMakeLists.txt
+index 0e115b5..a5e6f48 100644
+--- a/src/plugins/chemjson/CMakeLists.txt
++++ b/src/plugins/chemjson/CMakeLists.txt
+@@ -10,7 +10,11 @@ set(SOURCES
+ chemjsonplugin.cpp
+ )
+
+-aux_source_directory(../../3rdparty/jsoncpp/ JSONCPP_SOURCES)
++if(NOT USE_SYSTEM_JSONCPP)
++ aux_source_directory(../../3rdparty/jsoncpp/ JSONCPP_SOURCES)
++else()
++ target_link_libraries(chemjson jsoncpp)
++endif()
+
+ add_chemkit_plugin(chemjson ${SOURCES} ${JSONCPP_SOURCES})
+ target_link_libraries(chemjson ${CHEMKIT_LIBRARIES})
+diff --git a/src/plugins/chemjson/chemjsonfileformat.cpp b/src/plugins/chemjson/chemjsonfileformat.cpp
+index a0d271e..3cd5827 100644
+--- a/src/plugins/chemjson/chemjsonfileformat.cpp
++++ b/src/plugins/chemjson/chemjsonfileformat.cpp
+@@ -43,7 +43,11 @@
+ #include <chemkit/molecule.h>
+ #include <chemkit/moleculefile.h>
+
++#ifdef SYSTEM_JSONCPP
++#include <jsoncpp/json/json.h>
++#else
+ #include "../../3rdparty/jsoncpp/json/json.h"
++#endif
+
+ namespace {
+
+diff --git a/src/plugins/cml/cmlfileformat.h b/src/plugins/cml/cmlfileformat.h
+index e813223..61a547d 100644
+--- a/src/plugins/cml/cmlfileformat.h
++++ b/src/plugins/cml/cmlfileformat.h
+@@ -38,7 +38,11 @@
+
+ #include <chemkit/moleculefileformat.h>
+
++#ifdef SYSTEM_RAPIDXML
++#include <rapidxml/rapidxml.hpp>
++#else
+ #include "../../3rdparty/rapidxml/rapidxml.hpp"
++#endif
+
+ class CmlFileFormat : public chemkit::MoleculeFileFormat
+ {
+diff --git a/src/plugins/inchi/CMakeLists.txt b/src/plugins/inchi/CMakeLists.txt
+index 2b25d9b..5f45f8a 100644
+--- a/src/plugins/inchi/CMakeLists.txt
++++ b/src/plugins/inchi/CMakeLists.txt
+@@ -7,7 +7,9 @@ set(SOURCES
+ inchiplugin.cpp
+ )
+
+-aux_source_directory(../../3rdparty/inchi/ IUPAC_INCHI_SOURCES)
++if(NOT USE_SYSTEM_INCHI)
++ aux_source_directory(../../3rdparty/inchi/ IUPAC_INCHI_SOURCES)
++endif()
+
+ add_chemkit_plugin(inchi ${SOURCES} ${IUPAC_INCHI_SOURCES})
+ target_link_libraries(inchi ${CHEMKIT_LIBRARIES})
+diff --git a/src/plugins/inchi/inchikeylineformat.cpp b/src/plugins/inchi/inchikeylineformat.cpp
+index 2682f95..cec0a17 100644
+--- a/src/plugins/inchi/inchikeylineformat.cpp
++++ b/src/plugins/inchi/inchikeylineformat.cpp
+@@ -38,7 +38,11 @@
+ #include <boost/format.hpp>
+
+ #include "inchilineformat.h"
++#ifdef SYSTEM_INCHI
++#include <inchi_api.h>
++#else
+ #include "../../3rdparty/inchi/inchi_api.h"
++#endif
+
+ InchiKeyLineFormat::InchiKeyLineFormat()
+ : chemkit::LineFormat("inchikey")
+diff --git a/src/plugins/inchi/inchilineformat.cpp b/src/plugins/inchi/inchilineformat.cpp
+index 5b9bc42..ea5977c 100644
+--- a/src/plugins/inchi/inchilineformat.cpp
++++ b/src/plugins/inchi/inchilineformat.cpp
+@@ -42,7 +42,11 @@
+
+ #include <boost/algorithm/string.hpp>
+
++#ifdef SYSTEM_INCHI
++#include <inchi_api.h>
++#else
+ #include "../../3rdparty/inchi/inchi_api.h"
++#endif
+
+ #include <chemkit/atom.h>
+ #include <chemkit/bond.h>
+diff --git a/src/plugins/pdb/pdbmlfileformat.cpp b/src/plugins/pdb/pdbmlfileformat.cpp
+index 081a4ec..2ca4269 100644
+--- a/src/plugins/pdb/pdbmlfileformat.cpp
++++ b/src/plugins/pdb/pdbmlfileformat.cpp
+@@ -35,7 +35,11 @@
+
+ #include "pdbmlfileformat.h"
+
++#ifdef SYSTEM_RAPIDXML
++#include <rapidxml/rapidxml.hpp>
++#else
+ #include "../../3rdparty/rapidxml/rapidxml.hpp"
++#endif
+
+ #include <chemkit/atom.h>
+ #include <chemkit/polymer.h>
+diff --git a/src/plugins/xtc/CMakeLists.txt b/src/plugins/xtc/CMakeLists.txt
+index 98d8ba7..8c09e64 100644
+--- a/src/plugins/xtc/CMakeLists.txt
++++ b/src/plugins/xtc/CMakeLists.txt
+@@ -13,7 +13,12 @@ set(SOURCES
+ xtcplugin.cpp
+ )
+
+-aux_source_directory(../../3rdparty/xdrf/ XDRF_SOURCES)
++
++if(USE_SYSTEM_XDRF)
++ find_library(XDRF_LIBRARY NAMES xdrfile libxdrfile)
++else()
++ aux_source_directory(../../3rdparty/xdrf/ XDRF_SOURCES)
++endif()
+
+ add_chemkit_plugin(xtc ${SOURCES} ${XDRF_SOURCES})
+-target_link_libraries(xtc ${CHEMKIT_LIBRARIES} ${Boost_LIBRARIES})
++target_link_libraries(xtc ${CHEMKIT_LIBRARIES} ${Boost_LIBRARIES} ${XDRF_LIBRARY} )
+diff --git a/src/plugins/xtc/xtcfileformat.cpp b/src/plugins/xtc/xtcfileformat.cpp
+index 0f00cb6..f8659ca 100644
+--- a/src/plugins/xtc/xtcfileformat.cpp
++++ b/src/plugins/xtc/xtcfileformat.cpp
+@@ -47,7 +47,11 @@
+ #include <chemkit/trajectoryframe.h>
+ #include <chemkit/cartesiancoordinates.h>
+
++#ifdef SYSTEM_XDRF
++#include <xdrfile/xdrfile.h>
++#else
+ #include "../../3rdparty/xdrf/xdrf.h"
++#endif
+
+ XtcFileFormat::XtcFileFormat()
+ : chemkit::TrajectoryFileFormat("xtc")
diff --git a/sci-libs/chemkit/metadata.xml b/sci-libs/chemkit/metadata.xml
new file mode 100644
index 000000000000..557e4546fb2f
--- /dev/null
+++ b/sci-libs/chemkit/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="applications">Build also applications not only the libraries</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">chemkit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/cholmod/Manifest b/sci-libs/cholmod/Manifest
new file mode 100644
index 000000000000..ced0618d04ec
--- /dev/null
+++ b/sci-libs/cholmod/Manifest
@@ -0,0 +1 @@
+DIST cholmod-2.1.2.tar.bz2 656458 SHA256 eea80ad7b797866df1505feafa8c33279f6bc7e7e5aec4f00a167a0a0e73675f SHA512 7aca97de4c60ff2d7a76a776be4c2d61243a159a51b9e147fa2480f2aaf61a5d966eb0f1cb57c0145510437f6c478fa30384b741709d0a02432b74ada3e78089 WHIRLPOOL 8f8f2c4f504f30905c442422042d0b3a203cb24ab289b51bdb4ee6606ca006eef3afb2611bcc6074c1532893caa5ec5a63e4c4d46d115e2528700d98b65dcb27
diff --git a/sci-libs/cholmod/cholmod-2.1.2.ebuild b/sci-libs/cholmod/cholmod-2.1.2.ebuild
new file mode 100644
index 000000000000..5c29e9933e85
--- /dev/null
+++ b/sci-libs/cholmod/cholmod-2.1.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib toolchain-funcs
+
+DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/cholmod/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="minimal? ( LGPL-2.1 ) !minimal? ( GPL-2 )"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="cuda doc lapack metis minimal static-libs"
+
+RDEPEND="
+ >=sci-libs/amd-2.3
+ >=sci-libs/colamd-2.8
+ cuda? ( x11-drivers/nvidia-drivers dev-util/nvidia-cuda-toolkit )
+ lapack? ( virtual/lapack )
+ metis? (
+ >=sci-libs/camd-2.3
+ >=sci-libs/ccolamd-2.8
+ || ( sci-libs/metis sci-libs/parmetis ) )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+src_prepare() {
+ # bug #399483 does not build with parmetis-3.2
+ has_version "=sci-libs/parmetis-3.2*" && \
+ epatch "${FILESDIR}"/${PN}-1.7.4-parmetis32.patch
+}
+
+src_configure() {
+ local lapack_libs=no
+ local blas_libs=no
+ if use lapack; then
+ blas_libs=$($(tc-getPKG_CONFIG) --libs blas)
+ lapack_libs=$($(tc-getPKG_CONFIG) --libs lapack)
+ fi
+ local myeconfargs=(
+ --with-blas="${blas_libs}"
+ --with-lapack="${lapack_libs}"
+ $(use_with doc)
+ $(use_with !minimal modify)
+ $(use_with !minimal matrixops)
+ $(use_with !minimal partition)
+ $(use_with metis camd)
+ $(use_with metis partition)
+ $(use_with lapack supernodal)
+ )
+ if use cuda; then
+ myeconfargs+=(
+ --with-cuda
+ --with-cublas-libs="-L${EPREFIX}/opt/cuda/$(get_libdir) -lcublas"
+ --with-cublas-cflags="-I${EPREFIX}/opt/cuda/include"
+ )
+ fi
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch b/sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch
new file mode 100644
index 000000000000..6b50ae8bcea7
--- /dev/null
+++ b/sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch
@@ -0,0 +1,20 @@
+diff -Nur CHOLMOD.orig/Partition/cholmod_metis.c CHOLMOD/Partition/cholmod_metis.c
+--- CHOLMOD.orig/Partition/cholmod_metis.c 2012-03-13 03:57:37.000000000 +0000
++++ CHOLMOD/Partition/cholmod_metis.c 2012-03-13 04:02:22.000000000 +0000
+@@ -216,6 +216,7 @@
+ int Opt [8], nn, csp ;
+ size_t n1 ;
+ DEBUG (Int nsep) ;
++ float ubfactor = 1.05;
+
+ /* ---------------------------------------------------------------------- */
+ /* check inputs */
+@@ -370,7 +371,7 @@
+ #endif
+
+ nn = n ;
+- METIS_NodeComputeSeparator (&nn, Mp, Mi, Mnw, Mew, Opt, &csp, Mpart) ;
++ METIS_NodeComputeSeparator (&nn, Mp, Mi, Mnw, Mew, &ubfactor, Opt, &csp, Mpart) ;
+ n = nn ;
+ csep = csp ;
+
diff --git a/sci-libs/cholmod/metadata.xml b/sci-libs/cholmod/metadata.xml
new file mode 100644
index 000000000000..7590541d295d
--- /dev/null
+++ b/sci-libs/cholmod/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ CHOLMOD is a set of ANSI C routines for sparse Cholesky
+ factorization and update/downdate.
+</longdescription>
+ <use>
+ <flag name="cuda">Use nvidia cuda toolkit for speeding up computations</flag>
+ <flag name="metis">Enable the Partition module to cholmod using <pkg>sci-libs/metis</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/cifparse-obj/Manifest b/sci-libs/cifparse-obj/Manifest
new file mode 100644
index 000000000000..c833b220101f
--- /dev/null
+++ b/sci-libs/cifparse-obj/Manifest
@@ -0,0 +1 @@
+DIST cifparse-obj-v7.025-prod-src.tar.gz 928484 SHA256 f2fd71fc2af0995839d9ee7825403e383209bb45a1bad68c270e5756476a8ef8 SHA512 bf5d6b55592aca8678396eb9819f5bd7bff4d912410590dfb750c9ad85bdcdbd251425c45b67e2db027a8ce8d028b77c91edcc5333279ed1190f6049c01f5cc9 WHIRLPOOL 0bd0376f3ea1d562c9650186dd1b48eef454f8acd0f4c0e074a1fccbbccf6edbef2d3e2dcd92799c1e15f0e0a4f1d32a50aaee0120c06ef846f6c971cede4924
diff --git a/sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild b/sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild
new file mode 100644
index 000000000000..be87825947b7
--- /dev/null
+++ b/sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+MY_P="${PN}-v${PV}-prod-src"
+
+DESCRIPTION="Provides an object-oriented application interface to information in mmCIF format"
+HOMEPAGE="http://sw-tools.pdb.org/apps/CIFPARSE-OBJ/index.html"
+SRC_URI="http://sw-tools.pdb.org/apps/CIFPARSE-OBJ/source/${MY_P}.tar.gz"
+
+LICENSE="PDB"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RDEPEND=""
+DEPEND="
+ sys-devel/bison
+ sys-devel/flex"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-makefile.patch \
+ "${FILESDIR}"/${P}-gcc4.3.patch \
+ "${FILESDIR}"/${P}-gcc4.7.patch
+
+ sed \
+ -e "s:^\(CC=\).*:\1$(tc-getCC):g" \
+ -e "s:^\(CCC=\).*:\1$(tc-getCXX):g" \
+ -e "s:^\(F77=\).*:\1${FORTRANC}:g" \
+ -e "s:^\(F77_LINKER=\).*:\1${FORTRANC}:g" \
+ -e "s:-static::g" \
+ -i "${S}"/etc/make.* || die "Failed to fix makefile"
+}
+
+src_compile() {
+ # parallel make fails
+ emake -j1
+}
+
+src_install() {
+ dolib.a lib/*
+ insinto /usr/include/${PN}
+ doins include/*
+}
diff --git a/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.3.patch b/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.3.patch
new file mode 100644
index 000000000000..1715f493a6e0
--- /dev/null
+++ b/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.3.patch
@@ -0,0 +1,87 @@
+diff -Naur cifparse-obj-v7.025-prod-src/cif-file-v1.0/src/CifFile.C cifparse-obj-v7.025-prod-src.new/cif-file-v1.0/src/CifFile.C
+--- cifparse-obj-v7.025-prod-src/cif-file-v1.0/src/CifFile.C 2008-02-06 07:17:50.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/cif-file-v1.0/src/CifFile.C 2008-09-03 09:36:41.000000000 -0400
+@@ -153,6 +153,7 @@
+ // VLAD - Carefully examine all methods that accept with, for cases where
+ // with is 0. This may happen if the value is empty !!
+
++#include <algorithm>
+ #include "GenString.h"
+ #include "CifString.h"
+ #include "regex.h"
+diff -Naur cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/FOtest3.C cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/FOtest3.C
+--- cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/FOtest3.C 2008-02-06 07:17:51.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/FOtest3.C 2008-09-03 09:40:12.000000000 -0400
+@@ -1,4 +1,5 @@
+ #include <iostream>
++#include <cstdlib>
+ #include "GenString.h"
+ #include "CifFile.h"
+
+diff -Naur cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/FOtest7.C cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/FOtest7.C
+--- cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/FOtest7.C 2008-02-06 07:17:51.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/FOtest7.C 2008-09-03 09:40:42.000000000 -0400
+@@ -3,6 +3,7 @@
+ */
+ #include "CifFile.h"
+ #include <iostream>
++#include <cstdlib>
+
+ void FillTestTable(ISTable *s);
+ void TwoCifFileObj();
+diff -Naur cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/FOtest8.C cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/FOtest8.C
+--- cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/FOtest8.C 2008-02-06 07:17:51.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/FOtest8.C 2008-09-03 09:41:06.000000000 -0400
+@@ -1,6 +1,7 @@
+ /* Test for reading binary files of two different versions*/
+ #include "CifFile.h"
+ #include <iostream>
++#include <cstdlib>
+
+
+ #define FALSE 0
+diff -Naur cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/SdbReader.C cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/SdbReader.C
+--- cifparse-obj-v7.025-prod-src/cifparse-test-v1.0/src/SdbReader.C 2008-02-06 07:17:51.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/cifparse-test-v1.0/src/SdbReader.C 2008-09-03 09:41:50.000000000 -0400
+@@ -1,4 +1,5 @@
+ #include <iostream>
++#include <cstdlib>
+ #include "CifFile.h"
+
+
+diff -Naur cifparse-obj-v7.025-prod-src/common-v4.5/src/GenString.C cifparse-obj-v7.025-prod-src.new/common-v4.5/src/GenString.C
+--- cifparse-obj-v7.025-prod-src/common-v4.5/src/GenString.C 2008-02-06 07:17:49.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/common-v4.5/src/GenString.C 2008-09-03 09:32:17.000000000 -0400
+@@ -138,7 +138,7 @@
+ POSSIBILITY THEREOF.
+ */
+
+-
++#include <cstring>
+ // Needed, since some platforms do not define std:: elsewhere
+ #include <ctype.h>
+
+diff -Naur cifparse-obj-v7.025-prod-src/tables-v8.0/src/ISTable.C cifparse-obj-v7.025-prod-src.new/tables-v8.0/src/ISTable.C
+--- cifparse-obj-v7.025-prod-src/tables-v8.0/src/ISTable.C 2008-02-06 07:17:50.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/tables-v8.0/src/ISTable.C 2008-09-03 09:35:57.000000000 -0400
+@@ -150,6 +150,8 @@
+ #include <sstream>
+ #include <iostream>
+ #include <iomanip>
++#include <algorithm>
++#include <climits>
+
+ #include "Exceptions.h"
+ #include "GenString.h"
+diff -Naur cifparse-obj-v7.025-prod-src/tables-v8.0/src/ITTable.C cifparse-obj-v7.025-prod-src.new/tables-v8.0/src/ITTable.C
+--- cifparse-obj-v7.025-prod-src/tables-v8.0/src/ITTable.C 2008-02-06 07:17:50.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/tables-v8.0/src/ITTable.C 2008-09-03 09:35:29.000000000 -0400
+@@ -150,6 +150,8 @@
+ #include <sstream>
+ #include <iostream>
+ #include <iomanip>
++#include <algorithm>
++#include <climits>
+
+ #include "Exceptions.h"
+ #include "GenString.h"
diff --git a/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.7.patch b/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.7.patch
new file mode 100644
index 000000000000..b828ae618caa
--- /dev/null
+++ b/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.7.patch
@@ -0,0 +1,64 @@
+ common-v4.5/src/mapped_ptr_vector.C | 14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/common-v4.5/src/mapped_ptr_vector.C b/common-v4.5/src/mapped_ptr_vector.C
+index 0ffff35..993d0b9 100644
+--- a/common-v4.5/src/mapped_ptr_vector.C
++++ b/common-v4.5/src/mapped_ptr_vector.C
+@@ -256,12 +256,12 @@ void mapped_ptr_vector<T, StringCompareT>::push_back(T* inP,
+ _vector.push_back(inP);
+
+ typename tIndex::value_type valuePair(inP->GetName(),
+- make_pair(_vector.size() - 1, fileIndex));
++ std::make_pair(_vector.size() - 1, fileIndex));
+
+ _index.insert(valuePair);
+
+ _currentName = inP->GetName();
+- _currentIndices = make_pair(_vector.size() - 1, fileIndex);
++ _currentIndices = std::make_pair(_vector.size() - 1, fileIndex);
+
+ }
+
+@@ -274,12 +274,12 @@ void mapped_ptr_vector<T, StringCompareT>::push_back(const string& name,
+ _vector.push_back(NULL);
+
+ typename tIndex::value_type valuePair(name,
+- make_pair(_vector.size() - 1, fileIndex));
++ std::make_pair(_vector.size() - 1, fileIndex));
+
+ _index.insert(valuePair);
+
+ _currentName = name;
+- _currentIndices = make_pair(_vector.size() - 1, fileIndex);
++ _currentIndices = std::make_pair(_vector.size() - 1, fileIndex);
+ }
+
+
+@@ -447,7 +447,7 @@ void mapped_ptr_vector<T, StringCompareT>::erase(const string& name)
+ if (is_equal(_currentName, name, keyComp))
+ {
+ _currentName.clear();
+- _currentIndices = make_pair(_vector.size(), (unsigned int)0);
++ _currentIndices = std::make_pair(_vector.size(), (unsigned int)0);
+ }
+
+ }
+@@ -532,7 +532,7 @@ pair<unsigned int, unsigned int> mapped_ptr_vector<T, StringCompareT>::get_indic
+ if (_vector.empty())
+ {
+ // Empty container. Return invalid index.
+- return(make_pair(_vector.size(), (unsigned int)0));
++ return(std::make_pair(_vector.size(), (unsigned int)0));
+ }
+
+ typename tIndex::key_compare keyComp = _index.key_comp();
+@@ -556,7 +556,7 @@ pair<unsigned int, unsigned int> mapped_ptr_vector<T, StringCompareT>::get_indic
+ else
+ {
+ // Not found. Return invalid index.
+- return(make_pair(_vector.size(), (unsigned int)0));
++ return(std::make_pair(_vector.size(), (unsigned int)0));
+ }
+ }
+
diff --git a/sci-libs/cifparse-obj/files/cifparse-obj-7.025-makefile.patch b/sci-libs/cifparse-obj/files/cifparse-obj-7.025-makefile.patch
new file mode 100644
index 000000000000..9e9a61788ddf
--- /dev/null
+++ b/sci-libs/cifparse-obj/files/cifparse-obj-7.025-makefile.patch
@@ -0,0 +1,115 @@
+diff -Naur cifparse-obj-v7.025-prod-src/etc/make.platform.gnu3 cifparse-obj-v7.025-prod-src.new/etc/make.platform.gnu3
+--- cifparse-obj-v7.025-prod-src/etc/make.platform.gnu3 2008-02-06 07:17:49.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/etc/make.platform.gnu3 2008-09-03 09:18:55.000000000 -0400
+@@ -107,8 +107,8 @@
+ C_WARNINGS=$(WARNINGS)
+
+ # C compiler flags
+-CFLAGS=$(OPT) $(ABI) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES)
+-CFLAGS_NONANSI=$(OPT) $(ABI) $(NON_ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) \
++CFLAGS=$(C_OPT) $(ABI) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES)
++CFLAGS_NONANSI=$(C_OPT) $(ABI) $(NON_ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) \
+ $(INCLUDES)
+
+ ## C++ compiler
+@@ -128,13 +128,13 @@
+ EXT=C
+
+ # C++ compiler flags
+-C++FLAGS=$(OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) $(DEFINES) \
++C++FLAGS=$(CXX_OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) $(DEFINES) \
+ $(INCLUDES)
+-C++FLAGS_NONANSI=$(OPT) $(ABI) $(NON_ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) \
++C++FLAGS_NONANSI=$(CXX_OPT) $(ABI) $(NON_ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) \
+ $(DEFINES) $(INCLUDES)
+ # C++FLAGS_RELAXED should be set to avoid warnings reported by third party
+ # source code that is not maintained by PDB
+-C++FLAGS_RELAXED=$(OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(NO_DEPRECATED) $(DEFINES) \
++C++FLAGS_RELAXED=$(CXX_OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(NO_DEPRECATED) $(DEFINES) \
+ $(INCLUDES)
+
+ ## Fortran compiler
+@@ -144,7 +144,7 @@
+ F77=f77
+
+ # Fortran compiler flags
+-FFLAGS=-O -u
++FFLAGS=$(F_OPT)
+
+ # Additional Fortran libraries
+ F77LIBS=
+@@ -157,7 +157,7 @@
+ STATIC_LINKING=-static
+
+ # Linker flags
+-LDFLAGS=$(ABI) -w $(STATIC_LINKING)
++LDFLAGS=$(ABI) -w $(STATIC_LINKING) $(LD_OPT)
+ LDFLAGS_NO_STATIC=$(ABI) -w
+
+ # Fortran linker
+diff -Naur cifparse-obj-v7.025-prod-src/etc/make.platform.gnu4 cifparse-obj-v7.025-prod-src.new/etc/make.platform.gnu4
+--- cifparse-obj-v7.025-prod-src/etc/make.platform.gnu4 2008-02-06 07:17:49.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/etc/make.platform.gnu4 2008-09-03 09:20:16.000000000 -0400
+@@ -107,12 +107,12 @@
+ C_WARNINGS=$(WARNINGS)
+
+ # C compiler flags
+-CFLAGS=$(OPT) $(ABI) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES)
+-CFLAGS_NONANSI=$(OPT) $(ABI) $(NON_ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) \
++CFLAGS=$(C_OPT) $(ABI) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES)
++CFLAGS_NONANSI=$(C_OPT) $(ABI) $(NON_ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) \
+ $(INCLUDES)
+
+ ## C++ compiler
+-## This part defines C++ compiler information
++
+
+ # C++ compiler executable
+ CCC=g++
+@@ -128,13 +128,13 @@
+ EXT=C
+
+ # C++ compiler flags
+-C++FLAGS=$(OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) $(DEFINES) \
++C++FLAGS=$(CXX_OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) $(DEFINES) \
+ $(INCLUDES)
+-C++FLAGS_NONANSI=$(OPT) $(ABI) $(NON_ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) \
++C++FLAGS_NONANSI=$(CXX_OPT) $(ABI) $(NON_ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) \
+ $(DEFINES) $(INCLUDES)
+ # C++FLAGS_RELAXED should be set to avoid warnings reported by third party
+ # source code that is not maintained by PDB
+-C++FLAGS_RELAXED=$(OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(NO_DEPRECATED) $(DEFINES) \
++C++FLAGS_RELAXED=$(CXX_OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(NO_DEPRECATED) $(DEFINES) \
+ $(INCLUDES)
+
+ ## Fortran compiler
+@@ -144,7 +144,7 @@
+ F77=f77
+
+ # Fortran compiler flags
+-FFLAGS=-O -u
++FFLAGS=$(F_OPT)
+
+ # Additional Fortran libraries
+ F77LIBS=
+@@ -157,7 +157,7 @@
+ STATIC_LINKING=-static
+
+ # Linker flags
+-LDFLAGS=$(ABI) -w $(STATIC_LINKING)
++LDFLAGS=$(ABI) -w $(STATIC_LINKING) $(LD_OPT)
+ LDFLAGS_NO_STATIC=$(ABI) -w
+
+ # Fortran linker
+diff -Naur cifparse-obj-v7.025-prod-src/Makefile cifparse-obj-v7.025-prod-src.new/Makefile
+--- cifparse-obj-v7.025-prod-src/Makefile 2008-02-06 07:17:48.000000000 -0500
++++ cifparse-obj-v7.025-prod-src.new/Makefile 2008-09-03 09:19:12.000000000 -0400
+@@ -62,7 +62,7 @@
+ echo "------------------------------------------------------------"; \
+ echo "**** Making $$libdir ****"; \
+ echo "------------------------------------------------------------"; \
+- (cd $$libdir && $(MAKE) -f $(MAKEFILE) "OPT=-O" install) || exit 1; \
++ (cd $$libdir && $(MAKE) -f $(MAKEFILE) C_OPT="${CFLAGS}" CXX_OPT="${CXXFLAGS}" F_OPT="${FFLAGS}" LD_OPT="${LDFLAGS}" install) || exit 1; \
+ done
+
+ debug:
diff --git a/sci-libs/cifparse-obj/files/respect-flags-and-add-gcc4.patch b/sci-libs/cifparse-obj/files/respect-flags-and-add-gcc4.patch
new file mode 100644
index 000000000000..79d4914edf58
--- /dev/null
+++ b/sci-libs/cifparse-obj/files/respect-flags-and-add-gcc4.patch
@@ -0,0 +1,302 @@
+diff -urN -x make.log -x Makefile.platform cifparse-obj-v6.302-prod-src.orig/etc/make.platform.gnu3 cifparse-obj-v6.302-prod-src/etc/make.platform.gnu3
+--- cifparse-obj-v6.302-prod-src.orig/etc/make.platform.gnu3 2005-04-26 06:12:57.000000000 -0700
++++ cifparse-obj-v6.302-prod-src/etc/make.platform.gnu3 2005-12-18 22:50:21.000000000 -0800
+@@ -107,8 +107,8 @@
+ C_WARNINGS=$(WARNINGS)
+
+ # C compiler flags
+-CFLAGS=$(OPT) $(ABI) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES)
+-CFLAGS_NONANSI=$(OPT) $(ABI) $(NON_ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) \
++CFLAGS=$(C_OPT) $(ABI) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES)
++CFLAGS_NONANSI=$(C_OPT) $(ABI) $(NON_ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) \
+ $(INCLUDES)
+
+ ## C++ compiler
+@@ -125,12 +125,12 @@
+ # This variable specifies how to compile the C code. If it is set to C,
+ # that indicates that C code will be compiled with the C++ compiler.
+ # Otherwise it will be compiled with C compiler.
+-EXT=C
++EXT=c
+
+ # C++ compiler flags
+-C++FLAGS=$(OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) $(DEFINES) \
++C++FLAGS=$(CCC_OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) $(DEFINES) \
+ $(INCLUDES)
+-C++FLAGS_NONANSI=$(OPT) $(ABI) $(NON_ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) \
++C++FLAGS_NONANSI=$(CCC_OPT) $(ABI) $(NON_ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) \
+ $(DEFINES) $(INCLUDES)
+ # C++FLAGS_RELAXED should be set to avoid warnings reported by third party
+ # source code that is not maintained by PDB
+@@ -144,7 +144,7 @@
+ F77=f77
+
+ # Fortran compiler flags
+-FFLAGS=-O -u
++FFLAGS=$(F_OPT)
+
+ # Additional Fortran libraries
+ F77LIBS=
+diff -urN -x make.log -x Makefile.platform cifparse-obj-v6.302-prod-src.orig/etc/make.platform.gnu4 cifparse-obj-v6.302-prod-src/etc/make.platform.gnu4
+--- cifparse-obj-v6.302-prod-src.orig/etc/make.platform.gnu4 1969-12-31 16:00:00.000000000 -0800
++++ cifparse-obj-v6.302-prod-src/etc/make.platform.gnu4 2005-12-18 22:55:17.000000000 -0800
+@@ -0,0 +1,202 @@
++##########################################################################
++##
++## File: make.plaform.gnu4
++## Purpose: This file is a Linux platform makefile that supports GNU 4.x
++## compiler suite.
++##
++##########################################################################
++
++#-----Lexer and Parser section-------------------------------------------#
++
++# Lexer executable
++LEX=flex
++
++# Lexer flags
++LEXFLAGS=-Cfr -L
++
++# Parser executable
++YACC=bison
++
++# Parser flags
++YACCFLAGS=-d -v -l
++
++#------------------------------------------------------------------------#
++
++#-----Compilers section--------------------------------------------------#
++
++## ABI
++## This part defines an application binary interface to be used with the
++## compiler suite.
++ABI=
++
++## Warnings flags
++## This part defines warnings related flags
++
++# WARNINGS_AS_ERRORS defines flags to instruct all compilers to treat all
++# warnings as errors.
++
++# ALL_WARNINGS defines flags to instruct all compilers to report all
++# warnings.
++ALL_WARNINGS=-Wall
++
++# NO_DEPRECATED defines flags to instruct C++ compiler not to report
++# warnings about deprecated constructs still used in C++ code.
++NO_DEPRECATED=-Wno-deprecated
++
++# Collect all general warnings related flags
++WARNINGS=$(WARNINGS_AS_ERRORS) $(ALL_WARNINGS)
++
++## Platform specifics
++## This part defines platform specific information
++
++# Endianess.
++# Should be defined only for big endian platforms. Otherwise
++# it must be left undefined, which indicates little endian platform.
++#ENDIANESS=-DBIG_ENDIAN_PLATFORM
++
++# OS indicator. Should be defined only if SunOS is the platform
++#PLATFORM_OS=-DSUN_OS
++
++# Collect all platform related flags
++PLATFORM=$(ENDIANESS) $(PLATFORM_OS)
++
++## Compiler capabilities/restrictions related defines
++## This part defines variables based on the capabilities or restrictions
++## of the compiler suite used on the platform.
++
++# If STRCASECMP_OPTION is defined, that indicates that the compiler
++# suite/supporting libraries support strcasecmp() function.
++STRCASECMP_OPTION=-DHAVE_STRCASECMP
++
++# If INCL_TEMPLATE_SRC_OPTION is defined, that indicates that
++# compiler must include template method definition in template
++# header files in order to properly compile templates.
++INCL_TEMPLATE_SRC_OPTION=-DINCL_TEMPLATE_SRC
++
++# If PLACEMENT_NEW_OPTION is defined, that indicates that the compiler
++# suite/supporting libraries support placement new/delete operators.
++PLACEMENT_NEW_OPTION=-DHAVE_PLACEMENT_NEW
++
++# Collect all compiler capabilities/restrictions
++COMPILER=$(STRCASECMP_OPTION) $(INCL_TEMPLATE_SRC_OPTION) \
++ $(PLACEMENT_NEW_OPTION)
++
++# Collect all global defines
++GDEFINES=$(PLATFORM) $(COMPILER)
++
++# Collect all defines from global defines and defines specified in
++# module makefile
++DEFINES=$(GDEFINES) $(LDEFINES)
++
++## Global include directories
++GINCLUDES=
++
++# Collect all include directories from global include directories and
++# include directories specified in module makefile
++INCLUDES=$(LINCLUDES) $(GINCLUDES)
++
++## C compiler
++## This part defines C compiler information
++
++# C compiler executable
++CC=gcc
++
++# C compiler ANSI/NON-ANSI flags
++ANSI_C_FLAG=-ansi
++NON_ANSI_C_FLAG=
++C_WARNINGS=$(WARNINGS)
++
++# C compiler flags
++CFLAGS=$(C_OPT) $(ABI) $(ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) $(INCLUDES)
++CFLAGS_NONANSI=$(C_OPT) $(ABI) $(NON_ANSI_C_FLAG) $(C_WARNINGS) $(DEFINES) \
++ $(INCLUDES)
++
++## C++ compiler
++## This part defines C++ compiler information
++
++# C++ compiler executable
++CCC=g++
++
++# C++ compiler ANSI/NON-ANSI flags
++ANSI_C_PLUS_FLAG=-ansi
++NON_ANSI_C_PLUS_FLAG=-traditional-cpp
++C_PLUS_WARNINGS=$(WARNINGS) $(NO_DEPRECATED)
++
++# This variable specifies how to compile the C code. If it is set to C,
++# that indicates that C code will be compiled with the C++ compiler.
++# Otherwise it will be compiled with C compiler.
++EXT=c
++
++# C++ compiler flags
++C++FLAGS=$(CCC_OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) $(DEFINES) \
++ $(INCLUDES)
++C++FLAGS_NONANSI=$(CCC_OPT) $(ABI) $(NON_ANSI_C_PLUS_FLAG) $(C_PLUS_WARNINGS) \
++ $(DEFINES) $(INCLUDES)
++# C++FLAGS_RELAXED should be set to avoid warnings reported by third party
++# source code that is not maintained by PDB
++C++FLAGS_RELAXED=$(OPT) $(ABI) $(ANSI_C_PLUS_FLAG) $(NO_DEPRECATED) $(DEFINES) \
++ $(INCLUDES)
++
++## Fortran compiler
++## This part defines Fortran compiler information
++
++# Fortran compiler executable
++F77=gfortran
++
++# Fortran compiler flags
++FFLAGS=$(F_OPT)
++
++# Additional Fortran libraries
++F77LIBS=
++
++#------------------------------------------------------------------------#
++
++#-----Linkers section----------------------------------------------------#
++
++# Static linking option. If not defined, dynamic linking is used.
++STATIC_LINKING=-static
++
++# Linker flags
++LDFLAGS=$(ABI) -w $(STATIC_LINKING)
++LDFLAGS_NO_STATIC=$(ABI) -w
++
++# Fortran linker
++F77_LINKER=gfortran
++
++#------------------------------------------------------------------------#
++
++#-----Archiver section---------------------------------------------------#
++
++# Archiver executable
++AR=ar
++
++# Archiver flags
++AR_GETFLAGS=xv
++AR_PUTFLAGS=rcvs
++
++#------------------------------------------------------------------------#
++
++#-----Ranlib-------------------------------------------------------------#
++
++RANLIB=true
++
++#------------------------------------------------------------------------#
++
++#-----Installer----------------------------------------------------------#
++
++INSTALL=../etc/cifinstall
++INSTALLOPTS=-m 0444
++
++#------------------------------------------------------------------------#
++
++#-----Stripper-----------------------------------------------------------#
++
++STRIP=strip
++
++#------------------------------------------------------------------------#
++
++#-----Shell--------------------------------------------------------------#
++
++SHELL=/bin/sh
++
++#------------------------------------------------------------------------#
+diff -urN -x make.log -x Makefile.platform cifparse-obj-v6.302-prod-src.orig/etc/platform.sh cifparse-obj-v6.302-prod-src/etc/platform.sh
+--- cifparse-obj-v6.302-prod-src.orig/etc/platform.sh 2005-04-26 06:12:57.000000000 -0700
++++ cifparse-obj-v6.302-prod-src/etc/platform.sh 2005-12-18 22:50:21.000000000 -0800
+@@ -47,23 +47,31 @@
+ ;;
+
+ Linux)
+-# Check if it is GCC version 3.x
+- gcc_ver=`gcc --version | grep -e " 3\."`
++# Check if it is GCC version 4.x
++ gcc_ver=`gcc --version | grep -e " 4\."`
+ if [[ -z $gcc_ver ]]
+ then
+-# It is not GCC version 3.x. Check if it is GCC version 2.x
+- gcc_ver=`gcc --version | grep -e "2\."`
++# It is not GCC version 4.x. Check if it is GCC version 3.x
++ gcc_ver=`gcc --version | grep -e " 3\."`
+ if [[ -z $gcc_ver ]]
+ then
+-# It is not GCC version 2.x either. Production can not be compiled.
+- sysid="unknown"
++# It is not GCC version 3.x. Check if it is GCC version 2.x
++ gcc_ver=`gcc --version | grep -e "2\."`
++ if [[ -z $gcc_ver ]]
++ then
++# It is not GCC version 2.x either. Production can not be compiled.
++ sysid="unknown"
++ else
++# It is GCC version 2.x
++ sysid="gnu2"
++ fi
+ else
+-# It is GCC version 2.x
+- sysid="gnu2"
++# It is GCC version 3.x
++ sysid="gnu3"
+ fi
+ else
+-# It is GCC version 3.x
+- sysid="gnu3"
++# It is GCC version 4.x
++ sysid="gnu4"
+ fi
+ ;;
+
+diff -urN -x make.log -x Makefile.platform cifparse-obj-v6.302-prod-src.orig/Makefile cifparse-obj-v6.302-prod-src/Makefile
+--- cifparse-obj-v6.302-prod-src.orig/Makefile 2005-04-26 06:12:57.000000000 -0700
++++ cifparse-obj-v6.302-prod-src/Makefile 2005-12-18 22:50:21.000000000 -0800
+@@ -54,7 +54,7 @@
+ echo "------------------------------------------------------------"; \
+ echo "**** Making $$libdir ****"; \
+ echo "------------------------------------------------------------"; \
+- (cd $$libdir && $(MAKE) -f $(MAKEFILE) "OPT=-O" install) || exit 1; \
++ (cd $$libdir && $(MAKE) -f $(MAKEFILE) C_OPT="${CFLAGS}" CCC_OPT="${CXXFLAGS}" F_OPT="${FFLAGS}" install) || exit 1; \
+ done
+
+ debug:
diff --git a/sci-libs/cifparse-obj/metadata.xml b/sci-libs/cifparse-obj/metadata.xml
new file mode 100644
index 000000000000..51fdedab1b38
--- /dev/null
+++ b/sci-libs/cifparse-obj/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+</pkgmetadata>
diff --git a/sci-libs/clapack/Manifest b/sci-libs/clapack/Manifest
new file mode 100644
index 000000000000..524785805e71
--- /dev/null
+++ b/sci-libs/clapack/Manifest
@@ -0,0 +1 @@
+DIST clapack-3.2.1-CMAKE.tgz 6017667 SHA256 0b3f782bc24845d85f36bafbff0f2f1384dc72df730fda4e7924ec1a70baca5a SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49 WHIRLPOOL 9b2e5ba8a2503542c480565e4c34510b9fd501677c30e34b19ede18092ae40b282e4261f1939b5681c82f82d448d4afa24123ce8fb15120c7446e91ea51a698e
diff --git a/sci-libs/clapack/clapack-3.2.1-r6.ebuild b/sci-libs/clapack/clapack-3.2.1-r6.ebuild
new file mode 100644
index 000000000000..b888bddf79ad
--- /dev/null
+++ b/sci-libs/clapack/clapack-3.2.1-r6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit flag-o-matic cmake-utils
+
+DESCRIPTION="f2c'ed version of LAPACK"
+HOMEPAGE="http://www.netlib.org/clapack/"
+SRC_URI="http://www.netlib.org/${PN}/${P}-CMAKE.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-libs/libf2c-20090407-r1
+ virtual/blas"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${P}-CMAKE
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix_include_file.patch"
+ "${FILESDIR}/${P}-noblasf2c.patch"
+ "${FILESDIR}/${P}-hang.patch"
+ "${FILESDIR}/${P}-findblas-r6.patch"
+)
+
+src_configure() {
+ filter-flags -ftree-vectorize
+ # causes an internal compiler error with gcc-4.6.2
+
+ local mycmakeargs=( $(cmake-utils_use_enable test TESTS) )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/clapack/clapack-3.2.1-r7.ebuild b/sci-libs/clapack/clapack-3.2.1-r7.ebuild
new file mode 100644
index 000000000000..e24e9fb15b1e
--- /dev/null
+++ b/sci-libs/clapack/clapack-3.2.1-r7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic cmake-utils
+
+DESCRIPTION="f2c'ed version of LAPACK"
+HOMEPAGE="http://www.netlib.org/clapack/"
+SRC_URI="http://www.netlib.org/${PN}/${P}-CMAKE.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-libs/libf2c-20090407-r1
+ virtual/blas"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${P}-CMAKE
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix_include_file.patch"
+ "${FILESDIR}/${P}-noblasf2c.patch"
+ "${FILESDIR}/${P}-hang.patch"
+ "${FILESDIR}/${P}-findblas-r7.patch"
+)
+
+src_configure() {
+ filter-flags -ftree-vectorize
+ # causes an internal compiler error with gcc-4.6.2
+
+ local mycmakeargs=( $(cmake-utils_use_enable test TESTS) )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/clapack/clapack-3.2.1-r8.ebuild b/sci-libs/clapack/clapack-3.2.1-r8.ebuild
new file mode 100644
index 000000000000..93558a4ba4c5
--- /dev/null
+++ b/sci-libs/clapack/clapack-3.2.1-r8.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic cmake-utils
+
+DESCRIPTION="f2c'ed version of LAPACK"
+HOMEPAGE="http://www.netlib.org/clapack/"
+SRC_URI="http://www.netlib.org/${PN}/${P}-CMAKE.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ >=dev-libs/libf2c-20090407-r1
+ virtual/blas"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${P}-CMAKE
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix_include_file.patch"
+ "${FILESDIR}/${P}-noblasf2c.patch"
+ "${FILESDIR}/${P}-hang.patch"
+ "${FILESDIR}/${P}-findblas-r7.patch"
+)
+
+src_prepare() {
+ rm INCLUDE/f2c.h F2CLIBS/libf2c/f2c.h || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ filter-flags -ftree-vectorize
+ # causes an internal compiler error with gcc-4.6.2
+
+ local mycmakeargs=( $(cmake-utils_use_enable test TESTS) )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/clapack/files/clapack-3.2.1-findblas-r6.patch b/sci-libs/clapack/files/clapack-3.2.1-findblas-r6.patch
new file mode 100644
index 000000000000..028dec609dd8
--- /dev/null
+++ b/sci-libs/clapack/files/clapack-3.2.1-findblas-r6.patch
@@ -0,0 +1,50 @@
+diff -ruN clapack-3.2.1-CMAKE.1.allexfb/CMakeLists.txt clapack-3.2.1-CMAKE/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.1.allexfb/CMakeLists.txt 2011-06-19 22:13:27.000000000 +0200
++++ clapack-3.2.1-CMAKE/CMakeLists.txt 2011-06-19 22:23:14.000000000 +0200
+@@ -30,6 +30,29 @@
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+
++if(BLAS_LIBRARIES)
++ include(CheckFortranFunctionExists)
++ set(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES})
++ CHECK_FORTRAN_FUNCTION_EXISTS("dgemm" BLAS_FOUND)
++ unset( CMAKE_REQUIRED_LIBRARIES )
++ if(BLAS_FOUND)
++ message(STATUS "--> BLAS supplied by user is WORKING, will use ${BLAS_LIBRARIES}.")
++ else(BLAS_FOUND)
++ message(ERROR "--> BLAS supplied by user is not WORKING, CANNOT USE ${BLAS_LIBRARIES}.")
++ message(ERROR "--> Will use REFERENCE BLAS (by default)")
++ message(ERROR "--> Or Correct your BLAS_LIBRARIES entry ")
++ message(ERROR "--> Or Consider checking USE_OPTIMIZED_BLAS")
++ endif(BLAS_FOUND)
++else(BLAS_LIBRARIES)
++ # User did not provide a BLAS Library
++ find_package(PkgConfig)
++ pkg_check_modules(BLAS blas)
++endif (BLAS_LIBRARIES)
++
++if(NOT BLAS_FOUND)
++ message(FATAL_ERROR "--> BLAS libraries needed but not found.")
++endif(NOT BLAS_FOUND)
++
+ add_subdirectory(SRC)
+
+ if(ENABLE_TESTS)
+@@ -44,4 +67,3 @@
+ ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY)
+ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in
+ ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
+-
+diff -ruN clapack-3.2.1-CMAKE.1.allexfb/SRC/CMakeLists.txt clapack-3.2.1-CMAKE/SRC/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.1.allexfb/SRC/CMakeLists.txt 2011-06-19 22:13:44.000000000 +0200
++++ clapack-3.2.1-CMAKE/SRC/CMakeLists.txt 2011-06-19 22:15:04.000000000 +0200
+@@ -380,7 +380,7 @@
+ endif()
+
+ add_library(clapack SHARED ${ALLOBJ} ${ALLXOBJ})
+-target_link_libraries(clapack blas f2c m)
++target_link_libraries(clapack ${BLAS_LIBRARIES} f2c m)
+ set_target_properties(clapack PROPERTIES SOVERSION "${CLAPACK_VERSION}")
+
+ install(
diff --git a/sci-libs/clapack/files/clapack-3.2.1-findblas-r7.patch b/sci-libs/clapack/files/clapack-3.2.1-findblas-r7.patch
new file mode 100644
index 000000000000..c82cd50a2c5b
--- /dev/null
+++ b/sci-libs/clapack/files/clapack-3.2.1-findblas-r7.patch
@@ -0,0 +1,84 @@
+ CMakeLists.txt | 29 +++++++++++++++++++++++++++--
+ SRC/CMakeLists.txt | 7 ++++++-
+ TESTING/CMakeLists.txt | 5 +++++
+ 3 files changed, 38 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 37fb433..fe29d4c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,33 @@ set(CPACK_PACKAGE_VERSION_MAJOR 3)
+ set(CPACK_PACKAGE_VERSION_MINOR 2)
+ set(CPACK_PACKAGE_VERSION_PATCH 1)
+
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
++if(BLAS_LIBRARIES)
++ include(CheckFortranFunctionExists)
++ set(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES})
++ CHECK_FORTRAN_FUNCTION_EXISTS("dgemm" BLAS_FOUND)
++ unset( CMAKE_REQUIRED_LIBRARIES )
++ if(BLAS_FOUND)
++ message(STATUS "--> BLAS supplied by user is WORKING, will use ${BLAS_LIBRARIES}.")
++ else(BLAS_FOUND)
++ message(ERROR "--> BLAS supplied by user is not WORKING, CANNOT USE ${BLAS_LIBRARIES}.")
++ message(ERROR "--> Will use REFERENCE BLAS (by default)")
++ message(ERROR "--> Or Correct your BLAS_LIBRARIES entry ")
++ message(ERROR "--> Or Consider checking USE_OPTIMIZED_BLAS")
++ endif(BLAS_FOUND)
++else(BLAS_LIBRARIES)
++ # User did not provide a BLAS Library
++ find_package(PkgConfig)
++ pkg_check_modules(BLAS blas)
++endif (BLAS_LIBRARIES)
++
++if(NOT BLAS_FOUND)
++ message(FATAL_ERROR "--> BLAS libraries needed but not found.")
++endif(NOT BLAS_FOUND)
++
++if(BLAS_LIBRARY_DIRS)
++# SET_TARGET_PROPERTIES(clapack PROPERTIES LINK_FLAGS ${LINK_FLAGS} -L"${BLAS_LIBRARY_DIRS}")
++ SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L\"${BLAS_LIBRARY_DIRS}\"")
++endif()
+
+ add_subdirectory(SRC)
+
+@@ -44,4 +70,3 @@ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in
+ ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY)
+ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in
+ ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
+-
+diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt
+index 7b75ee9..39380ed 100644
+--- a/SRC/CMakeLists.txt
++++ b/SRC/CMakeLists.txt
+@@ -376,8 +376,13 @@ if(BUILD_COMPLEX16)
+ set(ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX})
+ endif()
+
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
++
+ add_library(clapack SHARED ${ALLOBJ} ${ALLXOBJ})
+-target_link_libraries(clapack blas f2c m)
++target_link_libraries(clapack ${BLAS_LIBRARIES} f2c m)
++if(BLAS_LIBRARY_DIRS)
++ SET_TARGET_PROPERTIES(clapack PROPERTIES LINK_FLAGS ${LINK_FLAGS} -L"${BLAS_LIBRARY_DIRS}")
++endif()
+ set_target_properties(clapack PROPERTIES SOVERSION "${CLAPACK_VERSION}")
+
+ install(
+diff --git a/TESTING/CMakeLists.txt b/TESTING/CMakeLists.txt
+index d59359d..174672e 100644
+--- a/TESTING/CMakeLists.txt
++++ b/TESTING/CMakeLists.txt
+@@ -4,6 +4,11 @@ if(MSVC_VERSION)
+ string(REGEX REPLACE "(.*)/STACK:(.*) (.*)" "\\1/STACK:900000000000000000 \\3"
+ CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
+ endif()
++if(BLAS_LIBRARY_DIRS)
++# SET_TARGET_PROPERTIES(clapack PROPERTIES LINK_FLAGS ${LINK_FLAGS} -L"${BLAS_LIBRARY_DIRS}")
++ SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L\"${BLAS_LIBRARY_DIRS}\"")
++endif()
++
+ add_subdirectory(MATGEN)
+ add_subdirectory(LIN)
+ add_subdirectory(EIG)
diff --git a/sci-libs/clapack/files/clapack-3.2.1-findblas.patch b/sci-libs/clapack/files/clapack-3.2.1-findblas.patch
new file mode 100644
index 000000000000..e2744f8de567
--- /dev/null
+++ b/sci-libs/clapack/files/clapack-3.2.1-findblas.patch
@@ -0,0 +1,49 @@
+diff -ruN clapack-3.2.1-CMAKE.orig/CMakeLists.txt clapack-3.2.1-CMAKE/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/CMakeLists.txt 2011-06-17 23:01:05.275747599 +0200
++++ clapack-3.2.1-CMAKE/CMakeLists.txt 2011-06-17 23:07:49.128747755 +0200
+@@ -30,6 +30,28 @@
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+
++if(BLAS_LIBRARIES)
++ include(CheckFortranFunctionExists)
++ set(CMAKE_REQUIRED_LIBRARIES ${BLAS_LIBRARIES})
++ CHECK_FORTRAN_FUNCTION_EXISTS("dgemm" BLAS_FOUND)
++ unset( CMAKE_REQUIRED_LIBRARIES )
++ if(BLAS_FOUND)
++ message(STATUS "--> BLAS supplied by user is WORKING, will use ${BLAS_LIBRARIES}.")
++ else(BLAS_FOUND)
++ message(ERROR "--> BLAS supplied by user is not WORKING, CANNOT USE ${BLAS_LIBRARIES}.")
++ message(ERROR "--> Will use REFERENCE BLAS (by default)")
++ message(ERROR "--> Or Correct your BLAS_LIBRARIES entry ")
++ message(ERROR "--> Or Consider checking USE_OPTIMIZED_BLAS")
++ endif(BLAS_FOUND)
++else(BLAS_LIBRARIES)
++ # User did not provide a BLAS Library
++ find_package( BLAS )
++endif (BLAS_LIBRARIES)
++
++if(NOT BLAS_FOUND)
++ message(FATAL_ERROR "--> BLAS libraries needed but not found.")
++endif(NOT BLAS_FOUND)
++
+ add_subdirectory(SRC)
+
+ if(ENABLE_TESTS)
+@@ -44,4 +66,3 @@
+ ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY)
+ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in
+ ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
+-
+diff -ruN clapack-3.2.1-CMAKE.orig/SRC/CMakeLists.txt clapack-3.2.1-CMAKE/SRC/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/SRC/CMakeLists.txt 2011-06-17 23:01:05.276747599 +0200
++++ clapack-3.2.1-CMAKE/SRC/CMakeLists.txt 2011-06-17 23:08:43.761747789 +0200
+@@ -377,7 +377,7 @@
+ endif()
+
+ add_library(clapack SHARED ${ALLOBJ} ${ALLXOBJ})
+-target_link_libraries(clapack blas f2c m)
++target_link_libraries(clapack ${BLAS_LIBRARIES} f2c m)
+ set_target_properties(clapack PROPERTIES SOVERSION "${CLAPACK_VERSION}")
+
+ install(
diff --git a/sci-libs/clapack/files/clapack-3.2.1-fix_include_file.patch b/sci-libs/clapack/files/clapack-3.2.1-fix_include_file.patch
new file mode 100644
index 000000000000..002336f2d124
--- /dev/null
+++ b/sci-libs/clapack/files/clapack-3.2.1-fix_include_file.patch
@@ -0,0 +1,25 @@
+diff -urN clapack-3.2.1-CMAKE.old/INCLUDE/clapack.h clapack-3.2.1-CMAKE/INCLUDE/clapack.h
+--- clapack-3.2.1-CMAKE.old/INCLUDE/clapack.h 2011-04-30 11:39:51.000000000 +0200
++++ clapack-3.2.1-CMAKE/INCLUDE/clapack.h 2011-04-30 11:40:39.000000000 +0200
+@@ -3,6 +3,12 @@
+ #ifndef __CLAPACK_H
+ #define __CLAPACK_H
+
++#include <f2c.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ /* Subroutine */ int caxpy_(integer *n, complex *ca, complex *cx, integer *
+ incx, complex *cy, integer *incy);
+
+@@ -7250,5 +7256,8 @@
+ integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1,
+ integer *n2, integer *n3, integer *n4);
+
++#ifdef __cplusplus
++}
++#endif
+
+ #endif /* __CLAPACK_H */
diff --git a/sci-libs/clapack/files/clapack-3.2.1-hang.patch b/sci-libs/clapack/files/clapack-3.2.1-hang.patch
new file mode 100644
index 000000000000..f9ec2e0ec18c
--- /dev/null
+++ b/sci-libs/clapack/files/clapack-3.2.1-hang.patch
@@ -0,0 +1,13 @@
+diff -ruN clapack-3.2.1-CMAKE.orig/SRC/CMakeLists.txt clapack-3.2.1-CMAKE/SRC/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/SRC/CMakeLists.txt 2011-06-21 00:29:16.275749375 +0200
++++ clapack-3.2.1-CMAKE/SRC/CMakeLists.txt 2011-06-21 00:31:06.133749448 +0200
+@@ -355,6 +355,9 @@
+ zla_heamv.c zla_hercond_c.c zla_hercond_x.c zla_herpvgrw.c
+ zla_lin_berr.c zlarscl2.c zlascl2.c zla_wwaddw.c)
+
++if(CMAKE_COMPILER_IS_GNUCC)
++ set_source_files_properties(../INSTALL/dlamch.c ../INSTALL/slamch.c PROPERTIES COMPILE_FLAGS "-ffloat-store -O0")
++endif()
+
+ if( USEXBLAS)
+ set(ALLXOBJ ${SXLASRC} ${DXLASRC} ${CXLASRC} ${ZXLASRC} ${ALLXAUX})
diff --git a/sci-libs/clapack/files/clapack-3.2.1-noblasf2c.patch b/sci-libs/clapack/files/clapack-3.2.1-noblasf2c.patch
new file mode 100644
index 000000000000..5ae9e63977c6
--- /dev/null
+++ b/sci-libs/clapack/files/clapack-3.2.1-noblasf2c.patch
@@ -0,0 +1,189 @@
+diff -u -r -N clapack-3.2.1-CMAKE.orig/CMakeLists.txt clapack-3.2.1-CMAKE/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/CMakeLists.txt 2009-08-10 20:46:33.000000000 +0200
++++ clapack-3.2.1-CMAKE/CMakeLists.txt 2010-08-28 14:04:30.000000000 +0200
+@@ -1,7 +1,10 @@
+ cmake_minimum_required(VERSION 2.6)
+ project(CLAPACK C)
+-enable_testing()
+-include(CTest)
++
++if(ENABLE_TESTS)
++ enable_testing()
++ include(CTest)
++endif(ENABLE_TESTS)
+
+ if(WIN32 AND NOT CYGWIN)
+ set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c)
+@@ -11,24 +14,34 @@
+ set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c)
+ set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c)
+ endif()
+-enable_testing()
++
+ option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF)
+ if(NOT USE_BLAS_WRAP)
+ # _zrotg_ seems to be missing in the wrap header
+ add_definitions(-DNO_BLAS_WRAP)
+ endif()
++
+ include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE)
+-add_subdirectory(F2CLIBS)
+-add_subdirectory(BLAS)
+-add_subdirectory(SRC)
+-add_subdirectory(TESTING)
++
+ set(CLAPACK_VERSION 3.2.1)
+ set(CPACK_PACKAGE_VERSION_MAJOR 3)
+ set(CPACK_PACKAGE_VERSION_MINOR 2)
+ set(CPACK_PACKAGE_VERSION_PATCH 1)
++
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
++
++add_subdirectory(SRC)
++
++if(ENABLE_TESTS)
++ add_subdirectory(TESTING)
++endif(ENABLE_TESTS)
++
+ include(CPack)
+-export(TARGETS f2c blas lapack FILE clapack-targets.cmake)
++
++export(TARGETS clapack FILE clapack-targets.cmake)
++
+ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in
+ ${CLAPACK_BINARY_DIR}/clapack-config-version.cmake @ONLY)
+ configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in
+ ${CLAPACK_BINARY_DIR}/clapack-config.cmake @ONLY)
++
+diff -u -r -N clapack-3.2.1-CMAKE.orig/SRC/CMakeLists.txt clapack-3.2.1-CMAKE/SRC/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/SRC/CMakeLists.txt 2009-08-10 19:47:54.000000000 +0200
++++ clapack-3.2.1-CMAKE/SRC/CMakeLists.txt 2010-08-28 14:32:17.000000000 +0200
+@@ -375,6 +375,20 @@
+ if(BUILD_COMPLEX16)
+ set(ALLOBJ ${ZLASRC} ${ALLAUX} ${DZLAUX})
+ endif()
+-add_library(lapack ${ALLOBJ} ${ALLXOBJ})
+-target_link_libraries(lapack blas)
+
++add_library(clapack SHARED ${ALLOBJ} ${ALLXOBJ})
++target_link_libraries(clapack blas f2c m)
++set_target_properties(clapack PROPERTIES SOVERSION "${CLAPACK_VERSION}")
++
++install(
++ TARGETS clapack EXPORT clapack
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++)
++
++install(
++ FILES ../INCLUDE/clapack.h DESTINATION include/clapack
++)
++
++install(
++ EXPORT clapack DESTINATION "share/cmake/Modules" FILE clapack-config.cmake
++)
+diff -u -r -N clapack-3.2.1-CMAKE.orig/TESTING/EIG/CMakeLists.txt clapack-3.2.1-CMAKE/TESTING/EIG/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/TESTING/EIG/CMakeLists.txt 2009-08-10 19:47:54.000000000 +0200
++++ clapack-3.2.1-CMAKE/TESTING/EIG/CMakeLists.txt 2010-08-28 13:46:40.000000000 +0200
+@@ -119,7 +119,7 @@
+
+ macro(add_eig_executable name )
+ add_executable(${name} ${ARGN})
+- target_link_libraries(${name} tmglib lapack )
++ target_link_libraries(${name} tmglib clapack )
+ endmacro(add_eig_executable)
+
+ add_eig_executable(xeigtsts ${SEIGTST} ${SCIGTST} ${AEIGTST}
+diff -u -r -N clapack-3.2.1-CMAKE.orig/TESTING/LIN/CMakeLists.txt clapack-3.2.1-CMAKE/TESTING/LIN/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/TESTING/LIN/CMakeLists.txt 2009-08-10 20:06:06.000000000 +0200
++++ clapack-3.2.1-CMAKE/TESTING/LIN/CMakeLists.txt 2010-08-28 13:46:40.000000000 +0200
+@@ -189,7 +189,7 @@
+
+ macro(add_lin_executable name )
+ add_executable(${name} ${ARGN})
+- target_link_libraries(${name} tmglib lapack)
++ target_link_libraries(${name} tmglib clapack)
+ endmacro(add_lin_executable)
+
+ add_lin_executable(xlintsts ${ALINTST} ${SCLNTST} ${SLINTST}
+diff -u -r -N clapack-3.2.1-CMAKE.orig/TESTING/MATGEN/CMakeLists.txt clapack-3.2.1-CMAKE/TESTING/MATGEN/CMakeLists.txt
+--- clapack-3.2.1-CMAKE.orig/TESTING/MATGEN/CMakeLists.txt 2009-08-10 19:47:54.000000000 +0200
++++ clapack-3.2.1-CMAKE/TESTING/MATGEN/CMakeLists.txt 2010-08-28 13:46:40.000000000 +0200
+@@ -65,5 +65,6 @@
+ if(BUILD_COMPLEX16)
+ set(ALLOBJ $(ZMATGEN) $(DZATGEN))
+ endif()
+-add_library(tmglib ${ALLOBJ} )
++
++add_library(tmglib ${ALLOBJ} i_len_trim.c i_ceiling.c )
+
+diff -u -r -N clapack-3.2.1-CMAKE.orig/TESTING/MATGEN/i_ceiling.c clapack-3.2.1-CMAKE/TESTING/MATGEN/i_ceiling.c
+--- clapack-3.2.1-CMAKE.orig/TESTING/MATGEN/i_ceiling.c 1970-01-01 01:00:00.000000000 +0100
++++ clapack-3.2.1-CMAKE/TESTING/MATGEN/i_ceiling.c 2010-08-28 13:46:40.000000000 +0200
+@@ -0,0 +1,38 @@
++/* file has been copied from the included f2c library - dilfridge */
++
++#include <f2c.h>
++
++#ifdef KR_headers
++integer i_sceiling(x) real *x;
++#else
++#ifdef __cplusplus
++extern "C" {
++#endif
++integer i_sceiling(real *x)
++#endif
++{
++#define CEIL(x) ((int)(x) + ((x) > 0 && (x) != (int)(x)))
++
++ return (integer) CEIL(*x);
++}
++#ifdef __cplusplus
++}
++#endif
++
++
++#ifdef KR_headers
++integer i_dceiling(x) doublereal *x;
++#else
++#ifdef __cplusplus
++extern "C" {
++#endif
++integer i_dceiling(doublereal *x)
++#endif
++{
++#define CEIL(x) ((int)(x) + ((x) > 0 && (x) != (int)(x)))
++
++ return (integer) CEIL(*x);
++}
++#ifdef __cplusplus
++}
++#endif
+diff -u -r -N clapack-3.2.1-CMAKE.orig/TESTING/MATGEN/i_len_trim.c clapack-3.2.1-CMAKE/TESTING/MATGEN/i_len_trim.c
+--- clapack-3.2.1-CMAKE.orig/TESTING/MATGEN/i_len_trim.c 1970-01-01 01:00:00.000000000 +0100
++++ clapack-3.2.1-CMAKE/TESTING/MATGEN/i_len_trim.c 2010-08-28 13:46:40.000000000 +0200
+@@ -0,0 +1,25 @@
++/* file has been copied from the included f2c library - dilfridge */
++
++#include <f2c.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifdef KR_headers
++integer i_len_trim(s, n) char *s; ftnlen n;
++#else
++integer i_len_trim(char *s, ftnlen n)
++#endif
++{
++ int i;
++
++ for(i=n-1;i>=0;i--)
++ if(s[i] != ' ')
++ return i + 1;
++
++ return(0);
++}
++#ifdef __cplusplus
++}
++#endif
diff --git a/sci-libs/clapack/metadata.xml b/sci-libs/clapack/metadata.xml
new file mode 100644
index 000000000000..a256cf4867f0
--- /dev/null
+++ b/sci-libs/clapack/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ LAPACK is a comprehensive library that does linear algebra
+ operations including matrix inversions, least squared solutions to
+ linear sets of equations, eigenvector analysis, singular value
+ decomposition, etc. It is a very comprehensive and reputable package
+ that has found extensive use in the scientific community.
+ This package installs the reference C implementation from Netlib,
+ generated from f2c.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/clashscore-db/Manifest b/sci-libs/clashscore-db/Manifest
new file mode 100644
index 000000000000..3c71b7792037
--- /dev/null
+++ b/sci-libs/clashscore-db/Manifest
@@ -0,0 +1 @@
+DIST molprobity-3.17.tgz 26429898 SHA256 2e70814efb4f566a522762a626f69669c09285cbb6fc26444eb947fde9b30f25 SHA512 a6e986f285ff7e8d167e2d1c935a55b080446c9809d352c95e2ffa32265892b59cd1611730e75ca88aa28387495d3ebd84226e1a9cdd33f0b27b1a8a1b6a469f WHIRLPOOL 3981522eeacaa589530e7d268cda786bebeaf676f7fa5c26508798022126bd1a1c8ea193f65e3c5c739fb3b516b26c3cf24ac0e7898e764a9cffab6637dcd5a9
diff --git a/sci-libs/clashscore-db/clashscore-db-3.17.ebuild b/sci-libs/clashscore-db/clashscore-db-3.17.ebuild
new file mode 100644
index 000000000000..23530d1d183c
--- /dev/null
+++ b/sci-libs/clashscore-db/clashscore-db-3.17.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Clashscore-db for clashlist"
+HOMEPAGE="http://kinemage.biochem.duke.edu/"
+SRC_URI="mirror://gentoo/molprobity-${PV}.tgz"
+
+SLOT="0"
+LICENSE="richardson"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/share/clashscore
+ doins molprobity3/lib/clashscore.db.tab
+}
diff --git a/sci-libs/clashscore-db/metadata.xml b/sci-libs/clashscore-db/metadata.xml
new file mode 100644
index 000000000000..ae9ec7c5f6a4
--- /dev/null
+++ b/sci-libs/clashscore-db/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/clipper/Manifest b/sci-libs/clipper/Manifest
new file mode 100644
index 000000000000..94373a779583
--- /dev/null
+++ b/sci-libs/clipper/Manifest
@@ -0,0 +1 @@
+DIST clipper-2.1-100511-ac.tar.gz 993754 SHA256 00d470af423c015022934d5a12fde36c86d5729227f41e1139d7c6513368b7aa SHA512 a4e7d49e55a49813cf640c9384a5630352a5bbda773334681aff87a2a8f70d2eaedda5715b3546231747b49d76c58c2a3afe6010cf156c63d62b1b9500c0c802 WHIRLPOOL e0a8377702c573d39f4f62d8f5e214676f6c323f24d39c1bfdca81b574cf26f12f7444f21c92b53fad38e8cedb14a9befaf65131b5b6055ace28d8b217ed564c
diff --git a/sci-libs/clipper/clipper-2.1_p100511-r1.ebuild b/sci-libs/clipper/clipper-2.1_p100511-r1.ebuild
new file mode 100644
index 000000000000..1757c6960b83
--- /dev/null
+++ b/sci-libs/clipper/clipper-2.1_p100511-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils eutils flag-o-matic
+
+MY_PV=${PV/_p/-}
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Object-oriented libraries for crystallographic data and crystallographic computation"
+HOMEPAGE="http://www.ysbl.york.ac.uk/~cowtan/clipper/clipper.html"
+SRC_URI="http://www.ysbl.york.ac.uk/~cowtan/clipper/${MY_P}-ac.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="debug static-libs"
+
+RDEPEND="
+ sci-libs/ccp4-libs
+ sci-libs/fftw
+ sci-libs/mmdb"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}-2.1
+
+PATCHES=(
+ "${FILESDIR}"/20091215-missing-var.patch
+ "${FILESDIR}"/${PV}-makefile.patch
+ "${FILESDIR}"/${P}-outofsourcebuild.patch
+ )
+
+src_configure() {
+ # Recommended on ccp4bb/coot ML to fix crashes when calculating maps
+ # on 64-bit systems
+ append-flags -fno-strict-aliasing
+
+ local myeconfargs=(
+ --enable-ccp4
+ --enable-cif
+ --enable-cns
+ --enable-contrib
+ --enable-minimol
+ --enable-mmdb
+ --enable-phs
+ --with-mmdb="${EPREFIX}/usr"
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ emake -C "${AUTOTOOLS_BUILD_DIR}"/examples check
+}
diff --git a/sci-libs/clipper/files/2.1_p100511-makefile.patch b/sci-libs/clipper/files/2.1_p100511-makefile.patch
new file mode 100644
index 000000000000..d933e88f7c7e
--- /dev/null
+++ b/sci-libs/clipper/files/2.1_p100511-makefile.patch
@@ -0,0 +1,23 @@
+ Makefile.am | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 745824d..0da0ddd 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,12 +1,12 @@
+ # -*- mode: Makefile; mode: font-lock -*-
+ AUTOMAKE_OPTIONS = foreign
+-SUBDIRS = config clipper examples dox
+-DIST_SUBDIRS = config clipper examples dox
++SUBDIRS = config clipper dox
++DIST_SUBDIRS = config clipper dox
+ EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL NEWS README
+ bin_SCRIPTS = clipper-config
+ # pkgconfigdir = $(libdir)/pkgconfig
+ # pkgconfig_DATA = clipper.pc
+ if DEBUG
+-AM_CXXFLAGS = -g -DDEBUG
++AM_CXXFLAGS = -DDEBUG
+ endif
+ ACLOCAL_AMFLAGS = -I config
diff --git a/sci-libs/clipper/files/20091215-missing-var.patch b/sci-libs/clipper/files/20091215-missing-var.patch
new file mode 100644
index 000000000000..9ba4b007e9d0
--- /dev/null
+++ b/sci-libs/clipper/files/20091215-missing-var.patch
@@ -0,0 +1,13 @@
+diff --git a/clipper-config.in b/clipper-config.in
+index df0b77b..3ae536e 100644
+--- a/clipper-config.in
++++ b/clipper-config.in
+@@ -84,7 +84,7 @@ fi
+
+ if test "$echo_libs" = "yes" ; then
+ # note BOOST_LIBS should be part of CCTBX_LIBS
+- libs="-lclipper-minimol -lclipper-mmdb -lclipper-cns -lclipper-cif -lclipper-contrib -lclipper-ccp4 -lclipper-phs -lclipper-core @CCP4_LIBS@ @MMDB_LIBS@ @FFTW_LIBS@ @CCTBX_LIBS@"
++ libs="-lclipper-minimol -lclipper-mmdb -lclipper-cns -lclipper-cif -lclipper-contrib -lclipper-ccp4 -lclipper-phs -lclipper-core @CCP4_LIBS@ @MMDB_LIBS@ @FFTW_LIBS@"
+ if test "${libdir}" != "/usr/lib" ; then
+ echo -L${libdir} $libs
+ else
diff --git a/sci-libs/clipper/files/clipper-2.1_p100511-outofsourcebuild.patch b/sci-libs/clipper/files/clipper-2.1_p100511-outofsourcebuild.patch
new file mode 100644
index 000000000000..2db566b7b799
--- /dev/null
+++ b/sci-libs/clipper/files/clipper-2.1_p100511-outofsourcebuild.patch
@@ -0,0 +1,16 @@
+ examples/Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/examples/Makefile.am b/examples/Makefile.am
+index 203ce96..2b65f1c 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -27,7 +27,7 @@ maketestdata_SOURCES = maketestdata.cpp
+
+ TESTS = maketestdata
+
+-INCLUDES = -I.. $(FFTW_CXXFLAGS) $(MMDB_CXXFLAGS) $(CCP4_CXXFLAGS) $(CCTBX_CXXFLAGS) $(BOOST_CXXFLAGS)
++INCLUDES = -I$(top_srcdir) $(FFTW_CXXFLAGS) $(MMDB_CXXFLAGS) $(CCP4_CXXFLAGS) $(CCTBX_CXXFLAGS) $(BOOST_CXXFLAGS)
+
+ LIBS = $(FFTW_LIBS) $(CCP4_LIBS) $(MMDB_LIBS) $(CCTBX_LIBS)
+
diff --git a/sci-libs/clipper/metadata.xml b/sci-libs/clipper/metadata.xml
new file mode 100644
index 000000000000..51fdedab1b38
--- /dev/null
+++ b/sci-libs/clipper/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+</pkgmetadata>
diff --git a/sci-libs/cln/Manifest b/sci-libs/cln/Manifest
new file mode 100644
index 000000000000..7577f003c70a
--- /dev/null
+++ b/sci-libs/cln/Manifest
@@ -0,0 +1 @@
+DIST cln-1.3.3.tar.bz2 1300229 SHA256 57fc2ee3ecbb30d4037ff32a9a331804ea7dad8b345e70d42d9991ca659b2612 SHA512 ee829cd03a2d36215a4d4e76cc0aa6c5abe6ff967ed366d752da1dc0c47dbec56e0521e92fb35574c038305fb767991c5c7fd12ad03583080da3f923fbfecdaf WHIRLPOOL fac646fcb8622060917cbe08b232d412459e45f16c4bbe38cd6d1b7296bc259466eba28ddccb66ead435832ea45127e13b4fe0e2601a0f763487144c02e51eb0
diff --git a/sci-libs/cln/cln-1.3.3.ebuild b/sci-libs/cln/cln-1.3.3.ebuild
new file mode 100644
index 000000000000..fd6b7d52060d
--- /dev/null
+++ b/sci-libs/cln/cln-1.3.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils flag-o-matic
+
+DESCRIPTION="Class library (C++) for numbers"
+HOMEPAGE="http://www.ginac.de/CLN/"
+SRC_URI="ftp://ftpthep.physik.uni-mainz.de/pub/gnu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+RDEPEND="dev-libs/gmp:0="
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.3.2-arm.patch )
+
+pkg_setup() {
+ use sparc && append-cppflags -DNO_ASM
+ use hppa && append-cppflags -DNO_ASM
+ use arm && append-cppflags -DNO_ASM
+}
+
+src_prepare() {
+ # avoid building examples
+ # do it in Makefile.in to avoid time consuming eautoreconf
+ sed -i \
+ -e '/^SUBDIRS.*=/s/examples doc benchmarks/doc/' \
+ Makefile.in || die
+ autotools-utils_src_prepare
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ if use doc; then
+ cd "${BUILD_DIR}"
+ export VARTEXFONTS="${T}/fonts"
+ emake html pdf
+ DOCS=("${BUILD_DIR}/doc/cln.pdf")
+ HTML_DOCS=("${BUILD_DIR}/doc/")
+ fi
+}
+
+src_install () {
+ autotools-utils_src_install
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.cc
+ fi
+}
diff --git a/sci-libs/cln/files/cln-1.3.2-arm.patch b/sci-libs/cln/files/cln-1.3.2-arm.patch
new file mode 100644
index 000000000000..571bd24e68f6
--- /dev/null
+++ b/sci-libs/cln/files/cln-1.3.2-arm.patch
@@ -0,0 +1,13 @@
+--- src/base/digitseq/cl_asm_arm_.cc 2009-05-10 16:32:30.000000000 -0400
++++ src/base/digitseq/cl_asm_arm_.cc.new 2009-12-29 09:03:02.161401990 -0500
+@@ -77,8 +77,8 @@
+ #else
+ #define DECLARE_FUNCTION(x)
+ #endif
+-#define GLABEL(x) _##x##:
+-#define LABEL(x) x##:
++#define GLABEL(x) _##x:
++#define LABEL(x) x:
+ #define RRX rrx
+ #define END
+
diff --git a/sci-libs/cln/metadata.xml b/sci-libs/cln/metadata.xml
new file mode 100644
index 000000000000..91b9559a615a
--- /dev/null
+++ b/sci-libs/cln/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription lang="en">
+ A Class Library for Numbers is a library for computations with all
+ kinds of numbers in arbitrary precision. It has a set of number
+ classes, including integers (with unlimited precision), reals with
+ various precisions (including unlimited), rationals, complex numbers
+ and polynomials. The kernel is written in assembly language. It uses
+ automatic garbage collection.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/cminpack/Manifest b/sci-libs/cminpack/Manifest
new file mode 100644
index 000000000000..572530c271ec
--- /dev/null
+++ b/sci-libs/cminpack/Manifest
@@ -0,0 +1,2 @@
+DIST cminpack-1.3.2.tar.gz 299376 SHA256 a0a7f9b2e97c4f6dc8fe39675aed8423b27c7e839ba6c1745bcc2acc09c97825 SHA512 ec7cf2bdb58148b7664cca78cb2f5f2501c8d2df46a723285832a4e1fbe69457d1b5f67d2cdc7904900597a1af7bb22008e13f260e4672c32944cdadd856fd82 WHIRLPOOL 530d047bc56d536e2bec32d99845202ff9a664e70df1c2f6a1bd2023f6efd098338d2101a077365109c177a65b57be7c3d23aca7b2c5023e0fff63d660ca6848
+DIST cminpack-1.3.4.tar.gz 311147 SHA256 3b517bf7dca68cc9a882883db96dac0a0d37d72aba6dfb0c9c7e78e67af503ca SHA512 2221dd710285e4d043ec51b296979686645ee48dad2e4bcbfef3e78ff6e8e02c09575af17edc3e9879cb9b7d4b431f0effe24640a2bdc437e32d0d0710545d7a WHIRLPOOL 460b56dcdac171daf9fda1c43b05654b549f1349babe8dfe5190f2aea98c3c42953ceda12e6dfff49d93958c6aaa0dc8b124477d1a22346e4d0a557dcae692a4
diff --git a/sci-libs/cminpack/cminpack-1.3.2.ebuild b/sci-libs/cminpack/cminpack-1.3.2.ebuild
new file mode 100644
index 000000000000..236b20addd76
--- /dev/null
+++ b/sci-libs/cminpack/cminpack-1.3.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="C implementation of the MINPACK nonlinear optimization library"
+HOMEPAGE="http://devernay.free.fr/hacks/cminpack/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="minpack"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.2.2-underlinking.patch )
+
+src_configure() {
+ sed -i \
+ -e "/CMINPACK_LIB_INSTALL_DIR/s:lib\(\|64\):$(get_libdir):g" \
+ cmake/cminpack_utils.cmake || die
+ local mycmakeargs+=(
+ -DSHARED_LIBS=ON
+ $(cmake-utils_use_build test examples)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc readme*
+ use doc && dohtml -A .txt doc/*
+}
diff --git a/sci-libs/cminpack/cminpack-1.3.4.ebuild b/sci-libs/cminpack/cminpack-1.3.4.ebuild
new file mode 100644
index 000000000000..d3a605fa2764
--- /dev/null
+++ b/sci-libs/cminpack/cminpack-1.3.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="C implementation of the MINPACK nonlinear optimization library"
+HOMEPAGE="http://devernay.free.fr/hacks/cminpack/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="minpack"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.2.2-underlinking.patch )
+
+src_configure() {
+ sed -i \
+ -e "/CMINPACK_LIB_INSTALL_DIR/s:lib\(\|64\):$(get_libdir):g" \
+ cmake/cminpack_utils.cmake || die
+ local mycmakeargs+=(
+ -DSHARED_LIBS=ON
+ $(cmake-utils_use_build test examples)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc readme*
+ use doc && dohtml -A .txt doc/*
+}
diff --git a/sci-libs/cminpack/files/cminpack-1.2.2-underlinking.patch b/sci-libs/cminpack/files/cminpack-1.2.2-underlinking.patch
new file mode 100644
index 000000000000..a042d4c2f72b
--- /dev/null
+++ b/sci-libs/cminpack/files/cminpack-1.2.2-underlinking.patch
@@ -0,0 +1,15 @@
+ CMakeLists.txt | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57394af..5a46a75 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -56,6 +56,7 @@ set (cminpack_hdrs
+ cminpack.h minpack.h)
+
+ add_library (cminpack ${LIB_TYPE} ${cminpack_srcs})
++target_link_libraries (cminpack m)
+
+ install (TARGETS cminpack
+ LIBRARY DESTINATION ${CMINPACK_LIB_INSTALL_DIR} COMPONENT library
diff --git a/sci-libs/cminpack/metadata.xml b/sci-libs/cminpack/metadata.xml
new file mode 100644
index 000000000000..7f432fd0dc55
--- /dev/null
+++ b/sci-libs/cminpack/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Minpack includes software for solving nonlinear equations and
+ nonlinear least squares problems. Five algorithmic paths each
+ include a core subroutine and an easy-to-use driver. The algorithms
+ proceed either from an analytic specification of the Jacobian matrix
+ or directly from the problem functions. The paths include facilities
+ for systems of equations with a banded Jacobian matrix, for least
+ squares problems with a large amount of data, and for checking the
+ consistency of the Jacobian matrix with the functions.
+ This is the C re-write of the original fortran minpack
+ implementation.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/cmpfit/Manifest b/sci-libs/cmpfit/Manifest
new file mode 100644
index 000000000000..9d576f8bbbd5
--- /dev/null
+++ b/sci-libs/cmpfit/Manifest
@@ -0,0 +1 @@
+DIST cmpfit-1.2.tar.gz 30431 SHA256 4b90521d8fe7614e6ce1455aa77ee6eea397acfcdc870019e4351055a0ee0697 SHA512 232a39538396f166efd9c7a9fc687e0ac8fd3090f871f54fb0c131a1ed02cc05a60904894d853d8eb76d88e70a1fbab4bce3ad0b5990408c77d5a6028a3b466c WHIRLPOOL 0cf0eed9e1e1f60ce9a37afffba02155fef5a6bc4ca1b4833bdf1e776d2e01a6b9335f4bf260f311a96ae9e350e92e2e6451003c95ec9789f5fa4df2647b095b
diff --git a/sci-libs/cmpfit/cmpfit-1.2.ebuild b/sci-libs/cmpfit/cmpfit-1.2.ebuild
new file mode 100644
index 000000000000..b0ed5d973a6e
--- /dev/null
+++ b/sci-libs/cmpfit/cmpfit-1.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit toolchain-funcs
+
+DESCRIPTION="MINPACK-1 Least Squares Fitting Library in C"
+HOMEPAGE="http://www.physics.wisc.edu/~craigm/idl/cmpfit.html"
+SRC_URI="http://www.physics.wisc.edu/~craigm/idl/down/${P}.tar.gz"
+
+LICENSE="public-domain minpack"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+src_compile() {
+ if use static-libs; then
+ $(tc-getCC) ${CFLAGS} -c mpfit.c || die
+ $(tc-getAR) cr mpfit.a mpfit.o || die
+ fi
+ $(tc-getCC) ${CFLAGS} -fPIC -c mpfit.c -o mpfit.so|| die "compilation failed"
+ $(tc-getCC) ${LDFLAGS} -shared -Wl,-soname=libmpfit.so mpfit.so -lm -o libmpfit.so || die
+}
+
+src_test() {
+ $(tc-getCC) ${CFLAGS} testmpfit.c -L. -lmpfit -lm -o testmpfit || die
+ LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH} ./testmpfit || die
+}
+
+src_install() {
+ dolib.so libmpfit.so
+ use static-libs && dolib.a libmpfit.a
+ insinto /usr/include
+ doins mpfit.h
+
+ dodoc README DISCLAIMER
+}
diff --git a/sci-libs/cmpfit/metadata.xml b/sci-libs/cmpfit/metadata.xml
new file mode 100644
index 000000000000..549aa60ca56b
--- /dev/null
+++ b/sci-libs/cmpfit/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ MPFIT uses the Levenberg-Marquardt technique to solve the
+ least-squares problem. In its typical use, MPFIT will be used to fit
+ a user-supplied function (the "model") to user-supplied data points
+ (the "data") by adjusting a set of parameters. MPFIT is based upon
+ MINPACK-1 (LMDIF.F) by More' and collaborators.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinhsl/Manifest b/sci-libs/coinhsl/Manifest
new file mode 100644
index 000000000000..e4a3eadc3394
--- /dev/null
+++ b/sci-libs/coinhsl/Manifest
@@ -0,0 +1 @@
+DIST coinhsl-2014.01.10.tar.gz 906586 SHA256 7c2be60a3913b406904c66ee83acdbd0709f229b652c4e39ee5d0876f6b2e907 SHA512 fe71b07c4fc11a8a7a40a115457588b91aa4481726e523502d92d6604c5fda13cffcc4620ada64b9332cb3502f8bfbc4ee856125cd5fd987cccf49bae5d46711 WHIRLPOOL 7b59a9d2d532cb494d12485529cf13d14d48a354a622c3d8d2252f46f0aaeb5e60d4ee17f8d11e3e4717cf81d056709b4b03a2dcebbfbf60ea264b55303e4834
diff --git a/sci-libs/coinhsl/coinhsl-2014.01.10.ebuild b/sci-libs/coinhsl/coinhsl-2014.01.10.ebuild
new file mode 100644
index 000000000000..32fb559aad0e
--- /dev/null
+++ b/sci-libs/coinhsl/coinhsl-2014.01.10.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=yes
+FORTRAN_STANDARD="77 90"
+
+inherit autotools-utils fortran-2 toolchain-funcs
+
+DESCRIPTION="HSL mathematical software library for IPOPT"
+HOMEPAGE="http://www.hsl.rl.ac.uk/ipopt"
+SRC_URI="${P}.tar.gz"
+
+LICENSE="HSL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND="
+ sci-libs/metis
+ virtual/blas"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+RESTRICT="mirror fetch"
+
+src_configure() {
+ export LIBS="$($(tc-getPKG_CONFIG) --libs metis blas lapack)"
+ autotools-utils_src_configure
+ MAKEOPTS+=" -j1"
+}
diff --git a/sci-libs/coinhsl/metadata.xml b/sci-libs/coinhsl/metadata.xml
new file mode 100644
index 000000000000..2dc94508a9bf
--- /dev/null
+++ b/sci-libs/coinhsl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ HSL (formerly the Harwell Subroutine Library) is a collection of
+ state-of-the-art packages for large-scale scientific computation
+ such as the solution of sparse linear systems of equations and
+ sparse eigenvalue problems. This package is specific as a plugin for
+ Ipopt.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-alps/Manifest b/sci-libs/coinor-alps/Manifest
new file mode 100644
index 000000000000..d887e6751455
--- /dev/null
+++ b/sci-libs/coinor-alps/Manifest
@@ -0,0 +1 @@
+DIST Alps-1.4.9.tgz 5564207 SHA256 b1d1636ed16b3a3982d7bc547da9713657cd22cbc3ed4d4323ec63af04d139d2 SHA512 b8f557d33f3d02d0bf98541309934eeebebd21829fe1e2a438b07e6e17f0a1de1a970ed97b28cdaddc8b14eb1092a86db4d44838cef70bae3d091cd48fe8e2d8 WHIRLPOOL dddf890622d44f0c42278a15e0ac979cc6faa9cfa9b26b47fcc785de709098a044bd68d2fe81671b0ab5bae268c18f2ad8b00741bdf96ec7779ce76bf71fc352
diff --git a/sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild b/sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild
new file mode 100644
index 000000000000..e19f534b7070
--- /dev/null
+++ b/sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Alps
+
+DESCRIPTION="COIN-OR Framework for implementing parallel graph search algorithms"
+HOMEPAGE="https://projects.coin-or.org/CHiPPS/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="CPL-1.0"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-clp:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample sci-libs/coinor-cgl )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # as-needed fix
+ # hack to avoid eautoreconf (coinor has its own weird autotools)
+ sed -i \
+ -e 's:\(libAlps_la_LIBADD.*=\).*:\1 @ALPSLIB_LIBS@:g' \
+ src/Makefile.in || die
+ # bug for later versions of subversions
+ sed -i \
+ -e 's/xexported/xexported -a "x$svn_rev_tmp" != "xUnversioned directory"/' \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ $(use_with doc dot)
+ )
+ PKG_CONFIG_PATH+="${ED}"/usr/$(get_libdir)/pkgconfig \
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/.")
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-alps/metadata.xml b/sci-libs/coinor-alps/metadata.xml
new file mode 100644
index 000000000000..56d981f3f91c
--- /dev/null
+++ b/sci-libs/coinor-alps/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ CHiPPS is the COIN-OR High-Performance Parallel Search Framework, a
+ framework for implementing parallel algorithms based on tree
+ search. The current CHiPPS architecture consists of three
+ layers. The Abstract Library for Parallel Search (ALPS) is the base
+ layer of a hierarchy consisting of implementations of various tree
+ search algorithms for specific problem types.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-bcp/Manifest b/sci-libs/coinor-bcp/Manifest
new file mode 100644
index 000000000000..e22e8cdb1040
--- /dev/null
+++ b/sci-libs/coinor-bcp/Manifest
@@ -0,0 +1 @@
+DIST Bcp-1.3.8.tgz 7086225 SHA256 db0079ba8adc16ca0a3065b385bf27352a27a9e031e8db52e96b4f883d4352f4 SHA512 c599cc60df37cab32cfbf24522efaababbdd2de6144c316390f5e0481863ffd6aec016f97188a610ae6aca8d4e5b1b8088a35bc81bd3448fadb1727a9e9663dd WHIRLPOOL 4bdc2a99bff6ed5b71a978feb224a1c2624b0519e0149b37fbd97c142c617502e46b8bbb9cf3516ebe4bf56c1c29e9cedf6bdcf52d08433fe2f20c7dfe5541b6
diff --git a/sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild b/sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild
new file mode 100644
index 000000000000..13bc2678c6af
--- /dev/null
+++ b/sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Bcp
+
+DESCRIPTION="COIN-OR Branch-Cut-Price Framework"
+HOMEPAGE="https://projects.coin-or.org/Bcp/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="CPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-vol:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && newdoc doc/man.pdf manual.pdf
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-bcp/metadata.xml b/sci-libs/coinor-bcp/metadata.xml
new file mode 100644
index 000000000000..733700021f6b
--- /dev/null
+++ b/sci-libs/coinor-bcp/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ BCP is a parallel framework for implementing branch, cut, and price
+ algorithms for solving mixed integer programs (MIPs). BCP provides
+ the user with an object-oriented framework that can be used to
+ develop an efficient problem class specific MIP solver without all
+ the implementational effort. involved with implementing a branch and
+ bound framework from scratch.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-bcps/Manifest b/sci-libs/coinor-bcps/Manifest
new file mode 100644
index 000000000000..4879c3278e0d
--- /dev/null
+++ b/sci-libs/coinor-bcps/Manifest
@@ -0,0 +1 @@
+DIST Bcps-0.93.10.tgz 6270009 SHA256 22c6fbd415fc2a4ca1c98a21c0a909e9fb0fbd8ed472e14bf031f474e0a4fa37 SHA512 4e9348dc1bf75fd9afb74078b55ae0f9a84a99236886552256d7548013c8af4695a4fcc2787ffb0228eba2a870b1cb78c068234048c8650f7d504e1e8d17c549 WHIRLPOOL 7dce76e8bde0d4b266ac597563f04a1e2a290e6d0c1ac9a3ff164a559681f72def1c3009f1b8024b97bac365f0c0b4e63deebfdc2d93f60e9c53075387b85283
diff --git a/sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild b/sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild
new file mode 100644
index 000000000000..0c509c19d105
--- /dev/null
+++ b/sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Bcps
+
+DESCRIPTION="COIN-OR BiCEPS data handling library"
+HOMEPAGE="https://projects.coin-or.org/CHiPPS/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="CPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-alps:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-bcps/metadata.xml b/sci-libs/coinor-bcps/metadata.xml
new file mode 100644
index 000000000000..0e526c6a3d39
--- /dev/null
+++ b/sci-libs/coinor-bcps/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ CHiPPS is the COIN-OR High-Performance Parallel Search Framework, a
+ framework for implementing parallel algorithms based on tree
+ search. The current CHiPPS architecture consists of three
+ layers. The Branch, Constrain, and Price Software (BiCePS) is a data
+ management layer built on top of ALPS for implementing
+ relaxation-based branch and bound algorithms.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-blis/Manifest b/sci-libs/coinor-blis/Manifest
new file mode 100644
index 000000000000..28591257d416
--- /dev/null
+++ b/sci-libs/coinor-blis/Manifest
@@ -0,0 +1 @@
+DIST Blis-0.93.10.tgz 10612207 SHA256 77f88471b8d04605a19c6ec2371367b226fa4791289d348abaeba1b50fed0aa2 SHA512 ef4c1b7704353e9d2628401d9a47e72d0b26d485ac3951b03fe84fdc98cfbee8e3b9f3412411eca693c8e00bdf97798e08c4dabcf5b8646bbe3d8481c237820e WHIRLPOOL 2f3d24285b9a9e23b43c9a1ea97355319e84ab43feeba05eff23ffc07f2a5a41e99c219c77520fd18968ebe528e24c5c77a45caa6873df1f3e0e5161f5727868
diff --git a/sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild b/sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild
new file mode 100644
index 000000000000..1f1c956d89f8
--- /dev/null
+++ b/sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Blis
+
+DESCRIPTION="COIN-OR BiCePS Linear Integer Solver"
+HOMEPAGE="https://projects.coin-or.org/CHiPPS/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="CPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-bcps:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-alps:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-blis/metadata.xml b/sci-libs/coinor-blis/metadata.xml
new file mode 100644
index 000000000000..357e4dd7282e
--- /dev/null
+++ b/sci-libs/coinor-blis/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ CHiPPS is the COIN-OR High-Performance Parallel Search Framework, a
+ framework for implementing parallel algorithms based on tree
+ search. The current CHiPPS architecture consists of three
+ layers. The BiCePS Linear Integer Solver (BLIS) is a concretization
+ of the BiCePS layer for solving mixed-integer linear programs.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-bonmin/Manifest b/sci-libs/coinor-bonmin/Manifest
new file mode 100644
index 000000000000..cf42bf2880db
--- /dev/null
+++ b/sci-libs/coinor-bonmin/Manifest
@@ -0,0 +1 @@
+DIST Bonmin-1.7.4.tgz 12320747 SHA256 2087ae609ebd237a8f87fd8bdd3ea1cc4700d3f512ccc9e34ec034d52596f809 SHA512 290b1b49e467ab8ce7fc6908d8aa76a3b1ba61f63f44427d3bdd8ff2bed4aa6ef28396f0be59e108038173ea670405b50d3c32636aacdee2c5787765bce763a4 WHIRLPOOL 6be620b5e59f949044dcd78f85e245d4dbdcc03dd25277f822ad1fb3bca796a7fff99e071cb74d19010be682cc58585ac8180e22ebf3d4cafac2757cb5d49178
diff --git a/sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild b/sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild
new file mode 100644
index 000000000000..fcf87dc36f54
--- /dev/null
+++ b/sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Bonmin
+
+DESCRIPTION="COIN-OR Basic Open-source Nonlinear Mixed INteger programming"
+HOMEPAGE="https://projects.coin-or.org/Bonmin/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="CPL-1.0"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples glpk static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-clp:=
+ sci-libs/ipopt:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(usex doc doc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ autotools-utils_src_install
+ # add missing include files needed from coinor-couenne and others
+ insinto /usr/include/coin
+ doins \
+ src/Interfaces/BonCurvatureEstimator.hpp \
+ src/Interfaces/BonExitCodes.hpp \
+ src/Algorithms/QuadCuts/BonLinearCutsGenerator.hpp
+
+ use doc && dodoc doc/BONMIN_UsersManual.pdf
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/*
+ fi
+}
diff --git a/sci-libs/coinor-bonmin/metadata.xml b/sci-libs/coinor-bonmin/metadata.xml
new file mode 100644
index 000000000000..b43dff4cbb32
--- /dev/null
+++ b/sci-libs/coinor-bonmin/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ BONMIN (Basic Open-source Nonlinear Mixed INteger programming) is an
+ open-source code for solving general MINLP (Mixed Integer NonLinear
+ Programming) problems.
+</longdescription>
+ <use>
+ <flag name="glpk">Undocumented USE</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/coinor-cbc/Manifest b/sci-libs/coinor-cbc/Manifest
new file mode 100644
index 000000000000..481c63bf08fa
--- /dev/null
+++ b/sci-libs/coinor-cbc/Manifest
@@ -0,0 +1 @@
+DIST Cbc-2.8.9.tgz 8231882 SHA256 33b121e43d35fd18b2084cd52a3bfabd5e8e8819bac3c906e33e0b7c017da288 SHA512 ff537a46a8a266767817bc28d61f4541cfda6e8617c857fa0abef4c0b4ef8fbc728dd195645898d94130dfaedb258789bf55e189a0b9665590958355135f020e WHIRLPOOL bb1512065a447f0ec7582076553e06966810d155768cc1277942251c0ad16ba22ad808ed3be7546873ae40ed68f54ae2b342f7906a366991e3ccea56acb45706
diff --git a/sci-libs/coinor-cbc/coinor-cbc-2.8.9.ebuild b/sci-libs/coinor-cbc/coinor-cbc-2.8.9.ebuild
new file mode 100644
index 000000000000..dcb7ee8136b9
--- /dev/null
+++ b/sci-libs/coinor-cbc/coinor-cbc-2.8.9.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib flag-o-matic
+
+MYPN=Cbc
+
+DESCRIPTION="COIN-OR Branch-and-Cut Mixed Integer Programming Solver"
+HOMEPAGE="https://projects.coin-or.org/Cbc/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-dylp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-vol:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ # hack for parallel build, to overcome not patching Makefile.am above
+ autotools-utils_src_compile -C src libCbc.la
+ autotools-utils_src_compile -C src libCbcSolver.la
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+ # hack for parallel install, to overcome not patching Makefile.am above
+ autotools-utils_src_install -C src install-am
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-cbc/metadata.xml b/sci-libs/coinor-cbc/metadata.xml
new file mode 100644
index 000000000000..340871a6b828
--- /dev/null
+++ b/sci-libs/coinor-cbc/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ COIN-OR Branch-and-Cut is a Mixed integer linear programming
+ solver. It uses many of the COIN-OR components and is designed to be
+ used with COIN-OR CLP or COIN-OR Dylp. It is available as a library and as a
+ standalone solver.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-cgl/Manifest b/sci-libs/coinor-cgl/Manifest
new file mode 100644
index 000000000000..3b0f81049c71
--- /dev/null
+++ b/sci-libs/coinor-cgl/Manifest
@@ -0,0 +1 @@
+DIST Cgl-0.58.6.tgz 5331274 SHA256 1a690475f3dcd5830949d67dae3669ade4b1b5f8415b30d0759b161c26b9a476 SHA512 28fe2e570cb2ebfa3109ca53e5ebb7dd3a38e2ddcfda4d7a9a1d78d4784abe1b6ab79734e6cbcee48e21791fe8353658df47d11253b04366ccb66c3e566db585 WHIRLPOOL 60627feebe64cedfe26c56aae7c432d409e2136d5a5090569577914343a1248b1e8b695d99808676931bb5b27e7cd4270de2aef0db198fb03b3494e23ff382f8
diff --git a/sci-libs/coinor-cgl/coinor-cgl-0.58.6.ebuild b/sci-libs/coinor-cgl/coinor-cgl-0.58.6.ebuild
new file mode 100644
index 000000000000..c7a11f057c05
--- /dev/null
+++ b/sci-libs/coinor-cgl/coinor-cgl-0.58.6.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Cgl
+
+DESCRIPTION="COIN-OR cutting-plane generators library"
+HOMEPAGE="https://projects.coin-or.org/Cgl/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-dylp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-vol:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-cgl/metadata.xml b/sci-libs/coinor-cgl/metadata.xml
new file mode 100644
index 000000000000..20a7edd0c5af
--- /dev/null
+++ b/sci-libs/coinor-cgl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The COIN-OR Cut Generation Library (Cgl) is an open collection of
+ cutting plane implementations ("cut generators") for use in teaching,
+ research, and applications. Cgl can be used with other COIN-OR
+ packages that make use of cuts, such as the mixed-integer linear
+ programming.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-clp/Manifest b/sci-libs/coinor-clp/Manifest
new file mode 100644
index 000000000000..841066903d89
--- /dev/null
+++ b/sci-libs/coinor-clp/Manifest
@@ -0,0 +1 @@
+DIST Clp-1.15.6.tgz 5644504 SHA256 4f1ff52f7b471d795d395f561bb10cc2d5a11ecd151bc5329f6f60d448b8385f SHA512 a0da0cc5dcdd409c67cb67dd0f126a3d96bf59851543e7e08adbdbf01012a25905b58ded66aac50b06462ee3a147bed912740c00681417f8c228992a917748db WHIRLPOOL 0712972a59790daac6ddbae1b53458361e4f324f84bb5706b4d59e46eb538a69b22b1e236b550fdaa20201fd5adcc33a8f69f296a9ce022a15ea93b73897833c
diff --git a/sci-libs/coinor-clp/coinor-clp-1.15.6-r1.ebuild b/sci-libs/coinor-clp/coinor-clp-1.15.6-r1.ebuild
new file mode 100644
index 000000000000..80aa38ee32b2
--- /dev/null
+++ b/sci-libs/coinor-clp/coinor-clp-1.15.6-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils eutils multilib toolchain-funcs
+
+MYPN=Clp
+
+DESCRIPTION="COIN-OR Linear Programming solver"
+HOMEPAGE="https://projects.coin-or.org/Clp/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples glpk metis mumps sparse static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ glpk? ( sci-mathematics/glpk:= sci-libs/amd )
+ metis? ( || ( sci-libs/metis sci-libs/parmetis ) )
+ mumps? ( sci-libs/mumps )
+ sparse? ( sci-libs/cholmod )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.15.6-mpi-header.patch
+ "${FILESDIR}"/${PN}-1.15.6-overflow.patch
+)
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ if has_version sci-libs/mumps[-mpi]; then
+ ln -s "${EPREFIX}"/usr/include/mpiseq/mpi.h src/mpi.h
+ elif has_version sci-libs/mumps[mpi]; then
+ export CXX=mpicxx
+ fi
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-aboca
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ if use glpk; then
+ myeconfargs+=(
+ --with-amd-incdir="${EPREFIX}"/usr/include
+ --with-amd-lib=-lamd
+ --with-glpk-incdir="${EPREFIX}"/usr/include
+ --with-glpk-lib=-lglpk )
+ else
+ myeconfargs+=( --without-glpk )
+ fi
+ if use sparse; then
+ myeconfargs+=(
+ --with-amd-incdir="${EPREFIX}"/usr/include
+ --with-amd-lib=-lamd
+ --with-cholmod-incdir="${EPREFIX}"/usr/include
+ --with-cholmod-lib=-lcholmod )
+ else
+ myeconfargs+=( --without-amd --without-cholmod )
+ fi
+ if use metis; then
+ myeconfargs+=(
+ --with-metis-incdir="$($(tc-getPKG_CONFIG) --cflags metis | sed s/-I//)"
+ --with-metis-lib="$($(tc-getPKG_CONFIG) --libs metis)" )
+ else
+ myeconfargs+=( --without-metis )
+ fi
+ if use mumps; then
+ myeconfargs+=(
+ --with-mumps-incdir="${EPREFIX}"/usr/include
+ --with-mumps-lib="-lmumps_common -ldmumps -lzmumps -lsmumps -lcmumps" )
+ else
+ myeconfargs+=( --without-mumps )
+ fi
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ # hack for parallel build, to overcome not patching Makefile.am above
+ #autotools-utils_src_compile -C src libClp.la
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+ # hack for parallel install, to overcome not patching Makefile.am above
+ #autotools-utils_src_install -C src install-am
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-clp/files/coinor-clp-1.15.6-mpi-header.patch b/sci-libs/coinor-clp/files/coinor-clp-1.15.6-mpi-header.patch
new file mode 100644
index 000000000000..7ad03e8c76c4
--- /dev/null
+++ b/sci-libs/coinor-clp/files/coinor-clp-1.15.6-mpi-header.patch
@@ -0,0 +1,12 @@
+--- src/ClpCholeskyMumps.cpp.orig 2013-06-19 09:58:02.834485943 -0700
++++ src/ClpCholeskyMumps.cpp 2013-06-19 09:57:39.013355095 -0700
+@@ -14,8 +14,8 @@
+ #define USE_COMM_WORLD -987654
+ extern "C" {
+ #include "dmumps_c.h"
+-#include "mpi.h"
+ }
++#include "mpi.h"
+
+ #include "ClpCholeskyMumps.hpp"
+ #include "ClpMessage.hpp"
diff --git a/sci-libs/coinor-clp/files/coinor-clp-1.15.6-overflow.patch b/sci-libs/coinor-clp/files/coinor-clp-1.15.6-overflow.patch
new file mode 100644
index 000000000000..cded22bf384c
--- /dev/null
+++ b/sci-libs/coinor-clp/files/coinor-clp-1.15.6-overflow.patch
@@ -0,0 +1,11 @@
+--- src/ClpPdco.cpp.orig 2014-01-14 11:44:22.717643715 -0800
++++ src/ClpPdco.cpp 2014-01-14 11:43:12.543202133 -0800
+@@ -316,7 +316,7 @@
+ //bool useChol = (LSmethod == 1);
+ //bool useQR = (LSmethod == 2);
+ bool direct = (LSmethod <= 2 && ifexplicit);
+- char solver[6];
++ char solver[7];
+ strcpy(solver, " LSQR");
+
+
diff --git a/sci-libs/coinor-clp/metadata.xml b/sci-libs/coinor-clp/metadata.xml
new file mode 100644
index 000000000000..8c7fb9886919
--- /dev/null
+++ b/sci-libs/coinor-clp/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Clp (Coin-or linear programming) is an open-source linear
+ programming solver written in C++. It is primarily meant to be used
+ as a callable library, but a basic, stand-alone executable version
+ is also available. It is designed to find solutions of constrained
+ linear mathematical optimization problems.
+</longdescription>
+<use>
+ <flag name='glpk'>Enable GNU Linear Programming Kit
+ <pkg>sci-mathematics/glpk</pkg> support</flag>
+ <flag name='metis'>Enable partitioning with
+ <pkg>sci-libs/metis</pkg></flag>
+ <flag name='mumps'>Enable <pkg>sci-libs/mumps</pkg> support</flag>
+ <flag name='sparse'>Enable support for sparse matrix with <pkg>sci-libs/cholmod</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/coinor-couenne/Manifest b/sci-libs/coinor-couenne/Manifest
new file mode 100644
index 000000000000..7f33efbb443d
--- /dev/null
+++ b/sci-libs/coinor-couenne/Manifest
@@ -0,0 +1 @@
+DIST Couenne-0.4.7.tgz 12487353 SHA256 23d058aba7564878ec65cdf8aaba6bec83e3809b31520be1ca014444f25badf6 SHA512 ae87ebee778d6782fffe9e6f6c7c8f604140f6134e29824f89e4f87bb86ac00ac1b2d8de274b23de16078a48a1444fbe7960b15ffefdc1798dca8972a8946deb WHIRLPOOL 21d0d1ff4f9d1ea7daf6976546faf6eeaece5205a171763c71813872bd828696bce6b99d7b222e4dd61a637ee053bf5c1271794815eb4e027e5eecac3ace70de
diff --git a/sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild b/sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild
new file mode 100644
index 000000000000..1c15979804a2
--- /dev/null
+++ b/sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Couenne
+
+DESCRIPTION="COIN-OR Convex Over and Under ENvelopes for Nonlinear Estimation"
+HOMEPAGE="https://projects.coin-or.org/Couenne/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs test"
+
+RDEPEND="sci-libs/coinor-bonmin:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ # resolve as-needed
+ # circular dependencies between libCouenne and libBonCouenne :(
+ pushd "${BUILD_DIR}"/src > /dev/null
+ rm libCouenne.la main/libBonCouenne.la || die
+ emake LIBS+=" -Lmain/.libs -lBonCouenne" libCouenne.la
+ emake -C main
+ popd > /dev/null
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dodoc doc/couenne-user-manual.pdf
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+}
diff --git a/sci-libs/coinor-couenne/metadata.xml b/sci-libs/coinor-couenne/metadata.xml
new file mode 100644
index 000000000000..77cb214ea9d7
--- /dev/null
+++ b/sci-libs/coinor-couenne/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Couenne (Convex Over and Under ENvelopes for Nonlinear Estimation)
+ is a spatial branch and bound algorithm that implements linearization, bound
+ reduction, and branching techniques for Mixed-integer, Nonlinear
+ Programming (MINLP) problems. The purpose of Couenne is to find global
+ optima of nonconvex MINLPs.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-cppad/Manifest b/sci-libs/coinor-cppad/Manifest
new file mode 100644
index 000000000000..972f71ada423
--- /dev/null
+++ b/sci-libs/coinor-cppad/Manifest
@@ -0,0 +1,2 @@
+DIST cppad-20140204.gpl.tgz 2189463 SHA256 165b416194a41567ff9fccffbf456784f214cb16bb6f77efc6b082d1f8cbf96a SHA512 0cead73e8d2e2da43ea22c003c0feccadefd2f66efbb58df45b79bff51181ad8646063fd053af8d377ce1732609c55175fd53c00142eb6635018878541f6d2ed WHIRLPOOL 258f8a580d5df0056f895c64e898c4b4fbd112b9159f810f45bb01aa3b5610fb9ceff2d4737e585e3e9b41e2f04accd7d6ca7c4a34191319bdf05bae1c4753c1
+DIST cppad-20140519.gpl.tgz 2208236 SHA256 85e36710c0ede5cba2f8c24b9358ec42e36088a469234df006518e5c856e91f2 SHA512 8f47e545bc76f66edccb9ea083ddebcb5852fa1807d727b6e1f445ca74731e74f7614a1d33b48c6eafbc5129b319e513594b415ee838bdc634f9c00a6d9a22af WHIRLPOOL f2a1d6335971f62f7b37558f4bd873710253a62921c311da1c76d3483df927ddc3a0679d8efcf9b2eb3a83bc70925e0c8cfe00f8770cd88cbb8d99af3db7f0e2
diff --git a/sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild b/sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild
new file mode 100644
index 000000000000..b05d619ea719
--- /dev/null
+++ b/sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYP=cppad-${PV}
+
+DESCRIPTION="COIN-OR C++ Algorithmic Differentiation"
+HOMEPAGE="https://projects.coin-or.org/CppAD/"
+SRC_URI="http://www.coin-or.org/download/source/CppAD/${MYP}.gpl.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ sci-libs/adolc:=
+ sci-libs/ipopt:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )"
+
+S="${WORKDIR}/${MYP}"
+
+src_configure() {
+ local myeconfargs=( $(use doc Documentation) )
+ autotools-utils_src_configure CXX_FLAGS="${CXXFLAGS}"
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ if use doc; then
+ ./build.sh doxygen || die
+ fi
+}
+
+src_test() {
+ autotools-utils_src_test check test
+}
+
+src_install() {
+ use doc && HTML_DOC=( "${BUILD_DIR}"/doxydocs/html/. )
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r example/*
+ fi
+}
diff --git a/sci-libs/coinor-cppad/coinor-cppad-20140519-r1.ebuild b/sci-libs/coinor-cppad/coinor-cppad-20140519-r1.ebuild
new file mode 100644
index 000000000000..4f279123ec1f
--- /dev/null
+++ b/sci-libs/coinor-cppad/coinor-cppad-20140519-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils multilib
+
+MYP=cppad-${PV}
+
+DESCRIPTION="COIN-OR C++ Algorithmic Differentiation"
+HOMEPAGE="https://projects.coin-or.org/CppAD/"
+SRC_URI="http://www.coin-or.org/download/source/CppAD/${MYP}.gpl.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ dev-libs/boost[threads]
+ sci-libs/adolc:0=
+ sci-libs/ipopt:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )"
+
+S="${WORKDIR}/${MYP}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-dash.patch
+ "${FILESDIR}"/${P}-boost.patch
+ )
+
+src_configure() {
+ local myeconfargs=( $(use doc Documentation) )
+ autotools-utils_src_configure CXX_FLAGS="${CXXFLAGS}"
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ if use doc; then
+ ./build.sh doxygen || die
+ fi
+}
+
+src_test() {
+ autotools-utils_src_test check test
+}
+
+src_install() {
+ use doc && HTML_DOC=( "${BUILD_DIR}"/doxydocs/html/. )
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r example/*
+ fi
+}
diff --git a/sci-libs/coinor-cppad/coinor-cppad-20140519.ebuild b/sci-libs/coinor-cppad/coinor-cppad-20140519.ebuild
new file mode 100644
index 000000000000..7c2efcfc50ea
--- /dev/null
+++ b/sci-libs/coinor-cppad/coinor-cppad-20140519.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYP=cppad-${PV}
+
+DESCRIPTION="COIN-OR C++ Algorithmic Differentiation"
+HOMEPAGE="https://projects.coin-or.org/CppAD/"
+SRC_URI="http://www.coin-or.org/download/source/CppAD/${MYP}.gpl.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ sci-libs/adolc:0=
+ sci-libs/ipopt:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )"
+
+S="${WORKDIR}/${MYP}"
+
+src_configure() {
+ local myeconfargs=( $(use doc Documentation) )
+ autotools-utils_src_configure CXX_FLAGS="${CXXFLAGS}"
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ if use doc; then
+ ./build.sh doxygen || die
+ fi
+}
+
+src_test() {
+ autotools-utils_src_test check test
+}
+
+src_install() {
+ use doc && HTML_DOC=( "${BUILD_DIR}"/doxydocs/html/. )
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r example/*
+ fi
+}
diff --git a/sci-libs/coinor-cppad/files/coinor-cppad-20140519-boost.patch b/sci-libs/coinor-cppad/files/coinor-cppad-20140519-boost.patch
new file mode 100644
index 000000000000..7a4d3ae83aca
--- /dev/null
+++ b/sci-libs/coinor-cppad/files/coinor-cppad-20140519-boost.patch
@@ -0,0 +1,79 @@
+ configure.ac | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 033621f..87e129a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -550,13 +550,14 @@ dnl check for boost thread library
+ AC_LANG_PUSH([C++])
+ LDFLAGS_save=$LDFLAGS
+ CXXFLAGS_save=$CXXFLAGS
++LIBS_save=$LIBS
+ boost_thread_found='no'
+ if test "$BOOST_DIR" != '' ; then
+ CXXFLAGS="-I$BOOST_DIR/include $CXXFLAGS"
+ fi
+ if test "$BOOST_DIR" = '' && test "$boost_thread_found" = 'no' ; then
+- bthread_lib='-lboost_thread-mt'
+- LDFLAGS="$LDFLAGS_save $bthread_lib"
++ bthread_lib='-lboost_thread-mt -lboost_system'
++ LIBS="$LIBS_save $bthread_lib"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [# include <boost/thread.hpp>],
+@@ -568,7 +569,7 @@ if test "$BOOST_DIR" = '' && test "$boost_thread_found" = 'no' ; then
+ fi
+ if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread-mt.so"
+- LDFLAGS="$LDFLAGS_save $bthread_lib"
++ LIBS="$LIBS_save $bthread_lib"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [# include <boost/thread.hpp>],
+@@ -580,7 +581,7 @@ if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ fi
+ if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread-mt.a"
+- LDFLAGS="$LDFLAGS_save $bthread_lib"
++ LIBS="$LIBS_save $bthread_lib"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [# include <boost/thread.hpp>],
+@@ -591,8 +592,8 @@ if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ )
+ fi
+ if test "$BOOST_DIR" = '' && test "$boost_thread_found" = 'no' ; then
+- bthread_lib='-lboost_thread'
+- LDFLAGS="$LDFLAGS_save $bthread_lib"
++ bthread_lib='-lboost_thread -lboost_system'
++ LIBS="$LIBS_save $bthread_lib"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [# include <boost/thread.hpp>],
+@@ -604,7 +605,7 @@ if test "$BOOST_DIR" = '' && test "$boost_thread_found" = 'no' ; then
+ fi
+ if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread.so"
+- LDFLAGS="$LDFLAGS_save $bthread_lib"
++ LIBS="$LIBS_save $bthread_lib"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [# include <boost/thread.hpp>],
+@@ -616,7 +617,7 @@ if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ fi
+ if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread.a"
+- LDFLAGS="$LDFLAGS_save $bthread_lib"
++ LIBS="$LIBS_save $bthread_lib"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [# include <boost/thread.hpp>],
+@@ -636,6 +637,7 @@ else
+ fi
+ LDFLAGS=$LDFLAGS_save
+ CXXFLAGS=$CXXFLAGS_save
++LIBS=$LIBS_save
+ AC_LANG_POP([C++])
+ #
+ dnl --------------------------------------------------------------------------
diff --git a/sci-libs/coinor-cppad/files/coinor-cppad-20140519-dash.patch b/sci-libs/coinor-cppad/files/coinor-cppad-20140519-dash.patch
new file mode 100644
index 000000000000..fe0b210f1075
--- /dev/null
+++ b/sci-libs/coinor-cppad/files/coinor-cppad-20140519-dash.patch
@@ -0,0 +1,215 @@
+ configure.ac | 56 ++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 28 insertions(+), 28 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9e917dd..033621f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -194,7 +194,7 @@ AC_ARG_WITH(sparse_list,
+ )
+ AC_MSG_RESULT([$sparse_list])
+ if test "$sparse_set" = "yes" ; then
+- if test "$sparse_list" == "yes" ; then
++ if test "$sparse_list" = "yes" ; then
+ AC_MSG_ERROR([cannot --with both sparse_set and sparse_list])
+ fi
+ AC_SUBST(cppad_internal_sparse_set, sparse_set)
+@@ -374,7 +374,7 @@ AC_SUBST(cppad_max_num_threads, [$max_num_threads])
+ dnl type used for addresses in AD tapes [ default = unsigned int ] -----------
+ AC_MSG_CHECKING([TAPE_ADDR_TYPE])
+ AC_ARG_VAR(TAPE_ADDR_TYPE, [type used for addresses in AD tapes])
+-if test "$TAPE_ADDR_TYPE" == "" ; then
++if test "$TAPE_ADDR_TYPE" = "" ; then
+ addr_t="unsigned int"
+ else
+ addr_t="$TAPE_ADDR_TYPE"
+@@ -382,22 +382,22 @@ fi
+ AC_SUBST(cppad_tape_addr_type, [$addr_t])
+ AC_MSG_RESULT([$addr_t])
+ ok="no"
+-if test "$addr_t" == "size_t" ; then
++if test "$addr_t" = "size_t" ; then
+ ok="yes"
+ fi
+-if test "$addr_t" == "int" ; then
++if test "$addr_t" = "int" ; then
+ AC_MSG_WARN(
+ [TAPE_ADDR_TYPE=int is for CppAD developers (not users)]
+ )
+ ok="yes"
+ fi
+-if test "$addr_t" == "unsigned int" ; then
++if test "$addr_t" = "unsigned int" ; then
+ ok="yes"
+ fi
+-if test "$addr_t" == "unsigned short int" ; then
++if test "$addr_t" = "unsigned short int" ; then
+ ok="yes"
+ fi
+-if test "$ok" == "no" ; then
++if test "$ok" = "no" ; then
+ AC_MSG_ERROR(
+ [$addr_t is not a valid choice for TAPE_ADDR_TYPE]
+ )
+@@ -406,7 +406,7 @@ fi
+ dnl type used for tape identifier [ default = unsigned int ] -----------
+ AC_MSG_CHECKING([TAPE_ID_TYPE])
+ AC_ARG_VAR(TAPE_ID_TYPE, [type used for addresses in AD tapes])
+-if test "$TAPE_ID_TYPE" == "" ; then
++if test "$TAPE_ID_TYPE" = "" ; then
+ tape_id_t="unsigned int"
+ else
+ tape_id_t="$TAPE_ID_TYPE"
+@@ -414,22 +414,22 @@ fi
+ AC_SUBST(cppad_tape_id_type, [$tape_id_t])
+ AC_MSG_RESULT([$tape_id_t])
+ ok="no"
+-if test "$tape_id_t" == "size_t" ; then
++if test "$tape_id_t" = "size_t" ; then
+ ok="yes"
+ fi
+-if test "$tape_id_t" == "int" ; then
++if test "$tape_id_t" = "int" ; then
+ AC_MSG_WARN(
+ [TAPE_ID_TYPE=int is for CppAD developers (not users)]
+ )
+ ok="yes"
+ fi
+-if test "$tape_id_t" == "unsigned int" ; then
++if test "$tape_id_t" = "unsigned int" ; then
+ ok="yes"
+ fi
+-if test "$tape_id_t" == "unsigned short int" ; then
++if test "$tape_id_t" = "unsigned short int" ; then
+ ok="yes"
+ fi
+-if test "$ok" == "no" ; then
++if test "$ok" = "no" ; then
+ AC_MSG_ERROR(
+ [$tape_id_t is not a valid choice for TAPE_ID_TYPE]
+ )
+@@ -447,7 +447,7 @@ AC_SUBST(cppad_has_rvalue, 0)
+ dnl Determine if size_t has same size as unsigned int
+ AC_CHECK_SIZEOF([size_t])
+ AC_CHECK_SIZEOF([unsigned int])
+-if test "$ac_cv_size_t" == "$ac_cv_unsigned_int" ; then
++if test "$ac_cv_size_t" = "$ac_cv_unsigned_int" ; then
+ AC_SUBST(cppad_size_t_same_unsigned_int, 1)
+ else
+ AC_SUBST(cppad_size_t_same_unsigned_int, 0)
+@@ -485,8 +485,8 @@ AC_PROG_RANLIB
+ dnl AC_PROG_CXX([compiler-search-list]) outputs CXX as C++ compiler to use
+ AC_PROG_CXX
+ AC_MSG_CHECKING([whether using Microsoft C++ compiler])
+-AM_CONDITIONAL(CppAD_MS_COMPILER, test "$CXX" == "cl" || test "$CXX" == "icl")
+-if test "$CXX" == "cl" || test "$CXX" == "icl"; then
++AM_CONDITIONAL(CppAD_MS_COMPILER, test "$CXX" = "cl" || test "$CXX" = "icl")
++if test "$CXX" = "cl" || test "$CXX" = "icl"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+@@ -531,7 +531,7 @@ AC_CHECK_LIB(
+ [pthread="no"]
+ )
+ AM_CONDITIONAL(CppAD_PTHREAD, test "$pthread" = "yes")
+-if test "$pthread" == "yes" ; then
++if test "$pthread" = "yes" ; then
+ AC_SUBST(PTHREAD_LIB,"-lpthread")
+ else
+ AC_SUBST(PTHREAD_LIB,"")
+@@ -554,7 +554,7 @@ boost_thread_found='no'
+ if test "$BOOST_DIR" != '' ; then
+ CXXFLAGS="-I$BOOST_DIR/include $CXXFLAGS"
+ fi
+-if test "$BOOST_DIR" == '' && test "$boost_thread_found" == 'no' ; then
++if test "$BOOST_DIR" = '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib='-lboost_thread-mt'
+ LDFLAGS="$LDFLAGS_save $bthread_lib"
+ AC_LINK_IFELSE(
+@@ -566,7 +566,7 @@ if test "$BOOST_DIR" == '' && test "$boost_thread_found" == 'no' ; then
+ [boost_thread_found='no']
+ )
+ fi
+-if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
++if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread-mt.so"
+ LDFLAGS="$LDFLAGS_save $bthread_lib"
+ AC_LINK_IFELSE(
+@@ -578,7 +578,7 @@ if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
+ [boost_thread_found='no']
+ )
+ fi
+-if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
++if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread-mt.a"
+ LDFLAGS="$LDFLAGS_save $bthread_lib"
+ AC_LINK_IFELSE(
+@@ -590,7 +590,7 @@ if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
+ [boost_thread_found='no']
+ )
+ fi
+-if test "$BOOST_DIR" == '' && test "$boost_thread_found" == 'no' ; then
++if test "$BOOST_DIR" = '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib='-lboost_thread'
+ LDFLAGS="$LDFLAGS_save $bthread_lib"
+ AC_LINK_IFELSE(
+@@ -602,7 +602,7 @@ if test "$BOOST_DIR" == '' && test "$boost_thread_found" == 'no' ; then
+ [boost_thread_found='no']
+ )
+ fi
+-if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
++if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread.so"
+ LDFLAGS="$LDFLAGS_save $bthread_lib"
+ AC_LINK_IFELSE(
+@@ -614,7 +614,7 @@ if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
+ [boost_thread_found='no']
+ )
+ fi
+-if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
++if test "$BOOST_DIR" != '' && test "$boost_thread_found" = 'no' ; then
+ bthread_lib="$BOOST_DIR/lib/libboost_thread.a"
+ LDFLAGS="$LDFLAGS_save $bthread_lib"
+ AC_LINK_IFELSE(
+@@ -627,7 +627,7 @@ if test "$BOOST_DIR" != '' && test "$boost_thread_found" == 'no' ; then
+ )
+ fi
+ AM_CONDITIONAL(CppAD_BTHREAD, test "$boost_thread_found" = 'yes')
+-if test "$boost_thread_found" == 'yes' ; then
++if test "$boost_thread_found" = 'yes' ; then
+ AC_SUBST(BTHREAD_LIB,"$bthread_lib")
+ AC_MSG_RESULT([boost::thread library... yes])
+ else
+@@ -650,12 +650,12 @@ fi
+ AC_SUBST(CPPAD_IPOPT_LD_PATH, "$IPOPT_LD_PATH")
+ #
+ AC_SUBST(CPPAD_IPOPT_LIBS, "$IPOPT_LIBS -lipopt")
+-if test "$have_pkg_config" == "yes"; then
++if test "$have_pkg_config" = "yes"; then
+ dnl set CPPAD_IPOPT_LIBS
+ PKG_CONFIG_PATH="$IPOPT_DIR/lib/pkgconfig:$IPOPT_DIR/share/pkgconfig"
+ PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$IPOPT_DIR/lib64/pkgconfig"
+ export PKG_CONFIG_PATH
+- if pkg-config --libs ipopt >& /dev/null ; then
++ if pkg-config --libs ipopt > /dev/null 2>&1 ; then
+ CPPAD_IPOPT_LIBS=`pkg-config --libs ipopt`
+ else
+ dnl check for blas library
+@@ -696,7 +696,7 @@ dnl
+ AC_SUBST(cppad_description, "Differentiation of C++ Algorithms")
+ AC_SUBST(cppad_version, ${PACKAGE_VERSION} )
+ AC_SUBST(cppad_url, "http://www.coin-or.org/CppAD")
+-if test "$prefix" == "NONE" ; then
++if test "$prefix" = "NONE" ; then
+ cppad_cflags_value="-I$HOME/include"
+ cppad_libs_value="-L$HOME/lib"
+ else
+@@ -707,7 +707,7 @@ if test "$POSTFIX_DIR" != "" ; then
+ cppad_cflags_value="$cppad_cflags_value/$POSTFIX_DIR"
+ cppad_libs_value="$cppad_libs_value/$POSTFIX_DIR"
+ fi
+-if test "$IPOPT_DIR" == "" ; then
++if test "$IPOPT_DIR" = "" ; then
+ cppad_libs_value=""
+ cppad_requires_value=""
+ else
diff --git a/sci-libs/coinor-cppad/metadata.xml b/sci-libs/coinor-cppad/metadata.xml
new file mode 100644
index 000000000000..d31eb17d7b5f
--- /dev/null
+++ b/sci-libs/coinor-cppad/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ We refer to the step by step conversion from an algorithm that
+ computes function values to an algorithm that computes derivative
+ values as Algorithmic Differentiation (AD); often referred to as
+ automatic differentiation. Given a C++ algorithm that computes
+ function values, CppAD generates an algorithm that computes
+ corresponding derivative values (of arbitrary order using either
+ forward or reverse mode).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-csdp/Manifest b/sci-libs/coinor-csdp/Manifest
new file mode 100644
index 000000000000..697e233aed0b
--- /dev/null
+++ b/sci-libs/coinor-csdp/Manifest
@@ -0,0 +1 @@
+DIST Csdp-6.1.1.tgz 441574 SHA256 0558a46ac534e846bf866b76a9a44e8a854d84558efa50988ffc092f99a138b9 SHA512 ba5dc0faea223bad6293f131ee63daee0a395a6e84c76fe108dbbefb3ab0696b2a59f435766c78a2d22244801a9abda2719798cbfe30dd9e1c32317e0283fd2e WHIRLPOOL 51f4fa92a07e49071581695d31b504b7fa734659ee61387d3f55e7692866dbe68552466b4004104eadde39485c0201455ff18fc5836e50b3ab5cd7b6ae9a52a8
diff --git a/sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild b/sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild
new file mode 100644
index 000000000000..6028c06ccbde
--- /dev/null
+++ b/sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator toolchain-funcs flag-o-matic multilib
+
+MYPN=Csdp
+
+DESCRIPTION="COIN-OR C Library for Semi-Definite Programming"
+HOMEPAGE="https://projects.coin-or.org/Csdp/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="CPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples openmp static-libs"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+static_to_shared() {
+ local libstatic=${1}; shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname $(get_version_component_range 1-2))
+ local libdir=$(dirname ${libstatic})
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ [[ $(get_version_component_count) -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+pkg_setup() {
+ if use openmp && [[ $(tc-getCC) == *gcc* ]] && ! tc-has-openmp; then
+ eerror "Your selected gcc compiler does not support OpenMP"
+ die "OpenMP non capable gcc"
+ fi
+}
+
+src_prepare() {
+ find . -name Makefile -exec sed -i -e 's:make:$(MAKE):g' '{}' + || die
+ append-cflags -DNOSHORTS -DUSEGETTIME -I../include
+ if use openmp; then
+ [[ $(tc-getCC) == *gcc* ]] && append-cflags -fopenmp \
+ && append-ldflags -fopenmp
+ [[ $(tc-getCC) == *icc* ]] && append-cflags -openmp
+ append-cflags -DUSEOPENMP
+ fi
+ use amd64 && append-cflags -DBIT64
+ [[ $($(tc-getPKG_CONFIG) --libs blas) =~ atlas ]] && append-cflags -DUSEATLAS
+ sed -i \
+ -e "s:-O3:${CFLAGS} ${LDFLAGS}:" \
+ -e "s:ar :$(tc-getAR) :" \
+ */Makefile || die
+
+ tc-export CC
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS} -fPIC" -C lib
+ local libs="$($(tc-getPKG_CONFIG) --libs blas lapack)"
+ static_to_shared lib/libsdp.a ${libs}
+ use static-libs && emake -C lib clean && emake -C lib
+ emake -C solver LIBS="${libs} -L../lib -lsdp -lm"
+ emake -C theta LIBS="${libs} -L../lib -lsdp -lm"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/lib" emake -C test
+}
+
+src_install() {
+ dobin solver/csdp theta/{theta,graphtoprob,complement,rand_graph}
+ dolib.so lib/libsdp$(get_libname)*
+ use static-libs && dolib.a lib/libsdp.a
+ insinto /usr/include/${PN}
+ doins include/*
+ dodoc AUTHORS README
+ use doc && dodoc doc/csdpuser.pdf
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins example/*
+ fi
+}
diff --git a/sci-libs/coinor-csdp/metadata.xml b/sci-libs/coinor-csdp/metadata.xml
new file mode 100644
index 000000000000..cfceba8a14b8
--- /dev/null
+++ b/sci-libs/coinor-csdp/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ CSDP is a library of routines that implements a predictor corrector
+ variant of the semidefinite programming algorithm of Helmberg,
+ Rendl, Vanderbei, and Wolkowicz. The main advantages of this code
+ are that it is written to be used as a callable subroutine, it is
+ written in C for efficiency, the code runs in parallel on shared
+ memory multi-processor systems, and it makes effective use of
+ sparsity in the constraint matrices. CSDP has been compiled on many
+ different systems. The code should work on any system with an ANSI
+ C Compiler and BLAS/LAPACK libraries.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-dip/Manifest b/sci-libs/coinor-dip/Manifest
new file mode 100644
index 000000000000..762b4ea02450
--- /dev/null
+++ b/sci-libs/coinor-dip/Manifest
@@ -0,0 +1 @@
+DIST Dip-0.9.8.tgz 10557241 SHA256 d85b5678acf7b9440ef46b04bb602485b6bebe91525d6cf8defe61ea67bb48f6 SHA512 7dfb51f63aab36fe7e894be5f17f8b614bfdf9be1a14b8f8b2ee555dcb8392f82b13d20481d60423d3d375a2e52eebe0439e696e3b3a7dfdd18223829835d361 WHIRLPOOL 324d69725ac94a81b813b9fe2a9437091ba626f5f343f63cf5fb994d9b2ed9ffbe6643fe7b83521a3bd82699bf11a7c9ae3023a3b88b273bce1fc0e61ed9e8c0
diff --git a/sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild b/sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild
new file mode 100644
index 000000000000..cdd9a2aceea7
--- /dev/null
+++ b/sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Dip
+
+DESCRIPTION="COIN-OR Decomposition in Integer Programming library"
+HOMEPAGE="https://projects.coin-or.org/Dip/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-alps:=
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-dip/metadata.xml b/sci-libs/coinor-dip/metadata.xml
new file mode 100644
index 000000000000..bc503d8abeea
--- /dev/null
+++ b/sci-libs/coinor-dip/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ DIP (Decomposition for Integer Programming) is an open-source
+ extensible software framework for implementing decomposition-based
+ bounding algorithms for use in solving large-scale discrete
+ optimization problems. The framework provides a simple API for
+ experimenting with various decomposition-based algorithms, such as
+ Dantzig-Wolfe decomposition, Lagrangian relaxation, and various
+ cutting plane methods.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-dylp/Manifest b/sci-libs/coinor-dylp/Manifest
new file mode 100644
index 000000000000..e7de65ee5287
--- /dev/null
+++ b/sci-libs/coinor-dylp/Manifest
@@ -0,0 +1 @@
+DIST DyLP-1.9.4.tgz 5049865 SHA256 b2e7a795927853e3d38f6afa1b787d22f39b630420f54516516e766d3c2b6b35 SHA512 1dcad555f40b88aafaef0ca712731f3d4787900cefd2125eea9171d5dfdbea1888fd08b6767f50dcb915a0e2ad4e3430ed67d68026015b15af9032ed9231a069 WHIRLPOOL f38440bf602e00adc49f4662d7c793e9dd601459d8eb3700326026d6de1ed38c95bda6f9bfaeeb65be1468caad9bc06a6f14128583476b47b551347cac1477cd
diff --git a/sci-libs/coinor-dylp/coinor-dylp-1.9.4.ebuild b/sci-libs/coinor-dylp/coinor-dylp-1.9.4.ebuild
new file mode 100644
index 000000000000..6873c007f439
--- /dev/null
+++ b/sci-libs/coinor-dylp/coinor-dylp-1.9.4.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=DyLP
+
+DESCRIPTION="COIN-OR using the dynamic simplex linear programming solver"
+HOMEPAGE="https://projects.coin-or.org/DyLP/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="sci-libs/coinor-osi:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-dylp/metadata.xml b/sci-libs/coinor-dylp/metadata.xml
new file mode 100644
index 000000000000..148a97c63e2c
--- /dev/null
+++ b/sci-libs/coinor-dylp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ DyLp is designed to find solutions of constrained linear mathematical
+ optimization problems. To this end, it is using a full implementation
+ of the so called dynamic simplex algorithm for linear programming.
+ DyLP is part of the larger COIN-OR initiative (Computational
+ Infrastructure for Operations Research).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-flopcpp/Manifest b/sci-libs/coinor-flopcpp/Manifest
new file mode 100644
index 000000000000..098180b5afc9
--- /dev/null
+++ b/sci-libs/coinor-flopcpp/Manifest
@@ -0,0 +1 @@
+DIST FlopC++-1.1.7.tgz 6631744 SHA256 c5bf2957f48d80638933a95dd1b2575b3b52a211313f664f9896b4c5050ff925 SHA512 40f59cb34f61f6ff1759a90909a81d724a562ee9dbfe91628ad8df1b8049afff254ceeb56f1e68a48d035e6d3a140744b8ebd8815ee39c9f01e17860c904942d WHIRLPOOL 4f2a5104e896980709f8b078c58771331516ed3753005768ec2faee6d6c6b9cedb2fc95cefd9e93c35dda7407094583543e032d0f0a0ca669062211b17ce9ef7
diff --git a/sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild b/sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild
new file mode 100644
index 000000000000..b80c6fefaadf
--- /dev/null
+++ b/sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=FlopC++
+
+DESCRIPTION="COIN-OR algebraic modeling language for linear optimization"
+HOMEPAGE="https://projects.coin-or.org/FlopC++/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+RDEPEND="
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-osi:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )"
+
+S="${WORKDIR}/${MYPN}-${PV}/FlopCpp"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ if use doc; then
+ cd "${WORKDIR}/${MYPN}-${PV}/doxydoc" || die
+ doxygen doxygen.conf || die
+ fi
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${WORKDIR}/${MYPN}-${PV}/doxydoc/html/")
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-flopcpp/metadata.xml b/sci-libs/coinor-flopcpp/metadata.xml
new file mode 100644
index 000000000000..fd88f4003de5
--- /dev/null
+++ b/sci-libs/coinor-flopcpp/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The COIN-OR Formulation of Linear Optimization Problems in C++
+ (FLOPC++) is a linear optimization modelling language that can be
+ specified in a declarative style, similar to algebraic modelling
+ languages such as GAMS and AMPL, within a C++ program. As a result
+ the traditional strengths of algebraic modelling languages are
+ preserved, while embedding linear optimization models in software
+ applications is facilitated.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-mp/Manifest b/sci-libs/coinor-mp/Manifest
new file mode 100644
index 000000000000..e09275b2c1e2
--- /dev/null
+++ b/sci-libs/coinor-mp/Manifest
@@ -0,0 +1 @@
+DIST CoinMP-1.7.6.tgz 10343849 SHA256 86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f SHA512 1612d43d52d0ee29b4e6ca328e1535c59722dfd5c7a7e0811a4180ad6033ef27111ced6497f9d5cea816c047a4e11c2aed6d1936feac8ded797eeec55d9539ce WHIRLPOOL 32f392e7bc2a0ca1e4a3a7f4ae30d1302cac3e65630cfb8d1483dc5cdf26fb46ba758049f7bd590bb93e7b73018affe05118ebb15fe1e41ffaade8f5a938ea5a
diff --git a/sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild b/sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild
new file mode 100644
index 000000000000..8b7e475624ab
--- /dev/null
+++ b/sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=CoinMP
+
+DESCRIPTION="COIN-OR lightweight API for COIN-OR libraries CLP, CBC, and CGL"
+HOMEPAGE="https://projects.coin-or.org/CoinMP/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs"
+
+RDEPEND="sci-libs/coinor-cbc:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ sed -i \
+ -e '/^addlibsdir/s/$(DESTDIR)//' \
+ -e 's/$(addlibsdir)/$(DESTDIR)\/$(addlibsdir)/g' \
+ -e 's/$(DESTDIR)$(DESTDIR)/$(DESTDIR)/g' \
+ Makefile.in || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ --datadir=/usr/share
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-mp/metadata.xml b/sci-libs/coinor-mp/metadata.xml
new file mode 100644
index 000000000000..d740b64ecba3
--- /dev/null
+++ b/sci-libs/coinor-mp/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The COmputational INfrastructure for Operations Research (COIN-OR)
+ MP is a C-API interface library that supports most of the
+ functionality of the CLP (Coin LP), CBC (Coin Branch-and-Cut), and
+ CGL (Cut Generation Library) projects.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-netlib/Manifest b/sci-libs/coinor-netlib/Manifest
new file mode 100644
index 000000000000..0c0e1a7cccf0
--- /dev/null
+++ b/sci-libs/coinor-netlib/Manifest
@@ -0,0 +1 @@
+DIST Netlib-1.2.6.tgz 3960587 SHA256 02b3ef5cc7cce6ecf3778181f34faf8c1733af0e73cba09367d7fbd905b462b7 SHA512 545de8928377fedec44844e0eca02f8aaa0701bcae99ecb0494a01c7f838c6561d66497dde8302a908252198fe2a0b7656241ef26e75d9682f3f4ad1f706b23a WHIRLPOOL 183ee1f325302a38b485a701e9ef2b478c566b05c6eaf97e27e82e6bf030b091dd26b6f26f44382821ca81e919f54a0e22c40b02deb20f7a76cced9fc587d4ea
diff --git a/sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild b/sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild
new file mode 100644
index 000000000000..1898c2ba4b7f
--- /dev/null
+++ b/sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+MYPN=Netlib
+
+DESCRIPTION="COIN-OR netlib models"
+HOMEPAGE="https://projects.coin-or.org/svn/Data/Netlib"
+SRC_URI="http://www.coin-or.org/download/source/Data/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}/${MYPN}-${PV}"
diff --git a/sci-libs/coinor-netlib/metadata.xml b/sci-libs/coinor-netlib/metadata.xml
new file mode 100644
index 000000000000..19f3fd4936b3
--- /dev/null
+++ b/sci-libs/coinor-netlib/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The COmputational INfrastructure for Operations Research (COIN-OR)
+ models from netlib for testing.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-os/Manifest b/sci-libs/coinor-os/Manifest
new file mode 100644
index 000000000000..d5a01cd3bc78
--- /dev/null
+++ b/sci-libs/coinor-os/Manifest
@@ -0,0 +1 @@
+DIST OS-2.8.3.tgz 36046350 SHA256 45dbedbaf0db850a62d50351e1b855c529edcb627ed4ddea0011afbfc72e4da3 SHA512 33812e4ae12862bb44d0cb7e2210d418ce8fe705988364ee0622fc5aef04491e6675447bcac379a16add15ec4d123d853a5940ce1244a5767f1587c09b435078 WHIRLPOOL 8e802db5d0faf17e11cc11e5768c581b5b686fdea0db9668c6631a3a90aa9d71eb9f684bcfbba8dbdcc66d88ebf9367b8ce86e6c139cd640faf6d90673ab8d6e
diff --git a/sci-libs/coinor-os/coinor-os-2.8.3.ebuild b/sci-libs/coinor-os/coinor-os-2.8.3.ebuild
new file mode 100644
index 000000000000..1195488445c6
--- /dev/null
+++ b/sci-libs/coinor-os/coinor-os-2.8.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib flag-o-matic
+
+MYPN=OS
+
+DESCRIPTION="COIN-OR Optimization Services"
+HOMEPAGE="https://projects.coin-or.org/OS/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/6"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-bcp:=
+ sci-libs/coinor-bonmin:=
+ sci-libs/coinor-couenne:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-dylp:=
+ sci-libs/coinor-symphony:=
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-vol:=
+ sci-libs/ipopt:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ append-cppflags -DNDEBUG
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ )
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/coinor-os/metadata.xml b/sci-libs/coinor-os/metadata.xml
new file mode 100644
index 000000000000..fd3616a08225
--- /dev/null
+++ b/sci-libs/coinor-os/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The objective of Optimization Services (OS) is to provide a set of
+ standards for representing optimization instances, results, solver
+ options, and communication between clients and solvers in a
+ distributed environment using Web Services.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-osi/Manifest b/sci-libs/coinor-osi/Manifest
new file mode 100644
index 000000000000..29635e2882a9
--- /dev/null
+++ b/sci-libs/coinor-osi/Manifest
@@ -0,0 +1 @@
+DIST Osi-0.106.6.tgz 7490371 SHA256 aefa3cab599048ed32002d4e5d3bf1a78fd9a48b36a754ca6896d13a65816ec4 SHA512 25d2dd1791b73329fa9bc32f7b4a4f3d0600ce600868bd14d902dd0ea1c6f5a2eca4bff01ac65ea2843e725fd5c218fca6def9d6974e6af9692c47973b6202ef WHIRLPOOL 3a2aa197f11ef48e347e1d730a02b0d9bfa5dce5f804af531a1c612fd786f9c8d3e7cfec37e1bbb395a30f087fd2eb1128572f2460047666f6fcdd4adcb8bfc2
diff --git a/sci-libs/coinor-osi/coinor-osi-0.106.6.ebuild b/sci-libs/coinor-osi/coinor-osi-0.106.6.ebuild
new file mode 100644
index 000000000000..827fecbd91d3
--- /dev/null
+++ b/sci-libs/coinor-osi/coinor-osi-0.106.6.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Osi
+
+DESCRIPTION="COIN-OR Open Solver Interface"
+HOMEPAGE="https://projects.coin-or.org/Osi/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples glpk static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-utils:=
+ glpk? ( sci-mathematics/glpk:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ if use glpk; then
+ myeconfargs+=(
+ --with-glpk-incdir="${EPREFIX}"/usr/include
+ --with-glpk-lib=-lglpk
+ )
+ else
+ myeconfargs+=( --without-glpk )
+ fi
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-osi/metadata.xml b/sci-libs/coinor-osi/metadata.xml
new file mode 100644
index 000000000000..3bcaa06c35ef
--- /dev/null
+++ b/sci-libs/coinor-osi/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The COIN-OR Open Solver Interface is a uniform API for interacting with
+ callable solver libraries. It supports linear programming solvers as
+ well as the ability to "finish off" a mixed-integer problem calling the
+ solver library's MIP solver.
+</longdescription>
+<use>
+ <flag name='glpk'>Enable GNU Linear Programming Kit
+ <pkg>sci-mathematics/glpk</pkg> support</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/coinor-sample/Manifest b/sci-libs/coinor-sample/Manifest
new file mode 100644
index 000000000000..a72b6f4f72f8
--- /dev/null
+++ b/sci-libs/coinor-sample/Manifest
@@ -0,0 +1 @@
+DIST Sample-1.2.9.tgz 367317 SHA256 939f26a915a8180db9bf040fdb2c558da1eabb6055a23120b7105115660d668c SHA512 92af8ad524b8e7efb07a0064591fc8bfeea4235541d7a5f09f05bc33f759668378a49b459e72424ff33e775ab210c5a1ac139f4ff21bb0c9ec63656f4539d8df WHIRLPOOL 79b66575977a805ee8dfa318a64e86adf89018dfca04435bf90d84e6adb99d951ade1eda94f776319a0a5c82626088314397cd1278a61dccb2db2e9805ceab8c
diff --git a/sci-libs/coinor-sample/coinor-sample-1.2.9.ebuild b/sci-libs/coinor-sample/coinor-sample-1.2.9.ebuild
new file mode 100644
index 000000000000..81f65f1f8711
--- /dev/null
+++ b/sci-libs/coinor-sample/coinor-sample-1.2.9.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+MYPN=Sample
+
+DESCRIPTION="COIN-OR Sample models"
+HOMEPAGE="https://projects.coin-or.org/svn/Data/Sample"
+SRC_URI="http://www.coin-or.org/download/source/Data/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+S="${WORKDIR}/${MYPN}-${PV}"
diff --git a/sci-libs/coinor-sample/metadata.xml b/sci-libs/coinor-sample/metadata.xml
new file mode 100644
index 000000000000..6c1aa99232fe
--- /dev/null
+++ b/sci-libs/coinor-sample/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The COmputational INfrastructure for Operations Research (COIN-OR)
+ sample models for testing.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-smi/Manifest b/sci-libs/coinor-smi/Manifest
new file mode 100644
index 000000000000..16f15da5c957
--- /dev/null
+++ b/sci-libs/coinor-smi/Manifest
@@ -0,0 +1 @@
+DIST Smi-0.93.4.tgz 4907130 SHA256 e63ee0f6f6fd20cd7481d7c88fa60980fc1ce8334032a8f4baaad3a88e63004b SHA512 9439b7421475cf5d0c85f529305657e04d1ebb3eca28399b0df0352b52df315e9dceb3f1410ada0b7a6f9447b0e383116fb208d6447994ce1611f019fcace007 WHIRLPOOL a6f6814420111b2e6cf6ae6251aef44f327372bcbe4dff1f9159f95ec4967a77d7912c10d503f480da91143a94a552993a59b9931e893e6c32c21956f93786e9
diff --git a/sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild b/sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild
new file mode 100644
index 000000000000..c43e25ff950c
--- /dev/null
+++ b/sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=yes
+inherit autotools-utils multilib
+
+MYPN=Smi
+
+DESCRIPTION="COIN-OR Stochastic modelling interface"
+HOMEPAGE="https://projects.coin-or.org/Smi/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="CPL-1.0"
+SLOT="0/2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-flopcpp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ if use doc; then
+ cd "${WORKDIR}/${MYPN}-${PV}/doxydoc" || die
+ doxygen doxygen.conf || die
+ fi
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${WORKDIR}/${MYPN}-${PV}/doxydoc/html/")
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples flopcpp_examples
+ fi
+}
diff --git a/sci-libs/coinor-smi/metadata.xml b/sci-libs/coinor-smi/metadata.xml
new file mode 100644
index 000000000000..551066284b8a
--- /dev/null
+++ b/sci-libs/coinor-smi/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The COIN-OR Stochastic Modeling Interface (SMI) is an interface for
+ problems in which uncertainty and optimization appear
+ together. There are many modeling and algorithmic approaches that
+ could belong here, like: recourse programming, chance constrained
+ programming, stochastic control and dynamic programming, robust
+ optimization, etc, etc. SMI is intended to be like OSI in the sense
+ that an SmiXX object is an implementation derived from a base class
+ that takes care of a number of commonly encountered programming
+ issues, like handling probability distributions, managing problem
+ generation, interacting with solvers to obtain solution information,
+ etc.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coinor-symphony/Manifest b/sci-libs/coinor-symphony/Manifest
new file mode 100644
index 000000000000..be0eecf8fc3f
--- /dev/null
+++ b/sci-libs/coinor-symphony/Manifest
@@ -0,0 +1 @@
+DIST SYMPHONY-5.5.7.tgz 7628863 SHA256 7828620ebe240239f6392a23a54fbacdb39f91c6571f2b98346b5b42436a20f0 SHA512 a3ce66b0b1373c58024ce6840277423a1a3684af8e3179a777fbb33a8d266849ae1cde694a527c3776ff67ce0a5ae3c2bfe0dc29f4e0b3ca51ddc2b299eefb24 WHIRLPOOL aa43df2d558bb328b9d226e7e15f8164cfd18eeac326b6ecd9306887703f2b8619b0343750415b526cfba73eb78319b6509f266ec527fbbb4bb2c84ae134f553
diff --git a/sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild b/sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild
new file mode 100644
index 000000000000..689ecb3680e7
--- /dev/null
+++ b/sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=SYMPHONY
+
+DESCRIPTION="COIN-OR solver for mixed-integer linear programs"
+HOMEPAGE="https://projects.coin-or.org/SYMPHONY/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples glpk static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-dylp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-vol:=
+ glpk? ( sci-mathematics/glpk:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ )
+ if use glpk; then
+ myeconfargs+=(
+ --with-glpk-incdir="${EPREFIX}"/usr/include
+ --with-glpk-lib=-lglpk )
+ else
+ myeconfargs+=( --without-glpk )
+ fi
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ # hack for parallel build, to overcome not patching Makefile.am above
+ autotools-utils_src_compile -C src libSym.la
+ autotools-utils_src_compile
+ if use doc; then
+ pushd Doc /dev/null
+ pdflatex Walkthrough && pdflatex Walkthrough
+ # does not compile and doc is online
+ #pdflatex man && pdflatex man
+ popd > /dev/null
+ fi
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ # hack for parallel install, to overcome not patching Makefile.am above
+ autotools-utils_src_install -C src install-am
+ autotools-utils_src_install
+ use doc && dodoc Doc/Walkthrough.pdf
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r Examples/*
+ fi
+}
diff --git a/sci-libs/coinor-symphony/metadata.xml b/sci-libs/coinor-symphony/metadata.xml
new file mode 100644
index 000000000000..4940c67df094
--- /dev/null
+++ b/sci-libs/coinor-symphony/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ SYMPHONY is a generic mixed-integer linear programs
+ (MILP) solver, callable library, and extensible framework for implementing
+ customized solvers. SYMPHONY has a number of advanced capabilities,
+ including the ability to solve multi-objective MILPs, the ability to
+ warm start its solution procedure.
+ SYMPHONY is part of the larger COIN-OR initiative (Computational
+ Infrastructurefor Operations Research).
+</longdescription>
+<use>
+ <flag name='glpk'>Enable GNU Linear Programming Kit
+ <pkg>sci-mathematics/glpk</pkg> support</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/coinor-utils/Manifest b/sci-libs/coinor-utils/Manifest
new file mode 100644
index 000000000000..53ff75b9c698
--- /dev/null
+++ b/sci-libs/coinor-utils/Manifest
@@ -0,0 +1 @@
+DIST CoinUtils-2.9.11.tgz 1740411 SHA256 9c2d9d8f8cb0e249bf3f050afeb02a1a95ad382f55ae98b59d8f7b9ab75cc80b SHA512 3cbbce47cda4d5f63338644853601bf0a3dd9b9388e71a7aea7fedd51dfc007134359e5f12f24d8f6135d86b77a88a95bcb88249b1ba880eb3cd9cf41d039424 WHIRLPOOL 8a2d2b2eea7c11d38f10449ac13bc9c70e1ac6e01469e2d4014d1206cbe48681d949509ec6cc0074e6e603f45152ead6145b6b19e2d2d6c5bf02b572f2174015
diff --git a/sci-libs/coinor-utils/coinor-utils-2.9.11.ebuild b/sci-libs/coinor-utils/coinor-utils-2.9.11.ebuild
new file mode 100644
index 000000000000..bd65cc4c691e
--- /dev/null
+++ b/sci-libs/coinor-utils/coinor-utils-2.9.11.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib toolchain-funcs
+
+MYPN=CoinUtils
+
+DESCRIPTION="COIN-OR Matrix, Vector and other utility classes"
+HOMEPAGE="https://projects.coin-or.org/CoinUtils/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 doc glpk blas lapack static-libs test zlib"
+
+RDEPEND="
+ sys-libs/readline
+ bzip2? ( app-arch/bzip2 )
+ blas? ( virtual/blas )
+ glpk? ( sci-mathematics/glpk:= )
+ lapack? ( virtual/lapack )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ dodir /usr
+ sed \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ -i configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_enable zlib)
+ $(use_enable bzip2 bzlib)
+ $(use_with doc dot)
+ )
+ if use blas; then
+ myeconfargs+=( --with-blas-lib="$($(tc-getPKG_CONFIG) --libs blas)" )
+ else
+ myeconfargs+=( --without-blas )
+ fi
+ if use glpk; then
+ myeconfargs+=(
+ --with-glpk-incdir="${EPREFIX}"/usr/include
+ --with-glpk-lib=-lglpk
+ )
+ else
+ myeconfargs+=( --without-glpk )
+ fi
+ if use lapack; then
+ myeconfargs+=( --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" )
+ else
+ myeconfargs+=( --without-lapack )
+ fi
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+psrc_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+}
diff --git a/sci-libs/coinor-utils/metadata.xml b/sci-libs/coinor-utils/metadata.xml
new file mode 100644
index 000000000000..652e29c64193
--- /dev/null
+++ b/sci-libs/coinor-utils/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ CoinUtils (Coin-or Utilities) is a collection of classes that are
+ generally useful to COmputational INfrastructure for Operations
+ Research (COIN-OR) projects. These include vector, matrix, mps file
+ reading classes.
+</longdescription>
+ <use>
+ <flag name="glpk">Enable GNU Linear Programming Kit
+ <pkg>sci-mathematics/glpk</pkg> support</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/coinor-vol/Manifest b/sci-libs/coinor-vol/Manifest
new file mode 100644
index 000000000000..4f652ab9b711
--- /dev/null
+++ b/sci-libs/coinor-vol/Manifest
@@ -0,0 +1 @@
+DIST Vol-1.4.4.tgz 3205621 SHA256 060e2cdd20443507b219192b26bcf8d2559cff2f3061225bb1343a9e569493be SHA512 20e04efac09694ddfa035496ec9b2920ef702e5a2ec4515cd88c52129c783efd3c25e044e6c2cec67ad800b297ebd03f3c3c377f58829790109d8d6dcb40cc39 WHIRLPOOL 01d2a07666bb7fc36eb7539e525ba095ae5efbfaee6c927f9d70d476f05815c1f0737acb6d398357ed0105913b4f4649539a3f5413a833b5e06862897ae5db8d
diff --git a/sci-libs/coinor-vol/coinor-vol-1.4.4.ebuild b/sci-libs/coinor-vol/coinor-vol-1.4.4.ebuild
new file mode 100644
index 000000000000..d6165626af28
--- /dev/null
+++ b/sci-libs/coinor-vol/coinor-vol-1.4.4.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+MYPN=Vol
+
+DESCRIPTION="COIN-OR Volume algorithm linear programming solver"
+HOMEPAGE="https://projects.coin-or.org/Vol"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYPN}-${PV}.tgz"
+
+LICENSE="EPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ # hack for parallel build, to overcome not patching Makefile.am above
+ autotools-utils_src_compile -C src libVol.la
+ autotools-utils_src_compile all $(usex doc doxydoc "")
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+ autotools-utils_src_install -C src install-am
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/coinor-vol/metadata.xml b/sci-libs/coinor-vol/metadata.xml
new file mode 100644
index 000000000000..a9bae533930c
--- /dev/null
+++ b/sci-libs/coinor-vol/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Volume Algorithm is part of COIN-OR (COmputational INfrastructure
+ for Operations Research) project. Vol is an implementation of a
+ subgradient method that produces primal as well as dual solutions.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/colamd/Manifest b/sci-libs/colamd/Manifest
new file mode 100644
index 000000000000..942bd4abe1ec
--- /dev/null
+++ b/sci-libs/colamd/Manifest
@@ -0,0 +1 @@
+DIST colamd-2.8.0.tar.bz2 304819 SHA256 a744cbf0f41c76fa1dceae9072204f1d2529cba11851db123c3496a2780839e1 SHA512 36b2e50e01ad44f04f084ebcdcfb7d9d1d1712c6f53c8bce9f46ce39edc418aa64b8e67489fb06cb95d86658fd9f9bad89217a5f9f4777181f0f0e9b58c04aee WHIRLPOOL 0551f47a1af8f46a12b26403b71e14b4caa5e72f03f6f7df285aaf69976264b94ac06803b2c459007c5574fb44282ccfc370c9c28885c4f7ba39bb21af8c880f
diff --git a/sci-libs/colamd/colamd-2.8.0.ebuild b/sci-libs/colamd/colamd-2.8.0.ebuild
new file mode 100644
index 000000000000..718e8ad8c4cd
--- /dev/null
+++ b/sci-libs/colamd/colamd-2.8.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Column approximate minimum degree ordering algorithm"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/ccolamd/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/sci-libs/colamd/files/colamd-2.7.1-autotools.patch b/sci-libs/colamd/files/colamd-2.7.1-autotools.patch
new file mode 100644
index 000000000000..5778d20e2f05
--- /dev/null
+++ b/sci-libs/colamd/files/colamd-2.7.1-autotools.patch
@@ -0,0 +1,58 @@
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = Source Demo
++include_HEADERS = $(top_srcdir)/Include/colamd.h
++EXTRA_DIST = README.txt
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,12 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(colamd, 2.7.1, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADER( UFconfig.h )
++AC_OUTPUT(
++ Makefile \
++ Demo/Makefile \
++ Source/Makefile)
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,11 @@
++AM_CFLAGS = -I$(top_builddir)/Include
++lib_LTLIBRARIES = libcolamd.la
++noinst_LTLIBRARIES = libcolamdi.la libcolamdl.la
++
++libcolamdl_la_SOURCES = colamd.c
++libcolamdl_la_CPPFLAGS = -DDLONG
++
++libcolamdi_la_SOURCES = colamd.c
++
++libcolamd_la_SOURCES = colamd_global.c
++libcolamd_la_LIBADD = libcolamdi.la libcolamdl.la
+--- Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Demo/Makefile.am 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,20 @@
++LDADD = $(top_builddir)/Source/libcolamd.la
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++check_PROGRAMS = colamd_example colamd_l_example
++colamd_example_SOURCES = colamd_example.c
++colamd_l_example_SOURCES = colamd_l_example.c
++colamd_l_example_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
++
++check-local: $(check_PROGRAMS)
++ @for i in $(check_PROGRAMS); do \
++ echo "Testing $$i"; \
++ ./$$i > my_$$i.out; \
++ if ! diff $(srcdir)/$$i.out my_$$i.out; then \
++ echo "Testing $$i failed"; \
++ exit 1; \
++ fi \
++ done;
++
++clean-local:
++ rm -f my*.out
diff --git a/sci-libs/colamd/files/colamd-2.7.4-autotools.patch b/sci-libs/colamd/files/colamd-2.7.4-autotools.patch
new file mode 100644
index 000000000000..f58464cd987f
--- /dev/null
+++ b/sci-libs/colamd/files/colamd-2.7.4-autotools.patch
@@ -0,0 +1,58 @@
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = Source Demo
++include_HEADERS = $(top_srcdir)/Include/colamd.h
++EXTRA_DIST = README.txt
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,12 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(colamd, 2.7.1, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADER( UFconfig.h )
++AC_OUTPUT(
++ Makefile \
++ Demo/Makefile \
++ Source/Makefile)
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,11 @@
++AM_CFLAGS = -I$(top_srcdir)/Include
++lib_LTLIBRARIES = libcolamd.la
++noinst_LTLIBRARIES = libcolamdi.la libcolamdl.la
++
++libcolamdl_la_SOURCES = colamd.c
++libcolamdl_la_CPPFLAGS = -DDLONG
++
++libcolamdi_la_SOURCES = colamd.c
++
++libcolamd_la_SOURCES = colamd_global.c
++libcolamd_la_LIBADD = libcolamdi.la libcolamdl.la
+--- Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Demo/Makefile.am 2008-01-29 19:06:31.000000000 +0000
+@@ -0,0 +1,20 @@
++LDADD = $(top_builddir)/Source/libcolamd.la
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++check_PROGRAMS = colamd_example colamd_l_example
++colamd_example_SOURCES = colamd_example.c
++colamd_l_example_SOURCES = colamd_l_example.c
++colamd_l_example_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
++
++check-local: $(check_PROGRAMS)
++ @for i in $(check_PROGRAMS); do \
++ echo "Testing $$i"; \
++ ./$$i > my_$$i.out; \
++ if ! diff $(srcdir)/$$i.out my_$$i.out; then \
++ echo "Testing $$i failed"; \
++ exit 1; \
++ fi \
++ done;
++
++clean-local:
++ rm -f my*.out
diff --git a/sci-libs/colamd/metadata.xml b/sci-libs/colamd/metadata.xml
new file mode 100644
index 000000000000..fd01c0c5651a
--- /dev/null
+++ b/sci-libs/colamd/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The COLumn Approximate Minimum Degree ordering algorithm
+ computes a permutation vector P such that the LU factorization of A
+ (:,P) tends to be sparser than that of A. The Cholesky factorization
+ of (A (:,P))\'*(A (:,P)) will also tend to be sparser than that of
+ A\'*A. SYMAMD is a symmetric minimum degree ordering method based on
+ COLAMD, available as a MATLAB-callable function. It constructs a
+ matrix M such that M\'*M has the same pattern as A, and then uses
+ COLAMD to compute a column ordering of M.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/colpack/Manifest b/sci-libs/colpack/Manifest
new file mode 100644
index 000000000000..4319ec3a58ec
--- /dev/null
+++ b/sci-libs/colpack/Manifest
@@ -0,0 +1,3 @@
+DIST ColPack-1.0.6.tar.gz 1027189 SHA256 d03208883aaa48544124c7fa950c2ea1aa88bc38c7997c4a563b176b6bc212ea SHA512 646ffdd459c40906f6c57888c0e38b791f9559a88ce649e9041271655a9d98658db1c6c0f3b09d64b9bd2c7d74c71a6bd8b13972ae7c7bbac42b300b8e3844c9 WHIRLPOOL 80e5c7f368b362bf4dda84661b364fa1f55215446339fec98bce5dfd7a7dcffc97a79c73329d0a721f012c7bc6651626f6ed5b1f5e284c1b540bcf047d0178b7
+DIST ColPack-1.0.8.tar.gz 1213739 SHA256 4668e34318dc63c93dea9bc90938e1bfa738d0e323c909f89df388a4feddc41d SHA512 c059ab353ea229e73c9bc40cc4778db6852929b51d8d90f1e2c95fb66d0264622b3b6a54eecc1c9f4419d9f31578c83b7a62e4844e26ad23621d4e8c332bfff4 WHIRLPOOL dfc481b3fe79bcfbe796e5f40e52795ad1b7d2f15752dcc5972da93c865793ecd89bc87a4108736bf5b6db62d707d740a62b1c1f5f9321d92764616c804d1f9e
+DIST ColPack-1.0.9.tar.gz 1185335 SHA256 06c5d3e61ab873b27d7962a9f09e90cbc52ccd9f480e88f1ecb50e6bced11932 SHA512 762ab506f95788f9134033b60bf582472b80ab14766ad6795a7db1b780de0ae49bb30f1c9bd74b4f62cf46cc6029c37ef90a483e41b62bf4067cd4a71eb3db6c WHIRLPOOL f84e1766350265c3ecfb43d827327a018218be342f22adbd5f95d7172b9b489c12ed3978796b9c9d70b69058d88816ed6cb5979217ccca16c7691ecccedc3a51
diff --git a/sci-libs/colpack/colpack-1.0.6.ebuild b/sci-libs/colpack/colpack-1.0.6.ebuild
new file mode 100644
index 000000000000..7fb54e790d55
--- /dev/null
+++ b/sci-libs/colpack/colpack-1.0.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs autotools
+
+MYPN=ColPack
+
+DESCRIPTION="C++ algorithms for specialized vertex coloring problems"
+LICENSE="GPL-3 LGPL-3"
+HOMEPAGE="http://www.cscapes.org/coloringpage/software.htm"
+SRC_URI="http://www.cscapes.org/download/${MYPN}/${MYPN}-${PV}.tar.gz"
+
+SLOT="0"
+IUSE="openmp static-libs"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+pkg_setup() {
+ if use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
+ ewarn "You are using gcc without OpenMP"
+ die "Need an OpenMP capable compiler"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-flags.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable openmp) \
+ $(use_enable static-libs static)
+}
diff --git a/sci-libs/colpack/colpack-1.0.8.ebuild b/sci-libs/colpack/colpack-1.0.8.ebuild
new file mode 100644
index 000000000000..25467aeafa4e
--- /dev/null
+++ b/sci-libs/colpack/colpack-1.0.8.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils toolchain-funcs autotools-utils
+
+MYPN=ColPack
+
+DESCRIPTION="C++ algorithms for specialized vertex coloring problems"
+LICENSE="GPL-3 LGPL-3"
+HOMEPAGE="http://www.cscapes.org/coloringpage/software.htm"
+SRC_URI="http://www.cscapes.org/download/${MYPN}/${MYPN}-${PV}.tar.gz"
+
+SLOT="0"
+IUSE="openmp static-libs"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.6-flags.patch
+ "${FILESDIR}"/${PN}-1.0.8-no-bin.patch
+)
+
+pkg_setup() {
+ if use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
+ ewarn "You are using gcc without OpenMP"
+ die "Need an OpenMP capable compiler"
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable openmp)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/colpack/colpack-1.0.9.ebuild b/sci-libs/colpack/colpack-1.0.9.ebuild
new file mode 100644
index 000000000000..0b3d2d9ea88b
--- /dev/null
+++ b/sci-libs/colpack/colpack-1.0.9.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+AUTOTOOLS_AUTORECONF=1
+
+inherit eutils toolchain-funcs autotools-utils
+
+MYPN=ColPack
+
+DESCRIPTION="C++ algorithms for specialized vertex coloring problems"
+LICENSE="GPL-3 LGPL-3"
+HOMEPAGE="http://www.cscapes.org/coloringpage/software.htm"
+SRC_URI="http://cscapes.cs.purdue.edu/download/${MYPN}/${MYPN}-${PV}.tar.gz"
+
+SLOT="0"
+IUSE="openmp static-libs"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.6-flags.patch
+ "${FILESDIR}"/${PN}-1.0.8-no-bin.patch
+ "${FILESDIR}"/${P}-fix_gcc49_omp.patch
+)
+
+pkg_setup() {
+ if use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
+ ewarn "You are using gcc without OpenMP"
+ die "Need an OpenMP capable compiler"
+ fi
+}
+
+src_configure() {
+ local myeconfargs=( $(use_enable openmp) )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/colpack/files/colpack-1.0.6-flags.patch b/sci-libs/colpack/files/colpack-1.0.6-flags.patch
new file mode 100644
index 000000000000..6d4bb6a0d612
--- /dev/null
+++ b/sci-libs/colpack/files/colpack-1.0.6-flags.patch
@@ -0,0 +1,10 @@
+diff -Nur ColPack-1.0.6.orig/Makefile.am ColPack-1.0.6/Makefile.am
+--- ColPack-1.0.6.orig/Makefile.am 2012-04-13 03:25:37.000000000 +0100
++++ ColPack-1.0.6/Makefile.am 2012-04-13 03:30:35.000000000 +0100
+@@ -1,5 +1,5 @@
+ ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
+-COLPACK_COMMON_FLAGS = $(EXTRA_FLAGS) -O5
++COLPACK_COMMON_FLAGS = $(EXTRA_FLAGS)
+
+ INCLUDES = $(COLPACK_COMMON_FLAGS) \
+ -I$(top_srcdir)/Main \
diff --git a/sci-libs/colpack/files/colpack-1.0.8-no-bin.patch b/sci-libs/colpack/files/colpack-1.0.8-no-bin.patch
new file mode 100644
index 000000000000..f2400d66dd07
--- /dev/null
+++ b/sci-libs/colpack/files/colpack-1.0.8-no-bin.patch
@@ -0,0 +1,15 @@
+From: Sebastien Fabbro <bicatali@gentoo.org>
+Avoid installing the ColPack binary on an absolute path
+
+--- Makefile.am 2012-03-20 21:37:34.000000000 -0700
++++ Makefile.am 2012-09-17 14:24:02.168309078 -0700
+@@ -17,8 +17,7 @@
+ LDADD = libColPack.la
+ AM_DEFAULT_SOURCE_EXT = .cpp
+
+-noinst_bin_PROGRAMS = ColPack
+-noinst_bindir = $(abs_top_builddir)/progs
++noinst_PROGRAMS = ColPack
+ lib_LTLIBRARIES = libColPack.la
+ pkginclude_HEADERS = \
+ Utilities/CoutLock.h Utilities/command_line_parameter_processor.h \
diff --git a/sci-libs/colpack/files/colpack-1.0.9-fix_gcc49_omp.patch b/sci-libs/colpack/files/colpack-1.0.9-fix_gcc49_omp.patch
new file mode 100644
index 000000000000..0510be9f90ef
--- /dev/null
+++ b/sci-libs/colpack/files/colpack-1.0.9-fix_gcc49_omp.patch
@@ -0,0 +1,26 @@
+Index: ColPack-1.0.9/BipartiteGraphPartialColoring/BipartiteGraphPartialColoring.cpp
+===================================================================
+--- ColPack-1.0.9.orig/BipartiteGraphPartialColoring/BipartiteGraphPartialColoring.cpp
++++ ColPack-1.0.9/BipartiteGraphPartialColoring/BipartiteGraphPartialColoring.cpp
+@@ -388,8 +388,9 @@ namespace ColPack
+ if ( m_vi_LeftVertexColors [m_vi_Edges [x]] == m_vi_LeftVertexColors[v] && f(v) > f(m_vi_Edges [x]) ) {
+ //Algo 4 - Line 18: add [v] to R ; cont <- false; break
+ #pragma omp critical
++ {
+ vi_verticesNeedNewColor.push_back(v);
+-#pragma omp end critical
++ }
+ cont = false;
+ break;
+ }
+@@ -575,8 +576,9 @@ namespace ColPack
+ if ( m_vi_RightVertexColors [m_vi_Edges [x]] == m_vi_RightVertexColors[v] && f(v) > f(m_vi_Edges [x]) ) {
+ //Algo 4 - Line 18: add [v] to R ; cont <- false; break
+ #pragma omp critical
++ {
+ vi_verticesNeedNewColor.push_back(v);
+-#pragma omp end critical
++ }
+ cont = false;
+ break;
+ }
diff --git a/sci-libs/colpack/metadata.xml b/sci-libs/colpack/metadata.xml
new file mode 100644
index 000000000000..97c2ff62782c
--- /dev/null
+++ b/sci-libs/colpack/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ ColPack is a package comprising of implementations of algorithms for
+ the specialized vertex coloring problems as well as algorithms for a
+ variety of related supporting tasks in derivative computation.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/coot-data/Manifest b/sci-libs/coot-data/Manifest
new file mode 100644
index 000000000000..b07cf5e53def
--- /dev/null
+++ b/sci-libs/coot-data/Manifest
@@ -0,0 +1 @@
+DIST reference-structures-2.tar.gz 6728787 SHA256 44db38506f0f90c097d4855ad81a82a36b49cd1e3ffe7d6ee4728b15109e281a SHA512 7ebe28a619a577b18fc66e714f0bc8347121ebb12f372ac29c1d2d96013e608632921ea26caea3b62744252ae356949de8e04a6513f1a1e0ba30865708c26ffe WHIRLPOOL 59a730017e67687c5d6399252af57f2f97f3197f1b4fd371cf2530f417d1dee7cd6e8792e1a6ce65e619e0b5c2d4c0eaee75ebc822e0c0c9a399e1faeff4d630
diff --git a/sci-libs/coot-data/coot-data-2-r1.ebuild b/sci-libs/coot-data/coot-data-2-r1.ebuild
new file mode 100644
index 000000000000..1640d461d019
--- /dev/null
+++ b/sci-libs/coot-data/coot-data-2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Data for the Crystallographic Object-Oriented Toolkit"
+HOMEPAGE="http://www.biop.ox.ac.uk/coot/"
+#SRC_URI="http://lmb.bioch.ox.ac.uk/coot/software/dependencies/reference-structures.tar.gz"
+SRC_URI="mirror://gentoo/reference-structures-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/share/coot
+ doins -r reference-structures
+
+ # Coot looks in the wrong spot for the monomer library
+ # Listens to ccp4's CCP4_LIB rather than CLIBD_MON
+ cat >> "${T}"/coot <<- EOF
+ COOT_REFMAC_LIB_DIR="${EPREFIX}/usr/share/ccp4/"
+ COOT_REF_STRUCTS="${EPREFIX}/usr/share/coot/reference-structures/"
+ EOF
+
+ newenvd "${T}"/coot 20coot
+}
diff --git a/sci-libs/coot-data/coot-data-2.ebuild b/sci-libs/coot-data/coot-data-2.ebuild
new file mode 100644
index 000000000000..2b7d33178adb
--- /dev/null
+++ b/sci-libs/coot-data/coot-data-2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+DESCRIPTION="Data for the Crystallographic Object-Oriented Toolkit"
+HOMEPAGE="http://www.biop.ox.ac.uk/coot/"
+#SRC_URI="http://www.ysbl.york.ac.uk/~emsley/software/extras/reference-structures.tar.gz"
+SRC_URI="mirror://gentoo/reference-structures-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/share/coot
+ doins -r reference-structures || die
+
+ # Coot looks in the wrong spot for the monomer library
+ # Listens to ccp4's CCP4_LIB rather than CLIBD_MON
+ cat >> "${T}"/coot <<- EOF
+ COOT_REFMAC_LIB_DIR="${EPREFIX}/usr/share/ccp4/"
+ COOT_REF_STRUCTS="${EPREFIX}/usr/share/coot/reference-structures/"
+ EOF
+
+ newenvd "${T}"/coot 20coot || die
+}
diff --git a/sci-libs/coot-data/metadata.xml b/sci-libs/coot-data/metadata.xml
new file mode 100644
index 000000000000..51fdedab1b38
--- /dev/null
+++ b/sci-libs/coot-data/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+</pkgmetadata>
diff --git a/sci-libs/cqrlib/Manifest b/sci-libs/cqrlib/Manifest
new file mode 100644
index 000000000000..18afb8a310d0
--- /dev/null
+++ b/sci-libs/cqrlib/Manifest
@@ -0,0 +1 @@
+DIST CQRlib-1.1.2.tar.gz 43082 SHA256 af3cf2402974579f3c6efc6a6174a5da52786db4bfee9d38d504d93bc42410fd SHA512 41510d0a03ef48385896be6695b8ca328d56dc7d0ef82db2e46108913d814d3545febe76114589ee6fa3bfad75a2832d98120ec966e052245a3b4f0e684c2b9f WHIRLPOOL 2c1de60f88b5cfb9c5e406bc2b9f93617c7ef390ae290716bcec891b17ec8388bab37bf9bed4ed87c1796a6af2c6d0a6d95086fb4c971941306810f30849d3f5
diff --git a/sci-libs/cqrlib/cqrlib-1.1.2-r1.ebuild b/sci-libs/cqrlib/cqrlib-1.1.2-r1.ebuild
new file mode 100644
index 000000000000..24356399ef7d
--- /dev/null
+++ b/sci-libs/cqrlib/cqrlib-1.1.2-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils flag-o-matic multilib toolchain-funcs versionator
+
+MY_PN=CQRlib
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="An ANSI C implementation of a utility library for quaternion arithmetic and quaternion rotation math"
+HOMEPAGE="http://cqrlib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-libs/cvector"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/1.0.6-gentoo.patch
+}
+
+src_compile() {
+ sed "s:GENTOOLIBDIR:$(get_libdir):g" -i Makefile || die
+ append-flags -ansi
+ emake \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ CFLAGS="${CFLAGS}" \
+ CPPFLAGS="${CXXFLAGS} -DCQR_NOCCODE=1" \
+ all
+}
+
+src_test() {
+ emake -j1 \
+ CC=$(tc-getCC) \
+ CXX=$(tc-getCXX) \
+ CFLAGS="${CFLAGS}" \
+ tests
+}
+
+src_install() {
+ emake -j1 DESTDIR="${ED}" install
+
+ rm -f "${ED}"/usr/$(get_libdir)/*.la || die
+
+ dodoc README_CQRlib.txt
+ dohtml README_CQRlib.html
+}
diff --git a/sci-libs/cqrlib/files/1.0.3-LDFLAGS.patch b/sci-libs/cqrlib/files/1.0.3-LDFLAGS.patch
new file mode 100644
index 000000000000..491eb9179aec
--- /dev/null
+++ b/sci-libs/cqrlib/files/1.0.3-LDFLAGS.patch
@@ -0,0 +1,17 @@
+--- Makefile 2009-07-08 18:12:50.000000000 +0200
++++ Makefile.new 2009-07-25 13:18:36.000000000 +0200
+@@ -86,10 +86,10 @@
+ endif
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -rpath $(INSTALLDIR)/lib
+-BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+-BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -dynamic -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
+-BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) $(LDFLAGS)
++BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDES)
++BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -dynamic
++BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -static
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
+
diff --git a/sci-libs/cqrlib/files/1.0.3-dynlib.patch b/sci-libs/cqrlib/files/1.0.3-dynlib.patch
new file mode 100644
index 000000000000..cb2a663cea2b
--- /dev/null
+++ b/sci-libs/cqrlib/files/1.0.3-dynlib.patch
@@ -0,0 +1,45 @@
+diff --git a/Makefile b/Makefile
+index e21d52e..4a22862 100644
+--- a/Makefile
++++ b/Makefile
+@@ -85,7 +85,7 @@ else
+ INCLUDES = -I$(INC)
+ endif
+
+-COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
++COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -shared -c
+ LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) $(LDFLAGS)
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDES)
+ BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -dynamic
+@@ -93,8 +93,8 @@ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -sta
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
+
+-OBJ_EXT = lo
+-LIB_EXT = la
++OBJ_EXT = o
++LIB_EXT = so
+
+ ######################################################################
+ # You should not need to make modifications below this line #
+@@ -178,8 +178,7 @@ default:
+ # Compile the library and examples
+ #
+ all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
+- $(LIB)/libCQRlib.$(LIB_EXT) \
+- $(BIN)/CQRlibTest
++ $(LIB)/libCQRlib.$(LIB_EXT)
+
+ install: all $(INSTALLDIR) $(INSTALLDIR)/lib $(INSTALLDIR)/include \
+ $(INC) $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/cqrlib.h
+@@ -229,8 +228,8 @@ $(BIN):
+ # CQRlib library
+ #
+ $(LIB)/libCQRlib.$(LIB_EXT): $(SOURCE) $(HEADERS) $(COMMONDEP)
+- $(COMPILE_COMMAND) -c $(SOURCE)
+- $(LIBRARY_LINK_COMMAND) -o $(LIB)/libCQRlib.$(LIB_EXT) *.$(OBJ_EXT)
++ $(CC) $(CFLAGS) -fPIC -c $(SOURCE) -o cqrlib.o -I.
++ $(CC) $(LDFLAGS) -Wl,--soname,libCQRlib.so.1 -shared -o libCQRlib.so.$(RELEASE) *.$(OBJ_EXT) -lm
+
+ #
+ # CQRlibTest example program
diff --git a/sci-libs/cqrlib/files/1.0.5-gentoo.patch b/sci-libs/cqrlib/files/1.0.5-gentoo.patch
new file mode 100644
index 000000000000..a5e7772e91ba
--- /dev/null
+++ b/sci-libs/cqrlib/files/1.0.5-gentoo.patch
@@ -0,0 +1,91 @@
+diff --git a/Makefile b/Makefile
+index ffd3114..cd9891d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -88,7 +88,7 @@ INCLUDES = -I$(INC)
+ endif
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -rpath $(INSTALLDIR)/lib
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -shared -version-info $(VERSION) -rpath $(INSTALLDIR)/lib ${LDFLAGS}
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+ BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -dynamic -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
+ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
+@@ -194,54 +194,31 @@ default:
+ #
+ all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
+ $(LIB)/libCQRlib.$(LIB_EXT) \
+- $(BIN)/CQRlibTest $(BIN)/CPPQRTest
+
+-install: all $(INSTALLDIR) $(INSTALLDIR)/lib $(INSTALLDIR)/include \
++install: all $(DESTDIR) $(DESTDIR)/GENTOOLIBDIR $(DESTDIR)/include \
+ $(INC) $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/cqrlib.h
+- $(INSTALL_COMMAND) $(LIB)/libCQRlib.$(LIB_EXT) $(INSTALLDIR)/lib/libCQRlib.$(LIB_EXT)
+- $(INSTALL_FINISH_COMMAND) $(INSTALLDIR)/lib/libCQRlib.$(LIB_EXT)
+- -cp $(INSTALLDIR)/include/cqrlib.h $(INSTALLDIR)/include/CQRlib_old.h
+- cp $(INC)/cqrlib.h $(INSTALLDIR)/include/cqrlib.h
+- chmod 644 $(INSTALLDIR)/include/cqrlib.h
+- echo "Testing final install dynamic"
+- $(BUILD_COMMAND_DYNAMIC) $(EXAMPLES)/CQRlibTest.c \
+- -lCQRlib -lm -o $(BIN)/CQRlibTest_dynamic
+- $(BIN)/CQRlibTest_dynamic > $(TESTDATA)/CQRlibTest_dynamic.lst
+- diff -b -c $(TESTDATA)/CQRlibTest_orig.lst \
+- $(TESTDATA)/CQRlibTest_dynamic.lst
+- echo "Testing final install static"
+- $(BUILD_COMMAND_STATIC) $(EXAMPLES)/CQRlibTest.c \
+- -lCQRlib -lm -o $(BIN)/CQRlibTest_static
+- $(BIN)/CQRlibTest_static > $(TESTDATA)/CQRlibTest_static.lst
+- diff -b -c $(TESTDATA)/CQRlibTest_orig.lst \
+- $(TESTDATA)/CQRlibTest_static.lst
+- $(CPPBUILD_COMMAND_DYNAMIC) $(EXAMPLES)/CPPQRTest.cpp \
+- -lm -o $(BIN)/CPPQRTest_dynamic
+- $(BIN)/CPPQRTest_dynamic > $(TESTDATA)/CPPQRTest_dynamic.lst
+- diff -b -c $(TESTDATA)/CPPQRTest_orig.lst \
+- $(TESTDATA)/CPPQRTest_dynamic.lst
+- $(CPPBUILD_COMMAND_STATIC) $(EXAMPLES)/CPPQRTest.cpp \
+- -lm -o $(BIN)/CPPQRTest_static
+- $(BIN)/CPPQRTest_static > $(TESTDATA)/CPPQRTest_static.lst
+- diff -b -c $(TESTDATA)/CPPQRTest_orig.lst \
+- $(TESTDATA)/CPPQRTest_static.lst
++ $(INSTALL_COMMAND) $(LIB)/libCQRlib.$(LIB_EXT) $(DESTDIR)/usr/GENTOOLIBDIR/libCQRlib.$(LIB_EXT)
++ $(INSTALL_FINISH_COMMAND) $(DESTDIR)/usr/GENTOOLIBDIR/libCQRlib.$(LIB_EXT)
++ -cp $(INSTALLDIR)/cqrlib.h $(DESTDIR)/usr/include/CQRlib.h
++ cp $(INC)/cqrlib.h $(DESTDIR)/usr/include/cqrlib.h
++ chmod 644 $(DESTDIR)/usr/include/cqrlib.h
+
+
+
+ #
+ # Directories
+ #
+-$(INSTALLDIR):
+- mkdir -p $(INSTALLDIR)
++$(DESTDIR):
++ mkdir -p $(DESTDIR)
+
+-$(INSTALLDIR)/lib: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/lib
++$(DESTDIR)/GENTOOLIBDIR: $(DESTDIR)
++ mkdir -p $(DESTDIR)/usr/GENTOOLIBDIR
+
+-$(INSTALLDIR)/bin: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/bin
++$(DESTDIR)/bin: $(DESTDIR)
++ mkdir -p $(DESTDIR)/usr/bin
+
+-$(INSTALLDIR)/include: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/include
++$(DESTDIR)/include: $(DESTDIR)
++ mkdir -p $(DESTDIR)/usr/include
+
+
+ $(LIB):
+@@ -274,7 +251,7 @@ $(BIN)/CPPQRTest: $(EXAMPLES)/CPPQRTest.cpp
+ #
+ # Tests
+ #
+-tests: $(LIB) $(BIN) $(BIN)/CQRlibTest \
++tests: $(LIB) $(BIN) $(BIN)/CQRlibTest $(BIN)/CPPQRTest \
+ all $(TESTDATA)/CQRlibTest_orig.lst $(TESTDATA)/CPPQRTest_orig.lst
+ $(BIN)/CQRlibTest > $(TESTDATA)/CQRlibTest.lst
+ diff -b -c $(TESTDATA)/CQRlibTest_orig.lst \
diff --git a/sci-libs/cqrlib/files/1.0.6-gentoo.patch b/sci-libs/cqrlib/files/1.0.6-gentoo.patch
new file mode 100644
index 000000000000..64a8eaf3ae26
--- /dev/null
+++ b/sci-libs/cqrlib/files/1.0.6-gentoo.patch
@@ -0,0 +1,101 @@
+ Makefile | 56 +++++++++++++++++---------------------------------------
+ 1 files changed, 17 insertions(+), 39 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9590e50..1aa14e5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -88,7 +88,7 @@ INCLUDES = -I$(INC)
+ endif
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -rpath $(INSTALLDIR)/lib
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -shared -version-info $(VERSION) -rpath $(INSTALLDIR)/lib ${LDFLAGS}
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+ BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -dynamic -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
+ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
+@@ -196,52 +196,30 @@ all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
+ $(LIB)/libCQRlib.$(LIB_EXT) \
+ $(BIN)/CQRlibTest $(BIN)/CPPQRTest
+
+-install: all $(INSTALLDIR) $(INSTALLDIR)/lib $(INSTALLDIR)/include \
++install: all $(DESTDIR) $(DESTDIR)/GENTOOLIBDIR $(DESTDIR)/include \
+ $(INC) $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/cqrlib.h
+- $(INSTALL_COMMAND) $(LIB)/libCQRlib.$(LIB_EXT) $(INSTALLDIR)/lib/libCQRlib.$(LIB_EXT)
+- $(INSTALL_FINISH_COMMAND) $(INSTALLDIR)/lib/libCQRlib.$(LIB_EXT)
+- -cp $(INSTALLDIR)/include/cqrlib.h $(INSTALLDIR)/include/CQRlib_old.h
+- cp $(INC)/cqrlib.h $(INSTALLDIR)/include/cqrlib.h
+- chmod 644 $(INSTALLDIR)/include/cqrlib.h
+- echo "Testing final install dynamic"
+- $(BUILD_COMMAND_DYNAMIC) $(EXAMPLES)/CQRlibTest.c \
+- -lCQRlib -lm -o $(BIN)/CQRlibTest_dynamic
+- $(BIN)/CQRlibTest_dynamic > $(TESTDATA)/CQRlibTest_dynamic.lst
+- diff -b -c $(TESTDATA)/CQRlibTest_orig.lst \
+- $(TESTDATA)/CQRlibTest_dynamic.lst
+- echo "Testing final install static"
+- $(BUILD_COMMAND_STATIC) $(EXAMPLES)/CQRlibTest.c \
+- -lCQRlib -lm -o $(BIN)/CQRlibTest_static
+- $(BIN)/CQRlibTest_static > $(TESTDATA)/CQRlibTest_static.lst
+- diff -b -c $(TESTDATA)/CQRlibTest_orig.lst \
+- $(TESTDATA)/CQRlibTest_static.lst
+- $(CPPBUILD_COMMAND_DYNAMIC) $(EXAMPLES)/CPPQRTest.cpp \
+- -lm -o $(BIN)/CPPQRTest_dynamic
+- $(BIN)/CPPQRTest_dynamic > $(TESTDATA)/CPPQRTest_dynamic.lst
+- diff -b -c $(TESTDATA)/CPPQRTest_orig.lst \
+- $(TESTDATA)/CPPQRTest_dynamic.lst
+- $(CPPBUILD_COMMAND_STATIC) $(EXAMPLES)/CPPQRTest.cpp \
+- -lm -o $(BIN)/CPPQRTest_static
+- $(BIN)/CPPQRTest_static > $(TESTDATA)/CPPQRTest_static.lst
+- diff -b -c $(TESTDATA)/CPPQRTest_orig.lst \
+- $(TESTDATA)/CPPQRTest_static.lst
++ $(INSTALL_COMMAND) $(LIB)/libCQRlib.$(LIB_EXT) $(DESTDIR)/usr/GENTOOLIBDIR/libCQRlib.$(LIB_EXT)
++ $(INSTALL_FINISH_COMMAND) $(DESTDIR)/usr/GENTOOLIBDIR/libCQRlib.$(LIB_EXT)
++ -cp $(INSTALLDIR)/cqrlib.h $(DESTDIR)/usr/include/CQRlib.h
++ cp $(INC)/cqrlib.h $(DESTDIR)/usr/include/cqrlib.h
++ chmod 644 $(DESTDIR)/usr/include/cqrlib.h
+
+
+
+ #
+ # Directories
+ #
+-$(INSTALLDIR):
+- mkdir -p $(INSTALLDIR)
++$(DESTDIR):
++ mkdir -p $(DESTDIR)
+
+-$(INSTALLDIR)/lib: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/lib
++$(DESTDIR)/GENTOOLIBDIR: $(DESTDIR)
++ mkdir -p $(DESTDIR)/usr/GENTOOLIBDIR
+
+-$(INSTALLDIR)/bin: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/bin
++$(DESTDIR)/bin: $(DESTDIR)
++ mkdir -p $(DESTDIR)/usr/bin
+
+-$(INSTALLDIR)/include: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/include
++$(DESTDIR)/include: $(DESTDIR)
++ mkdir -p $(DESTDIR)/usr/include
+
+
+ $(LIB):
+@@ -255,7 +233,7 @@ $(BIN):
+ #
+ $(LIB)/libCQRlib.$(LIB_EXT): $(SOURCE) $(HEADERS) $(COMMONDEP)
+ $(COMPILE_COMMAND) -c $(SOURCE)
+- $(LIBRARY_LINK_COMMAND) -o $(LIB)/libCQRlib.$(LIB_EXT) *.$(OBJ_EXT)
++ $(LIBRARY_LINK_COMMAND) -o $(LIB)/libCQRlib.$(LIB_EXT) *.$(OBJ_EXT) -lm
+
+ #
+ # CQRlibTest example program
+@@ -274,7 +252,7 @@ $(BIN)/CPPQRTest: $(EXAMPLES)/CPPQRTest.cpp
+ #
+ # Tests
+ #
+-tests: $(LIB) $(BIN) $(BIN)/CQRlibTest \
++tests: $(LIB) $(BIN) $(BIN)/CQRlibTest $(BIN)/CPPQRTest \
+ all $(TESTDATA)/CQRlibTest_orig.lst $(TESTDATA)/CPPQRTest_orig.lst
+ $(BIN)/CQRlibTest > $(TESTDATA)/CQRlibTest.lst
+ diff -b -c $(TESTDATA)/CQRlibTest_orig.lst \
diff --git a/sci-libs/cqrlib/metadata.xml b/sci-libs/cqrlib/metadata.xml
new file mode 100644
index 000000000000..6092f303ad7e
--- /dev/null
+++ b/sci-libs/cqrlib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <upstream>
+ <remote-id type="sourceforge">cqrlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/cxsparse/Manifest b/sci-libs/cxsparse/Manifest
new file mode 100644
index 000000000000..2891e81b21bc
--- /dev/null
+++ b/sci-libs/cxsparse/Manifest
@@ -0,0 +1,4 @@
+DIST CXSparse-2.2.1.tar.gz 1906557 SHA256 07d6b6877f86c2a771b7ac001b6e6edc01480fbc851421282ede3f92dc2a00c7
+DIST CXSparse-2.2.6.tar.gz 1987681 SHA256 5614aa3df9f6e6e21c85d3855a1f3a24581503a4fe62dc824e61e0a1036707b3
+DIST cxsparse-3.1.1.tar.gz 667306 SHA256 1bc5e75bb7ac918141123666fa38792341ad76f759bb57d68232bf6e36a1d010 SHA512 a36cf3a124baa74fb742c563dc6accfaf320a35f899cd2a684813ef22df4557af2d2b3489272496a370e85cea3a350293043071bb66830305fe3bf925865b424 WHIRLPOOL 87a32d2425292f52b2de63b4dac8bad50153f73ea4631123de19e7c401f0f849306ab78bda8e42a54d0cae35da33983742fc080ab629d59dd44ffc97acdc4485
+DIST cxsparse-3.1.2.tar.bz2 2004570 SHA256 591c88fe5540108b1e07a0212c0a85c1503ad3fe727aa28f6d6eb64455ae9fe4 SHA512 dd3c5e31997564387b6145eaf2069c01e2ae8de384cd775a13ac7ccf03a83b6d0b8bf156a6645547f230dd13fc159d14203a4adcbe65703c154f35ecb161b6e9 WHIRLPOOL cdcaca333d25835ec8c8ba3dd8b2a2f8066f81faa459cf6e58a1869d768f3b59c45693d5c6f49447b5cd57cbae15f1ca7cd74e56b49171f8d9f3dbde75f1ffa0
diff --git a/sci-libs/cxsparse/cxsparse-2.2.1.ebuild b/sci-libs/cxsparse/cxsparse-2.2.1.ebuild
new file mode 100644
index 000000000000..091fc17b463b
--- /dev/null
+++ b/sci-libs/cxsparse/cxsparse-2.2.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit autotools eutils
+
+MY_PN=CXSparse
+
+DESCRIPTION="Extended sparse matrix package"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/CXSparse/"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/versions/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND="sci-libs/ufconfig"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README.txt Doc/ChangeLog || die "dodoc failed"
+}
diff --git a/sci-libs/cxsparse/cxsparse-2.2.6.ebuild b/sci-libs/cxsparse/cxsparse-2.2.6.ebuild
new file mode 100644
index 000000000000..be9db1a5001b
--- /dev/null
+++ b/sci-libs/cxsparse/cxsparse-2.2.6.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+inherit autotools-utils
+
+MY_PN=CXSparse
+
+DESCRIPTION="Extended sparse matrix package"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/CXSparse/"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/versions/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+
+DEPEND="sci-libs/ufconfig"
+RDEPEND=""
+
+DOCS=( README.txt Doc/ChangeLog )
+PATCHES=( "${FILESDIR}"/${PN}-2.2.2-autotools.patch )
+
+S="${WORKDIR}/${MY_PN}"
diff --git a/sci-libs/cxsparse/cxsparse-3.1.1.ebuild b/sci-libs/cxsparse/cxsparse-3.1.1.ebuild
new file mode 100644
index 000000000000..bb2f5f0b3ace
--- /dev/null
+++ b/sci-libs/cxsparse/cxsparse-3.1.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="Extended sparse matrix package"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/CXSparse/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/sci-libs/cxsparse/cxsparse-3.1.2.ebuild b/sci-libs/cxsparse/cxsparse-3.1.2.ebuild
new file mode 100644
index 000000000000..9ac53b360641
--- /dev/null
+++ b/sci-libs/cxsparse/cxsparse-3.1.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Extended sparse matrix package"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/CXSparse/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
diff --git a/sci-libs/cxsparse/files/cxsparse-2.2.1-autotools.patch b/sci-libs/cxsparse/files/cxsparse-2.2.1-autotools.patch
new file mode 100644
index 000000000000..26957d801f13
--- /dev/null
+++ b/sci-libs/cxsparse/files/cxsparse-2.2.1-autotools.patch
@@ -0,0 +1,152 @@
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-29 19:09:42.000000000 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = Demo Source
++EXTRA_DIST = README.txt
++include_HEADERS = Include/cs.h
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-29 19:14:14.000000000 +0000
+@@ -0,0 +1,11 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(cxsparse, 2.2.1, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CONFIG_FILES([Makefile Demo/Makefile Source/Makefile])
++AC_OUTPUT
++
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-29 19:09:42.000000000 +0000
+@@ -0,0 +1,24 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++CS_SOURCE = cs_add.c cs_amd.c cs_chol.c cs_cholsol.c cs_counts.c cs_cumsum.c \
++ cs_droptol.c cs_dropzeros.c cs_dupl.c cs_entry.c \
++ cs_etree.c cs_fkeep.c cs_gaxpy.c cs_happly.c cs_house.c cs_ipvec.c \
++ cs_lsolve.c cs_ltsolve.c cs_lu.c cs_lusol.c cs_util.c cs_multiply.c \
++ cs_permute.c cs_pinv.c cs_post.c cs_pvec.c cs_qr.c cs_qrsol.c \
++ cs_scatter.c cs_schol.c cs_sqr.c cs_symperm.c cs_tdfs.c cs_malloc.c \
++ cs_transpose.c cs_compress.c cs_usolve.c cs_utsolve.c cs_scc.c \
++ cs_maxtrans.c cs_dmperm.c cs_updown.c cs_print.c cs_norm.c cs_load.c \
++ cs_dfs.c cs_reach.c cs_spsolve.c cs_leaf.c cs_ereach.c cs_randperm.c
++
++lib_LTLIBRARIES = libcxsparse.la
++noinst_LTLIBRARIES = libcxsparse_di.la libcxsparse_dl.la libcxsparse_ci.la libcxsparse_cl.la
++
++libcxsparse_di_la_SOURCES = $(CS_SOURCE)
++libcxsparse_dl_la_SOURCES = $(CS_SOURCE)
++libcxsparse_dl_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_LONG
++libcxsparse_ci_la_SOURCES = $(CS_SOURCE)
++libcxsparse_ci_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_COMPLEX
++libcxsparse_cl_la_SOURCES = $(CS_SOURCE)
++libcxsparse_cl_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_LONG -DCS_COMPLEX
++
++libcxsparse_la_SOURCES = cs_convert.c
++libcxsparse_la_LIBADD = libcxsparse_di.la libcxsparse_dl.la libcxsparse_ci.la libcxsparse_cl.la
+--- Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Demo/Makefile.am 2008-01-29 19:21:32.000000000 +0000
+@@ -0,0 +1,102 @@
++check_PROGRAMS = \
++ cs_ci_demo1 \
++ cs_ci_demo2 \
++ cs_ci_demo3 \
++ cs_cl_demo1 \
++ cs_cl_demo2 \
++ cs_cl_demo3 \
++ cs_demo1 \
++ cs_demo2 \
++ cs_demo3 \
++ cs_di_demo1 \
++ cs_di_demo2 \
++ cs_di_demo3 \
++ cs_dl_demo1 \
++ cs_dl_demo2 \
++ cs_dl_demo3 \
++ cs_idemo \
++ cs_ldemo
++
++LDADD = $(top_builddir)/Source/libcxsparse.la -lm
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++cs_ci_demo1_SOURCES = cs_ci_demo1.c
++cs_ci_demo2_SOURCES = cs_ci_demo2.c cs_ci_demo.c
++cs_ci_demo3_SOURCES = cs_ci_demo3.c cs_ci_demo.c
++cs_cl_demo1_SOURCES = cs_cl_demo1.c
++cs_cl_demo2_SOURCES = cs_cl_demo2.c cs_cl_demo.c
++cs_cl_demo3_SOURCES = cs_cl_demo3.c cs_cl_demo.c
++cs_demo1_SOURCES = cs_demo1.c
++cs_demo2_SOURCES = cs_demo2.c cs_demo.c
++cs_demo3_SOURCES = cs_demo3.c cs_demo.c
++cs_di_demo1_SOURCES = cs_di_demo1.c
++cs_di_demo2_SOURCES = cs_di_demo2.c cs_di_demo.c
++cs_di_demo3_SOURCES = cs_di_demo3.c cs_di_demo.c
++cs_dl_demo1_SOURCES = cs_dl_demo1.c
++cs_dl_demo2_SOURCES = cs_dl_demo2.c cs_dl_demo.c
++cs_dl_demo3_SOURCES = cs_dl_demo3.c cs_dl_demo.c
++cs_idemo_SOURCES = cs_idemo.c
++cs_ldemo_SOURCES = cs_ldemo.c
++
++check-local: $(check_PROGRAMS)
++ - ./cs_demo1 < ../Matrix/t1
++ - ./cs_demo2 < ../Matrix/t1
++ - ./cs_demo2 < ../Matrix/fs_183_1
++ - ./cs_demo2 < ../Matrix/west0067
++ - ./cs_demo2 < ../Matrix/lp_afiro
++ - ./cs_demo2 < ../Matrix/ash219
++ - ./cs_demo2 < ../Matrix/mbeacxc
++ - ./cs_demo2 < ../Matrix/bcsstk01
++ - ./cs_demo3 < ../Matrix/bcsstk01
++ - ./cs_demo2 < ../Matrix/bcsstk16
++ - ./cs_demo3 < ../Matrix/bcsstk16
++ - ./cs_di_demo1 < ../Matrix/t1
++ - ./cs_di_demo2 < ../Matrix/t1
++ - ./cs_di_demo2 < ../Matrix/fs_183_1
++ - ./cs_di_demo2 < ../Matrix/west0067
++ - ./cs_di_demo2 < ../Matrix/lp_afiro
++ - ./cs_di_demo2 < ../Matrix/ash219
++ - ./cs_di_demo2 < ../Matrix/mbeacxc
++ - ./cs_di_demo2 < ../Matrix/bcsstk01
++ - ./cs_di_demo3 < ../Matrix/bcsstk01
++ - ./cs_di_demo2 < ../Matrix/bcsstk16
++ - ./cs_di_demo3 < ../Matrix/bcsstk16
++ - ./cs_dl_demo1 < ../Matrix/t1
++ - ./cs_dl_demo2 < ../Matrix/t1
++ - ./cs_dl_demo2 < ../Matrix/fs_183_1
++ - ./cs_dl_demo2 < ../Matrix/west0067
++ - ./cs_dl_demo2 < ../Matrix/lp_afiro
++ - ./cs_dl_demo2 < ../Matrix/ash219
++ - ./cs_dl_demo2 < ../Matrix/mbeacxc
++ - ./cs_dl_demo2 < ../Matrix/bcsstk01
++ - ./cs_dl_demo3 < ../Matrix/bcsstk01
++ - ./cs_dl_demo2 < ../Matrix/bcsstk16
++ - ./cs_dl_demo3 < ../Matrix/bcsstk16
++ - ./cs_ci_demo1 < ../Matrix/t2
++ - ./cs_ci_demo2 < ../Matrix/t2
++ - ./cs_ci_demo2 < ../Matrix/t3
++ - ./cs_ci_demo2 < ../Matrix/t4
++ - ./cs_ci_demo2 < ../Matrix/c_west0067
++ - ./cs_ci_demo2 < ../Matrix/c_mbeacxc
++ - ./cs_ci_demo2 < ../Matrix/young1c
++ - ./cs_ci_demo2 < ../Matrix/qc324
++ - ./cs_ci_demo2 < ../Matrix/neumann
++ - ./cs_ci_demo2 < ../Matrix/c4
++ - ./cs_ci_demo3 < ../Matrix/c4
++ - ./cs_ci_demo2 < ../Matrix/mhd1280b
++ - ./cs_ci_demo3 < ../Matrix/mhd1280b
++ - ./cs_cl_demo1 < ../Matrix/t2
++ - ./cs_cl_demo2 < ../Matrix/t2
++ - ./cs_cl_demo2 < ../Matrix/t3
++ - ./cs_cl_demo2 < ../Matrix/t4
++ - ./cs_cl_demo2 < ../Matrix/c_west0067
++ - ./cs_cl_demo2 < ../Matrix/c_mbeacxc
++ - ./cs_cl_demo2 < ../Matrix/young1c
++ - ./cs_cl_demo2 < ../Matrix/qc324
++ - ./cs_cl_demo2 < ../Matrix/neumann
++ - ./cs_cl_demo2 < ../Matrix/c4
++ - ./cs_cl_demo3 < ../Matrix/c4
++ - ./cs_cl_demo2 < ../Matrix/mhd1280b
++ - ./cs_cl_demo3 < ../Matrix/mhd1280b
++ - ./cs_idemo < ../Matrix/t2
++ - ./cs_ldemo < ../Matrix/t2
diff --git a/sci-libs/cxsparse/files/cxsparse-2.2.2-autotools.patch b/sci-libs/cxsparse/files/cxsparse-2.2.2-autotools.patch
new file mode 100644
index 000000000000..f8f26f384c86
--- /dev/null
+++ b/sci-libs/cxsparse/files/cxsparse-2.2.2-autotools.patch
@@ -0,0 +1,152 @@
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-29 19:09:42.000000000 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = Demo Source
++EXTRA_DIST = README.txt
++include_HEADERS = Include/cs.h
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-29 19:14:14.000000000 +0000
+@@ -0,0 +1,11 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(cxsparse, 2.2.2, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CONFIG_FILES([Makefile Demo/Makefile Source/Makefile])
++AC_OUTPUT
++
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-29 19:09:42.000000000 +0000
+@@ -0,0 +1,24 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++CS_SOURCE = cs_add.c cs_amd.c cs_chol.c cs_cholsol.c cs_counts.c cs_cumsum.c \
++ cs_droptol.c cs_dropzeros.c cs_dupl.c cs_entry.c \
++ cs_etree.c cs_fkeep.c cs_gaxpy.c cs_happly.c cs_house.c cs_ipvec.c \
++ cs_lsolve.c cs_ltsolve.c cs_lu.c cs_lusol.c cs_util.c cs_multiply.c \
++ cs_permute.c cs_pinv.c cs_post.c cs_pvec.c cs_qr.c cs_qrsol.c \
++ cs_scatter.c cs_schol.c cs_sqr.c cs_symperm.c cs_tdfs.c cs_malloc.c \
++ cs_transpose.c cs_compress.c cs_usolve.c cs_utsolve.c cs_scc.c \
++ cs_maxtrans.c cs_dmperm.c cs_updown.c cs_print.c cs_norm.c cs_load.c \
++ cs_dfs.c cs_reach.c cs_spsolve.c cs_leaf.c cs_ereach.c cs_randperm.c
++
++lib_LTLIBRARIES = libcxsparse.la
++noinst_LTLIBRARIES = libcxsparse_di.la libcxsparse_dl.la libcxsparse_ci.la libcxsparse_cl.la
++
++libcxsparse_di_la_SOURCES = $(CS_SOURCE)
++libcxsparse_dl_la_SOURCES = $(CS_SOURCE)
++libcxsparse_dl_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_LONG
++libcxsparse_ci_la_SOURCES = $(CS_SOURCE)
++libcxsparse_ci_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_COMPLEX
++libcxsparse_cl_la_SOURCES = $(CS_SOURCE)
++libcxsparse_cl_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_LONG -DCS_COMPLEX
++
++libcxsparse_la_SOURCES = cs_convert.c
++libcxsparse_la_LIBADD = libcxsparse_di.la libcxsparse_dl.la libcxsparse_ci.la libcxsparse_cl.la
+--- Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Demo/Makefile.am 2008-01-29 19:21:32.000000000 +0000
+@@ -0,0 +1,102 @@
++check_PROGRAMS = \
++ cs_ci_demo1 \
++ cs_ci_demo2 \
++ cs_ci_demo3 \
++ cs_cl_demo1 \
++ cs_cl_demo2 \
++ cs_cl_demo3 \
++ cs_demo1 \
++ cs_demo2 \
++ cs_demo3 \
++ cs_di_demo1 \
++ cs_di_demo2 \
++ cs_di_demo3 \
++ cs_dl_demo1 \
++ cs_dl_demo2 \
++ cs_dl_demo3 \
++ cs_idemo \
++ cs_ldemo
++
++LDADD = $(top_builddir)/Source/libcxsparse.la -lm
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++cs_ci_demo1_SOURCES = cs_ci_demo1.c
++cs_ci_demo2_SOURCES = cs_ci_demo2.c cs_ci_demo.c
++cs_ci_demo3_SOURCES = cs_ci_demo3.c cs_ci_demo.c
++cs_cl_demo1_SOURCES = cs_cl_demo1.c
++cs_cl_demo2_SOURCES = cs_cl_demo2.c cs_cl_demo.c
++cs_cl_demo3_SOURCES = cs_cl_demo3.c cs_cl_demo.c
++cs_demo1_SOURCES = cs_demo1.c
++cs_demo2_SOURCES = cs_demo2.c cs_demo.c
++cs_demo3_SOURCES = cs_demo3.c cs_demo.c
++cs_di_demo1_SOURCES = cs_di_demo1.c
++cs_di_demo2_SOURCES = cs_di_demo2.c cs_di_demo.c
++cs_di_demo3_SOURCES = cs_di_demo3.c cs_di_demo.c
++cs_dl_demo1_SOURCES = cs_dl_demo1.c
++cs_dl_demo2_SOURCES = cs_dl_demo2.c cs_dl_demo.c
++cs_dl_demo3_SOURCES = cs_dl_demo3.c cs_dl_demo.c
++cs_idemo_SOURCES = cs_idemo.c
++cs_ldemo_SOURCES = cs_ldemo.c
++
++check-local: $(check_PROGRAMS)
++ - ./cs_demo1 < ../Matrix/t1
++ - ./cs_demo2 < ../Matrix/t1
++ - ./cs_demo2 < ../Matrix/fs_183_1
++ - ./cs_demo2 < ../Matrix/west0067
++ - ./cs_demo2 < ../Matrix/lp_afiro
++ - ./cs_demo2 < ../Matrix/ash219
++ - ./cs_demo2 < ../Matrix/mbeacxc
++ - ./cs_demo2 < ../Matrix/bcsstk01
++ - ./cs_demo3 < ../Matrix/bcsstk01
++ - ./cs_demo2 < ../Matrix/bcsstk16
++ - ./cs_demo3 < ../Matrix/bcsstk16
++ - ./cs_di_demo1 < ../Matrix/t1
++ - ./cs_di_demo2 < ../Matrix/t1
++ - ./cs_di_demo2 < ../Matrix/fs_183_1
++ - ./cs_di_demo2 < ../Matrix/west0067
++ - ./cs_di_demo2 < ../Matrix/lp_afiro
++ - ./cs_di_demo2 < ../Matrix/ash219
++ - ./cs_di_demo2 < ../Matrix/mbeacxc
++ - ./cs_di_demo2 < ../Matrix/bcsstk01
++ - ./cs_di_demo3 < ../Matrix/bcsstk01
++ - ./cs_di_demo2 < ../Matrix/bcsstk16
++ - ./cs_di_demo3 < ../Matrix/bcsstk16
++ - ./cs_dl_demo1 < ../Matrix/t1
++ - ./cs_dl_demo2 < ../Matrix/t1
++ - ./cs_dl_demo2 < ../Matrix/fs_183_1
++ - ./cs_dl_demo2 < ../Matrix/west0067
++ - ./cs_dl_demo2 < ../Matrix/lp_afiro
++ - ./cs_dl_demo2 < ../Matrix/ash219
++ - ./cs_dl_demo2 < ../Matrix/mbeacxc
++ - ./cs_dl_demo2 < ../Matrix/bcsstk01
++ - ./cs_dl_demo3 < ../Matrix/bcsstk01
++ - ./cs_dl_demo2 < ../Matrix/bcsstk16
++ - ./cs_dl_demo3 < ../Matrix/bcsstk16
++ - ./cs_ci_demo1 < ../Matrix/t2
++ - ./cs_ci_demo2 < ../Matrix/t2
++ - ./cs_ci_demo2 < ../Matrix/t3
++ - ./cs_ci_demo2 < ../Matrix/t4
++ - ./cs_ci_demo2 < ../Matrix/c_west0067
++ - ./cs_ci_demo2 < ../Matrix/c_mbeacxc
++ - ./cs_ci_demo2 < ../Matrix/young1c
++ - ./cs_ci_demo2 < ../Matrix/qc324
++ - ./cs_ci_demo2 < ../Matrix/neumann
++ - ./cs_ci_demo2 < ../Matrix/c4
++ - ./cs_ci_demo3 < ../Matrix/c4
++ - ./cs_ci_demo2 < ../Matrix/mhd1280b
++ - ./cs_ci_demo3 < ../Matrix/mhd1280b
++ - ./cs_cl_demo1 < ../Matrix/t2
++ - ./cs_cl_demo2 < ../Matrix/t2
++ - ./cs_cl_demo2 < ../Matrix/t3
++ - ./cs_cl_demo2 < ../Matrix/t4
++ - ./cs_cl_demo2 < ../Matrix/c_west0067
++ - ./cs_cl_demo2 < ../Matrix/c_mbeacxc
++ - ./cs_cl_demo2 < ../Matrix/young1c
++ - ./cs_cl_demo2 < ../Matrix/qc324
++ - ./cs_cl_demo2 < ../Matrix/neumann
++ - ./cs_cl_demo2 < ../Matrix/c4
++ - ./cs_cl_demo3 < ../Matrix/c4
++ - ./cs_cl_demo2 < ../Matrix/mhd1280b
++ - ./cs_cl_demo3 < ../Matrix/mhd1280b
++ - ./cs_idemo < ../Matrix/t2
++ - ./cs_ldemo < ../Matrix/t2
diff --git a/sci-libs/cxsparse/metadata.xml b/sci-libs/cxsparse/metadata.xml
new file mode 100644
index 000000000000..1eb9a37955ca
--- /dev/null
+++ b/sci-libs/cxsparse/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ CXSparse is an extended version of CSparse, a sparse matrix package,
+ with support for double or complex matrices, with int or long
+ integers.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/deap/Manifest b/sci-libs/deap/Manifest
new file mode 100644
index 000000000000..cd04086420b9
--- /dev/null
+++ b/sci-libs/deap/Manifest
@@ -0,0 +1,2 @@
+DIST deap-0.9.1.tar.gz 968521 SHA256 fc8d8c58718505aad4255ce8c70ae22f25a97d74916fe7a155491a28a2c5f52e SHA512 70786b444a05e4db9c95f132af4308acb058e507a537946979a735025f2ed5bbafe13c3c876d3c73cef6dc034c8e28f4a982afbc4416a4905be5d3b905831107 WHIRLPOOL 24865631f46947e228701a49575b2a2a856a7d4cce65b96697a9d63c2c5acbffca919f057377c6a3cb7ba9794c6729f668f94037ec869cd73582f744261179b6
+DIST deap-1.0.0.tar.gz 847713 SHA256 724720ababf419a82754b95da765fe228acb382f776e3df74222055d27a28754 SHA512 4d7bb72586c3c8bf1b7e353721cf86be6b6a845965a69f03c60fbfcc5995e88d99b094aa6a82cdf8c4cfc4aae7401c1c30348f54702e7d5d91e3f0aeaae4af49 WHIRLPOOL d1a340a22260fd4b4842a217418a14198bf3d057c44388bdf89201ae9652efab950281bb60240c014a077b18a457ad7b58ebaffcedc1bd5a5301b69904c6df6a
diff --git a/sci-libs/deap/deap-0.9.1.ebuild b/sci-libs/deap/deap-0.9.1.ebuild
new file mode 100644
index 000000000000..c7f7b7519978
--- /dev/null
+++ b/sci-libs/deap/deap-0.9.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Novel evolutionary computation framework"
+HOMEPAGE="https://code.google.com/p/deap/"
+SRC_URI="https://deap.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools"
diff --git a/sci-libs/deap/deap-1.0.0.ebuild b/sci-libs/deap/deap-1.0.0.ebuild
new file mode 100644
index 000000000000..4b28a824fe49
--- /dev/null
+++ b/sci-libs/deap/deap-1.0.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+inherit distutils-r1
+
+DESCRIPTION="Distributed Evolutionary Algorithms in Python"
+HOMEPAGE="http://code.google.com/p/deap/ http://pypi.python.org/pypi/deap/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-python/setuptools"
diff --git a/sci-libs/deap/metadata.xml b/sci-libs/deap/metadata.xml
new file mode 100644
index 000000000000..09f15adec781
--- /dev/null
+++ b/sci-libs/deap/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ DEAP stands for Distributed Evolutionary Algorithm in Python, it is dedicated to people who
+ wish to learn how to use evolutionary algorithms and to those who wish to
+ rediscover evolutionary algorithms. DEAP is the proof that evolutionary
+ algorithms do **not** need to be neither complex or complicated.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">deap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/djbfft/Manifest b/sci-libs/djbfft/Manifest
new file mode 100644
index 000000000000..1791a2c9ca59
--- /dev/null
+++ b/sci-libs/djbfft/Manifest
@@ -0,0 +1 @@
+DIST djbfft-0.76.tar.gz 80092 SHA256 799d929c3631a77ef0e16a2449e4fc11af8540b62359f8733ac2899fca2b394c SHA512 f23e5f80d2737476feea4ed65d7d022c4ca74748a2ff7b3b9338fdea4f72b4009d1c5909325382647feab837bec078231eddc3fc3bd0b5ae3346690e5edef530 WHIRLPOOL 710c694eeb92f4baf37e8ebb2658c2d8757a129354a240a47aff3891bd68f0d955caaa3b20524df259fcb415b6d7d40db8d60dd6d657b36397c1007569396058
diff --git a/sci-libs/djbfft/djbfft-0.76-r2.ebuild b/sci-libs/djbfft/djbfft-0.76-r2.ebuild
new file mode 100644
index 000000000000..82052a6daf94
--- /dev/null
+++ b/sci-libs/djbfft/djbfft-0.76-r2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="Extremely fast library for floating-point convolution"
+HOMEPAGE="http://cr.yp.to/djbfft.html"
+SRC_URI="http://cr.yp.to/djbfft/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~hppa ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE=""
+DOCS=( CHANGES README TODO VERSION )
+
+src_prepare() {
+ SOVER="${PV:0:1}.${PV:2:1}.${PV:3:1}" # a.bc -> a.b.c
+ # mask out everything, which is not suggested by the author (RTFM)!
+ ALLOWED_FLAGS="-fstack-protector -march -mcpu -pipe -mpreferred-stack-boundary -ffast-math"
+ strip-flags
+
+ SONAME="libdjbfft.so.${SOVER}"
+
+ epatch \
+ "${FILESDIR}"/${P}-gcc3.patch \
+ "${FILESDIR}"/${P}-shared.patch \
+ "${FILESDIR}"/${P}-headers.patch
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ [[ ${ABI} == x86* ]] && append-cflags -malign-double
+
+ sed -i -e "s:\"lib\":\"$(get_libdir)\":" hier.c || die
+ echo "$(tc-getCC) ${CFLAGS} -fPIC" > "conf-cc"
+ echo "$(tc-getCC) ${LDFLAGS}" > "conf-ld"
+ echo "${ED}usr" > "conf-home"
+ einfo "conf-cc: $(<conf-cc)"
+}
+
+multilib_src_compile() {
+ emake \
+ LIBDJBFFT=${SONAME} \
+ LIBPERMS=0755 \
+ ${SONAME}
+ echo "the compile function was:"
+ cat ./compile
+ echo "the conf-ld function was:"
+ cat ./conf-ld
+}
+
+multilib_src_test() {
+ local t
+ for t in accuracy accuracy2 speed; do
+ emake ${t}
+ einfo "Testing ${t}"
+ LD_LIBRARY_PATH=. ./${t} > ${t}.out || die "test ${t} failed"
+ done
+}
+
+multilib_src_install() {
+ emake LIBDJBFFT=${SONAME} install
+ ./install || die "install failed"
+ dosym ${SONAME} /usr/$(get_libdir)/libdjbfft.so
+ dosym ${SONAME} /usr/$(get_libdir)/libdjbfft.so.${SOVER%%.*}
+}
diff --git a/sci-libs/djbfft/files/djbfft-0.76-gcc3.patch b/sci-libs/djbfft/files/djbfft-0.76-gcc3.patch
new file mode 100644
index 000000000000..6f1a677d6583
--- /dev/null
+++ b/sci-libs/djbfft/files/djbfft-0.76-gcc3.patch
@@ -0,0 +1,37 @@
+--- djbfft-0.76/install.c.orig 2003-04-25 23:31:34.000000000 +0200
++++ djbfft-0.76/install.c 2003-04-25 23:29:05.000000000 +0200
+@@ -1,3 +1,4 @@
++#include <errno.h>
+ #include "substdio.h"
+ #include "strerr.h"
+ #include "error.h"
+--- djbfft-0.76/instcheck.c.orig 2003-04-25 23:31:34.000000000 +0200
++++ djbfft-0.76/instcheck.c 2003-04-25 23:28:11.000000000 +0200
+@@ -1,5 +1,6 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <errno.h>
+ #include "strerr.h"
+ #include "error.h"
+ #include "readwrite.h"
+--- djbfft-0.76/strerr_sys.c.orig 2003-04-25 23:31:34.000000000 +0200
++++ djbfft-0.76/strerr_sys.c 2003-04-25 23:28:32.000000000 +0200
+@@ -1,3 +1,4 @@
++#include <errno.h>
+ #include "error.h"
+ #include "strerr.h"
+
+--- djbfft-0.76/substdi.c.orig 2003-04-25 23:31:34.000000000 +0200
++++ djbfft-0.76/substdi.c 2003-04-25 23:28:41.000000000 +0200
+@@ -1,3 +1,4 @@
++#include <errno.h>
+ #include "substdio.h"
+ #include "byte.h"
+ #include "error.h"
+--- djbfft-0.76/substdo.c.orig 2003-04-25 23:31:34.000000000 +0200
++++ djbfft-0.76/substdo.c 2003-04-25 23:28:47.000000000 +0200
+@@ -1,3 +1,4 @@
++#include <errno.h>
+ #include "substdio.h"
+ #include "str.h"
+ #include "byte.h"
diff --git a/sci-libs/djbfft/files/djbfft-0.76-headers.patch b/sci-libs/djbfft/files/djbfft-0.76-headers.patch
new file mode 100644
index 000000000000..39fb623f10ef
--- /dev/null
+++ b/sci-libs/djbfft/files/djbfft-0.76-headers.patch
@@ -0,0 +1,38 @@
+--- strerr.h.orig 1999-09-30 23:25:58.000000000 +0300
++++ strerr.h 2008-09-13 22:14:09.000000000 +0300
+@@ -1,3 +1,5 @@
++#include <errno.h>
++
+ #ifndef STRERR_H
+ #define STRERR_H
+
+--- substdio.h.orig 1999-09-30 23:25:58.000000000 +0300
++++ substdio.h 2008-09-13 22:13:41.000000000 +0300
+@@ -1,3 +1,5 @@
++#include <errno.h>
++
+ #ifndef SUBSTDIO_H
+ #define SUBSTDIO_H
+
+--- speed.c.orig 1999-09-30 23:25:58.000000000 +0300
++++ speed.c 2008-09-13 19:16:20.352525481 +0300
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+ #include "fftr4.h"
+ #include "fftr8.h"
+ #include "fftc4.h"
+--- accuracy2.c.orig 2008-10-10 20:51:06.000000000 +0100
++++ accuracy2.c 2008-10-10 20:51:55.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <math.h>
+ #include "fftc4.h"
+--- accuracy.c.orig 2008-10-10 21:03:30.000000000 +0100
++++ accuracy.c 2008-10-10 21:03:43.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <math.h>
+ #include "fftc4.h"
diff --git a/sci-libs/djbfft/files/djbfft-0.76-shared.patch b/sci-libs/djbfft/files/djbfft-0.76-shared.patch
new file mode 100644
index 000000000000..53ce9af6b7a2
--- /dev/null
+++ b/sci-libs/djbfft/files/djbfft-0.76-shared.patch
@@ -0,0 +1,133 @@
+--- djbfft-0.76/Makefile.orig 1999-09-30 22:25:58.000000000 +0200
++++ djbfft-0.76/Makefile 2004-01-17 17:21:37.236669242 +0100
+@@ -2,6 +2,9 @@
+
+ SHELL=/bin/sh
+
++LIBPERMS=0644
++LIBDJBFFT=djbfft.a
++
+ default: it
+
+ 4c0.c: \
+@@ -569,8 +572,8 @@
+ ./compile 8v5.c
+
+ accuracy: \
+-load accuracy.o djbfft.a math.lib
+- ./load accuracy djbfft.a `cat math.lib`
++load accuracy.o $(LIBDJBFFT) math.lib
++ ./load accuracy $(LIBDJBFFT) `cat math.lib`
+
+ accuracy.o: \
+ compile accuracy.c fftc4.h complex4.h real4.h fftc8.h complex8.h \
+@@ -578,8 +581,8 @@
+ ./compile accuracy.c
+
+ accuracy2: \
+-load accuracy2.o djbfft.a math.lib
+- ./load accuracy2 djbfft.a `cat math.lib`
++load accuracy2.o $(LIBDJBFFT) math.lib
++ ./load accuracy2 $(LIBDJBFFT) `cat math.lib`
+
+ accuracy2.o: \
+ compile accuracy2.c fftc4.h complex4.h real4.h fftc8.h complex8.h \
+@@ -649,7 +652,7 @@
+ ) > compilebase
+ chmod 755 compilebase
+
+-djbfft.a: \
++$(LIBDJBFFT): \
+ makelib 8sc.o 8u5.o 8u4.o 8u3.o 8u2.o 8u1.o 8u0.o 8mc.o 8c0.o 8c1.o \
+ 8c2.o 8c3.o 8c4.o 8c5.o 8d0.o 8d1.o 8d2.o 8d3.o 8d4.o 8d5.o 8v5.o \
+ 8v4.o 8v3.o 8v2.o 8v1.o 8v0.o 8mr.o 8r0.o 8r1.o 8r2.o 8r3.o 8r4.o \
+@@ -657,7 +660,7 @@
+ 4c1.o 4c2.o 4c3.o 4c4.o 4c5.o 4d0.o 4d1.o 4d2.o 4d3.o 4d4.o 4d5.o \
+ 4v5.o 4v4.o 4v3.o 4v2.o 4v1.o 4v0.o 4mr.o 4r0.o 4r1.o 4r2.o 4r3.o \
+ 4r4.o 4r5.o 4sr.o fftfreq.o
+- ./makelib djbfft.a 8sc.o 8u5.o 8u4.o 8u3.o 8u2.o 8u1.o \
++ ./makelib $(LIBDJBFFT) 8sc.o 8u5.o 8u4.o 8u3.o 8u2.o 8u1.o \
+ 8u0.o 8mc.o 8c0.o 8c1.o 8c2.o 8c3.o 8c4.o 8c5.o 8d0.o 8d1.o \
+ 8d2.o 8d3.o 8d4.o 8d5.o 8v5.o 8v4.o 8v3.o 8v2.o 8v1.o 8v0.o \
+ 8mr.o 8r0.o 8r1.o 8r2.o 8r3.o 8r4.o 8r5.o 8sr.o 4sc.o 4u5.o \
+@@ -692,7 +695,7 @@
+
+ hier.o: \
+ compile hier.c auto_home.h
+- ./compile hier.c
++ ./compile -DLIBDJBFFT=\"$(LIBDJBFFT)\" -DLIBPERMS=$(LIBPERMS) hier.c
+
+ install: \
+ load install.o hier.o auto_home.o strerr.a substdio.a open.a error.a \
+@@ -731,7 +734,9 @@
+ ( cat warn-auto.sh; \
+ echo 'main="$$1"; shift'; \
+ echo 'rm -f "$$main"'; \
+- echo 'ar cr "$$main" $${1+"$$@"}'; \
++ echo 'if [ "$${main##*.}" = "a" ]'; \
++ echo 'then'; \
++ echo ' ar cr "$$main" $${1+"$$@"}'; \
+ case "`cat systype`" in \
+ sunos-5.*) ;; \
+ unix_sv*) ;; \
+@@ -740,8 +745,11 @@
+ dgux-*) ;; \
+ hp-ux-*) ;; \
+ sco*) ;; \
+- *) echo 'ranlib "$$main"' ;; \
+- esac \
++ *) echo ' ranlib "$$main"' ;; \
++ esac; \
++ echo 'else'; \
++ echo ' exec `head -1 conf-ld` -shared -Wl,-soname,libdjbfft.so.0.7.6 -o "$$main" $${1+"$$@"}'; \
++ echo 'fi'; \
+ ) > makelib
+ chmod 755 makelib
+
+@@ -758,15 +766,15 @@
+ ./compile open_trunc.c
+
+ prog: \
+-djbfft.a accuracy accuracy2 speed speed.out
++$(LIBDJBFFT) accuracy accuracy2 speed speed.out
+
+ setup: \
+ it install
+ ./install
+
+ speed: \
+-load speed.o djbfft.a math.lib
+- ./load speed djbfft.a `cat math.lib`
++load speed.o $(LIBDJBFFT) math.lib
++ ./load speed $(LIBDJBFFT) `cat math.lib`
+
+ speed.o: \
+ compile speed.c fftr4.h real4.h fftr8.h real8.h fftc4.h complex4.h \
+@@ -775,7 +783,7 @@
+
+ speed.out: \
+ speed
+- ./speed > speed.out
++ LD_LIBRARY_PATH=".:$$LD_LIBRARY_PATH" ./speed > speed.out
+
+ str.a: \
+ makelib byte_copy.o byte_cr.o str_len.o
+--- djbfft-0.76/hier.c.orig 1999-09-30 22:25:58.000000000 +0200
++++ djbfft-0.76/hier.c 2004-01-17 16:39:21.312774411 +0100
+@@ -2,12 +2,12 @@
+
+ void hier()
+ {
+- h(auto_home,-1,-1,02755);
++ h(auto_home,-1,-1,0755);
+
+- d(auto_home,"lib",-1,-1,02755);
+- c(auto_home,"lib","djbfft.a",-1,-1,0644);
++ d(auto_home,"lib",-1,-1,0755);
++ c(auto_home,"lib",LIBDJBFFT,-1,-1,LIBPERMS);
+
+- d(auto_home,"include",-1,-1,02755);
++ d(auto_home,"include",-1,-1,0755);
+ c(auto_home,"include","real4.h",-1,-1,0644);
+ c(auto_home,"include","real8.h",-1,-1,0644);
+ c(auto_home,"include","complex4.h",-1,-1,0644);
diff --git a/sci-libs/djbfft/metadata.xml b/sci-libs/djbfft/metadata.xml
new file mode 100644
index 000000000000..acca8fb6c86a
--- /dev/null
+++ b/sci-libs/djbfft/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>video</herd>
+ <longdescription lang="en">
+ D.J. Bernstein Fast Fourier Transform (djbfft) is an extremely
+ fast library for floating-point convolution. The current version
+ holds most of the speed records for double-precision FFTs on
+ general-purpose computers.
+ djbfft provides power-of-2 complex FFTs, real FFTs at twice the speed,
+ and fast multiplication of complex arrays. Single precision and double
+ precision are equally supported.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/dlib/Manifest b/sci-libs/dlib/Manifest
new file mode 100644
index 000000000000..a3a80ea6ce46
--- /dev/null
+++ b/sci-libs/dlib/Manifest
@@ -0,0 +1,2 @@
+DIST dlib-18.15.tar.bz2 7088379 SHA256 e2b790222d625c863d43b3b7dec86a826b504fc10b4b69b242f59a82e9dda16c SHA512 16f42fcdc63214b72328204fca2f7e3d36e18a67fd0f4b97acd9fa5046d7bf41f56ab4209a7a92c54896746b72f6f925ae07ca57ea89982c7e26c0a4ee4b693c WHIRLPOOL a15e181de3e43b800932ce338312ed875788c561bb7ed0ad689882b892f72da891b2a8547763472101e835b652322ab6ab301c6cbf117e2442156320f8603716
+DIST dlib-18.7.tar.bz2 5676950 SHA256 e3d801905288683eee245ff205081343eb79d31d5bb50e42f0293fe5b4a3697e SHA512 20f746a430bd3327f6329d9b198da67d66880f63185b5cd000bcd61a203fad6d775b77c923c92186c122ecd4d4e84f5463e4f81da86b4158d9cc24697cb54365 WHIRLPOOL f7c11fd295f791ce9e2b40c5121a20b3d14ced4d574dc1401a3eb4b2e646fae0f5b01b5a4b4ed6532dea9bcf1c0657147ae32f1e4e9c367fe357ec28287cbec3
diff --git a/sci-libs/dlib/dlib-18.15.ebuild b/sci-libs/dlib/dlib-18.15.ebuild
new file mode 100644
index 000000000000..784e7eb8cf85
--- /dev/null
+++ b/sci-libs/dlib/dlib-18.15.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Numerical and networking C++ library"
+HOMEPAGE="http://dlib.net/"
+SRC_URI="mirror://sourceforge/dclib/${P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="blas doc examples jpeg lapack png test X"
+
+RDEPEND="
+ blas? ( virtual/blas )
+ jpeg? ( virtual/jpeg:0= )
+ lapack? ( virtual/lapack )
+ png? ( media-libs/libpng:0= )
+ X? ( x11-libs/libX11 )"
+DEPEND="test? ( ${RDEPEND} )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-17.48-makefile-test.patch
+}
+
+src_test() {
+ cd dlib/test || die
+ emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}"
+ ./dtest --runall || die
+}
+
+src_install() {
+ dodoc dlib/README.txt
+ rm -r dlib/{README,LICENSE}.txt dlib/test || die
+ doheader -r dlib
+ use doc && dohtml -r docs/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/dlib/dlib-18.7.ebuild b/sci-libs/dlib/dlib-18.7.ebuild
new file mode 100644
index 000000000000..d2b754df369b
--- /dev/null
+++ b/sci-libs/dlib/dlib-18.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Numerical and networking C++ library"
+HOMEPAGE="http://dlib.net/"
+SRC_URI="mirror://sourceforge/dclib/${P}.tar.bz2"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="blas doc examples jpeg lapack png test X"
+
+RDEPEND="
+ blas? ( virtual/blas )
+ jpeg? ( virtual/jpeg:0= )
+ lapack? ( virtual/lapack )
+ png? ( media-libs/libpng:0= )
+ X? ( x11-libs/libX11 )"
+DEPEND="test? ( ${RDEPEND} )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-17.48-makefile-test.patch
+}
+
+src_test() {
+ cd dlib/test || die
+ emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}"
+ ./test --runall || die
+}
+
+src_install() {
+ dodoc dlib/README.txt
+ rm -r dlib/{README,LICENSE}.txt dlib/test || die
+ doheader -r dlib
+ use doc && dohtml -r docs/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/dlib/files/dlib-17.48-makefile-test.patch b/sci-libs/dlib/files/dlib-17.48-makefile-test.patch
new file mode 100644
index 000000000000..81aed4431954
--- /dev/null
+++ b/sci-libs/dlib/files/dlib-17.48-makefile-test.patch
@@ -0,0 +1,35 @@
+--- dlib/test/makefile.orig 2012-12-10 23:56:00.000000000 +0000
++++ dlib/test/makefile 2012-12-10 23:59:07.000000000 +0000
+@@ -5,14 +5,15 @@
+ TARGET = test
+
+ # these are the compile time flags passed to gcc
+-CFLAGS = -ggdb -DDEBUG -DDLIB_NO_GUI_SUPPORT -I ../.. -Wall
++CPPFLAGS := -DDEBUG -DDLIB_NO_GUI_SUPPORT -I../..
++CXXFLAGS := -ggdb -Wall
+
+ # These are the link time flags passed to gcc
+ LFLAGS = -lpthread -lnsl
+
+ # The name of the compiler. If you only have one version of
+ # gcc installed then you probably want to change this to just g++
+-CC = nice g++
++CXX := nice g++
+
+ ####################################################
+ ####################################################
+@@ -146,13 +147,9 @@
+
+ $(TARGET): $(OBJ)
+ @echo Linking $@
+- @$(CC) $(OBJ) $(LFLAGS) -o $@
++ @$(CXX) $(LDFLAGS) $(OBJ) $(LFLAGS) -o $@
+ @echo Build Complete
+
+-.cpp.o: $<
+- @echo Compiling $<
+- @$(CC) -c $(CFLAGS) $< -o $@
+-
+ clean:
+ @rm -f $(OBJ) $(TARGET)
+ @echo All object files and binaries removed
diff --git a/sci-libs/dlib/metadata.xml b/sci-libs/dlib/metadata.xml
new file mode 100644
index 000000000000..80d9f9e16c0f
--- /dev/null
+++ b/sci-libs/dlib/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ dlib is a C++ library for developing portable applications dealing with
+ networking, threads, graphical interfaces, data structures, linear
+ algebra, machine learning, XML and text parsing, numerical
+ optimization, Bayesian nets, and numerous other tasks.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">dclib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/dsdp/Manifest b/sci-libs/dsdp/Manifest
new file mode 100644
index 000000000000..a8bd51051e28
--- /dev/null
+++ b/sci-libs/dsdp/Manifest
@@ -0,0 +1 @@
+DIST DSDP5.8.tar.gz 2608518 SHA256 26aa624525a636de272c0b329e2dfd01a0d5b7827f1c1c76f393d71e37dead70 SHA512 0a32a34e33dcac151e95ed0f8cee62603bbe2b4ba1e448bba35324fe576376cb33c15908cde61ae5a7c0dcdea945f1ec544f19b3dd36524158573260182e080e WHIRLPOOL 63f5ce91d1c624b3c8f4d6ba61f8f386e739c0a5ad97515b4d36bb6026751ff4ca83b6a466deb5983e15eab3c84879bc3d87d7f2613e8070ab989e2607da9ddf
diff --git a/sci-libs/dsdp/dsdp-5.8-r2.ebuild b/sci-libs/dsdp/dsdp-5.8-r2.ebuild
new file mode 100644
index 000000000000..c60090db9515
--- /dev/null
+++ b/sci-libs/dsdp/dsdp-5.8-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs versionator
+
+MYP=DSDP${PV}
+
+DESCRIPTION="Software for interior-point for semidefinite programming"
+HOMEPAGE="http://www.mcs.anl.gov/hs/software/DSDP/"
+SRC_URI="http://www.mcs.anl.gov/hs/software/DSDP//${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~ppc-macos ~x86-linux ~x86-macos ~x64-macos"
+IUSE="doc examples"
+
+RDEPEND="virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+make_shared_lib() {
+ local soname=$(basename "${1%.a}")$(get_libname $(get_major_version))
+ einfo "Making ${soname}"
+ ${2:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname="${soname}" \
+ $([[ ${CHOST} == *-darwin* ]] && echo "-Wl,-install_name -Wl,${EPREFIX}/usr/$(get_libdir)/${soname}") \
+ -Wl,--whole-archive "${1}" -Wl,--no-whole-archive \
+ -o $(dirname "${1}")/"${soname}" \
+ -lm $($(tc-getPKG_CONFIG) --libs blas lapack) || return 1
+
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-readsdpa.patch \
+ "${FILESDIR}"/${P}-malloc.patch \
+ "${FILESDIR}"/${P}-gold.patch
+ # to do proper parallel compilation
+ find . -name Makefile -exec \
+ sed -i -e 's:make :$(MAKE) :g' '{}' \;
+ sed -i \
+ -e "s|#\(DSDPROOT[[:space:]]*=\).*|\1${S}|" \
+ -e "s|\(CC[[:space:]]*=\).*|\1$(tc-getCC)|" \
+ -e "s|\(OPTFLAGS[[:space:]]*=\).*|\1${CFLAGS}|" \
+ -e "s|\(CLINKER[[:space:]]*=\).*|\1 \${CC} ${LDFLAGS}|" \
+ -e "s|\(LAPACKBLAS[[:space:]]*=\).*|\1 $($(tc-getPKG_CONFIG) --libs blas lapack)|" \
+ -e "s|\(^ARCH[[:space:]]*=\).*|\1$(tc-getAR) cr|" \
+ -e "s|\(^RANLIB[[:space:]]*=\).*|\1$(tc-getRANLIB)|" \
+ make.include || die
+}
+
+src_compile() {
+ emake OPTFLAGS="${CFLAGS} -fPIC" dsdplibrary
+ make_shared_lib lib/lib${PN}.a || die "doing shared lib failed"
+}
+
+src_test() {
+ emake -j1 example test
+}
+
+src_install() {
+ dolib.so lib/lib${PN}$(get_libname $(get_major_version))
+ dosym lib${PN}$(get_libname $(get_major_version)) \
+ /usr/$(get_libdir)/lib${PN}$(get_libname)
+
+ insinto /usr/include
+ doins include/*.h src/sdp/*.h
+
+ use doc && dodoc docs/*.pdf
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/dsdp/files/dsdp-5.8-gold.patch b/sci-libs/dsdp/files/dsdp-5.8-gold.patch
new file mode 100644
index 000000000000..ae677820ffc3
--- /dev/null
+++ b/sci-libs/dsdp/files/dsdp-5.8-gold.patch
@@ -0,0 +1,13 @@
+diff --git a/examples/Makefile b/examples/Makefile
+index 8d7d433..11b9c8c 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -4,7 +4,7 @@ default:
+
+ include ../make.include
+
+-EXAMPLE_LIBS = ${DSDPLIB} ${LAPACKBLAS}
++EXAMPLE_LIBS = ${DSDPLIB} ${LAPACKBLAS} -lm
+
+ dsdp: exinfo clean
+ ${MEX} -I${DSDPROOT}/include dsdp.c ${DSDPLIB};
diff --git a/sci-libs/dsdp/files/dsdp-5.8-malloc.patch b/sci-libs/dsdp/files/dsdp-5.8-malloc.patch
new file mode 100644
index 000000000000..48e067d1d898
--- /dev/null
+++ b/sci-libs/dsdp/files/dsdp-5.8-malloc.patch
@@ -0,0 +1,10 @@
+--- src/sys/dsdploginfo.c.orig 2012-04-04 09:59:25.212518434 +1200
++++ src/sys/dsdploginfo.c 2012-04-04 10:00:05.676522161 +1200
+@@ -6,7 +6,6 @@
+ #include <stdarg.h>
+ #include <sys/types.h>
+ #include <stdlib.h>
+-#include <malloc.h>
+ #include "dsdpsys.h"
+ #include "dsdpbasictypes.h"
+
diff --git a/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch b/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch
new file mode 100644
index 000000000000..f555e50ba0ce
--- /dev/null
+++ b/sci-libs/dsdp/files/dsdp-5.8-readsdpa.patch
@@ -0,0 +1,11 @@
+--- examples/readsdpa.c.orig 2011-03-14 16:49:10.000000000 +0000
++++ examples/readsdpa.c 2011-03-14 17:05:52.000000000 +0000
+@@ -87,7 +87,7 @@
+ double ddobj,ppobj,scl,dpot;
+ char problemname[100],thisline[100], filename[300],savefile[100];
+ char directory[100]="/home/benson/sdpexamples/sdplib/";
+- char outputfile[50]="",suffix[20]=".dat-s", tablename[20]="results-dsdp-5.8";
++ char outputfile[50]="",suffix[20]=".dat-s", tablename[100]="results-dsdp-5.8";
+ char success='s',sformat;
+ FILE *fp1=0,*fp2=0,*fout;
+ DSDPData dddd;
diff --git a/sci-libs/dsdp/metadata.xml b/sci-libs/dsdp/metadata.xml
new file mode 100644
index 000000000000..583a107924f4
--- /dev/null
+++ b/sci-libs/dsdp/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The DSDP software is a free open source implementation of an
+ interior-point method for semidefinite programming. It provides
+ primal and dual solutions, exploits low-rank structure and sparsity
+ in the data, and has relatively low memory requirements for an
+ interior-point method. It allows feasible and infeasible starting
+ points and provides approximate certificates of infeasibility when
+ no feasible solution exists. The dual-scaling algorithm implemented
+ in this package has a convergence proof and worst-case polynomial
+ complexity under mild assumptions on the data. Furthermore, the
+ solver offers scalable parallel performance for large problems and a
+ well documented interface. Some of the most popular applications of
+ semidefinite programming and linear matrix inequalities (LMI) are
+ model control, truss topology design, and semidefinite relaxations
+ of combinatorial and global optimization problems.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/exodusii/Manifest b/sci-libs/exodusii/Manifest
new file mode 100644
index 000000000000..11949d6f6198
--- /dev/null
+++ b/sci-libs/exodusii/Manifest
@@ -0,0 +1,4 @@
+DIST exodus-5.22b.tar.gz 4693236 SHA256 6781b96039af030a98ddb893c40db06959b4843b6e2961c770b5d64d90241265 SHA512 04364b473d074c8bff194c63ed5ef78cb163ccc72a8dd196803646e8a8fe0faf25f9fd9a68d6df0ee821b9a84341b6aeabcc816b476fb3f7befe1e482a9455b7 WHIRLPOOL a95c98db2c6d825602618acaeced503bc1b9e312b6a4968011bd663d4c036976b4f5bf3fd45ceec0f31d3bca8e9a8cb6d53fd2d1b33ab25ec9e0993436abc7c6
+DIST exodus-5.24.tar.bz2 4252980 SHA256 c16a70c0572341c7e680f8d6420c79e1fd744ba717dc4f7e023f7421c636515d SHA512 d31cf17d2112b625259a70a7f73609323b94a3eed77be3b09961e67518d1b8caf82617a18f8c651fa6549988aa9a02455aea04402463b4fb7e66dd4e15b7e87e WHIRLPOOL 5a622fce123d55187c0895934db76c2cfb3ab2e83e13d6f5b6655c388e7cac1107acaa786b75be5275de7398035a5604d0be2975c78da05edbdaa4f8efbf9513
+DIST exodus-5.26-1.tar.gz 4673391 SHA256 9b681396b345d223bbd1b36b67173d1779afed5fabd0929b51e41ce1f830db2e SHA512 20e106cb0b733b7468002706ec6768502c8528cc8f4de7a5b957f324a76559404d97133bfc0e74e29a30b4dcc5aca9f605db55b45fdbbca6bb2099aad3c23273 WHIRLPOOL e2e4af23b0d521ec52e98636a2b0bc7095153683ff14b5e6d35d0e252c22a09772bcca9cb7029f9bf4f9456a76bd68c19d3ee63a425b09e9dd2496f9be97abcb
+DIST exodus-6.02.tar.gz 4735364 SHA256 a3d7ae6ad433bb9655748c0e3e7a95e66c46d9df1e4c3d8d7e125af3fec89193 SHA512 d086464f0af2edd06d6e6a49be28d3bdfe00c0e9a9a09abad7822a49c7a7fbb75b61324ea54d2163c73b45ee90222c22754c804ee6868cdb0f9e4b780d6d5ad0 WHIRLPOOL 53382f9ec4b11197c4b2424a222b4178de73ac233e2e23110070a7a72f150ec8ed2ad024b4ce1bdfed3ab6b3c9dfb040d243c394af2a60e7330a681f8dac58a2
diff --git a/sci-libs/exodusii/exodusii-5.22b.ebuild b/sci-libs/exodusii/exodusii-5.22b.ebuild
new file mode 100644
index 000000000000..564d7abc24cf
--- /dev/null
+++ b/sci-libs/exodusii/exodusii-5.22b.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cmake-utils multilib
+
+DESCRIPTION="Model developed to store and retrieve transient data for finite element analyses"
+HOMEPAGE="http://sourceforge.net/projects/exodusii/"
+SRC_URI="mirror://sourceforge/${PN}/${P/ii/}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="sci-libs/netcdf"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${P/ii/}/${PN/ii/}
+
+PATCHES=( "${FILESDIR}"/${P}-multilib.patch )
+
+src_configure() {
+ mycmakeargs="${mycmakeargs}
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -DNETCDF_DIR="${EPREFIX}/usr/"
+ $(cmake-utils_use !static-libs BUILD_SHARED_LIBS)
+ $(cmake-utils_use test BUILD_TESTING)"
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/forbind/test
+ csh testall
+ ./f_test_nem || die
+}
diff --git a/sci-libs/exodusii/exodusii-5.24.ebuild b/sci-libs/exodusii/exodusii-5.24.ebuild
new file mode 100644
index 000000000000..de83032bcaaf
--- /dev/null
+++ b/sci-libs/exodusii/exodusii-5.24.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+MY_PN="${PN%ii}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Model developed to store and retrieve transient data for finite element analyses"
+HOMEPAGE="http://sourceforge.net/projects/exodusii/"
+SRC_URI="mirror://sourceforge/project/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="sci-libs/netcdf"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}/${MY_PN}
+
+PATCHES=( "${FILESDIR}"/${PN}-5.22b-multilib.patch )
+
+src_configure() {
+ mycmakeargs="${mycmakeargs}
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -DNETCDF_DIR="${EPREFIX}/usr/"
+ $(cmake-utils_use !static-libs BUILD_SHARED_LIBS)
+ $(cmake-utils_use test BUILD_TESTING)"
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/forbind/test
+ csh testall
+ ./f_test_nem || die
+}
diff --git a/sci-libs/exodusii/exodusii-5.26.ebuild b/sci-libs/exodusii/exodusii-5.26.ebuild
new file mode 100644
index 000000000000..6d3219805d47
--- /dev/null
+++ b/sci-libs/exodusii/exodusii-5.26.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+MY_PN="${PN%ii}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Model developed to store and retrieve transient data for finite element analyses"
+HOMEPAGE="http://sourceforge.net/projects/exodusii/"
+SRC_URI="mirror://sourceforge/project/${PN}/${MY_P}-1.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="sci-libs/netcdf[hdf5]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}/
+
+PATCHES=( "${FILESDIR}"/${P}-multilib.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -DNETCDF_DIR="${EPREFIX}/usr/"
+ $(cmake-utils_use_build !static-libs SHARED)
+ $(cmake-utils_use_build test TESTING)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/forbind/test || die
+ csh testall || die
+ ./f_test_nem || die
+}
diff --git a/sci-libs/exodusii/exodusii-6.02.ebuild b/sci-libs/exodusii/exodusii-6.02.ebuild
new file mode 100644
index 000000000000..fd65fa986058
--- /dev/null
+++ b/sci-libs/exodusii/exodusii-6.02.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+MY_PN="${PN%ii}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Model developed to store and retrieve transient data for finite element analyses"
+HOMEPAGE="http://sourceforge.net/projects/exodusii/"
+SRC_URI="mirror://sourceforge/project/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="sci-libs/netcdf[hdf5]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}/${MY_PN}
+
+PATCHES=( "${FILESDIR}"/${PN}-5.26-multilib.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -DNETCDF_DIR="${EPREFIX}/usr/"
+ $(cmake-utils_use_build !static-libs SHARED)
+ $(cmake-utils_use_build test TESTING)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/cbind/test || die
+ ctest || die
+ cd "${BUILD_DIR}"/forbind/test || die
+ emake f_check
+}
diff --git a/sci-libs/exodusii/files/exodusii-5.22b-multilib.patch b/sci-libs/exodusii/files/exodusii-5.22b-multilib.patch
new file mode 100644
index 000000000000..3cde66622c1d
--- /dev/null
+++ b/sci-libs/exodusii/files/exodusii-5.22b-multilib.patch
@@ -0,0 +1,102 @@
+ exodus/CMakeLists.txt | 6 +++---
+ exodus/cbind/CMakeLists.txt | 6 +++---
+ exodus/forbind/CMakeLists.txt | 13 +++++++------
+ 3 files changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/exodus/CMakeLists.txt b/exodus/CMakeLists.txt
+index 935da5a..33c68ca 100644
+--- a/exodus/CMakeLists.txt
++++ b/exodus/CMakeLists.txt
+@@ -21,7 +21,7 @@ find_path( NETCDF_INCLUDE_DIR netcdf.h
+ find_library( NETCDF_LIBRARY
+ NAMES netcdf
+ PATHS "$ENV{ACCESS}/lib"
+- "$ENV{NETCDF_DIR}/lib"
++ "$ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}"
+ "$ENV{NETCDF_DIR}/libsrc/.libs"
+ )
+
+@@ -35,14 +35,14 @@ find_program (NETCDF_NCDUMP ncdump
+ find_library( HDF5_LIBRARY hdf5
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+ find_library( HDF5HL_LIBRARY hdf5_hl
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+diff --git a/exodus/cbind/CMakeLists.txt b/exodus/cbind/CMakeLists.txt
+index 9aa54e9..a19a969 100644
+--- a/exodus/cbind/CMakeLists.txt
++++ b/exodus/cbind/CMakeLists.txt
+@@ -259,9 +259,9 @@ ENDIF(EXODUS_LIBRARY_PROPERTIES)
+
+ IF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+ INSTALL(TARGETS exoIIv2c
+- RUNTIME DESTINATION lib COMPONENT Runtime
+- LIBRARY DESTINATION lib COMPONENT Runtime
+- ARCHIVE DESTINATION lib COMPONENT Development)
++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development)
+ INSTALL(FILES ${cbind_HEADERS} DESTINATION include COMPONENT Development)
+ ENDIF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+
+diff --git a/exodus/forbind/CMakeLists.txt b/exodus/forbind/CMakeLists.txt
+index 4a5e7c7..dad37ae 100644
+--- a/exodus/forbind/CMakeLists.txt
++++ b/exodus/forbind/CMakeLists.txt
+@@ -14,7 +14,7 @@ find_path( NETCDF_INCLUDE_DIR netcdf.h
+ find_library( NETCDF_LIBRARY
+ NAMES netcdf
+ PATHS "$ENV{ACCESS}/lib"
+- "$ENV{NETCDF_DIR}/lib"
++ "$ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}"
+ "$ENV{NETCDF_DIR}/libsrc/.libs"
+ )
+
+@@ -28,20 +28,21 @@ find_program (NETCDF_NCDUMP ncdump
+ find_library( HDF5_LIBRARY hdf5
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+ find_library( HDF5HL_LIBRARY hdf5_hl
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+
+ INCLUDE_DIRECTORIES(
+ "${CMAKE_CURRENT_SOURCE_DIR}/include"
++ "${CMAKE_CURRENT_SOURCE_DIR}/../cbind/include"
+ "${CMAKE_CURRENT_BINARY_DIR}/include"
+ "${NETCDF_INCLUDE_DIR}"
+ )
+@@ -60,9 +61,9 @@ ENDIF(EXODUS_LIBRARY_PROPERTIES)
+
+ IF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+ INSTALL(TARGETS exoIIv2for
+- RUNTIME DESTINATION lib COMPONENT Runtime
+- LIBRARY DESTINATION lib COMPONENT Runtime
+- ARCHIVE DESTINATION lib COMPONENT Development)
++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development)
+ INSTALL(FILES ${forbind_HEADERS} DESTINATION include COMPONENT Development)
+ ENDIF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+
diff --git a/sci-libs/exodusii/files/exodusii-5.26-multilib.patch b/sci-libs/exodusii/files/exodusii-5.26-multilib.patch
new file mode 100644
index 000000000000..1d1c1fca6c2b
--- /dev/null
+++ b/sci-libs/exodusii/files/exodusii-5.26-multilib.patch
@@ -0,0 +1,95 @@
+ CMakeLists.txt | 6 +++---
+ cbind/CMakeLists.txt | 6 +++---
+ forbind/CMakeLists.txt | 12 ++++++------
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ca372f5..a071d99 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -27,7 +27,7 @@ find_path( NETCDF_INCLUDE_DIR netcdf.h
+ find_library( NETCDF_LIBRARY
+ NAMES netcdf
+ PATHS "$ENV{ACCESS}/lib"
+- "$ENV{NETCDF_DIR}/lib"
++ "$ENV{NETCDF_DIR}/lib${LIB_SUFFIX}"
+ "$ENV{NETCDF_DIR}/libsrc/.libs"
+ )
+
+@@ -41,14 +41,14 @@ find_program (NETCDF_NCDUMP ncdump
+ find_library( HDF5_LIBRARY hdf5
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/lib${LIB_SUFFIX}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+ find_library( HDF5HL_LIBRARY hdf5_hl
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/lib${LIB_SUFFIX}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+diff --git a/cbind/CMakeLists.txt b/cbind/CMakeLists.txt
+index 083891f..66fd17b 100644
+--- a/cbind/CMakeLists.txt
++++ b/cbind/CMakeLists.txt
+@@ -293,9 +293,9 @@ ENDIF(EXODUS_LIBRARY_PROPERTIES)
+
+ IF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+ INSTALL(TARGETS exoIIv2c
+- RUNTIME DESTINATION lib COMPONENT Runtime
+- LIBRARY DESTINATION lib COMPONENT Runtime
+- ARCHIVE DESTINATION lib COMPONENT Development)
++ RUNTIME DESTINATION lib${LIB_SUFFIX} COMPONENT Runtime
++ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT Runtime
++ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT Development)
+ INSTALL(FILES ${cbind_HEADERS} DESTINATION include COMPONENT Development)
+ ENDIF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+
+diff --git a/forbind/CMakeLists.txt b/forbind/CMakeLists.txt
+index 5ee026c..66ba1b3 100644
+--- a/forbind/CMakeLists.txt
++++ b/forbind/CMakeLists.txt
+@@ -14,7 +14,7 @@ find_path( NETCDF_INCLUDE_DIR netcdf.h
+ find_library( NETCDF_LIBRARY
+ NAMES netcdf
+ PATHS "$ENV{ACCESS}/lib"
+- "$ENV{NETCDF_DIR}/lib"
++ "$ENV{NETCDF_DIR}/lib${LIB_SUFFIX}"
+ "$ENV{NETCDF_DIR}/libsrc/.libs"
+ )
+
+@@ -28,14 +28,14 @@ find_program (NETCDF_NCDUMP ncdump
+ find_library( HDF5_LIBRARY hdf5
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/lib${LIB_SUFFIX}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+ find_library( HDF5HL_LIBRARY hdf5_hl
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/lib${LIB_SUFFIX}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+@@ -61,9 +61,9 @@ ENDIF(EXODUS_LIBRARY_PROPERTIES)
+
+ IF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+ INSTALL(TARGETS exoIIv2for
+- RUNTIME DESTINATION lib COMPONENT Runtime
+- LIBRARY DESTINATION lib COMPONENT Runtime
+- ARCHIVE DESTINATION lib COMPONENT Development)
++ RUNTIME DESTINATION lib${LIB_SUFFIX} COMPONENT Runtime
++ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT Runtime
++ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT Development)
+ INSTALL(FILES ${forbind_HEADERS} DESTINATION include COMPONENT Development)
+ ENDIF(NOT EXODUS_INSTALL_NO_LIBRARIES)
+
diff --git a/sci-libs/exodusii/metadata.xml b/sci-libs/exodusii/metadata.xml
new file mode 100644
index 000000000000..28ba0daae5e1
--- /dev/null
+++ b/sci-libs/exodusii/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+EXODUS II is a model developed to store and retrieve transient data for
+finite element analyses. It is used for preprocessing, postprocessing,
+as well as code to code data transfer. ExodusII is based on netcdf.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">exodusii</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/fcl/Manifest b/sci-libs/fcl/Manifest
new file mode 100644
index 000000000000..d77d7e4eea6c
--- /dev/null
+++ b/sci-libs/fcl/Manifest
@@ -0,0 +1 @@
+DIST fcl-0.3.2.tar.gz 5745349 SHA256 cf914f85b32cf8b63879907726df64e50da33f00d538759d789fe10fc5fbc95b SHA512 799c0f698c9d19ebd72c01b4bd51435feda1792462759249446ab968bf3b2b462537ce20135444c3e555da8564d0c93196f3f3448e2a4282afca710b67eaeb6e WHIRLPOOL 4d0694c7a27f117251709368542a5e7ed8ab3ec6e39e0400027f4409bf1b5cad3ff55c14ff529de19137c5dec6a4222799cc3bf0e1081c13105ea6dbc1e17c90
diff --git a/sci-libs/fcl/fcl-0.3.2.ebuild b/sci-libs/fcl/fcl-0.3.2.ebuild
new file mode 100644
index 000000000000..9d742918547c
--- /dev/null
+++ b/sci-libs/fcl/fcl-0.3.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/flexible-collision-library/fcl"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/flexible-collision-library/fcl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="The Flexible Collision Library"
+HOMEPAGE="http://gamma.cs.unc.edu/FCL/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="cpu_flags_x86_sse"
+
+RDEPEND="
+ sci-libs/octomap
+ sci-libs/flann
+ dev-libs/boost:=[threads]
+ sci-libs/libccd"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
+ -i src/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DFCL_USE_SSE=$(usex cpu_flags_x86_sse TRUE FALSE)"
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/fcl/fcl-9999.ebuild b/sci-libs/fcl/fcl-9999.ebuild
new file mode 100644
index 000000000000..9d742918547c
--- /dev/null
+++ b/sci-libs/fcl/fcl-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/flexible-collision-library/fcl"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/flexible-collision-library/fcl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="The Flexible Collision Library"
+HOMEPAGE="http://gamma.cs.unc.edu/FCL/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="cpu_flags_x86_sse"
+
+RDEPEND="
+ sci-libs/octomap
+ sci-libs/flann
+ dev-libs/boost:=[threads]
+ sci-libs/libccd"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
+ -i src/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DFCL_USE_SSE=$(usex cpu_flags_x86_sse TRUE FALSE)"
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/fcl/metadata.xml b/sci-libs/fcl/metadata.xml
new file mode 100644
index 000000000000..852973a105db
--- /dev/null
+++ b/sci-libs/fcl/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">flexible-collision-library/fcl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/fetk/fetk-1.5.ebuild b/sci-libs/fetk/fetk-1.5.ebuild
new file mode 100644
index 000000000000..4622e51d17ed
--- /dev/null
+++ b/sci-libs/fetk/fetk-1.5.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="The Finite Element ToolKit - Meta package"
+HOMEPAGE="http://fetk.org/"
+SRC_URI=""
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-2"
+IUSE=""
+
+RDEPEND="
+ ~dev-libs/maloc-${PV}
+ ~media-libs/sg-${PV}
+ ~sci-libs/gamer-${PV}
+ ~sci-libs/mc-${PV}
+ ~sci-libs/punc-${PV}
+ "
+DEPEND=""
diff --git a/sci-libs/fetk/metadata.xml b/sci-libs/fetk/metadata.xml
new file mode 100644
index 000000000000..5a681b1af416
--- /dev/null
+++ b/sci-libs/fetk/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+The Finite Element ToolKit (FETK) is a collaboratively developed, evolving
+collection of adaptive finite element method (AFEM) software libraries and
+tools for solving coupled systems of nonlinear geometric partial differential
+equations (PDE). The FETK libraries and tools are written in an
+object-oriented form of ANSI-C and in C++, and include a common portability
+layer (MALOC) for all of FETK, a collection of standard numerical
+libraries (PUNC), a stand-alone high-quality surface and volume simplex mesh
+generator (GAMer), a stand-alone networked polygon display tool (SG),
+a general nonlinear finite element modeling kernel (MC),
+and a MATLAB toolkit (MCLite) for protyping finite element methods and
+examining simplex meshes using MATLAB. The entire FETK Suite of tools is
+highly portable (from iPhone to Blue Gene/L), thanks to use of
+a small abstraction layer (MALOC).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/fftw/Manifest b/sci-libs/fftw/Manifest
new file mode 100644
index 000000000000..b1d9259e0381
--- /dev/null
+++ b/sci-libs/fftw/Manifest
@@ -0,0 +1,2 @@
+DIST fftw-2.1.5.tar.gz 1256888 SHA256 f8057fae1c7df8b99116783ef3e94a6a44518d49c72e2e630c24b689c6022630 SHA512 8724a7f66aa19b271aa0ffb0e3762919f08082ac4400f52d11b50aef9b9d23a7d4fc5d6b2eae0ac166e2bb30a4d38a52c878e8bf8e24aba01ab1c3ddf5ebec15 WHIRLPOOL 2ea64d246c12e14962b93e05411c5f06dd193a887acb3fe5e7f63231a1a2f1f21b3a41f75951e18c332b25105865633c87150f2107169f5487b6b9983b968e10
+DIST fftw-3.3.4.tar.gz 3940427 SHA256 8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982 SHA512 1ee2c7bec3657f6846e63c6dfa71410563830d2b951966bf0123bd8f4f2f5d6b50f13b76d9a7b0eae70e44856f829ca6ceb3d080bb01649d1572c9f3f68e8eb1 WHIRLPOOL 2a5733f5537ff55a1830994431f1750dd790a4df3e8b3d1e9018c1afba2c5172f4e456eaee1c3427a2b170d23b6928da462e067a6f4e94792cfc7ff1cbc38938
diff --git a/sci-libs/fftw/fftw-2.1.5-r8.ebuild b/sci-libs/fftw/fftw-2.1.5-r8.ebuild
new file mode 100644
index 000000000000..6c1df9055aa4
--- /dev/null
+++ b/sci-libs/fftw/fftw-2.1.5-r8.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools eutils flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Fast C library for the Discrete Fourier Transform"
+SRC_URI="http://www.fftw.org/${P}.tar.gz"
+HOMEPAGE="http://www.fftw.org"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+SLOT="2.1"
+LICENSE="GPL-2+"
+IUSE="doc float fortran mpi openmp threads static-libs"
+
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+pkg_setup() {
+ use openmp && FORTRAN_NEED_OPENMP="1"
+ fortran-2_pkg_setup
+ # this one is reported to cause trouble on pentium4 m series
+ filter-mfpmath "sse"
+
+ # here I need (surprise) to increase optimization:
+ # --enable-i386-hacks requires -fomit-frame-pointer to work properly
+ if use x86; then
+ is-flag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer"
+ fi
+ if use openmp && [[ $(tc-getCC) == *gcc* ]] && ! tc-has-openmp; then
+ ewarn "You are using gcc and OpenMP is only available with gcc >= 4.2 "
+ ewarn "If you want to build fftw with OpenMP, abort now,"
+ ewarn "and switch CC to an OpenMP capable compiler"
+ ewarn "Otherwise the configure script will select POSIX threads."
+ fi
+ use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
+}
+
+src_prepare() {
+ # doc suggests installing single and double precision versions
+ # via separate compilations. will do in two separate source trees
+ # since some sed'ing is done during the build
+ # (?if --enable-type-prefix is set?)
+
+ epatch \
+ "${FILESDIR}"/${P}-as-needed.patch \
+ "${FILESDIR}"/${P}-configure.in.patch \
+ "${FILESDIR}"/${P}-no-test.patch \
+ "${FILESDIR}"/${P}-cc.patch \
+ "${FILESDIR}"/${P}-texinfo5.1.patch
+
+ # fix info files
+ for infofile in doc/fftw*info*; do
+ cat >> ${infofile} <<-EOF
+ INFO-DIR-SECTION Libraries
+ START-INFO-DIR-ENTRY
+ * fftw: (fftw). ${DESCRIPTION}
+ END-INFO-DIR-ENTRY
+ EOF
+ done
+
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
+
+ eautoreconf
+
+ cd "${WORKDIR}"
+ cp -R ${P} ${P}-double
+ mv ${P} ${P}-single
+ ln -s ${P}-single ${P}
+}
+
+src_configure() {
+ local myconf="
+ --enable-shared
+ --enable-type-prefix
+ --enable-vec-recurse
+ $(use_enable fortran)
+ $(use_enable mpi)
+ $(use_enable static-libs static)
+ $(use_enable x86 i386-hacks)"
+ if use openmp; then
+ myconf="${myconf}
+ --enable-threads
+ --with-openmp"
+ elif use threads; then
+ myconf="${myconf}
+ --enable-threads
+ --without-openmp"
+ else
+ myconf="${myconf}
+ --disable-threads
+ --without-openmp"
+ fi
+ cd "${S}-single"
+ econf ${myconf} \
+ --enable-float \
+ --with-gcc=$(tc-getCC)
+
+ cd "${S}-double"
+ econf ${myconf} \
+ --with-gcc=$(tc-getCC)
+}
+
+src_compile() {
+ local dir
+ for dir in "${S}-single" "${S}-double"
+ do
+ einfo "Running compilation in ${dir}"
+ emake -C ${dir}
+ done
+}
+
+src_test() {
+ local dir
+ for dir in "${S}-single" "${S}-double"
+ do
+ einfo "Running tests in ${dir}"
+ emake -C ${dir} -j1 check
+ done
+}
+
+src_install () {
+ # both builds are installed in the same place
+ # libs are distinguished by prefix (s or d), see docs for details
+
+ local dir
+ for dir in "${S}-single" "${S}-double"
+ do
+ emake DESTDIR="${D}" -C ${dir} install
+ done
+
+ insinto /usr/include
+ doins fortran/fftw_f77.i
+ dodoc AUTHORS ChangeLog NEWS TODO README README.hacks
+ use doc && dohtml doc/*
+
+ if use float; then
+ for f in "${ED}"/usr/{include,$(get_libdir)}/*sfft*; do
+ ln -s $(basename ${f}) ${f/sfft/fft}
+ done
+ for f in "${ED}"/usr/{include,$(get_libdir)}/*srfft*; do
+ ln -s $(basename ${f}) ${f/srfft/rfft}
+ done
+ else
+ for f in "${ED}"/usr/{include,$(get_libdir)}/*dfft*; do
+ ln -s $(basename ${f}) ${f/dfft/fft}
+ done
+ for f in "${ED}"/usr/{include,$(get_libdir)}/*drfft*; do
+ ln -s $(basename ${f}) ${f/drfft/rfft}
+ done
+ fi
+}
diff --git a/sci-libs/fftw/fftw-3.3.4.ebuild b/sci-libs/fftw/fftw-3.3.4.ebuild
new file mode 100644
index 000000000000..c0e4b6f4a207
--- /dev/null
+++ b/sci-libs/fftw/fftw-3.3.4.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools-multilib eutils flag-o-matic fortran-2 multibuild toolchain-funcs versionator
+
+DESCRIPTION="Fast C library for the Discrete Fourier Transform"
+HOMEPAGE="http://www.fftw.org/"
+
+if [[ ${PV} = *9999 ]]; then
+ inherit git-2
+ EGIT_REPO_URI="https://github.com/FFTW/fftw3.git"
+ KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86"
+ AUTOTOOLS_AUTORECONF=1
+else
+ SRC_URI="http://www.fftw.org/${P}.tar.gz"
+ KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+fi
+
+LICENSE="GPL-2+"
+SLOT="3.0/3"
+IUSE="altivec cpu_flags_x86_avx doc cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran mpi neon openmp quad cpu_flags_x86_sse cpu_flags_x86_sse2 static-libs test threads zbus"
+
+RDEPEND="
+ mpi? ( virtual/mpi )
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20130224-r2
+ !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+
+pkg_setup() {
+ # XXX: this looks like it should be used with BUILD_TYPE!=binary
+ if use openmp; then
+ if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
+ ewarn "OpenMP is not available in your current selected gcc"
+ die "need openmp capable gcc"
+ fi
+ FORTRAN_NEED_OPENMP=1
+ fi
+
+ fortran-2_pkg_setup
+
+ MULTIBUILD_VARIANTS=( single double longdouble )
+ if use quad; then
+ if [[ $(tc-getCC) == *gcc ]] && ! version_is_at_least 4.6 $(gcc-version); then
+ ewarn "quad precision only available for gcc >= 4.6"
+ die "need quad precision capable gcc"
+ fi
+ MULTIBUILD_VARIANTS+=( quad )
+ fi
+}
+
+src_prepare() {
+ # fix info file for category directory
+ [[ ${PV} = *9999 ]] || sed -i \
+ -e 's/Texinfo documentation system/Libraries/' \
+ doc/fftw3."info" || die "failed to fix info file"
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local x
+
+ # filter -Os according to docs
+ replace-flags -Os -O2
+
+ my_configure() {
+ #a bit hacky improve after #483758 is solved
+ local x=${BUILD_DIR%-*}
+ x=${x##*-}
+ # there is no abi_x86_32 port of virtual/mpi right now
+ local enable_mpi=$(use_enable mpi)
+ multilib_is_native_abi || enable_mpi="--disable-mpi"
+
+ #jlec reported USE=quad on abi_x86_32 has too less registers
+ #stub Makefiles
+ if [[ ${ABI} == x86 && ${x} == quad ]]; then
+ mkdir -p "${BUILD_DIR}/tests" || die
+ echo "all: ;" > "${BUILD_DIR}/Makefile" || die
+ echo "install: ;" >> "${BUILD_DIR}/Makefile" || die
+ echo "smallcheck: ;" > "${BUILD_DIR}/tests/Makefile" || die
+ return 0
+ fi
+
+ local myeconfargs=(
+ $(use_enable "cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4)" fma)
+ $(use_enable fortran)
+ $(use_enable zbus mips-zbus-timer)
+ $(use_enable threads)
+ $(use_enable openmp)
+ )
+ if [[ $x == single ]]; then
+ #altivec, sse, single-paired only work for single
+ myeconfargs+=(
+ --enable-single
+ $(use_enable altivec)
+ $(use_enable cpu_flags_x86_avx avx)
+ $(use_enable cpu_flags_x86_sse sse)
+ ${enable_mpi}
+ $(use_enable neon)
+ )
+ elif [[ $x == double ]]; then
+ myeconfargs+=(
+ $(use_enable cpu_flags_x86_avx avx)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ ${enable_mpi}
+ )
+ elif [[ $x == longdouble ]]; then
+ myeconfargs+=(
+ --enable-long-double
+ ${enable_mpi}
+ )
+ elif [[ $x == quad ]]; then
+ #quad does not support mpi
+ myeconfargs+=( --enable-quad-precision )
+ else
+ die "${x} precision not implemented in this ebuild"
+ fi
+
+ autotools-utils_src_configure
+ }
+
+ multibuild_foreach_variant multilib_parallel_foreach_abi my_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant autotools-multilib_src_compile
+}
+
+src_test () {
+ # We want this to be a reasonably quick test, but that is still hard...
+ ewarn "This test series will take 30 minutes on a modern 2.5Ghz machine"
+ # Do not increase the number of threads, it will not help your performance
+ #local testbase="perl check.pl --nthreads=1 --estimate"
+ # ${testbase} -${p}d || die "Failure: $n"
+ multibuild_foreach_variant autotools-multilib_src_compile -C tests smallcheck
+}
+
+src_install () {
+ local u x
+ DOCS=( AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS )
+ HTML_DOCS=( doc/html/ )
+
+ multibuild_foreach_variant multilib_foreach_abi autotools-utils_src_install
+
+ if use doc; then
+ dodoc doc/*.pdf
+ insinto /usr/share/doc/${PF}/faq
+ doins -r doc/FAQ/fftw-faq.html/*
+ else
+ rm -r "${ED}"/usr/share/doc/${PF}/html
+ fi
+
+ for x in "${ED}"/usr/lib*/pkgconfig/*.pc; do
+ for u in $(usev mpi) $(usev threads) $(usex openmp omp ""); do
+ sed -e "s|-lfftw3[flq]\?|&_$u &|" "$x" > "${x%.pc}_$u.pc" || die
+ done
+ done
+}
diff --git a/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch b/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch
new file mode 100644
index 000000000000..2389f0e43f79
--- /dev/null
+++ b/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch
@@ -0,0 +1,112 @@
+--- rfftw/Makefile.am.orig 2008-04-03 15:23:06.989019659 +0000
++++ rfftw/Makefile.am 2008-04-03 15:23:35.658653448 +0000
+@@ -18,6 +18,7 @@
+ rfftw.h
+
+ lib@FFTW_PREFIX@rfftw_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
++lib@FFTW_PREFIX@rfftw_la_LIBADD = ../fftw/lib@FFTW_PREFIX@fftw.la
+ MAINTAINERCLEANFILES = $(CODELETS) rconfig.c
+ DISTCLEANFILES = srfftw.h drfftw.h
+
+--- threads/Makefile.am.orig 2008-04-03 15:23:10.101197011 +0000
++++ threads/Makefile.am 2008-04-03 15:23:35.662653676 +0000
+@@ -28,6 +28,10 @@
+ -version-info @SHARED_VERSION_INFO@ \
+ -rpath $(libdir)
+
++lib@FFTW_PREFIX@fftw_threads_la_LIBADD = \
++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la \
++ @THREADLIBS@
++
+ @FFTW_PREFIX1@fftw_threads.h: fftw_threads.h
+ rm -f $@
+ sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/fftw_threads.h > $@
+@@ -49,6 +53,11 @@
+ -version-info @SHARED_VERSION_INFO@ \
+ -rpath $(libdir)
+
++lib@FFTW_PREFIX@rfftw_threads_la_LIBADD = \
++ $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \
++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la \
++ @THREADLIBS@
++
+ @FFTW_PREFIX1@rfftw_threads.h: rfftw_threads.h
+ rm -f $@
+ sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/rfftw_threads.h > $@
+--- mpi/Makefile.am.orig 2008-04-03 15:22:43.811698858 +0000
++++ mpi/Makefile.am 2008-04-03 15:25:50.930362143 +0000
+@@ -28,6 +28,9 @@
+ -version-info @SHARED_VERSION_INFO@ \
+ -rpath $(libdir)
+
++lib@FFTW_PREFIX@fftw_mpi_la_LIBADD = \
++ @MPILIBS@ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la
++
+ @FFTW_PREFIX1@fftw_mpi.h: fftw_mpi.h
+ rm -f $@
+ sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/fftw_mpi.h > $@
+@@ -39,32 +42,38 @@
+ -version-info @SHARED_VERSION_INFO@ \
+ -rpath $(libdir)
+
+-@FFTW_PREFIX1@rfftw_mpi.h: rfftw_mpi.h
++lib@FFTW_PREFIX@rfftw_mpi_la_LIBADD = \
++ @MPILIBS@ \
++ $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \
++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la
++
++@FFTW_PREFIX1@rfftw_mpi.h: rfftw_mpi.h
+ rm -f $@
+ sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/rfftw_mpi.h > $@
+
+ CLEANFILES = @FFTW_PREFIX1@fftw_mpi.h @FFTW_PREFIX1@rfftw_mpi.h
+
+ test_sched_SOURCES = test_sched.c
+-test_sched_LDADD = lib@FFTW_PREFIX@fftw_mpi.la \
+- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la @MPILIBS@
++test_sched_LDADD = @MPILIBS@ lib@FFTW_PREFIX@fftw_mpi.la \
++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la
+
+ test_transpose_mpi_SOURCES = test_transpose_mpi.c
+-test_transpose_mpi_LDADD = lib@FFTW_PREFIX@fftw_mpi.la \
+- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la @MPILIBS@
++test_transpose_mpi_LDADD = @MPILIBS@ lib@FFTW_PREFIX@fftw_mpi.la \
++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la
+
+ fftw_mpi_test_SOURCES = fftw_mpi_test.c
+ fftw_mpi_test_LDADD = ../tests/test_main.o \
++ @MPILIBS@ \
+ lib@FFTW_PREFIX@fftw_mpi.la \
+- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la @MPILIBS@
++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la
+
+ rfftw_mpi_test_SOURCES = rfftw_mpi_test.c
+ rfftw_mpi_test_LDADD = ../tests/test_main.o \
++ @MPILIBS@ \
+ lib@FFTW_PREFIX@rfftw_mpi.la \
+ lib@FFTW_PREFIX@fftw_mpi.la \
+ $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \
+- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la \
+- @MPILIBS@
++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la
+
+ # for some reason, automake tries to use autoheader in order to
+ # generate config.h.in, and fails because config.h.in is GNU-lly
+--- mpi/test_sched.c.orig 2008-04-03 16:58:01.969033125 +0000
++++ mpi/test_sched.c 2008-04-03 16:59:27.521908505 +0000
+@@ -27,6 +27,8 @@
+ int **sched;
+ int npes = -1, sortpe = -1, steps;
+
++ /* needed to link with proper mpi libs */
++ MPI_Init(&argc,&argv);
+ if (argc >= 2) {
+ npes = atoi(argv[1]);
+ if (npes <= 0) {
+@@ -121,5 +123,6 @@
+ }
+ }
+
++ MPI_Finalize();
+ return 0;
+ }
diff --git a/sci-libs/fftw/files/fftw-2.1.5-cc.patch b/sci-libs/fftw/files/fftw-2.1.5-cc.patch
new file mode 100644
index 000000000000..aa5c6db038c8
--- /dev/null
+++ b/sci-libs/fftw/files/fftw-2.1.5-cc.patch
@@ -0,0 +1,19 @@
+--- a/configure.in
++++ b/configure.in
+@@ -25,6 +25,8 @@
+ AC_ARG_WITH(gcc, [ --with-gcc use gcc instead of the native compiler cc], ok=$withval, ok=no)
+ if test "$ok" = "yes"; then
+ CC=gcc
++else
++ CC=$withval
+ fi
+
+ AC_ARG_ENABLE(float, [ --enable-float compile fftw for single precision], enable_float=$enableval, enable_float=no)
+@@ -96,6 +96,7 @@
+ AM_PROG_LIBTOOL
+ AC_CHECK_PROG(PERL, perl, perl, echo perl)
+ AC_SUBST(PERL)
++AC_SUBST(CC)
+
+ dnl -----------------------------------------------------------------------
+
diff --git a/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch b/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch
new file mode 100644
index 000000000000..718e74686f62
--- /dev/null
+++ b/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch
@@ -0,0 +1,226 @@
+--- configure.in.orig 2008-07-09 17:52:16.762461233 +0100
++++ configure.in 2008-07-09 18:34:13.106471656 +0100
+@@ -1,6 +1,8 @@
++
+ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(fftw/planner.c)
+ AM_INIT_AUTOMAKE(fftw, 2.1.5)
++AM_MAINTAINER_MODE
+
+ dnl This is the version info according to the libtool versioning system.
+ dnl It does *not* correspond to the release number.
+@@ -27,7 +29,7 @@
+
+ AC_ARG_ENABLE(float, [ --enable-float compile fftw for single precision], enable_float=$enableval, enable_float=no)
+ if test "$enable_float" = "yes"; then
+- AC_DEFINE(FFTW_ENABLE_FLOAT)
++ AC_DEFINE(FFTW_ENABLE_FLOAT,1,[Compile fftw for single precision])
+ fi
+
+ FFTW_PREFIX=""
+@@ -56,27 +58,27 @@
+
+ AC_ARG_ENABLE(i386-hacks, [ --enable-i386-hacks enable gcc/x86 specific performance hacks], ok=$enableval, ok=no)
+ if test "$ok" = "yes"; then
+- AC_DEFINE(FFTW_ENABLE_I386_HACKS)
++ AC_DEFINE(FFTW_ENABLE_I386_HACKS,1,[Enable x86 specific performance hacks])
+ fi
+
+ AC_ARG_ENABLE(pentium-timer, [ --enable-pentium-timer enable high resolution Pentium timer], ok=$enableval, ok=no)
+ if test "$ok" = "yes"; then
+- AC_DEFINE(FFTW_ENABLE_PENTIUM_TIMER)
++ AC_DEFINE(FFTW_ENABLE_PENTIUM_TIMER,1,[Enable high resolution Pentium timer])
+ fi
+
+ AC_ARG_ENABLE(debug, [ --enable-debug compile fftw with extra runtime checks for debugging], ok=$enableval, ok=no)
+ if test "$ok" = "yes"; then
+- AC_DEFINE(FFTW_DEBUG)
++ AC_DEFINE(FFTW_DEBUG,1,[Compile with extra rutime checks for debugging])
+ fi
+
+ AC_ARG_ENABLE(debug-alignment, [ --enable-debug-alignment enable runtime checks for alignment on x86], ok=$enableval, ok=no)
+ if test "$ok" = "yes"; then
+- AC_DEFINE(FFTW_DEBUG_ALIGNMENT)
++ AC_DEFINE(FFTW_DEBUG_ALIGNMENT,1,[Enable rutime checks for alignment on x86])
+ fi
+
+ AC_ARG_ENABLE(vec-recurse, [ --enable-vec-recurse enable experimental performance hack], ok=$enableval, ok=no)
+ if test "$ok" = "yes"; then
+- AC_DEFINE(FFTW_ENABLE_VECTOR_RECURSE)
++ AC_DEFINE(FFTW_ENABLE_VECTOR_RECURSE,1,[Enable experimental performance hack])
+ fi
+
+ dnl -----------------------------------------------------------------------
+@@ -90,7 +92,6 @@
+ ACX_PROG_CC_EGCS
+ AC_PROG_INSTALL
+ AC_PROG_MAKE_SET
+-AC_PROG_RANLIB
+ AC_PROG_LN_S
+ AM_PROG_LIBTOOL
+ AC_CHECK_PROG(PERL, perl, perl, echo perl)
+@@ -115,7 +116,7 @@
+ dnl -----------------------------------------------------------------------
+
+ AC_SUBST(SHARED_VERSION_INFO)
+-AC_DEFINE_UNQUOTED(FFTW_VERSION, "$VERSION")
++AC_DEFINE_UNQUOTED(FFTW_VERSION, "$VERSION",[Fftw Version])
+
+ # Get the version number that will be appended to shared libraries:
+ SHARED_VERSION=`echo $SHARED_VERSION_INFO | awk -F':' '{ print $1 "." $3 "." $2 }'`
+@@ -123,7 +124,7 @@
+
+ ACX_PROG_CC_MAXOPT
+
+-ACX_GCC_ALIGNS_STACK(AC_DEFINE(FFTW_GCC_ALIGNS_STACK), [
++ACX_GCC_ALIGNS_STACK(AC_DEFINE(FFTW_GCC_ALIGNS_STACK,1,[Gcc align stack]), [
+ if test "$enable_i386_hacks" = yes; then
+ if test "${acx_gcc_stack_align_bug-no}" = yes; then
+ # we are using a gcc with a stack alignment bug, and we should
+@@ -183,7 +184,7 @@
+ AC_TRY_LINK([#include <math.h>
+ ], if (!isnan(3.14159)) isnan(2.7183);, ok=yes, ok=no)
+ if test "$ok" = "yes"; then
+- AC_DEFINE(HAVE_ISNAN)
++ AC_DEFINE(HAVE_ISNAN,1,[Have isnan])
+ fi
+ AC_MSG_RESULT(${ok})
+
+@@ -196,7 +197,7 @@
+ #endif
+ ], [hrtime_t foobar;], ok=yes, ok=no)
+ if test "$ok" = "yes"; then
+- AC_DEFINE(HAVE_HRTIME_T)
++ AC_DEFINE(HAVE_HRTIME_T,1,[Have hrtime_t type])
+ fi
+ AC_MSG_RESULT(${ok})
+
+@@ -205,7 +206,7 @@
+
+ AC_ARG_ENABLE(unsafe-mulmod, [ --enable-unsafe-mulmod risk overflow for large prime sizes], enable_unsafe_mulmod=$enableval, enable_unsafe_mulmod=no)
+ if test "$enable_unsafe_mulmod" = "yes"; then
+- AC_DEFINE(FFTW_ENABLE_UNSAFE_MULMOD)
++ AC_DEFINE(FFTW_ENABLE_UNSAFE_MULMOD,1,[Risk overflow for lar prime sizes])
+ fi
+
+
+@@ -221,15 +222,25 @@
+ FFTW_THREADS_INCLUDELIST=""
+ FFTW_THREADS_PROGLIST=""
+ THREADLIBS=""
++omp_enabler=unknown
+ if test "$enable_threads" = "yes"; then
+ if test "$with_openmp"x != nox; then
+ AC_MSG_CHECKING(how to enable OpenMP)
+- omp_enabler=unknown
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$save_CFLAGS -omp"
+ AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS=" "
+ omp_enabler="$CC -omp")
+ if test -z "$THREADLIBS"; then
++ CFLAGS="$save_CFLAGS -fopenmp"
++ AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS="-lgomp"
++ omp_enabler="$CC -fopenmp")
++ fi
++ if test -z "$THREADLIBS"; then
++ CFLAGS="$save_CFLAGS -openmp"
++ AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS=" "
++ omp_enabler="$CC -openmp")
++ fi
++ if test -z "$THREADLIBS"; then
+ CFLAGS="$save_CFLAGS -mp"
+ AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS=" "
+ omp_enabler="$CC -mp")
+@@ -240,68 +251,70 @@
+ omp_enabler="automatic")
+ fi
+ AC_MSG_RESULT($omp_enabler)
+- if test -z "$THREADLIBS"; then
+- AC_MSG_ERROR([don't know how to enable OpenMP])
++ if test x"$omp_enabler" != x"unknown"; then
++ AC_DEFINE(FFTW_USING_OPENMP_THREADS,1,[Using OpenMP threads])
++ else
++ AC_MSG_WARN([don't know how to enable OpenMP, reverting to POSIX threads])
+ fi
+- AC_DEFINE(FFTW_USING_OPENMP_THREADS)
++
+ fi
+ if test "$with_sgimp"x != nox; then
+ AC_MSG_CHECKING(how to enable SGI MP)
+ mp_enabler=unknown
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$save_CFLAGS -mp"
+- AC_TRY_LINK_FUNC(mp_set_numthreads,THREADLIBS=" "
++ AC_TRY_LINK_FUNC(mp_set_numthreads,THREADLIBS=""
+ mp_enabler="$CC -mp")
+ if test -z "$THREADLIBS"; then
+ CFLAGS="$save_CFLAGS"
+- AC_TRY_LINK_FUNC(mp_numthreads,THREADLIBS=" "
++ AC_TRY_LINK_FUNC(mp_numthreads,THREADLIBS=""
+ mp_enabler="automatic")
+ fi
+ AC_MSG_RESULT($mp_enabler)
+ if test -z "$THREADLIBS"; then
+ AC_MSG_ERROR([don't know how to enable SGI MP])
+ fi
+- AC_DEFINE(FFTW_USING_SGIMP_THREADS)
++ AC_DEFINE(FFTW_USING_SGIMP_THREADS,1,[Using SGIMP Threads])
+ fi
+
+ # POSIX threads, the default choice:
+- if test -z "$THREADLIBS"; then
++ if test x"$omp_enabler" = x"unknown" ; then
+ sinclude(acx_pthread.m4)
+ ACX_PTHREAD([THREADLIBS="$PTHREAD_LIBS "
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ CC="$PTHREAD_CC"
+- AC_DEFINE(FFTW_USING_POSIX_THREADS)])
++ AC_DEFINE(FFTW_USING_POSIX_THREADS,1,[Using POSIX Threads])])
+ fi
+ # Solaris threads:
+ if test -z "$THREADLIBS"; then
+ AC_CHECK_LIB(thread, thr_create,
+ [THREADLIBS="-lthread"
+- AC_DEFINE(FFTW_USING_SOLARIS_THREADS)])
++ AC_DEFINE(FFTW_USING_SOLARIS_THREADS,1,[Using SOLARIS Threads])])
+ fi
+ # Mach C threads:
+ if test -z "$THREADLIBS"; then
+ AC_CHECK_FUNC(cthread_fork,
+ [THREADLIBS=" "
+- AC_DEFINE(FFTW_USING_MACH_THREADS)])
++ AC_DEFINE(FFTW_USING_MACH_THREADS,1,[Using Mach Threads])])
+ AC_CHECK_HEADERS(mach/cthreads.h cthreads.h cthread.h)
+ fi
+ if test -z "$THREADLIBS"; then
+ AC_CHECK_LIB(cthread, cthread_fork,
+ [THREADLIBS="-lcthread"
+- AC_DEFINE(FFTW_USING_MACH_THREADS)])
++ AC_DEFINE(FFTW_USING_MACH_THREADS,1,[Using Mach Threads])])
+ AC_CHECK_HEADERS(mach/cthreads.h cthreads.h cthread.h)
+ fi
+ if test -z "$THREADLIBS"; then
+ AC_CHECK_LIB(cthreads, cthread_fork,
+ [THREADLIBS="-lcthreads"
+- AC_DEFINE(FFTW_USING_MACH_THREADS)])
++ AC_DEFINE(FFTW_USING_MACH_THREADS,1,[Using Mach Threads])])
+ AC_CHECK_HEADERS(mach/cthreads.h cthreads.h cthread.h)
+ fi
+ # BeOS threads:
+ if test -z "$THREADLIBS"; then
+ AC_CHECK_FUNC(spawn_thread,
+ [THREADLIBS=" "
+- AC_DEFINE(FFTW_USING_BEOS_THREADS)])
++ AC_DEFINE(FFTW_USING_BEOS_THREADS,1,[Using BEOS Threads])])
+ fi
+ if test -z "$THREADLIBS"; then
+ AC_MSG_ERROR(couldn't find threads library for --enable-threads)
+@@ -334,7 +347,7 @@
+ CC="$MPICC"
+ ok=yes
+ AC_TRY_LINK([#include <mpi.h>
+- ], [MPI_Comm_f2c(0);], [AC_DEFINE(HAVE_MPI_COMM_F2C)], [ok=no])
++ ], [MPI_Comm_f2c(0);], [AC_DEFINE(HAVE_MPI_COMM_F2C,1,[Has MPI COMM F2C])], [ok=no])
+ AC_MSG_RESULT($ok)
+ CC="$save_CC"
+ else
diff --git a/sci-libs/fftw/files/fftw-2.1.5-no-test.patch b/sci-libs/fftw/files/fftw-2.1.5-no-test.patch
new file mode 100644
index 000000000000..f9f54f68eb14
--- /dev/null
+++ b/sci-libs/fftw/files/fftw-2.1.5-no-test.patch
@@ -0,0 +1,33 @@
+--- tests/Makefile.am.orig 2008-06-22 12:29:53.149138283 +0100
++++ tests/Makefile.am 2008-06-22 12:30:32.731595087 +0100
+@@ -1,4 +1,4 @@
+-noinst_PROGRAMS = fftw_test rfftw_test
++check_PROGRAMS = fftw_test rfftw_test
+ noinst_HEADERS = test_main.h
+
+ FFTWDIR=../fftw
+--- mpi/Makefile.am.orig 2008-06-22 17:21:16.998466390 +0100
++++ mpi/Makefile.am 2008-06-22 17:27:42.996463162 +0100
+@@ -4,8 +4,8 @@
+
+ lib_LTLIBRARIES = @FFTW_MPI_LIBLIST@
+ include_HEADERS = @FFTW_MPI_INCLUDELIST@
+-noinst_PROGRAMS = @FFTW_MPI_PROGLIST@
++check_PROGRAMS = @FFTW_MPI_PROGLIST@
+
+ EXTRA_LTLIBRARIES = lib@FFTW_PREFIX@fftw_mpi.la \
+ lib@FFTW_PREFIX@rfftw_mpi.la
+ EXTRA_HEADERS = @FFTW_PREFIX@fftw_mpi.h @FFTW_PREFIX@rfftw_mpi.h
+--- threads/Makefile.am.orig 2008-06-22 17:18:18.940409610 +0100
++++ threads/Makefile.am 2008-06-22 17:28:00.485459803 +0100
+@@ -4,9 +4,9 @@
+
+ lib_LTLIBRARIES = @FFTW_THREADS_LIBLIST@
+ include_HEADERS = @FFTW_THREADS_INCLUDELIST@
+-noinst_PROGRAMS = @FFTW_THREADS_PROGLIST@
++check_PROGRAMS = @FFTW_THREADS_PROGLIST@
+
+ EXTRA_LTLIBRARIES = lib@FFTW_PREFIX@fftw_threads.la \
+ lib@FFTW_PREFIX@rfftw_threads.la
+ EXTRA_HEADERS = @FFTW_PREFIX@fftw_threads.h \
+ @FFTW_PREFIX@rfftw_threads.h
diff --git a/sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch b/sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch
new file mode 100644
index 000000000000..1947bef8f21f
--- /dev/null
+++ b/sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch
@@ -0,0 +1,21 @@
+ doc/fftw.texi | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/doc/fftw.texi b/doc/fftw.texi
+index 90e8bb6..85a7a53 100644
+--- a/doc/fftw.texi
++++ b/doc/fftw.texi
+@@ -46,10 +46,10 @@ approved by the Free Software Foundation.
+ @titlepage
+ @sp 10
+ @comment The title is printed in a large font.
+-@title{FFTW User's Manual}
++@title FFTW User's Manual
+ @subtitle For version @value{VERSION}, @value{UPDATED}
+-@author{Matteo Frigo}
+-@author{Steven G. Johnson}
++@author Matteo Frigo
++@author Steven G. Johnson
+
+ @c The following two commands start the copyright page.
+ @page
diff --git a/sci-libs/fftw/metadata.xml b/sci-libs/fftw/metadata.xml
new file mode 100644
index 000000000000..5221b542c560
--- /dev/null
+++ b/sci-libs/fftw/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The Fastest Fourier Transform in the West is a C subroutine library
+ for computing the Discrete Fourier Transform (DFT) in one or more
+ dimensions, of both real and complex data, and of arbitrary input
+ size. It is becoming the FFT library of choice for most
+ applications. Benchmarks, performed on a variety of platforms, show
+ that FFTW's performance is typically superior to that of other
+ publicly available FFT software.
+</longdescription>
+ <use>
+ <flag name="float">Link default library to single precision instead of
+ double (symlinks only and fftw-2.1)</flag>
+ <flag name="quad">Build quadruple precision lib</flag>
+ <flag name="zbus">Adds support for ZBus cycle-counter of mips</flag>
+ </use>
+ <upstream>
+ <remote-id type="freecode">fftw</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/flann/Manifest b/sci-libs/flann/Manifest
new file mode 100644
index 000000000000..39203fd023cf
--- /dev/null
+++ b/sci-libs/flann/Manifest
@@ -0,0 +1,2 @@
+DIST flann-1.8.4-src.zip 561057 SHA256 dfbb9321b0d687626a644c70872a2c540b16200e7f4c7bd72f91ae032f445c08 SHA512 47ac6be66e3ec7303d28febc5a4cea2f8d1b3d81c3b7081f27cf17936074e06e91e30123569b41269a2b97c9960274dc485a575d77c1a386e8f539a76a8d3a0a WHIRLPOOL f7722d8c0a8482809920927353421ebb578464fe6746a4dba20a6c7b6f941715529d5be33aebd1726db36eae3b5d4080c6ae86b0f807e6e384af32b87735b83b
+DIST flann-1.8.4-testdata.tar.xz 26744244 SHA256 4eaecf3a221ea6611e841fa2f459a17b6a5fdd633338bb5bc46c434e37667141 SHA512 f2bee5e2dfe2fbb42953df563f178b67639b62e26fc31be14e07c196ba3e84db21804e594af44991f7cf45ca5e10ff753093cf160abf33e90d19735a9a0b51cb WHIRLPOOL e49e5a594464955241ebc9bdfa908bac8b93b2fb465fc08ab73ec4d57194a8b71361ecb67985cdc641013fb8c3fb51ea2033769f41e558ab86e8f71e477b97da
diff --git a/sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch b/sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch
new file mode 100644
index 000000000000..1a068af28351
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-CUDA_NVCC_FLAGS.patch
@@ -0,0 +1,16 @@
+ src/cpp/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
+index 8e72409..a4b35b1 100644
+--- a/src/cpp/CMakeLists.txt
++++ b/src/cpp/CMakeLists.txt
+@@ -15,7 +15,7 @@ endif()
+ set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC FLANN_USE_CUDA)
+
+ if (BUILD_CUDA_LIB)
+- SET(CUDA_NVCC_FLAGS -DFLANN_USE_CUDA)
++ SET(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-DFLANN_USE_CUDA")
+ if(CMAKE_COMPILER_IS_GNUCC)
+ set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-Xcompiler;-fPIC;-arch=sm_13" )
+ if (NVCC_COMPILER_BINDIR)
diff --git a/sci-libs/flann/files/flann-1.8.4-cuda5.5.patch b/sci-libs/flann/files/flann-1.8.4-cuda5.5.patch
new file mode 100644
index 000000000000..046b3252c36f
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-cuda5.5.patch
@@ -0,0 +1,61 @@
+ src/cpp/flann/util/cuda/result_set.h | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/cpp/flann/util/cuda/result_set.h b/src/cpp/flann/util/cuda/result_set.h
+index 9ac8111..324ca1e 100644
+--- a/src/cpp/flann/util/cuda/result_set.h
++++ b/src/cpp/flann/util/cuda/result_set.h
+@@ -54,7 +54,7 @@ struct SingleResultSet
+ DistanceType bestDist;
+ const DistanceType epsError;
+
+- __device__
++ __device__ __host__
+ SingleResultSet( DistanceType eps ) : bestIndex(-1),bestDist(INFINITY), epsError(eps){ }
+
+ __device__
+@@ -129,7 +129,7 @@ struct KnnResultSet
+ const DistanceType epsError;
+
+
+- __device__
++ __device__ __host__
+ KnnResultSet(int knn, bool sortResults, DistanceType eps) : foundNeighbors(0),largestHeapDist(INFINITY),k(knn), sorted(sortResults), epsError(eps){ }
+
+ // __host__ __device__
+@@ -229,7 +229,7 @@ struct CountingRadiusResultSet
+ DistanceType radius_sq_;
+ int max_neighbors_;
+
+- __device__
++ __device__ __host__
+ CountingRadiusResultSet(DistanceType radius, int max_neighbors) : count_(0),radius_sq_(radius), max_neighbors_(max_neighbors){ }
+
+ __device__
+@@ -279,7 +279,7 @@ struct RadiusKnnResultSet
+ // int count_;
+
+
+- __device__
++ __device__ __host__
+ RadiusKnnResultSet(DistanceType radius, int knn, int* segment_starts, bool sortResults) : foundNeighbors(0),largestHeapDist(radius),k(knn), sorted(sortResults), radius_sq_(radius),segment_starts_(segment_starts) { }
+
+ // __host__ __device__
+@@ -381,7 +381,7 @@ struct KnnRadiusResultSet
+ const DistanceType radius_sq;
+
+
+- __device__
++ __device__ __host__
+ KnnRadiusResultSet(int knn, bool sortResults, DistanceType eps, DistanceType radius) : foundNeighbors(0),largestHeapDist(radius),k(knn), sorted(sortResults), epsError(eps),radius_sq(radius){ }
+
+ // __host__ __device__
+@@ -484,7 +484,7 @@ struct RadiusResultSet
+ int count_;
+ bool sorted_;
+
+- __device__
++ __device__ __host__
+ RadiusResultSet(DistanceType radius, int* segment_starts, bool sorted) : radius_sq_(radius), segment_starts_(segment_starts), count_(0), sorted_(sorted){ }
+
+ __device__
diff --git a/sci-libs/flann/files/flann-1.8.4-docdir.patch b/sci-libs/flann/files/flann-1.8.4-docdir.patch
new file mode 100644
index 000000000000..4b16684de14d
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-docdir.patch
@@ -0,0 +1,24 @@
+ doc/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 2d8eb24..aeac8ed 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -1,4 +1,8 @@
+ find_package(LATEX)
++
++if (NOT DOCDIR)
++ set(DOCDIR share/doc/flann)
++endif ()
+
+ if (EXISTS ${PDFLATEX_COMPILER} AND EXISTS ${BIBTEX_COMPILER})
+ include(${PROJECT_SOURCE_DIR}/cmake/UseLATEX.cmake)
+@@ -14,6 +18,6 @@ endif()
+
+ install(
+ FILES manual.pdf
+- DESTINATION share/doc/flann
++ DESTINATION ${DOCDIR}
+ OPTIONAL
+ )
diff --git a/sci-libs/flann/files/flann-1.8.4-examples.patch b/sci-libs/flann/files/flann-1.8.4-examples.patch
new file mode 100644
index 000000000000..b3346b35f73c
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-examples.patch
@@ -0,0 +1,35 @@
+From 3922081fbd6710f4b72421069f6bf24dc37d35a8 Mon Sep 17 00:00:00 2001
+From: Casey Goodlett <casey.goodlett@kitware.com>
+Date: Thu, 8 Aug 2013 18:42:45 -0400
+Subject: [PATCH] Option to disable example building
+
+---
+ CMakeLists.txt | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5b19367..410a8f9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,6 +53,7 @@ option(BUILD_C_BINDINGS "Build C bindings" ON)
+ option(BUILD_PYTHON_BINDINGS "Build Python bindings" ON)
+ option(BUILD_MATLAB_BINDINGS "Build Matlab bindings" ON)
+ option(BUILD_CUDA_LIB "Build CUDA library" OFF)
++option(BUILD_EXAMPLES "Build examples" ON)
+ option(USE_OPENMP "Use OpenMP multi-threading" ON)
+ option(USE_MPI "Use MPI" OFF)
+
+@@ -154,7 +155,9 @@ endif()
+
+ add_subdirectory( cmake )
+ add_subdirectory( src )
+-add_subdirectory( examples )
++if (BUILD_EXAMPLES)
++ add_subdirectory( examples )
++endif(BUILD_EXAMPLES)
+ add_subdirectory( test )
+ add_subdirectory( doc )
+
+--
+1.8.5.1
+
diff --git a/sci-libs/flann/files/flann-1.8.4-multilib.patch b/sci-libs/flann/files/flann-1.8.4-multilib.patch
new file mode 100644
index 000000000000..17a9d65dd778
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-multilib.patch
@@ -0,0 +1,15 @@
+ cmake/flann_utils.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake
+index 1a10939..afe4742 100644
+--- a/cmake/flann_utils.cmake
++++ b/cmake/flann_utils.cmake
+@@ -1,6 +1,6 @@
+ macro(GET_OS_INFO)
+ string(REGEX MATCH "Linux" OS_IS_LINUX ${CMAKE_SYSTEM_NAME})
+- set(FLANN_LIB_INSTALL_DIR "lib")
++ set(FLANN_LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
+ set(FLANN_INCLUDE_INSTALL_DIR
+ "include/${PROJECT_NAME_LOWER}-${FLANN_MAJOR_VERSION}.${FLANN_MINOR_VERSION}")
+ endmacro(GET_OS_INFO)
diff --git a/sci-libs/flann/files/flann-1.8.4-options.patch b/sci-libs/flann/files/flann-1.8.4-options.patch
new file mode 100644
index 000000000000..dd212aca66a4
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.8.4-options.patch
@@ -0,0 +1,41 @@
+ CMakeLists.txt | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 410a8f9..b6244a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,6 +54,8 @@ option(BUILD_PYTHON_BINDINGS "Build Python bindings" ON)
+ option(BUILD_MATLAB_BINDINGS "Build Matlab bindings" ON)
+ option(BUILD_CUDA_LIB "Build CUDA library" OFF)
+ option(BUILD_EXAMPLES "Build examples" ON)
++option(BUILD_TESTS "Build tests" ON)
++option(BUILD_DOC "Build documentation" ON)
+ option(USE_OPENMP "Use OpenMP multi-threading" ON)
+ option(USE_MPI "Use MPI" OFF)
+
+@@ -158,8 +160,12 @@ add_subdirectory( src )
+ if (BUILD_EXAMPLES)
+ add_subdirectory( examples )
+ endif(BUILD_EXAMPLES)
+-add_subdirectory( test )
+-add_subdirectory( doc )
++if (BUILD_TESTS)
++ add_subdirectory( test )
++endif (BUILD_TESTS)
++if (BUILD_DOC)
++ add_subdirectory( doc )
++endif (BUILD_DOC)
+
+
+ # CPACK options
+@@ -202,6 +208,9 @@ include(CPack)
+ message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
+ message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
+ message(STATUS "Building C bindings: ${BUILD_C_BINDINGS}")
++message(STATUS "Building examples: ${BUILD_EXAMPLES}")
++message(STATUS "Building tests: ${BUILD_TESTS}")
++message(STATUS "Building documentation: ${BUILD_DOC}")
+ message(STATUS "Building python bindings: ${BUILD_PYTHON_BINDINGS}")
+ message(STATUS "Building matlab bindings: ${BUILD_MATLAB_BINDINGS}")
+ message(STATUS "Building CUDA library: ${BUILD_CUDA_LIB}")
diff --git a/sci-libs/flann/flann-1.8.4-r1.ebuild b/sci-libs/flann/flann-1.8.4-r1.ebuild
new file mode 100644
index 000000000000..31ff4c5f1797
--- /dev/null
+++ b/sci-libs/flann/flann-1.8.4-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils cuda eutils multilib toolchain-funcs
+
+DESCRIPTION="Library for performing fast approximate nearest neighbor searches in high dimensional spaces"
+HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
+SRC_URI="
+ http://people.cs.ubc.ca/~mariusm/uploads/FLANN/${P}-src.zip
+ test? ( http://dev.gentoo.org/~bicatali/distfiles/${P}-testdata.tar.xz )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc examples mpi openmp octave static-libs test"
+
+RDEPEND="
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
+ mpi? (
+ sci-libs/hdf5[mpi]
+ dev-libs/boost[mpi]
+ )
+ !mpi? ( !sci-libs/hdf5[mpi] )
+ octave? ( >=sci-mathematics/octave-3.6.4-r1 )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( dev-tex/latex2html )
+ test? (
+ dev-cpp/gtest
+ cuda? ( sci-libs/hdf5 )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-examples.patch
+ "${FILESDIR}"/${P}-options.patch
+ "${FILESDIR}"/${P}-CUDA_NVCC_FLAGS.patch
+ "${FILESDIR}"/${P}-cuda5.5.patch
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${P}-docdir.patch
+)
+
+S="${WORKDIR}"/${P}-src
+
+pkg_setup() {
+ if use openmp; then
+ if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp ; then
+ ewarn "OpenMP is not available in your current selected gcc"
+ die "need openmp capable gcc"
+ fi
+ fi
+}
+
+src_prepare() {
+ # bug #302621
+ use mpi && export CXX=mpicxx
+ # produce pure octave files
+ # octave gentoo installation for .m files respected
+ sed -i \
+ -e 's/--mex//' \
+ -e 's/\.mex/\.oct/' \
+ -e '/FILES/s/${MEX_FILE}//' \
+ -e 's:share/flann/octave:share/octave/site/m:' \
+ -e "/CUSTOM_TARGET/a\INSTALL(FILES \${MEX_FILE} DESTINATION libexec/octave/site/oct/${CHOST})" \
+ src/matlab/CMakeLists.txt || die
+ use cuda && cuda_src_prepare
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # python bindings are split
+ local mycmakeargs=(
+ -DBUILD_C_BINDINGS=ON
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DPYTHON_EXECUTABLE=
+ -DDOCDIR=share/doc/${PF}
+ $(cmake-utils_use_build cuda CUDA_LIB)
+ $(cmake-utils_use_build examples)
+ $(cmake-utils_use_build doc)
+ $(cmake-utils_use_build test TESTS)
+ $(cmake-utils_use_build octave MATLAB_BINDINGS)
+ $(cmake-utils_use_use mpi)
+ $(cmake-utils_use_use openmp)
+ )
+ use cuda && \
+ mycmakeargs+=(
+ -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch"
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ ln -s "${WORKDIR}"/testdata/* test/ || die
+ # -j1 to avoid obversubscribing jobs
+ LD_LIBRARY_PATH="${BUILD_DIR}/lib" \
+ cmake-utils_src_compile -j1 test
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.md
+ if ! use static-libs; then
+ find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+' || die
+ fi
+}
diff --git a/sci-libs/flann/flann-9999.ebuild b/sci-libs/flann/flann-9999.ebuild
new file mode 100644
index 000000000000..ebc34bb597bd
--- /dev/null
+++ b/sci-libs/flann/flann-9999.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils cuda eutils git-r3 multilib toolchain-funcs
+
+DESCRIPTION="Library for performing fast approximate nearest neighbor searches in high dimensional spaces"
+HOMEPAGE="http://www.cs.ubc.ca/research/flann/"
+SRC_URI="test? ( http://dev.gentoo.org/~bicatali/distfiles/${PN}-1.8.4-testdata.tar.xz )"
+EGIT_REPO_URI="https://github.com/mariusmuja/flann.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="cuda doc examples mpi openmp octave static-libs test"
+
+RDEPEND="
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
+ mpi? (
+ sci-libs/hdf5[mpi]
+ dev-libs/boost[mpi]
+ )
+ !mpi? ( !sci-libs/hdf5[mpi] )
+ octave? ( >=sci-mathematics/octave-3.6.4-r1 )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ doc? ( dev-tex/latex2html )
+ test? (
+ dev-cpp/gtest
+ cuda? ( sci-libs/hdf5 )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.4-options.patch
+ "${FILESDIR}"/${PN}-1.8.4-CUDA_NVCC_FLAGS.patch
+ "${FILESDIR}"/${PN}-1.8.4-cuda5.5.patch
+ "${FILESDIR}"/${PN}-1.8.4-multilib.patch
+ "${FILESDIR}"/${PN}-1.8.4-docdir.patch
+)
+
+pkg_setup() {
+ if use openmp; then
+ if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp ; then
+ ewarn "OpenMP is not available in your current selected gcc"
+ die "need openmp capable gcc"
+ fi
+ fi
+}
+
+src_unpack() {
+ default
+ git-r3_src_unpack
+}
+
+src_prepare() {
+ # bug #302621
+ use mpi && export CXX=mpicxx
+
+ # produce pure octave files
+ # octave gentoo installation for .m files respected
+ sed -i \
+ -e 's/--mex//' \
+ -e 's/\.mex/\.oct/' \
+ -e '/FILES/s/${MEX_FILE}//' \
+ -e 's:share/flann/octave:share/octave/site/m:' \
+ -e "/CUSTOM_TARGET/a\INSTALL(FILES \${MEX_FILE} DESTINATION libexec/octave/site/oct/${CHOST})" \
+ src/matlab/CMakeLists.txt || die
+ use cuda && cuda_src_prepare
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # python bindings are split
+ local mycmakeargs=(
+ -DBUILD_C_BINDINGS=ON
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DPYTHON_EXECUTABLE=
+ -DDOCDIR=share/doc/${PF}
+ $(cmake-utils_use_build cuda CUDA_LIB)
+ $(cmake-utils_use_build examples)
+ $(cmake-utils_use_build doc)
+ $(cmake-utils_use_build test TESTS)
+ $(cmake-utils_use_build octave MATLAB_BINDINGS)
+ $(cmake-utils_use_use mpi)
+ $(cmake-utils_use_use openmp)
+ )
+ use cuda && \
+ mycmakeargs+=(
+ -DCUDA_NVCC_FLAGS="${NVCCFLAGS},-arsch"
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ ln -s "${WORKDIR}"/testdata/* test/ || die
+ # -j1 to avoid obversubscribing jobs
+ LD_LIBRARY_PATH="${BUILD_DIR}/lib" \
+ cmake-utils_src_compile -j1 test
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README.md
+ if ! use static-libs; then
+ find "${ED}" -name 'lib*.a' -exec rm -rf '{}' '+' || die
+ fi
+}
diff --git a/sci-libs/flann/metadata.xml b/sci-libs/flann/metadata.xml
new file mode 100644
index 000000000000..3b08417e4cab
--- /dev/null
+++ b/sci-libs/flann/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ FLANN is a library for performing fast approximate nearest neighbor
+ searches in high dimensional spaces. It contains a collection of
+ algorithms we found to work best for nearest neighbor search and a
+ system for automatically choosing the best algorithm and optimum
+ parameters depending on the dataset.
+ FLANN is written in C++ and contains bindings for the following
+ languages: C, MATLAB and Python.
+</longdescription>
+ <use>
+ <flag name="octave">Add bindings for
+ <pkg>sci-mathematics/octave</pkg></flag>
+ <flag name="cuda">Enable support for nVidia CUDA</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/fplll/Manifest b/sci-libs/fplll/Manifest
new file mode 100644
index 000000000000..0009bfe504cc
--- /dev/null
+++ b/sci-libs/fplll/Manifest
@@ -0,0 +1 @@
+DIST libfplll-4.0.4.tar.gz 413519 SHA256 cba8b0ded43f235003a58bcd4b2973105749b3f69732ae09fa44c7e98f5f71b1 SHA512 81cf61118f0dadca8fd82cc58df2fb5f0dc3ddd15a9b5de95a7777e0ece77d8f6a6d50d14ba7fdd6be6697cf375fac2e60792c94cc65f5a181c427dea84d552d WHIRLPOOL a9a9990d899db24693b038ff2d12505be8aa4017f715cf5d3970cf55d6077460a16a69b336b90c88c69877717e555ae79bcf7f014adcc152dd966c0779787a9f
diff --git a/sci-libs/fplll/fplll-4.0.4.ebuild b/sci-libs/fplll/fplll-4.0.4.ebuild
new file mode 100644
index 000000000000..aba721c3bc2a
--- /dev/null
+++ b/sci-libs/fplll/fplll-4.0.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Different implementations of the floating-point LLL reduction algorithm"
+HOMEPAGE="http://perso.ens-lyon.fr/damien.stehle/index.html#software"
+SRC_URI="http://perso.ens-lyon.fr/damien.stehle/fplll/lib${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/gmp-4.2.0:0
+ >=dev-libs/mpfr-2.3.0:0"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/lib${P}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog NEWS README" default
+ dohtml README.html
+ prune_libtool_files
+}
diff --git a/sci-libs/fplll/metadata.xml b/sci-libs/fplll/metadata.xml
new file mode 100644
index 000000000000..91f4e72fb544
--- /dev/null
+++ b/sci-libs/fplll/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/freesteam/Manifest b/sci-libs/freesteam/Manifest
new file mode 100644
index 000000000000..0195beb50917
--- /dev/null
+++ b/sci-libs/freesteam/Manifest
@@ -0,0 +1 @@
+DIST freesteam-2.0.tar.bz2 80838 SHA256 9c21768648ec4faffeb536fdcde039f3e02d9e413f85e19234c285c64808ffad SHA512 32c69a5b6665c62c566fb1c6e4b349ec820028a0a431532a39d0f8d07c2a474c1d41b166dff5e05087a94b58066084a0a369a5f3f6531df1021596c6252325f8 WHIRLPOOL 33781bc07e20572de53ad272dc7e5dbc159f9c80fc21845860cf738249167e6e0c03e6c0d8c3e6e9f20dd6cf95a2d246208af3e3895d10313e0bc31df5bb6537
diff --git a/sci-libs/freesteam/files/freesteam-flags.patch b/sci-libs/freesteam/files/freesteam-flags.patch
new file mode 100644
index 000000000000..615bdc050321
--- /dev/null
+++ b/sci-libs/freesteam/files/freesteam-flags.patch
@@ -0,0 +1,28 @@
+From 6a68348f4b1fb755724e1df34bff4d6986d07dab Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
+Date: Sat, 26 Nov 2011 22:30:15 +0100
+Subject: [PATCH] Merge CFLAGS and LDFLAGS from the environment.
+
+---
+ SConstruct | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 9dc17f5..e529e88 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -194,6 +194,11 @@ SConsEnvironment.InstallLibraryAs = lambda env, dest, files: InstallPermAs(env,
+
+ vars.Update(env)
+
++# Merge environment CFLAGS & LDFLAGS
++
++env.MergeFlags([os.environ.get('CFLAGS', ''),
++ os.environ.get('LDFLAGS', '')])
++
+ #----------------
+ # SWIG
+
+--
+1.7.8.rc3.31.g017d.dirty
+
diff --git a/sci-libs/freesteam/files/freesteam-soname-symlinks.patch b/sci-libs/freesteam/files/freesteam-soname-symlinks.patch
new file mode 100644
index 000000000000..dbd8b2a64c26
--- /dev/null
+++ b/sci-libs/freesteam/files/freesteam-soname-symlinks.patch
@@ -0,0 +1,39 @@
+From dd03d6b29fd29f9978022291f0c023e4fe5dd345 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <gentoo@mgorny.alt.pl>
+Date: Sat, 26 Nov 2011 23:18:37 +0100
+Subject: [PATCH] Fix SONAME symlinks - make them relative.
+
+---
+ SConstruct | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 1794691..d84a13a 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -5,7 +5,7 @@
+ # We don't currently propose to support building freesteam from MSVS but
+ # that shouldn't be necessary, as you should be able to use the MinGW-generated
+ # DLL even with MSVS, because it only uses C code.
+-import platform, sys, distutils.sysconfig, os
++import platform, sys, distutils.sysconfig, os, os.path
+
+ #version number for this copy of freesteam
+ version = "2.1"
+@@ -436,11 +436,11 @@ else:
+
+ install_link1 = None
+ if env.subst(link1) != env.subst(libname):
+- install_link1 = env.Command("${INSTALL_ROOT}"+link1,install_lib,"ln -s %s $TARGET" % libname)
++ install_link1 = env.Command("${INSTALL_ROOT}"+link1,install_lib,"ln -s %s $TARGET" % os.path.basename(libname))
+
+ install_link2 = None
+ if env.get("SONAME_MINOR"):
+- install_link2 = env.Command("${INSTALL_ROOT}"+link2,install_lib,"ln -s %s $TARGET"%libname)
++ install_link2 = env.Command("${INSTALL_ROOT}"+link2,install_lib,"ln -s %s $TARGET"%os.path.basename(libname))
+
+ env['installedfiles'] += [install_link1, install_link2]
+
+--
+1.7.8.rc3.31.g017d.dirty
+
diff --git a/sci-libs/freesteam/freesteam-2.0.ebuild b/sci-libs/freesteam/freesteam-2.0.ebuild
new file mode 100644
index 000000000000..c70119b2dadb
--- /dev/null
+++ b/sci-libs/freesteam/freesteam-2.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib scons-utils toolchain-funcs
+
+DESCRIPTION="Open source implementation of IF97 steam tables"
+HOMEPAGE="http://freesteam.sourceforge.net/"
+SRC_URI="mirror://sourceforge/freesteam/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sci-libs/gsl"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-flags.patch
+ "${FILESDIR}"/${PN}-soname-symlinks.patch
+ epatch_user
+}
+
+src_configure() {
+ myesconsargs=(
+ INSTALL_PREFIX=/usr
+ INSTALL_LIB=/usr/$(get_libdir)
+ INSTALL_ROOT="${D}"
+
+ CC="$(tc-getCC)"
+ SWIG=false
+ )
+
+ mkdir -p "${D}" || die
+}
+
+src_compile() {
+ escons
+}
+
+src_install() {
+ escons install
+}
diff --git a/sci-libs/freesteam/freesteam-9999.ebuild b/sci-libs/freesteam/freesteam-9999.ebuild
new file mode 100644
index 000000000000..5df6f06edbc3
--- /dev/null
+++ b/sci-libs/freesteam/freesteam-9999.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib scons-utils toolchain-funcs subversion
+
+DESCRIPTION="Open source implementation of IF97 steam tables"
+HOMEPAGE="http://freesteam.sourceforge.net/"
+SRC_URI=""
+ESVN_REPO_URI=https://freesteam.svn.sourceforge.net/svnroot/freesteam/trunk
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="sci-libs/gsl"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-flags.patch
+ "${FILESDIR}"/${PN}-soname-symlinks.patch
+ epatch_user
+}
+
+src_configure() {
+ myesconsargs=(
+ INSTALL_PREFIX=/usr
+ INSTALL_LIB=/usr/$(get_libdir)
+ INSTALL_ROOT="${D}"
+
+ CC="$(tc-getCC)"
+ SWIG=false
+ )
+
+ mkdir -p "${D}" || die
+}
+
+src_compile() {
+ escons
+}
+
+src_install() {
+ escons install
+}
diff --git a/sci-libs/freesteam/metadata.xml b/sci-libs/freesteam/metadata.xml
new file mode 100644
index 000000000000..46720f594169
--- /dev/null
+++ b/sci-libs/freesteam/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/galib/Manifest b/sci-libs/galib/Manifest
new file mode 100644
index 000000000000..666ff92ab837
--- /dev/null
+++ b/sci-libs/galib/Manifest
@@ -0,0 +1,2 @@
+DIST galib246.tgz 378431 SHA256 441150c728d401a93ed6d9e745eae85f9ddbd413cfe06396f1a426cd31c7cc00
+DIST galib247.tgz 374912 SHA256 ea76b66ce4db4db2ed86e20d6d3ff144abaf73e33620104246639d9b2a465329 SHA512 9c2aca29f24d3f8401ba65c246a0ca7d1fa67e4f756a5258cdb0da111842ea2903c2d70cfd9d60823c9703bcb3415ca670a731924e99878d5536c2f7eb0faba4 WHIRLPOOL 027e1d8999bb09e31da717fb3fb84f023d4488cc161c173e55fdc545b58583f386b6bb9cab631c30f84eae8a8b58c4e669049507bc0ca8561a8ecfba2e57f480
diff --git a/sci-libs/galib/files/galib-2.4.6-gcc4-gentoo.patch b/sci-libs/galib/files/galib-2.4.6-gcc4-gentoo.patch
new file mode 100644
index 000000000000..ed2621649eef
--- /dev/null
+++ b/sci-libs/galib/files/galib-2.4.6-gcc4-gentoo.patch
@@ -0,0 +1,23 @@
+diff -Naur galib246/ga/gaconfig.h galib246-new/ga/gaconfig.h
+--- galib246/ga/gaconfig.h 2005-01-31 10:46:09.000000000 -0500
++++ galib246-new/ga/gaconfig.h 2006-09-26 19:38:09.000000000 -0400
+@@ -192,7 +192,9 @@
+
+ // determine the compiler
+ #if defined(__GNUG__) || defined(__GNUC__)
+-#if __GNUC__ == 3
++#if __GNUC__ == 4
++#define GALIB_COMPILER "gcc4"
++#elif __GNUC__ == 3
+ #define GALIB_COMPILER "gcc3"
+ #elif __GNUC__ == 2
+ #define GALIB_COMPILER "gcc2"
+@@ -365,7 +367,7 @@
+ #define GALIB_USE_PID
+ #define GALIB_USE_EMPTY_TEMPLATES
+ #define GALIB_NEED_INSTANTIATION_PREFIX
+-#if __GNUC__ == 3
++#if __GNUC__ >= 3
+ #define GALIB_USE_ANSI_HEADERS
+ #define GALIB_USE_STD_NAMESPACE
+ #define GALIB_USE_COMP_OPERATOR_TEMPLATES
diff --git a/sci-libs/galib/files/galib-2.4.6-makefile.patch b/sci-libs/galib/files/galib-2.4.6-makefile.patch
new file mode 100644
index 000000000000..a2ced027a4a1
--- /dev/null
+++ b/sci-libs/galib/files/galib-2.4.6-makefile.patch
@@ -0,0 +1,12 @@
+--- galib246/ga/makefile.sources 2000-02-03 14:00:46.000000000 -0600
++++ galib246-new/ga/makefile.sources 2006-04-30 09:30:13.000000000 -0500
+@@ -8,7 +8,8 @@
+ GA1DBinStrGenome.h GA2DBinStrGenome.h GA3DBinStrGenome.h GABin2DecGenome.h \
+ GA1DArrayGenome.h GA2DArrayGenome.h GA3DArrayGenome.h \
+ GAStringGenome.h GARealGenome.h \
+- GATreeBASE.h GATree.h GATreeGenome.h GAListBASE.h GAList.h GAListGenome.h
++ GATreeBASE.h GATree.h GATreeGenome.h GAListBASE.h GAList.h GAListGenome.h \
++ std_stream.h
+ SRCS= garandom.C gaerror.C GAParameter.C GAStatistics.C \
+ GABaseGA.C GASStateGA.C GASimpleGA.C GAIncGA.C GADemeGA.C GADCrowdingGA.C \
+ GASelector.C GAScaling.C GAPopulation.C GAGenome.C \
diff --git a/sci-libs/galib/galib-2.4.6.ebuild b/sci-libs/galib/galib-2.4.6.ebuild
new file mode 100644
index 000000000000..f788fae15adf
--- /dev/null
+++ b/sci-libs/galib/galib-2.4.6.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+MYPV="${PV//\./}"
+
+DESCRIPTION="Library for genetic algorithms in C++ programs"
+HOMEPAGE="http://lancet.mit.edu/ga/"
+SRC_URI="http://lancet.mit.edu/ga/dist/galib${MYPV}.tgz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE=""
+
+S="${WORKDIR}/galib${MYPV}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch \
+ "${FILESDIR}"/${P}-makefile.patch \
+ "${FILESDIR}"/${P}-gcc4-gentoo.patch
+}
+
+src_compile() {
+ emake CXXFLAGS="${CXXFLAGS}" || die "make failed"
+}
+
+src_install() {
+ dodir /usr/lib /usr/include
+ emake LIB_DEST_DIR="${D}"/usr/lib/ HDR_DEST_DIR="${D}"/usr/include/ install || die
+ dohtml -r doc/*
+ dodoc RELEASE-NOTES README
+ cp -r examples "${D}"/usr/share/doc/${PF}/
+}
diff --git a/sci-libs/galib/galib-2.4.7.ebuild b/sci-libs/galib/galib-2.4.7.ebuild
new file mode 100644
index 000000000000..067082dd4eaf
--- /dev/null
+++ b/sci-libs/galib/galib-2.4.7.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit multilib
+
+MYPV="${PV//\./}"
+
+DESCRIPTION="Library for genetic algorithms in C++ programs"
+HOMEPAGE="http://lancet.mit.edu/ga/"
+SRC_URI="http://lancet.mit.edu/ga/dist/galib${MYPV}.tgz"
+
+LICENSE="BSD examples? ( GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+S="${WORKDIR}/galib${MYPV}"
+
+src_prepare() {
+ sed -i \
+ -e 's:/include:${EPREFIX}/usr/include:' \
+ -e "s:/lib:${EPREFIX}/usr/$(get_libdir):" \
+ -e '/^CXX/d' \
+ -e '/^CXXFLAGS/d' \
+ -e '/^LD/d' \
+ makevars || die "sed makevars failed"
+}
+
+src_compile() {
+ emake lib
+}
+
+src_install() {
+ dodir /usr/$(get_libdir)
+ default
+
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r doc/*
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ cd examples
+ make clean
+ sed -i \
+ -e '/^include/d' \
+ -e '/^INC_DIRS/d' \
+ -e '/^LIB_DIRS/d' \
+ makefile || die "sed makefile failed"
+ doins -r *
+ fi
+}
diff --git a/sci-libs/galib/metadata.xml b/sci-libs/galib/metadata.xml
new file mode 100644
index 000000000000..ec87df8ac6c2
--- /dev/null
+++ b/sci-libs/galib/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ GAlib contains a set of C++ genetic algorithm objects. The library
+ includes tools for using genetic algorithms to do optimization in
+ any C++ program using any representation and genetic operators.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/gamer/Manifest b/sci-libs/gamer/Manifest
new file mode 100644
index 000000000000..cfb2ee8e6fb2
--- /dev/null
+++ b/sci-libs/gamer/Manifest
@@ -0,0 +1 @@
+DIST gamer-1.5.tar.gz 4232061 SHA256 3dce4a5137bf1a2b4ee84bde425ea83937b5f8442f1b95b1d284f07dae933788 SHA512 4911b208ae5cd7be7ef165bac8fc9680ff03c0936881ae3d162205df9ef4f3fb176455e27b2f4ca202c3129352156cf5166b1d7d99fde7b281b404e383f72a44 WHIRLPOOL cc32e8772d32bc11a2bed8f5bad124ff4a1c3fad2e2f15462c9fb710f8de82547ae5db9ad0a87a6469ca9839c4e066c9eadc32c5decdb9c207eead2f8a939eb2
diff --git a/sci-libs/gamer/files/1.4-doc.patch b/sci-libs/gamer/files/1.4-doc.patch
new file mode 100644
index 000000000000..642601bcc17b
--- /dev/null
+++ b/sci-libs/gamer/files/1.4-doc.patch
@@ -0,0 +1,20 @@
+diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
+index 4067c1c..43867e2 100644
+--- a/doc/doxygen/Makefile.am
++++ b/doc/doxygen/Makefile.am
+@@ -9,13 +9,11 @@
+ ## Author: Michael Holst
+ ## ###########################################################################
+
+-docdir = @prefix@/doc/gamer
+-
+ doc_DATA = gamer_doc
+
+ gamer_doc:
+ $(doxygen_path) $(top_srcdir)/doc/doxygen/gamer.dox
+
+ install-docDATA:
+- mkdir -p $(docdir)
+- cp -r ../api $(docdir)/
++ mkdir -p $(DESTDIR)/@docdir@
++ cp -r ../api $(DESTDIR)/@docdir@
diff --git a/sci-libs/gamer/files/1.4-multilib.patch b/sci-libs/gamer/files/1.4-multilib.patch
new file mode 100644
index 000000000000..3ebc8dcd7aab
--- /dev/null
+++ b/sci-libs/gamer/files/1.4-multilib.patch
@@ -0,0 +1,26 @@
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index de1d7c3..b2420c8 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -35,18 +35,17 @@ LIBTETGEN = libtetgen.la
+ #LIBTETGEN =
+ #endif
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libgamer.la ${LIBTRIANGLE} ${LIBTETGEN}
+
+ libgamer_la_SOURCES =
+-libgamer_la_LIBADD = ${BASE_LIBS} ${BIOM_LIBS}
++libgamer_la_LIBADD = ${BASE_LIBS} ${BIOM_LIBS} -lm -lstdc++ ../tetgen/libtetgen.la
+ libgamer_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libtriangle_la_SOURCES =
+-libtriangle_la_LIBADD = ${TRIANGLE_LIBS}
++libtriangle_la_LIBADD = ${TRIANGLE_LIBS} -lm
+ libtriangle_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libtetgen_la_SOURCES =
+-libtetgen_la_LIBADD = ${TETGEN_LIBS}
++libtetgen_la_LIBADD = ${TETGEN_LIBS} -lm -lstdc++
+ libtetgen_la_LDFLAGS = -version-info ${FETK_VERSION}
+
diff --git a/sci-libs/gamer/files/1.5-underlinking.patch b/sci-libs/gamer/files/1.5-underlinking.patch
new file mode 100644
index 000000000000..6cd8c93e49f6
--- /dev/null
+++ b/sci-libs/gamer/files/1.5-underlinking.patch
@@ -0,0 +1,42 @@
+ src/aaa_lib/Makefile.am | 17 +++--------------
+ 1 files changed, 3 insertions(+), 14 deletions(-)
+
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index de1d7c3..83e2e5c 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -22,31 +22,20 @@ BASE_LIBS = ../base/libbase.la
+ BIOM_LIBS = ../biom/libbiom.la
+
+ TRIANGLE_LIBS = ../triangle/libtriangle.la
+-#if BUILD_TRIANGLE
+-LIBTRIANGLE = libtriangle.la
+-#else
+-#LIBTRIANGLE =
+-#endif
+
+ TETGEN_LIBS = ../tetgen/libtetgen.la
+-#if BUILD_TETGEN
+-LIBTETGEN = libtetgen.la
+-#else
+-#LIBTETGEN =
+-#endif
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libgamer.la ${LIBTRIANGLE} ${LIBTETGEN}
+
+ libgamer_la_SOURCES =
+-libgamer_la_LIBADD = ${BASE_LIBS} ${BIOM_LIBS}
++libgamer_la_LIBADD = ${BASE_LIBS} ${BIOM_LIBS} -lm -lstdc++ ${LIBTETGEN}
+ libgamer_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libtriangle_la_SOURCES =
+-libtriangle_la_LIBADD = ${TRIANGLE_LIBS}
++libtriangle_la_LIBADD = ${TRIANGLE_LIBS} -lm
+ libtriangle_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libtetgen_la_SOURCES =
+-libtetgen_la_LIBADD = ${TETGEN_LIBS}
++libtetgen_la_LIBADD = ${TETGEN_LIBS} -lm -lstdc++
+ libtetgen_la_LDFLAGS = -version-info ${FETK_VERSION}
+
diff --git a/sci-libs/gamer/gamer-1.5-r2.ebuild b/sci-libs/gamer/gamer-1.5-r2.ebuild
new file mode 100644
index 000000000000..ade30b4c63ba
--- /dev/null
+++ b/sci-libs/gamer/gamer-1.5-r2.ebuild
@@ -0,0 +1,52 @@
+# 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 multilib
+
+DESCRIPTION="Geometry-preserving Adaptive MeshER"
+HOMEPAGE="http://fetk.org/codes/gamer/index.html"
+SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-2"
+IUSE="doc static-libs"
+
+RDEPEND=">=dev-libs/maloc-1.4"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ media-gfx/graphviz
+ app-doc/doxygen
+ )"
+
+S="${WORKDIR}"/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/1.4-multilib.patch
+ "${FILESDIR}"/1.4-doc.patch
+ )
+
+src_configure() {
+ local fetk_include
+ local fetk_lib
+ local myeconfargs
+
+ use doc || myeconfargs+=( ${myconf} --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}"
+
+ myeconfargs+=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --disable-triplet
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/gamer/metadata.xml b/sci-libs/gamer/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/gamer/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/gaul-devel/Manifest b/sci-libs/gaul-devel/Manifest
new file mode 100644
index 000000000000..a37d63050731
--- /dev/null
+++ b/sci-libs/gaul-devel/Manifest
@@ -0,0 +1 @@
+DIST gaul-devel-0.1849-0.tar.bz2 416827 SHA256 b29a3e7ba210701f1ee5cd1fb603cd0d474d26d0a8ae215ddc249612d72b72fc SHA512 c9da2b983073c99b9f785b665b17c7c63b61a5d879c99c167c2014cc1dfd8ad689f89ec788d69a05e0ed391c97dbe1671d039d9122e58a354e8304785082c93d WHIRLPOOL 7920d0f7d314736f8e581c7bf7617b4d71f36693580782718646dd083400d703435deed6d5b877aa8b1ed9be888d55dc715cbd28de9d308e1a66075cb8652186
diff --git a/sci-libs/gaul-devel/files/gaul-devel-0.1849-as-needed.patch b/sci-libs/gaul-devel/files/gaul-devel-0.1849-as-needed.patch
new file mode 100644
index 000000000000..aadea97e6929
--- /dev/null
+++ b/sci-libs/gaul-devel/files/gaul-devel-0.1849-as-needed.patch
@@ -0,0 +1,26 @@
+--- gaul-devel-0.1849-0.orig/src/Makefile.am 2005-04-20 16:25:27.000000000 +0200
++++ gaul-devel-0.1849-0/src/Makefile.am 2010-02-13 16:57:55.051370268 +0100
+@@ -83,7 +83,7 @@
+ gaul/ga_tabu.h \
+ gaul.h
+
+-libgaul_la_LIBFLAGS = -lm
++libgaul_la_LIBADD = $(top_srcdir)/util/libgaul_util.la -lm
+ libgaul_la_LDFLAGS = -version-info ${GA_MAJOR_VERSION}:${GA_LT_MINOR_VERSION}:0
+
+
+--- gaul-devel-0.1849-0.orig/util/Makefile.am 2005-04-20 16:25:53.000000000 +0200
++++ gaul-devel-0.1849-0/util/Makefile.am 2010-02-13 17:00:00.128370192 +0100
+@@ -64,10 +64,10 @@
+ gaul/table_util.h \
+ gaul/timer_util.h
+
+-libgaul_util_a_LIBFLAGS =
++libgaul_util_la_LIBADD = -lm
+ libgaul_util_la_LDFLAGS = -version-info ${GA_MAJOR_VERSION}:${GA_LT_MINOR_VERSION}:0
+
+-libnn_util_a_LIBFLAGS =
++libnn_util_la_LIBADD = -lm
+ libnn_util_la_LDFLAGS = -version-info ${GA_MAJOR_VERSION}:${GA_LT_MINOR_VERSION}:0
+
+ # Regenerate gaul_config.h with config.status whenever gaul_config.h.in changes.
diff --git a/sci-libs/gaul-devel/files/gaul-devel-0.1849-slang2-error.patch b/sci-libs/gaul-devel/files/gaul-devel-0.1849-slang2-error.patch
new file mode 100644
index 000000000000..64b3c59a28bb
--- /dev/null
+++ b/sci-libs/gaul-devel/files/gaul-devel-0.1849-slang2-error.patch
@@ -0,0 +1,30 @@
+diff -Naur gaul-devel-0.1849-0/tests/test_slang.c gaul-devel-0.1849-0.new/tests/test_slang.c
+--- gaul-devel-0.1849-0/tests/test_slang.c 2003-08-19 17:41:20.000000000 -0400
++++ gaul-devel-0.1849-0.new/tests/test_slang.c 2008-02-09 10:42:43.000000000 -0500
+@@ -287,10 +287,11 @@
+ */
+ if (-1 == SLang_load_file(script_fname))
+ {
++ int error = SLang_get_error();
+ dief("Error %d interpreting the S-Lang script \"%s\".",
+- SLang_Error, script_fname);
++ error, script_fname);
+ SLang_restart(1); /* reset interpreter. */
+- SLang_Error = 0;
++ SLang_set_error(0);
+ return FALSE;
+ }
+
+@@ -315,9 +316,10 @@
+ */
+ if (-1 == SLang_load_file(NULL))
+ {
+- dief("Error %d interpreting the SLang script from stdin.", SLang_Error);
++ int error = SLang_get_error();
++ dief("Error %d interpreting the SLang script from stdin.", error);
+ SLang_restart(1);
+- SLang_Error = 0;
++ SLang_set_error(0);
+ return FALSE;
+ }
+
diff --git a/sci-libs/gaul-devel/gaul-devel-0.1849-r1.ebuild b/sci-libs/gaul-devel/gaul-devel-0.1849-r1.ebuild
new file mode 100644
index 000000000000..13b0dea70668
--- /dev/null
+++ b/sci-libs/gaul-devel/gaul-devel-0.1849-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="Genetic Algorithm Utility Library"
+HOMEPAGE="http://GAUL.sourceforge.net/"
+SRC_URI="mirror://sourceforge/gaul/${P}-0.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="debug slang"
+
+DEPEND="
+ sys-apps/sed
+ slang? ( sys-libs/slang )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${P}-0
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-slang2-error.patch
+}
+
+src_compile() {
+ local myconf
+ use slang || myconf="--enable-slang=no"
+ if use debug ; then
+ myconf="${myconf} --enable-debug=yes --enable-memory-debug=yes"
+ else
+ myconf="${myconf} --enable-g=no"
+ fi
+ econf ${myconf}
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install || die "Install failed"
+ dodoc README || die
+}
diff --git a/sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild b/sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild
new file mode 100644
index 000000000000..b62af63400b0
--- /dev/null
+++ b/sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils
+
+DESCRIPTION="Genetic Algorithm Utility Library"
+HOMEPAGE="http://GAUL.sourceforge.net/"
+SRC_URI="mirror://sourceforge/gaul/${P}-0.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug slang static-libs"
+
+DEPEND="
+ sys-apps/sed
+ slang? ( sys-libs/slang )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${P}-0
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-slang2-error.patch \
+ "${FILESDIR}"/${P}-as-needed.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ use slang || myconf="--enable-slang=no"
+ if use debug ; then
+ myconf="${myconf} --enable-debug=yes --enable-memory-debug=yes"
+ else
+ myconf="${myconf} --enable-g=no"
+ fi
+ econf $(use_enable static-libs static) ${myconf}
+}
+
+src_install() {
+ MAKEOPTS+=" -j1"
+ default
+}
diff --git a/sci-libs/gaul-devel/metadata.xml b/sci-libs/gaul-devel/metadata.xml
new file mode 100644
index 000000000000..cce2626de2b1
--- /dev/null
+++ b/sci-libs/gaul-devel/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The Genetic Algorithm Utility Library is a
+ flexible programming library designed to aid in the development of
+ applications that use genetic, or evolutionary, algorithms. It
+ provides data structures and functions for handling and manipulation
+ of the data required for serial and parallel evolutionary
+ algorithms. Additional stochastic algorithms are provided for
+ comparison to the genetic algorithms. Much of the functionality is
+ also available through a simple S-Lang interface.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">gaul</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest
new file mode 100644
index 000000000000..362db48635ff
--- /dev/null
+++ b/sci-libs/gdal/Manifest
@@ -0,0 +1,3 @@
+DIST gdal-1.11.1.tar.gz 10731242 SHA256 f46b5944a8cabc8516673f231f466131cdfd2cdc6677dbee5d96ec7fc58a3340 SHA512 17214ae17a5199d73477d17cf8680396aee8a28d4333cf55818bdd869548dc6a4d7535d7e05949696db31a7be4a511c5ca73199af3dda48d9a40d5640618e9c3 WHIRLPOOL 1f07ee4acccf58552ddef6b5a306b9dbe832014f6890d353f195ab0d47dfc4e81164b7c8b9cefc9915035d113d2f28818f05e89918728eadb0e80e43e7220b5b
+DIST gdal-1.11.2.tar.gz 10746847 SHA256 66bc8192d24e314a66ed69285186d46e6999beb44fc97eeb9c76d82a117c0845 SHA512 f1f025de5a618cc2458b6d1f066647341ad4ded1cc2a08e4b78756d96d38715ddd8ba34b7c263369bde66cb20c7919195e13b60a1ecadee25ef80db79f3eb7da WHIRLPOOL 77274f6f9b9bb29fc21c6f274512bccebc7748420c31e3e626d26087194f69b9606354603b393b77903451b073d034f2508403193fdf738f5b099d7808771653
+DIST gdal-2.0.0.tar.gz 11582325 SHA256 53761563ff53c5bf27bff7c4d6cab8bb1634baccefda05348e0f3b7acaf4c9e6 SHA512 74ae9d01a69652c92a16bc91f71b4c8416697d5f7aa137d385f58b7dc63c165c26330464c98891ac66b09475de24fbbff61f506ad1c9ecf64ffe08f1429fbad5 WHIRLPOOL 7d4a27e94e41ea53050ae3b8f1f06720e13626885455897caf6659a88c87bf61c087102963182b580e56a8840e3b57b6fbb8adadde64fd4679d5c37c3aa682c7
diff --git a/sci-libs/gdal/files/gdal-1.10.0-ruby-makefile.patch b/sci-libs/gdal/files/gdal-1.10.0-ruby-makefile.patch
new file mode 100644
index 000000000000..cc89200c526d
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.10.0-ruby-makefile.patch
@@ -0,0 +1,47 @@
+diff -Naurw gdal-1.10.0.orig/swig/ruby/RubyMakefile.mk gdal-1.10.0/swig/ruby/RubyMakefile.mk
+--- gdal-1.10.0.orig/swig/ruby/RubyMakefile.mk 2013-04-24 18:55:26.000000000 +0000
++++ gdal-1.10.0/swig/ruby/RubyMakefile.mk 2013-06-25 23:58:06.464518830 +0000
+@@ -37,13 +37,13 @@
+
+ ifeq ("$(shell uname -s)", "Darwin")
+ RUBY_MODULES=$(RUBY_MODULES_MAC)
+-LDFLAGS += -Xcompiler -bundle -L$(RUBY_LIB_DIR)
+-RUBY_LIB := -l$(RUBY_SO_NAME)
+ else
+ RUBY_MODULES=$(RUBY_MODULES_LIN)
+-LDFLAGS += -Xcompiler -shared -L$(RUBY_LIB_DIR)
+-RUBY_LIB := -l$(RUBY_SO_NAME)
+ endif
++LDFLAGS += -fPIC -DPIC -shared -L$(RUBY_LIB_DIR)
++CFLAGS += -fPIC -DPIC
++CXXFLAGS += -fPIC -DPIC
++RUBY_LIB := -l$(RUBY_SO_NAME)
+
+ build: $(RUBY_MODULES)
+
+@@ -56,10 +56,10 @@
+ veryclean: clean
+ rm -f *_wrap.cpp
+
+-$(INSTALL_DIR):
++$(DESTDIR)$(INSTALL_DIR):
+ mkdir -p $(DESTDIR)$(INSTALL_DIR)
+
+-install: $(INSTALL_DIR)
++install: $(DESTDIR)$(INSTALL_DIR) $(RUBY_MODULES)
+ for i in $(RUBY_MODULES) ; do $(INSTALL) $$i $(DESTDIR)$(INSTALL_DIR) ; done
+
+ $(RUBY_MODULES_MAC): %.bundle: %_wrap.o
+@@ -69,10 +69,10 @@
+ $(LD) $(LDFLAGS) $(LIBS) $(GDAL_SLIB_LINK) $(RUBY_LIB) $< -o $@
+
+ %.o: %.cpp
+- $(CXX) $(CFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
++ $(CXX) $(CXXFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
+
+ %.o: %.cxx
+- $(CXX) $(CFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
++ $(CXX) $(CXXFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
+
+ %.o: %.c
+ $(CC) $(CFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
diff --git a/sci-libs/gdal/files/gdal-1.11.1-poppler-0.31.0-support.patch b/sci-libs/gdal/files/gdal-1.11.1-poppler-0.31.0-support.patch
new file mode 100644
index 000000000000..7700c2463873
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.11.1-poppler-0.31.0-support.patch
@@ -0,0 +1,119 @@
+diff -urpN gdal-1.11.1.orig/frmts/pdf/pdfdataset.cpp gdal-1.11.1/frmts/pdf/pdfdataset.cpp
+--- gdal-1.11.1.orig/frmts/pdf/pdfdataset.cpp 2014-09-24 06:47:43.000000000 -0700
++++ gdal-1.11.1/frmts/pdf/pdfdataset.cpp 2015-02-19 13:55:58.714589328 -0800
+@@ -108,12 +108,9 @@ class GDALPDFOutputDev : public SplashOu
+
+ public:
+ GDALPDFOutputDev(SplashColorMode colorModeA, int bitmapRowPadA,
+- GBool reverseVideoA, SplashColorPtr paperColorA,
+- GBool bitmapTopDownA = gTrue,
+- GBool allowAntialiasA = gTrue) :
++ GBool reverseVideoA, SplashColorPtr paperColorA) :
+ SplashOutputDev(colorModeA, bitmapRowPadA,
+- reverseVideoA, paperColorA,
+- bitmapTopDownA, allowAntialiasA),
++ reverseVideoA, paperColorA),
+ bEnableVector(TRUE),
+ bEnableText(TRUE),
+ bEnableBitmap(TRUE) {}
+diff -urpN gdal-1.11.1.orig/frmts/pdf/pdfio.cpp gdal-1.11.1/frmts/pdf/pdfio.cpp
+--- gdal-1.11.1.orig/frmts/pdf/pdfio.cpp 2014-09-24 06:47:43.000000000 -0700
++++ gdal-1.11.1/frmts/pdf/pdfio.cpp 2015-02-19 13:55:58.715589318 -0800
+@@ -39,13 +39,25 @@
+
+ CPL_CVSID("$Id$");
+
++
++#ifdef POPPLER_BASE_STREAM_HAS_TWO_ARGS
++/* Poppler 0.31.0 is the first one that needs to know the file size */
++static vsi_l_offset VSIPDFFileStreamGetSize(VSILFILE* f)
++{
++ VSIFSeekL(f, 0, SEEK_END);
++ vsi_l_offset nSize = VSIFTellL(f);
++ VSIFSeekL(f, 0, SEEK_SET);
++ return nSize;
++}
++#endif
++
+ /************************************************************************/
+ /* VSIPDFFileStream() */
+ /************************************************************************/
+
+ VSIPDFFileStream::VSIPDFFileStream(VSILFILE* f, const char* pszFilename, Object *dictA):
+ #ifdef POPPLER_BASE_STREAM_HAS_TWO_ARGS
+- BaseStream(dictA, 0)
++ BaseStream(dictA, (setPos_offset_type)VSIPDFFileStreamGetSize(f))
+ #else
+ BaseStream(dictA)
+ #endif
+@@ -195,7 +207,7 @@ int VSIPDFFileStream::FillBuffer()
+ /* getChar() */
+ /************************************************************************/
+
+-/* The unoptimized version performs a bit well since we must go through */
++/* The unoptimized version performs a bit less since we must go through */
+ /* the whole virtual I/O chain for each character reading. We save a few */
+ /* percent with this extra internal caching */
+
+@@ -326,4 +338,47 @@ void VSIPDFFileStream::moveStart(moveSta
+ nPosInBuffer = nBufferLength = -1;
+ }
+
++/************************************************************************/
++/* hasGetChars() */
++/************************************************************************/
++
++GBool VSIPDFFileStream::hasGetChars()
++{
++ return true;
++}
++
++/************************************************************************/
++/* getChars() */
++/************************************************************************/
++
++int VSIPDFFileStream::getChars(int nChars, Guchar *buffer)
++{
++ int nRead = 0;
++ while (nRead < nChars)
++ {
++ int nToRead = nChars - nRead;
++ if (nPosInBuffer == nBufferLength)
++ {
++ if (!bLimited && nToRead > BUFFER_SIZE)
++ {
++ int nJustRead = (int) VSIFReadL(buffer + nRead, 1, nToRead, f);
++ nPosInBuffer = nBufferLength = -1;
++ nCurrentPos += nJustRead;
++ nRead += nJustRead;
++ break;
++ }
++ else if (!FillBuffer() || nPosInBuffer >= nBufferLength)
++ break;
++ }
++ if( nToRead > nBufferLength - nPosInBuffer )
++ nToRead = nBufferLength - nPosInBuffer;
++
++ memcpy( buffer + nRead, abyBuffer + nPosInBuffer, nToRead );
++ nPosInBuffer += nToRead;
++ nCurrentPos += nToRead;
++ nRead += nToRead;
++ }
++ return nRead;
++}
++
+ #endif
+diff -urpN gdal-1.11.1.orig/frmts/pdf/pdfio.h gdal-1.11.1/frmts/pdf/pdfio.h
+--- gdal-1.11.1.orig/frmts/pdf/pdfio.h 2014-09-24 06:47:43.000000000 -0700
++++ gdal-1.11.1/frmts/pdf/pdfio.h 2015-02-19 13:55:58.715589318 -0800
+@@ -93,6 +93,10 @@ class VSIPDFFileStream: public BaseStrea
+ virtual void close();
+
+ private:
++ /* Added in poppler 0.15.0 */
++ virtual GBool hasGetChars();
++ virtual int getChars(int nChars, Guchar *buffer);
++
+ VSIPDFFileStream *poParent;
+ GooString *poFilename;
+ VSILFILE *f;
diff --git a/sci-libs/gdal/files/gdal-1.11.1-swig-3.0.3.patch b/sci-libs/gdal/files/gdal-1.11.1-swig-3.0.3.patch
new file mode 100644
index 000000000000..c6b8240b8ebf
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.11.1-swig-3.0.3.patch
@@ -0,0 +1,161 @@
+svn diff -c 28298 https://svn.osgeo.org/gdal/branches/1.11
+r28298 | rouault | 2015-01-06 10:03:37 +0100 (Di, 06 Jan 2015) | 1 line
+Python bindings: fix processing error of ogr_python.i with SWIG 3 (#5795)
+http://trac.osgeo.org/gdal/ticket/5795#comment:3
+https://bugs.gentoo.org/534168
+
+Index: gdal/swig/python/osgeo/ogr.py
+===================================================================
+--- gdal/swig/python/osgeo/ogr.py (revision 28297)
++++ gdal/swig/python/osgeo/ogr.py (revision 28298)
+@@ -2025,12 +2025,12 @@
+ """Returns the number of features in the layer"""
+ return self.GetFeatureCount()
+
+-
+-
++ # To avoid __len__ being called when testing boolean value
++ # which can have side effects (#4758)
+ def __nonzero__(self):
+ return True
+
+-
++ # For Python 3 compat
+ __bool__ = __nonzero__
+
+ def __getitem__(self, value):
+@@ -2041,9 +2041,9 @@
+ import sys
+ output = []
+ if value.stop == sys.maxint:
+-
+-
+-
++ #for an unending slice, sys.maxint is used
++ #We need to stop before that or GDAL will write an
++ ##error to stdout
+ stop = len(self) - 1
+ else:
+ stop = value.stop
+@@ -2944,8 +2944,8 @@
+ def __copy__(self):
+ return self.Clone()
+
+-
+-
++ # This makes it possible to fetch fields in the form "feature.area".
++ # This has some risk of name collisions.
+ def __getattr__(self, key):
+ """Returns the values of fields by the given name"""
+ if key == 'this':
+@@ -2961,8 +2961,8 @@
+ else:
+ return self.GetField(idx)
+
+-
+-
++ # This makes it possible to set fields in the form "feature.area".
++ # This has some risk of name collisions.
+ def __setattr__(self, key, value):
+ """Set the values of fields by the given name"""
+ if key == 'this' or key == 'thisown':
+@@ -2978,7 +2978,7 @@
+ else:
+ self.__dict__[key] = value
+
+-
++ # This makes it possible to fetch fields in the form "feature['area']".
+ def __getitem__(self, key):
+ """Returns the values of fields by the given name / field_index"""
+ if isinstance(key, str):
+@@ -2993,7 +2993,7 @@
+ else:
+ return self.GetField(fld_index)
+
+-
++ # This makes it possible to set fields in the form "feature['area'] = 123".
+ def __setitem__(self, key, value):
+ """Returns the value of a field by field name / index"""
+ if isinstance(key, str):
+@@ -3026,9 +3026,9 @@
+ return self.GetFieldAsIntegerList(fld_index)
+ if fld_type == OFTRealList:
+ return self.GetFieldAsDoubleList(fld_index)
+-
+-
+-
++ ## if fld_type == OFTDateTime or fld_type == OFTDate or fld_type == OFTTime:
++ # return self.GetFieldAsDate(fld_index)
++ # default to returning as a string. Should we add more types?
+ return self.GetFieldAsString(fld_index)
+
+ def SetField2(self, fld_index, value):
+Index: gdal/swig/include/python/ogr_python.i
+===================================================================
+--- gdal/swig/include/python/ogr_python.i (revision 28297)
++++ gdal/swig/include/python/ogr_python.i (revision 28298)
+@@ -111,7 +111,7 @@
+ }
+
+ %extend OGRLayerShadow {
+- %pythoncode {
++ %pythoncode %{
+ def Reference(self):
+ "For backwards compatibility only."
+ pass
+@@ -183,12 +183,12 @@
+ return output
+ schema = property(schema)
+
+- }
++ %}
+
+ }
+
+ %extend OGRFeatureShadow {
+- %pythoncode {
++ %pythoncode %{
+ def Reference(self):
+ pass
+
+@@ -383,12 +383,12 @@
+ return output
+
+
+-}
++%}
+
+ }
+
+ %extend OGRGeometryShadow {
+-%pythoncode {
++%pythoncode %{
+ def Destroy(self):
+ self.__swig_destroy__(self)
+ self.__del__()
+@@ -416,8 +416,8 @@
+ return subgeom
+ else:
+ raise StopIteration
++%}
+ }
+-}
+
+
+ %extend OGRFieldDefnShadow {
+@@ -449,13 +449,13 @@
+ }
+
+ %extend OGRFieldDefnShadow {
+-%pythoncode {
++%pythoncode %{
+ def Destroy(self):
+ "Once called, self has effectively been destroyed. Do not access. For backwards compatiblity only"
+ _ogr.delete_FieldDefn( self )
+ self.thisown = 0
++%}
+ }
+-}
+
+ %import typemaps_python.i
+
diff --git a/sci-libs/gdal/files/gdal-1.5.0-install_name.patch b/sci-libs/gdal/files/gdal-1.5.0-install_name.patch
new file mode 100644
index 000000000000..e17575267d6e
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.5.0-install_name.patch
@@ -0,0 +1,45 @@
+--- GDALmake.opt.in.orig 2008-02-02 18:25:48.000000000 -0800
++++ GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
+@@ -97,6 +97,10 @@
+ GDAL_SLIB = $(GDAL_ROOT)/libgdal.$(SO_EXT)
+ GDAL_SLIB_LINK = -L$(GDAL_ROOT) -lgdal
+
++# for building without libtool
++GDAL_SLIB_SO_VER = $(GDAL_VERSION_MAJOR).$(LIBGDAL_CURRENT).$(LIBGDAL_REVISION)
++GDAL_SLIB_SONAME = -install_name $(INST_LIB)/libgdal.$(GDAL_VERSION_MAJOR).$(SO_EXT)
++
+ # Mac OS X Framework definition
+ MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
+
+--- GNUmakefile.orig 2010-03-09 14:03:08 +0100
++++ GNUmakefile 2010-03-09 14:05:29 +0100
+@@ -218,7 +218,7 @@
+
+ ifeq ($(HAVE_LD_SHARED),yes)
+
+-GDAL_SLIB_B = $(notdir $(GDAL_SLIB))
++GDAL_SLIB_B = libgdal
+
+ install-lib:
+
+@@ -226,14 +226,14 @@
+ ifeq ($(MACOSX_FRAMEWORK),yes)
+ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/GDAL
+ else
+- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B)
+- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR)
+- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
+- $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).dylib
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib
++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
++ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VER) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VER).dylib $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib)
+ (cd $(DESTDIR)$(INST_LIB) ; \
+- ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR) $(GDAL_SLIB_B))
++ ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib $(GDAL_SLIB_B).dylib)
+ endif
+
+ else
diff --git a/sci-libs/gdal/files/gdal-1.5.0-soname.patch b/sci-libs/gdal/files/gdal-1.5.0-soname.patch
new file mode 100644
index 000000000000..f784536316c2
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.5.0-soname.patch
@@ -0,0 +1,13 @@
+--- GDALmake.opt.in.orig 2008-02-02 18:25:48.000000000 -0800
++++ GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
+@@ -97,6 +97,10 @@
+ GDAL_SLIB = $(GDAL_ROOT)/libgdal.$(SO_EXT)
+ GDAL_SLIB_LINK = -L$(GDAL_ROOT) -lgdal
+
++# for building without libtool
++GDAL_SLIB_SO_VER = $(GDAL_VERSION_MAJOR).$(LIBGDAL_CURRENT).$(LIBGDAL_REVISION)
++GDAL_SLIB_SONAME = -Wl,-soname,libgdal.$(SO_EXT).$(GDAL_VERSION_MAJOR)
++
+ # Mac OS X Framework definition
+ MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
+
diff --git a/sci-libs/gdal/files/gdal-1.8.1-zlib_header_fix.patch b/sci-libs/gdal/files/gdal-1.8.1-zlib_header_fix.patch
new file mode 100644
index 000000000000..04777c8cdbb1
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.8.1-zlib_header_fix.patch
@@ -0,0 +1,13 @@
+--- port/cpl_minizip_ioapi.h.orig 2011-09-25 13:38:22.000000000 -0700
++++ port/cpl_minizip_ioapi.h 2011-09-25 13:39:22.000000000 -0700
+@@ -41,6 +41,10 @@
+ #endif
+ #endif
+
++#ifndef OF
++#define OF(x) x
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
diff --git a/sci-libs/gdal/files/gdal-1.9.1-ruby-makefile.patch b/sci-libs/gdal/files/gdal-1.9.1-ruby-makefile.patch
new file mode 100644
index 000000000000..b98f68403526
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-1.9.1-ruby-makefile.patch
@@ -0,0 +1,43 @@
+diff -urN gdal-1.9.1.old//swig/ruby/RubyMakefile.mk gdal-1.9.1/swig/ruby/RubyMakefile.mk
+--- gdal-1.9.1.old//swig/ruby/RubyMakefile.mk 2012-05-25 19:54:12.073974979 +0200
++++ gdal-1.9.1/swig/ruby/RubyMakefile.mk 2012-05-25 19:56:56.014977833 +0200
+@@ -37,13 +37,13 @@
+
+ ifeq ("$(shell uname -s)", "Darwin")
+ RUBY_MODULES=$(RUBY_MODULES_MAC)
+-LDFLAGS += -Xcompiler -bundle -L$(RUBY_LIB_DIR)
+-RUBY_LIB := -l$(RUBY_SO_NAME)
+ else
+ RUBY_MODULES=$(RUBY_MODULES_LIN)
+-LDFLAGS += -Xcompiler -shared -L$(RUBY_LIB_DIR)
+-RUBY_LIB := -l$(RUBY_SO_NAME)
+ endif
++LDFLAGS += -fPIC -DPIC -shared -L$(RUBY_LIB_DIR)
++CFLAGS += -fPIC -DPIC
++CXXFLAGS += -fPIC -DPIC
++RUBY_LIB := -l$(RUBY_SO_NAME)
+
+ build: $(RUBY_MODULES)
+
+@@ -59,7 +59,7 @@
+ $(INSTALL_DIR):
+ mkdir -p $(DESTDIR)$(INSTALL_DIR)
+
+-install: $(INSTALL_DIR)
++install: $(INSTALL_DIR) $(RUBY_MODULES)
+ for i in $(RUBY_MODULES) ; do $(INSTALL) $$i $(DESTDIR)$(INSTALL_DIR) ; done
+
+ $(RUBY_MODULES_MAC): %.bundle: %_wrap.o
+@@ -69,10 +69,10 @@
+ $(LD) $(LDFLAGS) $(LIBS) $(GDAL_SLIB_LINK) $(RUBY_LIB) $< -o $@
+
+ %.o: %.cpp
+- $(CXX) $(CFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
++ $(CXX) $(CXXFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
+
+ %.o: %.cxx
+- $(CXX) $(CFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
++ $(CXX) $(CXXFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
+
+ %.o: %.c
+ $(CC) $(CFLAGS) $(GDAL_INCLUDE) $(RUBY_INCLUDE) -c $<
diff --git a/sci-libs/gdal/gdal-1.11.1-r3.ebuild b/sci-libs/gdal/gdal-1.11.1-r3.ebuild
new file mode 100644
index 000000000000..f1a5d5ee29ea
--- /dev/null
+++ b/sci-libs/gdal/gdal-1.11.1-r3.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WANT_AUTOCONF="2.5"
+
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools eutils libtool perl-module distutils-r1 python-r1 toolchain-funcs java-pkg-opt-2
+
+DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
+HOMEPAGE="http://www.gdal.org/"
+SRC_URI="http://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="armadillo +aux_xml curl debug doc fits geos gif gml hdf5 java jpeg jpeg2k mdb mysql netcdf odbc ogdi opencl pdf perl png postgres python ruby spatialite sqlite threads xls"
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/json-c
+ dev-libs/libpcre
+ dev-libs/libxml2
+ media-libs/tiff:0=
+ sci-libs/libgeotiff
+ sys-libs/zlib[minizip(+)]
+ armadillo? ( sci-libs/armadillo[lapack] )
+ curl? ( net-misc/curl )
+ fits? ( sci-libs/cfitsio )
+ geos? ( >=sci-libs/geos-2.2.1 )
+ gif? ( media-libs/giflib )
+ gml? ( >=dev-libs/xerces-c-3 )
+ hdf5? ( >=sci-libs/hdf5-1.6.4[szip] )
+ java? ( >=virtual/jre-1.6:* )
+ jpeg? ( virtual/jpeg:0= )
+ jpeg2k? ( media-libs/jasper )
+ mysql? ( virtual/mysql )
+ netcdf? ( sci-libs/netcdf )
+ odbc? ( dev-db/unixODBC )
+ ogdi? ( sci-libs/ogdi )
+ opencl? ( virtual/opencl )
+ pdf? ( >=app-text/poppler-0.24.3:= )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:0= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ ruby? ( dev-lang/ruby:1.9 )
+ sqlite? ( dev-db/sqlite:3 )
+ spatialite? ( dev-db/spatialite )
+ xls? ( dev-libs/freexl )
+"
+
+SWIG_DEP=">=dev-lang/swig-2.0.2 <=dev-lang/swig-3.0.4"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.6 )
+ perl? ( ${SWIG_DEP} )
+ python? ( ${SWIG_DEP} )
+ ruby? ( ${SWIG_DEP} )"
+
+AT_M4DIR="${S}/m4"
+MAKEOPTS+=" -j1"
+
+REQUIRED_USE="
+ spatialite? ( sqlite )
+ mdb? ( java )
+"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ # fix datadir and docdir placement
+ sed -i \
+ -e "s:@datadir@:@datadir@/gdal:" \
+ -e "s:@exec_prefix@/doc:@exec_prefix@/share/doc/${PF}/html:g" \
+ "${S}"/GDALmake.opt.in || die
+
+ # the second sed expression should fix bug 371075
+ sed -i \
+ -e "s:setup.py install:setup.py install --root=\$(DESTDIR):" \
+ -e "s:--prefix=\$(DESTDIR):--prefix=:" \
+ "${S}"/swig/python/GNUmakefile || die
+
+ epatch "${FILESDIR}"/${PN}-1.10.0-ruby-makefile.patch
+
+ # -soname is only accepted by GNU ld/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && epatch "${FILESDIR}"/${PN}-1.5.0-install_name.patch \
+ || epatch "${FILESDIR}"/${PN}-1.5.0-soname.patch
+
+ # Fix spatialite/sqlite include issue
+ sed -i \
+ -e 's:spatialite/sqlite3.h:sqlite3.h:g' \
+ ogr/ogrsf_frmts/sqlite/ogr_sqlite.h || die
+
+ # Fix freexl configure check
+ sed -i \
+ -e 's:FREEXL_LIBS=missing):FREEXL_LIBS=missing,-lm):g' \
+ configure.in || die
+
+ sed \
+ -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
+ -i configure.in || die
+
+ sed \
+ -e 's:^ar:$(AR):g' \
+ -i ogr/ogrsf_frmts/sdts/install-libs.sh || die
+
+ # Fix swig-3.0.3 problem (bug #534168)
+ epatch "${FILESDIR}"/${PN}-1.11.1-swig-3.0.3.patch
+
+ # bug 540132
+ epatch "${FILESDIR}"/${PN}-1.11.1-poppler-0.31.0-support.patch
+
+ tc-export AR RANLIB
+
+ eautoreconf
+
+ prepare_python() {
+ mkdir -p "${BUILD_DIR}" || die
+ find "${S}" -type d -maxdepth 1 -exec ln -s {} "${BUILD_DIR}"/ \; ||die
+ find "${S}" -type f -maxdepth 1 -exec cp --target="${BUILD_DIR}"/ {} + ||die
+# mkdir -p "${BUILD_DIR}"/swig/python || die
+# mkdir -p "${BUILD_DIR}"/apps || die
+# cp -dpR --target="${BUILD_DIR}"/swig/ \
+# "${S}"/swig/{python,SWIGmake.base,GNUmakefile} || die
+# ln -s "${S}"/swig/include "${BUILD_DIR}"/swig/ || die
+# ln -s "${S}"/apps/gdal-config "${BUILD_DIR}"/apps/ || die
+# ln -s "${S}"/port "${BUILD_DIR}"/ || die
+ }
+ if use python; then
+ python_foreach_impl prepare_python
+ fi
+}
+
+gdal_src_configure() {
+ local myopts=""
+
+ if use ruby; then
+ RUBY_MOD_DIR="$(ruby19 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ echo "Ruby module dir is: $RUBY_MOD_DIR"
+ fi
+
+ if use java; then
+ myopts+="
+ --with-java=$(java-config --jdk-home 2>/dev/null)
+ $(use_with mdb)"
+ else
+ myopts+=" --without-java --without-mdb"
+ use mdb && ewarn "mdb requires java use enabled. disabling"
+ fi
+
+ if use sqlite; then
+ myopts+=" LIBS=-lsqlite3"
+ fi
+
+ # pcidsk is internal, because there is no such library yet released
+ # also that thing is developed by the gdal people
+ # kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore
+ # bsb - legal issues
+ # oracle - disabled, i dont have and can't test
+ # ingres - same story as oracle oci
+ # podofo - we use poppler instead they are exclusive for each other
+ # tiff is a hard dep
+ ECONF_SOURCE="${S}" econf \
+ --includedir="${EPREFIX}/usr/include/${PN}" \
+ --disable-static \
+ --enable-shared \
+ --with-expat \
+ --with-geotiff \
+ --with-grib \
+ --with-libtiff \
+ --with-libz="${EPREFIX}/usr/" \
+ --with-ogr \
+ --without-bsb \
+ --without-dods-root \
+ --without-dwgdirect \
+ --without-epsilon \
+ --without-fme \
+ --without-grass \
+ --without-hdf4 \
+ --without-idb \
+ --without-ingres \
+ --without-jp2mrsid \
+ --without-kakadu \
+ --without-libtool \
+ --without-mrsid \
+ --without-msg \
+ --without-oci \
+ --without-pcraster \
+ --without-podofo \
+ --without-sde \
+ $(use_enable debug) \
+ $(use_with armadillo) \
+ $(use_with aux_xml pam) \
+ $(use_with curl) \
+ --without-ecw \
+ $(use_with fits cfitsio) \
+ $(use_with geos) \
+ $(use_with gif) \
+ $(use_with gml xerces) \
+ $(use_with hdf5) \
+ $(use_with jpeg pcidsk) \
+ $(use_with jpeg) \
+ $(use_with jpeg2k jasper) \
+ $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) \
+ $(use_with netcdf) \
+ $(use_with odbc) \
+ $(use_with ogdi ogdi "${EPREFIX}"/usr) \
+ $(use_with opencl) \
+ $(use_with pdf poppler) \
+ $(use_with perl) \
+ $(use_with png) \
+ $(use_with postgres pg) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with spatialite) \
+ $(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
+ $(use_with threads) \
+ $(use_with xls freexl) \
+ ${myopts}
+
+ # mysql-config puts this in (and boy is it a PITA to get it out)
+ if use mysql; then
+ sed -i \
+ -e "s: -rdynamic : :" \
+ GDALmake.opt || die "sed LIBS failed"
+ fi
+
+ if [[ -n $use_python ]]; then
+ # updated for newer swig (must specify the path to input files)
+ sed -i \
+ -e "s: gdal_array.i: ../include/gdal_array.i:" \
+ -e "s:\$(DESTDIR)\$(prefix):\$(DESTDIR)\$(INST_PREFIX):g" \
+ swig/python/GNUmakefile || die "sed python makefile failed"
+ sed -i \
+ -e "s:library_dirs = :library_dirs = /usr/$(get_libdir):g" \
+ swig/python/setup.cfg || die "sed python setup.cfg failed"
+# -e "s:gdal_config=.*$:gdal_config=../../../apps/gdal-config:g" \
+ fi
+}
+
+src_configure() {
+ local use_python=""
+
+ gdal_src_configure
+
+ if use python; then
+ use_python="yes"
+ python_foreach_impl run_in_build_dir gdal_src_configure
+ fi
+}
+
+src_compile() {
+ local i
+ for i in perl ruby; do
+ if use $i; then
+ rm "${S}"/swig/$i/*_wrap.cpp
+ emake -C "${S}"/swig/$i generate
+ fi
+ done
+
+ default
+
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null
+ perl-module_src_configure
+ perl-module_src_compile
+ popd > /dev/null
+ fi
+
+ use doc && emake docs
+
+ compile_python() {
+ rm -f swig/python/*_wrap.cpp
+ emake -C swig/python generate
+ emake -C swig/python build
+ }
+ if use python; then
+ python_foreach_impl run_in_build_dir compile_python
+ fi
+}
+
+src_install() {
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null
+ perl-module_src_install
+ popd > /dev/null
+ sed -i \
+ -e "s:BINDINGS = python ruby perl:BINDINGS = python ruby:g" \
+ GDALmake.opt || die
+ fi
+
+ default
+
+ if use ruby ; then
+ # weird reinstall collision; needs manual intervention...
+ pushd "${S}"/swig/ruby > /dev/null
+ rm -rf "${D}"${RUBY_MOD_DIR}/gdal
+ exeinto ${RUBY_MOD_DIR}/gdal
+ doexe *.so || die "doins ruby modules failed"
+ popd > /dev/null
+ fi
+
+ use perl && perl_delete_localpod
+
+ dodoc Doxyfile HOWTO-RELEASE NEWS
+
+ if use doc ; then
+ dohtml html/*
+ docinto ogr
+ dohtml ogr/html/*
+ fi
+
+ install_python() {
+ emake -C swig/python DESTDIR="${D}" install
+ }
+ if use python; then
+ python_foreach_impl run_in_build_dir install_python
+ newdoc swig/python/README.txt README-python.txt
+ insinto /usr/share/${PN}/samples
+ doins swig/python/samples/*
+ python_replicate_script "${ED}"/usr/bin/*py
+ fi
+
+ pushd man/man1 > /dev/null
+ for i in * ; do
+ newman ${i} ${i}
+ done
+ popd > /dev/null
+}
+
+pkg_postinst() {
+ elog "Check available image and data formats after building with"
+ elog "gdalinfo and ogrinfo (using the --formats switch)."
+}
diff --git a/sci-libs/gdal/gdal-1.11.2.ebuild b/sci-libs/gdal/gdal-1.11.2.ebuild
new file mode 100644
index 000000000000..02531a38d109
--- /dev/null
+++ b/sci-libs/gdal/gdal-1.11.2.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WANT_AUTOCONF="2.5"
+
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools eutils libtool perl-module distutils-r1 python-r1 toolchain-funcs java-pkg-opt-2
+
+DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
+HOMEPAGE="http://www.gdal.org/"
+SRC_URI="http://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="armadillo +aux_xml curl debug doc fits geos gif gml hdf5 java jpeg jpeg2k mdb mysql netcdf odbc ogdi opencl pdf perl png postgres python ruby spatialite sqlite threads xls"
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/json-c
+ dev-libs/libpcre
+ dev-libs/libxml2
+ media-libs/tiff:0=
+ sci-libs/libgeotiff
+ sys-libs/zlib[minizip(+)]
+ armadillo? ( sci-libs/armadillo[lapack] )
+ curl? ( net-misc/curl )
+ fits? ( sci-libs/cfitsio )
+ geos? ( >=sci-libs/geos-2.2.1 )
+ gif? ( media-libs/giflib )
+ gml? ( >=dev-libs/xerces-c-3 )
+ hdf5? ( >=sci-libs/hdf5-1.6.4[szip] )
+ java? ( >=virtual/jre-1.6:* )
+ jpeg? ( virtual/jpeg:0= )
+ jpeg2k? ( media-libs/jasper )
+ mysql? ( virtual/mysql )
+ netcdf? ( sci-libs/netcdf )
+ odbc? ( dev-db/unixODBC )
+ ogdi? ( sci-libs/ogdi )
+ opencl? ( virtual/opencl )
+ pdf? ( >=app-text/poppler-0.24.3:= )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:0= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ ruby? ( dev-lang/ruby:1.9 )
+ sqlite? ( dev-db/sqlite:3 )
+ spatialite? ( dev-db/spatialite )
+ xls? ( dev-libs/freexl )
+"
+
+SWIG_DEP=">=dev-lang/swig-2.0.2 <=dev-lang/swig-3.0.4"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.6 )
+ perl? ( ${SWIG_DEP} )
+ python? ( ${SWIG_DEP} )
+ ruby? ( ${SWIG_DEP} )"
+
+AT_M4DIR="${S}/m4"
+MAKEOPTS+=" -j1"
+
+REQUIRED_USE="
+ spatialite? ( sqlite )
+ mdb? ( java )
+"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ # fix datadir and docdir placement
+ sed -i \
+ -e "s:@datadir@:@datadir@/gdal:" \
+ -e "s:@exec_prefix@/doc:@exec_prefix@/share/doc/${PF}/html:g" \
+ "${S}"/GDALmake.opt.in || die
+
+ # the second sed expression should fix bug 371075
+ sed -i \
+ -e "s:setup.py install:setup.py install --root=\$(DESTDIR):" \
+ -e "s:--prefix=\$(DESTDIR):--prefix=:" \
+ "${S}"/swig/python/GNUmakefile || die
+
+ epatch "${FILESDIR}"/${PN}-1.10.0-ruby-makefile.patch
+
+ # -soname is only accepted by GNU ld/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && epatch "${FILESDIR}"/${PN}-1.5.0-install_name.patch \
+ || epatch "${FILESDIR}"/${PN}-1.5.0-soname.patch
+
+ # Fix spatialite/sqlite include issue
+ sed -i \
+ -e 's:spatialite/sqlite3.h:sqlite3.h:g' \
+ ogr/ogrsf_frmts/sqlite/ogr_sqlite.h || die
+
+ # Fix freexl configure check
+ sed -i \
+ -e 's:FREEXL_LIBS=missing):FREEXL_LIBS=missing,-lm):g' \
+ configure.in || die
+
+ sed \
+ -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
+ -i configure.in || die
+
+ sed \
+ -e 's:^ar:$(AR):g' \
+ -i ogr/ogrsf_frmts/sdts/install-libs.sh || die
+
+ # bug 540132
+ epatch "${FILESDIR}"/${PN}-1.11.1-poppler-0.31.0-support.patch
+
+ tc-export AR RANLIB
+
+ eautoreconf
+
+ prepare_python() {
+ mkdir -p "${BUILD_DIR}" || die
+ find "${S}" -type d -maxdepth 1 -exec ln -s {} "${BUILD_DIR}"/ \; ||die
+ find "${S}" -type f -maxdepth 1 -exec cp --target="${BUILD_DIR}"/ {} + ||die
+# mkdir -p "${BUILD_DIR}"/swig/python || die
+# mkdir -p "${BUILD_DIR}"/apps || die
+# cp -dpR --target="${BUILD_DIR}"/swig/ \
+# "${S}"/swig/{python,SWIGmake.base,GNUmakefile} || die
+# ln -s "${S}"/swig/include "${BUILD_DIR}"/swig/ || die
+# ln -s "${S}"/apps/gdal-config "${BUILD_DIR}"/apps/ || die
+# ln -s "${S}"/port "${BUILD_DIR}"/ || die
+ }
+ if use python; then
+ python_foreach_impl prepare_python
+ fi
+}
+
+gdal_src_configure() {
+ local myopts=""
+
+ if use ruby; then
+ RUBY_MOD_DIR="$(ruby19 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ echo "Ruby module dir is: $RUBY_MOD_DIR"
+ fi
+
+ if use java; then
+ myopts+="
+ --with-java=$(java-config --jdk-home 2>/dev/null)
+ $(use_with mdb)"
+ else
+ myopts+=" --without-java --without-mdb"
+ use mdb && ewarn "mdb requires java use enabled. disabling"
+ fi
+
+ if use sqlite; then
+ myopts+=" LIBS=-lsqlite3"
+ fi
+
+ # pcidsk is internal, because there is no such library yet released
+ # also that thing is developed by the gdal people
+ # kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore
+ # bsb - legal issues
+ # oracle - disabled, i dont have and can't test
+ # ingres - same story as oracle oci
+ # podofo - we use poppler instead they are exclusive for each other
+ # tiff is a hard dep
+ ECONF_SOURCE="${S}" econf \
+ --includedir="${EPREFIX}/usr/include/${PN}" \
+ --disable-static \
+ --enable-shared \
+ --with-expat \
+ --with-geotiff \
+ --with-grib \
+ --with-libtiff \
+ --with-libz="${EPREFIX}/usr/" \
+ --with-ogr \
+ --without-bsb \
+ --without-dods-root \
+ --without-dwgdirect \
+ --without-epsilon \
+ --without-fme \
+ --without-grass \
+ --without-hdf4 \
+ --without-idb \
+ --without-ingres \
+ --without-jp2mrsid \
+ --without-kakadu \
+ --without-libtool \
+ --without-mrsid \
+ --without-msg \
+ --without-oci \
+ --without-pcraster \
+ --without-podofo \
+ --without-sde \
+ $(use_enable debug) \
+ $(use_with armadillo) \
+ $(use_with aux_xml pam) \
+ $(use_with curl) \
+ --without-ecw \
+ $(use_with fits cfitsio) \
+ $(use_with geos) \
+ $(use_with gif) \
+ $(use_with gml xerces) \
+ $(use_with hdf5) \
+ $(use_with jpeg pcidsk) \
+ $(use_with jpeg) \
+ $(use_with jpeg2k jasper) \
+ $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) \
+ $(use_with netcdf) \
+ $(use_with odbc) \
+ $(use_with ogdi ogdi "${EPREFIX}"/usr) \
+ $(use_with opencl) \
+ $(use_with pdf poppler) \
+ $(use_with perl) \
+ $(use_with png) \
+ $(use_with postgres pg) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with spatialite) \
+ $(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
+ $(use_with threads) \
+ $(use_with xls freexl) \
+ ${myopts}
+
+ # mysql-config puts this in (and boy is it a PITA to get it out)
+ if use mysql; then
+ sed -i \
+ -e "s: -rdynamic : :" \
+ GDALmake.opt || die "sed LIBS failed"
+ fi
+
+ if [[ -n $use_python ]]; then
+ # updated for newer swig (must specify the path to input files)
+ sed -i \
+ -e "s: gdal_array.i: ../include/gdal_array.i:" \
+ -e "s:\$(DESTDIR)\$(prefix):\$(DESTDIR)\$(INST_PREFIX):g" \
+ swig/python/GNUmakefile || die "sed python makefile failed"
+ sed -i \
+ -e "s:library_dirs = :library_dirs = /usr/$(get_libdir):g" \
+ swig/python/setup.cfg || die "sed python setup.cfg failed"
+# -e "s:gdal_config=.*$:gdal_config=../../../apps/gdal-config:g" \
+ fi
+}
+
+src_configure() {
+ local use_python=""
+
+ gdal_src_configure
+
+ if use python; then
+ use_python="yes"
+ python_foreach_impl run_in_build_dir gdal_src_configure
+ fi
+}
+
+src_compile() {
+ local i
+ for i in perl ruby; do
+ if use $i; then
+ rm "${S}"/swig/$i/*_wrap.cpp
+ emake -C "${S}"/swig/$i generate
+ fi
+ done
+
+ default
+
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null
+ perl-module_src_configure
+ perl-module_src_compile
+ popd > /dev/null
+ fi
+
+ use doc && emake docs
+
+ compile_python() {
+ rm -f swig/python/*_wrap.cpp
+ emake -C swig/python generate
+ emake -C swig/python build
+ }
+ if use python; then
+ python_foreach_impl run_in_build_dir compile_python
+ fi
+}
+
+src_install() {
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null
+ perl-module_src_install
+ popd > /dev/null
+ sed -i \
+ -e "s:BINDINGS = python ruby perl:BINDINGS = python ruby:g" \
+ GDALmake.opt || die
+ fi
+
+ default
+
+ if use ruby ; then
+ # weird reinstall collision; needs manual intervention...
+ pushd "${S}"/swig/ruby > /dev/null
+ rm -rf "${D}"${RUBY_MOD_DIR}/gdal
+ exeinto ${RUBY_MOD_DIR}/gdal
+ doexe *.so || die "doins ruby modules failed"
+ popd > /dev/null
+ fi
+
+ use perl && perl_delete_localpod
+
+ dodoc Doxyfile HOWTO-RELEASE NEWS
+
+ if use doc ; then
+ dohtml html/*
+ docinto ogr
+ dohtml ogr/html/*
+ fi
+
+ install_python() {
+ emake -C swig/python DESTDIR="${D}" install
+ }
+ if use python; then
+ python_foreach_impl run_in_build_dir install_python
+ newdoc swig/python/README.txt README-python.txt
+ insinto /usr/share/${PN}/samples
+ doins swig/python/samples/*
+ python_replicate_script "${ED}"/usr/bin/*py
+ fi
+
+ pushd man/man1 > /dev/null
+ for i in * ; do
+ newman ${i} ${i}
+ done
+ popd > /dev/null
+}
+
+pkg_postinst() {
+ elog "Check available image and data formats after building with"
+ elog "gdalinfo and ogrinfo (using the --formats switch)."
+}
diff --git a/sci-libs/gdal/gdal-2.0.0.ebuild b/sci-libs/gdal/gdal-2.0.0.ebuild
new file mode 100644
index 000000000000..f94de1354b49
--- /dev/null
+++ b/sci-libs/gdal/gdal-2.0.0.ebuild
@@ -0,0 +1,343 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WANT_AUTOCONF="2.5"
+
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools eutils libtool perl-module distutils-r1 python-r1 toolchain-funcs java-pkg-opt-2
+
+DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
+HOMEPAGE="http://www.gdal.org/"
+SRC_URI="http://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="armadillo +aux_xml curl debug doc fits geos gif gml hdf5 java jpeg jpeg2k mdb mysql netcdf odbc ogdi opencl pdf perl png postgres python ruby spatialite sqlite threads xls"
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/json-c
+ dev-libs/libpcre
+ dev-libs/libxml2
+ media-libs/tiff:0=
+ sci-libs/libgeotiff
+ sys-libs/zlib[minizip(+)]
+ armadillo? ( sci-libs/armadillo[lapack] )
+ curl? ( net-misc/curl )
+ fits? ( sci-libs/cfitsio )
+ geos? ( >=sci-libs/geos-2.2.1 )
+ gif? ( media-libs/giflib )
+ gml? ( >=dev-libs/xerces-c-3 )
+ hdf5? ( >=sci-libs/hdf5-1.6.4[szip] )
+ java? ( >=virtual/jre-1.6:* )
+ jpeg? ( virtual/jpeg:0= )
+ jpeg2k? ( media-libs/jasper )
+ mysql? ( virtual/mysql )
+ netcdf? ( sci-libs/netcdf )
+ odbc? ( dev-db/unixODBC )
+ ogdi? ( sci-libs/ogdi )
+ opencl? ( virtual/opencl )
+ pdf? ( >=app-text/poppler-0.24.3:= )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:0= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ ruby? ( dev-lang/ruby:1.9 )
+ sqlite? ( dev-db/sqlite:3 )
+ spatialite? ( dev-db/spatialite )
+ xls? ( dev-libs/freexl )
+"
+
+SWIG_DEP=">=dev-lang/swig-2.0.2 <=dev-lang/swig-3.0.4"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.6 )
+ perl? ( ${SWIG_DEP} )
+ python? ( ${SWIG_DEP} )
+ ruby? ( ${SWIG_DEP} )"
+
+AT_M4DIR="${S}/m4"
+MAKEOPTS+=" -j1"
+
+REQUIRED_USE="
+ spatialite? ( sqlite )
+ mdb? ( java )
+"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ # fix datadir and docdir placement
+ sed -i \
+ -e "s:@datadir@:@datadir@/gdal:" \
+ -e "s:@exec_prefix@/doc:@exec_prefix@/share/doc/${PF}/html:g" \
+ "${S}"/GDALmake.opt.in || die
+
+ # the second sed expression should fix bug 371075
+ sed -i \
+ -e "s:setup.py install:setup.py install --root=\$(DESTDIR):" \
+ -e "s:--prefix=\$(DESTDIR):--prefix=:" \
+ "${S}"/swig/python/GNUmakefile || die
+
+ epatch "${FILESDIR}"/${PN}-1.10.0-ruby-makefile.patch
+
+ # -soname is only accepted by GNU ld/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && epatch "${FILESDIR}"/${PN}-1.5.0-install_name.patch \
+ || epatch "${FILESDIR}"/${PN}-1.5.0-soname.patch
+
+ # Fix spatialite/sqlite include issue
+ sed -i \
+ -e 's:spatialite/sqlite3.h:sqlite3.h:g' \
+ ogr/ogrsf_frmts/sqlite/ogr_sqlite.h || die
+
+ # Fix freexl configure check
+ sed -i \
+ -e 's:FREEXL_LIBS=missing):FREEXL_LIBS=missing,-lm):g' \
+ configure.in || die
+
+ sed \
+ -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
+ -i configure.in || die
+
+ sed \
+ -e 's:^ar:$(AR):g' \
+ -i ogr/ogrsf_frmts/sdts/install-libs.sh || die
+
+ tc-export AR RANLIB
+
+ eautoreconf
+
+ prepare_python() {
+ mkdir -p "${BUILD_DIR}" || die
+ find "${S}" -type d -maxdepth 1 -exec ln -s {} "${BUILD_DIR}"/ \; ||die
+ find "${S}" -type f -maxdepth 1 -exec cp --target="${BUILD_DIR}"/ {} + ||die
+# mkdir -p "${BUILD_DIR}"/swig/python || die
+# mkdir -p "${BUILD_DIR}"/apps || die
+# cp -dpR --target="${BUILD_DIR}"/swig/ \
+# "${S}"/swig/{python,SWIGmake.base,GNUmakefile} || die
+# ln -s "${S}"/swig/include "${BUILD_DIR}"/swig/ || die
+# ln -s "${S}"/apps/gdal-config "${BUILD_DIR}"/apps/ || die
+# ln -s "${S}"/port "${BUILD_DIR}"/ || die
+ }
+ if use python; then
+ python_foreach_impl prepare_python
+ fi
+}
+
+gdal_src_configure() {
+ local myopts=""
+
+ if use ruby; then
+ RUBY_MOD_DIR="$(ruby19 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ echo "Ruby module dir is: $RUBY_MOD_DIR"
+ fi
+
+ if use java; then
+ myopts+="
+ --with-java=$(java-config --jdk-home 2>/dev/null)
+ $(use_with mdb)"
+ else
+ myopts+=" --without-java --without-mdb"
+ use mdb && ewarn "mdb requires java use enabled. disabling"
+ fi
+
+ if use sqlite; then
+ myopts+=" LIBS=-lsqlite3"
+ fi
+
+ # pcidsk is internal, because there is no such library yet released
+ # also that thing is developed by the gdal people
+ # kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore
+ # bsb - legal issues
+ # oracle - disabled, i dont have and can't test
+ # ingres - same story as oracle oci
+ # podofo - we use poppler instead they are exclusive for each other
+ # tiff is a hard dep
+ ECONF_SOURCE="${S}" econf \
+ --includedir="${EPREFIX}/usr/include/${PN}" \
+ --disable-static \
+ --enable-shared \
+ --with-expat \
+ --with-geotiff \
+ --with-grib \
+ --with-libtiff \
+ --with-libz="${EPREFIX}/usr/" \
+ --with-ogr \
+ --without-bsb \
+ --without-dods-root \
+ --without-dwgdirect \
+ --without-epsilon \
+ --without-fme \
+ --without-grass \
+ --without-hdf4 \
+ --without-idb \
+ --without-ingres \
+ --without-jp2mrsid \
+ --without-kakadu \
+ --without-libtool \
+ --without-mrsid \
+ --without-msg \
+ --without-oci \
+ --without-pcraster \
+ --without-podofo \
+ --without-sde \
+ $(use_enable debug) \
+ $(use_with armadillo) \
+ $(use_with aux_xml pam) \
+ $(use_with curl) \
+ --without-ecw \
+ $(use_with fits cfitsio) \
+ $(use_with geos) \
+ $(use_with gif) \
+ $(use_with gml xerces) \
+ $(use_with hdf5) \
+ $(use_with jpeg pcidsk) \
+ $(use_with jpeg) \
+ $(use_with jpeg2k jasper) \
+ $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) \
+ $(use_with netcdf) \
+ $(use_with odbc) \
+ $(use_with ogdi ogdi "${EPREFIX}"/usr) \
+ $(use_with opencl) \
+ $(use_with pdf poppler) \
+ $(use_with perl) \
+ $(use_with png) \
+ $(use_with postgres pg) \
+ $(use_with python) \
+ $(use_with ruby) \
+ $(use_with spatialite) \
+ $(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
+ $(use_with threads) \
+ $(use_with xls freexl) \
+ ${myopts}
+
+ # mysql-config puts this in (and boy is it a PITA to get it out)
+ if use mysql; then
+ sed -i \
+ -e "s: -rdynamic : :" \
+ GDALmake.opt || die "sed LIBS failed"
+ fi
+
+ if [[ -n $use_python ]]; then
+ # updated for newer swig (must specify the path to input files)
+ sed -i \
+ -e "s: gdal_array.i: ../include/gdal_array.i:" \
+ -e "s:\$(DESTDIR)\$(prefix):\$(DESTDIR)\$(INST_PREFIX):g" \
+ swig/python/GNUmakefile || die "sed python makefile failed"
+ sed -i \
+ -e "s:library_dirs = :library_dirs = /usr/$(get_libdir):g" \
+ swig/python/setup.cfg || die "sed python setup.cfg failed"
+# -e "s:gdal_config=.*$:gdal_config=../../../apps/gdal-config:g" \
+ fi
+}
+
+src_configure() {
+ local use_python=""
+
+ gdal_src_configure
+
+ if use python; then
+ use_python="yes"
+ python_foreach_impl run_in_build_dir gdal_src_configure
+ fi
+}
+
+src_compile() {
+ local i
+ for i in perl ruby; do
+ if use $i; then
+ rm "${S}"/swig/$i/*_wrap.cpp
+ emake -C "${S}"/swig/$i generate
+ fi
+ done
+
+ default
+
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null
+ perl-module_src_configure
+ perl-module_src_compile
+ popd > /dev/null
+ fi
+
+ use doc && emake docs
+
+ compile_python() {
+ rm -f swig/python/*_wrap.cpp
+ emake -C swig/python generate
+ emake -C swig/python build
+ }
+ if use python; then
+ python_foreach_impl run_in_build_dir compile_python
+ fi
+}
+
+src_install() {
+ if use perl ; then
+ pushd "${S}"/swig/perl > /dev/null
+ perl-module_src_install
+ popd > /dev/null
+ sed -i \
+ -e "s:BINDINGS = python ruby perl:BINDINGS = python ruby:g" \
+ GDALmake.opt || die
+ fi
+
+ default
+
+ if use ruby ; then
+ # weird reinstall collision; needs manual intervention...
+ pushd "${S}"/swig/ruby > /dev/null
+ rm -rf "${D}"${RUBY_MOD_DIR}/gdal
+ exeinto ${RUBY_MOD_DIR}/gdal
+ doexe *.so || die "doins ruby modules failed"
+ popd > /dev/null
+ fi
+
+ use perl && perl_delete_localpod
+
+ dodoc Doxyfile HOWTO-RELEASE NEWS
+
+ if use doc ; then
+ dohtml html/*
+ docinto ogr
+ dohtml ogr/html/*
+ fi
+
+ install_python() {
+ emake -C swig/python DESTDIR="${D}" install
+ }
+ if use python; then
+ python_foreach_impl run_in_build_dir install_python
+ newdoc swig/python/README.txt README-python.txt
+ insinto /usr/share/${PN}/samples
+ doins swig/python/samples/*
+ python_replicate_script "${ED}"/usr/bin/*py
+ fi
+
+ pushd man/man1 > /dev/null
+ for i in * ; do
+ newman ${i} ${i}
+ done
+ popd > /dev/null
+}
+
+pkg_postinst() {
+ elog "Check available image and data formats after building with"
+ elog "gdalinfo and ogrinfo (using the --formats switch)."
+}
diff --git a/sci-libs/gdal/metadata.xml b/sci-libs/gdal/metadata.xml
new file mode 100644
index 000000000000..943ca9393804
--- /dev/null
+++ b/sci-libs/gdal/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+ <longdescription>
+GDAL is the Geospatial Data Abstraction Library, a set of tools for
+converting between geospatial raster data formats (includes OGR for
+vector data).
+</longdescription>
+ <use>
+ <flag name="armadillo">Use <pkg>sci-libs/armadillo</pkg> for faster TPS transform computation</flag>
+ <flag name="aux_xml">Enable Portable Auxilliary Metadata generation</flag>
+ <flag name="fits">Enable support for NASA's <pkg>sci-libs/cfitsio</pkg> library</flag>
+ <flag name="geos">Add support for geometry engine (<pkg>sci-libs/geos</pkg>)</flag>
+ <flag name="gml">Enable support for <pkg>dev-libs/xerces-c</pkg> C++ API</flag>
+ <flag name="hdf5">Add support for the Hierarchical Data Format v5 (<pkg>sci-libs/hdf5</pkg>)</flag>
+ <flag name="mdb">Enable support for Microsoft Access database</flag>
+ <flag name="spatialite">Enable Spatial DBMS over sqlite <pkg>dev-db/spatialite</pkg></flag>
+ <flag name="opencl">Enable OpenCL support</flag>
+ <flag name="ogdi">Enable support for the open geographic datastore interface (<pkg>sci-libs/ogdi</pkg>)</flag>
+ <flag name="xls">Add the <pkg>dev-libs/freexl</pkg> library for xls import support</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/geos/Manifest b/sci-libs/geos/Manifest
new file mode 100644
index 000000000000..b0d0b45bc3ec
--- /dev/null
+++ b/sci-libs/geos/Manifest
@@ -0,0 +1,2 @@
+DIST geos-3.4.1.tar.bz2 1813303 SHA256 d07ac375f3edd12425d6ce5a96db9739d5ff358cbdf60c6804f7a9e565af8ff2 SHA512 69d02630856f63bd0617db383b9936ad07e94d2b2fda4a3865657057626887439b52fd7b74602d529aff5cf8c7fbfea72672ccde807395b2dc1cc73c93c2567b WHIRLPOOL 35a6673a98d1fa1f10113c8cfef4dc32ba9b68dcc23e5522252870c2591537f80841913105425bd23ebecaa63d520ceccbfe7824a00e70e9c1461aa919bf2469
+DIST geos-3.4.2.tar.bz2 1813726 SHA256 15e8bfdf7e29087a957b56ac543ea9a80321481cef4d4f63a7b268953ad26c53 SHA512 c335608ff5e719ec6f3a6edc157c11fe5aaf9a813bf3c4b1e8a05de7a52584f6f64d5c42e646410c09a2e3cdfd3f8f994bedba37fc60454bbaa7c25ba1d36c9b WHIRLPOOL 5090bb4a4413b4c6fa00651058acfd5cb98bb8a2e68b1175baaf4ade6c737792239a08a6f9f3831c963e896469f9e9a4c1410bdddfb152638f1e72cbdb7c05e0
diff --git a/sci-libs/geos/files/3.2.0-darwin.patch b/sci-libs/geos/files/3.2.0-darwin.patch
new file mode 100644
index 000000000000..2701b5906a7b
--- /dev/null
+++ b/sci-libs/geos/files/3.2.0-darwin.patch
@@ -0,0 +1,13 @@
+Also check for dylib before giving up, bug #335811
+
+--- macros/ac_python_devel.m4
++++ macros/ac_python_devel.m4
+@@ -42,7 +42,7 @@
+ # Check for Python library path
+ AC_MSG_CHECKING([for Python library path])
+ python_path=`python$PYTHON_VERSION -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_var("LIBDIR"))'`
+- if test ! -f "${python_path}"/libpython$PYTHON_VERSION.so ; then
++ if test ! -f "${python_path}"/libpython$PYTHON_VERSION.so && test ! -f "${python_path}"/libpython$PYTHON_VERSION.dylib ; then
+ python_path=""
+ fi
+ AC_MSG_RESULT([$python_path])
diff --git a/sci-libs/geos/files/3.2.0-python.patch b/sci-libs/geos/files/3.2.0-python.patch
new file mode 100644
index 000000000000..b4a85c0410ad
--- /dev/null
+++ b/sci-libs/geos/files/3.2.0-python.patch
@@ -0,0 +1,40 @@
+diff --git a/macros/ac_python_devel.m4 b/macros/ac_python_devel.m4
+index d67842b..f3a3a3b 100644
+--- a/macros/ac_python_devel.m4
++++ b/macros/ac_python_devel.m4
+@@ -29,13 +29,10 @@ AC_DEFUN([AC_PYTHON_DEVEL],[
+
+ # Check for Python include path
+ AC_MSG_CHECKING([for Python include path])
+- for i in "$base_python_path/include/python$PYTHON_VERSION/" "$base_python_path/include/python/" "$base_python_path/include/" "$base_python_path/" ; do
+- python_path=`find $i -type f -name Python.h -print 2> /dev/null | sed "1q"`
+- if test -n "$python_path" ; then
+- break
+- fi
+- done
+- python_path=`echo $python_path | sed "s,/Python.h$,,"`
++ python_path="${base_python_path}/include/python$PYTHON_VERSION/"
++ if test ! -f "${python_path}"/Python.h ; then
++ python_path=""
++ fi
+ AC_MSG_RESULT([$python_path])
+ if test -z "$python_path" ; then
+ AC_MSG_ERROR([cannot find Python include path])
+@@ -44,13 +41,10 @@ AC_DEFUN([AC_PYTHON_DEVEL],[
+
+ # Check for Python library path
+ AC_MSG_CHECKING([for Python library path])
+- for i in "$base_python_path/lib/python$PYTHON_VERSION/config/" "$base_python_path/lib/python$PYTHON_VERSION/" "$base_python_path/lib/python/config/" "$base_python_path/lib/python/" "$base_python_path/" "$base_python_path/libs/" ; do
+- python_path=`find $i -name libpython$PYTHON_VERSION.* -print 2> /dev/null | sed "1q"`
+- if test -n "$python_path" ; then
+- break
+- fi
+- done
+- python_path=`echo $python_path | sed "s,/libpython.*$,,"`
++ python_path=`python$PYTHON_VERSION -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_var("LIBDIR"))'`
++ if test ! -f "${python_path}"/libpython$PYTHON_VERSION.so ; then
++ python_path=""
++ fi
+ AC_MSG_RESULT([$python_path])
+ if test -z "$python_path" ; then
+ AC_MSG_ERROR([cannot find Python library path])
diff --git a/sci-libs/geos/files/3.3.2-solaris-isnan.patch b/sci-libs/geos/files/3.3.2-solaris-isnan.patch
new file mode 100644
index 000000000000..04dc131e7df3
--- /dev/null
+++ b/sci-libs/geos/files/3.3.2-solaris-isnan.patch
@@ -0,0 +1,13 @@
+--- include/geos/platform.h.in
++++ include/geos/platform.h.in
+@@ -97,8 +97,9 @@
+ // It does leave a version in std.
+ # define ISNAN(x) (std::isnan(x))
+ # elif defined(__sun) || defined(__sun__)
++# define _XOPEN_SOURCE 600 // force iso/math_c99
+ # include <math.h>
+-# define ISNAN(x) (::isnan(x))
++# define ISNAN(x) (std::isnan(x))
+ # endif
+ #endif
+
diff --git a/sci-libs/geos/files/3.4.1-solaris-isnan.patch b/sci-libs/geos/files/3.4.1-solaris-isnan.patch
new file mode 100644
index 000000000000..f4cb2aee9ad0
--- /dev/null
+++ b/sci-libs/geos/files/3.4.1-solaris-isnan.patch
@@ -0,0 +1,14 @@
+diff -Naruw geos-3.4.1.orig/include/geos/platform.h.in geos-3.4.1/include/geos/platform.h.in
+--- geos-3.4.1.orig/include/geos/platform.h.in 2013-08-17 14:08:04.000000000 +0000
++++ geos-3.4.1/include/geos/platform.h.in 2013-08-18 22:00:59.412676805 +0000
+@@ -96,8 +96,9 @@
+ // It does leave a version in std.
+ # define ISNAN(x) (std::isnan(x))
+ # elif defined(__sun) || defined(__sun__)
++# define _XOPEN_SOURCE 600 // force iso/math_c99
+ # include <math.h>
+-# define ISNAN(x) (::isnan(x))
++# define ISNAN(x) (std::isnan(x))
+ # endif
+ #endif
+
diff --git a/sci-libs/geos/files/3.4.2-ruby_so_name.patch b/sci-libs/geos/files/3.4.2-ruby_so_name.patch
new file mode 100644
index 000000000000..4168e5c0263f
--- /dev/null
+++ b/sci-libs/geos/files/3.4.2-ruby_so_name.patch
@@ -0,0 +1,12 @@
+diff -Naur geos-3.4.2.orig/macros/ruby.m4 geos-3.4.2/macros/ruby.m4
+--- a/macros/ruby.m4 2013-08-25 11:10:32.000000000 -0400
++++ b/macros/ruby.m4 2014-11-05 06:35:39.347830878 -0500
+@@ -38,7 +38,7 @@
+ RUBY_EXTENSION_DIR=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["sitearchdir"]] || Config::CONFIG[["sitearchdir"]]'`
+
+ dnl Get Ruby shared library name, this does not include the lib prefix or extension name
+- RUBY_SO_NAME=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["LIBRUBY_SO"]] || Config::CONFIG[["RUBY_SO_NAME"]]'`
++ RUBY_SO_NAME=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["RUBY_SO_NAME"]] || Config::CONFIG[["RUBY_SO_NAME"]]'`
+
+ dnl Get Ruby shared libary name
+ RUBY_SHARED_LIB=`$RUBY -rrbconfig -e 'puts RbConfig::CONFIG[["LIBRUBY"]] || Config::CONFIG[["LIBRUBY"]]'`
diff --git a/sci-libs/geos/files/3.4.2-solaris-isnan.patch b/sci-libs/geos/files/3.4.2-solaris-isnan.patch
new file mode 100644
index 000000000000..a66d36f6587d
--- /dev/null
+++ b/sci-libs/geos/files/3.4.2-solaris-isnan.patch
@@ -0,0 +1,14 @@
+diff -Naruw geos-3.4.2.orig/include/geos/platform.h.in geos-3.4.2/include/geos/platform.h.in
+--- geos-3.4.2.orig/include/geos/platform.h.in 2013-08-25 15:10:32.000000000 +0000
++++ geos-3.4.2/include/geos/platform.h.in 2013-10-20 23:45:29.891690795 +0000
+@@ -98,8 +98,9 @@
+ // It does leave a version in std.
+ # define ISNAN(x) (std::isnan(x))
+ # elif (defined(__sun) || defined(__sun__)) && defined(__SUNPRO_CC)
++# define _XOPEN_SOURCE 600 //force iso/math_c99
+ # include <math.h>
+-# define ISNAN(x) (::isnan(x))
++# define ISNAN(x) (std::isnan(x))
+ # endif
+ #endif
+
diff --git a/sci-libs/geos/geos-3.4.1-r1.ebuild b/sci-libs/geos/geos-3.4.1-r1.ebuild
new file mode 100644
index 000000000000..7eb33e194e9b
--- /dev/null
+++ b/sci-libs/geos/geos-3.4.1-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils python-single-r1 python-utils-r1
+
+DESCRIPTION="Geometry engine library for Geographic Information Systems"
+HOMEPAGE="http://trac.osgeo.org/geos/"
+SRC_URI="http://download.osgeo.org/geos/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86 ~x64-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
+IUSE="doc php python ruby static-libs"
+
+RDEPEND="
+ php? ( >=dev-lang/php-5.3[-threads] )
+ ruby? ( dev-lang/ruby )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ php? ( dev-lang/swig )
+ python? ( dev-lang/swig ${PYTHON_DEPS} )
+ ruby? ( dev-lang/swig )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/3.4.1-solaris-isnan.patch
+ eautoreconf
+ echo "#!${EPREFIX}/bin/bash" > py-compile
+}
+
+src_configure() {
+ econf \
+ $(use_enable python) \
+ $(use_enable ruby) \
+ $(use_enable php) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+
+ use doc && emake -C "${S}/doc" doxygen-html
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=487068
+ insinto /usr/include/geos
+ doins include/geos/platform.h
+
+ use doc && dohtml -r doc/doxygen_docs/html/*
+ use python && python_optimize "${D}$(python_get_sitedir)"/geos/
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/sci-libs/geos/geos-3.4.2-r1.ebuild b/sci-libs/geos/geos-3.4.2-r1.ebuild
new file mode 100644
index 000000000000..567d3eaf7f50
--- /dev/null
+++ b/sci-libs/geos/geos-3.4.2-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils python-single-r1 python-utils-r1
+
+DESCRIPTION="Geometry engine library for Geographic Information Systems"
+HOMEPAGE="http://trac.osgeo.org/geos/"
+SRC_URI="http://download.osgeo.org/geos/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x64-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
+IUSE="doc php python ruby static-libs"
+
+RDEPEND="
+ php? ( >=dev-lang/php-5.3[-threads] )
+ ruby? ( dev-lang/ruby )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ php? ( dev-lang/swig )
+ python? ( dev-lang/swig ${PYTHON_DEPS} )
+ ruby? ( dev-lang/swig )
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/3.4.2-solaris-isnan.patch \
+ "${FILESDIR}"/3.4.2-ruby_so_name.patch
+ eautoreconf
+ echo "#!${EPREFIX}/bin/bash" > py-compile
+}
+
+src_configure() {
+ econf \
+ $(use_enable python) \
+ $(use_enable ruby) \
+ $(use_enable php) \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+
+ use doc && emake -C "${S}/doc" doxygen-html
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ use doc && dohtml -r doc/doxygen_docs/html/*
+ use python && python_optimize "${D}$(python_get_sitedir)"/geos/
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/sci-libs/geos/metadata.xml b/sci-libs/geos/metadata.xml
new file mode 100644
index 000000000000..c39dbd31f58e
--- /dev/null
+++ b/sci-libs/geos/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+ <herd>postgresql</herd>
+ <longdescription lang="en">
+ Geometric Engine Open Source provides a spatial object model and
+ fundamental geometric functions. It implements the geometry model
+ defined in the OpenGIS Consortium Simple Features Specification for
+ SQL. Functions provided include: spatial predicates (based on the
+ DE-9IM model), overlay functions (intersection, difference, union,
+ symmetric difference), buffer, convex hull, area and distance
+ functions, and topological validity checking.
+ </longdescription>
+</pkgmetadata>
diff --git a/sci-libs/gerris/Manifest b/sci-libs/gerris/Manifest
new file mode 100644
index 000000000000..6e112fe71c3a
--- /dev/null
+++ b/sci-libs/gerris/Manifest
@@ -0,0 +1,3 @@
+DIST gerris-snapshot-120731.tar.gz 2640044 SHA256 2a032e3418672057d1d83a5280380241d8865d4cc1a53f7bc21e95acd3a5f8fb SHA512 7ec58b715c4e52462c8e0507d34ccf554c71b3bf3575eafd8fb59002c60dcd91a749cfc53b7a4eda1822571777736dab15b0e75594b1d97b4627f72a97defb46 WHIRLPOOL abce090c4f79ee9bf4982ca9bc673ca43c6e40488e308f37a549348eb900ca1d74a8d95b59898bd173167cb849bd5afeca1e38be300d66d711f2a9225108e410
+DIST gerris-snapshot-130531.tar.gz 2822863 SHA256 808a690b928d7a90067e2115121e529311f3631882db46cecdae1468334912d5 SHA512 7372cfae4442f9daf996091d4043c3649976f937eaf6b27a8b65f58b316d26c0cb9d106da6f041ce58b2149d193ab311ed0c65d8834d42bcfebe0b7ec073be9e WHIRLPOOL be02b7b189dd2b27e00ac0cb4af10997e669afef92f4a4377f8117dfda35fe9fd894b750b605dee805288ece2f8ba4072f1d7d6570411eaab51ec8336e5c4eb9
+DIST gerris-snapshot-131206.tar.gz 2841686 SHA256 d5346a362b104ccc858c4b79938727d56c4654b103c268e54cf3aa56d0b55b39 SHA512 b3855d51eea04c496d2e5f662c148560d9ab8d5dfa97e4f7d1c22c70405b9b801b46f30aa0d159b1bd6a8182f171a1649b5f510f0e13feeb55f29cafe57b45dd WHIRLPOOL 81027d9c4c9bf44b542e1161e3238711f321b5db581b0538d5c7addc4dd5229c90f787216d05a689e287ba511546b4e7cc2fb9664bcfb9098e421722a5d8e0fd
diff --git a/sci-libs/gerris/files/gerris-20130531-hypre-no-mpi.patch b/sci-libs/gerris/files/gerris-20130531-hypre-no-mpi.patch
new file mode 100644
index 000000000000..f05512efbddf
--- /dev/null
+++ b/sci-libs/gerris/files/gerris-20130531-hypre-no-mpi.patch
@@ -0,0 +1,22 @@
+patch to allow gerris to use hypre without mpi
+
+--- configure.ac 2013-05-30 23:57:18.000000000 -0700
++++ configure.ac.new 2013-07-22 13:52:36.083974663 -0700
+@@ -336,7 +336,7 @@
+
+ # Build hypre module if HYPRE is installed
+ hypre=no
+-if test "x$use_mpicc" = "xyes" ; then # HYPRE needs MPI
++# hypre does not need mpi
+ AC_CHECK_LIB(HYPRE, HYPRE_IJMatrixCreate, hypre="yes", hypre="no", [-lm])
+ if test x$hypre = xyes; then
+ AC_CHECK_HEADERS(HYPRE.h, hypre="yes", hypre="no")
+@@ -344,7 +344,7 @@
+ if test x$hypre = xno; then
+ AC_MSG_WARN([HYPRE not found. hypre Module won't be available.])
+ fi
+-fi
++
+ AM_CONDITIONAL(BUILD_HYPRE, test x$hypre = xyes)
+
+ # Build lis module if lis is installed
diff --git a/sci-libs/gerris/files/gerris-20130531-lis-matrix-csr.patch b/sci-libs/gerris/files/gerris-20130531-lis-matrix-csr.patch
new file mode 100644
index 000000000000..21d6810bbd2b
--- /dev/null
+++ b/sci-libs/gerris/files/gerris-20130531-lis-matrix-csr.patch
@@ -0,0 +1,11 @@
+--- modules/lis.c.orig 2013-07-22 15:34:05.346631560 -0700
++++ modules/lis.c 2013-07-22 15:33:28.621427315 -0700
+@@ -45,7 +45,7 @@
+ g_array_index (stencil->coeff, double, j),
+ A);
+ }
+- lis_matrix_set_type (A, LIS_MATRIX_CRS);
++ lis_matrix_set_type (A, LIS_MATRIX_CSR);
+ lis_matrix_assemble (A);
+
+ LIS_VECTOR b, x;
diff --git a/sci-libs/gerris/files/gerris-20130531-use-blas-lapack-system.patch b/sci-libs/gerris/files/gerris-20130531-use-blas-lapack-system.patch
new file mode 100644
index 000000000000..4c8985ce5e77
--- /dev/null
+++ b/sci-libs/gerris/files/gerris-20130531-use-blas-lapack-system.patch
@@ -0,0 +1,33 @@
+--- modules/Makefile.am.orig 2013-07-22 14:13:10.339130133 -0700
++++ modules/Makefile.am 2013-07-22 14:15:10.770813929 -0700
+@@ -105,7 +105,7 @@
+ libstokes2D_la_LIBADD = $(GFS2D_LIBS)
+
+ libwavewatch2D_la_SOURCES = wavewatch.c
+-libwavewatch2D_la_LIBADD = $(GFS2D_LIBS) -Lwavewatch -lwavewatch -L/usr/lib/gcc/i486-linux-gnu/4.2 -lgfortran
++libwavewatch2D_la_LIBADD = $(GFS2D_LIBS) -Lwavewatch -lwavewatch
+ libwavewatch2D_la_CFLAGS = $(AM_CFLAGS) -DFTT_2D=1 \
+ -DW3SRCE=`nm wavewatch/libwavewatch.a | grep w3srce | awk '{ if ($$2 == "T") print $$3; }'` \
+ -DGFSW3INIT=`nm wavewatch/libwavewatch.a | grep gfsw3_init | awk '{ if ($$2 == "T") print $$3; }'`
+@@ -164,17 +164,17 @@
+
+ liblis3D_la_SOURCES = lis.c
+ liblis3D_la_CFLAGS = $(AM_CFLAGS)
+-liblis3D_la_LIBADD = $(GFS3D_LIBS) -llis -lgfortran -lm
++liblis3D_la_LIBADD = $(GFS3D_LIBS) -llis -lm
+ liblis2D_la_SOURCES = lis.c
+ liblis2D_la_CFLAGS = $(AM_CFLAGS) -DFTT_2D=1
+-liblis2D_la_LIBADD = $(GFS2D_LIBS) -llis -lgfortran -lm
++liblis2D_la_LIBADD = $(GFS2D_LIBS) -llis -lm
+
+ libagmg3D_la_SOURCES = agmg.c dagmg.f90
+ libagmg3D_la_CFLAGS = $(AM_CFLAGS)
+-libagmg3D_la_LIBADD = $(GFS3D_LIBS) -llapack -lblas -lgfortran -lm
++libagmg3D_la_LIBADD = $(GFS3D_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) -lm
+ libagmg2D_la_SOURCES = agmg.c dagmg.f90
+ libagmg2D_la_CFLAGS = $(AM_CFLAGS) -DFTT_2D=1
+-libagmg2D_la_LIBADD = $(GFS2D_LIBS) -llapack -lblas -lgfortran -lm
++libagmg2D_la_LIBADD = $(GFS2D_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) -lm
+
+ libokada3D_la_SOURCES = okada.c
+ libokada3D_la_CFLAGS = $(AM_CFLAGS)
diff --git a/sci-libs/gerris/files/gerris-hypre-no-mpi.patch b/sci-libs/gerris/files/gerris-hypre-no-mpi.patch
new file mode 100644
index 000000000000..2e3aede8b7d6
--- /dev/null
+++ b/sci-libs/gerris/files/gerris-hypre-no-mpi.patch
@@ -0,0 +1,21 @@
+--- configure.in.orig 2012-08-08 17:19:49.374366942 +0100
++++ configure.in 2012-08-08 17:20:40.585155226 +0100
+@@ -334,7 +334,8 @@
+
+ # Build hypre module if HYPRE is installed
+ hypre=no
+-if test "x$use_mpicc" = "xyes" ; then # HYPRE needs MPI
++# hypre does not need mpi
++#if test "x$use_mpicc" = "xyes" ; then # HYPRE needs MPI
+ AC_CHECK_LIB(HYPRE, HYPRE_IJMatrixCreate, hypre="yes", hypre="no", [-lm])
+ if test x$hypre = xyes; then
+ AC_CHECK_HEADERS(HYPRE.h, hypre="yes", hypre="no")
+@@ -342,7 +343,7 @@
+ if test x$hypre = xno; then
+ AC_MSG_WARN([HYPRE not found. hypre Module won't be available.])
+ fi
+-fi
++#fi
+ AM_CONDITIONAL(BUILD_HYPRE, test x$hypre = xyes)
+
+ # Build lis module if lis is installed
diff --git a/sci-libs/gerris/gerris-20120731.ebuild b/sci-libs/gerris/gerris-20120731.ebuild
new file mode 100644
index 000000000000..973040d29ba5
--- /dev/null
+++ b/sci-libs/gerris/gerris-20120731.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils flag-o-matic toolchain-funcs
+
+MYP=${P/-20/-snapshot-}
+
+DESCRIPTION="Gerris Flow Solver"
+HOMEPAGE="http://gfs.sourceforge.net/"
+SRC_URI="http://gerris.dalembert.upmc.fr/gerris/tarballs/${MYP}.tar.gz"
+
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples mpi static-libs"
+
+# all these deps could be optional
+# but the configure.in would have to be modified
+# heavily for the automagic
+RDEPEND="
+ dev-libs/glib:2
+ dev-games/ode
+ sci-libs/netcdf
+ sci-libs/gsl
+ sci-libs/gts
+ sci-libs/hypre[mpi?]
+ sci-libs/lis[mpi?]
+ sci-libs/proj
+ >=sci-libs/fftw-3
+ virtual/lapack
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+# buggy tests, need extra packages and require gerris to be installed
+RESTRICT=test
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-hypre-no-mpi.patch
+ eautoreconf
+}
+
+src_configure() {
+ append-cppflags "-I${EPREFIX}/usr/include/hypre"
+ econf \
+ $(use_enable mpi) \
+ $(use_enable static-libs static) \
+ LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)"
+}
+
+src_install() {
+ default
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ rm -f doc/examples/*.pyc || die "Failed to remove python object"
+ doins -r doc/examples/*
+ fi
+}
diff --git a/sci-libs/gerris/gerris-20130531.ebuild b/sci-libs/gerris/gerris-20130531.ebuild
new file mode 100644
index 000000000000..5aec888c6f71
--- /dev/null
+++ b/sci-libs/gerris/gerris-20130531.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils eutils flag-o-matic toolchain-funcs
+
+MYP=${P/-20/-snapshot-}
+
+DESCRIPTION="Gerris Flow Solver"
+HOMEPAGE="http://gfs.sourceforge.net/"
+SRC_URI="http://gerris.dalembert.upmc.fr/gerris/tarballs/${MYP}.tar.gz"
+
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples mpi static-libs"
+
+# all these deps could be optional
+# but the configure.in would have to be modified
+# heavily for the automagic
+RDEPEND="
+ dev-libs/glib:2
+ dev-games/ode
+ sci-libs/netcdf
+ sci-libs/gsl
+ sci-libs/gts
+ sci-libs/hypre[mpi?]
+ sci-libs/lis[mpi?]
+ sci-libs/proj
+ >=sci-libs/fftw-3
+ virtual/lapack
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+# buggy tests, need extra packages and require gerris to be installed
+RESTRICT=test
+
+PATCHES=(
+ "${FILESDIR}"/${P}-hypre-no-mpi.patch
+ "${FILESDIR}"/${P}-lis-matrix-csr.patch
+ "${FILESDIR}"/${P}-use-blas-lapack-system.patch
+)
+
+src_configure() {
+ append-cppflags "-I${EPREFIX}/usr/include/hypre"
+ local myeconfargs=(
+ $(use_enable mpi)
+ )
+ autotools-utils_src_configure \
+ LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)"
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r doc/examples/*
+ fi
+}
diff --git a/sci-libs/gerris/gerris-20131206.ebuild b/sci-libs/gerris/gerris-20131206.ebuild
new file mode 100644
index 000000000000..9dbad6db4d23
--- /dev/null
+++ b/sci-libs/gerris/gerris-20131206.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils eutils flag-o-matic toolchain-funcs
+
+MYP=${P/-20/-snapshot-}
+
+DESCRIPTION="Gerris Flow Solver"
+HOMEPAGE="http://gfs.sourceforge.net/"
+SRC_URI="http://gerris.dalembert.upmc.fr/gerris/tarballs/${MYP}.tar.gz"
+
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples mpi static-libs"
+
+# all these deps could be optional
+# but the configure.in would have to be modified
+# heavily for the automagic
+RDEPEND="
+ dev-libs/glib:2
+ dev-games/ode
+ sci-libs/netcdf
+ sci-libs/gsl
+ sci-libs/gts
+ sci-libs/hypre[mpi?]
+ sci-libs/lis[mpi?]
+ sci-libs/proj
+ >=sci-libs/fftw-3
+ virtual/lapack
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+# buggy tests, need extra packages and require gerris to be installed
+RESTRICT=test
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20130531-hypre-no-mpi.patch
+ "${FILESDIR}"/${PN}-20130531-lis-matrix-csr.patch
+ "${FILESDIR}"/${PN}-20130531-use-blas-lapack-system.patch
+)
+
+src_configure() {
+ append-cppflags "-I${EPREFIX}/usr/include/hypre"
+ local myeconfargs=(
+ $(use_enable mpi)
+ )
+ autotools-utils_src_configure \
+ LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)"
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r doc/examples/*
+ fi
+}
diff --git a/sci-libs/gerris/metadata.xml b/sci-libs/gerris/metadata.xml
new file mode 100644
index 000000000000..430d5d021bdf
--- /dev/null
+++ b/sci-libs/gerris/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Gerris Flow Solver is a software program for the solution of the partial
+ differential equations describing fluid flow.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/getdata/Manifest b/sci-libs/getdata/Manifest
new file mode 100644
index 000000000000..df04fe92d4c2
--- /dev/null
+++ b/sci-libs/getdata/Manifest
@@ -0,0 +1 @@
+DIST getdata-0.8.5.tar.bz2 1015954 SHA256 ee0322c1cca62660daed7941b24d41fc902cd7989539dcba432f5514f682a64e SHA512 3a87ea2fbaa5491ac1d6faecdf10f0a80eef62fb8beefc6103f7f18e74efd404884f100f1d123b1fec672d1a09ea2c87e75626b7c62ea56b568a11cc44feaad0 WHIRLPOOL 7c4566bf7a56d99d41da7d007469d85ea5194f7b7417e6c5e976397f5514f9efd2ad47476f03e050f8dc30cd5348fc02eb7aa5048b14bf62fce629d602d7d84a
diff --git a/sci-libs/getdata/files/getdata-0.8.5-out-of-source.patch b/sci-libs/getdata/files/getdata-0.8.5-out-of-source.patch
new file mode 100644
index 000000000000..45a6c7e14c31
--- /dev/null
+++ b/sci-libs/getdata/files/getdata-0.8.5-out-of-source.patch
@@ -0,0 +1,16 @@
+ bindings/python/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am
+index c2ab221..f5ade68 100644
+--- a/bindings/python/Makefile.am
++++ b/bindings/python/Makefile.am
+@@ -35,7 +35,7 @@ LIBS=
+
+ BUILT_SOURCES = pyconstants.c
+ AM_CFLAGS = ${WALL} -fno-strict-aliasing
+-AM_CPPFLAGS = $(CPPFLAGS) $(PYTHON_CPPFLAGS) $(NUMPY_CPPFLAGS)
++AM_CPPFLAGS = $(CPPFLAGS) $(PYTHON_CPPFLAGS) $(NUMPY_CPPFLAGS) -I$(top_srcdir)/src
+ pygetdata_la_LDFLAGS = -module -avoid-version \
+ -export-symbols-regex initpygetdata
+ pygetdata_la_LIBADD = $(PYTHON_LIBS) ../../src/libgetdata.la
diff --git a/sci-libs/getdata/files/getdata-0.8.5-serial-test.patch b/sci-libs/getdata/files/getdata-0.8.5-serial-test.patch
new file mode 100644
index 000000000000..976757ea8646
--- /dev/null
+++ b/sci-libs/getdata/files/getdata-0.8.5-serial-test.patch
@@ -0,0 +1,42 @@
+ bindings/Makefile.am | 6 +-----
+ bindings/python/test/Makefile.am | 3 +--
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/bindings/Makefile.am b/bindings/Makefile.am
+index df53b0f..ec33316 100644
+--- a/bindings/Makefile.am
++++ b/bindings/Makefile.am
+@@ -38,10 +38,6 @@ if MAKE_MATLABBINDINGS
+ MATLAB_SUBDIR=matlab
+ endif
+
+-if MAKE_PYBINDINGS
+-PY_SUBDIR=python
+-endif
+-
+ if MAKE_PERLBINDINGS
+ PERL_SUBDIR=perl
+ endif
+@@ -52,7 +48,7 @@ make_parameters_SOURCES = make_parameters.c
+ nodist_make_parameters_SOURCES = ../src/getdata.h ../src/gd_config.h
+
+ SUBDIRS = . ${F77_SUBDIR} ${CXX_SUBDIR} ${IDL_SUBDIR} ${MATLAB_SUBDIR} \
+- ${PY_SUBDIR} ${PERL_SUBDIR}
++ ${PERL_SUBDIR}
+
+ make_parameters$(EXEEXT): $(make_parameters_SOURCES) \
+ $(nodist_make_parameters_SOURCES)
+diff --git a/bindings/python/test/Makefile.am b/bindings/python/test/Makefile.am
+index d159cad..b793b02 100644
+--- a/bindings/python/test/Makefile.am
++++ b/bindings/python/test/Makefile.am
+@@ -18,8 +18,7 @@
+ # along with GetData; if not, write to the Free Software Foundation, Inc.,
+ # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ #
+-AUTOMAKE_OPTIONS = foreign
+-
++AUTOMAKE_OPTIONS = foreign serial-tests
+ if TEST_PYTHON
+ TESTS_ENVIRONMENT=${DL_LIBRARY_PATH}=${${DL_LIBRARY_PATH}}:../../../src/.libs PYTHONPATH=../.libs/ ${PYTHON}
+ pyTESTS=callback.py big_test.py
diff --git a/sci-libs/getdata/getdata-0.8.5.ebuild b/sci-libs/getdata/getdata-0.8.5.ebuild
new file mode 100644
index 000000000000..4282094c81c2
--- /dev/null
+++ b/sci-libs/getdata/getdata-0.8.5.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+AUTOTOOLS_AUTORECONF=true
+
+FORTRAN_STANDARD="95"
+FORTRAN_NEEDED=fortran
+
+inherit autotools-utils fortran-2 python-r1
+
+DESCRIPTION="Reference implementation of the Dirfile, format for time-ordered binary data"
+HOMEPAGE="http://getdata.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 debug fortran lzma python perl static-libs"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ bzip2? ( app-arch/bzip2 )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-serial-test.patch
+ "${FILESDIR}"/${P}-out-of-source.patch
+ )
+
+src_configure() {
+ local myeconfargs=()
+ use perl && myeconfargs+=( --with-perl-dir=vendor )
+ myeconfargs+=(
+ --disable-idl
+ --without-libslim
+ --with-libz
+ --docdir="${EPREFIX}/usr/share/doc/${P}"
+ $(use_enable debug)
+ $(use_enable fortran)
+ $(use_enable fortran fortran95)
+ $(use_enable python)
+ $(use_enable perl)
+ $(use_with bzip2 libbz2)
+ $(use_with lzma liblzma)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ if use python; then
+ python_copy_sources
+ building() {
+ cd "${BUILD_DIR}"/bindings/python || die
+ sed "s:-lpython...:$(python_get_LIBS):g" -i Makefile || die
+ emake \
+ PYTHON_VERSION="${EPYTHON#python}" \
+ NUMPY_CPPFLAGS="-I${EPREFIX}$(python_get_sitedir)/numpy/core/include" \
+ PYTHON_CPPFLAGS="-I${EPREFIX}$(python_get_includedir)" \
+ pyexecdir="${EPREFIX}$(python_get_sitedir)" \
+ pythondir="${EPREFIX}$(python_get_sitedir)"
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use python; then
+ installation() {
+ cd "${BUILD_DIR}"/bindings/python || die
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_VERSION="${EPYTHON#python}" \
+ NUMPY_CPPFLAGS="-I${EPREFIX}$(python_get_sitedir)/numpy/core/include" \
+ PYTHON_CPPFLAGS="-I${EPREFIX}$(python_get_includedir)" \
+ pyexecdir="${EPREFIX}$(python_get_sitedir)" \
+ pythondir="${EPREFIX}$(python_get_sitedir)" \
+ install
+ find \
+ "${ED}/$(python_get_sitedir)" \
+ -type f \( -name "*.a" -o -name "*.la" \) -delete || die
+ }
+ python_foreach_impl installation
+ fi
+}
diff --git a/sci-libs/getdata/metadata.xml b/sci-libs/getdata/metadata.xml
new file mode 100644
index 000000000000..ac6fc3235bb0
--- /dev/null
+++ b/sci-libs/getdata/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The GetData Project is the reference implementation of the Dirfile
+ Standards, a filesystem-based, column-oriented database format for
+ time-ordered binary data. The Dirfile database format is designed to
+ provide a fast, simple format for storing and reading data.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">getdata</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/gpp4/Manifest b/sci-libs/gpp4/Manifest
new file mode 100644
index 000000000000..7bc761d2c9c5
--- /dev/null
+++ b/sci-libs/gpp4/Manifest
@@ -0,0 +1 @@
+DIST gpp4-1.3.1.tar.gz 694533 SHA256 ad18b8771f68b55bcf40a59f2be5489daf6bd97934a181602de7f44fbe27776f
diff --git a/sci-libs/gpp4/gpp4-1.3.1.ebuild b/sci-libs/gpp4/gpp4-1.3.1.ebuild
new file mode 100644
index 000000000000..9a72081979e9
--- /dev/null
+++ b/sci-libs/gpp4/gpp4-1.3.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2
+
+DESCRIPTION="A standalone, drop-in replacement for the CCP4 library"
+HOMEPAGE="https://launchpad.net/gpp4/"
+SRC_URI="http://launchpad.net/${PN}/1.3/${PV}/+download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="fortran static-libs"
+
+RDEPEND="sci-libs/mmdb"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf \
+ $(use_with fortran fortran-api) \
+ $(use_enable static-libs static)
+}
diff --git a/sci-libs/gpp4/metadata.xml b/sci-libs/gpp4/metadata.xml
new file mode 100644
index 000000000000..22df06994004
--- /dev/null
+++ b/sci-libs/gpp4/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">gpp4</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/grib_api/Manifest b/sci-libs/grib_api/Manifest
new file mode 100644
index 000000000000..6776c1fafe8d
--- /dev/null
+++ b/sci-libs/grib_api/Manifest
@@ -0,0 +1,2 @@
+DIST grib_api-1.11.0.tar.gz 14412684 SHA256 7a7ee16c6df1b0dceff3d8b5cd5f614804ca6e49b6aa99892f99fd6d6a2f5b35 SHA512 09c50d194049d2d19686139fb7150bd7399fc05bb5b7e40e8d91ce0301698263c40357b8524f925642ae6f78d9bc61218be26bef7f2dfeb326ccc9e8bc3a49e3 WHIRLPOOL 0e1f3bf8b36c12f12ef04dd653aa9eb024095adaec0a56fae7beb1c666f4410e912f56bbba3a0526e08f78000859b113ffff4a6f3ee11f6fa1944aa249e4289a
+DIST grib_api-1.9.16.tar.gz 6267489 SHA256 9066a18e2366eca147cfdf4406c0d80f6fd65e23d51d8e781a22d08694417a05 SHA512 fdb04d39b906de1acbbde635540baf408156aca6a7243849c121e941de1878107ef2348162c135f9aaf9e4cc97d0970c562264f11ea6b8f82ecf8ae896575ba9 WHIRLPOOL 0174627ffe6611b72424d4cd5b516f90a32dc0e72498b0617a8f24de6345c3ecc01628a4027f121ae468eddc322e1c354e3a69326313602d17b97128ad49ca65
diff --git a/sci-libs/grib_api/files/grib_api-1.9.16-autotools.patch b/sci-libs/grib_api/files/grib_api-1.9.16-autotools.patch
new file mode 100644
index 000000000000..7381c0dd0725
--- /dev/null
+++ b/sci-libs/grib_api/files/grib_api-1.9.16-autotools.patch
@@ -0,0 +1,512 @@
+diff -Nur grib_api-1.9.16.orig/configure.ac grib_api-1.9.16/configure.ac
+--- grib_api-1.9.16.orig/configure.ac 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/configure.ac 2012-04-18 20:59:24.000000000 +0100
+@@ -24,21 +24,9 @@
+ AC_CONFIG_HEADER([src/config.h])
+ AM_INIT_AUTOMAKE($PACKAGE_NAME,[${PACKAGE_VERSION}],[http://www.ecmwf.int])
+
+-definition_files_path=/usr/local/share/grib_api/definitions
+-samples_files_path=/usr/local/share/grib_api/samples
+-default_perl_install='${prefix}/perl'
+-
+-
+-if test "$prefix" != 'NONE' ; then
+- definition_files_path=${prefix}/share/definitions
+- samples_files_path=${prefix}/share/samples
+- default_perl_install=${prefix}/perl
+-fi
+-
+-if test "$datadir" != '${datarootdir}' ; then
+- definition_files_path=$datadir/definitions
+-fi
+-
++definition_files_path=${datadir}/$PACKAGE_NAME/definitions
++samples_files_path=${datadir}/$PACKAGE_NAME/samples
++default_perl_install=${prefix}/perl
+
+ AC_DEFINE_UNQUOTED(GRIB_API_MAIN_VERSION,$GRIB_API_MAIN_VERSION,Grib Api version)
+ AC_DEFINE_UNQUOTED(GRIB_API_MAJOR_VERSION,$GRIB_API_MAJOR_VERSION,Grib Api Major release)
+@@ -62,19 +50,20 @@
+ AC_PROG_LEX
+ AC_PROG_F77(pgf90 pgf77 xlf gfortran f77 g77 f90 ifort)
+ AC_PROG_FC(pgf90 xlf90 gfortran f90 ifort)
++AC_PROG_LIBTOOL
+
+ dnl check availability of pthreads
+ AC_ARG_ENABLE([pthread],
+ [AC_HELP_STRING([--enable-pthread],
+- [enable POSIX thread ])],
+- GRIB_PTHREADS=1 , GRIB_PTHREADS=0
+-)
++ [enable POSIX thread ])])
+
+-if test $GRIB_PTHREADS -eq 1
++if test x"$enable_pthread" = x"yes"
+ then
++GRIB_PTHREADS=1
+ AC_GRIB_PTHREADS
+ AC_GRIB_LINUX_PTHREADS
+ else
++GRIB_PTHREADS=0
+ GRIB_LINUX_PTHREADS=0
+ fi
+
+@@ -97,9 +86,9 @@
+ AC_ARG_ENABLE([ieee-native],
+ [AC_HELP_STRING([--disable-ieee-native],
+ [disable ieee native packing])],
+- without_ieee=1,without_ieee=0)
++ with_ieee=$enableval,with_ieee=no)
+
+-if test $without_ieee -eq 1
++if test x"$with_ieee" = x"yes"
+ then
+ AC_DEFINE_UNQUOTED(IEEE_LE,0,1-> ieee little endian float/double 0->no ieee little endian float/double)
+ AC_DEFINE_UNQUOTED(IEEE_BE,0,1-> ieee big endian float/double 0->no ieee big endian float/double)
+@@ -120,36 +109,47 @@
+ AC_ARG_ENABLE([align-memory],
+ [AC_HELP_STRING([--enable-align-memory],
+ [enable memory alignement])],
+-AC_DEFINE_UNQUOTED(GRIB_MEM_ALIGN,1,memory alignment required) ,
+- )
++with_mem_align=$enableval)
+
++if test x"$with_mem_align" = x"yes"
++then
++AC_DEFINE_UNQUOTED(GRIB_MEM_ALIGN,1,memory alignment required)
++fi
+ dnl use vectorised code
+ AC_ARG_ENABLE([vector],
+ [AC_HELP_STRING([--enable-vector],
+ [enable vectorised code ])],
+- vectorise=1,vectorise=0)
+-
++ with_vectorise=$enableval, vectorise=0)
++if test x"$with_vectorise" = x"yes"
++then
++vectorise=1
++fi
+ AC_DEFINE_UNQUOTED(VECTOR,$vectorise,vectorised code)
+
+ dnl enable memory management
+ AC_ARG_ENABLE([memory-management],
+ [AC_HELP_STRING([--enable-memory-management],
+ [enable memory ])],
+-AC_DEFINE_UNQUOTED(MANAGE_MEM,1,memory management) ,
++with_manage_mem=$enableval,
+ AC_DEFINE_UNQUOTED(MANAGE_MEM,0,memory management)
+ )
++if test x"$with_manage_mem" = x"yes"
++then
++AC_DEFINE_UNQUOTED(MANAGE_MEM,1,memory management)
++fi
+
+ dnl enable development configuration
+ DEVEL_RULES=''
+ AC_ARG_ENABLE([development],
+ [AC_HELP_STRING([--enable-development],
+- [enable development configuration ])],
+- GRIB_DEVEL=1 , GRIB_DEVEL=0
+-)
+-if test $GRIB_DEVEL -eq 1
++ [enable development configuration ])])
++
++if test x"$enable_development" = x"yes"
+ then
++ GRIB_DEVEL=1
+ DEVEL_RULES='extrules.am'
+ else
++ GRIB_DEVEL=0
+ DEVEL_RULES='dummy.am'
+ fi
+ AC_SUBST(DEVEL_RULES)
+@@ -186,14 +186,14 @@
+ AC_ARG_ENABLE([fortran],
+ [AC_HELP_STRING([--disable-fortran],
+ [disable fortran interface])],
+- without_fortran=1,without_fortran=0)
++ with_fortran=$enableval,with_fortran=yes)
+
+ if test "x$FC" = "x"
+ then
+- without_fortran=1
++ with_fortran=no
+ fi
+
+-if test $without_fortran -ne 1
++if test x$"with_fortran" = x"yes"
+ then
+ FORTRAN_MOD=fortran
+ AC_SUBST(FORTRAN_MOD)
+@@ -262,8 +262,8 @@
+ AC_ARG_ENABLE([timer],
+ [AC_HELP_STRING([--enable-timer],
+ [enable timer])],
+- with_timer=1,with_timer=0)
+-if test ${with_timer} -eq 1
++ with_timer=$enable_val,with_timer=no)
++if test x"${with_timer}" = x"yes"
+ then
+ AC_DEFINE(GRIB_TIMER,1,1->Timer on 0->Timer off)
+ else
+@@ -275,8 +275,8 @@
+ AC_ARG_ENABLE([omp-packing],
+ [AC_HELP_STRING([--enable-omp-packing],
+ [enable OpenMP multithreaded packing])],
+- with_omp=1,with_omp=0)
+-if test ${with_omp} -eq 1
++ with_omp=$enableval,with_omp=no)
++if test x"${with_omp}" = x"yes"
+ then
+ AC_DEFINE(OMP_PACKING,1,1->OpenMP packing 0->single thread packing)
+ else
+@@ -291,8 +291,6 @@
+ if test $netcdf_dir != 'none'
+ then
+ with_netcdf=1
+- CFLAGS="$CFLAGS -I${netcdf_dir}/include"
+- LDFLAGS="$LDFLAGS -L${netcdf_dir}/lib"
+ AC_CHECK_LIB(netcdf,nc_open,netcdf_ok=1,netcdf_ok=0)
+ if test $netcdf_ok -eq 0
+ then
+@@ -312,7 +310,7 @@
+ AC_ARG_ENABLE([jpeg],
+ [AC_HELP_STRING([--disable-jpeg],
+ [disable jpeg 2000 for grib 2 decoding/encoding])],
+- without_jpeg=1,without_jpeg=0)
++ with_jpeg=$enableval,with_jpeg=yes)
+
+ AC_ARG_WITH([jasper],
+ [AC_HELP_STRING([--with-jasper=JASPER],
+@@ -322,12 +320,6 @@
+ JASPER_DIR=$jasper_dir
+ AC_SUBST(JASPER_DIR)
+
+-if test $jasper_dir != 'system'
+-then
+- CFLAGS="$CFLAGS -I${jasper_dir}/include"
+- LDFLAGS="$LDFLAGS -L${jasper_dir}/lib"
+-fi
+-
+ AC_ARG_WITH([openjpeg],
+ [AC_HELP_STRING([--with-openjpeg=OPENJPEG],
+ [use specified openjpeg installation directory])],
+@@ -336,13 +328,7 @@
+ OPENJPEG_DIR=$openjpeg_dir
+ AC_SUBST(OPENJPEG_DIR)
+
+-if test $openjpeg_dir != 'system'
+-then
+- CFLAGS="$CFLAGS -I${openjpeg_dir}/include"
+- LDFLAGS="$LDFLAGS -L${openjpeg_dir}/lib"
+-fi
+-
+-if test $without_jpeg -ne 1
++if test x"$with_jpeg" = x"yes"
+ then
+ AC_DEFINE(HAVE_JPEG,1,JPEG enabled)
+ AC_CHECK_LIB(jasper,jas_stream_memopen,jasper_ok=1,jasper_ok=0)
+@@ -429,9 +415,9 @@
+ AC_ARG_ENABLE([install-system-perl],
+ [AC_HELP_STRING([--enable-install-system-perl],
+ [perl modules will install in the standard perl installation ])],
+- enable_perl_install='yes', enable_perl_install='no')
++ enable_perl_install=$enableval, enable_perl_install=no)
+
+-if test "$enable_perl_install" = 'yes'
++if test x"$enable_perl_install" = x"yes"
+ then
+ PERL_INSTALL_OPTIONS=""
+ fi
+@@ -461,7 +447,7 @@
+ builddir=`pwd`
+
+ dnl Options to pass when configuring Perl grib_api
+-GRIB_API_LIB="${builddir}/src/grib_api.a"
++GRIB_API_LIB="${builddir}/src/libgrib_api.la"
+ GRIB_API_INC="${builddir}/src"
+ AC_ARG_WITH([perl-options],
+ [AC_HELP_STRING([--with-perl-options=[OPTIONS]], [options to pass on command-line when
+diff -Nur grib_api-1.9.16.orig/definitions/installDefinitions.sh grib_api-1.9.16/definitions/installDefinitions.sh
+--- grib_api-1.9.16.orig/definitions/installDefinitions.sh 2012-04-18 20:59:04.000000000 +0100
++++ grib_api-1.9.16/definitions/installDefinitions.sh 2012-04-18 20:59:24.000000000 +0100
+@@ -44,7 +44,7 @@
+ echo checking definition files compatibility...
+ for file in `find . -name '*.def' -print`
+ do
+- ${grib_api_bin}/parser $file
++ ${grib_api_bin}/grib_parser $file
+ done
+ if [ $? != 0 ]
+ then
+diff -Nur grib_api-1.9.16.orig/examples/C/Makefile.am grib_api-1.9.16/examples/C/Makefile.am
+--- grib_api-1.9.16.orig/examples/C/Makefile.am 2012-04-18 20:59:04.000000000 +0100
++++ grib_api-1.9.16/examples/C/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -30,7 +30,7 @@
+
+ INCLUDES = -I$(top_builddir)/src
+
+-LDADD = $(top_builddir)/src/libgrib_api.a
++LDADD = $(top_builddir)/src/libgrib_api.la
+ DEPENDENCIES = $(LDADD)
+
+ EXTRA_DIST =$(TESTS) include.sh
+diff -Nur grib_api-1.9.16.orig/examples/F90/Makefile.am grib_api-1.9.16/examples/F90/Makefile.am
+--- grib_api-1.9.16.orig/examples/F90/Makefile.am 2012-04-18 20:59:04.000000000 +0100
++++ grib_api-1.9.16/examples/F90/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -37,7 +37,7 @@
+
+ AM_FCFLAGS = $(F90_MODULE_FLAG)$(top_builddir)/fortran
+
+-LDADD = $(top_builddir)/fortran/libgrib_api_f90.a $(top_builddir)/src/libgrib_api.a
++LDADD = $(top_builddir)/fortran/libgrib_api_f90.la $(top_builddir)/src/libgrib_api.la
+ DEPENDENCIES = $(LDADD)
+
+ EXTRA_DIST =$(TESTS) include.sh
+diff -Nur grib_api-1.9.16.orig/examples/python/include.sh grib_api-1.9.16/examples/python/include.sh
+--- grib_api-1.9.16.orig/examples/python/include.sh 2012-04-18 20:59:04.000000000 +0100
++++ grib_api-1.9.16/examples/python/include.sh 2012-04-18 20:59:24.000000000 +0100
+@@ -14,6 +14,8 @@
+
+ PYTHONPATH=$cpath/python:$PYTHONPATH
+ export PYTHONPATH
++LD_LIBRARY_PATH=$cpath/src/.libs:$LD_LIBRARY_PATH
++export LD_LIBRARY_PATH
+
+ set -u
+
+diff -Nur grib_api-1.9.16.orig/examples/python/Makefile.am grib_api-1.9.16/examples/python/Makefile.am
+--- grib_api-1.9.16.orig/examples/python/Makefile.am 2012-04-18 20:59:04.000000000 +0100
++++ grib_api-1.9.16/examples/python/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -10,7 +10,7 @@
+ iterator_SOURCES = iterator.c
+ count_messages_SOURCES = count_messages.c
+ INCLUDES = -I$(top_builddir)/src
+-LDADD = $(top_builddir)/src/libgrib_api.a
++LDADD = $(top_builddir)/src/libgrib_api.la
+ DEPENDENCIES = $(LDADD)
+
+ EXTRA_DIST = $(TESTS) include.sh clone.py count_messages.py get.py index.py iterator.py keys_iterator.py multi_write.py nearest.py print_data.py samples.py set.py set_missing.py binary_message.py set_pv.py
+diff -Nur grib_api-1.9.16.orig/fortran/Makefile.am grib_api-1.9.16/fortran/Makefile.am
+--- grib_api-1.9.16.orig/fortran/Makefile.am 2012-04-18 20:59:04.000000000 +0100
++++ grib_api-1.9.16/fortran/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -2,14 +2,14 @@
+
+ AM_CFLAGS = @WARN_PEDANTIC@
+
+-lib_LIBRARIES = libgrib_api_f77.a libgrib_api_f90.a
++lib_LTLIBRARIES = libgrib_api_f77.la libgrib_api_f90.la
+ include_HEADERS = grib_api_f77.h
+
+-libgrib_api_f77_a_SOURCES= grib_fortran.c grib_f77.c
+-libgrib_api_f77_a_DEPENDENCIES = $(top_builddir)/src/libgrib_api.a
++libgrib_api_f77_la_SOURCES= grib_fortran.c grib_f77.c
++libgrib_api_f77_la_DEPENDENCIES = $(top_builddir)/src/libgrib_api.la
+
+-libgrib_api_f90_a_SOURCES= grib_fortran.c grib_f90.f90
+-libgrib_api_f90_a_DEPENDENCIES = $(top_builddir)/src/libgrib_api.a grib_api_externals.h grib_api_visibility.h grib_api_constants.h grib_kinds.h
++libgrib_api_f90_la_SOURCES= grib_fortran.c grib_f90.f90
++libgrib_api_f90_la_DEPENDENCIES = $(top_builddir)/src/libgrib_api.la grib_api_externals.h grib_api_visibility.h grib_api_constants.h grib_kinds.h
+
+ libgrib_api_fortran_prototypes= grib_fortran.c
+
+@@ -26,7 +26,7 @@
+
+ ## Make sure these will be cleaned even when they're not built by
+ ## default.
+-CLEANFILES = libgrib_api_f77.a libgrib_api_f90.a grib_f90.f90 *.mod grib_types grib_kinds.h
++CLEANFILES = libgrib_api_f77.la libgrib_api_f90.la grib_f90.f90 *.mod grib_types grib_kinds.h
+
+ #noinst_HEADERS =
+
+diff -Nur grib_api-1.9.16.orig/perl/GRIB-API/Makefile.PL.in grib_api-1.9.16/perl/GRIB-API/Makefile.PL.in
+--- grib_api-1.9.16.orig/perl/GRIB-API/Makefile.PL.in 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/perl/GRIB-API/Makefile.PL.in 2012-04-18 20:59:24.000000000 +0100
+@@ -19,5 +19,5 @@
+ INC => '-I@GRIB_API_INC@', # e.g., '-I. -I/usr/include/other'
+ # Un-comment this if you add C files to link with later:
+ # OBJECT => '$(O_FILES)', # link all the C files too
+- depend => { "API.o" => "../../src/libgrib_api.a" }
++ depend => { "API.o" => "../../src/libgrib_api.la" }
+ );
+diff -Nur grib_api-1.9.16.orig/perl/Makefile.am grib_api-1.9.16/perl/Makefile.am
+--- grib_api-1.9.16.orig/perl/Makefile.am 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/perl/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -16,10 +16,10 @@
+ $(PERLMAKEFILE): $(PERLMAKEMAKER)
+ cd $(API_DIR) && @PERL@ Makefile.PL @PERL_INSTALL_OPTIONS@ @PERL_MAKE_OPTIONS@ @PERL_LD_OPTIONS@
+
+-$(PERLLIB): $(PERLMAKEFILE) $(top_builddir)/src/libgrib_api.a
++$(PERLLIB): $(PERLMAKEFILE) $(top_builddir)/src/libgrib_api.la
+ cd $(API_DIR) && $(MAKE)
+
+-$(top_builddir)/src/libgrib_api.a: $(top_builddir)/src/Makefile
++$(top_builddir)/src/libgrib_api.la: $(top_builddir)/src/Makefile
+ cd $(top_builddir)/src && $(MAKE)
+
+ install-exec-perl: $(PERLMAKEFILE)
+diff -Nur grib_api-1.9.16.orig/python/Makefile.am grib_api-1.9.16/python/Makefile.am
+--- grib_api-1.9.16.orig/python/Makefile.am 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/python/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -23,7 +23,7 @@
+ swig_wrap_numpy.py
+
+ # What I want installed
+-pdir = $(libdir)/python$(PYTHON_VERSION)/site-packages/grib_api
++pdir = $(libdir)/python$(PYTHON_VERSION)/site-packages
+ p_DATA = \
+ _gribapi_swig.so \
+ gribapi.py \
+diff -Nur grib_api-1.9.16.orig/python/setup.py.in grib_api-1.9.16/python/setup.py.in
+--- grib_api-1.9.16.orig/python/setup.py.in 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/python/setup.py.in 2012-04-18 20:59:24.000000000 +0100
+@@ -17,7 +17,8 @@
+ build_dir = '@BUILD_DIR@'
+ add_attribute(
+ include_dirs = os.path.join(build_dir,'src'),
+- extra_objects = os.path.join(build_dir,'src','libgrib_api.a')
++ library_dirs = os.path.join(build_dir,'src','.libs'),
++ libraries = 'grib_api'
+ )
+
+ with_jasper = '@LIB_JASPER@'
+diff -Nur grib_api-1.9.16.orig/src/extrules.am grib_api-1.9.16/src/extrules.am
+--- grib_api-1.9.16.orig/src/extrules.am 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/src/extrules.am 2012-04-18 20:59:24.000000000 +0100
+@@ -9,7 +9,7 @@
+ cmp ../python/grib_errors.h grib_errors.h.new || (p4 edit ../python/grib_errors.h ; cp grib_errors.h.new ../python/grib_errors.h)
+
+
+-proto:;-p4 edit grib_api_prototypes.h;mkptypes -A $(libgrib_api_a_prototypes) $(libgrib_api_extra_prototypes) > grib_api_prototypes.h
++proto:;-p4 edit grib_api_prototypes.h;mkptypes -A $(libgrib_api_la_prototypes) $(libgrib_api_extra_prototypes) > grib_api_prototypes.h
+ test:all;(cd ../tests; make tests)
+
+ templates:
+diff -Nur grib_api-1.9.16.orig/src/Makefile.am grib_api-1.9.16/src/Makefile.am
+--- grib_api-1.9.16.orig/src/Makefile.am 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/src/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -7,10 +7,10 @@
+ # -DYYDEBUG
+
+
+-lib_LIBRARIES = libgrib_api.a
++lib_LTLIBRARIES = libgrib_api.la
+ include_HEADERS = grib_api.h
+
+-libgrib_api_a_prototypes= \
++libgrib_api_la_prototypes= \
+ action.c \
+ action_class_alias.c \
+ action_class_gen.c \
+@@ -143,7 +143,6 @@
+ grib_accessor_class_spectral_truncation.c \
+ grib_accessor_class_time.c \
+ grib_accessor_class_transient.c \
+- grib_accessor_class_g1_half_byte_codeflag.c \
+ grib_accessor_class_values.c \
+ grib_accessor_class_simple_packing_error.c \
+ grib_accessor_class_data_simple_packing.c \
+@@ -286,10 +285,10 @@
+
+ libgrib_api_extra_prototypes = grib_bits_any_endian.c grib_bits_any_endian_simple.c
+
+-libgrib_api_a_SOURCES = $(libgrib_api_a_prototypes) grib_yacc.c grib_lex.c
++libgrib_api_la_SOURCES = $(libgrib_api_la_prototypes) grib_yacc.c grib_lex.c
+
+-libgrib_api_a_LIBADD = @LIBOBJS@
+-libgrib_api_a_DEPENDENCIES = grib_api.h $(libgrib_api_a_LIBADD)
++libgrib_api_la_LIBADD = @LIBOBJS@
++libgrib_api_la_DEPENDENCIES = grib_api.h $(libgrib_api_la_LIBADD)
+
+
+ # set the include path
+@@ -297,7 +296,7 @@
+
+ ## Make sure these will be cleaned even when they're not built by
+ ## default.
+-CLEANFILES = libgrib_api.a
++CLEANFILES = libgrib_api.la
+
+
+ noinst_HEADERS = grib_api_internal.h \
+diff -Nur grib_api-1.9.16.orig/tests/definitions.sh grib_api-1.9.16/tests/definitions.sh
+--- grib_api-1.9.16.orig/tests/definitions.sh 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/tests/definitions.sh 2012-04-18 20:59:24.000000000 +0100
+@@ -15,6 +15,6 @@
+
+ for file in `find $GRIB_DEFINITION_PATH -name '*.def' -print`
+ do
+- ${tools_dir}parser $file > $REDIRECT
++ ${tools_dir}grib_parser $file > $REDIRECT
+ done
+
+diff -Nur grib_api-1.9.16.orig/tests/Makefile.am grib_api-1.9.16/tests/Makefile.am
+--- grib_api-1.9.16.orig/tests/Makefile.am 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/tests/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -31,7 +31,7 @@
+ gribex_perf_SOURCES = gribex_perf.c
+ gribex_perf_SOURCES = gauss_sub.c
+
+- LDADD = $(top_builddir)/src/libgrib_api.a $(EMOS_LIB)
++ LDADD = $(top_builddir)/src/libgrib_api.la $(EMOS_LIB)
+
+ INCLUDES = -I$(top_builddir)/src
+
+diff -Nur grib_api-1.9.16.orig/tigge/Makefile.am grib_api-1.9.16/tigge/Makefile.am
+--- grib_api-1.9.16.orig/tigge/Makefile.am 2012-04-18 20:59:04.000000000 +0100
++++ grib_api-1.9.16/tigge/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -12,5 +12,5 @@
+
+ INCLUDES = -I$(top_builddir)/src
+
+-LDADD = $(top_builddir)/src/libgrib_api.a
++LDADD = $(top_builddir)/src/libgrib_api.la
+ DEPENDENCIES = $(LDADD)
+diff -Nur grib_api-1.9.16.orig/tools/Makefile.am grib_api-1.9.16/tools/Makefile.am
+--- grib_api-1.9.16.orig/tools/Makefile.am 2012-04-18 20:59:05.000000000 +0100
++++ grib_api-1.9.16/tools/Makefile.am 2012-04-18 20:59:24.000000000 +0100
+@@ -3,9 +3,9 @@
+
+ AM_YFLAGS = -d
+
+-noinst_LIBRARIES = libgrib_tools.a
++noinst_LTLIBRARIES = libgrib_tools.la
+
+-libgrib_tools_a_SOURCES = grib_tools.c \
++libgrib_tools_la_SOURCES = grib_tools.c \
+ grib_options.c
+
+
+@@ -13,7 +13,7 @@
+ grib_debug grib_info grib_filter grib_ls grib_dump \
+ grib2ppm grib_set grib_get grib_get_data grib_copy grib_repair \
+ grib_packing grib_cmp grib_convert grib_distance grib_corruption_check\
+- grib_compare grib_list_keys parser grib_count grib_index_build grib1to2 \
++ grib_compare grib_list_keys grib_parser grib_count grib_index_build grib1to2 \
+ gg_sub_area_check grib_moments
+
+ noinst_PROGRAMS = gaussian grib_diff mars_request xref all_keys #compile #dumpload grib_compare_old
+@@ -31,7 +31,7 @@
+ grib_histogram_SOURCES = grib_histogram.c
+ grib_distance_SOURCES = grib_distance.c
+ grib_debug_SOURCES = grib_debug.c
+-parser_SOURCES = parser.c
++grib_parser_SOURCES = parser.c
+ grib_list_keys_SOURCES = list_keys.c
+ all_keys_SOURCES = all_keys.c
+ grib2ppm_SOURCES = grib2ppm.c
+@@ -62,12 +62,12 @@
+
+ INCLUDES = -I$(top_builddir)/src
+
+-LDADD = libgrib_tools.a $(top_builddir)/src/libgrib_api.a
++LDADD = libgrib_tools.la $(top_builddir)/src/libgrib_api.la
+ DEPENDENCIES = $(LDADD)
+
+ ## Make sure these will be cleaned even when they're not built by
+ ## default.
+-CLEANFILES = libgrib_tools.a
++CLEANFILES = libgrib_tools.la
+
+ grib1to2$(EXEEXT): grib1to2.txt
+ sed "s:toolsdir:$(bindir):" grib1to2.txt > grib1to2
diff --git a/sci-libs/grib_api/files/grib_api-1.9.16-jpeg2k.patch b/sci-libs/grib_api/files/grib_api-1.9.16-jpeg2k.patch
new file mode 100644
index 000000000000..5fb65edcbfb2
--- /dev/null
+++ b/sci-libs/grib_api/files/grib_api-1.9.16-jpeg2k.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -337,7 +337,7 @@
+ jpeg_ok=0
+
+ # prefer openjpeg over jasper
+- if test $openjpeg_ok -eq 1
++ if test $openjpeg_ok -eq 1 && test $with_openjpeg = "yes"
+ then
+ jpeg_ok=1
+ LIB_OPENJPEG='-lopenjpeg -lm'
diff --git a/sci-libs/grib_api/files/grib_api-1.9.9-ieeefloat.patch b/sci-libs/grib_api/files/grib_api-1.9.9-ieeefloat.patch
new file mode 100644
index 000000000000..bd8456cf297f
--- /dev/null
+++ b/sci-libs/grib_api/files/grib_api-1.9.9-ieeefloat.patch
@@ -0,0 +1,18 @@
+--- grib_api-1.9.9.orig/src/grib_ieeefloat.c 2009-11-24 11:51:55.000000000 +0000
++++ grib_api-1.9.9/src/grib_ieeefloat.c 2011-03-08 17:36:39.000000000 +0000
+@@ -336,12 +336,13 @@
+ #if IEEE_LE
+ unsigned char s[8]={0,};
+ unsigned char* buf=(unsigned char*)&x;
++ size_t nb = sizeof(unsigned long);
+ int j=0;
+ for (j=7;j>=0;j--)
+ s[j]= *(buf++);
+- memcpy(&lval,s,8);
++ memcpy(&lval,s,nb);
+ #elif IEEE_BE
+- memcpy(&lval,&x,8);
++ memcpy(&lval,&x,nb);
+ #endif
+ return lval;
+ }
diff --git a/sci-libs/grib_api/grib_api-1.11.0.ebuild b/sci-libs/grib_api/grib_api-1.11.0.ebuild
new file mode 100644
index 000000000000..6b6c9afb9b26
--- /dev/null
+++ b/sci-libs/grib_api/grib_api-1.11.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="77 90"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit autotools-utils toolchain-funcs fortran-2 python-single-r1
+
+PID=3473437
+
+DESCRIPTION="Library for decoding WMO FM-92 GRIB messages"
+HOMEPAGE="https://software.ecmwf.int/wiki/display/GRIB/Home"
+SRC_URI="https://software.ecmwf.int/wiki/download/attachments/${PID}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc examples fortran jasper jpeg2k netcdf openmp png python static-libs threads perl"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ jpeg2k? (
+ jasper? ( media-libs/jasper )
+ !jasper? ( media-libs/openjpeg:0 )
+ )
+ netcdf? ( sci-libs/netcdf )
+ png? ( media-libs/libpng )
+ python? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )"
+
+pkg_setup() {
+ if use openmp; then
+ if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
+ ewarn "OpenMP is not available in your current selected gcc"
+ die "need openmp capable gcc"
+ fi
+ fi
+ fortran-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # failing test
+ sed -i \
+ -e 's/\(${tools_dir}grib_ls -plevels tmp_rlls.grib1 | grep MISSING\)/#\1/' \
+ tests/ls.sh
+}
+
+src_configure() {
+ # perl module needs serious packaging work from upstream
+ local myeconfargs=(
+ --without-perl
+ $(use_enable jpeg2k jpeg)
+ $(use_enable fortran)
+ $(use_enable openmp omp-packing)
+ $(use_enable python)
+ $(use_enable python numpy)
+ $(use_enable threads pthread)
+ $(
+ use netcdf && \
+ echo --with-netcdf="${EPREFIX}"/usr || \
+ echo --with-netcdf=none
+ )
+ $(use_with png png-support)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml -r html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ emake clean
+ doins -r *
+ fi
+ use python && python_optimize
+}
diff --git a/sci-libs/grib_api/grib_api-1.9.16.ebuild b/sci-libs/grib_api/grib_api-1.9.16.ebuild
new file mode 100644
index 000000000000..d7a4fabf6870
--- /dev/null
+++ b/sci-libs/grib_api/grib_api-1.9.16.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+PYTHON_DEPEND="python? 2"
+inherit eutils autotools python
+
+DESCRIPTION="Library for decoding WMO FM-92 GRIB messages"
+HOMEPAGE="http://www.ecmwf.int/products/data/software/grib_api.html"
+SRC_URI="http://www.ecmwf.int/products/data/software/download/software_files/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples fortran jasper jpeg2k netcdf openmp png python static-libs"
+
+DEPEND="
+ jpeg2k? (
+ jasper? ( media-libs/jasper )
+ !jasper? ( media-libs/openjpeg:0 )
+ )
+ netcdf? ( sci-libs/netcdf )
+ png? ( media-libs/libpng )
+ python? ( dev-python/numpy )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ use python && python_set_active_version 2
+}
+
+src_prepare() {
+ sed -i -e 's:/usr/bin/ksh:/bin/sh:' tools/grib1to2.txt || die
+ epatch \
+ "${FILESDIR}"/${PN}-1.9.9-ieeefloat.patch \
+ "${FILESDIR}"/${PN}-1.9.16-autotools.patch \
+ "${FILESDIR}"/${PN}-1.9.16-jpeg2k.patch
+ eautoreconf
+}
+
+src_configure() {
+ # perl sources disappear from tar ball
+ econf \
+ --without-perl \
+ $(use_enable jpeg2k jpeg) \
+ $(
+ use jasper && \
+ echo --with-jasper=system --without-openjpeg || \
+ echo --with-openjpeg=system --without-jasper
+ ) \
+ $(use_enable fortran) \
+ $(use_enable openmp omp-packing) \
+ $(use_enable python) \
+ $(use_enable python numpy) \
+ $(use_enable static-libs static) \
+ $(
+ use netcdf && echo --with-netcdf="${EPREFIX}"/usr || \
+ echo --with-netcdf=none
+ ) \
+ $(use_with png png-support) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ use doc && dohtml html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ emake clean
+ doins -r *
+ fi
+}
diff --git a/sci-libs/grib_api/metadata.xml b/sci-libs/grib_api/metadata.xml
new file mode 100644
index 000000000000..390ff4487e6e
--- /dev/null
+++ b/sci-libs/grib_api/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The European Centre for Medium-Range Weather Forecasts GRIdded
+ Binary (GRIB) API is an application program interface accessible
+ from C and FORTRAN programs developed for encoding and decoding WMO
+ FM-92 GRIB edition 1 and edition 2 messages. A useful set of command
+ line tools is also provided to give quick access to grib messages.
+</longdescription>
+<use>
+ <flag name="jasper">Use <pkg>media-libs/jasper</pkg> instead of
+ <pkg>media-libs/openjpeg</pkg> for JPEG 2000 support</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest
new file mode 100644
index 000000000000..9a0bb33e0b93
--- /dev/null
+++ b/sci-libs/gsl/Manifest
@@ -0,0 +1,2 @@
+DIST gsl-1.14.tar.gz 3128269 SHA256 3d4a47afd9a1e7c73b97791b4180d8cc4d5f0e5db6027fe06437f1f3f957fafb
+DIST gsl-1.16.tar.gz 3534080 SHA256 73bc2f51b90d2a780e6d266d43e487b3dbd78945dd0b04b14ca5980fe28d2f53 SHA512 94e998953f30d701e1cd0a5e05d572c5cca7b6f40f0533aa85394ba4218946826408093ffe3049a0ab13d6ba87034fcec1a7d52a67d0b8860dc02b5fd4feb8eb WHIRLPOOL 46bf814c882ca36600d258097642a734b6a6483302cc64c14cab55c0c056ae6116c204495b3b81c57fec1871e145fbc5aa3900006e52e494e9e2fcd34ec06301
diff --git a/sci-libs/gsl/files/cblas.pc.in b/sci-libs/gsl/files/cblas.pc.in
new file mode 100644
index 000000000000..a2580f85e6e8
--- /dev/null
+++ b/sci-libs/gsl/files/cblas.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: cblas
+Description: GSL C Implementation of the Basic Linear Algebra Subprograms
+Version: @PV@
+URL: http://www.gnu.org/software/gsl
+Libs: -L${libdir} -lcblas
+Libs.private: -lm
+Cflags: -I${includedir}
diff --git a/sci-libs/gsl/files/eselect.cblas.gsl b/sci-libs/gsl/files/eselect.cblas.gsl
new file mode 100644
index 000000000000..af6fee51fef9
--- /dev/null
+++ b/sci-libs/gsl/files/eselect.cblas.gsl
@@ -0,0 +1,5 @@
+libgslcblas.so /usr/@LIBDIR@/libcblas.so
+libgslcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+libgslcblas.a /usr/@LIBDIR@/libcblas.a
+../blas/gsl/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+gsl/gsl_cblas.h /usr/include/cblas.h
diff --git a/sci-libs/gsl/files/gsl-1.13-cblas-vars.patch b/sci-libs/gsl/files/gsl-1.13-cblas-vars.patch
new file mode 100644
index 000000000000..47f06ca7e60b
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.13-cblas-vars.patch
@@ -0,0 +1,11 @@
+--- Makefile.am.orig 2009-09-20 22:41:14.000000000 +0400
++++ Makefile.am 2009-09-20 22:39:10.000000000 +0400
+@@ -55,6 +55,8 @@
+ -e 's|@includedir[@]|$(includedir)|g' \
+ -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \
+ -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \
++ -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \
++ -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \
+ -e 's|@LIBS[@]|$(LIBS)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g'
+
diff --git a/sci-libs/gsl/files/gsl-1.13-cblas.patch b/sci-libs/gsl/files/gsl-1.13-cblas.patch
new file mode 100644
index 000000000000..be86c3a9e9f2
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.13-cblas.patch
@@ -0,0 +1,260 @@
+--- acx_cblas.m4.orig 1970-01-01 01:00:00.000000000 +0100
++++ acx_cblas.m4 2009-01-19 15:45:43.319918648 +0000
+@@ -0,0 +1,60 @@
++AC_DEFUN([ACX_CBLAS],[
++ use_cblas=no
++ use_cblas_libs="-lcblas -lblas"
++ use_cblas_cflags=""
++
++ AC_ARG_WITH(cblas,
++ [AS_HELP_STRING([--with-cblas], [use external CBLAS library (default is no)])])
++
++ case $with_cblas in
++ yes) use_cblas=yes ;;
++ no | "" ) use_cblas=no ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) use_cblas_libs="$with_cblas" ;;
++ *) use_cblas_libs="-l$with_cblas" ;;
++ esac
++
++ AC_ARG_WITH(cblas-libs,
++ [AS_HELP_STRING([--with-cblas-libs=<libs>],
++ [external cblas libraries to link with (default is "$use_cblas_libs")])],
++ [use_cblas_libs=$withval], [])
++
++ AC_ARG_WITH(cblas-cflags,
++ [AS_HELP_STRING([--with-cblas-cflags=<flags>],
++ [extra cflags to compile with external cblas ("-I<dir>")])],
++ [use_cblas_cflags=$withval], [])
++
++ if test x$use_cblas != xno; then
++ if test "x$CBLAS_LIBS" = x; then
++ CBLAS_LIBS="$use_cblas_libs"
++ fi
++ if test "x$CBLAS_FLAGS" = x; then
++ CBLAS_CFLAGS="$use_cblas_cflags"
++ fi
++
++ CFLAGS_sav="$CFLAGS"
++ CFLAGS="$CFLAGS $CBLAS_CFLAGS"
++ AC_CHECK_HEADER(cblas.h, ,
++ [AC_MSG_ERROR([
++ *** Header file cblas.h not found.
++ *** If you installed cblas header in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-cflags="-I<include_dir>"])
++ ])
++ CFLAGS="$CFLAGS_sav"
++
++ LIBS_sav="$LIBS"
++ LIBS="$LIBS $CBLAS_LIBS -lm"
++ AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS])
++ AC_TRY_LINK_FUNC(cblas_sgemm, [use_cblas=yes],
++ [AC_MSG_ERROR([
++ *** Linking with cblas with $LIBS failed.
++ *** If you installed cblas library in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-libs="-L<lib_dir> -l<lib>"])
++ ])
++ AC_MSG_RESULT($use_cblas)
++ LIBS="$LIBS_sav"
++ AC_SUBST(CBLAS_CFLAGS)
++ AC_SUBST(CBLAS_LIBS)
++ fi
++])
+--- bspline/Makefile.am.orig 2009-06-29 13:30:17.000000000 +0100
++++ bspline/Makefile.am 2009-09-17 22:31:53.000000000 +0100
+@@ -12,6 +12,6 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
+
+ test_SOURCES = test.c
+--- configure.ac.orig 2008-12-15 14:52:45.000000000 +0000
++++ configure.ac 2009-01-19 15:45:36.267801871 +0000
+@@ -169,6 +169,16 @@
+ AC_CHECK_LIB(m, cos)
+ fi
+
++sinclude(acx_cblas.m4)
++ACX_CBLAS
++if test "x$CBLAS_LIBS" != "x"; then
++ CBLAS_LINK_LIBS="$CBLAS_LIBS"
++else
++ CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la"
++ CBLAS_LIBS="-lgslcblas"
++fi
++AC_SUBST(CBLAS_LINK_LIBS)
++
+ dnl Remember to put a definition in acconfig.h for each of these
+ AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1
+ #include <fenv.h>])
+--- eigen/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ eigen/Makefile.am 2009-01-19 15:46:59.999090878 +0000
+@@ -11,7 +11,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
+
+ test_SOURCES = test.c
+
+--- gsl-config.in.orig 2008-02-05 13:22:10.000000000 +0000
++++ gsl-config.in 2009-01-19 15:45:06.176046040 +0000
+@@ -58,11 +58,11 @@
+ ;;
+
+ --cflags)
+- echo @GSL_CFLAGS@
++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@
+ ;;
+
+ --libs)
+- : ${GSL_CBLAS_LIB=-lgslcblas}
++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@}
+ echo @GSL_LIBS@ $GSL_CBLAS_LIB -lm
+ ;;
+
+--- gsl.pc.in.orig 2008-11-19 09:13:46.000000000 +0000
++++ gsl.pc.in 2009-01-19 15:45:15.227937645 +0000
+@@ -6,5 +6,5 @@
+ Name: GSL
+ Description: GNU Scientific Library
+ Version: @VERSION@
+-Libs: @GSL_LIBS@ -lgslcblas @LIBS@
+-Cflags: @GSL_CFLAGS@
++Libs: @GSL_LIBS@ @CBLAS_LIBS@ @LIBS@
++Cflags: @GSL_CFLAGS@ @CBLAS_CFLAGS@
+--- interpolation/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ interpolation/Makefile.am 2009-01-19 15:47:00.019091996 +0000
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+--- linalg/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ linalg/Makefile.am 2009-01-19 15:47:00.023091716 +0000
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+--- Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ Makefile.am 2009-01-19 15:45:50.463861656 +0000
+@@ -17,13 +17,12 @@
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(SUBLIBS)
++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+
+ MINGW32_HOST = @MINGW32_HOST@
+ if MINGW32_HOST
+-libgsl_la_LIBADD += cblas/libgslcblas.la
+ libgsl_la_LDFLAGS += -no-undefined
+ endif
+
+@@ -33,10 +32,10 @@
+ bin_PROGRAMS = gsl-randist gsl-histogram
+
+ gsl_randist_SOURCES = gsl-randist.c
+-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_randist_LDADD = libgsl.la
+
+ gsl_histogram_SOURCES = gsl-histogram.c
+-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_histogram_LDADD = libgsl.la
+
+ check_SCRIPTS = test_gsl_histogram.sh
+ TESTS = test_gsl_histogram.sh
+--- multifit/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ multifit/Makefile.am 2009-01-19 15:47:00.031091716 +0000
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c
+-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+--- multimin/Makefile.am.orig 2008-11-29 17:51:18.000000000 +0000
++++ multimin/Makefile.am 2009-01-19 15:47:00.035091996 +0000
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+--- multiroots/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ multiroots/Makefile.am 2009-01-19 15:47:00.035091996 +0000
+@@ -15,5 +15,5 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+--- ode-initval/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ ode-initval/Makefile.am 2009-01-19 15:47:00.039090878 +0000
+@@ -12,7 +12,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+--- poly/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ poly/Makefile.am 2009-01-19 15:47:00.047090599 +0000
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-check_PROGRAMS = test
++#check_PROGRAMS = test
+
+ test_SOURCES = test.c
+ test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+--- specfunc/Makefile.am.orig 2008-11-27 20:03:28.000000000 +0000
++++ specfunc/Makefile.am 2009-01-19 15:47:00.063090599 +0000
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c
+
+--- wavelet/Makefile.am.orig 2008-11-27 20:03:29.000000000 +0000
++++ wavelet/Makefile.am 2009-01-19 15:47:00.163091437 +0000
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
diff --git a/sci-libs/gsl/files/gsl-1.14-cblas.patch b/sci-libs/gsl/files/gsl-1.14-cblas.patch
new file mode 100644
index 000000000000..b8d9fb7c8706
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.14-cblas.patch
@@ -0,0 +1,285 @@
+diff -Nur gsl-1.14.orig/acx_cblas.m4 gsl-1.14/acx_cblas.m4
+--- gsl-1.14.orig/acx_cblas.m4 1970-01-01 01:00:00.000000000 +0100
++++ gsl-1.14/acx_cblas.m4 2010-04-09 02:19:59.000000000 +0100
+@@ -0,0 +1,60 @@
++AC_DEFUN([ACX_CBLAS],[
++ use_cblas=no
++ use_cblas_libs="-lcblas -lblas"
++ use_cblas_cflags=""
++
++ AC_ARG_WITH(cblas,
++ [AS_HELP_STRING([--with-cblas], [use external CBLAS library (default is no)])])
++
++ case $with_cblas in
++ yes) use_cblas=yes ;;
++ no | "" ) use_cblas=no ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) use_cblas_libs="$with_cblas" ;;
++ *) use_cblas_libs="-l$with_cblas" ;;
++ esac
++
++ AC_ARG_WITH(cblas-libs,
++ [AS_HELP_STRING([--with-cblas-libs=<libs>],
++ [external cblas libraries to link with (default is "$use_cblas_libs")])],
++ [use_cblas_libs=$withval], [])
++
++ AC_ARG_WITH(cblas-cflags,
++ [AS_HELP_STRING([--with-cblas-cflags=<flags>],
++ [extra cflags to compile with external cblas ("-I<dir>")])],
++ [use_cblas_cflags=$withval], [])
++
++ if test x$use_cblas != xno; then
++ if test "x$CBLAS_LIBS" = x; then
++ CBLAS_LIBS="$use_cblas_libs"
++ fi
++ if test "x$CBLAS_FLAGS" = x; then
++ CBLAS_CFLAGS="$use_cblas_cflags"
++ fi
++
++ CFLAGS_sav="$CFLAGS"
++ CFLAGS="$CFLAGS $CBLAS_CFLAGS"
++ AC_CHECK_HEADER(cblas.h, ,
++ [AC_MSG_ERROR([
++ *** Header file cblas.h not found.
++ *** If you installed cblas header in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-cflags="-I<include_dir>"])
++ ])
++ CFLAGS="$CFLAGS_sav"
++
++ LIBS_sav="$LIBS"
++ LIBS="$LIBS $CBLAS_LIBS -lm"
++ AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS])
++ AC_TRY_LINK_FUNC(cblas_sgemm, [use_cblas=yes],
++ [AC_MSG_ERROR([
++ *** Linking with cblas with $LIBS failed.
++ *** If you installed cblas library in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-libs="-L<lib_dir> -l<lib>"])
++ ])
++ AC_MSG_RESULT($use_cblas)
++ LIBS="$LIBS_sav"
++ AC_SUBST(CBLAS_CFLAGS)
++ AC_SUBST(CBLAS_LIBS)
++ fi
++])
+diff -Nur gsl-1.14.orig/bspline/Makefile.am gsl-1.14/bspline/Makefile.am
+--- gsl-1.14.orig/bspline/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/bspline/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -12,6 +12,6 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
+
+ test_SOURCES = test.c
+diff -Nur gsl-1.14.orig/configure.ac gsl-1.14/configure.ac
+--- gsl-1.14.orig/configure.ac 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/configure.ac 2010-04-09 02:19:59.000000000 +0100
+@@ -185,6 +185,16 @@
+ AC_CHECK_LIB(m, cos)
+ fi
+
++sinclude(acx_cblas.m4)
++ACX_CBLAS
++if test "x$CBLAS_LIBS" != "x"; then
++ CBLAS_LINK_LIBS="$CBLAS_LIBS"
++else
++ CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la"
++ CBLAS_LIBS="-lgslcblas"
++fi
++AC_SUBST(CBLAS_LINK_LIBS)
++
+ dnl Remember to put a definition in acconfig.h for each of these
+ AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1
+ #include <fenv.h>])
+diff -Nur gsl-1.14.orig/eigen/Makefile.am gsl-1.14/eigen/Makefile.am
+--- gsl-1.14.orig/eigen/Makefile.am 2010-04-09 02:04:46.000000000 +0100
++++ gsl-1.14/eigen/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.14.orig/gsl-config.in gsl-1.14/gsl-config.in
+--- gsl-1.14.orig/gsl-config.in 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/gsl-config.in 2010-04-09 02:19:59.000000000 +0100
+@@ -58,11 +58,11 @@
+ ;;
+
+ --cflags)
+- echo @GSL_CFLAGS@
++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@
+ ;;
+
+ --libs)
+- : ${GSL_CBLAS_LIB=-lgslcblas}
++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@}
+ echo @GSL_LIBS@ $GSL_CBLAS_LIB -lm
+ ;;
+
+diff -Nur gsl-1.14.orig/gsl.pc.in gsl-1.14/gsl.pc.in
+--- gsl-1.14.orig/gsl.pc.in 2010-04-09 02:04:46.000000000 +0100
++++ gsl-1.14/gsl.pc.in 2010-04-09 02:19:59.000000000 +0100
+@@ -6,5 +6,5 @@
+ Name: GSL
+ Description: GNU Scientific Library
+ Version: @VERSION@
+-Libs: @GSL_LIBS@ -lgslcblas @LIBS@
+-Cflags: @GSL_CFLAGS@
++Libs: @GSL_LIBS@ @CBLAS_LIBS@ @LIBS@
++Cflags: @GSL_CFLAGS@ @CBLAS_CFLAGS@
+diff -Nur gsl-1.14.orig/interpolation/Makefile.am gsl-1.14/interpolation/Makefile.am
+--- gsl-1.14.orig/interpolation/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/interpolation/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.14.orig/linalg/Makefile.am gsl-1.14/linalg/Makefile.am
+--- gsl-1.14.orig/linalg/Makefile.am 2010-04-09 02:04:46.000000000 +0100
++++ gsl-1.14/linalg/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.14.orig/Makefile.am gsl-1.14/Makefile.am
+--- gsl-1.14.orig/Makefile.am 2010-04-09 02:04:46.000000000 +0100
++++ gsl-1.14/Makefile.am 2010-04-09 02:20:13.000000000 +0100
+@@ -19,13 +19,12 @@
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(SUBLIBS)
++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+
+ MINGW32_HOST = @MINGW32_HOST@
+ if MINGW32_HOST
+-libgsl_la_LIBADD += cblas/libgslcblas.la
+ libgsl_la_LDFLAGS += -no-undefined
+ endif
+
+@@ -35,10 +34,10 @@
+ bin_PROGRAMS = gsl-randist gsl-histogram
+
+ gsl_randist_SOURCES = gsl-randist.c
+-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_randist_LDADD = libgsl.la
+
+ gsl_histogram_SOURCES = gsl-histogram.c
+-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_histogram_LDADD = libgsl.la
+
+ check_SCRIPTS = test_gsl_histogram.sh
+ TESTS = test_gsl_histogram.sh
+@@ -56,6 +55,8 @@
+ -e 's|@includedir[@]|$(includedir)|g' \
+ -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \
+ -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \
++ -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \
++ -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \
+ -e 's|@LIBS[@]|$(LIBS)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g'
+
+diff -Nur gsl-1.14.orig/multifit/Makefile.am gsl-1.14/multifit/Makefile.am
+--- gsl-1.14.orig/multifit/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/multifit/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c
+-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+diff -Nur gsl-1.14.orig/multimin/Makefile.am gsl-1.14/multimin/Makefile.am
+--- gsl-1.14.orig/multimin/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/multimin/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff -Nur gsl-1.14.orig/multiroots/Makefile.am gsl-1.14/multiroots/Makefile.am
+--- gsl-1.14.orig/multiroots/Makefile.am 2010-04-09 02:04:46.000000000 +0100
++++ gsl-1.14/multiroots/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -15,5 +15,5 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff -Nur gsl-1.14.orig/ode-initval/Makefile.am gsl-1.14/ode-initval/Makefile.am
+--- gsl-1.14.orig/ode-initval/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/ode-initval/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.14.orig/poly/Makefile.am gsl-1.14/poly/Makefile.am
+--- gsl-1.14.orig/poly/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/poly/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-check_PROGRAMS = test
++#check_PROGRAMS = test
+
+ test_SOURCES = test.c
+ test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+diff -Nur gsl-1.14.orig/specfunc/Makefile.am gsl-1.14/specfunc/Makefile.am
+--- gsl-1.14.orig/specfunc/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/specfunc/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c
+
+diff -Nur gsl-1.14.orig/wavelet/Makefile.am gsl-1.14/wavelet/Makefile.am
+--- gsl-1.14.orig/wavelet/Makefile.am 2010-04-09 02:04:47.000000000 +0100
++++ gsl-1.14/wavelet/Makefile.am 2010-04-09 02:19:59.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
diff --git a/sci-libs/gsl/files/gsl-1.15-cblas.patch b/sci-libs/gsl/files/gsl-1.15-cblas.patch
new file mode 100644
index 000000000000..dd402f392c17
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.15-cblas.patch
@@ -0,0 +1,286 @@
+diff -Nur gsl-1.15.orig/acx_cblas.m4 gsl-1.15/acx_cblas.m4
+--- gsl-1.15.orig/acx_cblas.m4 1970-01-01 01:00:00.000000000 +0100
++++ gsl-1.15/acx_cblas.m4 2011-07-28 22:16:03.000000000 +0100
+@@ -0,0 +1,60 @@
++AC_DEFUN([ACX_CBLAS],[
++ use_cblas=no
++ use_cblas_libs="-lcblas -lblas"
++ use_cblas_cflags=""
++
++ AC_ARG_WITH(cblas,
++ [AS_HELP_STRING([--with-cblas], [use external CBLAS library (default is no)])])
++
++ case $with_cblas in
++ yes) use_cblas=yes ;;
++ no | "" ) use_cblas=no ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) use_cblas_libs="$with_cblas" ;;
++ *) use_cblas_libs="-l$with_cblas" ;;
++ esac
++
++ AC_ARG_WITH(cblas-libs,
++ [AS_HELP_STRING([--with-cblas-libs=<libs>],
++ [external cblas libraries to link with (default is "$use_cblas_libs")])],
++ [use_cblas_libs=$withval], [])
++
++ AC_ARG_WITH(cblas-cflags,
++ [AS_HELP_STRING([--with-cblas-cflags=<flags>],
++ [extra cflags to compile with external cblas ("-I<dir>")])],
++ [use_cblas_cflags=$withval], [])
++
++ if test x$use_cblas != xno; then
++ if test "x$CBLAS_LIBS" = x; then
++ CBLAS_LIBS="$use_cblas_libs"
++ fi
++ if test "x$CBLAS_FLAGS" = x; then
++ CBLAS_CFLAGS="$use_cblas_cflags"
++ fi
++
++ CFLAGS_sav="$CFLAGS"
++ CFLAGS="$CFLAGS $CBLAS_CFLAGS"
++ AC_CHECK_HEADER(cblas.h, ,
++ [AC_MSG_ERROR([
++ *** Header file cblas.h not found.
++ *** If you installed cblas header in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-cflags="-I<include_dir>"])
++ ])
++ CFLAGS="$CFLAGS_sav"
++
++ LIBS_sav="$LIBS"
++ LIBS="$LIBS $CBLAS_LIBS -lm"
++ AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS])
++ AC_TRY_LINK_FUNC(cblas_sgemm, [use_cblas=yes],
++ [AC_MSG_ERROR([
++ *** Linking with cblas with $LIBS failed.
++ *** If you installed cblas library in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-libs="-L<lib_dir> -l<lib>"])
++ ])
++ AC_MSG_RESULT($use_cblas)
++ LIBS="$LIBS_sav"
++ AC_SUBST(CBLAS_CFLAGS)
++ AC_SUBST(CBLAS_LIBS)
++ fi
++])
+diff -Nur gsl-1.15.orig/bspline/Makefile.am gsl-1.15/bspline/Makefile.am
+--- gsl-1.15.orig/bspline/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/bspline/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,6 +12,6 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
+
+ test_SOURCES = test.c
+diff -Nur gsl-1.15.orig/configure.ac gsl-1.15/configure.ac
+--- gsl-1.15.orig/configure.ac 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/configure.ac 2011-07-28 22:16:03.000000000 +0100
+@@ -190,6 +190,16 @@
+ AC_CHECK_LIB(m, cos)
+ fi
+
++sinclude(acx_cblas.m4)
++ACX_CBLAS
++if test "x$CBLAS_LIBS" != "x"; then
++ CBLAS_LINK_LIBS="$CBLAS_LIBS"
++else
++ CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la"
++ CBLAS_LIBS="-lgslcblas"
++fi
++AC_SUBST(CBLAS_LINK_LIBS)
++
+ dnl Remember to put a definition in acconfig.h for each of these
+ AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1
+ #include <fenv.h>])
+diff -Nur gsl-1.15.orig/eigen/Makefile.am gsl-1.15/eigen/Makefile.am
+--- gsl-1.15.orig/eigen/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/eigen/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.15.orig/gsl-config.in gsl-1.15/gsl-config.in
+--- gsl-1.15.orig/gsl-config.in 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/gsl-config.in 2011-07-28 22:16:03.000000000 +0100
+@@ -58,11 +58,11 @@
+ ;;
+
+ --cflags)
+- echo @GSL_CFLAGS@
++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@
+ ;;
+
+ --libs)
+- : ${GSL_CBLAS_LIB=-lgslcblas}
++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@}
+ echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@
+ ;;
+
+diff -Nur gsl-1.15.orig/gsl.pc.in gsl-1.15/gsl.pc.in
+--- gsl-1.15.orig/gsl.pc.in 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/gsl.pc.in 2011-07-28 22:20:14.000000000 +0100
+@@ -2,7 +2,7 @@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+-GSL_CBLAS_LIB=-lgslcblas
++GSL_CBLAS_LIB=@CBLAS_LIBS@
+
+ Name: GSL
+ Description: GNU Scientific Library
+diff -Nur gsl-1.15.orig/interpolation/Makefile.am gsl-1.15/interpolation/Makefile.am
+--- gsl-1.15.orig/interpolation/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/interpolation/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.15.orig/linalg/Makefile.am gsl-1.15/linalg/Makefile.am
+--- gsl-1.15.orig/linalg/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/linalg/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.15.orig/Makefile.am gsl-1.15/Makefile.am
+--- gsl-1.15.orig/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -19,13 +19,12 @@
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(SUBLIBS)
++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+
+ MINGW32_HOST = @MINGW32_HOST@
+ if MINGW32_HOST
+-libgsl_la_LIBADD += cblas/libgslcblas.la
+ libgsl_la_LDFLAGS += -no-undefined
+ endif
+
+@@ -35,10 +34,10 @@
+ bin_PROGRAMS = gsl-randist gsl-histogram
+
+ gsl_randist_SOURCES = gsl-randist.c
+-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_randist_LDADD = libgsl.la
+
+ gsl_histogram_SOURCES = gsl-histogram.c
+-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_histogram_LDADD = libgsl.la
+
+ check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test
+ TESTS = test_gsl_histogram.sh pkgconfig.test
+@@ -57,6 +56,8 @@
+ -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \
+ -e 's|@GSL_LIBM[@]|$(GSL_LIBM)|g' \
+ -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \
++ -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \
++ -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \
+ -e 's|@LIBS[@]|$(LIBS)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g'
+
+diff -Nur gsl-1.15.orig/multifit/Makefile.am gsl-1.15/multifit/Makefile.am
+--- gsl-1.15.orig/multifit/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/multifit/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c
+-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+diff -Nur gsl-1.15.orig/multimin/Makefile.am gsl-1.15/multimin/Makefile.am
+--- gsl-1.15.orig/multimin/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/multimin/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff -Nur gsl-1.15.orig/multiroots/Makefile.am gsl-1.15/multiroots/Makefile.am
+--- gsl-1.15.orig/multiroots/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/multiroots/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -15,5 +15,5 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff -Nur gsl-1.15.orig/ode-initval/Makefile.am gsl-1.15/ode-initval/Makefile.am
+--- gsl-1.15.orig/ode-initval/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/ode-initval/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.15.orig/poly/Makefile.am gsl-1.15/poly/Makefile.am
+--- gsl-1.15.orig/poly/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/poly/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-check_PROGRAMS = test
++#check_PROGRAMS = test
+
+ test_SOURCES = test.c
+ test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+diff -Nur gsl-1.15.orig/specfunc/Makefile.am gsl-1.15/specfunc/Makefile.am
+--- gsl-1.15.orig/specfunc/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/specfunc/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c
+
+diff -Nur gsl-1.15.orig/wavelet/Makefile.am gsl-1.15/wavelet/Makefile.am
+--- gsl-1.15.orig/wavelet/Makefile.am 2011-07-28 22:15:49.000000000 +0100
++++ gsl-1.15/wavelet/Makefile.am 2011-07-28 22:16:03.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
diff --git a/sci-libs/gsl/files/gsl-1.16-cblas.patch b/sci-libs/gsl/files/gsl-1.16-cblas.patch
new file mode 100644
index 000000000000..c29ef5294717
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.16-cblas.patch
@@ -0,0 +1,294 @@
+diff -Nur gsl-1.16.orig/ax_cblas.m4 gsl-1.16/ax_cblas.m4
+--- gsl-1.16.orig/ax_cblas.m4 1969-12-31 16:00:00.000000000 -0800
++++ gsl-1.16/ax_cblas.m4 2013-08-19 15:48:54.376300825 -0700
+@@ -0,0 +1,69 @@
++AC_DEFUN([AX_CBLAS],[
++
++ ext_cblas=no
++ ext_cblas_libs="-lcblas"
++ ext_cblas_cflags=""
++
++ AC_ARG_WITH(cblas-external,
++ [AS_HELP_STRING([--with-cblas-external],
++ [Use external CBLAS library (default is no)])],
++ [with_ext_cblas=$withval],
++ [with_ext_cblas=no])
++
++ case $with_ext_cblas in
++ no) ext_cblas=no ;;
++ yes) ext_cblas=yes ;;
++ -* | */* | *.a | *.so | *.so.* | *.o)
++ ext_cblas=yes
++ ext_cblas_libs="$with_cblas" ;;
++ *) ext_cblas=yes
++ ext_cblas_libs="-l$with_cblas" ;;
++ esac
++
++ AC_ARG_WITH(cblas-external-libs,
++ [AS_HELP_STRING([--with-cblas-external-libs=<libs>],
++ [External cblas libraries to link with (default is "$ext_cblas_libs")])],
++ [ext_cblas_libs=$withval],
++ [])
++
++ AC_ARG_WITH(cblas-external-cflags,
++ [AS_HELP_STRING([--with-cblas-external-cflags=<flags>],
++ [Pre-processing flags to compile with external cblas ("-I<dir>")])],
++ [ext_cblas_cflags=$withval],
++ [])
++
++ if test x$ext_cblas != xno; then
++ if test "x$CBLAS_LIBS" = x; then
++ CBLAS_LIBS="$ext_cblas_libs"
++ fi
++ if test "x$CBLAS_CFLAGS" = x; then
++ CBLAS_CFLAGS="$ext_cblas_cflags"
++ fi
++
++ CFLAGS_sav="$CFLAGS"
++ CFLAGS="$CFLAGS $CBLAS_CFLAGS"
++ AC_CHECK_HEADER(cblas.h, ,
++ [AC_MSG_ERROR([
++ *** Header file cblas.h not found.
++ *** If you installed cblas header in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-external-cflags="-I<include_dir>"])
++ ])
++ CFLAGS="$CFLAGS_sav"
++
++ LIBS_sav="$LIBS"
++ LIBS="$LIBS $CBLAS_LIBS -lm"
++ AC_MSG_CHECKING([for cblas_sgemm in $CBLAS_LIBS])
++ AC_TRY_LINK_FUNC(cblas_sgemm, [ext_cblas=yes],
++ [AC_MSG_ERROR([
++ *** Linking with cblas with $LIBS failed.
++ *** If you installed cblas library in a non standard place,
++ *** specify its install prefix using the following option
++ *** --with-cblas-external-libs="-L<lib_dir> -l<lib>"])
++ ])
++ AC_MSG_RESULT($ext_cblas)
++ LIBS="$LIBS_sav"
++ AC_SUBST([CBLAS_CFLAGS])
++ AC_SUBST([CBLAS_LIBS])
++ fi
++])
+diff -Nur gsl-1.16.orig/bspline/Makefile.am gsl-1.16/bspline/Makefile.am
+--- gsl-1.16.orig/bspline/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/bspline/Makefile.am 2013-08-19 15:25:27.728497742 -0700
+@@ -12,6 +12,6 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
++test_LDADD = libgslbspline.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../statistics/libgslstatistics.la
+
+ test_SOURCES = test.c
+diff -Nur gsl-1.16.orig/configure.ac gsl-1.16/configure.ac
+--- gsl-1.16.orig/configure.ac 2013-07-19 08:14:45.000000000 -0700
++++ gsl-1.16/configure.ac 2013-08-19 15:28:24.172640793 -0700
+@@ -191,6 +191,16 @@
+ AC_CHECK_LIB(m, cos)
+ fi
+
++sinclude(ax_cblas.m4)
++AX_CBLAS
++if test "x$CBLAS_LIBS" != "x"; then
++ CBLAS_LINK_LIBS="$CBLAS_LIBS"
++else
++ CBLAS_LINK_LIBS="\$(top_builddir)/cblas/libgslcblas.la"
++ CBLAS_LIBS="-lgslcblas"
++fi
++AC_SUBST(CBLAS_LINK_LIBS)
++
+ dnl Remember to put a definition in acconfig.h for each of these
+ AC_CHECK_DECLS(feenableexcept,,,[#define _GNU_SOURCE 1
+ #include <fenv.h>])
+diff -Nur gsl-1.16.orig/eigen/Makefile.am gsl-1.16/eigen/Makefile.am
+--- gsl-1.16.orig/eigen/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/eigen/Makefile.am 2013-08-19 15:25:27.728497742 -0700
+@@ -11,7 +11,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
++test_LDADD = libgsleigen.la ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.16.orig/gsl-config.in gsl-1.16/gsl-config.in
+--- gsl-1.16.orig/gsl-config.in 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/gsl-config.in 2013-08-19 15:25:27.728497742 -0700
+@@ -58,11 +58,11 @@
+ ;;
+
+ --cflags)
+- echo @GSL_CFLAGS@
++ echo @GSL_CFLAGS@ @CBLAS_CFLAGS@
+ ;;
+
+ --libs)
+- : ${GSL_CBLAS_LIB=-lgslcblas}
++ : ${GSL_CBLAS_LIB=@CBLAS_LIBS@}
+ echo @GSL_LIBS@ $GSL_CBLAS_LIB @GSL_LIBM@
+ ;;
+
+diff -Nur gsl-1.16.orig/gsl.pc.in gsl-1.16/gsl.pc.in
+--- gsl-1.16.orig/gsl.pc.in 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/gsl.pc.in 2013-08-19 15:25:27.728497742 -0700
+@@ -2,7 +2,7 @@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+-GSL_CBLAS_LIB=-lgslcblas
++GSL_CBLAS_LIB=@CBLAS_LIBS@
+
+ Name: GSL
+ Description: GNU Scientific Library
+diff -Nur gsl-1.16.orig/interpolation/Makefile.am gsl-1.16/interpolation/Makefile.am
+--- gsl-1.16.orig/interpolation/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/interpolation/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../cblas/libgslcblas.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslinterpolation.la ../poly/libgslpoly.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la @CBLAS_LINK_LIBS@ ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.16.orig/linalg/Makefile.am gsl-1.16/linalg/Makefile.am
+--- gsl-1.16.orig/linalg/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/linalg/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.16.orig/Makefile.am gsl-1.16/Makefile.am
+--- gsl-1.16.orig/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -19,13 +19,12 @@
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(SUBLIBS)
++libgsl_la_LIBADD = $(SUBLIBS) @CBLAS_LINK_LIBS@
+ libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h build.h
+
+ MINGW32_HOST = @MINGW32_HOST@
+ if MINGW32_HOST
+-libgsl_la_LIBADD += cblas/libgslcblas.la
+ libgsl_la_LDFLAGS += -no-undefined
+ endif
+
+@@ -35,10 +34,10 @@
+ bin_PROGRAMS = gsl-randist gsl-histogram
+
+ gsl_randist_SOURCES = gsl-randist.c
+-gsl_randist_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_randist_LDADD = libgsl.la
+
+ gsl_histogram_SOURCES = gsl-histogram.c
+-gsl_histogram_LDADD = libgsl.la cblas/libgslcblas.la
++gsl_histogram_LDADD = libgsl.la
+
+ check_SCRIPTS = test_gsl_histogram.sh pkgconfig.test
+ TESTS = test_gsl_histogram.sh pkgconfig.test
+@@ -57,6 +56,8 @@
+ -e 's|@GSL_CFLAGS[@]|$(GSL_CFLAGS)|g' \
+ -e 's|@GSL_LIBM[@]|$(GSL_LIBM)|g' \
+ -e 's|@GSL_LIBS[@]|$(GSL_LIBS)|g' \
++ -e 's|@CBLAS_CFLAGS[@]|$(CBLAS_CFLAGS)|g' \
++ -e 's|@CBLAS_LIBS[@]|$(CBLAS_LIBS)|g' \
+ -e 's|@LIBS[@]|$(LIBS)|g' \
+ -e 's|@VERSION[@]|$(VERSION)|g'
+
+--- gsl-1.16.orig/multifit/Makefile.am 2013-07-18 06:04:26.000000000 +1000
++++ gsl-1.16/multifit/Makefile.am 2013-11-22 16:57:26.170330257 +1100
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c
+-test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../sort/libgslsort.la ../statistics/libgslstatistics.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++test_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../sort/libgslsort.la ../statistics/libgslstatistics.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
++#demo_LDADD = libgslmultifit.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../randist/libgslrandist.la ../rng/libgslrng.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../utils/libutils.la ../sys/libgslsys.la
+
+diff -Nur gsl-1.16.orig/multimin/Makefile.am gsl-1.16/multimin/Makefile.am
+--- gsl-1.16.orig/multimin/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/multimin/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -13,8 +13,8 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultimin.la ../min/libgslmin.la ../poly/libgslpoly.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ #demo_SOURCES = demo.c
+-#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++#demo_LDADD = libgslmultimin.la ../min/libgslmin.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../linalg/libgsllinalg.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff -Nur gsl-1.16.orig/multiroots/Makefile.am gsl-1.16/multiroots/Makefile.am
+--- gsl-1.16.orig/multiroots/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/multiroots/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -15,5 +15,5 @@
+ TESTS = $(check_PROGRAMS)
+
+ test_SOURCES = test.c test_funcs.c test_funcs.h
+-test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslmultiroots.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../permutation/libgslpermutation.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+diff -Nur gsl-1.16.orig/ode-initval/Makefile.am gsl-1.16/ode-initval/Makefile.am
+--- gsl-1.16.orig/ode-initval/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/ode-initval/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -12,7 +12,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslodeiv.la ../linalg/libgsllinalg.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../permutation/libgslpermutation.la ../vector/libgslvector.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
+diff -Nur gsl-1.16.orig/poly/Makefile.am gsl-1.16/poly/Makefile.am
+--- gsl-1.16.orig/poly/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/poly/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-check_PROGRAMS = test
++#check_PROGRAMS = test
+
+ test_SOURCES = test.c
+ test_LDADD = libgslpoly.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la ../sort/libgslsort.la
+diff -Nur gsl-1.16.orig/specfunc/Makefile.am gsl-1.16/specfunc/Makefile.am
+--- gsl-1.16.orig/specfunc/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/specfunc/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -12,7 +12,7 @@
+
+ check_PROGRAMS = test
+
+-test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslspecfunc.la ../eigen/libgsleigen.la ../linalg/libgsllinalg.la ../sort/libgslsort.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../block/libgslblock.la ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test_sf.c test_sf.h test_airy.c test_bessel.c test_coulomb.c test_dilog.c test_gamma.c test_hyperg.c test_legendre.c test_mathieu.c
+
+diff -Nur gsl-1.16.orig/wavelet/Makefile.am gsl-1.16/wavelet/Makefile.am
+--- gsl-1.16.orig/wavelet/Makefile.am 2013-07-17 13:04:26.000000000 -0700
++++ gsl-1.16/wavelet/Makefile.am 2013-08-19 15:25:27.729497736 -0700
+@@ -10,7 +10,7 @@
+
+ TESTS = $(check_PROGRAMS)
+
+-test_LDADD = libgslwavelet.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
++test_LDADD = libgslwavelet.la ../blas/libgslblas.la @CBLAS_LINK_LIBS@ ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la ../ieee-utils/libgslieeeutils.la ../err/libgslerr.la ../test/libgsltest.la ../sys/libgslsys.la ../utils/libutils.la
+
+ test_SOURCES = test.c
+
diff --git a/sci-libs/gsl/gsl-1.14.ebuild b/sci-libs/gsl/gsl-1.14.ebuild
new file mode 100644
index 000000000000..5b40535c9664
--- /dev/null
+++ b/sci-libs/gsl/gsl-1.14.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit autotools eutils flag-o-matic toolchain-funcs
+
+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 ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cblas-external"
+
+RDEPEND="cblas-external? ( virtual/cblas )"
+DEPEND="${RDEPEND}
+ app-eselect/eselect-cblas
+ virtual/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-external && [[ ${current_lib} == gsl ]]; then
+ ewarn "USE flag cblas-external 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-external; then
+ export CBLAS_LIBS="$($(tc-getPKG_CONFIG) --libs cblas)"
+ export CBLAS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags cblas)"
+ fi
+ econf $(use_with cblas-external cblas)
+}
+
+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
+}
+
+src_test() {
+ emake -j1 check || die
+}
diff --git a/sci-libs/gsl/gsl-1.16.ebuild b/sci-libs/gsl/gsl-1.16.ebuild
new file mode 100644
index 000000000000..cf20456525f1
--- /dev/null
+++ b/sci-libs/gsl/gsl-1.16.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic autotools toolchain-funcs
+
+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 ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cblas-external static-libs"
+
+RDEPEND="cblas-external? ( virtual/cblas )"
+DEPEND="${RDEPEND}
+ app-eselect/eselect-cblas
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS BUGS ChangeLog NEWS README THANKS TODO )
+
+pkg_pretend() {
+ # prevent to use external cblas from a previously installed gsl
+ local current_lib
+ if use cblas-external; then
+ current_lib=$(eselect cblas show | cut -d' ' -f2)
+ if [[ ${current_lib} == gsl ]]; then
+ ewarn "USE flag cblas-external 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
+ fi
+}
+
+src_prepare() {
+ ESELECT_PROF="gsl"
+
+ # bug 349005
+ [[ $(tc-getCC)$ == *gcc* ]] && \
+ [[ $(tc-getCC)$ != *apple* ]] && \
+ [[ $(gcc-major-version)$(gcc-minor-version) -eq 44 ]] \
+ && filter-mfpmath sse
+ 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-external; then
+ export CBLAS_LIBS="$($(tc-getPKG_CONFIG) --libs cblas)"
+ export CBLAS_CFLAGS="$($(tc-getPKG_CONFIG) --cflags cblas)"
+ fi
+ econf \
+ --enable-shared \
+ $(use_with cblas-external) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -exec rm -f {} +
+
+ # 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
+}
+
+src_test() {
+ emake -j1 check || die
+}
diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml
new file mode 100644
index 000000000000..7ab2ed03c52f
--- /dev/null
+++ b/sci-libs/gsl/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The GNU Scientific Library (GSL) is a collection of routines for
+ numerical analysis. The routines are written from scratch by the GSL
+ team in C, and present a modern API for C programmers, while allowing
+ wrappers to be written for very high level languages.
+
+ GSL includes data types and routines for complex numbers, vectors,
+ matrices, basic linear algebra subroutines (BLAS), eigensystems,
+ simulated annealing, minimization, root finding, pseudo-random
+ numbers, least-squares fitting, fast Fourier transforms (FFT),
+ differential equations, quadrature, Monte Carlo integration, special
+ functions, physical constants, and much more.
+</longdescription>
+ <use>
+ <flag name="cblas-external">Link gsl with external cblas provided by
+ (<pkg>virtual/cblas</pkg>) instead of shipped internal version</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/gts/Manifest b/sci-libs/gts/Manifest
new file mode 100644
index 000000000000..aa4638f75300
--- /dev/null
+++ b/sci-libs/gts/Manifest
@@ -0,0 +1 @@
+DIST gts-snapshot-121130.tar.gz 880569 SHA256 c23f72ab74bbf65599f8c0b599d6336fabe1ec2a09c19b70544eeefdc069b73b SHA512 84c38dc345830eea75755d9d55235b6d76786a84c3b9c3b7e057437bf395a9f2687596bbf037afd601b9f31a485d425a371ca5e60680265f10cb414400db4142 WHIRLPOOL 0f0a105877e46b0af4da59d7728d73c7cd03378302fccfdf8ba2336618b8599123793c83f98658a1a88e0a1106679cded61f547e36ef34f8b404685f1dcd964f
diff --git a/sci-libs/gts/files/gts-20100321-examples.patch b/sci-libs/gts/files/gts-20100321-examples.patch
new file mode 100644
index 000000000000..b418bbd1ed4f
--- /dev/null
+++ b/sci-libs/gts/files/gts-20100321-examples.patch
@@ -0,0 +1,24 @@
+diff --git a/examples/Makefile.am b/examples/Makefile.am
+index f03f215..8e9ca63 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -9,6 +9,8 @@ EXTRA_PROGRAMS = happrox
+
+ happrox_LDADD = $(LDADD) -lnetpbm
+
++happrox_CPPFLAGS = -I/usr/include/netpbm
++
+ if HAS_NETPBM
+ NETPBM_EXTRA = happrox
+ endif
+@@ -16,9 +18,7 @@ endif
+ bin_PROGRAMS = \
+ transform \
+ delaunay \
+- $(NETPBM_EXTRA)
+-
+-noinst_PROGRAMS = \
++ $(NETPBM_EXTRA) \
+ set \
+ volume \
+ cleanup \
diff --git a/sci-libs/gts/files/gts-20111025-autotools.patch b/sci-libs/gts/files/gts-20111025-autotools.patch
new file mode 100644
index 000000000000..7ab3805e2477
--- /dev/null
+++ b/sci-libs/gts/files/gts-20111025-autotools.patch
@@ -0,0 +1,56 @@
+--- doc/Makefile.am.orig
++++ doc/Makefile.am
+@@ -9,7 +9,7 @@ DOC_MODULE=gts
+ DOC_MAIN_SGML_FILE=gts-docs.sgml
+
+ # The directory containing the source code (if it contains documentation).
+-DOC_SOURCE_DIR=../src
++DOC_SOURCE_DIR=$(top_srcdir)/src
+
+ TARGET_DIR=html/$(DOC_MODULE)
+
+@@ -21,10 +21,10 @@ scan:
+ templates: scan
+ gtkdoc-mktmpl --module=$(DOC_MODULE)
+
+-sgml:
++sgml: scan
+ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+
+-html:
++html: sgml
+ if ! test -d html ; then mkdir html ; fi
+ -cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+
+--- src/Makefile.am.orig
++++ src/Makefile.am
+@@ -66,10 +66,10 @@ predicates.o: predicates.c predicates_init.h predicates.h
+ $(COMPILE) -c $(srcdir)/predicates.c
+
+ predicates_init: predicates_init.c rounding.h
+- $(COMPILE) $(srcdir)/predicates_init.c -o $(srcdir)/predicates_init
++ $(COMPILE) $(srcdir)/predicates_init.c -o $(top_builddir)/src/predicates_init
+
+ predicates_init.h: predicates_init
+- ./predicates_init > $(srcdir)/predicates_init.h
++ $(top_builddir)/src/predicates_init > $(srcdir)/predicates_init.h
+
+ CLEANFILES = $(BUILT_SOURCES)
+
+--- examples/Makefile.am.orig 2012-01-20 19:44:46.000000000 +0000
++++ examples/Makefile.am 2012-01-20 19:45:04.000000000 +0000
+@@ -13,12 +13,10 @@
+ NETPBM_EXTRA = happrox
+ endif
+
+-bin_PROGRAMS = \
++check_PROGRAMS = \
+ transform \
+ delaunay \
+- $(NETPBM_EXTRA)
+-
+-noinst_PROGRAMS = \
++ $(NETPBM_EXTRA) \
+ set \
+ volume \
+ cleanup \
diff --git a/sci-libs/gts/gts-20121130.ebuild b/sci-libs/gts/gts-20121130.ebuild
new file mode 100644
index 000000000000..20d793b40809
--- /dev/null
+++ b/sci-libs/gts/gts-20121130.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+MYP=${P/-20/-snapshot-}
+
+DESCRIPTION="GNU Triangulated Surface Library"
+HOMEPAGE="http://gts.sourceforge.net/"
+SRC_URI="http://gts.sourceforge.net/tarballs/${MYP}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="dev-libs/glib:2"
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc
+ virtual/pkgconfig
+ test? ( media-libs/netpbm )"
+
+# buggy
+RESTRICT=test
+
+S="${WORKDIR}/${MYP}"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}"/${PN}-20111025-autotools.patch )
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile -C doc html
+ chmod +x test/*/*.sh || die
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}"/doc/html/)
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/sci-libs/gts/metadata.xml b/sci-libs/gts/metadata.xml
new file mode 100644
index 000000000000..2406d4e01ce8
--- /dev/null
+++ b/sci-libs/gts/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Gerris Flow Solver is a software program for the solution of the partial
+ differential equations describing fluid flow.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/hdf/Manifest b/sci-libs/hdf/Manifest
new file mode 100644
index 000000000000..f1ec6cf57c40
--- /dev/null
+++ b/sci-libs/hdf/Manifest
@@ -0,0 +1,2 @@
+DIST hdf-4.2.8.tar.bz2 3027253 SHA256 e8a94ae2c838007ccdd55bb3cd9684adba3ded367c09803ffc84a2704f83c00f SHA512 d033007eff74d957572db8433f66e9df6fec44f67b28ddbad6e9a2d832b5504a29e9ecc5565d861b8308bab8d0dbfce19ae1e2ade0dd758d370a333819364c8e WHIRLPOOL 89ac6a092024fe2fac61bff918c14bf90e80db0b77f48e2ffe7cbf05610a3687e214c684f49e909b985c09b6baacf3dc730a15141fb44a3d59c191777c538299
+DIST hdf-4.2.9.tar.bz2 3126686 SHA256 942a54bff4da8c0733c5626b5e11162deda1adeb65c384b141f0681c935ca98a SHA512 99630177167f115f4a7f4424cf3fc77962c4eb46698f884d0e89acfe7d585aa659fd7cdf36a29246ae518675b07182223d4337a7d0aac6344ce21ccbed9aa390 WHIRLPOOL 0ed161fba7f862c1d93aebbcb6184c0b256ce71be12fa49598f9c8bf727ea1ef46c612c41908a49774b7982f5dfe577bcb8ada2c26bf2488627952040bdd9934
diff --git a/sci-libs/hdf/files/4.2.7_p1-autotools.patch b/sci-libs/hdf/files/4.2.7_p1-autotools.patch
new file mode 100644
index 000000000000..6ae9ccfc64e5
--- /dev/null
+++ b/sci-libs/hdf/files/4.2.7_p1-autotools.patch
@@ -0,0 +1,116 @@
+diff -Nur hdf-4.2.7-patch1.orig/configure.ac hdf-4.2.7-patch1/configure.ac
+--- hdf-4.2.7-patch1.orig/configure.ac 2012-03-18 03:45:46.000000000 +0000
++++ hdf-4.2.7-patch1/configure.ac 2012-04-13 03:04:17.000000000 +0100
+@@ -200,20 +200,6 @@
+ dnl Build static libraries by default. Furthermore, fortran shared libraries
+ dnl are unsupported. Disallow a user from enabling both shared libraries and
+ dnl fortran.
+-if test "X${enable_shared}" != "Xyes"; then
+- enable_shared="no"
+-fi
+-
+-if test "X${enable_shared}" = "Xyes"; then
+- if test "X${BUILD_FORTRAN}" = "Xyes"; then
+- AC_MSG_ERROR([Cannot build shared fortran libraries. Please configure with --disable-fortran flag.])
+- fi
+-fi
+-
+-AC_PROG_INSTALL
+-AC_PROG_LN_S
+-
+-AC_CHECK_PROGS([AR], [ar xar], [:], [$PATH])
+
+ AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [none], [])
+
+@@ -404,6 +390,8 @@
+
+ if test -z "$HAVE_SZIP"; then
+ AC_MSG_ERROR([couldn't find szlib library])
++ else
++ USE_COMP_SZIP="yes"
+ fi
+ ;;
+ no)
+@@ -447,7 +435,7 @@
+
+ AC_CHECK_LIB([sz], [SZ_BufftoBuffCompress],, [unset HAVE_SZIP])
+
+- if test -z "$HAVE_SZIP"; then
++ if test "X$HAVE_SZIP" != "Xyes"; then
+ AC_MSG_ERROR([couldn't find szlib library])
+ else
+ USE_COMP_SZIP="yes"
+@@ -703,7 +691,7 @@
+ dnl ======================================================================
+ dnl Libtool initialization
+ dnl ======================================================================
+-LT_INIT(dlopen disable-shared)
++LT_INIT(dlopen)
+ LT_OUTPUT
+
+ dnl ======================================================================
+@@ -781,11 +769,6 @@
+ dnl ------------------------------------------------------------------------
+ dnl Check to see if libtool has enabled shared libraries. Set a conditional
+ dnl as some Makefiles will build based on availability of shared libraries.
+-if (./libtool --features | grep '^enable shared libraries' > /dev/null); then
+- enable_shared=yes
+-else
+- enable_shared=no
+-fi
+
+ dnl ------------------------------------------------------------------------
+ dnl Specify shared library extension the host machine should recognize.
+@@ -840,23 +823,8 @@
+ dnl name of the compiler and the reported version number.
+ AC_SUBST([F77_VERSION])
+ dnl Strip anything that looks like a flag off of $F77
+-F77_NOFLAGS=`echo $F77 | sed 's/ -.*//'`
+-
+-if `echo $F77_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
+- F77_VERSION="$F77"
+-else
+- F77_VERSION="$F77";
+- for x in `echo $PATH | sed -e 's/:/ /g'`; do
+- if test -x $x/$F77_NOFLAGS; then
+- F77_VERSION="$x/$F77"
+- break
+- fi
+- done
+-fi
+-if test -n "$fc_version_info"; then
+- F77_VERSION="$F77_VERSION ( $fc_version_info)"
+-fi
+
++F77_VERSION="$F77";
+
+ dnl This part doesn't work yet since HDF4 config files do not contain
+ dnl information for fortran_vendor and fortran_version.
+diff -Nur hdf-4.2.7-patch1.orig/hdf/test/fortestF.f hdf-4.2.7-patch1/hdf/test/fortestF.f
+--- hdf-4.2.7-patch1.orig/hdf/test/fortestF.f 2012-03-18 03:44:01.000000000 +0000
++++ hdf-4.2.7-patch1/hdf/test/fortestF.f 2012-04-13 02:20:45.000000000 +0100
+@@ -203,7 +203,7 @@
+
+ if (cmd .NE. 'Test' .AND. cmd .NE. 'test') then
+ print *, 'Unknown Command: ', cmd, param
+- print *, 'Try one of "Skip", "Test", "Verbosity" or "Cleanup"'
++ print *, 'Try one of Skip, Test, Verbosity or Cleanup'
+ retcode = -1
+ return
+ endif
+diff -Nur hdf-4.2.7-patch1.orig/mfhdf/libsrc/Makefile.am hdf-4.2.7-patch1/mfhdf/libsrc/Makefile.am
+--- hdf-4.2.7-patch1.orig/mfhdf/libsrc/Makefile.am 2012-03-18 03:44:00.000000000 +0000
++++ hdf-4.2.7-patch1/mfhdf/libsrc/Makefile.am 2012-04-13 02:20:45.000000000 +0100
+@@ -32,10 +32,11 @@
+ else
+ libmfhdf_la_SOURCES = $(CSOURCES)
+ endif
++libmfhdf_la_LIBADD = $(top_builddir)/hdf/src/libdf.la
+
+ if HDF_BUILD_XDR
+ XDRLIB = ../xdr/libxdr.la
+-libmfhdf_la_LIBADD = $(XDRLIB)
++libmfhdf_la_LIBADD += $(XDRLIB)
+ endif
+
+ if HDF_BUILD_NETCDF
diff --git a/sci-libs/hdf/files/hdf-4.2.9-autotools.patch b/sci-libs/hdf/files/hdf-4.2.9-autotools.patch
new file mode 100644
index 000000000000..a31946a0dfee
--- /dev/null
+++ b/sci-libs/hdf/files/hdf-4.2.9-autotools.patch
@@ -0,0 +1,112 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -216,20 +216,6 @@ AC_SUBST([BUILD_FORTRAN])
+ ## Build static libraries by default. Furthermore, fortran shared libraries
+ ## are unsupported. Disallow a user from enabling both shared libraries and
+ ## fortran.
+-if test "X${enable_shared}" != "Xyes"; then
+- enable_shared="no"
+-fi
+-
+-if test "X${enable_shared}" = "Xyes"; then
+- if test "X${BUILD_FORTRAN}" = "Xyes"; then
+- AC_MSG_ERROR([Cannot build shared fortran libraries. Please configure with --disable-fortran flag.])
+- fi
+-fi
+-
+-AC_PROG_INSTALL
+-AC_PROG_LN_S
+-
+-AC_CHECK_PROGS([AR], [ar xar], [:], [$PATH])
+
+ AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [none], [])
+
+@@ -261,7 +247,7 @@ AC_SUBST([LT_STATIC_EXEC])
+ ## ======================================================================
+ ## Libtool initialization
+ ## ======================================================================
+-LT_INIT([dlopen disable-shared])
++LT_INIT([dlopen])
+ LT_OUTPUT
+
+ ## ----------------------------------------------------------------------
+@@ -453,6 +439,8 @@ case "$withval" in
+
+ if test -z "$HAVE_SZIP"; then
+ AC_MSG_ERROR([couldn't find szlib library])
++ else
++ USE_COMP_SZIP="yes"
+ fi
+ ;;
+ no)
+@@ -496,7 +484,7 @@ case "$withval" in
+
+ AC_CHECK_LIB([sz], [SZ_BufftoBuffCompress],, [unset HAVE_SZIP])
+
+- if test -z "$HAVE_SZIP"; then
++ if test "X$HAVE_SZIP" != "Xyes"; then
+ AC_MSG_ERROR([couldn't find szlib library])
+ else
+ USE_COMP_SZIP="yes"
+@@ -837,11 +825,6 @@ done
+ ## ------------------------------------------------------------------------
+ ## Check to see if libtool has enabled shared libraries. Set a conditional
+ ## as some Makefiles will build based on availability of shared libraries.
+-if (./libtool --features | grep '^enable shared libraries' > /dev/null); then
+- enable_shared=yes
+-else
+- enable_shared=no
+-fi
+
+ ## ------------------------------------------------------------------------
+ ## Specify shared library extension the host machine should recognize.
+@@ -911,22 +894,7 @@ fi
+ ## name of the compiler and the reported version number.
+ AC_SUBST([F77_VERSION])
+ ## Strip anything that looks like a flag off of $F77
+-F77_NOFLAGS=`echo $F77 | sed 's/ -.*//'`
+-
+-if `echo $F77_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
+- F77_VERSION="$F77"
+-else
+- F77_VERSION="$F77";
+- for x in `echo $PATH | sed -e 's/:/ /g'`; do
+- if test -x $x/$F77_NOFLAGS; then
+- F77_VERSION="$x/$F77"
+- break
+- fi
+- done
+-fi
+-if test -n "$fc_version_info"; then
+- F77_VERSION="$F77_VERSION ( $fc_version_info)"
+-fi
++F77_VERSION="$F77"
+
+ ## This part doesn't work yet since HDF4 config files do not contain
+ ## information for fortran_vendor and fortran_version.
+--- a/hdf/test/fortestF.f
++++ b/hdf/test/fortestF.f
+@@ -203,7 +203,7 @@ C Skip command
+
+ if (cmd .NE. 'Test' .AND. cmd .NE. 'test') then
+ print *, 'Unknown Command: ', cmd, param
+- print *, 'Try one of "Skip", "Test", "Verbosity" or "Cleanup"'
++ print *, 'Try one of Skip, Test, Verbosity or Cleanup'
+ retcode = -1
+ return
+ endif
+--- a/mfhdf/libsrc/Makefile.am
++++ b/mfhdf/libsrc/Makefile.am
+@@ -32,10 +32,11 @@ libmfhdf_la_SOURCES = $(CSOURCES) $(FSOURCES)
+ else
+ libmfhdf_la_SOURCES = $(CSOURCES)
+ endif
++libmfhdf_la_LIBADD = $(top_builddir)/hdf/src/libdf.la
+
+ if HDF_BUILD_XDR
+ XDRLIB = $(top_builddir)/mfhdf/xdr/libxdr.la
+-libmfhdf_la_LIBADD = $(XDRLIB)
++libmfhdf_la_LIBADD += $(XDRLIB)
+ endif
+
+ if HDF_BUILD_NETCDF
diff --git a/sci-libs/hdf/files/hdf-ppc.patch b/sci-libs/hdf/files/hdf-ppc.patch
new file mode 100644
index 000000000000..3cf62d09371d
--- /dev/null
+++ b/sci-libs/hdf/files/hdf-ppc.patch
@@ -0,0 +1,214 @@
+Fix FTBS on ppc
+
+https://bugs.gentoo.org/show_bug.cgi?id=450188
+
+Source: http://pkgs.fedoraproject.org/cgit/hdf.git
+--- a/hdf/src/hdfi.h
++++ b/hdf/src/hdfi.h
+@@ -76,6 +76,7 @@
+ #define DFMT_IA64 0x4441
+ #define DFMT_LINUX64 0x4441
+ #define DFMT_POWERPC64 0x1111
++#define DFMT_LINUXPPC 0x1111
+
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1289,6 +1290,57 @@ typedef long hdf_pint_t;
+
+ #endif /*Linux 64 */
+
++/* Linux PPC */
++#if defined __powerpc__ && !defined __powerpc64__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h> /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT DFMT_LINUXPPC
++typedef void VOID;
++typedef void *VOIDP;
++typedef char *_fcd;
++typedef char char8;
++typedef unsigned char uchar8;
++typedef char int8;
++typedef unsigned char uint8;
++typedef short int int16;
++typedef unsigned short int uint16;
++typedef int int32;
++typedef unsigned int uint32;
++typedef int intn;
++typedef unsigned int uintn;
++typedef int intf; /* size of INTEGERs in Fortran compiler */
++typedef float float32;
++typedef double float64;
++typedef long hdf_pint_t; /* an integer the same size as a pointer */
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef HAVE_FMPOOL
++#define FILELIB PAGEBUFIO /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++
++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
++
++/* Determine the memory manager we are going to use. Valid values are: */
++/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
++/* what each does */
++#define JMEMSYS MEM_ANSI
++
++#ifdef __GNUC__
++#define HAVE_STDC
++#define INCLUDES_ARE_ANSI
++#endif
++
++#endif /*Linux PPC */
++
+ /*-----------------------------------------------------*/
+ /* 64-bit Free BSD */
+
+--- a/mfhdf/fortran/config/jackets-linux.c
++++ b/mfhdf/fortran/config/jackets-linux.c
+@@ -34,7 +34,7 @@
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ int ll;
+ #else
+ long ll;
+@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ int ll;
+ #else
+ long ll;
+@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims)
+ }
+ #endif /* FORTRAN_HAS_NO_SHORT */
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ /*
+ * Convert multi-dimensional array of NCLONGs stored in ints to packed
+ * array of longs, in malloc'ed space. Returns pointer to longs or NULL
+@@ -916,7 +916,7 @@ nncvpt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs = *(int *)value;
+@@ -1030,7 +1030,7 @@ nncvpt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, ncount, ndims);
+@@ -1141,7 +1141,7 @@ nncvptg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1198,7 +1198,7 @@ nncvptg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itolg (value, ncount, nbasis, ndims);
+@@ -1334,7 +1334,7 @@ nncvgt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs;
+@@ -1476,7 +1476,7 @@ nncvgt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1614,7 +1614,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1685,7 +1685,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1851,7 +1851,7 @@ nncapt(cdfid, varid, attname, datatype,
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, attlen, 1);
+@@ -2016,7 +2016,7 @@ nncagt(cdfid, varid, attname, value, rco
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes
+--- a/mfhdf/libsrc/netcdf.h.in
++++ b/mfhdf/libsrc/netcdf.h.in
+@@ -295,7 +295,7 @@ typedef double ncdouble;
+ */
+ #if defined _CRAYMPP
+ typedef short nclong;
+-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64
++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64 || defined __powerpc64__
+ typedef int nclong;
+ #else
+ typedef long nclong; /* default, compatible type */
+--- a/mfhdf/ncgen/ncgen.l
++++ b/mfhdf/ncgen/ncgen.l
+@@ -134,7 +134,7 @@ FloatInf|Infinity|Inf { /* float miss
+ yyerror(errstr);
+ }
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (dd < INT_MIN || dd > INT_MAX)
+ #else
+ #if defined (_CRAYMPP)
diff --git a/sci-libs/hdf/hdf-4.2.8.ebuild b/sci-libs/hdf/hdf-4.2.8.ebuild
new file mode 100644
index 000000000000..1ac5cf7c3f6d
--- /dev/null
+++ b/sci-libs/hdf/hdf-4.2.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 toolchain-funcs autotools flag-o-matic
+
+MYP=${P/_p/-patch}
+
+DESCRIPTION="General purpose library and format for storing scientific data"
+HOMEPAGE="http://www.hdfgroup.org/hdf4.html"
+SRC_URI="http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/${MYP}.tar.bz2"
+
+SLOT="0"
+LICENSE="NCSA-HDF"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="fortran szip static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ virtual/jpeg
+ szip? ( >=sci-libs/szip-2 )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MYP}
+
+src_prepare() {
+ epatch "${FILESDIR}"/4.2.7_p1-autotools.patch \
+ "${FILESDIR}"/${PN}-ppc.patch
+ sed -i -e 's/-R/-L/g' config/commence.am || die #rpath
+ eautoreconf
+ [[ $(tc-getFC) = *gfortran ]] && append-fflags -fno-range-check
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --enable-production=gentoo \
+ --disable-netcdf \
+ $(use_enable fortran) \
+ $(use_enable static-libs static) \
+ $(use_with szip szlib) \
+ CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
+ cd "${ED}"usr
+ mv bin/ncgen{,-hdf} || die
+ mv bin/ncdump{,-hdf} || die
+ mv share/man/man1/ncgen{,-hdf}.1 || die
+ mv share/man/man1/ncdump{,-hdf}.1 || die
+}
diff --git a/sci-libs/hdf/hdf-4.2.9.ebuild b/sci-libs/hdf/hdf-4.2.9.ebuild
new file mode 100644
index 000000000000..b2b1e652468a
--- /dev/null
+++ b/sci-libs/hdf/hdf-4.2.9.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 toolchain-funcs autotools flag-o-matic
+
+MYP=${P/_p/-patch}
+
+DESCRIPTION="General purpose library and format for storing scientific data"
+HOMEPAGE="http://www.hdfgroup.org/hdf4.html"
+SRC_URI="http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/${MYP}.tar.bz2"
+
+SLOT="0"
+LICENSE="NCSA-HDF"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="fortran szip static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ virtual/jpeg
+ szip? ( >=sci-libs/szip-2 )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MYP}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-autotools.patch \
+ "${FILESDIR}"/${PN}-ppc.patch
+ sed -i -e 's/-R/-L/g' config/commence.am || die #rpath
+ eautoreconf
+ [[ $(tc-getFC) = *gfortran ]] && append-fflags -fno-range-check
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --enable-production=gentoo \
+ --disable-netcdf \
+ $(use_enable fortran) \
+ $(use_enable static-libs static) \
+ $(use_with szip szlib) \
+ CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
+ cd "${ED}"usr
+ mv bin/ncgen{,-hdf} || die
+ mv bin/ncdump{,-hdf} || die
+ mv share/man/man1/ncgen{,-hdf}.1 || die
+ mv share/man/man1/ncdump{,-hdf}.1 || die
+}
diff --git a/sci-libs/hdf/metadata.xml b/sci-libs/hdf/metadata.xml
new file mode 100644
index 000000000000..40b295a48396
--- /dev/null
+++ b/sci-libs/hdf/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The Hierarchical Data Format is a general purpose library and
+ file format for storing scientific data.
+ HDF can store two primary objects: datasets and groups. A dataset is
+ essentially a multidimensional array of data elements, and a group is
+ a structure for organizing objects in an HDF file. Using these two basic
+ objects, one can create and store almost any kind of scientific data
+ structure, such as images, arrays of vectors, and structured and
+ unstructured grids. You can also mix and match them in HDF files
+ according to your needs.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
new file mode 100644
index 000000000000..c97b11d81cc6
--- /dev/null
+++ b/sci-libs/hdf5/Manifest
@@ -0,0 +1,2 @@
+DIST hdf5-1.8.14.tar.bz2 9503743 SHA256 53722cb9f5977af2908f92fc1a3f8c597800a5cb448cfe5c75060d6335bb9bab SHA512 c4f0bb01df7bef9cd29c42ec2e27f4bd27c3e059cf18f1285c583e92b94ef799f8a29ec85c17bab12e47a69626851fbda4b8d74543266b01aa2cffc42cde4fea WHIRLPOOL 646d44d446e2bd2855567046ca00f302e02d39880a77f2d75fd6231ad74692c07910c8670ffa5e02f2922e4e28c5a4afd06f907ac5950615dd328c3e7346f578
+DIST hdf5-1.8.15-patch1.tar.bz2 10006036 SHA256 a5afc630c4443547fff15e9637b5b10404adbed4c00206d89517d32d6668fb32 SHA512 380c06f3cab469351d6ddc940c7cdffd5bd20a74e69cb4d549989bec5f130dadae11c04928ead7eea0200a175fc45a042d068a752d8a9c19a35c3a6912a147bd WHIRLPOOL 0c4c918eea3b70a2c4dea2098f24ddb612af6bf026749144dae19380f60de9d4123acd3c4bf324a1a313e4fae1d7874de48afd9e6720bbcc3c4f1fb1c1bc0288
diff --git a/sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch b/sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch
new file mode 100644
index 000000000000..58bcc500165f
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch
@@ -0,0 +1,33 @@
+Prevent build system with messing up LD_LIBRARY_PATH
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -2331,8 +2331,6 @@ AC_TRY_COMPILE(,[
+ ##
+ AC_MSG_CHECKING([how to print long long])
+ AC_CACHE_VAL([hdf5_cv_printf_ll], [
+-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $AM_LDFLAGS $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`"
+-export LD_LIBRARY_PATH
+
+ for hdf5_cv_printf_ll in l ll L q unknown; do
+ AC_TRY_RUN([
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -125,8 +125,6 @@ settings_DATA=libhdf5.settings
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+ H5Tinit.c: H5detect$(EXEEXT)
+- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+- sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5detect$(EXEEXT) > $@ || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
+@@ -137,8 +135,6 @@ H5Tinit.c: H5detect$(EXEEXT)
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+ H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
+- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+- sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@ || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
diff --git a/sci-libs/hdf5/files/hdf5-1.8.10-comments.patch b/sci-libs/hdf5/files/hdf5-1.8.10-comments.patch
new file mode 100644
index 000000000000..845bd81bdd8c
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10-comments.patch
@@ -0,0 +1,42 @@
+Convert // comment marks to /**/ in order to fix FTBS on ia64
+
+https://bugs.gentoo.org/show_bug.cgi?id=447740
+
+Patch written by Kacper Kowalik <xarthisius@gentoo.org>
+--- a/test/th5s.c
++++ b/test/th5s.c
+@@ -730,8 +730,8 @@ test_h5s_zero_dim(void)
+ ret = H5Pset_chunk(plist_id, SPACE1_RANK, chunk_dims);
+ CHECK(ret, FAIL, "H5Pset_chunk");
+
+- // ret = H5Pset_alloc_time(plist_id, alloc_time);
+- // CHECK(ret, FAIL, "H5Pset_alloc_time");
++ /* ret = H5Pset_alloc_time(plist_id, alloc_time);
++ CHECK(ret, FAIL, "H5Pset_alloc_time"); */
+
+ dset1 = H5Dcreate2(fid1, BASICDATASET1, H5T_NATIVE_INT, sid_chunk, H5P_DEFAULT, plist_id, H5P_DEFAULT);
+ CHECK(dset1, FAIL, "H5Dcreate2");
+--- a/tools/h5dump/h5dump_ddl.c
++++ b/tools/h5dump/h5dump_ddl.c
+@@ -1341,8 +1341,8 @@ handle_attributes(hid_t fid, const char *attr, void UNUSED * data, int UNUSED pe
+ string_dataformat.do_escape = display_escape;
+ outputformat = &string_dataformat;
+
+- //attr_name = attr + j + 1;
+- // need to replace escape characters
++ /* attr_name = attr + j + 1; */
++ /* need to replace escape characters */
+ attr_name = h5tools_str_replace(attr + j + 1, "\\/", "/");
+
+
+--- a/tools/lib/h5tools_str.c
++++ b/tools/lib/h5tools_str.c
+@@ -632,7 +632,7 @@ h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info,
+ h5tools_str_append(str, "%s", OPT(info->line_indent, ""));
+ }
+
+-// ctx->need_prefix = 0;
++ /* ctx->need_prefix = 0; */
+ }
+
+ /*-------------------------------------------------------------------------
diff --git a/sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch
new file mode 100644
index 000000000000..a0b59b74e703
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch
@@ -0,0 +1,54 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1494,6 +1494,9 @@ case "$host_cpu-$host_vendor-$host_os" in
+ ## however, we do not do this since it breaks the big test on some
+ ## older platforms.
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ dnl _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -49,6 +49,7 @@
+ #define YY_FLEX_MINOR_VERSION 5
+
+ #include <stdio.h>
++#include "H5pubconf.h"
+ #ifdef H5_HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,9 @@ void validate_mdc_config(hid_t file_id,
+ hbool_t compare_init,
+ int test_num);
+
++hbool_t resize_configs_are_equal(const H5C_auto_size_ctl_t *a,
++ const H5C_auto_size_ctl_t *b,
++ hbool_t compare_init);
++
+ #endif /* _CACHE_COMMON_H */
+
+--- a/tools/h5repack/testh5repack_detect_szip.c
++++ b/tools/h5repack/testh5repack_detect_szip.c
+@@ -18,6 +18,7 @@
+ #include "h5tools.h"
+ #include "h5tools_utils.h"
+ #include "h5test.h"
++#include "h5tools_utils.h"
+
+
+ /* Name of tool */
+--- a/tools/misc/talign.c
++++ b/tools/misc/talign.c
+@@ -23,6 +23,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+
+ const char *fname = "talign.h5";
+ const char *setname = "align";
diff --git a/sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch b/sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch
new file mode 100644
index 000000000000..44af8080bbf1
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch
@@ -0,0 +1,29 @@
+Convert // comment marks to /**/ in order to fix FTBS on ia64
+
+https://bugs.gentoo.org/show_bug.cgi?id=447740
+
+Patch written by Kacper Kowalik <xarthisius@gentoo.org>
+--- a/tools/h5dump/h5dump_ddl.c
++++ b/tools/h5dump/h5dump_ddl.c
+@@ -1341,8 +1341,8 @@ handle_attributes(hid_t fid, const char *attr, void UNUSED * data, int UNUSED pe
+ string_dataformat.do_escape = display_escape;
+ outputformat = &string_dataformat;
+
+- //attr_name = attr + j + 1;
+- // need to replace escape characters
++ /* attr_name = attr + j + 1; */
++ /* need to replace escape characters */
+ attr_name = h5tools_str_replace(attr + j + 1, "\\/", "/");
+
+
+--- a/tools/lib/h5tools_str.c
++++ b/tools/lib/h5tools_str.c
+@@ -632,7 +632,7 @@ h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info,
+ h5tools_str_append(str, "%s", OPT(info->line_indent, ""));
+ }
+
+-// ctx->need_prefix = 0;
++ /* ctx->need_prefix = 0; */
+ }
+
+ /*-------------------------------------------------------------------------
diff --git a/sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch
new file mode 100644
index 000000000000..2061d16f71ea
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch
@@ -0,0 +1,35 @@
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,8 @@ void validate_mdc_config(hid_t file_id,
+ hbool_t compare_init,
+ int test_num);
+
++hbool_t resize_configs_are_equal(const H5C_auto_size_ctl_t *a,
++ const H5C_auto_size_ctl_t *b,
++ hbool_t compare_init);
+ #endif /* _CACHE_COMMON_H */
+
+--- a/testpar/t_span_tree.c
++++ b/testpar/t_span_tree.c
+@@ -37,6 +37,9 @@
+ #include "hdf5.h"
+ #include "H5private.h"
+ #include "testphdf5.h"
++#define H5S_PACKAGE
++#define H5S_TESTING
++#include "H5Spkg.h"
+
+
+ static void coll_write_test(int chunk_factor);
+--- a/configure.ac
++++ b/configure.ac
+@@ -1504,6 +1504,9 @@ case "$host_cpu-$host_vendor-$host_os" in
+ ## however, we do not do this since it breaks the big test on some
+ ## older platforms.
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ ## _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
diff --git a/sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch b/sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch
new file mode 100644
index 000000000000..82bc5d8b120a
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch
@@ -0,0 +1,21 @@
+Prevent build system with messing up LD_LIBRARY_PATH
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -125,8 +125,6 @@ settings_DATA=libhdf5.settings
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+ H5Tinit.c: H5detect$(EXEEXT)
+- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+- sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5detect$(EXEEXT) > $@ || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
+@@ -137,8 +135,6 @@ H5Tinit.c: H5detect$(EXEEXT)
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+ H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
+- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+- sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@ || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
diff --git a/sci-libs/hdf5/files/hdf5-1.8.14-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.14-implicits.patch
new file mode 100644
index 000000000000..4ee6e83d9f2f
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.14-implicits.patch
@@ -0,0 +1,55 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1522,6 +1522,9 @@ case "$host_cpu-$host_vendor-$host_os" in
+ ## however, we do not do this since it breaks the big test on some
+ ## older platforms.
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ ## _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -40,6 +40,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <unistd.h>
+
+ /* end standard C headers. */
+
+--- a/hl/src/H5LTanalyze.l
++++ b/hl/src/H5LTanalyze.l
+@@ -16,6 +16,7 @@
+ %{
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <hdf5.h>
+ #include "H5LTparse.h"
+
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,8 @@ void validate_mdc_config(hid_t file_id,
+ hbool_t compare_init,
+ int test_num);
+
++hbool_t resize_configs_are_equal(const H5C_auto_size_ctl_t *a,
++ const H5C_auto_size_ctl_t *b,
++ hbool_t compare_init);
+ #endif /* _CACHE_COMMON_H */
+
+--- a/testpar/t_span_tree.c
++++ b/testpar/t_span_tree.c
+@@ -37,6 +37,9 @@
+ #include "hdf5.h"
+ #include "H5private.h"
+ #include "testphdf5.h"
++#define H5S_PACKAGE
++#define H5S_TESTING
++#include "H5Spkg.h"
+
+
+ static void coll_write_test(int chunk_factor);
diff --git a/sci-libs/hdf5/files/hdf5-1.8.14-ldflags.patch b/sci-libs/hdf5/files/hdf5-1.8.14-ldflags.patch
new file mode 100644
index 000000000000..c27800d9ce30
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.14-ldflags.patch
@@ -0,0 +1,20 @@
+Revert changes made to fix HDFFV-8944
+
+https://bugs.gentoo.org/show_bug.cgi?id=530746
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -115,12 +115,7 @@
+ AM_CXXFLAGS="${AM_CXXFLAGS}"
+ AM_FCFLAGS="${AM_FCFLAGS}"
+ AM_CPPFLAGS="${AM_CPPFLAGS}"
+-# Added to address HDFFV-8944
+-if test "x$prefix" = xNONE; then
+- AM_LDFLAGS="$AM_LDFLAGS -L$ac_default_prefix/lib"
+-else
+- AM_LDFLAGS="$AM_LDFLAGS -L$prefix/lib"
+-fi
++AM_LDFLAGS="${AM_LDFLAGS}"
+ CFLAGS="${CFLAGS}"
+ CXXFLAGS="${CXXFLAGS}"
+ FCFLAGS="${FCFLAGS}"
diff --git a/sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch
new file mode 100644
index 000000000000..72e096170975
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch
@@ -0,0 +1,43 @@
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -40,6 +40,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <unistd.h>
+
+ /* end standard C headers. */
+
+--- a/hl/src/H5LTanalyze.l
++++ b/hl/src/H5LTanalyze.l
+@@ -16,6 +16,7 @@
+ %{
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <hdf5.h>
+ #include "H5LTparse.h"
+
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,8 @@ void validate_mdc_config(hid_t file_id,
+ hbool_t compare_init,
+ int test_num);
+
++hbool_t resize_configs_are_equal(const H5C_auto_size_ctl_t *a,
++ const H5C_auto_size_ctl_t *b,
++ hbool_t compare_init);
+ #endif /* _CACHE_COMMON_H */
+
+--- a/testpar/t_span_tree.c
++++ b/testpar/t_span_tree.c
+@@ -37,6 +37,9 @@
+ #include "hdf5.h"
+ #include "H5private.h"
+ #include "testphdf5.h"
++#define H5S_PACKAGE
++#define H5S_TESTING
++#include "H5Spkg.h"
+
+
+ static void coll_write_test(int chunk_factor);
diff --git a/sci-libs/hdf5/files/hdf5-1.8.8-array_bounds.patch b/sci-libs/hdf5/files/hdf5-1.8.8-array_bounds.patch
new file mode 100644
index 000000000000..042d012d1621
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.8-array_bounds.patch
@@ -0,0 +1,22 @@
+--- a/perform/pio_engine.c
++++ b/perform/pio_engine.c
+@@ -454,7 +454,7 @@
+ subdir = (user ? user : login);
+
+ if (subdir) {
+- for (i = 0; i < size && prefix[i]; i++)
++ for (i = 0; i < size-1 && prefix[i]; i++)
+ fullname[i] = prefix[i];
+
+ fullname[i++] = '/';
+--- a/perform/sio_engine.c
++++ b/perform/sio_engine.c
+@@ -353,7 +353,7 @@
+ subdir = (user ? user : login);
+
+ if (subdir) {
+- for (i = 0; i < size && prefix[i]; i++)
++ for (i = 0; i < size-1 && prefix[i]; i++)
+ fullname[i] = prefix[i];
+
+ fullname[i++] = '/';
diff --git a/sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch b/sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch
new file mode 100644
index 000000000000..0f85cf5ed245
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch
@@ -0,0 +1,33 @@
+Prevent build system with messing up LD_LIBRARY_PATH
+
+--- a/configure.in
++++ b/configure.in
+@@ -2328,8 +2328,6 @@
+ dnl
+ AC_MSG_CHECKING([how to print long long])
+ AC_CACHE_VAL([hdf5_cv_printf_ll],
+-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $AM_LDFLAGS $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`"
+-export LD_LIBRARY_PATH
+
+ for hdf5_cv_printf_ll in l ll L q unknown; do
+ AC_TRY_RUN([
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -125,8 +125,6 @@
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+ H5Tinit.c: H5detect$(EXEEXT)
+- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+- sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5detect$(EXEEXT) > $@ || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
+@@ -137,8 +135,6 @@
+ # Remove the generated .c file if errors occur unless HDF5_Make_Ignore
+ # is set to ignore the error.
+ H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
+- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
+- sed -e 's/-L/:/g' -e 's/ //g'`" \
+ $(RUNSERIAL) ./H5make_libsettings$(EXEEXT) > $@ || \
+ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
+ ($(RM) $@ ; exit 1)
diff --git a/sci-libs/hdf5/files/hdf5-1.8.8-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.8-implicits.patch
new file mode 100644
index 000000000000..d1217e83a989
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.8-implicits.patch
@@ -0,0 +1,85 @@
+--- b/configure.in
++++ a/configure.in
+@@ -1499,6 +1499,9 @@
+ dnl though we do not do this as it breaks the big test on older versions
+ dnl of linux (CentOS 4.6) using newer versions of gcc (4.6.2).
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ dnl _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,9 @@
+ hbool_t compare_init,
+ int test_num);
+
++hbool_t resize_configs_are_equal(const H5C_auto_size_ctl_t *a,
++ const H5C_auto_size_ctl_t *b,
++ hbool_t compare_init);
++
+ #endif /* _CACHE_COMMON_H */
+
+--- a/tools/misc/talign.c
++++ b/tools/misc/talign.c
+@@ -23,6 +23,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+
+ const char *fname = "talign.h5";
+ const char *setname = "align";
+--- a/tools/h5repack/testh5repack_detect_szip.c
++++ b/tools/h5repack/testh5repack_detect_szip.c
+@@ -17,6 +17,7 @@
+ #include "h5repack.h"
+ #include "h5tools.h"
+ #include "h5test.h"
++#include "h5tools_utils.h"
+
+
+ /* Name of tool */
+--- a/tools/h5jam/h5jam.c
++++ b/tools/h5jam/h5jam.c
+@@ -15,6 +15,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+ #include "h5tools_utils.h"
+
+ /* Name of tool */
+--- a/tools/h5jam/h5unjam.c
++++ b/tools/h5jam/h5unjam.c
+@@ -15,6 +15,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+ #include "h5tools_utils.h"
+
+ /* Name of tool */
+--- a/tools/h5copy/h5copygentest.c
++++ b/tools/h5copy/h5copygentest.c
+@@ -20,6 +20,7 @@
+ #include "hdf5.h"
+ #include "H5private.h"
+ #include "h5tools.h"
++#include "h5tools_utils.h"
+
+ /* Name of tool */
+ #define PROGRAMNAME "h5copygentest"
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -49,7 +49,8 @@
+ #define YY_FLEX_MINOR_VERSION 5
+
+ #include <stdio.h>
++#include "H5pubconf.h"
+ #ifdef H5_HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+
diff --git a/sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch
new file mode 100644
index 000000000000..43e4f0774a29
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch
@@ -0,0 +1,55 @@
+--- b/configure.in
++++ a/configure.in
+@@ -1499,6 +1499,9 @@
+ dnl though we do not do this as it breaks the big test on older versions
+ dnl of linux (CentOS 4.6) using newer versions of gcc (4.6.2).
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ dnl _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,9 @@
+ hbool_t compare_init,
+ int test_num);
+
++hbool_t resize_configs_are_equal(const H5C_auto_size_ctl_t *a,
++ const H5C_auto_size_ctl_t *b,
++ hbool_t compare_init);
++
+ #endif /* _CACHE_COMMON_H */
+
+--- a/tools/misc/talign.c
++++ b/tools/misc/talign.c
+@@ -23,6 +23,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+
+ const char *fname = "talign.h5";
+ const char *setname = "align";
+--- a/tools/h5repack/testh5repack_detect_szip.c
++++ b/tools/h5repack/testh5repack_detect_szip.c
+@@ -17,6 +17,7 @@
+ #include "h5repack.h"
+ #include "h5tools.h"
+ #include "h5test.h"
++#include "h5tools_utils.h"
+
+
+ /* Name of tool */
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -49,7 +49,8 @@
+ #define YY_FLEX_MINOR_VERSION 5
+
+ #include <stdio.h>
++#include "H5pubconf.h"
+ #ifdef H5_HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+
diff --git a/sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch b/sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch
new file mode 100644
index 000000000000..28f554c0c592
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch
@@ -0,0 +1,16 @@
+Prevent accidental inclusion of mpi c++ headers
+when hdf5.h is included third party library
+
+https://bugs.gentoo.org/show_bug.cgi?id=420777
+
+--- a/src/H5public.h
++++ b/src/H5public.h
+@@ -58,6 +58,8 @@
+ # include <stddef.h>
+ #endif
+ #ifdef H5_HAVE_PARALLEL
++# define OMPI_SKIP_MPICXX /* Make sure that cxx specific headers are not included */
++# define MPICH_SKIP_MPICXX
+ # include <mpi.h>
+ #ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */
+ # include <mpio.h>
diff --git a/sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch b/sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch
new file mode 100644
index 000000000000..f87ccdd08f7a
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch
@@ -0,0 +1,15 @@
+Make sure that during runtime we'll use the same libgfortran as during linking
+
+https://bugs.gentoo.org/show_bug.cgi?id=419991
+https://bugs.gentoo.org/show_bug.cgi?id=419895
+
+--- a/fortran/src/Makefile.am
++++ b/fortran/src/Makefile.am
+@@ -181,6 +181,7 @@
+ else
+ H5test_kind_SOURCES = $(srcdir)/H5test_kind.f90
+ endif
++H5test_kind_LDFLAGS=-static-libgfortran
+
+ # Mark this directory as part of the Fortran API
+ FORTRAN_API=yes
diff --git a/sci-libs/hdf5/files/mpd.conf b/sci-libs/hdf5/files/mpd.conf
new file mode 100644
index 000000000000..07dd9825023a
--- /dev/null
+++ b/sci-libs/hdf5/files/mpd.conf
@@ -0,0 +1,2 @@
+secretword=test69hike
+MPD_SECRETWORD=test69hike
diff --git a/sci-libs/hdf5/hdf5-1.8.14-r1.ebuild b/sci-libs/hdf5/hdf5-1.8.14-r1.ebuild
new file mode 100644
index 000000000000..1cdacf56136c
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.8.14-r1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils fortran-2 flag-o-matic toolchain-funcs multilib
+
+MY_P=${PN}-${PV/_p/-patch}
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="http://www.hdfgroup.org/HDF5/"
+SRC_URI="http://www.hdfgroup.org/ftp/HDF5/releases/${MY_P}/src/${MY_P}.tar.bz2"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran fortran2003 mpi static-libs szip threads zlib"
+
+REQUIRED_USE="
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran )
+ fortran2003? ( fortran )"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( >=sci-libs/szip-2.1:0= )
+ zlib? ( sys-libs/zlib:0= )"
+
+DEPEND="${RDEPEND}
+ sys-devel/libtool:2
+ >=sys-devel/autoconf-2.69"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.9-static_libgfortran.patch
+ "${FILESDIR}"/${PN}-1.8.9-mpicxx.patch
+ "${FILESDIR}"/${PN}-1.8.13-no-messing-ldpath.patch
+ "${FILESDIR}"/${PN}-1.8.14-implicits.patch
+ "${FILESDIR}"/${PN}-1.8.14-ldflags.patch
+)
+
+pkg_setup() {
+ tc-export CXX CC AR # workaround for bug 285148
+ if use fortran; then
+ use fortran2003 && FORTRAN_STANDARD=2003
+ fortran-2_pkg_setup
+ fi
+ if use mpi; then
+ if has_version 'sci-libs/hdf5[-mpi]'; then
+ ewarn "Installing hdf5 with mpi enabled with a previous hdf5 with mpi disabled may fail."
+ ewarn "Try to uninstall the current hdf5 prior to enabling mpi support."
+ fi
+ export CC=mpicc
+ use fortran && export FC=mpif90
+ elif has_version 'sci-libs/hdf5[mpi]'; then
+ ewarn "Installing hdf5 with mpi disabled while having hdf5 installed with mpi enabled may fail."
+ ewarn "Try to uninstall the current hdf5 prior to disabling mpi support."
+ fi
+}
+
+src_prepare() {
+ # respect gentoo examples directory
+ sed \
+ -e "s:hdf5_examples:doc/${PF}/examples:g" \
+ -i $(find . -name Makefile.am) $(find . -name "run*.sh.in") || die
+ sed \
+ -e '/docdir/d' \
+ -i config/commence.am || die
+ if ! use examples; then
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die #409091
+ fi
+ # enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" tools/misc/h5cc.in || die
+ # bug #419677
+ use prefix && \
+ append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir) \
+ -Wl,-rpath,"${EPREFIX}"/$(get_libdir)
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-production
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --enable-deprecated-symbols
+ $(use_enable prefix sharedlib-rpath)
+ $(use_enable debug debug all)
+ $(use_enable debug codestack)
+ $(use_enable cxx)
+ $(use_enable fortran)
+ $(use_enable fortran2003)
+ $(use_enable mpi parallel)
+ $(use_enable threads threadsafe)
+ $(use_with szip szlib)
+ $(use_with threads pthread)
+ $(use_with zlib)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/hdf5/hdf5-1.8.15_p1.ebuild b/sci-libs/hdf5/hdf5-1.8.15_p1.ebuild
new file mode 100644
index 000000000000..4525a34653b8
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.8.15_p1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils fortran-2 flag-o-matic toolchain-funcs multilib
+
+MY_P=${PN}-${PV/_p/-patch}
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="http://www.hdfgroup.org/HDF5/"
+SRC_URI="http://www.hdfgroup.org/ftp/HDF5/releases/${MY_P}/src/${MY_P}.tar.bz2"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran fortran2003 mpi static-libs szip threads zlib"
+
+REQUIRED_USE="
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran )
+ fortran2003? ( fortran )"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( >=sci-libs/szip-2.1:0= )
+ zlib? ( sys-libs/zlib:0= )"
+
+DEPEND="${RDEPEND}
+ sys-devel/libtool:2
+ >=sys-devel/autoconf-2.69"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.9-static_libgfortran.patch
+ "${FILESDIR}"/${PN}-1.8.9-mpicxx.patch
+ "${FILESDIR}"/${PN}-1.8.13-no-messing-ldpath.patch
+ "${FILESDIR}"/${PN}-1.8.15-implicits.patch
+)
+
+pkg_setup() {
+ tc-export CXX CC AR # workaround for bug 285148
+ if use fortran; then
+ use fortran2003 && FORTRAN_STANDARD=2003
+ fortran-2_pkg_setup
+ fi
+ if use mpi; then
+ if has_version 'sci-libs/hdf5[-mpi]'; then
+ ewarn "Installing hdf5 with mpi enabled with a previous hdf5 with mpi disabled may fail."
+ ewarn "Try to uninstall the current hdf5 prior to enabling mpi support."
+ fi
+ export CC=mpicc
+ use fortran && export FC=mpif90
+ elif has_version 'sci-libs/hdf5[mpi]'; then
+ ewarn "Installing hdf5 with mpi disabled while having hdf5 installed with mpi enabled may fail."
+ ewarn "Try to uninstall the current hdf5 prior to disabling mpi support."
+ fi
+}
+
+src_prepare() {
+ # respect gentoo examples directory
+ sed \
+ -e "s:hdf5_examples:doc/${PF}/examples:g" \
+ -i $(find . -name Makefile.am) $(find . -name "run*.sh.in") || die
+ sed \
+ -e '/docdir/d' \
+ -i config/commence.am || die
+ if ! use examples; then
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die #409091
+ fi
+ # enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" tools/misc/h5cc.in || die
+ # bug #419677
+ use prefix && \
+ append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir) \
+ -Wl,-rpath,"${EPREFIX}"/$(get_libdir)
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-production
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --enable-deprecated-symbols
+ $(use_enable prefix sharedlib-rpath)
+ $(use_enable debug debug all)
+ $(use_enable debug codestack)
+ $(use_enable cxx)
+ $(use_enable fortran)
+ $(use_enable fortran2003)
+ $(use_enable mpi parallel)
+ $(use_enable threads threadsafe)
+ $(use_with szip szlib)
+ $(use_with threads pthread)
+ $(use_with zlib)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/hdf5/metadata.xml b/sci-libs/hdf5/metadata.xml
new file mode 100644
index 000000000000..1edb12ad3059
--- /dev/null
+++ b/sci-libs/hdf5/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>xarthisius@gentoo.org</email>
+ <name>Kacper Kowalik</name>
+ </maintainer>
+ <longdescription>
+ HDF5 is a file format and library for storing scientific data. HDF5
+ was designed and implemented to address the deficiencies of HDF4.x. It
+ has a more powerful and flexible data model, supports files larger
+ than 2 GB, and supports parallel I/O.
+</longdescription>
+ <use>
+ <flag name="fortran2003">Enable new features that require Fortran 2003
+ (http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf)</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/htslib/Manifest b/sci-libs/htslib/Manifest
new file mode 100644
index 000000000000..1618f6e60f4d
--- /dev/null
+++ b/sci-libs/htslib/Manifest
@@ -0,0 +1,3 @@
+DIST htslib-1.0.tar.bz2 842174 SHA256 3d53fb081fafd930cadfee6f950faacc1993a0f4a9fa329fc897865fc6b331bc SHA512 aee7080a31c3fe5bd1fe4a16102da4aef7d415fd022781c1a5bdc1316ca50f8fcabbb95a39adc867e4eb5ac2d8ed63ab15ceafcd768e840d2593282916313507 WHIRLPOOL 512f4a95e98129151fef34fb90294138bc0aec40d5c2345d15d49ded02810c4663b8ff65726ced9f0d9ceb300295da066f6025d2b1966224937fc9ff58f2b58f
+DIST htslib-1.1.tar.bz2 844870 SHA256 204e894074d9a864d27b607fda19f6240c5da351bb61bfc6c94beaa8790e4d58 SHA512 cde0b01583035f139203b8e9884dc97846bdf02fbb6dd2af74d0829270c2141ac490d0ca3ece4f9afd9d66d6af235452d3e94bbe0ea6e1a8625405735a813271 WHIRLPOOL 56e986cd7ee29d2d680ef55fd9128d4e43bacff4d72bc83df7b8c1e6c8d53b4a726c576d690dee272397778a6796096072fc3fffe4a4f1cbc0179a91fe9405b6
+DIST htslib-1.2.1.tar.bz2 911326 SHA256 bddb1372b9215b32e0f21d8394bab859c57cb00324a8dc06775cdac5b4d662b0 SHA512 23db1861cd08b503223f14dcbbdf9c6ae24dec648c987816abc47cc85fa7287c2405be72193cf492fff4f5991ff7b1f55dc386004588971a0e43a2f1c7355199 WHIRLPOOL d81f1cc74bb7e70d538f3e616f290a50017c56c517d9986f84c897b75524848135dd1788f92ff983c701ab7d5e84163123c570a200b83bea6a7922f4c1293107
diff --git a/sci-libs/htslib/htslib-1.0.ebuild b/sci-libs/htslib/htslib-1.0.ebuild
new file mode 100644
index 000000000000..f3ab7398967a
--- /dev/null
+++ b/sci-libs/htslib/htslib-1.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="C library for high-throughput sequencing data formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="mirror://sourceforge/samtools/${PV}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+src_prepare() {
+ sed \
+ -e "/libdir/s:lib$:$(get_libdir):g" \
+ -i Makefile || die
+}
+
+src_compile() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ install
+
+ rm "${ED}/usr/share/man/man1/libhts.so.1" || die
+
+ if ! use static-libs; then
+ find "${ED}" -type f -name "*.a" -delete || die
+ fi
+
+ dodoc README
+}
diff --git a/sci-libs/htslib/htslib-1.1.ebuild b/sci-libs/htslib/htslib-1.1.ebuild
new file mode 100644
index 000000000000..0c3207ab84a0
--- /dev/null
+++ b/sci-libs/htslib/htslib-1.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="C library for high-throughput sequencing data formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="mirror://sourceforge/samtools/${PV}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+src_prepare() {
+ sed \
+ -e "/libdir/s:lib$:$(get_libdir):g" \
+ -i Makefile || die
+}
+
+src_compile() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ install
+
+ if ! use static-libs; then
+ find "${ED}" -type f -name "*.a" -delete || die
+ fi
+
+ dodoc README
+}
diff --git a/sci-libs/htslib/htslib-1.2.1.ebuild b/sci-libs/htslib/htslib-1.2.1.ebuild
new file mode 100644
index 000000000000..36fc9bdd399b
--- /dev/null
+++ b/sci-libs/htslib/htslib-1.2.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="C library for high-throughput sequencing data formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="mirror://sourceforge/samtools/${PV}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+src_install() {
+ default
+ if ! use static-libs; then
+ find "${ED}" -type f -name "*.a" -delete || die
+ fi
+}
diff --git a/sci-libs/htslib/metadata.xml b/sci-libs/htslib/metadata.xml
new file mode 100644
index 000000000000..74dc02bc9826
--- /dev/null
+++ b/sci-libs/htslib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-biology</herd>
+ <upstream>
+ <remote-id type="sourceforge">samtools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/hypre/Manifest b/sci-libs/hypre/Manifest
new file mode 100644
index 000000000000..9cd5ec992f2d
--- /dev/null
+++ b/sci-libs/hypre/Manifest
@@ -0,0 +1 @@
+DIST hypre-2.9.0b.tar.gz 9053035 SHA256 6568f65e7c3c11531a00c300a059f0b81dcab3b2d038cd1154e1458a73edbe5d SHA512 6856f2c80eaf669258d73a36a59c0fd0f43e20a5b2e633b6aefbccf41f5217ea821a6201dadc0de2b17a039ba9f53d98031f0b091e3db552cc5251a4f766acb8 WHIRLPOOL acc84dec19fca2908170286adc582adb7c6b06d058a5518d87ccb4093a301046f978fea3ede6f854f9fcdf482993612b420bb0391474421b95721a91122b72dd
diff --git a/sci-libs/hypre/hypre-2.9.0b.ebuild b/sci-libs/hypre/hypre-2.9.0b.ebuild
new file mode 100644
index 000000000000..48a4b020ea23
--- /dev/null
+++ b/sci-libs/hypre/hypre-2.9.0b.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 toolchain-funcs
+
+DESCRIPTION="Parallel matrix preconditioners library"
+HOMEPAGE="http://acts.nersc.gov/hypre/"
+SRC_URI="https://computation.llnl.gov/casc/hypre/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples fortran mpi"
+
+RDEPEND="
+ sci-libs/superlu:0=
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( "${WORKDIR}"/${P}/{CHANGELOG,COPYRIGHT,README} )
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ # link with system superlu and propagate LDFLAGS
+ sed -i \
+ -e 's:@LIBS@:@LIBS@ -lsuperlu:' \
+ -e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \
+ config/Makefile.config.in || die
+ sed -i \
+ -e '/HYPRE_ARCH/s: = :=:g' \
+ configure || die
+ # link with system blas and lapack
+ sed -i \
+ -e '/^BLASFILES/d' \
+ -e '/^LAPACKFILES/d' \
+ lib/Makefile || die
+ use mpi && export CC=mpicc CXX=mpicxx FC=mpif77
+ tc-export CC CXX
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ --without-superlu
+ --with-blas-libs="$($(tc-getPKG_CONFIG) --libs-only-l blas | sed -e 's/-l//g')"
+ --with-blas-lib-dirs="$($(tc-getPKG_CONFIG) --libs-only-L blas | sed -e 's/-L//g')"
+ --with-lapack-libs="$($(tc-getPKG_CONFIG) --libs-only-l lapack | sed -e 's/-l//g')"
+ --with-lapack-lib-dirs="$($(tc-getPKG_CONFIG) --libs-only-L lapack | sed -e 's/-L//g')"
+ $(use_enable fortran)
+ $(use_with mpi MPI)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ dolib.so hypre/lib/lib*
+ insinto /usr/include/hypre
+ doins -r hypre/include/*
+
+ use doc && dodoc "${WORKDIR}"/${P}/docs/*.pdf
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/hypre/metadata.xml b/sci-libs/hypre/metadata.xml
new file mode 100644
index 000000000000..a44d7feb10d7
--- /dev/null
+++ b/sci-libs/hypre/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription lang="en">
+ Hypre is a set of matrix preconditioning libraries to aid in the
+ solution of large systems of linear equations.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/idlmarkwardt/Manifest b/sci-libs/idlmarkwardt/Manifest
new file mode 100644
index 000000000000..93c603c6d30c
--- /dev/null
+++ b/sci-libs/idlmarkwardt/Manifest
@@ -0,0 +1,2 @@
+DIST idlmarkwardt-20121110.tar.gz 702827 SHA256 6ad1eb80c83128f0c94c725df1dbaece808fd713d42b5e7849fb1629c4b56e18 SHA512 776d740abd434d3c31f0f5e4dc784e5d42b40d5ddba48758a857b0ed1f877628dcf078eb5136253c12c3b40a8c413879269296eb5a2b6d0554f5433e5994cdc1 WHIRLPOOL fbeb149db62b80ed27661983f340287a3d719505d3344c91d1151337a912d4e53e605560a5bba2ff1fc01733876d49598dfe75a3761caa4c3a7a059bb5e17df7
+DIST idlmarkwardt-20130418.tar.gz 703131 SHA256 b1abe54bf1ca7ce2940abf31ef43cebf838e748be482da1745e2014aa1b94369 SHA512 e93187ffa6c719c9b3b54bf61d5b138abd6c7cc91029b0802b9542c6699c29c3d8ee26e3afeccf10bfabecea36d588cd27031621739ab509e3dfd6c0ade7b4cc WHIRLPOOL b18c5f22a43d270972f1fbfc4b7cd8d7b10a48d3163551015c35a05829adf1d9a6c66fdc88a23331ca4f9b0f0b04a6600ea99bf0828e7d8e5eeccd0860773f8f
diff --git a/sci-libs/idlmarkwardt/idlmarkwardt-20121110.ebuild b/sci-libs/idlmarkwardt/idlmarkwardt-20121110.ebuild
new file mode 100644
index 000000000000..04cb9022e60a
--- /dev/null
+++ b/sci-libs/idlmarkwardt/idlmarkwardt-20121110.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Craig Markwardt IDL procedures (MPFIT, CMSVLIB, etc)"
+HOMEPAGE="http://cow.physics.wisc.edu/~craigm/idl/idl.html"
+SRC_URI="http://www.physics.wisc.edu/~craigm/idl/down/cmtotal.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Markwardt"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+DEPEND=""
+RDEPEND=">=dev-lang/gdl-0.9.2-r1"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/share/gnudatalanguage/${PN}
+ doins *.pro
+ dodoc *README
+}
diff --git a/sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild b/sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild
new file mode 100644
index 000000000000..04cb9022e60a
--- /dev/null
+++ b/sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Craig Markwardt IDL procedures (MPFIT, CMSVLIB, etc)"
+HOMEPAGE="http://cow.physics.wisc.edu/~craigm/idl/idl.html"
+SRC_URI="http://www.physics.wisc.edu/~craigm/idl/down/cmtotal.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Markwardt"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+DEPEND=""
+RDEPEND=">=dev-lang/gdl-0.9.2-r1"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/share/gnudatalanguage/${PN}
+ doins *.pro
+ dodoc *README
+}
diff --git a/sci-libs/idlmarkwardt/metadata.xml b/sci-libs/idlmarkwardt/metadata.xml
new file mode 100644
index 000000000000..9df79792d4b5
--- /dev/null
+++ b/sci-libs/idlmarkwardt/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Library of IDL software procedures that Craig Markwardt is making
+ available to the general public. It contains:
+ * Curve Fitting and Function Minimization
+ * Read and Write SAVE Files
+ * Graphics Programs
+ * Mathematics
+ * Ephemeris and Timing
+ * Array / Set Operations
+ * Input / Output
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/inchi/Manifest b/sci-libs/inchi/Manifest
new file mode 100644
index 000000000000..2bdd0b47645a
--- /dev/null
+++ b/sci-libs/inchi/Manifest
@@ -0,0 +1,2 @@
+DIST inchi-1.04-doc.zip 2128303 SHA256 abede36063e838614aa6ade7f20f386f557a78aefb041e1ba0b736088a6a79bc SHA512 930fe10ac2bae11074b7e47446b5af9c01e2aa55f891d04912c71c76e214871c78cc22b3dafea99b57eede5080ac0cfaa6b6d35a73242c8549bea8ffa86e7df7 WHIRLPOOL 5cb5884dbfc9f2e530deb8be0e35643b0a6af70a5b4e069cd610407fac067261a3282ad9db22651fc2efc313ade78930de10ff165dd709a83880815b89e4a4fd
+DIST inchi-1.04.zip 2701930 SHA256 c187573c0f6a1fcd555393315383bd1f69563ee47bd43c898f17c473b7bb690a SHA512 c5a1c2f08d472fcde603acbd898a9a8880407474869eadf0089444503693ae89ff805c579161cb3ee9d7f18e891289a21c4b8a65cc7ece69ee730f7f4e283be4 WHIRLPOOL 89a7ac2f80a9a87a663934bd0f24af6aed77f51115bf0b4858f66c135f932b67dff7bbffa16999ab79f7ca1358ef716fa5f11cb8756011f7622f6440470c59e4
diff --git a/sci-libs/inchi/files/inchi-1.03-shared.patch b/sci-libs/inchi/files/inchi-1.03-shared.patch
new file mode 100644
index 000000000000..6f4619d86bd9
--- /dev/null
+++ b/sci-libs/inchi/files/inchi-1.03-shared.patch
@@ -0,0 +1,20 @@
+ INCHI_API/gcc_so_makefile/makefile | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/INCHI_API/gcc_so_makefile/makefile b/INCHI_API/gcc_so_makefile/makefile
+index dd8e53c..cd617ad 100644
+--- a/INCHI_API/gcc_so_makefile/makefile
++++ b/INCHI_API/gcc_so_makefile/makefile
+@@ -213,9 +213,11 @@ $(INCHI_LIB_PATHNAME).so$(VERSION): $(INCHI_LIB_OBJS)
+ $(SHARED_LINK) $(SHARED_LINK_PARM) -o \
+ $(INCHI_LIB_PATHNAME).so$(VERSION) \
+ $(INCHI_LIB_OBJS) \
+- -Wl$(LINUX_MAP)$(LINUX_Z_RELRO),-soname,$(INCHI_LIB_NAME).so$(MAIN_VERSION)
++ -Wl$(LINUX_MAP)$(LINUX_Z_RELRO),-soname,$(INCHI_LIB_NAME).so$(MAIN_VERSION) -lm
+ ln -fs $(INCHI_LIB_NAME).so$(VERSION) \
+ $(INCHI_LIB_PATHNAME).so$(MAIN_VERSION)
++ ln -fs $(INCHI_LIB_NAME).so$(VERSION) \
++ $(INCHI_LIB_PATHNAME).so
+
+ endif
+
diff --git a/sci-libs/inchi/files/inchi-1.04-static.patch b/sci-libs/inchi/files/inchi-1.04-static.patch
new file mode 100644
index 000000000000..a367c153824a
--- /dev/null
+++ b/sci-libs/inchi/files/inchi-1.04-static.patch
@@ -0,0 +1,26 @@
+--- INCHI_API/gcc_so_makefile/makefile 2012-05-13 14:52:53.587632989 +0300
++++ INCHI_API/gcc_so_makefile/makefile 2012-05-13 14:52:11.668635419 +0300
+@@ -209,6 +209,14 @@
+
+ else
+
++ifdef STATIC
++
++libinchi.a: $(INCHI_LIB_OBJS)
++ $(AR) rcs $(INCHI_LIB_PATHNAME).a $(INCHI_LIB_OBJS)
++ $(RANLIB) $(INCHI_LIB_PATHNAME).a
++
++else
++
+ $(INCHI_LIB_PATHNAME).so$(VERSION): $(INCHI_LIB_OBJS)
+ $(SHARED_LINK) $(SHARED_LINK_PARM) -o \
+ $(INCHI_LIB_PATHNAME).so$(VERSION) \
+@@ -219,6 +226,8 @@
+
+ endif
+
++endif
++
+ # === InChI Library compile rule =========
+
+ %.o: $(P_LIBR)%.c
diff --git a/sci-libs/inchi/inchi-1.04.ebuild b/sci-libs/inchi/inchi-1.04.ebuild
new file mode 100644
index 000000000000..06370f2fd488
--- /dev/null
+++ b/sci-libs/inchi/inchi-1.04.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A program and library for generating standard and non-standard InChI and InChIKeys"
+HOMEPAGE="http://www.iupac.org/inchi/"
+SRC_URI="
+ http://www.inchi-trust.org/sites/default/files/inchi-${PV}/INCHI-1-API.ZIP -> ${P}.zip
+ doc? ( http://www.inchi-trust.org/sites/default/files/inchi-${PV}/INCHI-1-DOC.ZIP -> ${P}-doc.zip )"
+
+LICENSE="IUPAC-InChi"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+S="${WORKDIR}"/INCHI-1-API
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.03-shared.patch \
+ "${FILESDIR}"/${PN}-1.04-static.patch
+ tc-export AR RANLIB
+}
+
+src_compile() {
+ local dir common_opts
+ common_opts=(
+ C_COMPILER=$(tc-getCC)
+ CPP_COMPILER=$(tc-getCXX)
+ LINKER="$(tc-getCXX) ${LDFLAGS}"
+ SHARED_LINK="$(tc-getCC) ${LDFLAGS} -shared"
+ C_COMPILER_OPTIONS="\${P_INCL} -ansi -DCOMPILE_ANSI_ONLY ${CFLAGS} -c "
+ CPP_COMPILER_OPTIONS="\${P_INCL} -D_LIB -ansi ${CXXFLAGS} -frtti -c "
+ C_OPTIONS="${CFLAGS} -fPIC -c "
+ LINKER_OPTIONS="${LDFLAGS}"
+ CREATE_MAIN=
+ ISLINUX=1
+ )
+ for dir in INCHI/gcc/inchi-1 INCHI_API/gcc_so_makefile; do
+ pushd ${dir} > /dev/null
+ emake \
+ "${common_opts[@]}"
+ popd > /dev/null
+ done
+ if use static-libs ; then
+ pushd INCHI_API/gcc_so_makefile > /dev/null
+ emake libinchi.a \
+ "${common_opts[@]}" \
+ STATIC=1
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ dodoc readme*.txt
+ if use doc ; then
+ cd "${WORKDIR}/INCHI-1-DOC/"
+ docinto doc
+ dodoc *.pdf readme.txt
+ fi
+ dobin "${S}"/INCHI/gcc/inchi-1/inchi-1
+ cd "${S}/INCHI_API/gcc_so_makefile/result" || die
+ rm *gz || die
+ dolib.so lib*so*
+ use static-libs && dolib.a lib*a
+ doheader ../../inchi_main/inchi_api.h
+}
diff --git a/sci-libs/inchi/metadata.xml b/sci-libs/inchi/metadata.xml
new file mode 100644
index 000000000000..a168ded5a2e9
--- /dev/null
+++ b/sci-libs/inchi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <longdescription>
+Program v1.03 implementing IUPAC (Standard) InChI/InChIKey version 1.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/indilib/Manifest b/sci-libs/indilib/Manifest
new file mode 100644
index 000000000000..9b996f98e346
--- /dev/null
+++ b/sci-libs/indilib/Manifest
@@ -0,0 +1,2 @@
+DIST libindi_0.9.9.tar.gz 1275689 SHA256 720b9096baef1489fd7d7d4a236177863a7f7cec86809f21d291b0d9758e4039 SHA512 b905f59252b09cfb79d7b882ce7af8f4bd14d0b22cbff090962cfdd031c78454e5b63e930fc95a2356de5a60355afa3f83b4fa1298db9e7507778d3287df48cd WHIRLPOOL 691b17e6e0a85383b7a34db7e188150ff304579850b2e9389f9ef7c1534a0610b833aa79d12eebc4294d073c3eb3322fb9a3584f9e23a182c8ab7bdf03461b9a
+DIST libindi_1.0.0.tar.gz 1324146 SHA256 15cac006d2ae40214458eec560c52519d724f1e23e0f4641d9154d79a797c638 SHA512 37cf881e2006966f544f970948d001a8f1f0c466537c0bf130af019c929a067ada8a422cc33ff2fc20010ab84968bd01aa3ba10b168ed21f5938e654913f9d90 WHIRLPOOL 420a19c14354dc6a02823df608ba532ce8b7f8dfd158e124b0ca0a7497373e6d159308708bd91946fa459b4c5a58301e1298aceab58ff922f41317aabe75476d
diff --git a/sci-libs/indilib/files/indilib-0.9.8.1-symlinks.patch b/sci-libs/indilib/files/indilib-0.9.8.1-symlinks.patch
new file mode 100644
index 000000000000..51d3223ebf54
--- /dev/null
+++ b/sci-libs/indilib/files/indilib-0.9.8.1-symlinks.patch
@@ -0,0 +1,22 @@
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -242,14 +242,11 @@
+
+ install(TARGETS indi_lx200generic RUNTIME DESTINATION bin )
+
+-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/make_lx200generic_symlink.cmake
+-"exec_program(\"${CMAKE_COMMAND}\" ARGS -E create_symlink ${BIN_INSTALL_DIR}/indi_lx200generic \$ENV{DESTDIR}${BIN_INSTALL_DIR}/indi_lx200classic)\n
+-exec_program(\"${CMAKE_COMMAND}\" ARGS -E create_symlink ${BIN_INSTALL_DIR}/indi_lx200generic \$ENV{DESTDIR}${BIN_INSTALL_DIR}/indi_lx200autostar)\n
+-exec_program(\"${CMAKE_COMMAND}\" ARGS -E create_symlink ${BIN_INSTALL_DIR}/indi_lx200generic \$ENV{DESTDIR}${BIN_INSTALL_DIR}/indi_lx200_16)\n
+-exec_program(\"${CMAKE_COMMAND}\" ARGS -E create_symlink ${BIN_INSTALL_DIR}/indi_lx200generic \$ENV{DESTDIR}${BIN_INSTALL_DIR}/indi_lx200gps)\n
+-exec_program(\"${CMAKE_COMMAND}\" ARGS -E create_symlink ${BIN_INSTALL_DIR}/indi_lx200generic \$ENV{DESTDIR}${BIN_INSTALL_DIR}/indi_lx200ap)\n
+-")
+-set_target_properties(indi_lx200generic PROPERTIES POST_INSTALL_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/make_lx200generic_symlink.cmake)
++install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${BIN_INSTALL_DIR}/indi_lx200generic\" \"\$ENV{DESTDIR}/${BUILD_ROOT}${BIN_INSTALL_DIR}/indi_lx200classic\" )" )
++install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${BIN_INSTALL_DIR}/indi_lx200generic\" \"\$ENV{DESTDIR}/${BUILD_ROOT}${BIN_INSTALL_DIR}/indi_lx200autostar\" )" )
++install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${BIN_INSTALL_DIR}/indi_lx200generic\" \"\$ENV{DESTDIR}/${BUILD_ROOT}${BIN_INSTALL_DIR}/indi_lx200_16\" )" )
++install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${BIN_INSTALL_DIR}/indi_lx200generic\" \"\$ENV{DESTDIR}/${BUILD_ROOT}${BIN_INSTALL_DIR}/indi_lx20gps\" )" )
++install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${BIN_INSTALL_DIR}/indi_lx200generic\" \"\$ENV{DESTDIR}/${BUILD_ROOT}${BIN_INSTALL_DIR}/indi_lx200ap\" )" )
+ #################################################################################
+
+ ########### LX200 Generic Legacy ###########
diff --git a/sci-libs/indilib/indilib-0.9.9.ebuild b/sci-libs/indilib/indilib-0.9.9.ebuild
new file mode 100644
index 000000000000..059a10bf9bf9
--- /dev/null
+++ b/sci-libs/indilib/indilib-0.9.9.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN="lib${PN/lib/}"
+
+inherit cmake-utils udev
+
+DESCRIPTION="INDI Astronomical Control Protocol library"
+HOMEPAGE="http://www.indilib.org/"
+SRC_URI="mirror://sourceforge/${PN/lib/}/${MY_PN}_${PV}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE=""
+
+RDEPEND="
+ sci-libs/cfitsio
+ sci-libs/libnova
+ sci-libs/gsl
+ sys-libs/zlib
+ virtual/jpeg:0
+ virtual/libusb:0
+"
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+"
+
+DOCS=( AUTHORS ChangeLog README TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.8.1-symlinks.patch"
+)
+
+S=${WORKDIR}/${MY_PN}_${PV}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUDEVRULES_INSTALL_DIR=$(get_udevdir)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/indilib/indilib-1.0.0.ebuild b/sci-libs/indilib/indilib-1.0.0.ebuild
new file mode 100644
index 000000000000..59b61470f3f7
--- /dev/null
+++ b/sci-libs/indilib/indilib-1.0.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_PN="lib${PN/lib/}"
+
+inherit cmake-utils udev
+
+DESCRIPTION="INDI Astronomical Control Protocol library"
+HOMEPAGE="http://www.indilib.org/"
+SRC_URI="mirror://sourceforge/${PN/lib/}/${MY_PN}_${PV}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0/1"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE=""
+
+RDEPEND="
+ sci-libs/cfitsio
+ sci-libs/libnova
+ sci-libs/gsl
+ sys-libs/zlib
+ virtual/jpeg:0
+ virtual/libusb:0
+"
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+"
+
+DOCS=( AUTHORS ChangeLog README TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.8.1-symlinks.patch"
+)
+
+S=${WORKDIR}/${MY_PN}-${PV}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUDEVRULES_INSTALL_DIR=$(get_udevdir)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/indilib/metadata.xml b/sci-libs/indilib/metadata.xml
new file mode 100644
index 000000000000..060befd94c1c
--- /dev/null
+++ b/sci-libs/indilib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kde</herd>
+ <upstream>
+ <remote-id type="sourceforge">indi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/io_lib/Manifest b/sci-libs/io_lib/Manifest
new file mode 100644
index 000000000000..d2552c1ebada
--- /dev/null
+++ b/sci-libs/io_lib/Manifest
@@ -0,0 +1,4 @@
+DIST io_lib-1.10.1.tar.gz 254965 SHA256 380c9d584b2c851adcf02c8e40b8ecc86b292245dcb6baf76071766e33ce8c17 SHA512 78cae4cf6836c9ad9e95fe7210e475f1ec61a963065a277236acb815df0c8c08f8afad5f0b984a7f8cd7525aacb6e64119978a32d440b7789235929a5a72f480 WHIRLPOOL 970e6019e2d242847976396137700d7f71290b9011f0af1c64c3efb0c48a4dca48f6a7a510f3acef7cb3c5f25211d829936a927a69b54f43ded976c65e28f697
+DIST io_lib-1.11.2.1.tar.gz 385229 SHA256 5a7b90aec5971286200ebe42bf4105b58476f464d577d5c21245d64870a4596d
+DIST io_lib-1.12.5.tar.gz 782430 SHA256 0bcecddaad5e94f1f9d2e9f2ae37e4303b6e8d0c9f6dabecb6bbebd6816fe80f SHA512 414406fc26e0c991c0390bfa5d28d7682a458efbaa51f58df699665e6ff6f9ac3bda724508bf3b5f5cf666983bc2efec53ff719783fe14f54e79d54ca20158d0 WHIRLPOOL 41dc2264401faa145a64ba5544e85fb02be2418a087561bc966a1fb66267e66e7683f3cfd658428a92b4952e776bd1952eba4e4c69921180afea110a230e4e6d
+DIST io_lib-1.13.2.tar.gz 1579795 SHA256 780b1a52a3d3b96dd92b855623f7085a709978925e4e0eb25a8fc9e56a917df0 SHA512 2192c93a730f5fb6658f75fe6688605c813fcbeef8765d6b372c11a09e746536fdba7fcd20bc95bae3b11dfed0cd1bb52d6dd40cf33747164da91cb94a6ebcf9 WHIRLPOOL 01aedfa2dbe2b7742b901d60c0103b237246a5aa0d67848a503d89690fc94a93af4276f38aa1dfbaa85e58bec60041dc230743e8d6783b37e1df6489baba46e4
diff --git a/sci-libs/io_lib/io_lib-1.10.1.ebuild b/sci-libs/io_lib/io_lib-1.10.1.ebuild
new file mode 100644
index 000000000000..274295cc0487
--- /dev/null
+++ b/sci-libs/io_lib/io_lib-1.10.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="A general purpose trace and experiment file reading/writing interface"
+HOMEPAGE="http://staden.sourceforge.net/"
+SRC_URI="mirror://sourceforge/staden/${P}.tar.gz"
+LICENSE="staden"
+
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ~ppc ~sparc x86"
+IUSE=""
+
+# Prototype changes in io_lib-1.9.0 create incompatibilities with BioPerl. (Only
+# versions 1.8.11 and 1.8.12 will work with the BioPerl Staden extensions.)
+DEPEND="!sci-biology/bioperl"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ make install DESTDIR="${D}" || die
+
+ dodoc CHANGES README || die "Failed to install documentation."
+}
diff --git a/sci-libs/io_lib/io_lib-1.11.2.1.ebuild b/sci-libs/io_lib/io_lib-1.11.2.1.ebuild
new file mode 100644
index 000000000000..0a2908ea3423
--- /dev/null
+++ b/sci-libs/io_lib/io_lib-1.11.2.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DESCRIPTION="A general purpose trace and experiment file reading/writing interface"
+HOMEPAGE="http://staden.sourceforge.net/"
+SRC_URI="mirror://sourceforge/staden/${P}.tar.gz"
+LICENSE="staden"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE=""
+
+# Prototype changes in io_lib-1.9.0 create incompatibilities with BioPerl. (Only
+# versions 1.8.11 and 1.8.12 will work with the BioPerl Staden extensions.)
+DEPEND="!sci-biology/bioperl"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-1.11.2"
+
+src_install() {
+ make install DESTDIR="${D}" || die
+
+ dodoc ChangeLog CHANGES README docs/{Hash_File_Format,ZTR_format} || \
+ die "Failed to install documentation."
+}
diff --git a/sci-libs/io_lib/io_lib-1.12.5.ebuild b/sci-libs/io_lib/io_lib-1.12.5.ebuild
new file mode 100644
index 000000000000..de54782ff1d7
--- /dev/null
+++ b/sci-libs/io_lib/io_lib-1.12.5.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="General purpose trace and experiment file reading/writing interface"
+HOMEPAGE="http://staden.sourceforge.net/"
+SRC_URI="mirror://sourceforge/staden/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+# needs stadden, not in portage
+RESTRICT=test
+# Prototype changes in io_lib-1.9.0 create incompatibilities with BioPerl. (Only
+# versions 1.8.11 and 1.8.12 will work with the BioPerl Staden extensions.)
+#DEPEND="!sci-biology/bioperl"
+DEPEND="net-misc/curl
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ dodoc docs/{Hash_File_Format,ZTR_format}
+}
diff --git a/sci-libs/io_lib/io_lib-1.13.2.ebuild b/sci-libs/io_lib/io_lib-1.13.2.ebuild
new file mode 100644
index 000000000000..d4af8038ef82
--- /dev/null
+++ b/sci-libs/io_lib/io_lib-1.13.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="General purpose trace and experiment file reading/writing interface"
+HOMEPAGE="http://staden.sourceforge.net/"
+SRC_URI="mirror://sourceforge/staden/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+# needs stadden, not in portage
+RESTRICT=test
+# Prototype changes in io_lib-1.9.0 create incompatibilities with BioPerl. (Only
+# versions 1.8.11 and 1.8.12 will work with the BioPerl Staden extensions.)
+#DEPEND="!sci-biology/bioperl"
+DEPEND="
+ net-misc/curl
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ autotools-utils_src_install
+ dodoc docs/{Hash_File_Format,ZTR_format}
+}
diff --git a/sci-libs/io_lib/metadata.xml b/sci-libs/io_lib/metadata.xml
new file mode 100644
index 000000000000..637e1320bb63
--- /dev/null
+++ b/sci-libs/io_lib/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription>
+ io_lib is a library of file reading and writing code to provide a
+ general purpose trace file (and Experiment File) reading interface. The
+ programmer simply calls the (eg) read_reading to create a "Read" C structure
+ with the data loaded into memory.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">staden</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/ipopt/Manifest b/sci-libs/ipopt/Manifest
new file mode 100644
index 000000000000..65bef13f8587
--- /dev/null
+++ b/sci-libs/ipopt/Manifest
@@ -0,0 +1,2 @@
+DIST Ipopt-3.11.7.tgz 4749511 SHA256 c276555cf913cf9cb32d9b0e4faabc2a21d34b52baf8da132d29f3541323739a SHA512 a9edd33b59c9744dc4e09d709519be1fc3d014cc4f50254402784aa8035d21617323f2879c430245886f2a13165cc81d26779331dc1601f0edfc406953dca56f WHIRLPOOL 709eefc5fd6ec43bbb343bc91ba4f0289e9963b931a3d70d36b3b3cadcb41b5ee01da6e6d743d781fb91bb789fcf45a424d5109291074695019027ff76bba9b1
+DIST Ipopt-3.11.8.tgz 4749758 SHA256 9f9b76075fbd9315286ea4d7c159c94cab4a4fb16122fb172b24910af5b5b75b SHA512 1f60ea769dd7305348af3a5d4ed56938f04e59c36fb7a3fa0b808e4788dccee4711f82c3767e2aae87d21618d2a840d0bb22491c21c40bc2f9ebdf4b3a01aeec WHIRLPOOL a8022439d3509a2d1c7cf7c9c1c97d2ddda6baae948c3628c14a1eae622069ca090647c2e4051ca330d767bc09da7d908005bfb5b021e3277ee4bc1294f33019
diff --git a/sci-libs/ipopt/ipopt-3.11.7.ebuild b/sci-libs/ipopt/ipopt-3.11.7.ebuild
new file mode 100644
index 000000000000..705ce63cc162
--- /dev/null
+++ b/sci-libs/ipopt/ipopt-3.11.7.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=yes
+FORTRAN_NEEDED="mumps"
+inherit eutils autotools-utils multilib toolchain-funcs fortran-2
+
+MYPN=Ipopt
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="Interior-Point Optimizer for large-scale nonlinear optimization"
+HOMEPAGE="https://projects.coin-or.org/Ipopt/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYP}.tgz"
+
+LICENSE="EPL-1.0 hsl? ( HSL )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples hsl lapack mpi mumps static-libs test"
+
+RDEPEND="
+ virtual/blas
+ hsl? ( sci-libs/coinhsl )
+ lapack? ( virtual/lapack )
+ mumps? ( sci-libs/mumps[mpi=] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample sci-libs/mumps )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ if use mumps && ! use mpi; then
+ ln -s "${EPREFIX}"/usr/include/mpiseq/mpi.h \
+ src/Algorithm/LinearSolvers/
+ elif use mpi; then
+ export CXX=mpicxx FC=mpif77 F77=mpif77 CC=mpicc
+ fi
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-blas-lib="$($(tc-getPKG_CONFIG) --libs blas)"
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+
+ if use lapack; then
+ myeconfargs+=( --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" )
+ else
+ myeconfargs+=( --without-lapack )
+ fi
+ if use mumps; then
+ myeconfargs+=(
+ --with-mumps-incdir="${EPREFIX}"/usr/include
+ --with-mumps-lib="-lmumps_common -ldmumps -lzmumps -lsmumps -lcmumps" )
+ else
+ myeconfargs+=( --without-mumps )
+ fi
+ if use hsl; then
+ myeconfargs+=(
+ --with-hsl-incdir="${EPREFIX}"/usr/include
+ --with-hsl-lib="$($(tc-getPKG_CONFIG) --libs coinhsl)" )
+ else
+ myeconfargs+=( --without-hsl )
+ fi
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(use doc && echo doxydoc)
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${AUTOTOOLS_BUILD_DIR}/doxydocs/html/")
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/ipopt/ipopt-3.11.8.ebuild b/sci-libs/ipopt/ipopt-3.11.8.ebuild
new file mode 100644
index 000000000000..052d128e8574
--- /dev/null
+++ b/sci-libs/ipopt/ipopt-3.11.8.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_IN_SOURCE_BUILD=yes
+FORTRAN_NEEDED="mumps"
+
+inherit eutils autotools-utils multilib toolchain-funcs fortran-2
+
+MYPN=Ipopt
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="Interior-Point Optimizer for large-scale nonlinear optimization"
+HOMEPAGE="https://projects.coin-or.org/Ipopt/"
+SRC_URI="http://www.coin-or.org/download/source/${MYPN}/${MYP}.tgz"
+
+LICENSE="EPL-1.0 hsl? ( HSL )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples hsl lapack mpi mumps static-libs test"
+
+RDEPEND="
+ virtual/blas
+ hsl? ( sci-libs/coinhsl:0= )
+ lapack? ( virtual/lapack )
+ mumps? ( sci-libs/mumps:0=[mpi=] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ test? ( sci-libs/coinor-sample sci-libs/mumps )"
+
+S="${WORKDIR}/${MYPN}-${PV}/${MYPN}"
+
+src_prepare() {
+ if use mumps && ! use mpi; then
+ ln -s "${EPREFIX}"/usr/include/mpiseq/mpi.h \
+ src/Algorithm/LinearSolvers/
+ elif use mpi; then
+ export CXX=mpicxx FC=mpif77 F77=mpif77 CC=mpicc
+ fi
+ sed -i \
+ -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ configure || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # needed for the --with-coin-instdir
+ dodir /usr
+ local myeconfargs=(
+ --enable-dependency-linking
+ --with-blas-lib="$($(tc-getPKG_CONFIG) --libs blas)"
+ --with-coin-instdir="${ED}"/usr
+ $(use_with doc dot)
+ )
+
+ if use lapack; then
+ myeconfargs+=( --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" )
+ else
+ myeconfargs+=( --without-lapack )
+ fi
+ if use mumps; then
+ myeconfargs+=(
+ --with-mumps-incdir="${EPREFIX}"/usr/include
+ --with-mumps-lib="-lmumps_common -ldmumps -lzmumps -lsmumps -lcmumps" )
+ else
+ myeconfargs+=( --without-mumps )
+ fi
+ if use hsl; then
+ myeconfargs+=(
+ --with-hsl-incdir="${EPREFIX}"/usr/include
+ --with-hsl-lib="$($(tc-getPKG_CONFIG) --libs coinhsl)" )
+ else
+ myeconfargs+=( --without-hsl )
+ fi
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile all $(use doc && echo doxydoc)
+}
+
+src_test() {
+ autotools-utils_src_test test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${AUTOTOOLS_BUILD_DIR}/doxydocs/html/")
+ autotools-utils_src_install
+ # already installed
+ rm "${ED}"/usr/share/coin/doc/${MYPN}/{README,AUTHORS,LICENSE} || die
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/ipopt/metadata.xml b/sci-libs/ipopt/metadata.xml
new file mode 100644
index 000000000000..9b75b46f459c
--- /dev/null
+++ b/sci-libs/ipopt/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Ipopt is a solver for large-scale nonlinear continuous
+ optimization. It can be used from modeling environments, such as
+ AMPL, GAMS, or Matlab, and it is also available as a callable library with
+ interfaces to C++, C, and Fortran. Ipopt uses an interior point
+ method, together with a filter linear search procedure. Ipopt is
+ part of the larger COIN-OR initiative (Computational Infrastructure
+ for Operations Research).
+</longdescription>
+<use>
+ <flag name="hsl">hsl</flag>
+ <flag name="mumps">Enable <pkg>sci-libs/mumps</pkg> support</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/ipp/Manifest b/sci-libs/ipp/Manifest
new file mode 100644
index 000000000000..d731c6d23eaf
--- /dev/null
+++ b/sci-libs/ipp/Manifest
@@ -0,0 +1,16 @@
+DIST parallel_studio_xe_2013.tgz 2097190124 SHA256 22ac8d6dd1bf9fd646c1d1322c0a9051b89b6dba975112d492cccd8359f8dc0a SHA512 d49c519c0b2f82e6fc0db6820d5f84999d2a973d8caa0e103c0ad355644f52d209147a2b3a884effad9bbae117bd9ebbad4869f5440009355ffacb65cae274fa WHIRLPOOL bb5f05ceeae39f794dcd6c4fafafb2e5ebf8e5332083f7eaf357dddb9b2a1e94f52f82f850a8b0aefe1920f2fd21be67bfa8aafa9590707e25e84e9f2be07bd5
+DIST parallel_studio_xe_2013_ia32.tgz 1161979592 SHA256 3f0ff2ece4cfc5ec3d7c2fddefeda2b55b1295a0d62440c172a14d8e60b7b551 SHA512 9818d0e8ee1f36527f5899480381c252528274248974001f136e7aecc196ab4a049aeabed5835c18f0b08153d3a36a7fc8d850aec455bb9b5f71d95d17dc161e WHIRLPOOL 2772bb70b968f765af1c47ecb11a9e0b0220890ed37d0a81cb911f9ec43dda8cbdd85f3b0cacf1b1794ca239684f3381e54bada668b0b4a40244da684c3b04a5
+DIST parallel_studio_xe_2013_intel64.tgz 1448188683 SHA256 6d3f5a635e86bc6d71d970458d746df8f4f239e8892347d76b4eda18946048f3 SHA512 679abcb2089fc9570bad0fe8b7dd6aeb0e13831f2f79e485ce150e593e7c0d2c8c25c03520124261291f0fa418a9b873e86a81b6962ad8bbae60bc2acbc594b6 WHIRLPOOL 85ee892aac2691375edf4624842a6931b3eaab34be64b97282c025810cb2db4ea05426263af5249525724d3437da6337189e6a4af6a1efc8f7713a854b8e4ce1
+DIST parallel_studio_xe_2013_sp1.tgz 3294385739 SHA256 ba65fdf7afbac0276a948ef8d4e1578297a0115548d5f3465c7ed4012030f696 SHA512 ee7995d39b604de6fed0bb87535c48666ca9ffa13975b6adcce170d746f2ee648b5c4a428ed8ef196226f204b3b17a833f379ab4fa57b4a1ebe7c89cc899ea66 WHIRLPOOL 213c8261c161df80732d958bf9e13a286aca2dd6ce16be30fee92d626051bc855c4a1ffe82b12f1bf9095771ca5b128463d839c14748d086b50527e7d09b76a7
+DIST parallel_studio_xe_2013_update1.tgz 2148568608 SHA256 870a9909e661aa75738c2d0851f7554c56696c40db2266ddd21fd6c5c6ae0986 SHA512 ce1b32be3e4efbedc43f17e0930e0c67d55129d756b7168e51a9a956c510df7e5c194a02813e42931ef21acbc1f07a6ecda0b79074c879281ddbd7e5da055400 WHIRLPOOL 059f2f27590079907bbc202dfe81a3900018133d46a28d383dd3960c247019b49e4cf767e90601ed11a8194a4c370269b831c9c780ee90b8d4104668cda0f4b0
+DIST parallel_studio_xe_2013_update1_ia32.tgz 1208336795 SHA256 e1e2ac8e1cf559a539aec1b9ab06b71d041e986bba6db69cbb5025ecaee90e89 SHA512 76e23d359ae8698496b605e006c3038a8e4bd38f15369fdb95e436279c60d41a1d14d74763459d5aead321fd3b4601ef527d674af87170bab7911d5338595b30 WHIRLPOOL b93e8a8ce5f1e3487c187d6c2cd835836abc03bbae19b7376910ea713da9efabb5703449ca397bd10c92334ff0c6fcc8e4674898e695479e13c6d9223e2b52c5
+DIST parallel_studio_xe_2013_update1_intel64.tgz 1493318875 SHA256 f39f63df9d0fc150643c753fcfdb788a75db64e266adca06bcf4f084f3210808 SHA512 d5524a89fbb327a61b7d983dfca8caedf904234c09a934373c38024b4af9955063c4c5c1895eff9b66de3c14d9d401a86634cef7cd80f923fc9196366cfc7a7e WHIRLPOOL 3d0294ab0d4daba28462066cbe8d46772192e55d0b6648202f9f85f49a6cf4ff90a999566b3575fd988df8afefb1cabc1a8146c16fe170c449253659f7b43805
+DIST parallel_studio_xe_2013_update2.tgz 2152945149 SHA256 e8ddf6141f7d84c1f242891fabe0882c40269c358c0b946fee22ee6caa37121c SHA512 633370f58bd9fc14140912d5b3dd251ca4819a926b004a8053f92c83de6f9fdfdad192b425c5224d8b5aee47042a1a99d49628e6e2bb53e623ae429eefcfaac4 WHIRLPOOL 5b4a7c0c9cab758885ccffab25f1aaf64a6f5576d02df81a4797a2b9ae2151efb5e564e43397a2b61040d4af66024107a5a9c537982d3e17723655414dcba166
+DIST parallel_studio_xe_2013_update2_ia32.tgz 1190613262 SHA256 13063ea9c47c781ea8f368566d328434351002e7321b2021b5f04ff741a5d55f SHA512 1488a1b8c9b84881041ccf42d9f856d44aa0654ce3171b0f92114a3408d8cb1f1a18a6d488db6bbfd7322d5a230748612b53378b6ac01b8b7b3e66b3b8f94333 WHIRLPOOL f7d2b307d2f4e226004ddfcf073db087fff6d68e94f849e85350dc18894db884b62362bb3929076fdd531e29f5c49e2cd94eba8685b13fc52e293226516d909d
+DIST parallel_studio_xe_2013_update2_intel64.tgz 1488277925 SHA256 6136774de466de19f4024eeb5a8176ffbf559143b048fecc83848c27008361d6 SHA512 8260ab223d9a959089ae66c8948d90ce119cceeb719ef18c1a9d258ccd77e9b6a67af1a3e203d96a1c3c774def9a6fc302c126001072b7c5aa2bb3cdc68bc4dd WHIRLPOOL 006dc0e925c8265abf174682cd54f2c2fc4c4f1e059e045407d523b3e3b659cadc47da005126236a8b01b882fd0b4dfa7dadce0c52f640d5c0ada8122a9d6d08
+DIST parallel_studio_xe_2013_update4.tgz 2184817121 SHA256 55d549fc34f7a9eb96951c7be3216b68f9f960edfdc0997cf8dcffe5c78d66c8 SHA512 84ea227fdca2c427996b0c4d17a0bad6c289a6fbfc267c19f54ebee875e11e6e8d14bb3103599e3b89331c34a153b0a63a5ca8c12f4619420f78f8c4b0c2da96 WHIRLPOOL 6bedfdbcad7f0d7ad4681d51ad865db247d5f264f5fa33e7136fc64c5e83eee30bb2611f39bd7f31b790432e314a7dbea755297ae3fd2b90ccecb7beffb20d79
+DIST parallel_studio_xe_2013_update4_ia32.tgz 1220177902 SHA256 5bd75b2747f4b787b8128a83914b060d156ecdc41236f4100363b7ab4f9f6859 SHA512 968db307e08cd31450200abd41ade1f2b2855f4b5cb19911d03c1cd357cab11cbba814db354452496fcf66fc3fad1423b24f428bd4db07402f12bd63e4d34247 WHIRLPOOL f2b03ebb78960718a15fc69be814eeb7996fdd7575720f4b09cb915086cc757fea188ef5ceb7e37ed00c995e11ae544d8bd55aba8ab2d12530e26b3d23362f3e
+DIST parallel_studio_xe_2013_update4_intel64.tgz 1520767493 SHA256 31383f357b9b7d9c76e727e63427387d9ee42358f5b5df75a0d8766cd318a11d SHA512 497ad8f3473e1d11cdd31dff340a8e6ec1f012e731def084b2072146b5d11db906f85ace53b2223c3fbef949222f73f36783fd697eb7809464f4403c0ac8744a WHIRLPOOL d08447f27aee0f088797968d541fe98e3813a1daf5b87024d37493663238594c3e4e75a8d9636a4059191782f5eae9065d45b7ad2c27e1f73fc74eb110ad399f
+DIST parallel_studio_xe_2015.tgz 3819862086 SHA256 31abe447b1db457b38547dfbf0fd7e434cb45d5734892ec3ef95ef5f4d2f8ae2 SHA512 889844fe067d1b1095283686f1b1657aab2bbda2a7e9014aec88a0ef1af8c8a0e1da3a4414600d4b450b2a1b4b13496b5165e495ccdf3187c27f58eaff07b13b WHIRLPOOL c2be966c8910d8995b845e25d60ceb700bfe9bc78daf60e97fd016de6e1abc60bb0f4fe33e2cd7c8960ebbf1540d418524414a351ed9256a80cdee4e29166961
+DIST parallel_studio_xe_2015_update2.tgz 4145283363 SHA256 8cbde4d4fb3bbfcc5096d5d924953121ca84e9a9bee7b00dfd07c029c1a89943 SHA512 1166eaa41c881059673dbf51194cf800fbc94a1080fc9eebbacc20cd762c3b2e92f83191cb1cdacc50da0c8522524b7132d269fc2a91615ba4fbda5c63cb7a47 WHIRLPOOL 95e93fc964f0ddbd81e87d3c8083adea3f8ab82fc0668dc00b10154ba8911bd50d07be9d2130a1b27c7ea66e5208e172055df4fee69f336ae777d629ca7874d4
+DIST parallel_studio_xe_2015_update3.tgz 4156836825 SHA256 ab7169989c87bbb0fe66221cb7eb3a26b17c8b9ceff38f1926e5607834306896 SHA512 eccc2bfe85ccd039a2ec9e334d370e49d43baa0522d095c087a5982aa08bddb4c97bfc3125bd09f5cd57d3ed252c598012e1f2670b8373a1b3bb455825d18f96 WHIRLPOOL d1fd8d1e46ce35150357a9452f04529d8a1f7e915e50a5d714895184aa37fb61186a5455e89b4750f444f0f6da94563e493d0821c661378551c3739f8d27d7b9
diff --git a/sci-libs/ipp/ipp-7.1.0.079.ebuild b/sci-libs/ipp/ipp-7.1.0.079.ebuild
new file mode 100644
index 000000000000..7b22a4816300
--- /dev/null
+++ b/sci-libs/ipp/ipp-7.1.0.079.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2749
+INTEL_DPV=2013
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-13"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=3000M
+
+INTEL_BIN_RPMS="ipp ipp-devel"
+INTEL_DAT_RPMS="ipp-common"
diff --git a/sci-libs/ipp/ipp-7.1.1.117.ebuild b/sci-libs/ipp/ipp-7.1.1.117.ebuild
new file mode 100644
index 000000000000..f35118d4d0fb
--- /dev/null
+++ b/sci-libs/ipp/ipp-7.1.1.117.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2872
+INTEL_DPV=2013_update1
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-13"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=3000M
+
+INTEL_BIN_RPMS="ipp ipp-devel"
+INTEL_DAT_RPMS="ipp-common"
diff --git a/sci-libs/ipp/ipp-7.1.1.146.ebuild b/sci-libs/ipp/ipp-7.1.1.146.ebuild
new file mode 100644
index 000000000000..61b6516fc4e6
--- /dev/null
+++ b/sci-libs/ipp/ipp-7.1.1.146.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=2987
+INTEL_DPV=2013_update2
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-13.1"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=3000M
+
+INTEL_BIN_RPMS="ipp ipp-devel"
+INTEL_DAT_RPMS="ipp-common"
+
+INTEL_SKIP_LICENSE=true
diff --git a/sci-libs/ipp/ipp-7.1.1.192.ebuild b/sci-libs/ipp/ipp-7.1.1.192.ebuild
new file mode 100644
index 000000000000..0676ae904fde
--- /dev/null
+++ b/sci-libs/ipp/ipp-7.1.1.192.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=3266
+INTEL_DPV=2013_update4
+INTEL_SUBDIR=composerxe
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-13.1"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=3000M
+
+INTEL_BIN_RPMS="ipp ipp-devel"
+INTEL_DAT_RPMS="ipp-common"
+
+INTEL_SKIP_LICENSE=true
diff --git a/sci-libs/ipp/ipp-8.0.1.080.ebuild b/sci-libs/ipp/ipp-8.0.1.080.ebuild
new file mode 100644
index 000000000000..66e32612bd24
--- /dev/null
+++ b/sci-libs/ipp/ipp-8.0.1.080.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=3447
+INTEL_DPV=2013_sp1
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-13.1"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=8000M
+
+INTEL_BIN_RPMS="ipp-common-devel ipp-mt ipp-mt-devel ipp-perftest ipp-perftest-devel ipp-st ipp-st-devel"
+INTEL_DAT_RPMS="ipp-common"
+
+INTEL_SKIP_LICENSE=true
diff --git a/sci-libs/ipp/ipp-8.2.0.090.ebuild b/sci-libs/ipp/ipp-8.2.0.090.ebuild
new file mode 100644
index 000000000000..565aa1e18ff1
--- /dev/null
+++ b/sci-libs/ipp/ipp-8.2.0.090.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=4584
+INTEL_DPV=2015
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-15"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=6400M
+
+INTEL_BIN_RPMS=( ipp-{ac,di,gen,jp,mt,mt-devel,mx,rr,sc,st,st-devel,vc} )
+INTEL_DAT_RPMS=( ipp-common ipp-{ac,di,gen,jp,mx,rr,sc,st-devel,vc}-common )
+
+INTEL_SKIP_LICENSE=true
diff --git a/sci-libs/ipp/ipp-8.2.1.164.ebuild b/sci-libs/ipp/ipp-8.2.1.164.ebuild
new file mode 100644
index 000000000000..c2b1baa10d5d
--- /dev/null
+++ b/sci-libs/ipp/ipp-8.2.1.164.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=5207
+INTEL_DPV=2015_update2
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-15"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=6400M
+
+INTEL_BIN_RPMS=( ipp-{ac,di,gen,jp,mt,mt-devel,mx,rr,sc,st,st-devel,vc} )
+INTEL_DAT_RPMS=( ipp-common ipp-{ac,di,gen,jp,mx,rr,sc,st-devel,vc}-common )
+
+INTEL_SKIP_LICENSE=true
diff --git a/sci-libs/ipp/ipp-8.2.2.187.ebuild b/sci-libs/ipp/ipp-8.2.2.187.ebuild
new file mode 100644
index 000000000000..ba4ebdfa14bd
--- /dev/null
+++ b/sci-libs/ipp/ipp-8.2.2.187.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=7538
+INTEL_DPV=2015_update3
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp
+
+DESCRIPTION="Intel Integrated Performance Primitive library for multimedia and data processing"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-ipp/"
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/intel-common-15"
+DEPEND=""
+
+CHECKREQS_DISK_BUILD=6400M
+
+INTEL_BIN_RPMS=( ipp-{ac,di,gen,jp,mt,mt-devel,mx,rr,sc,st,st-devel,vc} )
+INTEL_DAT_RPMS=( ipp-common ipp-{ac,di,gen,jp,mx,rr,sc,st-devel,vc}-common )
+
+INTEL_SKIP_LICENSE=true
diff --git a/sci-libs/ipp/metadata.xml b/sci-libs/ipp/metadata.xml
new file mode 100644
index 000000000000..b4c1f331a246
--- /dev/null
+++ b/sci-libs/ipp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Intel(R) Integrated Performance Primitives (Intel(R) IPP) is a
+ library of multi-core-ready, optimized software functions for
+ multimedia data processing, and communications applications.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/itpp/Manifest b/sci-libs/itpp/Manifest
new file mode 100644
index 000000000000..9cead3b0979a
--- /dev/null
+++ b/sci-libs/itpp/Manifest
@@ -0,0 +1,3 @@
+DIST itpp-4.2.tar.bz2 1050157 SHA256 732c7de212dddfd8669ef3e4d164d5d9a2f81302f3921ddd0176cfa8c49c556c SHA512 319296c5d929201fcdfb32ad59b3304d3620d921c1d08feb1d138fecb37305f71f825b4fc45d563ba817eb6ac92fb9223c32d4260013ef1d30a2e1e8edf52a2f WHIRLPOOL 4af9e5326b9a94013c173d650ac5c92105e21731ef6398e707808219831158bd995060a860d31d6874a56b96123bb5e646600f45ee6f4fb185d3e9c1b349ddc7
+DIST itpp-4.3.0.tar.bz2 1196432 SHA256 009b38929eef60be12abd6f516da535d9ea01872cd4b8ec537cfe40311ad5f64 SHA512 e2ad944cdb1325676465920d692577f86885252f9e9eb068084b0edaca17dffd33793e5c502572c21f77b47f8d8f45522ea6a945eb5548553305ab23904a04fa WHIRLPOOL 87a823313363806e894297f23b20bb0cdc11e72cf3388d25cf57c27820793f7c5c41e4a593a954dc431d2f473052defc5bedbdc9e547830d5ceb54f31cb0e6b0
+DIST itpp-4.3.1.tar.bz2 1289687 SHA256 50717621c5dfb5ed22f8492f8af32b17776e6e06641dfe3a3a8f82c8d353b877 SHA512 b46d048fa7f33e80d2291a5e38e205c159791ea200f92c70d69e8ad8447ac2f0c847fece566a99af739853a1643cb16e226b4200c8bf115417f324e6d38c66bd WHIRLPOOL e4791babcdb9e874a29b8f628af000e93fc316a7da0199713e7b840317d1b1109e4350c7582a3f88db3fe8be03ff8ee93b40712b77f61faa155acc668f39c0e0
diff --git a/sci-libs/itpp/files/itpp-4.0.6-gcc44.patch b/sci-libs/itpp/files/itpp-4.0.6-gcc44.patch
new file mode 100644
index 000000000000..6514363a4b48
--- /dev/null
+++ b/sci-libs/itpp/files/itpp-4.0.6-gcc44.patch
@@ -0,0 +1,60 @@
+diff -ur itpp-4.0.6.orig/itpp/base/timing.cpp itpp-4.0.6/itpp/base/timing.cpp
+--- itpp-4.0.6.orig/itpp/base/timing.cpp 2008-10-08 14:52:24.000000000 +0300
++++ itpp-4.0.6/itpp/base/timing.cpp 2009-07-30 10:32:45.000000000 +0300
+@@ -27,6 +27,8 @@
+ * -------------------------------------------------------------------------
+ */
+
++#include <cstdio>
++
+ #ifndef _MSC_VER
+ # include <itpp/config.h>
+ #else
+diff -ur itpp-4.0.6.orig/itpp/base/vec.cpp itpp-4.0.6/itpp/base/vec.cpp
+--- itpp-4.0.6.orig/itpp/base/vec.cpp 2008-10-08 14:52:24.000000000 +0300
++++ itpp-4.0.6/itpp/base/vec.cpp 2009-07-30 10:35:45.000000000 +0300
+@@ -27,6 +27,8 @@
+ * -------------------------------------------------------------------------
+ */
+
++#include <cstdio>
++
+ #include <itpp/base/vec.h>
+ #include <itpp/base/converters.h>
+ #include <limits>
+diff -ur itpp-4.0.6.orig/itpp/fixed/cfix.cpp itpp-4.0.6/itpp/fixed/cfix.cpp
+--- itpp-4.0.6.orig/itpp/fixed/cfix.cpp 2008-10-08 14:52:24.000000000 +0300
++++ itpp-4.0.6/itpp/fixed/cfix.cpp 2009-07-30 10:37:21.000000000 +0300
+@@ -27,6 +27,8 @@
+ * -------------------------------------------------------------------------
+ */
+
++#include <cstdio>
++
+ #include <itpp/fixed/cfix.h>
+ #include <itpp/base/itassert.h>
+ #include <iostream>
+diff -ur itpp-4.0.6.orig/itpp/fixed/fix.cpp itpp-4.0.6/itpp/fixed/fix.cpp
+--- itpp-4.0.6.orig/itpp/fixed/fix.cpp 2008-10-08 14:52:24.000000000 +0300
++++ itpp-4.0.6/itpp/fixed/fix.cpp 2009-07-30 10:37:39.000000000 +0300
+@@ -27,6 +27,8 @@
+ * -------------------------------------------------------------------------
+ */
+
++#include <cstdio>
++
+ #include <itpp/fixed/fix.h>
+ #include <itpp/base/itassert.h>
+ #include <iostream>
+diff -ur itpp-4.0.6.orig/itpp/fixed/fixed.cpp itpp-4.0.6/itpp/fixed/fixed.cpp
+--- itpp-4.0.6.orig/itpp/fixed/fixed.cpp 2008-10-08 14:52:24.000000000 +0300
++++ itpp-4.0.6/itpp/fixed/fixed.cpp 2009-07-30 10:37:03.000000000 +0300
+@@ -27,6 +27,8 @@
+ * -------------------------------------------------------------------------
+ */
+
++#include <cstdio>
++
+ #include <itpp/fixed/fixed.h>
+
+
diff --git a/sci-libs/itpp/files/itpp-4.0.7-fastica-fix-endless-loop.patch b/sci-libs/itpp/files/itpp-4.0.7-fastica-fix-endless-loop.patch
new file mode 100644
index 000000000000..8d232a421d64
--- /dev/null
+++ b/sci-libs/itpp/files/itpp-4.0.7-fastica-fix-endless-loop.patch
@@ -0,0 +1,93 @@
+diff -ru libitpp-4.0.7/itpp/signal/fastica.cpp libitpp-4.0.7.patched/itpp/signal/fastica.cpp
+--- libitpp-4.0.7/itpp/signal/fastica.cpp 2009-12-27 01:38:47.000000000 +0100
++++ libitpp-4.0.7.patched/itpp/signal/fastica.cpp 2010-07-08 16:32:04.000000000 +0200
+@@ -90,7 +90,7 @@
+ static mat mpower(const mat A, const double y);
+ static ivec getSamples(const int max, const double percentage);
+ static vec sumcol(const mat A);
+-static void fpica(const mat X, const mat whiteningMatrix, const mat dewhiteningMatrix, const int approach, const int numOfIC, const int g, const int finetune, const double a1, const double a2, double myy, const int stabilization, const double epsilon, const int maxNumIterations, const int maxFinetune, const int initState, mat guess, double sampleSize, mat & A, mat & W);
++static bool fpica(const mat X, const mat whiteningMatrix, const mat dewhiteningMatrix, const int approach, const int numOfIC, const int g, const int finetune, const double a1, const double a2, double myy, const int stabilization, const double epsilon, const int maxNumIterations, const int maxFinetune, const int initState, mat guess, double sampleSize, mat & A, mat & W);
+ /*! @} */
+
+ namespace itpp
+@@ -124,7 +124,7 @@
+ }
+
+ // Call main function
+-void Fast_ICA::separate(void)
++bool Fast_ICA::separate(void)
+ {
+
+ int Dim = numOfIC;
+@@ -159,13 +159,14 @@
+
+ }
+
++ bool result = true;
+ if (PCAonly == false) {
+
+ Dim = whitesig.rows();
+
+ if (numOfIC > Dim) numOfIC = Dim;
+
+- fpica(whitesig, whiteningMatrix, dewhiteningMatrix, approach, numOfIC, g, finetune, a1, a2, mu, stabilization, epsilon, maxNumIterations, maxFineTune, initState, guess, sampleSize, A, W);
++ result = fpica(whitesig, whiteningMatrix, dewhiteningMatrix, approach, numOfIC, g, finetune, a1, a2, mu, stabilization, epsilon, maxNumIterations, maxFineTune, initState, guess, sampleSize, A, W);
+
+ icasig = W * mixedSig;
+
+@@ -174,6 +175,7 @@
+ else { // PCA only : returns E as IcaSig
+ icasig = VecPr;
+ }
++ return result;
+ }
+
+ void Fast_ICA::set_approach(int in_approach) { approach = in_approach; if (approach == FICA_APPROACH_DEFL) finetune = true; }
+@@ -437,7 +439,7 @@
+
+ }
+
+-static void fpica(const mat X, const mat whiteningMatrix, const mat dewhiteningMatrix, const int approach, const int numOfIC, const int g, const int finetune, const double a1, const double a2, double myy, const int stabilization, const double epsilon, const int maxNumIterations, const int maxFinetune, const int initState, mat guess, double sampleSize, mat & A, mat & W)
++static bool fpica(const mat X, const mat whiteningMatrix, const mat dewhiteningMatrix, const int approach, const int numOfIC, const int g, const int finetune, const double a1, const double a2, double myy, const int stabilization, const double epsilon, const int maxNumIterations, const int maxFinetune, const int initState, mat guess, double sampleSize, mat & A, mat & W)
+ {
+
+ int vectorSize = X.rows();
+@@ -511,7 +513,7 @@
+ A = dewhiteningMatrix * B;
+ W = transpose(B) * whiteningMatrix;
+
+- return;
++ return false;
+ }
+
+ B = B * mpower(transpose(B) * B , -0.5);
+@@ -769,7 +771,7 @@
+
+ } // IF round
+
+- break;
++ return false;
+
+ } // IF numFailures > failureLimit
+
+@@ -990,5 +992,5 @@
+ } // While round <= numOfIC
+
+ } // ELSE Deflation
+-
++ return true;
+ } // FPICA
+diff -ru libitpp-4.0.7/itpp/signal/fastica.h libitpp-4.0.7.patched/itpp/signal/fastica.h
+--- libitpp-4.0.7/itpp/signal/fastica.h 2009-12-27 01:38:47.000000000 +0100
++++ libitpp-4.0.7.patched/itpp/signal/fastica.h 2010-07-08 16:24:37.000000000 +0200
+@@ -134,8 +134,9 @@
+ \brief Explicit launch of main FastICA function
+
+ Explicit launch of the Fast_ICA algorithm.
++ \returns true if algorithm converged and false otherwise
+ */
+- void separate(void);
++ bool separate(void);
+
+ /*!
+ \brief Set approach : FICA_APPROACH_DEFL or FICA_APPROACH_SYMM (default)
diff --git a/sci-libs/itpp/files/itpp-4.2-automake-1.12.patch b/sci-libs/itpp/files/itpp-4.2-automake-1.12.patch
new file mode 100644
index 000000000000..f383d6fda591
--- /dev/null
+++ b/sci-libs/itpp/files/itpp-4.2-automake-1.12.patch
@@ -0,0 +1,16 @@
+ configure.ac | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4f06171..a1e8448 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,6 +27,8 @@ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_AUX_DIR([build-aux])
+ AM_INIT_AUTOMAKE([-Wall -Werror])
+
++AM_PROG_AR
++
+ # Shared library versioning
+ GENERIC_LIBRARY_VERSION="7:0:0"
+ # | | |
diff --git a/sci-libs/itpp/files/itpp-4.2-fastica-correct-dim.patch b/sci-libs/itpp/files/itpp-4.2-fastica-correct-dim.patch
new file mode 100644
index 000000000000..a852abc5cc4c
--- /dev/null
+++ b/sci-libs/itpp/files/itpp-4.2-fastica-correct-dim.patch
@@ -0,0 +1,26 @@
+diff -ru itpp-4.2/itpp/signal/fastica.cpp itpp-4.2.new//itpp/signal/fastica.cpp
+--- itpp-4.2/itpp/signal/fastica.cpp 2011-06-07 17:47:32.261000884 +0200
++++ itpp-4.2.new//itpp/signal/fastica.cpp 2011-06-07 17:31:25.757000915 +0200
+@@ -147,6 +147,9 @@
+
+ whitenv(mixedSigC, E, diag(D), whitesig, whiteningMatrix, dewhiteningMatrix);
+
++ Dim = whitesig.rows();
++
++ if (numOfIC > Dim) numOfIC = Dim;
+
+ ivec NcFirst = to_ivec(zeros(numOfIC));
+ vec NcVp = D;
+@@ -161,10 +164,6 @@
+ bool result = true;
+ if (PCAonly == false) {
+
+- Dim = whitesig.rows();
+-
+- if (numOfIC > Dim) numOfIC = Dim;
+-
+ result = fpica(whitesig, whiteningMatrix, dewhiteningMatrix, approach, numOfIC, g, finetune, a1, a2, mu, stabilization, epsilon, maxNumIterations, maxFineTune, initState, guess, sampleSize, A, W);
+
+ icasig = W * mixedSig;
+Nur in itpp-4.2/itpp/signal: fastica.cpp.orig.
+Nur in itpp-4.2/itpp/signal: fastica.h.orig.
diff --git a/sci-libs/itpp/files/itpp-4.2-pkg-config.patch b/sci-libs/itpp/files/itpp-4.2-pkg-config.patch
new file mode 100644
index 000000000000..5a18952707bb
--- /dev/null
+++ b/sci-libs/itpp/files/itpp-4.2-pkg-config.patch
@@ -0,0 +1,27 @@
+ configure.ac | 2 +-
+ itpp.pc.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4f06171..d3d7b76 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -322,7 +322,7 @@ test "x$FFT_LIBS" != x && LIBS="$FFT_LIBS $LIBS"
+ CPPFLAGS="`echo \"$CPPFLAGS\" | sed -e 's/ */ /g' -e 's/^ //' -e 's/ $//'`"
+ LDFLAGS="`echo \"$LDFLAGS\" | sed -e 's/ */ /g' -e 's/^ //' -e 's/ $//'`"
+ LIBS="`echo \"$LIBS\" | sed -e 's/ */ /g' -e 's/^ //' -e 's/ $//'`"
+-LDLIBS="`echo \"$LDFLAGS $LIBS\" | sed -e 's/^ //' -e 's/ $//'`"
++LDLIBS="`echo \"$LIBS\" | sed -e 's/^ //' -e 's/ $//'`"
+
+ if test $enable_explicit_deps = yes; then
+ EXPLICIT_LIBS=" $LDLIBS" # the leading space is important here...
+diff --git a/itpp.pc.in b/itpp.pc.in
+index 4018865..48a9543 100644
+--- a/itpp.pc.in
++++ b/itpp.pc.in
+@@ -9,4 +9,4 @@ Version: @PACKAGE_VERSION@
+ URL: http://itpp.sourceforge.net/
+ Libs: -L${libdir} -l@PACKAGE@@EXPLICIT_LIBS@
+ Libs.private:@PRIVATE_LIBS@
+-Cflags: -I${includedir} @CXXFLAGS_OPT@
++Cflags: -I${includedir}
diff --git a/sci-libs/itpp/files/itpp-4.2-test-fftw.patch b/sci-libs/itpp/files/itpp-4.2-test-fftw.patch
new file mode 100644
index 000000000000..b7bb11dcc4ff
--- /dev/null
+++ b/sci-libs/itpp/files/itpp-4.2-test-fftw.patch
@@ -0,0 +1,14 @@
+--- itpp/branches/itpp-4-2/tests/Makefile.am 2010/09/21 18:23:47 1807
++++ itpp/branches/itpp-4-2/tests/Makefile.am 2010/12/30 23:47:09 1837
+@@ -20,9 +20,9 @@
+
+ OPTIM_TESTS = newton_search_test
+
+-SIGNAL_TESTS = filter_test source_test window_test
++SIGNAL_TESTS = filter_test source_test
+ SIGNAL_LAP_TESTS = fastica_test poly_test
+-SIGNAL_FFT_TESTS = freq_filt_test sigfun_test transforms_test
++SIGNAL_FFT_TESTS = freq_filt_test sigfun_test transforms_test window_test
+ SIGNAL_LAP_FFT_TESTS = filter_design_test
+
+ STAT_TESTS = histogram_test
diff --git a/sci-libs/itpp/itpp-4.2-r1.ebuild b/sci-libs/itpp/itpp-4.2-r1.ebuild
new file mode 100644
index 000000000000..a438f035b0bb
--- /dev/null
+++ b/sci-libs/itpp/itpp-4.2-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils flag-o-matic toolchain-funcs
+
+DESCRIPTION="C++ library of mathematical, signal processing and communication"
+HOMEPAGE="http://itpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="blas debug doc fftw lapack minimal static-libs"
+
+RDEPEND="
+ blas? ( virtual/blas lapack? ( virtual/lapack ) )
+ !minimal? ( fftw? ( >=sci-libs/fftw-3 ) )"
+DEPEND="${RDEPEND}
+ blas? ( virtual/pkgconfig )
+ doc? ( app-doc/doxygen virtual/latex-base )
+ lapack? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.7-fastica-fix-endless-loop.patch
+ "${FILESDIR}"/${P}-fastica-correct-dim.patch
+ "${FILESDIR}"/${P}-test-fftw.patch
+ )
+
+src_prepare() {
+ # turn off performance critical debug code
+ use debug || append-cppflags -DNDEBUG
+ sed \
+ -e 's:-pipe::g' \
+ -e 's:-Werror::g' \
+ -i configure* || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local blasconf="no"
+ use blas && blasconf="$($(tc-getPKG_CONFIG) --libs blas)"
+ local lapackconf="no"
+ use lapack && lapackconf="$($(tc-getPKG_CONFIG) --libs blas lapack)"
+
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --enable-shared
+ $(use_enable doc html-doc)
+ $(use_enable debug)
+ $(use_enable !minimal comm)
+ $(use_enable !minimal fixed)
+ $(use_enable !minimal optim)
+ $(use_enable !minimal protocol)
+ $(use_enable !minimal signal)
+ $(use_enable !minimal srccode)
+ $(use_with fftw fft)
+ --with-blas="${blasconf}"
+ --with-lapack="${lapackconf}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/itpp/itpp-4.2-r2.ebuild b/sci-libs/itpp/itpp-4.2-r2.ebuild
new file mode 100644
index 000000000000..ee3ea76abd01
--- /dev/null
+++ b/sci-libs/itpp/itpp-4.2-r2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils flag-o-matic toolchain-funcs
+
+DESCRIPTION="C++ library of mathematical, signal processing and communication"
+HOMEPAGE="http://itpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="blas debug doc fftw lapack minimal static-libs"
+
+RDEPEND="
+ blas? ( virtual/blas lapack? ( virtual/lapack ) )
+ !minimal? ( fftw? ( >=sci-libs/fftw-3 ) )"
+DEPEND="${RDEPEND}
+ >=sys-devel/automake-1.11.1
+ blas? ( virtual/pkgconfig )
+ doc? ( app-doc/doxygen virtual/latex-base )
+ lapack? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.7-fastica-fix-endless-loop.patch
+ "${FILESDIR}"/${P}-fastica-correct-dim.patch
+ "${FILESDIR}"/${P}-test-fftw.patch
+ "${FILESDIR}"/${P}-automake-1.12.patch
+ "${FILESDIR}"/${P}-pkg-config.patch
+ )
+
+src_prepare() {
+ # turn off performance critical debug code
+ use debug || append-cppflags -DNDEBUG
+ sed \
+ -e 's:-pipe::g' \
+ -e 's:-Werror::g' \
+ -i configure* || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local blasconf="no"
+ use blas && blasconf="$($(tc-getPKG_CONFIG) --libs blas)"
+ local lapackconf="no"
+ use lapack && lapackconf="$($(tc-getPKG_CONFIG) --libs blas lapack)"
+
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --enable-shared
+ $(use_enable doc html-doc)
+ $(use_enable debug)
+ $(use_enable !minimal comm)
+ $(use_enable !minimal fixed)
+ $(use_enable !minimal optim)
+ $(use_enable !minimal protocol)
+ $(use_enable !minimal signal)
+ $(use_enable !minimal srccode)
+ $(use_with fftw fft)
+ --with-blas="${blasconf}"
+ --with-lapack="${lapackconf}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/itpp/itpp-4.3.0.ebuild b/sci-libs/itpp/itpp-4.3.0.ebuild
new file mode 100644
index 000000000000..db31a1c1c38b
--- /dev/null
+++ b/sci-libs/itpp/itpp-4.3.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="C++ library of mathematical, signal processing and communication"
+HOMEPAGE="http://itpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ >=sci-libs/fftw-3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen virtual/latex-base )"
+
+DOCS=(ChangeLog NEWS AUTHORS README)
+
+src_prepare() {
+ # gentoo redefines the CMAKE_BUILD_TYPE
+ sed -i \
+ -e 's/CMAKE_BUILD_TYPE STREQUAL Release/NOT CMAKE_BUILD_TYPE STREQUAL Debug/' \
+ CMakeLists.txt || die
+ # respect gentoo doc dir
+ sed -i \
+ -e "s:share/doc/itpp:share/doc/${PF}:" \
+ itpp/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBLA_VENDOR=Generic
+ $(cmake-utils_use doc HTML_DOCS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/itpp/itpp-4.3.1-r1.ebuild b/sci-libs/itpp/itpp-4.3.1-r1.ebuild
new file mode 100644
index 000000000000..6a8a60a5ea7c
--- /dev/null
+++ b/sci-libs/itpp/itpp-4.3.1-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="C++ library of mathematical, signal processing and communication"
+HOMEPAGE="http://itpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ >=sci-libs/fftw-3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen virtual/latex-base )"
+
+DOCS=(ChangeLog NEWS AUTHORS README)
+
+src_prepare() {
+ # gentoo redefines the CMAKE_BUILD_TYPE
+ sed -i \
+ -e 's/CMAKE_BUILD_TYPE STREQUAL Release/NOT CMAKE_BUILD_TYPE STREQUAL Debug/' \
+ CMakeLists.txt || die
+ # respect gentoo doc dir
+ sed -i \
+ -e "s:share/doc/itpp:share/doc/${PF}:" \
+ itpp/CMakeLists.txt || die
+
+ # respect gentoo libdir
+ sed -i "s#/lib#/$(get_libdir)#" itpp-config.cmake.in
+ sed -i "s#/lib#/$(get_libdir)#" itpp.pc.cmake.in
+ sed -i \
+ -e "s#LIBRARY DESTINATION lib#LIBRARY DESTINATION $(get_libdir)#" \
+ -e "s#ARCHIVE DESTINATION lib#ARCHIVE DESTINATION $(get_libdir)#" \
+ itpp/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBLA_VENDOR=Generic
+ $(cmake-utils_use doc HTML_DOCS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/itpp/itpp-4.3.1.ebuild b/sci-libs/itpp/itpp-4.3.1.ebuild
new file mode 100644
index 000000000000..38ce5e1194bc
--- /dev/null
+++ b/sci-libs/itpp/itpp-4.3.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="C++ library of mathematical, signal processing and communication"
+HOMEPAGE="http://itpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ >=sci-libs/fftw-3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen virtual/latex-base )"
+
+DOCS=(ChangeLog NEWS AUTHORS README)
+
+src_prepare() {
+ # gentoo redefines the CMAKE_BUILD_TYPE
+ sed -i \
+ -e 's/CMAKE_BUILD_TYPE STREQUAL Release/NOT CMAKE_BUILD_TYPE STREQUAL Debug/' \
+ CMakeLists.txt || die
+ # respect gentoo doc dir
+ sed -i \
+ -e "s:share/doc/itpp:share/doc/${PF}:" \
+ itpp/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBLA_VENDOR=Generic
+ $(cmake-utils_use doc HTML_DOCS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/itpp/metadata.xml b/sci-libs/itpp/metadata.xml
new file mode 100644
index 000000000000..c52430f8e962
--- /dev/null
+++ b/sci-libs/itpp/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ IT++ is a C++ library of mathematical, signal processing and
+ communication classes and functions. Its main use is in simulation
+ of communication systems and for performing research in the area of
+ communications. The kernel of the library consists of generic vector
+ and matrix classes, and a set of accompanying routines. Such a
+ kernel makes IT++ similar to MATLAB or GNU Octave .
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">itpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/jama/Manifest b/sci-libs/jama/Manifest
new file mode 100644
index 000000000000..d3a68cbb30d5
--- /dev/null
+++ b/sci-libs/jama/Manifest
@@ -0,0 +1,2 @@
+DIST jama102doc.zip 61085 SHA256 0175a981cba82b316f17e1066e605a1bc6aa2840edf70b5e1a06305f16e5f7e3
+DIST jama125.zip 16277 SHA256 7432bf51d7101f63d5880421f940f64cea124f1460ff2fcfb6226e6744d1360c SHA512 773cbf98de2384df5429db3ecc117304934a1de1c24ee1f342ededae8bdc9747e3bb5ec0d3cd7fde62b2ee13ee2e0c6e86f6b30c7082036bd5b224b76592b4f9 WHIRLPOOL 20acceecdeb81fd388baebe0c279b3adfb57b9daeda7e5713a3b85e4d8c0124ed8043e79a2b9dc66b65c03cbe656b3d2bd8fc253bb1342ff2e53647d9fa80895
diff --git a/sci-libs/jama/jama-1.2.5.ebuild b/sci-libs/jama/jama-1.2.5.ebuild
new file mode 100644
index 000000000000..a1b499fdacab
--- /dev/null
+++ b/sci-libs/jama/jama-1.2.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit versionator
+
+MYP="${PN}$(replace_all_version_separators '')"
+DOCPV=102
+
+DESCRIPTION="Java-like matrix C++ templates"
+HOMEPAGE="http://math.nist.gov/tnt/"
+SRC_URI="http://math.nist.gov/tnt/${MYP}.zip
+ doc? ( http://math.nist.gov/tnt/${PN}${DOCPV}doc.zip )"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc"
+
+DEPEND="app-arch/unzip"
+RDEPEND="sci-libs/tnt"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/include
+ doins *.h || die
+ use doc && dohtml doxygen/html/*
+}
diff --git a/sci-libs/jama/metadata.xml b/sci-libs/jama/metadata.xml
new file mode 100644
index 000000000000..103f08e646a1
--- /dev/null
+++ b/sci-libs/jama/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ JAMA/C++: a translation of the Java Matrix Library, developed by the
+ Mathworks and NIST, into C++ . It includes the following routines:
+ * classical matrix linear algebra
+ * QR
+ * SVD
+ * Cholesky
+ * Eigenvalue solver
+ It is based on NIST's Template Numerical Toolkit.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/jmol-acme/Manifest b/sci-libs/jmol-acme/Manifest
new file mode 100644
index 000000000000..8319666ecae0
--- /dev/null
+++ b/sci-libs/jmol-acme/Manifest
@@ -0,0 +1 @@
+DIST Acme.tar.gz 478667 RMD160 a58ee00fe9abbb6149aa4b0baebcf9df8e9ec144 SHA1 421c7f69045242523948abe1e7e01092fd544b6e SHA256 6becb7e097bc9a3c7b39a42aaf8dd9ce8d35508b5221c3076e0c1e060ecc688c
diff --git a/sci-libs/jmol-acme/files/src.list b/sci-libs/jmol-acme/files/src.list
new file mode 100644
index 000000000000..14d1fc028561
--- /dev/null
+++ b/sci-libs/jmol-acme/files/src.list
@@ -0,0 +1,4 @@
+./IntHashtable.java
+./JPM/Encoders/GifEncoder.java
+./JPM/Encoders/ImageEncoder.java
+./JPM/Encoders/PpmEncoder.java
diff --git a/sci-libs/jmol-acme/jmol-acme-1.0.ebuild b/sci-libs/jmol-acme/jmol-acme-1.0.ebuild
new file mode 100644
index 000000000000..279d21770797
--- /dev/null
+++ b/sci-libs/jmol-acme/jmol-acme-1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit java-pkg-2 java-ant-2
+
+MY_P="Acme"
+
+# It proved difficult to recompile the whole Acme package, so we'll only take what we need.
+
+DESCRIPTION="Portions of the Acme collection required for jMol"
+HOMEPAGE="http://www.acme.com/"
+SRC_URI="http://www.acme.com/resources/classes/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=virtual/jdk-1.4"
+RDEPEND=">=virtual/jre-1.4"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ mkdir -p classes
+ find . -name \*.class -delete
+ java-pkg_filter-compiler jikes
+}
+
+src_compile() {
+ cp "${FILESDIR}/src.list" "${T}" || die
+ ejavac -sourcepath "" -d "${S}/classes" "@${T}/src.list"
+ jar cf "${PN}.jar" -C classes . || die "failed to create jar"
+}
+
+src_install() {
+ java-pkg_dojar ${PN}.jar
+}
diff --git a/sci-libs/jmol-acme/metadata.xml b/sci-libs/jmol-acme/metadata.xml
new file mode 100644
index 000000000000..67f88fe8ce1f
--- /dev/null
+++ b/sci-libs/jmol-acme/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>je_fro@gentoo.org</email>
+ <name>Jeff Gardner</name>
+ </maintainer>
+ <longdescription lang="en">
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/klu/Manifest b/sci-libs/klu/Manifest
new file mode 100644
index 000000000000..3b0712fc8dd1
--- /dev/null
+++ b/sci-libs/klu/Manifest
@@ -0,0 +1 @@
+DIST klu-1.2.1.tar.bz2 612428 SHA256 c61d56f5dd6bff0259a6d082e6a6ca714ceba96521ab88487445f8b77b328494 SHA512 2837ade61596b5e738d0dd16a5486fd2b0089ec9ddeae4fa3b2c3671de6637c7cf2d55e44c0103c9393caa3f046039a76d9abc5b8094d236523db0c58cc58b70 WHIRLPOOL c96656c444eff92015842481e1e22044cb4c7fe3cd50c40b6dce496b834b905e90cf4dbcde6ca0e07407d8747967e0ffffa137e6558aa8488f7d05e507c618bb
diff --git a/sci-libs/klu/klu-1.2.1.ebuild b/sci-libs/klu/klu-1.2.1.ebuild
new file mode 100644
index 000000000000..4cee7d21f128
--- /dev/null
+++ b/sci-libs/klu/klu-1.2.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Sparse LU factorization for circuit simulation"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/klu/"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+RDEPEND="
+ >=sci-libs/amd-1.3
+ >=sci-libs/btf-1.2
+ >=sci-libs/colamd-1.3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/klu/metadata.xml b/sci-libs/klu/metadata.xml
new file mode 100644
index 000000000000..485be7b6f45e
--- /dev/null
+++ b/sci-libs/klu/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ KLU is a sparse LU factorization algorithm well-suited for use in
+ circuit simulation. It is also part of the University
+ of Florida sparse matrix suite.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/lapack-reference/Manifest b/sci-libs/lapack-reference/Manifest
new file mode 100644
index 000000000000..a98415cbb8d8
--- /dev/null
+++ b/sci-libs/lapack-reference/Manifest
@@ -0,0 +1,4 @@
+DIST lapack-3.2.1.tgz 4792502 SHA256 5825f83971157001fd4235514afe8ff5fc16e1c06b2e872e442c242efd6c166d SHA512 a89b88540f8e5b05b7c58e8e301a5068729ceb35fcb2143edfff1644458ff1a375e5185492cf116b50409fe0c17b51c253a2987f4df83e9f9c3968a4b77e5d97 WHIRLPOOL f5c4be0a4e595ea5276a4878ab6e3578bb621be72142b6bf6cb15fc45bd52558c89b04a7ee0d1558b4f0aa9d1cff9cad43667f2251762dc8ad6aa5e687536149
+DIST lapack-lite-3.1.1.tgz 5332509 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 SHA512 492b932ef313339ce6b4e63ac8f778489e6870b0eb85f7b086f3c844e75f98e7f85382c7556dfa368ab8320b6f02d1df8ccfcb40b5c0b7c2d74518b7c309e75c WHIRLPOOL 11145043d16b8c2972229e17a24e92e62987c08e84d91b81a7f4767b80f13844faffb2a2798b321a78c7127d849a0fd60cbb1605f03e150b4eaa6c230f0e7fdd
+DIST lapack-reference-3.1.1-autotools.patch.bz2 7233 SHA256 63e2c0b64118ca20aed3ca52dbc553ba924c242d3a0b07e6236dee99ede16802 SHA512 3ae61a9d569bdbe3d416652feedf1ae26fe85b23d919fb9d493e1474e616eeb23e87738ecb4970dde5f320812d3bb71c0f3c432548ab8e978941d90afe4cb418 WHIRLPOOL 449d9bf9c7f58c019804708b10f902919e55a722af6fe31904cd7b941074c66c68ef809e56fcce99e6f946da8e69be383b838a6a866ede6ee925268d6b24d423
+DIST lapack-reference-3.2.1-autotools.patch.bz2 13338 SHA256 de2ab4ea9723f549c77b38d932e5ddb55b7b5583b0050e527505210460dcdf76 SHA512 957e8c7646a0d6ade9c0dfdaf2aa665a01f932dfda376ba1db164106fb174793e6504cdbed7daf158f23bb69502937963cb2e2d45ac720980d3832f6fc0fedbd WHIRLPOOL 8872222a124cd8593c8441034b6fd47463193e03bdebafc8b2790ebc73f49eb811762dc9cd98949bda0af7869f9d12b9ebbfc23457b5393d88c00a013c4f419d
diff --git a/sci-libs/lapack-reference/files/eselect.lapack.reference b/sci-libs/lapack-reference/files/eselect.lapack.reference
new file mode 100644
index 000000000000..fe1a777b2dc2
--- /dev/null
+++ b/sci-libs/lapack-reference/files/eselect.lapack.reference
@@ -0,0 +1,4 @@
+lapack/reference/liblapack.so /usr/@LIBDIR@/liblapack.so
+lapack/reference/liblapack.so.0 /usr/@LIBDIR@/liblapack.so.0
+lapack/reference/liblapack.a /usr/@LIBDIR@/liblapack.a
+../lapack/reference/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc
diff --git a/sci-libs/lapack-reference/files/eselect.lapack.reference-ng b/sci-libs/lapack-reference/files/eselect.lapack.reference-ng
new file mode 100644
index 000000000000..11231ea71286
--- /dev/null
+++ b/sci-libs/lapack-reference/files/eselect.lapack.reference-ng
@@ -0,0 +1 @@
+../lapack/reference/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc
diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch
new file mode 100644
index 000000000000..e9b754403f3a
--- /dev/null
+++ b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch
@@ -0,0 +1,36 @@
+diff -Naur lapack-lite-3.1.1/TESTING/ctest.in lapack-lite-3.1.1-new/TESTING/ctest.in
+--- lapack-lite-3.1.1/TESTING/ctest.in 2007-02-26 13:20:47.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/ctest.in 2007-07-24 10:19:31.000000000 -0400
+@@ -32,5 +32,4 @@
+ CQL 8 List types on next line if 0 < NTYPES < 8
+ CQP 6 List types on next line if 0 < NTYPES < 6
+ CTZ 3 List types on next line if 0 < NTYPES < 3
+-CLS 6 List types on next line if 0 < NTYPES < 6
+ CEQ
+diff -Naur lapack-lite-3.1.1/TESTING/dtest.in lapack-lite-3.1.1-new/TESTING/dtest.in
+--- lapack-lite-3.1.1/TESTING/dtest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/dtest.in 2007-07-24 10:19:36.000000000 -0400
+@@ -30,5 +30,4 @@
+ DQL 8 List types on next line if 0 < NTYPES < 8
+ DQP 6 List types on next line if 0 < NTYPES < 6
+ DTZ 3 List types on next line if 0 < NTYPES < 3
+-DLS 6 List types on next line if 0 < NTYPES < 6
+ DEQ
+diff -Naur lapack-lite-3.1.1/TESTING/stest.in lapack-lite-3.1.1-new/TESTING/stest.in
+--- lapack-lite-3.1.1/TESTING/stest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/stest.in 2007-07-24 10:19:48.000000000 -0400
+@@ -30,5 +30,4 @@
+ SQL 8 List types on next line if 0 < NTYPES < 8
+ SQP 6 List types on next line if 0 < NTYPES < 6
+ STZ 3 List types on next line if 0 < NTYPES < 3
+-SLS 6 List types on next line if 0 < NTYPES < 6
+ SEQ
+diff -Naur lapack-lite-3.1.1/TESTING/ztest.in lapack-lite-3.1.1-new/TESTING/ztest.in
+--- lapack-lite-3.1.1/TESTING/ztest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/ztest.in 2007-07-24 10:19:42.000000000 -0400
+@@ -32,5 +32,4 @@
+ ZQL 8 List types on next line if 0 < NTYPES < 8
+ ZQP 6 List types on next line if 0 < NTYPES < 6
+ ZTZ 3 List types on next line if 0 < NTYPES < 3
+-ZLS 6 List types on next line if 0 < NTYPES < 6
+ ZEQ
diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.2.1-parallel-make.patch b/sci-libs/lapack-reference/files/lapack-reference-3.2.1-parallel-make.patch
new file mode 100644
index 000000000000..72bc71ca2d95
--- /dev/null
+++ b/sci-libs/lapack-reference/files/lapack-reference-3.2.1-parallel-make.patch
@@ -0,0 +1,112 @@
+diff -Nauru lapack-3.2.1.old/TESTING/EIG/Makefile lapack-3.2.1/TESTING/EIG/Makefile
+--- lapack-3.2.1.old/TESTING/EIG/Makefile 2008-11-17 17:51:24.000000000 -0500
++++ lapack-3.2.1/TESTING/EIG/Makefile 2009-12-12 11:23:22.000000000 -0500
+@@ -126,25 +126,25 @@
+ double: ../xeigtstd
+ complex16: ../xeigtstz
+
+-../xeigtsts: $(SEIGTST) $(SCIGTST) $(AEIGTST) ; \
+- $(LOADER) $(LOADOPTS) -o xeigtsts \
+- $(SEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
+- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtsts $@
+-
+-../xeigtstc: $(CEIGTST) $(SCIGTST) $(AEIGTST) ; \
+- $(LOADER) $(LOADOPTS) -o xeigtstc \
+- $(CEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
+- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstc $@
+-
+-../xeigtstd: $(DEIGTST) $(DZIGTST) $(AEIGTST) ; \
+- $(LOADER) $(LOADOPTS) -o xeigtstd \
+- $(DEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
+- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstd $@
+-
+-../xeigtstz: $(ZEIGTST) $(DZIGTST) $(AEIGTST) ; \
+- $(LOADER) $(LOADOPTS) -o xeigtstz \
+- $(ZEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
+- ../../$(LAPACKLIB) $(BLASLIB) && mv xeigtstz $@
++../xeigtsts: $(SEIGTST) $(SCIGTST) $(AEIGTST)
++ $(LOADER) $(LOADOPTS) \
++ $(SEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
++ ../../$(LAPACKLIB) $(BLASLIB) -o ../xeigtsts
++
++../xeigtstc: $(CEIGTST) $(SCIGTST) $(AEIGTST)
++ $(LOADER) $(LOADOPTS) \
++ $(CEIGTST) $(SCIGTST) $(AEIGTST) ../../$(TMGLIB) \
++ ../../$(LAPACKLIB) $(BLASLIB) -o ../xeigtstc
++
++../xeigtstd: $(DEIGTST) $(DZIGTST) $(AEIGTST)
++ $(LOADER) $(LOADOPTS) \
++ $(DEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
++ ../../$(LAPACKLIB) $(BLASLIB) -o ../xeigtstd
++
++../xeigtstz: $(ZEIGTST) $(DZIGTST) $(AEIGTST)
++ $(LOADER) $(LOADOPTS) \
++ $(ZEIGTST) $(DZIGTST) $(AEIGTST) ../../$(TMGLIB) \
++ ../../$(LAPACKLIB) $(BLASLIB) -o ../xeigtstz
+
+ $(AEIGTST): $(FRC)
+ $(SCIGTST): $(FRC)
+@@ -169,4 +169,5 @@
+ zchkee.o: zchkee.f
+ $(FORTRAN) $(DRVOPTS) -c $< -o $@
+
+-.f.o : ; $(FORTRAN) $(OPTS) -c $< -o $@
++.f.o :
++ $(FORTRAN) $(OPTS) -c $< -o $@
+diff -Nauru lapack-3.2.1.old/TESTING/LIN/Makefile lapack-3.2.1/TESTING/LIN/Makefile
+--- lapack-3.2.1.old/TESTING/LIN/Makefile 2009-02-10 12:23:05.000000000 -0500
++++ lapack-3.2.1/TESTING/LIN/Makefile 2009-12-12 07:22:41.000000000 -0500
+@@ -238,43 +238,43 @@
+
+ ../xlintsts : $(ALINTST) $(SLINTST) $(SCLNTST)
+ $(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(SLINTST) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintsts && mv xlintsts $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o ../xlintsts
+
+ ../xlintstc : $(ALINTST) $(CLINTST) $(SCLNTST)
+ $(LOADER) $(LOADOPTS) $(ALINTST) $(SCLNTST) $(CLINTST) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintstc && mv xlintstc $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o ../xlintstc
+
+ ../xlintstd : $(ALINTST) $(DLINTST) $(DZLNTST)
+ $(LOADER) $(LOADOPTS) $^ \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintstd && mv xlintstd $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o ../xlintstd
+
+ ../xlintstz : $(ALINTST) $(ZLINTST) $(DZLNTST)
+ $(LOADER) $(LOADOPTS) $(ALINTST) $(DZLNTST) $(ZLINTST) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o xlintstz && mv xlintstz $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(XBLASLIB) $(BLASLIB) -o ../xlintstz
+
+ ../xlintstds : $(DSLINTST)
+ $(LOADER) $(LOADOPTS) $(DSLINTST) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o xlintstds && mv xlintstds $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o ../xlintstds
+
+ ../xlintstzc : $(ZCLINTST)
+ $(LOADER) $(LOADOPTS) $(ZCLINTST) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o xlintstzc && mv xlintstzc $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o ../xlintstzc
+
+ ../xlintstrfs : $(SLINTSTRFP)
+ $(LOADER) $(LOADOPTS) $(SLINTSTRFP) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o xlintstrfs && mv xlintstrfs $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o ../xlintstrfs
+
+ ../xlintstrfd : $(DLINTSTRFP)
+ $(LOADER) $(LOADOPTS) $(DLINTSTRFP) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o xlintstrfd && mv xlintstrfd $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o ../xlintstrfd
+
+ ../xlintstrfc : $(CLINTSTRFP)
+ $(LOADER) $(LOADOPTS) $(CLINTSTRFP) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o xlintstrfc && mv xlintstrfc $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o ../xlintstrfc
+
+ ../xlintstrfz : $(ZLINTSTRFP)
+ $(LOADER) $(LOADOPTS) $(ZLINTSTRFP) \
+- ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o xlintstrfz && mv xlintstrfz $@
++ ../../$(TMGLIB) ../../$(LAPACKLIB) $(BLASLIB) -o ../xlintstrfz
+
+ $(ALINTST): $(FRC)
+ $(SCLNTST): $(FRC)
diff --git a/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild b/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild
new file mode 100644
index 000000000000..f6d42304bbc4
--- /dev/null
+++ b/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit autotools eutils fortran-2 flag-o-matic multilib toolchain-funcs
+
+MyPN="${PN/-reference/}"
+
+DESCRIPTION="FORTRAN reference implementation of LAPACK Linear Algebra PACKage"
+HOMEPAGE="http://www.netlib.org/lapack/index.html"
+SRC_URI="
+ http://www.netlib.org/lapack/${MyPN}-lite-${PV}.tgz
+ mirror://gentoo/${P}-autotools.patch.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 s390 sparc x86 ~x86-fbsd"
+IUSE="doc"
+
+RDEPEND="
+ app-eselect/eselect-lapack
+ virtual/blas"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/lapack-docs )"
+
+S="${WORKDIR}/${MyPN}-lite-${PV}"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ if [[ $(tc-getFC) =~ if ]]; then
+ ewarn "Using Intel Fortran at your own risk"
+ export LDFLAGS="$(raw-ldflags)"
+ export NOOPT_FFLAGS=-O
+ fi
+ ESELECT_PROF=reference
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${WORKDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-test-fix.patch
+ eautoreconf
+
+ # set up the testing routines
+ sed -e "s:g77:$(tc-getFC):" \
+ -e "s:-funroll-all-loops -O3:${FFLAGS} $($(tc-getPKG_CONFIG) --cflags blas):" \
+ -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $($(tc-getPKG_CONFIG) --cflags blas):" \
+ -e "s:../../blas\$(PLAT).a:$($(tc-getPKG_CONFIG) --libs blas):" \
+ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" \
+ make.inc.example > make.inc \
+ || die "Failed to set up make.inc"
+}
+
+src_compile() {
+ econf \
+ --libdir="/usr/$(get_libdir)/lapack/reference" \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README || die "dodoc failed"
+ eselect lapack add $(get_libdir) "${FILESDIR}"/eselect.lapack.reference ${ESELECT_PROF}
+}
+
+src_test() {
+ cd "${S}"/TESTING/MATGEN
+ emake || die "Failed to create tmglib.a"
+ cd "${S}"/TESTING
+ emake || die "lapack-reference tests failed."
+}
+
+pkg_postinst() {
+ local p=lapack
+ 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="${ROOT}"/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
+}
diff --git a/sci-libs/lapack-reference/lapack-reference-3.2.1-r1.ebuild b/sci-libs/lapack-reference/lapack-reference-3.2.1-r1.ebuild
new file mode 100644
index 000000000000..b5665f128e00
--- /dev/null
+++ b/sci-libs/lapack-reference/lapack-reference-3.2.1-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit autotools eutils fortran-2 flag-o-matic multilib toolchain-funcs
+
+MyPN="${PN/-reference/}"
+PATCH_V="3.2.1"
+
+DESCRIPTION="FORTRAN reference implementation of LAPACK Linear Algebra PACKage"
+HOMEPAGE="http://www.netlib.org/lapack/index.html"
+SRC_URI="
+ mirror://gentoo/${MyPN}-${PV}.tgz
+ mirror://gentoo/${PN}-${PATCH_V}-autotools.patch.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc"
+
+RDEPEND="
+ app-eselect/eselect-lapack
+ virtual/blas"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/lapack-docs )"
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ if [[ $(tc-getFC) =~ if ]]; then
+ ewarn "Using Intel Fortran at your own risk"
+ export LDFLAGS="$(raw-ldflags)"
+ export NOOPT_FFLAGS=-O
+ fi
+ ESELECT_PROF=reference
+}
+
+src_prepare() {
+ epatch "${WORKDIR}"/${PN}-${PATCH_V}-autotools.patch
+ epatch "${FILESDIR}"/${P}-parallel-make.patch
+ eautoreconf
+
+ # set up the testing routines
+ sed -e "s:g77:$(tc-getFC):" \
+ -e "s:-funroll-all-loops -O3:${FFLAGS} $($(tc-getPKG_CONFIG) --cflags blas):" \
+ -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $($(tc-getPKG_CONFIG) --cflags blas):" \
+ -e "s:../../blas\$(PLAT).a:$($(tc-getPKG_CONFIG) --libs blas):" \
+ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" \
+ make.inc.example > make.inc \
+ || die "Failed to set up make.inc"
+
+ cp "${FILESDIR}"/eselect.lapack.reference "${T}"/
+ sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.lapack.reference || die
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+ "${T}"/eselect.lapack.reference || die
+ fi
+}
+
+src_configure() {
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)/lapack/reference" \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README || die "dodoc failed"
+ eselect lapack add $(get_libdir) "${T}"/eselect.lapack.reference ${ESELECT_PROF}
+}
+
+src_test() {
+ cd "${S}"/TESTING/MATGEN
+ emake -j1 || die "Failed to create tmglib.a"
+ cd "${S}"/TESTING
+ emake -j1 || die "lapack-reference tests failed."
+}
+
+pkg_postinst() {
+ local p=lapack
+ 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
+}
diff --git a/sci-libs/lapack-reference/lapack-reference-3.2.1-r3.ebuild b/sci-libs/lapack-reference/lapack-reference-3.2.1-r3.ebuild
new file mode 100644
index 000000000000..f91f05edd73e
--- /dev/null
+++ b/sci-libs/lapack-reference/lapack-reference-3.2.1-r3.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit autotools eutils fortran-2 flag-o-matic multilib toolchain-funcs
+
+MyPN="${PN/-reference/}"
+PATCH_V="3.2.1"
+
+DESCRIPTION="FORTRAN reference implementation of LAPACK Linear Algebra PACKage"
+HOMEPAGE="http://www.netlib.org/lapack/index.html"
+SRC_URI="
+ mirror://gentoo/${MyPN}-${PV}.tgz
+ mirror://gentoo/${PN}-${PATCH_V}-autotools.patch.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc"
+
+RDEPEND="
+ app-eselect/eselect-lapack
+ virtual/blas"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/lapack-docs )"
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ if [[ $(tc-getFC) =~ if ]]; then
+ ewarn "Using Intel Fortran at your own risk"
+ export LDFLAGS="$(raw-ldflags)"
+ export NOOPT_FFLAGS=-O
+ fi
+ ESELECT_PROF=reference
+}
+
+src_prepare() {
+ epatch "${WORKDIR}"/${PN}-${PATCH_V}-autotools.patch
+ epatch "${FILESDIR}"/${P}-parallel-make.patch
+ eautoreconf
+
+ # set up the testing routines
+ sed -e "s:g77:$(tc-getFC):" \
+ -e "s:-funroll-all-loops -O3:${FFLAGS} $($(tc-getPKG_CONFIG) --cflags blas):" \
+ -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $($(tc-getPKG_CONFIG) --cflags blas):" \
+ -e "s:../../blas\$(PLAT).a:$($(tc-getPKG_CONFIG) --libs blas):" \
+ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" \
+ make.inc.example > make.inc \
+ || die "Failed to set up make.inc"
+
+ cp "${FILESDIR}"/eselect.lapack.reference-ng "${T}"/eselect.lapack.reference || die
+ sed -i -e "s:/usr:${EPREFIX}/usr:" "${T}"/eselect.lapack.reference || die
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed -i -e 's/\.so\([\.0-9]\+\)\?/\1.dylib/g' \
+ "${T}"/eselect.lapack.reference || die
+ fi
+ sed \
+ -e '/Libs:/s|: |: -L${libdir} |g' \
+ -i lapack.pc.in || die
+}
+
+src_configure() {
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)/lapack/reference" \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README || die "dodoc failed"
+ eselect lapack add $(get_libdir) "${T}"/eselect.lapack.reference ${ESELECT_PROF}
+}
+
+src_test() {
+ cd "${S}"/TESTING/MATGEN
+ emake -j1 || die "Failed to create tmglib.a"
+ cd "${S}"/TESTING
+ emake -j1 || die "lapack-reference tests failed."
+}
+
+pkg_postinst() {
+ local p=lapack
+ 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
+}
diff --git a/sci-libs/lapack-reference/metadata.xml b/sci-libs/lapack-reference/metadata.xml
new file mode 100644
index 000000000000..41e8160d30cf
--- /dev/null
+++ b/sci-libs/lapack-reference/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+LAPACK is a comprehensive library that does linear algebra
+operations including matrix inversions, least squared solutions to
+linear sets of equations, eigenvector analysis, singular value
+decomposition, etc. It is a very comprehensive and reputable package
+that has found extensive use in the scientific community.
+This package installs the reference FORTRAN 77 implementation from Netlib.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/ldl/Manifest b/sci-libs/ldl/Manifest
new file mode 100644
index 000000000000..76fdacc26f73
--- /dev/null
+++ b/sci-libs/ldl/Manifest
@@ -0,0 +1,2 @@
+DIST LDL-2.0.4.tar.gz 326840 SHA256 b699df725404d6f94871336f4f87d6f81c5e1921f7fb83e2287eb8f66443d1ac
+DIST ldl-2.1.0.tar.bz2 336442 SHA256 20a7182e499bdf17bf6ef016e5c97f1a2e83519ff84fe8a4f611438cfe557338 SHA512 ad532e3481e48b9c3587ca0cba3d58a89a2174e3a0d523dcac6d420e04aa5da1cb8517bb14556d0a593110350fdc02aea3677eec41eb74821a3a63552418d0b5 WHIRLPOOL ad00375ce9d71500bf2d39f468d8e4f887cf30b0f57f7e79f8a01c2fe35b0e32fdae8f6673ba2adb38ff816342793826839aa34d0a4bf15e24d26523c4ccdb82
diff --git a/sci-libs/ldl/files/ldl-2.0.3-autotools.patch b/sci-libs/ldl/files/ldl-2.0.3-autotools.patch
new file mode 100644
index 000000000000..5e174999a5f3
--- /dev/null
+++ b/sci-libs/ldl/files/ldl-2.0.3-autotools.patch
@@ -0,0 +1,64 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-30 12:45:53.174426797 +0000
+@@ -0,0 +1,10 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(ldl, 2.0.3, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CONFIG_FILES([Makefile Source/Makefile Demo/Makefile])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-30 15:49:41.835515468 +0000
+@@ -0,0 +1,4 @@
++SUBDIRS = Source Demo
++EXTRA_DIST = README.txt
++include_HEADERS = Include/ldl.h
++
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-30 12:49:25.858546974 +0000
+@@ -0,0 +1,11 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++LDLSRC=ldl.c
++lib_LTLIBRARIES = libldl.la
++noinst_LTLIBRARIES = libldli.la libldll.la
++libldli_la_SOURCES = $(LDLSRC)
++libldli_la_CPPFLAGS = $(AM_CPPFLAGS)
++libldll_la_SOURCES = $(LDLSRC)
++libldll_la_CPPFLAGS = $(AM_CPPFLAGS) -DLDL_LONG
++libldl_la_SOURCES =
++libldl_la_LIBADD = libldll.la libldli.la
+--- Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Demo/Makefile.am 2008-01-30 15:43:45.603214946 +0000
+@@ -0,0 +1,27 @@
++LDADD = $(top_builddir)/Source/libldl.la -lm
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++check_PROGRAMS = ldlsimple ldllsimple ldlmain ldllmain ldlamd ldllamd
++
++ldlmain_SOURCES = ldlmain.c
++ldllmain_SOURCES = ldlmain.c
++ldllmain_CPPFLAGS = $(AM_CPPFLAGS) -DLDL_LONG
++
++ldlsimple_SOURCES = ldlsimple.c
++ldllsimple_SOURCES = ldlsimple.c
++ldllsimple_CPPFLAGS = $(AM_CPPFLAGS) -DLDL_LONG
++
++ldlamd_SOURCES = ldlamd.c
++ldllamd_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_AMD
++ldllamd_SOURCES = ldlamd.c
++ldllamd_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_AMD -DLDL_LONG
++ldllamd_LDADD = $(LDADD) -lamd
++
++check-local: $(check_PROGRAMS)
++ @for i in $(check_PROGRAMS); do \
++ echo "Testing $$i"; \
++ ./$$i > my_$$i.out; \
++ if ! diff $$i.out my_$$i.out; then \
++ echo "Testing $$i failed"; \
++ exit 1; \
++ fi \
++ done;
diff --git a/sci-libs/ldl/ldl-2.0.4.ebuild b/sci-libs/ldl/ldl-2.0.4.ebuild
new file mode 100644
index 000000000000..9959e6aff97d
--- /dev/null
+++ b/sci-libs/ldl/ldl-2.0.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+inherit autotools-utils
+
+MY_PN=LDL
+
+DESCRIPTION="Simple but educational LDL^T matrix factorization algorithm"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/ldl"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc static-libs"
+DEPEND="sci-libs/ufconfig"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${PN}-2.0.3-autotools.patch )
+DOCS=( README.txt Doc/ChangeLog )
+
+S="${WORKDIR}/${MY_PN}"
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dodoc Doc/ldl_userguide.pdf
+}
diff --git a/sci-libs/ldl/ldl-2.1.0.ebuild b/sci-libs/ldl/ldl-2.1.0.ebuild
new file mode 100644
index 000000000000..6ea1d7fb1f3e
--- /dev/null
+++ b/sci-libs/ldl/ldl-2.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Simple but educational LDL^T matrix factorization algorithm"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/ldl"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc static-libs"
+
+RDEPEND="sci-libs/suitesparseconfig"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/ldl/metadata.xml b/sci-libs/ldl/metadata.xml
new file mode 100644
index 000000000000..16d693b4d0f1
--- /dev/null
+++ b/sci-libs/ldl/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ LDL is a set of concise routines for factorizing symmetric
+ positive-definite sparse matrices, with some applicability to
+ symmetric indefinite matrices. Its primary purpose is to illustrate
+ much of the basic theory of sparse matrix algorithms in as concise a
+ code as possible, including an elegant new method of sparse symmetric
+ factorization that computes the factorization row-by-row but stores it
+ column-by-column. The entire symbolic and numeric factorization
+ consists of a total of only 49 lines of code. The package is written
+ in C, and includes a MATLAB interface.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/lemon/Manifest b/sci-libs/lemon/Manifest
new file mode 100644
index 000000000000..857b08a42c9a
--- /dev/null
+++ b/sci-libs/lemon/Manifest
@@ -0,0 +1 @@
+DIST lemon-1.3.tar.gz 5454290 SHA256 6c190dbb1e17bdb71597e79c409b2e798ffcbdb7d764ea45d6299339b12d3e05 SHA512 f48c14e42e0a463a3d203a05a012fdf635cf09503a5d18e14e64722e9f7f68d7fc223059e0a6a5d118491a473a25196d531e0a6302552f9fb8c121a4ed70af45 WHIRLPOOL 14325b538a27a8d46bc3840fa5687c8d286e7668e06f06c074417db245bc920b90f48825189b0e20858050b26676151a55bdb279bed4a0bccb133d9439435fad
diff --git a/sci-libs/lemon/files/lemon-1.3-as-needed.patch b/sci-libs/lemon/files/lemon-1.3-as-needed.patch
new file mode 100644
index 000000000000..ab205e69a4fa
--- /dev/null
+++ b/sci-libs/lemon/files/lemon-1.3-as-needed.patch
@@ -0,0 +1,47 @@
+ CMakeLists.txt | 4 ++++
+ lemon/CMakeLists.txt | 2 ++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b06e5c7..fa68aa8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -84,21 +84,25 @@ IF(GLPK_FOUND)
+ SET(LEMON_HAVE_LP TRUE)
+ SET(LEMON_HAVE_MIP TRUE)
+ SET(LEMON_HAVE_GLPK TRUE)
++ SET(LEMON_LP_LIBRARIES ${LEMON_LP_LIBRARIES} ${GLPK_LIBRARIES})
+ ENDIF(GLPK_FOUND)
+ IF(ILOG_FOUND)
+ SET(LEMON_HAVE_LP TRUE)
+ SET(LEMON_HAVE_MIP TRUE)
+ SET(LEMON_HAVE_CPLEX TRUE)
++ SET(LEMON_LP_LIBRARIES ${LEMON_LP_LIBRARIES} ${ILOG_LIBRARIES})
+ ENDIF(ILOG_FOUND)
+ IF(COIN_FOUND)
+ SET(LEMON_HAVE_LP TRUE)
+ SET(LEMON_HAVE_MIP TRUE)
+ SET(LEMON_HAVE_CLP TRUE)
+ SET(LEMON_HAVE_CBC TRUE)
++ SET(LEMON_LP_LIBRARIES ${LEMON_LP_LIBRARIES} ${COIN_LIBRARIES})
+ ENDIF(COIN_FOUND)
+ IF(SOPLEX_FOUND)
+ SET(LEMON_HAVE_LP TRUE)
+ SET(LEMON_HAVE_SOPLEX TRUE)
++ SET(LEMON_LP_LIBRARIES ${LEMON_LP_LIBRARIES} ${COIN_LIBRARIES})
+ ENDIF(SOPLEX_FOUND)
+
+ IF(ILOG_FOUND)
+diff --git a/lemon/CMakeLists.txt b/lemon/CMakeLists.txt
+index 8011833..2487345 100644
+--- a/lemon/CMakeLists.txt
++++ b/lemon/CMakeLists.txt
+@@ -59,6 +59,8 @@ IF(UNIX)
+ SET_TARGET_PROPERTIES(lemon PROPERTIES OUTPUT_NAME emon)
+ ENDIF()
+
++TARGET_LINK_LIBRARIES(lemon ${LEMON_LP_LIBRARIES})
++
+ INSTALL(
+ TARGETS lemon
+ ARCHIVE DESTINATION lib
diff --git a/sci-libs/lemon/files/lemon-1.3-multilib.patch b/sci-libs/lemon/files/lemon-1.3-multilib.patch
new file mode 100644
index 000000000000..ee578d4a0f6a
--- /dev/null
+++ b/sci-libs/lemon/files/lemon-1.3-multilib.patch
@@ -0,0 +1,18 @@
+ lemon/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lemon/CMakeLists.txt b/lemon/CMakeLists.txt
+index 8011833..0209acf 100644
+--- a/lemon/CMakeLists.txt
++++ b/lemon/CMakeLists.txt
+@@ -61,8 +61,8 @@ ENDIF()
+
+ INSTALL(
+ TARGETS lemon
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ COMPONENT library
+ )
+
diff --git a/sci-libs/lemon/lemon-1.3-r2.ebuild b/sci-libs/lemon/lemon-1.3-r2.ebuild
new file mode 100644
index 000000000000..5ed924f8dbcc
--- /dev/null
+++ b/sci-libs/lemon/lemon-1.3-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="C++ template static library of common data structures and algorithms"
+HOMEPAGE="https://lemon.cs.elte.hu/trac/lemon/"
+SRC_URI="http://lemon.cs.elte.hu/pub/sources/${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+coin doc glpk static-libs test tools"
+
+RDEPEND="
+ glpk? ( sci-mathematics/glpk:= )
+ coin? ( sci-libs/coinor-cbc:= sci-libs/coinor-clp:= )"
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/ghostscript-gpl
+ dev-libs/mathjax
+ app-doc/doxygen )"
+
+REQUIRED_USE="|| ( coin glpk )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${P}-as-needed.patch
+)
+
+src_prepare() {
+ sed -i \
+ -e '/ADD_SUBDIRECTORY(demo)/d' \
+ CMakeLists.txt || die
+
+ use doc || sed -i \
+ -e '/ADD_SUBDIRECTORY(doc)/d' \
+ CMakeLists.txt || die
+
+ use tools || sed -i \
+ -e '/ADD_SUBDIRECTORY(tools)/d' \
+ CMakeLists.txt || die
+
+ use test || sed -i \
+ -e '/ADD_SUBDIRECTORY(test)/d' \
+ CMakeLists.txt || die
+
+ for t in \
+ max_clique \
+ max_flow \
+ graph_utils \
+ random \
+ time_measure \
+ tsp; do
+ sed -i -e "/${t}_test/d" test/CMakeLists.txt || die
+ done
+ sed -i \
+ -e '/ADD_TEST(lp_test lp_test)/d' \
+ -e '/ADD_DEPENDENCIES(check lp_test)/d' \
+ test/CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=TRUE
+ -DCOIN_ROOT_DIR="${EPREFIX}/usr"
+ -DLEMON_DOC_MATHJAX_RELPATH="${EPREFIX}/usr/share/mathjax"
+ $(cmake-utils_use doc LEMON_DOC_SOURCE_BROWSER)
+ $(cmake-utils_use doc LEMON_DOC_USE_MATHJAX)
+ $(cmake-utils_use coin LEMON_ENABLE_COIN)
+ $(cmake-utils_use glpk LEMON_ENABLE_GLPK)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ emake -C "${BUILD_DIR}" check
+}
diff --git a/sci-libs/lemon/metadata.xml b/sci-libs/lemon/metadata.xml
new file mode 100644
index 000000000000..1a144a87e2f5
--- /dev/null
+++ b/sci-libs/lemon/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<maintainer>
+ <email>mmokrejs@gmail.com</email>
+ <name>Martin Mokrejs</name>
+</maintainer>
+<longdescription>
+ LEMON stands for Library for Efficient Modeling and Optimization in
+ Networks. It is a C++ template library providing efficient
+ implementations of common data structures and algorithms with focus
+ on combinatorial optimization tasks connected mainly with graphs and
+ networks.
+</longdescription>
+<use>
+ <flag name="coin">Enable the <pkg>coinor-clp</pkg> and
+ <pkg>coinor-cbc</pkg> graph algorithms</flag>
+ <flag name='glpk'>Enable GNU Linear Programming Kit
+ <pkg>sci-mathematics/glpk</pkg> support</flag>
+ <flag name="tools">Build additional tools</flag>
+ <flag name="coin">Enable the <pkg>coinor-clp</pkg> and
+ <pkg>coinor-cbc</pkg> graph algorithms
+ </flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/levmar/Manifest b/sci-libs/levmar/Manifest
new file mode 100644
index 000000000000..eed2a8fea595
--- /dev/null
+++ b/sci-libs/levmar/Manifest
@@ -0,0 +1 @@
+DIST levmar-2.6.tgz 81143 SHA256 3bf4ef1ea4475ded5315e8d8fc992a725f2e7940a74ca3b0f9029d9e6e94bad7 SHA512 5b4c64b63be9b29d6ad2df435af86cd2c2e3216313378561a670ac6a392a51bbf1951e96c6b1afb77c570f23dd8e194017808e46929fec2d8d9a7fe6cf37022b WHIRLPOOL fd9f45474a2fbc57f3a542480271d90a15163edebc6e9b70444f2d9d4c9ad1a3c1301d77cee5c5d41944224c888547c069ee7443a09ff478ea996c3358f81023
diff --git a/sci-libs/levmar/files/levmar-2.6-demo-underlinking.patch b/sci-libs/levmar/files/levmar-2.6-demo-underlinking.patch
new file mode 100644
index 000000000000..a6be5587d3e0
--- /dev/null
+++ b/sci-libs/levmar/files/levmar-2.6-demo-underlinking.patch
@@ -0,0 +1,12 @@
+diff -urN levmar-2.6.old/CMakeLists.txt levmar-2.6/CMakeLists.txt
+--- levmar-2.6.old/CMakeLists.txt 2014-08-07 18:22:25.739008113 +0200
++++ levmar-2.6/CMakeLists.txt 2014-08-07 18:22:36.050014845 +0200
+@@ -67,7 +67,7 @@
+
+ # demo program
+ IF(BUILD_DEMO)
+- SET(LIBS levmar)
++ SET(LIBS levmar m)
+
+ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}) # location of the levmar library
+ LINK_DIRECTORIES(${LAPACKBLAS_DIR})
diff --git a/sci-libs/levmar/files/levmar-2.6-shared.patch b/sci-libs/levmar/files/levmar-2.6-shared.patch
new file mode 100644
index 000000000000..e89750cc028f
--- /dev/null
+++ b/sci-libs/levmar/files/levmar-2.6-shared.patch
@@ -0,0 +1,12 @@
+diff -Nur levmar-2.6.orig/CMakeLists.txt levmar-2.6/CMakeLists.txt
+--- levmar-2.6.orig/CMakeLists.txt 2012-04-13 04:53:53.000000000 +0100
++++ levmar-2.6/CMakeLists.txt 2012-04-13 04:54:20.000000000 +0100
+@@ -60,7 +60,7 @@
+ ENDIF(HAVE_PLASMA)
+
+ # levmar library source files
+-ADD_LIBRARY(levmar STATIC
++ADD_LIBRARY(levmar SHARED
+ lm.c Axb.c misc.c lmlec.c lmbc.c lmblec.c lmbleic.c
+ levmar.h misc.h compiler.h
+ )
diff --git a/sci-libs/levmar/levmar-2.6.ebuild b/sci-libs/levmar/levmar-2.6.ebuild
new file mode 100644
index 000000000000..8b7c227a30de
--- /dev/null
+++ b/sci-libs/levmar/levmar-2.6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils eutils toolchain-funcs
+
+DESCRIPTION="Levenberg-Marquardt nonlinear least squares C library"
+HOMEPAGE="http://www.ics.forth.gr/~lourakis/levmar/"
+SRC_URI="${HOMEPAGE}/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-shared.patch
+ "${FILESDIR}"/${P}-demo-underlinking.patch
+)
+
+src_configure() {
+ local mycmakeargs+=(
+ -DNEED_F2C=OFF
+ -DHAVE_LAPACK=ON
+ -DLAPACKBLAS_LIB_NAMES="$($(tc-getPKG_CONFIG) --libs blas lapack)"
+ $(cmake-utils_use test BUILD_DEMO)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd ${CMAKE_BUILD_DIR}
+ ./lmdemo || die
+}
+
+src_install() {
+ dolib.so ${CMAKE_BUILD_DIR}/liblevmar.so
+ insinto /usr/include
+ doins levmar.h
+}
diff --git a/sci-libs/levmar/metadata.xml b/sci-libs/levmar/metadata.xml
new file mode 100644
index 000000000000..b0078f29f202
--- /dev/null
+++ b/sci-libs/levmar/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>3dprint</herd>
+<maintainer>
+ <email>amynka@gentoo.org</email>
+</maintainer>
+<longdescription lang="en">
+ levmar is a native ANSI C implementation of the Levenberg-Marquardt
+ optimization algorithm. Both unconstrained and constrained (under
+ linear equations, inequality and box constraints)
+ Levenberg-Marquardt variants are included. The LM algorithm is an
+ iterative technique that finds a local minimum of a function that is
+ expressed as the sum of squares of nonlinear functions.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/libbufr/Manifest b/sci-libs/libbufr/Manifest
new file mode 100644
index 000000000000..da7f5f559411
--- /dev/null
+++ b/sci-libs/libbufr/Manifest
@@ -0,0 +1 @@
+DIST bufr_000387.tar.gz 3673816 SHA256 bb8c39f15b2d1661ef2d66de8ee1fcaaa195e8cb80023fc3112d3dd816c97745 SHA512 906129809c92b22bd0a73524048128e4a44335eaf8c978bb4d0c3c5f5be7d01ce530e3248eec681b4662840e4ed0270089ddc801dca8f022e7d6cfbc5e4c2967 WHIRLPOOL 43af1997618c1f73fbd8ee6120c4ad8329f648d1bbb09165b5f750e30cd5d49e246cabb4a6b82341e8408ffb042cbd58cb82ed29e0c234a27fa44a684b89c169
diff --git a/sci-libs/libbufr/files/libbufr-000360-gcc-includes.patch b/sci-libs/libbufr/files/libbufr-000360-gcc-includes.patch
new file mode 100644
index 000000000000..8b0ac1ce9a65
--- /dev/null
+++ b/sci-libs/libbufr/files/libbufr-000360-gcc-includes.patch
@@ -0,0 +1,15 @@
+--- examples/bufr_decode.c.orig 2008-09-17 03:02:39.000000000 -0700
++++ examples/bufr_decode.c 2010-12-27 19:03:57.000000000 -0800
+@@ -7,9 +7,9 @@
+ * See LICENSE and gpl-3.0.txt for details.
+ */
+
+-#include "stdio.h"
+-#include "stdlib.h"
+-
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+
+
+ int main(int argc, char *argv[])
diff --git a/sci-libs/libbufr/files/libbufr-makefile.patch b/sci-libs/libbufr/files/libbufr-makefile.patch
new file mode 100644
index 000000000000..bc6196245ee0
--- /dev/null
+++ b/sci-libs/libbufr/files/libbufr-makefile.patch
@@ -0,0 +1,11 @@
+--- Makefile.orig 2011-03-16 22:05:18.000000000 -0700
++++ Makefile 2011-03-16 22:05:40.000000000 -0700
+@@ -10,7 +10,7 @@
+ ( echo "*************************"; \
+ echo "*** Make in $$name "; \
+ echo "*************************"; \
+- cd $$name ; make LIB=bufr ; ) done
++ $(MAKE) -C $$name LIB=bufr ; ) done
+
+ clean :
+ @for name in $(SUBDIRS); do\
diff --git a/sci-libs/libbufr/libbufr-000387.ebuild b/sci-libs/libbufr/libbufr-000387.ebuild
new file mode 100644
index 000000000000..0b274be76ff5
--- /dev/null
+++ b/sci-libs/libbufr/libbufr-000387.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils fortran-2 flag-o-matic toolchain-funcs
+
+MY_P="${PN/lib/}_${PV}"
+
+DESCRIPTION="ECMWF BUFR library - includes both C and Fortran example utilities"
+HOMEPAGE="http://www.ecmwf.int/products/data/software/bufr.html"
+SRC_URI="http://www.ecmwf.int/products/data/software/download/software_files/${MY_P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="debug doc examples"
+
+RDEPEND=""
+DEPEND="sys-apps/findutils"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ case "$(tc-getFC)" in
+ *gfortran)
+ export CNAME="_gfortran"
+ ;;
+ *g77)
+ export CNAME="_gnu"
+ ;;
+ *pgf90|*pgf77)
+ export CNAME=""
+ ;;
+ ifc|ifort)
+ export CNAME="_intel"
+ ;;
+ esac
+
+ elog "Note non-GNU compilers are not currently supported on non-x86"
+ elog "architectures. If you need it, please subit a patch..."
+
+ export target="linux"
+ export A64=""
+ export R64=""
+ case "${ARCH}" in
+ amd64)
+ export R64="R64"
+ export A64="A64"
+ ;;
+ ppc64)
+ export target="ppc_G5"
+ ;;
+ ppc)
+ export target="ppc"
+ ;;
+ *)
+ ;;
+ esac
+}
+
+src_prepare() {
+ update_configs
+ epatch "${FILESDIR}"/${PN}-makefile.patch
+
+ local config="config/config.$target$CNAME$R64$A64"
+
+ if [[ "${ARCH}" == "ppc" ]] ; then
+ sed -i -e "s|= -mcpu=G4 -mtune=G4|= |" $config
+ elif [[ "${ARCH}" == "ppc64" ]] ; then
+ sed -i -e "s|= -mcpu=G5 -mtune=G5|= |" $config
+ fi
+
+ sed -i -e "s:DEBUG = -O2:DEBUG = -g:g" $config
+
+ # add local CFLAGS to and build flags
+ use debug || sed -i -e "s|\$(DEBUG)|${CFLAGS}|" $config
+
+ # add local LDFLAGS to link commands
+ sed -i \
+ -e "s|-o|${LDFLAGS} -o|" \
+ examples/Makefile \
+ bufrtables/Makefile
+}
+
+src_compile() {
+ EBUILD_ARCH="${ARCH}"
+ EBUILD_CFLAGS="${CFLAGS}"
+ unset ARCH CFLAGS
+ tc-export CC
+ append-flags -DTABLE_PATH="/usr/share/bufrtables"
+
+ # emake won't work with this fossil...
+ make ARCH=$target || die "make failed"
+
+ pushd examples > /dev/null
+ make ARCH=$target decode_bufr bufr_decode \
+ create_bufr decode_bufr_image tdexp \
+ || die "make examples failed"
+ popd > /dev/null
+
+ generate_files
+
+ ARCH="${EBUILD_ARCH}"
+ CFLAGS="${EBUILD_CFLAGS}"
+}
+
+src_test() {
+ cd "${S}"/examples
+ BUFR_TABLES="${S}/bufrtables/" ./decode_bufr -i \
+ ../data/ISMD01_OKPR.bufr < ../response_file
+}
+
+src_install() {
+ # install library
+ dolib.a libbufr$R64.a
+
+ dosbin bufrtables/{bufr2txt_tables,bufr_split_tables,txt2bufr_tables}
+ dobin examples/{create_bufr,decode_bufr,decode_bufr_image,tdexp}
+
+ keepdir /usr/share/bufrtables
+ insinto /usr/share/bufrtables
+ doins bufrtables/*000*
+
+ # files generated above
+ doenvd 20${PN}
+
+ dodoc README
+ if use doc ; then
+ insinto /usr/share/doc/${P}
+ doins doc/*.pdf
+ fi
+
+ if use examples ; then
+ newdoc examples/README README.examples
+ insinto /usr/share/doc/${P}/examples
+ doins examples/{*.F,*.c,Makefile}
+ fi
+}
+
+pkg_postinst() {
+ elog
+ elog "This is the only GPL'd BUFR decoder library written in C/Fortran"
+ elog "but the build system is an old kluge that pre-dates the discovery"
+ elog "of fire. File bugs as usual if you have build/runtime problems."
+ elog ""
+ elog "The default BUFR tables are stored in /usr/share/bufrtables, so"
+ elog "add your local tables there if needed. Only a static lib is"
+ elog "installed currently, as shared lib support is incomplete (feel"
+ elog "free to submit a patch :)"
+ elog ""
+ elog "The installed user-land bufr utilities are just the examples;"
+ elog "the main library is really all there is (and there are no man"
+ elog "pages either). Install the examples and use the source, Luke..."
+ elog
+}
+
+generate_files() {
+ ## Do not remove blank lines from the response file
+ cat <<-EOF > 20${PN}
+ BUFR_TABLES="/usr/share/bufrtables"
+ CONFIG_PROTECT="/usr/share/bufrtables"
+ EOF
+
+ cat <<-EOF > response_file
+ N
+ N
+ N
+ 1
+
+ N
+ EOF
+}
+
+update_configs() {
+ find . -type f | xargs chmod -x
+ chmod +x bufrtables/links.sh
+ cp options/options_linux options/options_ppc
+ cp options/options_linux options/options_ppc_G5
+ cp pbio/sources.linux pbio/sources.ppc
+ cp pbio/sources.linux pbio/sources.ppc_G5
+ pushd config > /dev/null
+ cp config.ppc config.ppc_gfortran
+ cp config.ppcR64 config.ppc_gfortranR64
+ cp config.ppc_G5 config.ppc_G5_gfortran
+ cp config.ppcR64_G5 config.ppc_G5_gfortranR64
+ popd > /dev/null
+}
diff --git a/sci-libs/libbufr/metadata.xml b/sci-libs/libbufr/metadata.xml
new file mode 100644
index 000000000000..69b4f2ff1403
--- /dev/null
+++ b/sci-libs/libbufr/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+ <longdescription>This is mainly just an open source BUFR library from ECMWF
+ that comes with a few example toolss (some of which are built and installed).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/libccd/Manifest b/sci-libs/libccd/Manifest
new file mode 100644
index 000000000000..be2338ec4ddf
--- /dev/null
+++ b/sci-libs/libccd/Manifest
@@ -0,0 +1 @@
+DIST libccd-2.0.tar.gz 68103 SHA256 513e212fbb22cf720cf16ba911e8a8ccb1050c006789631ff2474ecc2f12b47a SHA512 627426f1acd24779e7d596fd5b18dede4cf3c13d3cceda87a8b2d0195b72d9ada45290fd41baa20d6e3adafda75074db355cb95a60f80023c32b5ad4e72235bf WHIRLPOOL cc83b492855333549e7ab3707f66259191b865e49971a698fa875d44887d00fc9fdad5b5eb014703c8e92f66260c94baafe7f0199f7afdc206b7103b94190488
diff --git a/sci-libs/libccd/libccd-2.0.ebuild b/sci-libs/libccd/libccd-2.0.ebuild
new file mode 100644
index 000000000000..6d67b3690c78
--- /dev/null
+++ b/sci-libs/libccd/libccd-2.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/danfis/libccd"
+fi
+
+inherit ${SCM} cmake-utils toolchain-funcs
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://libccd.danfis.cz/files/${P}.tar.gz"
+fi
+
+DESCRIPTION="Library for collision detection between two convex shapes"
+HOMEPAGE="http://libccd.danfis.cz/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="double doc"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+DOCS=( README )
+
+src_configure() {
+ local mycmakeargs=(
+ "-DCCD_DOUBLE=$(usex double TRUE FALSE)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc ; then
+ cd "${S}/doc"
+ emake SPHINXBUILD=sphinx-build html
+ fi
+}
+
+src_test() {
+ cd src/testsuites
+ tc-export CC
+ LDFLAGS="-L${BUILD_DIR} ${LDFLAGS}" \
+ LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" \
+ emake check
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dohtml -r "${S}/doc/_build/html/"*
+}
diff --git a/sci-libs/libccd/libccd-9999.ebuild b/sci-libs/libccd/libccd-9999.ebuild
new file mode 100644
index 000000000000..6d67b3690c78
--- /dev/null
+++ b/sci-libs/libccd/libccd-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/danfis/libccd"
+fi
+
+inherit ${SCM} cmake-utils toolchain-funcs
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://libccd.danfis.cz/files/${P}.tar.gz"
+fi
+
+DESCRIPTION="Library for collision detection between two convex shapes"
+HOMEPAGE="http://libccd.danfis.cz/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="double doc"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )"
+DOCS=( README )
+
+src_configure() {
+ local mycmakeargs=(
+ "-DCCD_DOUBLE=$(usex double TRUE FALSE)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc ; then
+ cd "${S}/doc"
+ emake SPHINXBUILD=sphinx-build html
+ fi
+}
+
+src_test() {
+ cd src/testsuites
+ tc-export CC
+ LDFLAGS="-L${BUILD_DIR} ${LDFLAGS}" \
+ LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" \
+ emake check
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dohtml -r "${S}/doc/_build/html/"*
+}
diff --git a/sci-libs/libccd/metadata.xml b/sci-libs/libccd/metadata.xml
new file mode 100644
index 000000000000..5825d26f0d1a
--- /dev/null
+++ b/sci-libs/libccd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>aballier@gentoo.org</email>
+<name>Alexis Ballier</name>
+</maintainer>
+ <use>
+ <flag name="double">Use double precision floats.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/libcerf/Manifest b/sci-libs/libcerf/Manifest
new file mode 100644
index 000000000000..5c0fb6b21ec0
--- /dev/null
+++ b/sci-libs/libcerf/Manifest
@@ -0,0 +1,2 @@
+DIST libcerf-1.3.tgz 385600 SHA256 d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859 SHA512 274fa7f3b149bb27582a54a39fe76b478cd5acc6716dd0588a2f637b77c87a6bbc4f467b52bb067ebad2d1ba18750211cc71c6a6feef75fa08d01ac1dbf5dc56 WHIRLPOOL 6f003e26aa76458da620dc4261cfc3b9ec77882a62e5f1a42ffa83c252ae39399e1244c16ad101ff98469ed59970be04b5f901a418e9681f7657adc76e0698f2
+DIST libcerf-1.4.tgz 386065 SHA256 101265dd1e1b10339adb70b22b60e65ef12c4e01c4a3f52e508562eceef62272 SHA512 93d7b03898c0f88e436947b204db7fb5097dc901928aedde48bf0a04552e1c041fdfcdbe6318fdc21508e1349b6c205f557660550e72d6e86b078d9d0dde0faa WHIRLPOOL c2f3093e7a080dde5252fbd91fb62ff3abccbf2d900cd21c6a54821ec8fbc2e4326d1dd60d838111a9d8853e19088453b886a34415e018dd1b5d276d6a86c5ed
diff --git a/sci-libs/libcerf/files/libcerf-1.3-autotools.patch b/sci-libs/libcerf/files/libcerf-1.3-autotools.patch
new file mode 100644
index 000000000000..caa00dd133ed
--- /dev/null
+++ b/sci-libs/libcerf/files/libcerf-1.3-autotools.patch
@@ -0,0 +1,70 @@
+Send upstream (j.wuttke@fz-juelich.de) 14.07.14
+diff -Naur libcerf-1.3.orig/configure.ac libcerf-1.3/configure.ac
+--- libcerf-1.3.orig/configure.ac 2013-07-17 03:49:33.000000000 -0600
++++ libcerf-1.3/configure.ac 2014-07-21 17:01:15.399324021 -0600
+@@ -19,7 +19,7 @@
+ # Website:
+ # http://apps.jcns.fz-juelich.de/libcerf
+
+-AC_INIT([cerf],[1:3],[http://apps.jcns.fz-juelich.de/libcerf])
++AC_INIT([libcerf],[1:3],[http://apps.jcns.fz-juelich.de/libcerf])
+ # version is current:revision:age; for simplicity, we always put age=0
+ # <- http://www.sourceware.org/autobook/autobook/autobook_91.html
+
+@@ -31,7 +31,7 @@
+ LT_INIT([disable-static])
+
+ AC_PROG_CC_C99
+-AC_SUBST(AM_CFLAGS,"-pedantic -Wall -Werror")
++AC_SUBST(AM_CFLAGS,"-pedantic -Wall")
+ AC_CONFIG_HEADERS([config.h]) # to avoid endless -D options
+ AC_HEADER_STDC
+
+diff -Naur libcerf-1.3.orig/libcerf.pc.in libcerf-1.3/libcerf.pc.in
+--- libcerf-1.3.orig/libcerf.pc.in 2013-07-17 03:51:59.000000000 -0600
++++ libcerf-1.3/libcerf.pc.in 2014-07-14 11:18:01.646512503 -0600
+@@ -7,4 +7,5 @@
+ Description: Complex error function library
+ Version: @PACKAGE_VERSION@
+ Libs: -L${libdir} -lcerf
++Libs.private: -lm
+ Cflags: -I${includedir}
+diff -Naur libcerf-1.3.orig/man/Makefile.am libcerf-1.3/man/Makefile.am
+--- libcerf-1.3.orig/man/Makefile.am 2013-02-01 02:00:14.000000000 -0700
++++ libcerf-1.3/man/Makefile.am 2014-07-14 11:17:36.266182267 -0600
+@@ -19,9 +19,8 @@
+ # Website:
+ # http://apps.jcns.fz-juelich.de/libcerf
+
+-man_MANS = w_of_z.3 im_w_of_x.3 dawson.3 cdawson.3 cerf.3 cerfc.3 erfcx.3 cerfcx.3 erfi.3 cerfi.3 voigt.3
+-auxdir = $(datadir)/man/html
+-aux_DATA = w_of_z.html voigt.html dawson.html cerf.html erfcx.html erfi.html
++man_MANS = w_of_z.3 im_w_of_x.3 dawson.3 cdawson.3 libcerf-cerf.3 cerfc.3 erfcx.3 cerfcx.3 erfi.3 cerfi.3 voigt.3
++html_DATA = w_of_z.html voigt.html dawson.html cerf.html erfcx.html erfi.html
+
+ w_of_z.3 : w_of_z.pod
+ pod2man -s 3 -c "libcerf manual" $< > $@
+@@ -35,7 +34,7 @@
+ cdawson.3 : dawson.pod
+ pod2man -s 3 -c "libcerf manual" $< > $@
+
+-cerf.3 : cerf.pod
++libcerf-cerf.3 : cerf.pod
+ pod2man -s 3 -c "libcerf manual" $< > $@
+
+ cerfc.3 : cerf.pod
+diff -Naur libcerf-1.3.orig/test/Makefile.am libcerf-1.3/test/Makefile.am
+--- libcerf-1.3.orig/test/Makefile.am 2013-07-17 01:45:37.000000000 -0600
++++ libcerf-1.3/test/Makefile.am 2014-07-14 11:16:00.204932368 -0600
+@@ -20,8 +20,10 @@
+ # http://apps.jcns.fz-juelich.de/libcerf
+
+ AM_CFLAGS += -I$(srcdir)/../lib
+-noinst_PROGRAMS = test_libcerf_1 runvoigt run_w_of_z
++noinst_PROGRAMS = runvoigt run_w_of_z
+ test_libcerf_1_SOURCES = test1.c
+ runvoigt_SOURCES = runvoigt.c
+ run_w_of_z_SOURCES = run_w_of_z.c
+ AM_LDFLAGS = -lm -L../lib -lcerf
++check_PROGRAMS = test_libcerf_1
++TESTS = test_libcerf_1
diff --git a/sci-libs/libcerf/libcerf-1.3.ebuild b/sci-libs/libcerf/libcerf-1.3.ebuild
new file mode 100644
index 000000000000..f0702f29a64e
--- /dev/null
+++ b/sci-libs/libcerf/libcerf-1.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils multilib
+
+DESCRIPTION="library that provides an efficient and accurate implementation of complex error functions"
+HOMEPAGE="http://apps.jcns.fz-juelich.de/doku/sc/libcerf"
+SRC_URI="http://apps.jcns.fz-juelich.de/src/${PN}/${P}.tgz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc static-libs test"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-autotools.patch" )
+AUTOTOOLS_AUTORECONF=1
diff --git a/sci-libs/libcerf/libcerf-1.4.ebuild b/sci-libs/libcerf/libcerf-1.4.ebuild
new file mode 100644
index 000000000000..dd6ad9ccbc6b
--- /dev/null
+++ b/sci-libs/libcerf/libcerf-1.4.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="library that provides an efficient and accurate implementation of complex error functions"
+HOMEPAGE="http://apps.jcns.fz-juelich.de/doku/sc/libcerf"
+SRC_URI="http://apps.jcns.fz-juelich.de/src/${PN}/${P}.tgz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc static-libs test"
+
+src_install() {
+ autotools-utils_src_install
+ mv "${ED}"/usr/share/man/man3/{,${PN}-}cerf.3 || die #collision with sys-apps/man-pages
+ use doc || rm "${ED}"/usr/share/doc/${P}/*.html || die
+}
diff --git a/sci-libs/libcerf/metadata.xml b/sci-libs/libcerf/metadata.xml
new file mode 100644
index 000000000000..897aa2e6b59a
--- /dev/null
+++ b/sci-libs/libcerf/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+</pkgmetadata>
diff --git a/sci-libs/libcmatrix/Manifest b/sci-libs/libcmatrix/Manifest
new file mode 100644
index 000000000000..aeb85b4f3b05
--- /dev/null
+++ b/sci-libs/libcmatrix/Manifest
@@ -0,0 +1 @@
+DIST libcmatrix-3.11.0.tar.gz 1064634 SHA256 0cd4b1f921235ea64d7fbd8d814fbe639bf9ddb23e4a6d3182cf2788cc23f8b8 SHA512 b0f5d9382e0a7c6f8695488481c51e5cdc38d89c9371203870c31a91bf957956a85301cf3aa035b9214d581077581dc1f599f092dd2f077ee14e6b4fd06128c2 WHIRLPOOL 327d24b3aba2dc392523acbd07a91acbe00b3e901e279e45764dc723617a173c0301152a253b63054efa134e3527075f95b7354b6188ef649ffb1316fd37d035
diff --git a/sci-libs/libcmatrix/files/3.11.0-shared.patch b/sci-libs/libcmatrix/files/3.11.0-shared.patch
new file mode 100644
index 000000000000..6c5c3167619e
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.11.0-shared.patch
@@ -0,0 +1,80 @@
+diff --git a/Makefile.in b/Makefile.in
+index 1361371..1448e76 100755
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -13,8 +13,8 @@ AR=@AR@
+
+ # You shouldn't need to alter anything below here
+
+-COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
+-ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG
++COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c
++#ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG
+
+ LOCALOBJS= local/CrystalSystem.o local/CrystalGeneric.o local/MoleculeStructure.o
+ COREOBJS= coredefs/complex.o coredefs/common.o coredefs/diagonal.o coredefs/diagonalise.o coredefs/power.o coredefs/invert.o coredefs/transforms.o coredefs/blocking.o coredefs/mixed.o coredefs/realtransforms.o coredefs/Chebyshev.o
+@@ -36,7 +36,7 @@ ALLTHROBJS=$(UNSAFEOBJS:.o=_r.o) $(ALLSAFEOBJS)
+
+ ROOT=..
+
+-first: lib/libcmatrix.a
++first: lib/libcmatrix.so.3.11.0
+
+ #%.o: %.f
+ # @F77@ @FFLAGS@ -c -o $@ $<
+@@ -68,25 +68,25 @@ tempclean:
+ # -cd optim; @CLEAN@
+ # -cd local; @CLEAN@
+
+-lib/libcmatrix.a: $(ALLNORMOBJS)
+- $(AR) $@ $(ALLNORMOBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
+-
+-lib/libcmatrix_p.a: $(ALLPROFOBJS)
+- $(AR) $@ $(ALLPROFOBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
+-
+-lib/libcmatrix-g.a: $(ALLGOBJS)
+- $(AR) $@ $(ALLGOBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
+-
+-lib/libcmatrix_r.a: $(ALLTHROBJS)
+- $(AR) @MTFLAGS@ $@ $(ALLTHROBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
++lib/libcmatrix.so.3.11.0: $(ALLNORMOBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLNORMOBJS) -lrt @ATLAS_LIBS@
++ ln -sf libcmatrix.so.3.11.0 lib/libcmatrix.so.3
++ ln -sf libcmatrix.so.3.11.0 lib/libcmatrix.so
++
++lib/libcmatrix_p.so.3.11.0: $(ALLPROFOBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLPROFOBJS) -lrt @ATLAS_LIBS@
++ ln -sf libcmatrix_p.so.3.11.0 lib/libcmatrix_p.so.3
++ ln -sf libcmatrix_p.so.3.11.0 lib/libcmatrix_p.so
++
++lib/libcmatrix-g.so.3.11.0: $(ALLGOBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLGOBJS) -lrt @ATLAS_LIBS@
++ ln -sf libcmatrix-g.so.3.11.0 lib/libcmatrix-g.so.3
++ ln -sf libcmatrix-g.so.3.11.0 lib/libcmatrix-g.so
++
++lib/libcmatrix.so_r.3.11.0: $(ALLTHROBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLTHROBJS) -lrt @ATLAS_LIBS@
++ ln -sf libcmatrix_r.so.3.11.0 lib/libcmatrix_r.so.3
++ ln -sf libcmatrix_r.so.3.11.0 lib/libcmatrix_r.so
+
+ @CONFIGLEAF@.tar.gz:
+ cd $(ROOT) ; tar --exclude lib/* --exclude *.o --exclude=*~ --exclude=Makefile --exclude=include/config.h --exclude=config.status -cvf @CONFIGLEAF@.tar @CONFIGLEAF@
+diff --git a/configure.ac b/configure.ac
+index c0ae0e1..50dcd5a 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,5 +1,6 @@
+ AC_INIT(configure.ac)
+ AC_CONFIG_HEADER(include/config.h)
++LT_INIT
+
+ DEFAR="ar ru"
+ MAKEEXTRA=
diff --git a/sci-libs/libcmatrix/files/3.2.1-atlas.patch b/sci-libs/libcmatrix/files/3.2.1-atlas.patch
new file mode 100644
index 000000000000..b10b41d4e389
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.2.1-atlas.patch
@@ -0,0 +1,33 @@
+ configure-libraries.ac | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/configure-libraries.ac b/configure-libraries.ac
+index a64e79c..afc75b8 100755
+--- a/configure-libraries.ac
++++ b/configure-libraries.ac
+@@ -33,6 +33,7 @@ AC_ARG_WITH(atlas,
+ AS_HELP_STRING([--with-atlas],[use the ATLAS BLAS library (default-use if found)]),,with_atlas=check)
+ if test x$with_atlas != xno; then
+ FOUNDATLAS=yes
++ PKG_CHECK_MODULES([ATLAS], [cblas])
+ AC_CHECK_HEADERS(cblas.h,,FOUNDATLAS=no
+ AC_MSG_WARN([ATLAS header files (cblas.h) not found
+ Is CPPFLAGS is defined to include relevant directory?]))
+@@ -40,7 +41,7 @@ Is CPPFLAGS is defined to include relevant directory?]))
+ AC_MSG_WARN([ATLAS library (libatlas.a) not found
+ Is LDFLAGS is defined to include relevant directory?]))
+ if test x$FOUNDATLAS = xyes; then
+- LIBS="-lcblas $LIBS"
++ LIBS="$ATLAS_LIBS $LIBS"
+ CXXFLAGS="$CXXFLAGS -DLCM_USE_EXTERNAL"
+ else
+ if test x$with_atlas = xyes; then
+@@ -49,6 +50,8 @@ Is LDFLAGS is defined to include relevant directory?]))
+ fi
+ fi
+
++AC_SUBST(ATLAS_LIBS)
++
+ AC_ARG_WITH(acml,
+ AS_HELP_STRING([--with-acml],[use the ACML BLAS library (default=no)]),,with_acml=no)
+ if test x$with_acml = xyes; then
diff --git a/sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch b/sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch
new file mode 100644
index 000000000000..24c1a89b48d0
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.2.1-gcc4.4.patch
@@ -0,0 +1,12 @@
+diff --git a/include/DynamicList.h b/include/DynamicList.h
+index f8c1346..05a7b10 100755
+--- a/include/DynamicList.h
++++ b/include/DynamicList.h
+@@ -4,6 +4,7 @@
+ #include "BaseList.h"
+ #include "lcm_basethreads.h"
+ #include "Warnings.h"
++#include <cstdio>
+
+ namespace libcmatrix {
+
diff --git a/sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch b/sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch
new file mode 100644
index 000000000000..b3d8c8d19996
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.2.1-gcc4.6.patch
@@ -0,0 +1,16 @@
+ NMR/MetaPropagation.cc | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/NMR/MetaPropagation.cc b/NMR/MetaPropagation.cc
+index b7ed98b..ce8c16f 100755
+--- a/NMR/MetaPropagation.cc
++++ b/NMR/MetaPropagation.cc
+@@ -2136,7 +2136,7 @@ SpinOpGenerator::add_A0(T& dest,F func, double coup, size_t j, size_t sk, Type2T
+ { ref_.clear(0); }
+ const space_T& operator()() const { return ref_; }
+ ~fudge_isotropic_() { ref_.ensure_rank(0); }
+- mutable space_T& ref_;
++ space_T& ref_;
+ };
+ template<> struct fudge_isotropic_<double> {
+ fudge_isotropic_(double v) : v_(v) {};
diff --git a/sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch b/sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch
new file mode 100644
index 000000000000..633c9d50cf94
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.2.1-gcc4.7.patch
@@ -0,0 +1,227 @@
+ include/MultiMatrix.h | 14 +++++++-------
+ include/UnionHolder.h | 40 ++++++++++++++++++++--------------------
+ include/basedefs.h | 22 ++++++++++++----------
+ utils/Fork_controller.cc | 3 +++
+ utils/ttyio.cc | 2 ++
+ 5 files changed, 44 insertions(+), 37 deletions(-)
+
+diff --git a/include/MultiMatrix.h b/include/MultiMatrix.h
+index b6fec33..2d54db5 100755
+--- a/include/MultiMatrix.h
++++ b/include/MultiMatrix.h
+@@ -254,19 +254,19 @@ namespace libcmatrix {
+ }
+
+ size_t operator()(size_t r) const
+- { check_bounds_open(dim,r);
++ { this->check_bounds_open(dim,r);
+ return r*mults[0]; }
+
+ size_t operator()(size_t r,size_t s) const
+- { check_bounds_open(dim,r,s);
++ { this->check_bounds_open(dim,r,s);
+ return r*mults[0]+s*mults[1]; }
+
+ size_t operator()(size_t r,size_t s,size_t t) const
+- { check_bounds_open(dim,r,s,t);
++ { this->check_bounds_open(dim,r,s,t);
+ return r*mults[0]+s*mults[1]+t*mults[2]; }
+
+ size_t operator()(size_t r,size_t s,size_t t,size_t u) const
+- { check_bounds_open(dim,r,s,t,u);
++ { this->check_bounds_open(dim,r,s,t,u);
+ return r*mults[0]+s*mults[1]+t*mults[2]+u*mults[3]; }
+
+ size_t index(size_t r) const
+@@ -293,14 +293,14 @@ namespace libcmatrix {
+
+ void reverse(size_t& r, size_t& s, size_t ind) const {
+ LCM_STATIC_CHECK(N==2, Indexer_non2D_object);
+- check(ind<size(),"Indexer::reverse");
++ this->check(ind<size(),"Indexer::reverse");
+ r=ind / mults[0];
+ s=ind-r*mults[0];
+ }
+
+ void reverse(size_t& r, size_t& s, size_t& t, size_t ind) const {
+ LCM_STATIC_CHECK(N==3, Indexer_non3D_object);
+- check(ind<size(),"Indexer::reverse");
++ this->check(ind<size(),"Indexer::reverse");
+ r=ind / mults[0];
+ ind-=r*mults[0];
+ s=ind / mults[1];
+@@ -309,7 +309,7 @@ namespace libcmatrix {
+
+ void reverse(size_t& r, size_t& s, size_t& t, size_t& u, size_t ind) const {
+ LCM_STATIC_CHECK(N==4, Indexer_non4D_object);
+- check(ind<size(),"Indexer::reverse");
++ this->check(ind<size(),"Indexer::reverse");
+ r=ind / mults[0];
+ ind-=r*mults[0];
+ s=ind / mults[1];
+diff --git a/include/UnionHolder.h b/include/UnionHolder.h
+index f447501..3157330 100755
+--- a/include/UnionHolder.h
++++ b/include/UnionHolder.h
+@@ -359,21 +359,21 @@ namespace libcmatrix {
+ //! overrides ::clear method from ::CommonHolder
+ void clear() {
+ switch (type_) {
+- case 1: clear_(first_); break;
+- case 2: clear_(second_); break;
+- case 3: clear_(third_); break;
+- case 4: clear_(fourth_); break;
+- case 5: clear_(fifth_); break;
+- case 6: clear_(sixth_); break;
+- case 7: clear_(seventh_); break;
+- case 8: clear_(eighth_); break;
+- case 9: clear_(nineth_); break;
++ case 1: this->clear_(first_); break;
++ case 2: this->clear_(second_); break;
++ case 3: this->clear_(third_); break;
++ case 4: this->clear_(fourth_); break;
++ case 5: this->clear_(fifth_); break;
++ case 6: this->clear_(sixth_); break;
++ case 7: this->clear_(seventh_); break;
++ case 8: this->clear_(eighth_); break;
++ case 9: this->clear_(nineth_); break;
+ }
+ type_=0;
+ }
+
+ template<class T> UnionHolder& operator= (const T& v) {
+- get(Type2Type<T>())=v;
++ this->get(Type2Type<T>())=v;
+ type(Type2Type<T>()); //only change type if assignment was successful
+ return *this;
+ }
+@@ -399,12 +399,12 @@ namespace libcmatrix {
+
+ template<class T> T& set(Type2Type<T> in) {
+ type(in);
+- return get(in);
++ return this->get(in);
+ }
+
+ template<int M> typename reverse<M>::type& set(Int2Type<M> in) {
+ type(in);
+- return get(Type2Type<typename reverse<M>::type>());
++ return this->get(Type2Type<typename reverse<M>::type>());
+ }
+
+ template<class T> T& operator()(Type2Type<T> in) {
+@@ -429,12 +429,12 @@ namespace libcmatrix {
+
+ template<int M> typename reverse<M>::type& operator()(Int2Type<M> in) {
+ verify(in);
+- return get(Type2Type<typename reverse<M>::type>());
++ return this->get(Type2Type<typename reverse<M>::type>());
+ }
+
+ template<int M> const typename reverse<M>::type& operator()(Int2Type<M> in) const {
+ verify(in);
+- return get(Type2Type<typename reverse<M>::type>());
++ return this->get(Type2Type<typename reverse<M>::type>());
+ }
+ };
+
+@@ -482,12 +482,12 @@ namespace libcmatrix {
+ bool iscomplex() const { return (this->type()==COMPLEX); }
+ bool isreal() const { return (this->type()==REAL); }
+
+- C& set_complex() { return set(Int2Type<COMPLEX>()); }
+- R& set_real() { return set(Int2Type<REAL>()); }
+- const C& get_complex() const { return get(Type2Type<C>()); }
+- const R& get_real() const { return get(Type2Type<R>()); }
+- C& get_complex() { return get(Type2Type<C>()); }
+- R& get_real() { return get(Type2Type<R>()); }
++ C& set_complex() { return this->set(Int2Type<COMPLEX>()); }
++ R& set_real() { return this->set(Int2Type<REAL>()); }
++ const C& get_complex() const { return this->get(Type2Type<C>()); }
++ const R& get_real() const { return this->get(Type2Type<R>()); }
++ C& get_complex() { return this->get(Type2Type<C>()); }
++ R& get_real() { return this->get(Type2Type<R>()); }
+ };
+
+ } //namespace libcmatrix
+diff --git a/include/basedefs.h b/include/basedefs.h
+index 420b341..80d47e3 100755
+--- a/include/basedefs.h
++++ b/include/basedefs.h
+@@ -13,6 +13,8 @@
+ #include <functional>
+ #include <iterator>
+ #include <algorithm>
++#include <math.h>
++//#include "BlockedMatrix.h"
+ //#include <complex>
+
+ // #ifdef LCM_DEBUG_ALLOCATOR
+@@ -1703,6 +1705,16 @@ template<size_t N> struct Multiply_<N,N,0> {
+ }
+ };
+
++template<size_t,size_t,size_t> struct Mla_ {
++ template<class T1,class T2,class T3> static void func(T1&, const T2&, const T3&) {
++ LCM_STATIC_ERROR( mla_incompatible_dimensionalities );
++ }
++};
++
++template<class T1,class T2,class T3> inline void mla(T1& d,const T2& a,const T3& b) {
++ Mla_<LCM_DIM(T1),LCM_DIM(T2),LCM_DIM(T3)>::func(d,a,b);
++}
++
+ template<> struct Multiply_<2,2,2> {
+ template<class T1,class T2,class T3> static void func(T1& dest,const T2& a,const T3& b)
+ {
+@@ -1875,12 +1887,6 @@ template<> struct Multiply_<0,0,0> {
+ Multiply_<LCM_DIM(T1),LCM_DIM(T2),LCM_DIM(T3)>::func(d,a,b);
+ }
+
+-template<size_t,size_t,size_t> struct Mla_ {
+- template<class T1,class T2,class T3> static void func(T1&, const T2&, const T3&) {
+- LCM_STATIC_ERROR( mla_incompatible_dimensionalities );
+- }
+-};
+-
+ template<size_t N> struct Mla_<N,0,N> {
+ template<class T1,class T2,class T3> LCM_INLINE static void func(T1& d, const T2& a, const T3& b) {
+ if (d.empty())
+@@ -1940,10 +1946,6 @@ template<> struct Mla_<0,0,0> {
+ }
+ };
+
+-template<class T1,class T2,class T3> inline void mla(T1& d,const T2& a,const T3& b) {
+- Mla_<LCM_DIM(T1),LCM_DIM(T2),LCM_DIM(T3)>::func(d,a,b);
+-}
+-
+ template<class T,size_t N> struct Print_ {
+ static void print(const T& a,std::ostream& ostr) {
+ ostr << '[';
+diff --git a/utils/Fork_controller.cc b/utils/Fork_controller.cc
+index 5f6b913..08ec942 100755
+--- a/utils/Fork_controller.cc
++++ b/utils/Fork_controller.cc
+@@ -3,6 +3,9 @@
+ #include <sys/wait.h>
+ #include <time.h>
+ #include <cstdio>
++#include <sys/types.h>
++#include <unistd.h>
++
+
+ namespace libcmatrix {
+
+diff --git a/utils/ttyio.cc b/utils/ttyio.cc
+index 17e4eb3..bbeac81 100755
+--- a/utils/ttyio.cc
++++ b/utils/ttyio.cc
+@@ -17,6 +17,8 @@
+ #include "args_iter.h"
+ #endif
+
++#include <unistd.h>
++
+ namespace libcmatrix {
+
+ namespace {
diff --git a/sci-libs/libcmatrix/files/3.2.1-minuit2.patch b/sci-libs/libcmatrix/files/3.2.1-minuit2.patch
new file mode 100644
index 000000000000..24dc5628b8f0
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.2.1-minuit2.patch
@@ -0,0 +1,14 @@
+--- configure-libraries.ac 2008-03-04 00:48:46.000000000 +0100
++++ configure-libraries.ac.new 2009-03-19 18:22:21.000000000 +0100
+@@ -14,8 +14,8 @@
+ fi
+ if test x$FOUNDMINUIT = xyes; then
+ AC_CHECK_LIB(lcg_Minuit,main,,
+- AC_CHECK_LIB(Minuit,main,,FOUNDMINUIT=no
+- AC_MSG_WARN([Minuit library (liblcg_Minuit or libMinuit) not found
++ AC_CHECK_LIB(Minuit2,main,,FOUNDMINUIT=no
++ AC_MSG_WARN([Minuit library (liblcg_Minuit or libMinuit2) not found
+ Is LDFLAGS is defined to include relevant directory?])))
+ if test x$FOUNDMINUIT = xyes; then
+ AC_DEFINE(HAVE_LIBMINUIT)
+
diff --git a/sci-libs/libcmatrix/files/3.2.1-shared.patch b/sci-libs/libcmatrix/files/3.2.1-shared.patch
new file mode 100644
index 000000000000..4e843027abde
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.2.1-shared.patch
@@ -0,0 +1,80 @@
+diff --git a/Makefile.in b/Makefile.in
+index 1361371..1448e76 100755
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -13,8 +13,8 @@ AR=@AR@
+
+ # You shouldn't need to alter anything below here
+
+-COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c
+-ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG
++COMPILE=$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -c
++#ALLOPTFLAGS=$(OPTFLAGS) -DNDEBUG
+
+ LOCALOBJS= local/CrystalSystem.o local/CrystalGeneric.o local/MoleculeStructure.o
+ COREOBJS= coredefs/complex.o coredefs/common.o coredefs/diagonal.o coredefs/diagonalise.o coredefs/power.o coredefs/invert.o coredefs/transforms.o coredefs/blocking.o coredefs/mixed.o coredefs/realtransforms.o coredefs/Chebyshev.o
+@@ -36,7 +36,7 @@ ALLTHROBJS=$(UNSAFEOBJS:.o=_r.o) $(ALLSAFEOBJS)
+
+ ROOT=..
+
+-first: lib/libcmatrix.a
++first: lib/libcmatrix.so.3.2.1
+
+ #%.o: %.f
+ # @F77@ @FFLAGS@ -c -o $@ $<
+@@ -68,25 +68,25 @@ tempclean:
+ # -cd optim; @CLEAN@
+ # -cd local; @CLEAN@
+
+-lib/libcmatrix.a: $(ALLNORMOBJS)
+- $(AR) $@ $(ALLNORMOBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
+-
+-lib/libcmatrix_p.a: $(ALLPROFOBJS)
+- $(AR) $@ $(ALLPROFOBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
+-
+-lib/libcmatrix-g.a: $(ALLGOBJS)
+- $(AR) $@ $(ALLGOBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
+-
+-lib/libcmatrix_r.a: $(ALLTHROBJS)
+- $(AR) @MTFLAGS@ $@ $(ALLTHROBJS)
+- chmod a+rx $@
+- $(RANLIB) $@
++lib/libcmatrix.so.3.2.1: $(ALLNORMOBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLNORMOBJS) @ATLAS_LIBS@
++ ln -sf libcmatrix.so.3.2.1 lib/libcmatrix.so.3
++ ln -sf libcmatrix.so.3.2.1 lib/libcmatrix.so
++
++lib/libcmatrix_p.so.3.2.1: $(ALLPROFOBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLPROFOBJS) @ATLAS_LIBS@
++ ln -sf libcmatrix_p.so.3.2.1 lib/libcmatrix_p.so.3
++ ln -sf libcmatrix_p.so.3.2.1 lib/libcmatrix_p.so
++
++lib/libcmatrix-g.so.3.2.1: $(ALLGOBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLGOBJS) @ATLAS_LIBS@
++ ln -sf libcmatrix-g.so.3.2.1 lib/libcmatrix-g.so.3
++ ln -sf libcmatrix-g.so.3.2.1 lib/libcmatrix-g.so
++
++lib/libcmatrix.so_r.3.2.1: $(ALLTHROBJS)
++ $(CXX) $(LDFLAGS) -fPIC -shared -Wl,--soname,libcmatrix.so.3 -o $@ $(ALLTHROBJS) @ATLAS_LIBS@
++ ln -sf libcmatrix_r.so.3.2.1 lib/libcmatrix_r.so.3
++ ln -sf libcmatrix_r.so.3.2.1 lib/libcmatrix_r.so
+
+ @CONFIGLEAF@.tar.gz:
+ cd $(ROOT) ; tar --exclude lib/* --exclude *.o --exclude=*~ --exclude=Makefile --exclude=include/config.h --exclude=config.status -cvf @CONFIGLEAF@.tar @CONFIGLEAF@
+diff --git a/configure.ac b/configure.ac
+index c0ae0e1..50dcd5a 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,5 +1,6 @@
+ AC_INIT(configure.ac)
+ AC_CONFIG_HEADER(include/config.h)
++LT_INIT
+
+ DEFAR="ar ru"
+ MAKEEXTRA=
diff --git a/sci-libs/libcmatrix/files/3.9.0-atlas.patch b/sci-libs/libcmatrix/files/3.9.0-atlas.patch
new file mode 100644
index 000000000000..329e794645eb
--- /dev/null
+++ b/sci-libs/libcmatrix/files/3.9.0-atlas.patch
@@ -0,0 +1,24 @@
+ configure-libraries.ac | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/configure-libraries.ac b/configure-libraries.ac
+index 6e9579d..a919398 100755
+--- a/configure-libraries.ac
++++ b/configure-libraries.ac
+@@ -33,6 +33,7 @@ AC_ARG_WITH(atlas,
+ AS_HELP_STRING([--with-atlas],[use the ATLAS BLAS library (default-use if found)]),,with_atlas=check)
+ if test x$with_atlas != xno; then
+ FOUNDATLAS=yes
++ PKG_CHECK_MODULES([ATLAS], [cblas])
+ AC_CHECK_HEADERS(cblas.h,,FOUNDATLAS=no
+ AC_MSG_WARN([ATLAS header files (cblas.h) not found
+ Is CPPFLAGS is defined to include relevant directory?]))
+@@ -40,7 +41,7 @@ Is CPPFLAGS is defined to include relevant directory?]))
+ AC_MSG_WARN([ATLAS library (libatlas.a) not found
+ Is LDFLAGS is defined to include relevant directory?]))
+ if test x$FOUNDATLAS = xyes; then
+- LIBS="-lcblas $LIBS"
++ LIBS="$ATLAS_LIBS $LIBS"
+ CXXFLAGS="$CXXFLAGS -DLCM_USE_EXTERNAL"
+ else
+ if test x$with_atlas = xyes; then
diff --git a/sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild b/sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild
new file mode 100644
index 000000000000..8dabf7ea4d6d
--- /dev/null
+++ b/sci-libs/libcmatrix/libcmatrix-3.11.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils
+
+MY_P="${PN}${PV}_lite"
+
+DESCRIPTION="lite version of pNMRsim"
+HOMEPAGE="http://www.dur.ac.uk/paul.hodgkinson/pNMRsim/"
+#SRC_URI="${HOMEPAGE}/${MY_P}.tar.gz"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cpu_flags_x86_sse threads"
+
+RDEPEND="sci-libs/minuit"
+DEPEND="${RDEPEND}"
+
+RESTRICT=mirror
+
+S="${WORKDIR}"/${PN}R3
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-shared.patch
+ "${FILESDIR}"/3.2.1-minuit2.patch
+ "${FILESDIR}"/3.2.1-gcc4.4.patch
+ "${FILESDIR}"/3.2.1-gcc4.6.patch
+ "${FILESDIR}"/3.2.1-gcc4.7.patch
+ "${FILESDIR}"/3.9.0-atlas.patch
+ )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ econf \
+ --with-minuit \
+ --without-atlas \
+ --with-sysroot="${EROOT}" \
+ $(use_with cpu_flags_x86_sse sse) \
+ $(use_with threads)
+}
+
+src_install() {
+ dolib.so lib/*.so*
+
+ insinto /usr/include/${PN}R3
+ doins include/*
+
+ dodoc CHANGES docs/*
+}
diff --git a/sci-libs/libcmatrix/metadata.xml b/sci-libs/libcmatrix/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/libcmatrix/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/libcore/Manifest b/sci-libs/libcore/Manifest
new file mode 100644
index 000000000000..9c1077d1f268
--- /dev/null
+++ b/sci-libs/libcore/Manifest
@@ -0,0 +1,2 @@
+DIST core-2.1.1.tgz 2759163 SHA256 61b2086563d43f3546ec6de2ddd25ccc0c950c2f0c5f5f13448adf26e3143cbe SHA512 e56e184b8efaee82b737e3947f2934b71983cbf905f05005171d3d5670f326597ff7d25767c00ec18a470eb7306f14b813edf9548869d84054830565c044f6fb WHIRLPOOL 18f28c00fe285c2496f7ac6724179e2f1eb47ba725fc3c8c623aab860b5aca1e611608612649441260323927663f1ee90357800985391e2a896ce7dc5b63dd74
+DIST core-2.1.doc.tgz 657871 SHA256 e2297a2efd2b9b090aac51343a11c38d3b76bfd69784a5152504cea7068d0c9a
diff --git a/sci-libs/libcore/files/2.1.1-makefiles.patch b/sci-libs/libcore/files/2.1.1-makefiles.patch
new file mode 100644
index 000000000000..09a8f5be2f38
--- /dev/null
+++ b/sci-libs/libcore/files/2.1.1-makefiles.patch
@@ -0,0 +1,115 @@
+diff -Nur core-2.1.1.orig/ext/Makefile core-2.1.1/ext/Makefile
+--- core-2.1.1.orig/ext/Makefile 2011-08-06 22:53:29.000000000 +0100
++++ core-2.1.1/ext/Makefile 2011-08-07 00:40:58.000000000 +0100
+@@ -38,16 +38,18 @@
+ endif
+ endif
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include \
+- -I${CORE_PATH}/mpfr/include
++INCLUDE=-I${CORE_PATH}/inc
+
+
+ COREX_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.a
+ COREX_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.a
+ COREX_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.a
+-COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.${CORE_DYLIB_EXTENSION}
+-COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.${CORE_DYLIB_EXTENSION}
+-COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.${CORE_DYLIB_EXTENSION}
++COREX_SHARED_LIB_LEVEL3_NAME=libcorex++$(VAR)_level3.${CORE_DYLIB_EXTENSION}.2
++COREX_SHARED_LIB_LEVEL2_NAME=libcorex++$(VAR)_level2.${CORE_DYLIB_EXTENSION}.2
++COREX_SHARED_LIB_LEVEL1_NAME=libcorex++$(VAR)_level1.${CORE_DYLIB_EXTENSION}.2
++COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL3_NAME)
++COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL2_NAME)
++COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL1_NAME)
+
+ TARGET=${COREX_LIB_LEVEL3} ${COREX_LIB_LEVEL2} ${COREX_LIB_LEVEL1}
+
+@@ -74,11 +76,11 @@
+ -@rm -rf $@
+ $(AR) $@ $?
+
+-COREX_SHARED_DEPS=-L${GMP_PREFIX}/lib -lgmp -L${MPFR_PREFIX}/lib -lmpfr -L${CORE_PATH}/lib -lcore++${VAR}
++COREX_SHARED_DEPS= -lgmp -lmpfr -L${CORE_PATH}/lib -lcore++${VAR}
+
+ ${COREX_SHARED_LIB_LEVEL3}: ${L3_OBJS}
+ -@rm -rf $@
+- $(CXX) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL3_NAME) -o $@ $?
+
+ ${COREX_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+@@ -86,7 +88,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+- $(CXX) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL2_NAME) -o $@ $?
+
+ ${COREX_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+@@ -94,7 +96,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+- $(CXX) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL1_NAME) -o $@ $?
+
+ %_level3.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
+diff -Nur core-2.1.1.orig/progs/Make.options core-2.1.1/progs/Make.options
+--- core-2.1.1.orig/progs/Make.options 2011-08-06 22:53:29.000000000 +0100
++++ core-2.1.1/progs/Make.options 2011-08-06 23:31:01.000000000 +0100
+@@ -11,10 +11,8 @@
+
+ include $(CORE_PATH)/Make.config
+
+-CORE_INC=-I. -I$(CORE_PATH)/inc -I$(CORE_PATH)/mpfr/include \
+- -I$(CORE_PATH)/gmp/include
+-CORE_LIB=-L$(CORE_PATH)/lib -L$(CORE_PATH)/mpfr/lib -L$(CORE_PATH)/gmp/lib \
+- -lcore++$(VAR) -lmpfr -lgmp
++CORE_INC=-I. -I$(CORE_PATH)/inc
++CORE_LIB=-L$(CORE_PATH)/lib -lcore++$(VAR) -lmpfr -lgmp
+
+ COREX_LIB_LEVEL=-lcoreex++$(VAR)_level
+
+diff -Nur core-2.1.1.orig/src/Makefile core-2.1.1/src/Makefile
+--- core-2.1.1.orig/src/Makefile 2011-08-06 22:53:29.000000000 +0100
++++ core-2.1.1/src/Makefile 2011-08-07 00:24:38.000000000 +0100
+@@ -23,7 +23,7 @@
+ endif
+ endif
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/mpfr/include -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ # VAR indicates variants of the Core library
+ # E.g., if VAR=(empty) then we compile the release version.
+@@ -44,7 +44,8 @@
+
+ # The following library will be built:
+ CORE_LIB=$(CORE_PATH)/lib/libcore++${VAR}.a
+-CORE_SHARED_LIB=$(CORE_PATH)/lib/libcore++${VAR}.${CORE_DYLIB_EXTENSION}
++CORE_SHARED_LIB_NAME=libcore++${VAR}.${CORE_DYLIB_EXTENSION}.2
++CORE_SHARED_LIB=$(CORE_PATH)/lib/$(CORE_SHARED_LIB_NAME)
+
+ TARGET=$(CORE_LIB)
+
+@@ -52,7 +53,7 @@
+ TARGET+=$(CORE_SHARED_LIB)
+ endif
+
+-DEPS=-L${GMP_PREFIX}/lib -L${MPFR_PREFIX}/lib -lgmp -lmpfr
++DEPS=-lgmp -lmpfr
+
+ # =============================================================
+ # RULES ======================================================
+@@ -64,7 +65,7 @@
+ $(AR) $@ $^
+
+ ${CORE_SHARED_LIB}: $(EXPROBJS)
+- $(CXX) $(DEPS) $(CORE_LDFLAGS) -o $@ $^
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(CORE_SHARED_LIB_NAME) $(DEPS) -o $@ $^ $(LIBS)
+
+ %${VAR}.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) $(INCLUDE) -c $< -o $@
diff --git a/sci-libs/libcore/files/libcore-1.7.patch b/sci-libs/libcore/files/libcore-1.7.patch
new file mode 100644
index 000000000000..dcc2c77ac45b
--- /dev/null
+++ b/sci-libs/libcore/files/libcore-1.7.patch
@@ -0,0 +1,96 @@
+--- src/Makefile 2004-11-11 19:10:53.000000000 +0100
++++ src/Makefile 2006-10-12 20:25:40.000000000 +0200
+@@ -7,7 +7,7 @@
+
+ CORE_PATH=..
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ # VAR indicates variants of the Core library
+ # E.g., if VAR=(empty) then we compile the release version.
+@@ -31,7 +31,8 @@
+
+ # The following library will be built:
+ CORE_LIB=$(CORE_PATH)/lib/libcore++${VAR}.a
+-CORE_SHARED_LIB=$(CORE_PATH)/lib/libcore++${VAR}.so
++CORE_SHARED_LIB_NAME=libcore++${VAR}.so
++CORE_SHARED_LIB=$(CORE_PATH)/lib/$(CORE_SHARED_LIB_NAME)
+
+ TARGET=$(CORE_LIB)
+
+@@ -49,7 +50,7 @@
+ $(AR) $@ $?
+
+ ${CORE_SHARED_LIB}: $(EXPROBJS)
+- $(CXX) $(CORE_LDFLAGS) -o $@ $^
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(CORE_SHARED_LIB_NAME).1 -o $@ $^
+
+ %${VAR}.o: %.cpp
+ # Aug 8, 2004 by Chee (TEMP CHANGE! FOR DEBUGGING)
+--- ext/Makefile 2004-11-11 19:10:55.000000000 +0100
++++ ext/Makefile 2006-10-12 20:26:00.000000000 +0200
+@@ -13,7 +13,7 @@
+ # =============================================================
+
+ CORE_PATH=..
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ MODULES := linearAlgebra geometry2d geometry3d
+
+@@ -29,9 +29,12 @@
+ COREX_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.a
+ COREX_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.a
+ COREX_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.a
+-COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.so
+-COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.so
+-COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.so
++COREX_SHARED_LIB_LEVEL3_NAME=libcorex++$(VAR)_level3.so
++COREX_SHARED_LIB_LEVEL2_NAME=libcorex++$(VAR)_level2.so
++COREX_SHARED_LIB_LEVEL1_NAME=libcorex++$(VAR)_level1.so
++COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL3_NAME)
++COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL2_NAME)
++COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL1_NAME)
+
+ TARGET=${COREX_LIB_LEVEL3} ${COREX_LIB_LEVEL2} ${COREX_LIB_LEVEL1}
+
+@@ -59,7 +62,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL3}: ${L3_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL3_NAME).1 -o $@ $?
+
+ ${COREX_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+@@ -67,7 +70,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL2_NAME).1 -o $@ $?
+
+ ${COREX_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+@@ -75,16 +78,16 @@
+
+ ${COREX_SHARED_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL1_NAME).1 -o $@ $?
+
+ %_level3.o: %.cpp
+- ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
++ ${CXX} -ffriend-injection -fpermissive $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
+
+ %_level2.o: %.cpp
+- ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=2 $(INCLUDE) -c $< -o $@
++ ${CXX} -ffriend-injection -fpermissive $(CORE_CXXFLAGS) -DCORE_LEVEL=2 $(INCLUDE) -c $< -o $@
+
+ %_level1.o: %.cpp
+- ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=1 $(INCLUDE) -c $< -o $@
++ ${CXX} -ffriend-injection -fpermissive $(CORE_CXXFLAGS) -DCORE_LEVEL=1 $(INCLUDE) -c $< -o $@
+
+ clean:
+ -@test -z "*.o" || rm -f *.o
diff --git a/sci-libs/libcore/files/libcore-2.0.8-makefiles.patch b/sci-libs/libcore/files/libcore-2.0.8-makefiles.patch
new file mode 100644
index 000000000000..6980332837f6
--- /dev/null
+++ b/sci-libs/libcore/files/libcore-2.0.8-makefiles.patch
@@ -0,0 +1,97 @@
+--- src/Makefile.orig 2009-08-12 22:52:51.000000000 +0100
++++ src/Makefile 2009-08-12 23:38:51.000000000 +0100
+@@ -7,7 +7,7 @@
+
+ CORE_PATH=..
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/mpfr/include -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ # VAR indicates variants of the Core library
+ # E.g., if VAR=(empty) then we compile the release version.
+@@ -37,12 +37,13 @@
+
+ # The following library will be built:
+ CORE_LIB=$(CORE_PATH)/lib/libcore++${VAR}.a
+-CORE_SHARED_LIB=$(CORE_PATH)/lib/libcore++${VAR}.so
++CORE_SHARED_LIB_NAME=libcore++${VAR}.so.2.0.0
++CORE_SHARED_LIB=$(CORE_PATH)/lib/$(CORE_SHARED_LIB_NAME)
+
+ TARGET=$(CORE_LIB)
+
+ ifeq (${LINKAGE}, shared)
+- TARGET+=$(CORE_SHARED_LIB)
++ TARGET=$(CORE_SHARED_LIB)
+ endif
+
+ # =============================================================
+@@ -55,7 +56,7 @@
+ $(AR) $@ $^
+
+ ${CORE_SHARED_LIB}: $(EXPROBJS)
+- $(CXX) $(CORE_LDFLAGS) -o $@ $^
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(CORE_SHARED_LIB_NAME).2.0.0 -o $@ $^ $(LIBS)
+
+ %${VAR}.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) $(INCLUDE) -c $< -o $@
+--- ext/Makefile.orig 2009-08-12 22:54:55.000000000 +0100
++++ ext/Makefile 2009-08-12 23:39:19.000000000 +0100
+@@ -13,8 +13,7 @@
+ # =============================================================
+
+ CORE_PATH=..
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include \
+- -I${CORE_PATH}/mpfr/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ MODULES := linearAlgebra geometry2d geometry3d
+
+@@ -30,14 +29,17 @@
+ COREX_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.a
+ COREX_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.a
+ COREX_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.a
+-COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.so
+-COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.so
+-COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.so
++COREX_SHARED_LIB_LEVEL3_NAME=libcorex++$(VAR)_level3.so.2.0.0
++COREX_SHARED_LIB_LEVEL2_NAME=libcorex++$(VAR)_level2.so.2.0.0
++COREX_SHARED_LIB_LEVEL1_NAME=libcorex++$(VAR)_level1.so.2.0.0
++COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL3_NAME)
++COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL2_NAME)
++COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL1_NAME)
+
+ TARGET=${COREX_LIB_LEVEL3} ${COREX_LIB_LEVEL2} ${COREX_LIB_LEVEL1}
+
+ ifeq (${LINKAGE}, shared)
+- TARGET += $(COREX_SHARED_LIB_LEVEL3) $(COREX_SHARED_LIB_LEVEL2) \
++ TARGET = $(COREX_SHARED_LIB_LEVEL3) $(COREX_SHARED_LIB_LEVEL2) \
+ $(COREX_SHARED_LIB_LEVEL1)
+ endif
+
+@@ -60,7 +62,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL3}: ${L3_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL3_NAME).2.0.0 -o $@ $?
+
+ ${COREX_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+@@ -68,7 +70,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL2_NAME).2.0.0 -o $@ $?
+
+ ${COREX_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+@@ -76,7 +78,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL1_NAME).2.0.0 -o $@ $?
+
+ %_level3.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
diff --git a/sci-libs/libcore/libcore-2.1.1-r1.ebuild b/sci-libs/libcore/libcore-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..cfa65e34e639
--- /dev/null
+++ b/sci-libs/libcore/libcore-2.1.1-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils toolchain-funcs versionator
+
+MYPN=core
+DOCPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="Robust numerical and geometric computation library"
+HOMEPAGE="http://www.cs.nyu.edu/exact/core_pages/"
+SRC_URI="http://cs.nyu.edu/exact/core/download/${MYPN}/${MYPN}-${PV}.tgz
+ doc? ( http://cs.nyu.edu/exact/core/download/${MYPN}/${MYPN}-${DOCPV}.doc.tgz )"
+
+LICENSE="QPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-libs/mpfr
+ dev-libs/gmp
+ doc? ( app-doc/doxygen[latex] )"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-makefiles.patch
+ sed -i \
+ -e "s/-O2/${CXXFLAGS}/g" \
+ -e "s/-shared/-shared ${LDFLAGS}/g" \
+ Make.config || die
+ sed -i -e 's/-lgmp/-lgmp -lgmpxx/g' progs/Make.options || die
+ # missing input file in gaussian test and buggy test in tutorial
+ sed -i -e '/gaussian/d' -e '/tutorial/d' progs/Makefile || die
+}
+
+src_compile(){
+ emake VAR= LINKAGE=shared corelib corex USE_GMPXX=1
+ rm -f src/*.o ext/*.o
+ use static-libs && emake VAR="" corelib corex USE_GMPXX=1
+ if use doc; then
+ cd "${S}/doc"
+ export VARTEXFONTS="${T}/fonts"
+ emake -j1 all
+ emake -j1 -C doxy/latex pdf
+ fi
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/lib" emake \
+ VAR= GMP_PREFIX= MPFR_PREFIX= test
+}
+
+src_install(){
+ dolib.so lib/*.so*
+ for i in $(find "${ED}/usr/$(get_libdir)" -name "*so" | sed "s:${ED}::g"); do
+ dosym $i.2 $i
+ done
+ use static-libs && dolib.a lib/*.a
+
+ insinto /usr/include
+ doins inc/CORE.h
+ insinto /usr/include/CORE
+ doins inc/CORE/*.h
+
+ dodoc FAQs README
+ if use doc; then
+ dodoc doc/*.txt
+ dodoc doc/tutorial/tutorial.pdf doc/doxy/latex/*pdf
+ dohtml -r doc/doxy/html/*
+ fi
+}
diff --git a/sci-libs/libcore/metadata.xml b/sci-libs/libcore/metadata.xml
new file mode 100644
index 000000000000..316dc3d398c3
--- /dev/null
+++ b/sci-libs/libcore/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-geosciences</herd>
+<longdescription lang='en'>
+ The Core Library is a collection of C/C++ classes for exact
+ computation with real algebraic numbers.
+ It embodies our precision-driven approach and is
+ useful for robust numerical (especially geometric) algorithms.
+ The library supports the Exact Geometric Computation (EGC)
+ philosophy through its novel and easy-to-use notion of accuracy
+ levels.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/libctl/Manifest b/sci-libs/libctl/Manifest
new file mode 100644
index 000000000000..4fe49112d963
--- /dev/null
+++ b/sci-libs/libctl/Manifest
@@ -0,0 +1,2 @@
+DIST libctl-3.1.tar.gz 460108 SHA256 9001f95efa0812b6b76220f2de1edcb512f9c26764df63680fc37c8c9684eee5 SHA512 94e44a0baea067a85c7a8f930545317b1c9f440e18b6ccc59417ed3072652da0ba79f58b469b8d9ba81cd6adae81830566c28aefea18fd76491824dc6c2da067 WHIRLPOOL 12b3f9a079bf415e12485f6c3e5a5ab406fb42968ee160702f89414ec019181e4410738779c3eed1e2a5390318212e275ad89412b01a076676f8623c37b84b14
+DIST libctl-3.2.tar.gz 485681 SHA256 30a4eef0bfde4454941482f859fb738c652750528a30ab240d5ce17faac375cc SHA512 df8701330d3785ff845a065a0d4abb1e7d9167ad7909ff7074a48040092e5bb840f75b3fa90263fe8d29607aeb0b33919be333a619f34a5bac255c0ade4340f5 WHIRLPOOL c3527fa1fe47a087f280f50dfac6f2cf4a9e9448712fe526e4906b435b03f1119bc7faab3f3ba34df804e4e36686835a65c3c84936c8e29c9cbcd484e78e10c5
diff --git a/sci-libs/libctl/libctl-3.1.ebuild b/sci-libs/libctl/libctl-3.1.ebuild
new file mode 100644
index 000000000000..528470a1df1d
--- /dev/null
+++ b/sci-libs/libctl/libctl-3.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit fortran-2 autotools-utils
+
+DESCRIPTION="Guile-based library for scientific simulations"
+HOMEPAGE="http://ab-initio.mit.edu/libctl/"
+SRC_URI="http://ab-initio.mit.edu/libctl/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+IUSE="doc examples static-libs"
+
+DEPEND="
+ dev-scheme/guile[deprecated]
+ sci-libs/nlopt"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml doc/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins "${AUTOTOOLS_BUILD_DIR}"/examples/{*.c,*.h,example.scm,Makefile}
+ doins "${S}"/examples/{README,example.c,run.ctl}
+ fi
+}
diff --git a/sci-libs/libctl/libctl-3.2.ebuild b/sci-libs/libctl/libctl-3.2.ebuild
new file mode 100644
index 000000000000..3c376e4f350c
--- /dev/null
+++ b/sci-libs/libctl/libctl-3.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit fortran-2 autotools-utils
+
+DESCRIPTION="Guile-based library for scientific simulations"
+HOMEPAGE="http://ab-initio.mit.edu/libctl/"
+SRC_URI="http://ab-initio.mit.edu/libctl/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+DEPEND="
+ dev-scheme/guile
+ sci-libs/nlopt"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml doc/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins "${AUTOTOOLS_BUILD_DIR}"/examples/{*.c,*.h,example.scm,Makefile}
+ doins "${S}"/examples/{README,example.c,run.ctl}
+ fi
+}
diff --git a/sci-libs/libctl/metadata.xml b/sci-libs/libctl/metadata.xml
new file mode 100644
index 000000000000..9bcae3a7754e
--- /dev/null
+++ b/sci-libs/libctl/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ libctl is the Control Language library implementing a control file
+ structure aimed at simplifying the control file writing in
+ scientific simulations. The "ctl" in "libctl" stands for Control
+ Language (by convention, libctl control files end with ".ctl" and
+ are referred to as ctl files).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/libdap/Manifest b/sci-libs/libdap/Manifest
new file mode 100644
index 000000000000..9035b2744acf
--- /dev/null
+++ b/sci-libs/libdap/Manifest
@@ -0,0 +1 @@
+DIST libdap-3.11.3.tar.gz 1514429 SHA256 1fe14594960c1c24842ea9c3a4032cfce70b7082bbab17369b43c9a134ddac97 SHA512 acdb54e135a153107460cad2310176b9d4a3f9b7c142eca3456ba9331f551d1855f7e6d4b7fdce6586dd266e54e23b795f903499f349d26481ca1d9abb5f52a0 WHIRLPOOL f67a56c64937610047de2cf2ea362193506fbd474aa0f1aa38a88e3c49e3e6fb3a5d8969feddc34c7560afa0b5c9e1304b5ced46ce3d37e9333094a2da289db0
diff --git a/sci-libs/libdap/files/libdap-3.11.3-gcc-4.7.patch b/sci-libs/libdap/files/libdap-3.11.3-gcc-4.7.patch
new file mode 100644
index 000000000000..a0d411b03dc7
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.11.3-gcc-4.7.patch
@@ -0,0 +1,15 @@
+ ResponseBuilder.cc | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/ResponseBuilder.cc b/ResponseBuilder.cc
+index 1135678..0356172 100644
+--- a/ResponseBuilder.cc
++++ b/ResponseBuilder.cc
+@@ -41,6 +41,7 @@ static char rcsid[] not_used = { "$Id
+ #include <string>
+ #include <sstream>
+ #include <cstring>
++#include <unistd.h>
+
+ #include <uuid/uuid.h> // used to build CID header value for data ddx
+ #include "DAS.h"
diff --git a/sci-libs/libdap/libdap-3.11.3.ebuild b/sci-libs/libdap/libdap-3.11.3.ebuild
new file mode 100644
index 000000000000..81b4331025c7
--- /dev/null
+++ b/sci-libs/libdap/libdap-3.11.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="Implementation of a C++ SDK for DAP 2.0 and 3.2"
+HOMEPAGE="http://opendap.org/"
+SRC_URI="http://www.opendap.org/pub/source/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 URI )"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs test"
+
+RDEPEND="
+ dev-util/cppunit
+ dev-libs/libxml2:2
+ net-misc/curl
+ sys-libs/zlib
+"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-util/cppunit )
+"
+
+DOCS=( README NEWS README.dodsrc )
+
+RESTRICT="test"
+# needs http connection
+# FAIL: MIMEUtilTest
+
+PATCHES=( "${FILESDIR}"/${P}-gcc-4.7.patch )
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile docs
+}
+
+src_test() {
+ emake check
+ cd "${S}"/unit-tests
+ emake check
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/docs/html/")
+ autotools-utils_src_install
+}
diff --git a/sci-libs/libdap/metadata.xml b/sci-libs/libdap/metadata.xml
new file mode 100644
index 000000000000..ffb17615be3a
--- /dev/null
+++ b/sci-libs/libdap/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-geosciences</herd>
+<longdescription>
+ libdap is a C++ implementation of OPeNDAP which allows access to
+ data over the internet, from programs that weren't originally
+ designed for that purpose, as well as some that were. While OPeNDAP
+ is the original developer of the Data Access Protocol (DAP) which
+ it's software uses, many other groups have adopted DAP and provide
+ compatible clients, servers and software development kits. DAP is a
+ NASA community standard: http://www.esdswg.org/spg/rfc/ese-rfc-004
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/libexcelformat/Manifest b/sci-libs/libexcelformat/Manifest
new file mode 100644
index 000000000000..7f4f185c8f1a
--- /dev/null
+++ b/sci-libs/libexcelformat/Manifest
@@ -0,0 +1 @@
+DIST libexcelformat-101016.tar.bz2 47980 SHA256 b1f552c4f89bb63fe7e46c04ef885a73f7bdd595116a09204a6f807100d55915
diff --git a/sci-libs/libexcelformat/libexcelformat-101016.ebuild b/sci-libs/libexcelformat/libexcelformat-101016.ebuild
new file mode 100644
index 000000000000..00f7767161c7
--- /dev/null
+++ b/sci-libs/libexcelformat/libexcelformat-101016.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="reading, writing, and editing of XLS (BIFF8 format) files using C++"
+HOMEPAGE="http://www.codeproject.com/KB/office/ExcelFormat.aspx"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="CPOL"
+IUSE=""
+
+S="${WORKDIR}"/libExcelFormat
+
+src_prepare() {
+ tc-export CXX
+}
+
+src_install() {
+ insinto /usr/include
+ doins *.h* || die
+
+ dolib.so libExcelFormat.so* || die
+}
diff --git a/sci-libs/libexcelformat/metadata.xml b/sci-libs/libexcelformat/metadata.xml
new file mode 100644
index 000000000000..b229aec85b8f
--- /dev/null
+++ b/sci-libs/libexcelformat/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+</pkgmetadata>
diff --git a/sci-libs/libgenome/Manifest b/sci-libs/libgenome/Manifest
new file mode 100644
index 000000000000..6bf0a1992241
--- /dev/null
+++ b/sci-libs/libgenome/Manifest
@@ -0,0 +1 @@
+DIST libgenome-1.3-r1.tar.bz2 128503 SHA256 29d62cb367bb498648b6320091fa534b52a8c39fd0bfd495b095706e68bc400d
diff --git a/sci-libs/libgenome/libgenome-1.3-r1.ebuild b/sci-libs/libgenome/libgenome-1.3-r1.ebuild
new file mode 100644
index 000000000000..77c6ca7ec1d5
--- /dev/null
+++ b/sci-libs/libgenome/libgenome-1.3-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+MY_TAG="mauve-2-3-0-release"
+#ESVN_REPO_URI="https://mauve.svn.sourceforge.net/svnroot/mauve/libGenome/tags/${MY_TAG}"
+
+#inherit subversion autotools
+inherit autotools
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+#SRC_URI=""
+SRC_URI="mirror://gentoo/${PF}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_prepare() {
+ eautoreconf
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+}
diff --git a/sci-libs/libgenome/libgenome-9999.ebuild b/sci-libs/libgenome/libgenome-9999.ebuild
new file mode 100644
index 000000000000..943a8fe331fc
--- /dev/null
+++ b/sci-libs/libgenome/libgenome-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+ESVN_REPO_URI="https://mauve.svn.sourceforge.net/svnroot/mauve/libGenome/trunk"
+
+inherit subversion autotools
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc"
+KEYWORDS=""
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+}
diff --git a/sci-libs/libgenome/metadata.xml b/sci-libs/libgenome/metadata.xml
new file mode 100644
index 000000000000..d4648212cbad
--- /dev/null
+++ b/sci-libs/libgenome/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-biology</herd>
+</pkgmetadata>
diff --git a/sci-libs/libgeodecomp/Manifest b/sci-libs/libgeodecomp/Manifest
new file mode 100644
index 000000000000..75adba11dbc2
--- /dev/null
+++ b/sci-libs/libgeodecomp/Manifest
@@ -0,0 +1 @@
+DIST libgeodecomp-0.3.1.tar.bz2 740341 SHA256 3c49a238472a82be3a6e2411a20bda85672aac01d4a87bb0e63ccbff1385ea64 SHA512 28f0ea04e45cb0a5b81b18efd3e3a011d58c077562f8039ff42e701cc362f86dff90bd505690ec22c8a42e9de1236d5b6c61d288ad4c154289e92700a2a7fcc0 WHIRLPOOL 3827974861556ab84a16e81b8cece2cff4d9e88a1559d99192fa47efd571639b252423038b3b579811c7d57452e94ae96b99f7209e87af46b752b5a193dc9994
diff --git a/sci-libs/libgeodecomp/files/libflatarray.patch b/sci-libs/libgeodecomp/files/libflatarray.patch
new file mode 100644
index 000000000000..8a109d986577
--- /dev/null
+++ b/sci-libs/libgeodecomp/files/libflatarray.patch
@@ -0,0 +1,11 @@
+--- src/CMakeLists.txt.orig 2015-05-06 07:03:21.508147301 +0200
++++ src/CMakeLists.txt 2015-05-06 07:03:27.038147363 +0200
+@@ -439,7 +439,7 @@
+ install(FILES ${HEADERS} DESTINATION include/${PACKAGE_NAME}/${dir})
+ endforeach(dir)
+ # install libflatarray, too
+-install(FILES ../lib/libflatarray/src/flat_array.hpp DESTINATION include/libflatarray)
++#install(FILES ../lib/libflatarray/src/flat_array.hpp DESTINATION include/libflatarray)
+
+ # link against the libs we need
+ set(INSTALLER_LINK_FLAGS "-L\${libdir} -lgeodecomp ")
diff --git a/sci-libs/libgeodecomp/libgeodecomp-0.3.1.ebuild b/sci-libs/libgeodecomp/libgeodecomp-0.3.1.ebuild
new file mode 100644
index 000000000000..cb6d7b6c66e4
--- /dev/null
+++ b/sci-libs/libgeodecomp/libgeodecomp-0.3.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="An auto-parallelizing library to speed up computer simulations"
+HOMEPAGE="http://www.libgeodecomp.org"
+SRC_URI="http://www.libgeodecomp.org/archive/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc"
+
+RDEPEND=">=dev-libs/boost-1.48"
+DEPEND="${RDEPEND}
+ dev-libs/libflatarray"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ epatch "${FILESDIR}/libflatarray.patch"
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_make doc
+}
+
+src_install() {
+ DOCS=( ../README )
+ use doc && HTML_DOCS=( ../doc/html/* )
+ cmake-utils_src_install
+}
+
+src_test() {
+ cmake-utils_src_make test
+} \ No newline at end of file
diff --git a/sci-libs/libgeodecomp/metadata.xml b/sci-libs/libgeodecomp/metadata.xml
new file mode 100644
index 000000000000..1847f17d2266
--- /dev/null
+++ b/sci-libs/libgeodecomp/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/libgeotiff/Manifest b/sci-libs/libgeotiff/Manifest
new file mode 100644
index 000000000000..547558d475c8
--- /dev/null
+++ b/sci-libs/libgeotiff/Manifest
@@ -0,0 +1 @@
+DIST libgeotiff-1.4.0.tar.gz 1517881 SHA256 d0acb8d341fd6a8f2c673456e09fdb8f50f91e3166ac934719fe05b30d328329 SHA512 1336e9b5345d69c47807f350d2f757c753543fecc477a6fc036743e78fbfca7b7f99db1b0fdf03e80418fbd4c66db100d04ac7c3338913f9a2b922b9c9f91f1b WHIRLPOOL e6ce9c65db229dd95fd8d6296a926bc2efeac8700775f4a29cbcf3b4d218dc2a566141f14e453628253bf596cd4da7c3771a857e6fb90076f46bf32a357fa0fc
diff --git a/sci-libs/libgeotiff/files/Doxyfile b/sci-libs/libgeotiff/files/Doxyfile
new file mode 100644
index 000000000000..fcf0539b5748
--- /dev/null
+++ b/sci-libs/libgeotiff/files/Doxyfile
@@ -0,0 +1,261 @@
+# Doxyfile 1.6.1
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = libgeotiff
+PROJECT_NUMBER =
+OUTPUT_DIRECTORY =
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+EXTENSION_MAPPING =
+BUILTIN_STL_SUPPORT = YES
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+TYPEDEF_HIDES_STRUCT = NO
+SYMBOL_CACHE_SIZE = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
+HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = NO
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+LAYOUT_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = NO
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = . \
+ libxtiff/xtiff.c
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.h \
+ *.cpp \
+ *.c \
+ *.inc
+RECURSIVE = NO
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH = .
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = docs/api
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+HTML_DYNAMIC_SECTIONS = NO
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Doxygen generated docs"
+DOCSET_BUNDLE_ID = org.doxygen.Project
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
+BINARY_TOC = NO
+TOC_EXPAND = NO
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE =
+QHP_VIRTUAL_FOLDER = doc
+QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
+QHG_LOCATION =
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NO
+USE_INLINE_TREES = NO
+TREEVIEW_WIDTH = 250
+FORMULA_FONTSIZE = 10
+SEARCHENGINE = NO
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT =
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+LATEX_SOURCE_CODE = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/local/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+MSCGEN_PATH =
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+DOT_FONTNAME = FreeSans
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+DOT_GRAPH_MAX_NODES = 50
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
diff --git a/sci-libs/libgeotiff/files/libgeotiff-1.2.4-soname.patch b/sci-libs/libgeotiff/files/libgeotiff-1.2.4-soname.patch
new file mode 100644
index 000000000000..e23ef6f3bc78
--- /dev/null
+++ b/sci-libs/libgeotiff/files/libgeotiff-1.2.4-soname.patch
@@ -0,0 +1,13 @@
+--- configure.in.orig 2008-03-01 14:32:39.000000000 -0800
++++ configure.in 2008-03-01 14:37:27.000000000 -0800
+@@ -36,7 +36,9 @@
+ GEOTIFF_DLL=cyggeotiff-1.dll
+ GEOTIFF_IMP=libgeotiff.dll.a
+ LD_SHARED="gcc -shared -Wl,--export-all -Wl,--out-implib=\$(GEOTIFF_IMP)" ;;
+- *) GEOTIFF_SO=libgeotiff.${SO_EXT}.$VERSION_MAJOR.$VERSION_MINOR.$VERSION_POINT ;;
++ *) GEOTIFF_SO=libgeotiff.${SO_EXT}.$VERSION_MAJOR.$VERSION_MINOR.$VERSION_POINT
++ GEOTIFF_SONAME=libgeotiff.${SO_EXT}.$VERSION_MAJOR.$VERSION_MINOR
++ LD_SHARED="gcc -shared -Wl,-soname -Wl,$GEOTIFF_SONAME" ;;
+ esac
+ fi
+ AC_SUBST(GEOTIFF_SO,$GEOTIFF_SO)
diff --git a/sci-libs/libgeotiff/libgeotiff-1.4.0.ebuild b/sci-libs/libgeotiff/libgeotiff-1.4.0.ebuild
new file mode 100644
index 000000000000..b2dfb6b10505
--- /dev/null
+++ b/sci-libs/libgeotiff/libgeotiff-1.4.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools eutils
+
+MY_P=${P/_rc/RC}
+
+DESCRIPTION="Library for reading TIFF files with embedded tags for geographic (cartographic) information"
+HOMEPAGE="http://geotiff.osgeo.org/"
+SRC_URI="http://download.osgeo.org/geotiff/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="debug doc static-libs"
+
+RDEPEND="
+ virtual/jpeg
+ >=media-libs/tiff-3.9.1:0
+ sci-libs/proj
+ sys-libs/zlib"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+S=${WORKDIR}/${MY_P/RC*/}
+
+DOCS=( README ChangeLog )
+
+src_prepare() {
+ epatch_user
+ sed -i \
+ -e "s:-O3::g" \
+ configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --enable-debug=$(use debug && echo yes || echo no) \
+ --with-jpeg="${EPREFIX}"/usr/ \
+ --with-zip="${EPREFIX}"/usr/
+
+}
+src_compile() {
+ default
+
+ if use doc; then
+ mkdir -p docs/api
+ cp "${FILESDIR}"/Doxyfile Doxyfile
+ doxygen -u Doxyfile || die "updating doxygen config failed"
+ doxygen Doxyfile || die "docs generation failed"
+ fi
+}
+
+src_install() {
+ default
+
+ use doc && dohtml docs/api/*
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ echo
+ ewarn "You should rebuild any packages built against ${PN} by running:"
+ ewarn "# revdep-rebuild"
+ ewarn "or using preserved-rebuild features of portage-2.2:"
+ ewarn "# emerge @preserved-rebuild"
+ echo
+}
diff --git a/sci-libs/libgeotiff/metadata.xml b/sci-libs/libgeotiff/metadata.xml
new file mode 100644
index 000000000000..5f27678c1441
--- /dev/null
+++ b/sci-libs/libgeotiff/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+</pkgmetadata>
diff --git a/sci-libs/libghemical/Manifest b/sci-libs/libghemical/Manifest
new file mode 100644
index 000000000000..e95eb151f36e
--- /dev/null
+++ b/sci-libs/libghemical/Manifest
@@ -0,0 +1,3 @@
+DIST libghemical-2.00.tar.gz 629479 SHA256 e873b3042df75fa1c9f37fc99f2ff14227965ed13c7680169f714ab6575d5f21
+DIST libghemical-2.99.1.tar.gz 778812 SHA256 f9b6df3c1e98a524f90644ebaaebb804792f391ca383c0f92b609060dc485d9f
+DIST libghemical-3.0.0.tar.gz 787947 SHA256 db8c3add0aa1f94c21016d60fa3f66fb194e56b8e9fceaa3860c603700efc3ac SHA512 71531e7bd72a7fa063dd35536a346f15e3c0fd0284112fa2f304580204b93552bd0c9a426cee22044b5dd1662e34e5d191d20af938e474561fe55f2394e7519e WHIRLPOOL fae8e49a2136460013296e0a23a56513a36941ece73013a1a21b530abdfbabfba2b5098457b70a9cd1694759995ffeae01250d05034e0c1186fd2f47af52af08
diff --git a/sci-libs/libghemical/files/2.00-really-find-blas-and-lapack.patch b/sci-libs/libghemical/files/2.00-really-find-blas-and-lapack.patch
new file mode 100644
index 000000000000..bef730abbe4c
--- /dev/null
+++ b/sci-libs/libghemical/files/2.00-really-find-blas-and-lapack.patch
@@ -0,0 +1,24 @@
+diff -urN libghemical-2.00.orig/configure.ac libghemical-2.00/configure.ac
+--- libghemical-2.00.orig/configure.ac 2006-05-12 23:31:06.000000000 -0700
++++ libghemical-2.00/configure.ac 2006-05-12 23:54:20.000000000 -0700
+@@ -69,8 +69,18 @@
+ AC_CHECK_LIB([m], [acos])
+
+ if test $WITH_MPQC = yes; then
+- AC_CHECK_LIB([blas], [main], , AC_MSG_ERROR([Cannot find blas library needed for MPQC support]))
+- AC_CHECK_LIB([lapack], [main], , AC_MSG_ERROR([Cannot find lapack library needed for MPQC support]))
++ AC_CHECK_LIB([blas], [dgemm_], HAVE_BLAS="yes", , -lpthread)
++ AC_CHECK_LIB([blas], [dgemm], HAVE_BLAS="yes", , -lpthread)
++ AC_CHECK_LIB([blas], [dgemm__], HAVE_BLAS="yes", , -lpthread)
++ if test "x${HAVE_BLAS}" = "x"; then
++ AC_MSG_ERROR([Cannot find blas library needed for MPQC support])
++ fi
++ AC_CHECK_LIB([lapack], [cheev_], HAVE_LAPACK="yes", , -lpthread)
++ AC_CHECK_LIB([lapack], [cheev], HAVE_LAPACK="yes", , -lpthread)
++ AC_CHECK_LIB([lapack], [cheev__], HAVE_LAPACK="yes", , -lpthread)
++ if test "x${HAVE_LAPACK}" = "x"; then
++ AC_MSG_ERROR([Cannot find lapack library needed for MPQC support])
++ fi
+ AM_PATH_SC(1.2.5, HAVE_MPQC="yes", HAVE_MPQC="no")
+ if test "${HAVE_MPQC}" = "yes"; then
+ AC_DEFINE([ENABLE_MPQC], [], [Define if you are building a version that interfaces directly with MPQC])
diff --git a/sci-libs/libghemical/files/libghemical-2.98-gcc43.patch b/sci-libs/libghemical/files/libghemical-2.98-gcc43.patch
new file mode 100644
index 000000000000..d92d31d93b74
--- /dev/null
+++ b/sci-libs/libghemical/files/libghemical-2.98-gcc43.patch
@@ -0,0 +1,43 @@
+--- src/atom.h.orig 2008-06-09 03:59:34.262567972 -0500
++++ src/atom.h 2008-06-09 04:00:07.136698792 -0500
+@@ -10,6 +10,8 @@
+ #ifndef ATOM_H
+ #define ATOM_H
+
++#include <cstdlib>
++#include <cstring>
+ #include "libghemicaldefine.h"
+ #include "libghemicalconfig2.h"
+
+--- src/notice.h.orig 2008-06-09 04:00:24.472509840 -0500
++++ src/notice.h 2008-06-09 04:00:44.608265748 -0500
+@@ -10,6 +10,7 @@
+ #ifndef NOTICE_H
+ #define NOTICE_H
+
++#include <cstring>
+ #include "libghemicaldefine.h"
+ #include "libghemicalconfig2.h"
+
+--- src/sasaeval.cpp 2008-08-01 09:39:01.000000000 +0530
++++ src/sasaeval.cpp 2008-08-01 09:40:33.000000000 +0530
+@@ -21,6 +21,9 @@
+ #include "sasaeval.h"
+
+ #include "engine.h"
++#include <vector>
++#include <algorithm>
++using namespace std;
+
+ // the surface area code apparently contains some bugs, since it sometimes
+ // crashes. another possibility is that the surface area math contains some
+--- src/sasaeval.h 2008-07-31 00:40:08.000000000 +0530
++++ src/sasaeval.h 2008-08-01 09:40:04.000000000 +0530
+@@ -24,6 +24,7 @@
+ #define SASAEVAL_H
+
+ #include "typedef.h"
++#include <stdlib.h>
+
+ struct cg_nbt3_nl; // SASA neighbor list.
+
diff --git a/sci-libs/libghemical/files/libghemical-2.98-gl.patch b/sci-libs/libghemical/files/libghemical-2.98-gl.patch
new file mode 100644
index 000000000000..8cea8aab636e
--- /dev/null
+++ b/sci-libs/libghemical/files/libghemical-2.98-gl.patch
@@ -0,0 +1,13 @@
+diff --git a/src/typedef.h b/src/typedef.h
+index 8d2efcc..1e304e8 100644
+--- a/src/typedef.h
++++ b/src/typedef.h
+@@ -27,7 +27,7 @@
+
+ // comment this out if you have no GL/gl.h available...
+
+-#define HAVE_GL_H // 2008-07-31 ; also with mingw comment this out???
++// #define HAVE_GL_H // 2008-07-31 ; also with mingw comment this out???
+
+ // added by Robert Williams for Compaq cxx, alpha 11/28/01
+
diff --git a/sci-libs/libghemical/files/libghemical-2.99.1-gl.patch b/sci-libs/libghemical/files/libghemical-2.99.1-gl.patch
new file mode 100644
index 000000000000..ad46079e945d
--- /dev/null
+++ b/sci-libs/libghemical/files/libghemical-2.99.1-gl.patch
@@ -0,0 +1,26 @@
+diff --git a/configure.ac b/configure.ac
+index b01e5fa..943890b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -151,7 +151,7 @@ fi
+ # Checks for header files.
+ # ^^^^^^^^^^^^^^^^^^^^^^^^
+
+-AC_CHECK_HEADERS([GL/gl.h])
++# AC_CHECK_HEADERS([GL/gl.h])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+diff --git a/src/typedef.h b/src/typedef.h
+index 8d2efcc..0ba62fe 100644
+--- a/src/typedef.h
++++ b/src/typedef.h
+@@ -27,7 +27,7 @@
+
+ // comment this out if you have no GL/gl.h available...
+
+-#define HAVE_GL_H // 2008-07-31 ; also with mingw comment this out???
++// #define HAVE_GL_H // 2008-07-31 ; also with mingw comment this out???
+
+ // added by Robert Williams for Compaq cxx, alpha 11/28/01
+
diff --git a/sci-libs/libghemical/files/libghemical-gcc43.patch b/sci-libs/libghemical/files/libghemical-gcc43.patch
new file mode 100644
index 000000000000..53db5fba4d90
--- /dev/null
+++ b/sci-libs/libghemical/files/libghemical-gcc43.patch
@@ -0,0 +1,21 @@
+--- src/atom.h.orig 2008-06-09 03:59:34.262567972 -0500
++++ src/atom.h 2008-06-09 04:00:07.136698792 -0500
+@@ -10,6 +10,8 @@
+ #ifndef ATOM_H
+ #define ATOM_H
+
++#include <cstdlib>
++#include <cstring>
+ #include "libghemicaldefine.h"
+ #include "libghemicalconfig2.h"
+
+--- src/notice.h.orig 2008-06-09 04:00:24.472509840 -0500
++++ src/notice.h 2008-06-09 04:00:44.608265748 -0500
+@@ -10,6 +10,7 @@
+ #ifndef NOTICE_H
+ #define NOTICE_H
+
++#include <cstring>
+ #include "libghemicaldefine.h"
+ #include "libghemicalconfig2.h"
+
diff --git a/sci-libs/libghemical/libghemical-2.00.ebuild b/sci-libs/libghemical/libghemical-2.00.ebuild
new file mode 100644
index 000000000000..7e7c489336e4
--- /dev/null
+++ b/sci-libs/libghemical/libghemical-2.00.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit autotools eutils
+
+DESCRIPTION="Chemical quantum mechanics and molecular mechanics"
+HOMEPAGE="http://bioinformatics.org/ghemical/"
+SRC_URI="http://www.bioinformatics.org/ghemical/download/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ppc x86"
+IUSE="mopac7 mpqc"
+RDEPEND="mopac7? ( sci-chemistry/mopac7 )
+ mpqc? ( >=sci-chemistry/mpqc-2.3.1-r1
+ virtual/blas
+ virtual/lapack )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_unpack() {
+ unpack ${A}
+ epatch "${FILESDIR}"/${PV}-really-find-blas-and-lapack.patch
+ cd "${S}"
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ $(use_enable mopac7) \
+ $(use_enable mpqc) \
+ || die "configure failed"
+ emake || die "make failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "install failed"
+}
diff --git a/sci-libs/libghemical/libghemical-2.99.1.ebuild b/sci-libs/libghemical/libghemical-2.99.1.ebuild
new file mode 100644
index 000000000000..3c5ebbfe764f
--- /dev/null
+++ b/sci-libs/libghemical/libghemical-2.99.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit autotools eutils
+
+DESCRIPTION="Chemical quantum mechanics and molecular mechanics"
+HOMEPAGE="http://bioinformatics.org/ghemical/"
+SRC_URI="http://www.bioinformatics.org/ghemical/download/current/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="mopac7 mpqc static-libs"
+
+RDEPEND="
+ mopac7? ( >=sci-chemistry/mopac7-1.13-r1 )
+ mpqc? (
+ >=sci-chemistry/mpqc-2.3.1-r1
+ virtual/blas
+ virtual/lapack )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gl.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable mopac7) \
+ $(use_enable mpqc) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+}
diff --git a/sci-libs/libghemical/libghemical-3.0.0.ebuild b/sci-libs/libghemical/libghemical-3.0.0.ebuild
new file mode 100644
index 000000000000..d1d3dbf4418f
--- /dev/null
+++ b/sci-libs/libghemical/libghemical-3.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit autotools eutils
+
+DESCRIPTION="Chemical quantum mechanics and molecular mechanics"
+HOMEPAGE="http://bioinformatics.org/ghemical/"
+SRC_URI="http://www.bioinformatics.org/ghemical/download/current/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="mopac7 mpqc static-libs"
+
+RDEPEND="
+ mopac7? ( >=sci-chemistry/mopac7-1.13-r1 )
+ mpqc? (
+ >=sci-chemistry/mpqc-2.3.1-r1
+ virtual/blas
+ virtual/lapack )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.98-gl.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable mopac7) \
+ $(use_enable mpqc) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+}
diff --git a/sci-libs/libghemical/metadata.xml b/sci-libs/libghemical/metadata.xml
new file mode 100644
index 000000000000..e94fba7a2bf4
--- /dev/null
+++ b/sci-libs/libghemical/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-chemistry</herd>
+<longdescription>
+Ghemical supports both quantum-mechanics (semi-empirical and ab initio) models
+and molecular mechanics models (there is an experimental Tripos 5.2-like force
+field for organic molecules). Also a tool for reduced protein models is
+included. Geometry optimization, molecular dynamics and a large set of
+visualization tools are currently available.
+</longdescription>
+<use>
+ <flag name='mopac7'>Use <pkg>sci-chemistry/mopac7</pkg> for semi-empirical
+ calculations</flag>
+ <flag name='mpqc'>Use <pkg>sci-chemistry/mpqc</pkg> for quantum-mechanical
+ calculations</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/libh2o/Manifest b/sci-libs/libh2o/Manifest
new file mode 100644
index 000000000000..253c6e1bc03c
--- /dev/null
+++ b/sci-libs/libh2o/Manifest
@@ -0,0 +1 @@
+DIST libh2o-0.2.1.tar.bz2 290418 SHA256 7a1d0fa5800b8dbc45ac325d4c962b81033359c006eee68c18148bc7900651b7 SHA512 e2fb14171aa401e85edcef6be36bfd2af31a7da2db03bc77c41fd58962a8e2616bbbd43adb268c262b848d044c9d33016c504ce770f5cfe0d585d05dacc63e2a WHIRLPOOL 17c6294f4bf0fa3556ceb7014a13f9df8b39e032b88f02bb09626ea29619c4c09232e359c57c8888d4ee621b4aee2eaee6995af8c3cebef10574af062ccf9570
diff --git a/sci-libs/libh2o/libh2o-0.2.1.ebuild b/sci-libs/libh2o/libh2o-0.2.1.ebuild
new file mode 100644
index 000000000000..2444844c42c2
--- /dev/null
+++ b/sci-libs/libh2o/libh2o-0.2.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="Library of routines for IF97 water & steam properties"
+HOMEPAGE="https://bitbucket.org/mgorny/libh2o/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static-libs"
+
+DEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/libh2o/libh2o-9999.ebuild b/sci-libs/libh2o/libh2o-9999.ebuild
new file mode 100644
index 000000000000..47a73f6f0e4c
--- /dev/null
+++ b/sci-libs/libh2o/libh2o-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+#if LIVE
+AUTOTOOLS_AUTORECONF=yes
+EGIT_REPO_URI="http://bitbucket.org/mgorny/${PN}.git"
+
+inherit git-r3
+#endif
+
+inherit autotools-utils
+
+DESCRIPTION="Library of routines for IF97 water & steam properties"
+HOMEPAGE="https://bitbucket.org/mgorny/libh2o/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static-libs"
+
+DEPEND="virtual/pkgconfig"
+
+#if LIVE
+KEYWORDS=
+SRC_URI=
+#endif
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/libh2o/metadata.xml b/sci-libs/libh2o/metadata.xml
new file mode 100644
index 000000000000..fd4ab32a6d95
--- /dev/null
+++ b/sci-libs/libh2o/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <bugs-to>https://bitbucket.org/mgorny/libh2o/issues/</bugs-to>
+ <remote-id type="bitbucket">mgorny/libh2o</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libh2oxx/Manifest b/sci-libs/libh2oxx/Manifest
new file mode 100644
index 000000000000..52c5f2cb532e
--- /dev/null
+++ b/sci-libs/libh2oxx/Manifest
@@ -0,0 +1 @@
+DIST libh2oxx-0.2.tar.bz2 266320 SHA256 deb3923f352bb6d80d908d6117a1538f0d8125001f21b2a23d5933f669e0dea5 SHA512 37b5eb713eed9a41f001add0ed3415fb4e1d6a19917de7fe36017f9a8b102394ac86b47fa845b18d7c4c63ad94e270f28e0883c9e9503c1952fdefbfdb6cc3a3 WHIRLPOOL d94d7981887d8671b367e85411a817d43861f975015cf938fd7acaa5f9d17bb6245fbf30a8161dfd0a253fdf907cc5487cc245c2196ead93863ee5a9a7703f29
diff --git a/sci-libs/libh2oxx/libh2oxx-0.2.ebuild b/sci-libs/libh2oxx/libh2oxx-0.2.ebuild
new file mode 100644
index 000000000000..f7188e7eb2e6
--- /dev/null
+++ b/sci-libs/libh2oxx/libh2oxx-0.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="C++ bindings for libh2o"
+HOMEPAGE="https://bitbucket.org/mgorny/libh2oxx/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static-libs"
+
+RDEPEND=">=sci-libs/libh2o-0.2"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/libh2oxx/libh2oxx-9999.ebuild b/sci-libs/libh2oxx/libh2oxx-9999.ebuild
new file mode 100644
index 000000000000..20efc7ee0894
--- /dev/null
+++ b/sci-libs/libh2oxx/libh2oxx-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+#if LIVE
+AUTOTOOLS_AUTORECONF=yes
+EGIT_REPO_URI="http://bitbucket.org/mgorny/${PN}.git"
+
+inherit git-r3
+#endif
+
+inherit autotools-utils
+
+DESCRIPTION="C++ bindings for libh2o"
+HOMEPAGE="https://bitbucket.org/mgorny/libh2oxx/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static-libs"
+
+RDEPEND=">=sci-libs/libh2o-0.2:0="
+DEPEND="${RDEPEND}"
+
+#if LIVE
+KEYWORDS=
+SRC_URI=
+#endif
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/libh2oxx/metadata.xml b/sci-libs/libh2oxx/metadata.xml
new file mode 100644
index 000000000000..c09fed962692
--- /dev/null
+++ b/sci-libs/libh2oxx/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <bugs-to>https://bitbucket.org/mgorny/libh2oxx/issues/</bugs-to>
+ <remote-id type="bitbucket">mgorny/libh2oxx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libint/Manifest b/sci-libs/libint/Manifest
new file mode 100644
index 000000000000..429c5457bd6a
--- /dev/null
+++ b/sci-libs/libint/Manifest
@@ -0,0 +1,3 @@
+DIST libint-1.1.4.tar.gz 350252 SHA256 f67b13bdf1135ecc93b4cff961c1ff33614d9f8409726ddc8451803776885cff SHA512 9a4011c227fbdee52f95a40659ebb131a2d2422784b35e5c8fc781da250f32bb53207c29e429785c1a59054391f44e1efad2c85b37c5d3a70f2e392a7857805d WHIRLPOOL ac84f3cbf8b21f02a2f3ae5b6b48e4e629c7c3c719fdd31fdaf308d42339250473c55620f1350687e0ff9f203ad835fdadba7ff3e7749f44d19462b5b2e96acc
+DIST libint-1.1.6.tar.gz 256404 SHA256 f201b0c621df678cfe8bdf3990796b8976ff194aba357ae398f2f29b0e2985a6 SHA512 cb39d73e89431c324e32d4a71593fe913c7ae2132677d4600e63ce1ed99e8e431758f0aa3d130991da841e98a1064fa931eb0e82dbe80af4c0ece10ee3a4f2d7 WHIRLPOOL ed6e0f850df067da115cdea4e9cff2545ea6ffe4e7b9dea28ef3232adec12d23c6b6709e8a058f78b9764890134440f4869a770b3b4e4934b4571562848fdb6a
+DIST libint-2.0.5.tar.gz 3209528 SHA256 f64298bc6513771ffea476a250110b3f488c01d669e05dd309fe4ba6114c5f95 SHA512 d7717a6337b73645dcb77d3c0731df17884b4c662b0d52061b7b80ac0ebd9de344e6c301294f714db09e7b6e3dff5b4b6958ef06122303df52d0ebb6a011cf24 WHIRLPOOL 896269589d6c95f83b5dc0517491d2b07bf60103fb0a11c131681acaa4a83f494ab436647ae7989a1a9e944b0fd59b03d530ab025efbba73efc75e9f1f720653
diff --git a/sci-libs/libint/files/1.1.4-as-needed.patch b/sci-libs/libint/files/1.1.4-as-needed.patch
new file mode 100644
index 000000000000..cc87d760b699
--- /dev/null
+++ b/sci-libs/libint/files/1.1.4-as-needed.patch
@@ -0,0 +1,39 @@
+diff --git a/src/lib/libderiv/Makefile.library b/src/lib/libderiv/Makefile.library
+index ee152ef..8debfe8 100644
+--- a/src/lib/libderiv/Makefile.library
++++ b/src/lib/libderiv/Makefile.library
+@@ -23,7 +23,7 @@ $(TOPDIR)/lib/$(NAME).a: $(LIBOBJ)
+
+ # this is how shared library is made
+ $(TOPDIR)/lib/$(NAME).la: $(LIBOBJ)
+- $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++ $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS)
+
+ $(TOPDIR)/include/$(NAME)/$(NAME).h: $(NAME).h
+ $(INSTALL) $(INSTALLDIROPT) $(TOPDIR)/include/$(NAME)
+diff --git a/src/lib/libint/Makefile.library b/src/lib/libint/Makefile.library
+index 23e2918..01c4225 100644
+--- a/src/lib/libint/Makefile.library
++++ b/src/lib/libint/Makefile.library
+@@ -41,7 +41,7 @@ $(TOPDIR)/lib/$(NAME).a: $(LIBOBJ)
+
+ # this is how shared library is made
+ $(TOPDIR)/lib/$(NAME).la: $(LIBOBJ)
+- $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++ $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS)
+
+ $(TOPDIR)/include/$(NAME)/$(NAME).h: $(NAME).h
+ $(INSTALL) $(INSTALLDIROPT) $(TOPDIR)/include/$(NAME)
+diff --git a/src/lib/libr12/Makefile.library b/src/lib/libr12/Makefile.library
+index 1510807..26d47a4 100644
+--- a/src/lib/libr12/Makefile.library
++++ b/src/lib/libr12/Makefile.library
+@@ -47,7 +47,7 @@ $(TOPDIR)/lib/$(NAME).a: $(LIBOBJ)
+
+ # this is how shared library is made
+ $(TOPDIR)/lib/$(NAME).la: $(LIBOBJ)
+- $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++ $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS)
+
+ $(TOPDIR)/include/$(NAME)/$(NAME).h: $(NAME).h
+ $(INSTALL) $(INSTALLDIROPT) $(TOPDIR)/include/$(NAME)
diff --git a/sci-libs/libint/files/dont-append-mcpu.patch b/sci-libs/libint/files/dont-append-mcpu.patch
new file mode 100644
index 000000000000..72b5e437051b
--- /dev/null
+++ b/sci-libs/libint/files/dont-append-mcpu.patch
@@ -0,0 +1,16 @@
+diff -urN libint-1.1.2.orig/configure libint-1.1.2/configure
+--- libint-1.1.2.orig/configure 2003-12-05 13:24:55.000000000 -0800
++++ libint-1.1.2/configure 2005-12-06 03:27:37.000000000 -0800
+@@ -3554,10 +3554,10 @@
+ cpu_arch_option="-mcpu=$target_cpu"
+ fi
+ if test X$GCC = Xyes; then
+- COPTIONS_MISC="$COPTIONS_MISC $cpu_arch_option"
++ COPTIONS_MISC="$COPTIONS_MISC"
+ fi
+ if test X$GXX = Xyes; then
+- CXXOPTIONS_MISC="$CXXOPTIONS_MISC $cpu_arch_option"
++ CXXOPTIONS_MISC="$CXXOPTIONS_MISC"
+ fi
+ echo "$as_me:3562: result: IA-32: $cpu_arch_option" >&5
+ echo "${ECHO_T}IA-32: $cpu_arch_option" >&6
diff --git a/sci-libs/libint/files/libint-1.1.6-as-needed.patch b/sci-libs/libint/files/libint-1.1.6-as-needed.patch
new file mode 100644
index 000000000000..c48505314b39
--- /dev/null
+++ b/sci-libs/libint/files/libint-1.1.6-as-needed.patch
@@ -0,0 +1,77 @@
+ configure.ac | 3 +--
+ src/bin/MakeRules.in | 2 +-
+ src/lib/libderiv/Makefile.library | 2 +-
+ src/lib/libint/Makefile.library | 2 +-
+ src/lib/libr12/Makefile.library | 2 +-
+ 5 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index dc86e88..8cc3aac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -317,12 +317,11 @@ LIBS=$withval
+ echo Using extra libraries: $withval
+ )
+
+-LDFLAGS=
+ LIBDIRS=
+ AC_ARG_WITH(libdirs,
+ [ --with-libdirs Specifies library directories (-Ldir1 -Ldir2).],
+ LIBDIRS=$withval
+-LDFLAGS=$withval
++LDFLAGS="$LDFLAGS $withval"
+ echo Using extra library directories: $withval
+ )
+
+diff --git a/src/bin/MakeRules.in b/src/bin/MakeRules.in
+index 5b90607..8ea5005 100644
+--- a/src/bin/MakeRules.in
++++ b/src/bin/MakeRules.in
+@@ -3,7 +3,7 @@ HAVE_MAKERULES = yes
+
+ BINOBJ = $(BUILD_CSRC:%.c=%.$(OBJSUF)) $(BUILD_CXXSRC:%.cc=%.$(OBJSUF))
+ $(BUILD_BINARY): $(BINOBJ)
+- $(LD) $^ $(LDFLAGS) $(SYSLIBS) -o $@
++ $(LD) $(LDFLAGS) $^ $(SYSLIBS) -o $@
+
+ .PHONY: install install_inc install_target uninstall clean oclean distclean targetclean realclean
+ install::
+diff --git a/src/lib/libderiv/Makefile.library b/src/lib/libderiv/Makefile.library
+index ee152ef..8debfe8 100644
+--- a/src/lib/libderiv/Makefile.library
++++ b/src/lib/libderiv/Makefile.library
+@@ -23,7 +23,7 @@ $(TOPDIR)/lib/$(NAME).a: $(LIBOBJ)
+
+ # this is how shared library is made
+ $(TOPDIR)/lib/$(NAME).la: $(LIBOBJ)
+- $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++ $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS)
+
+ $(TOPDIR)/include/$(NAME)/$(NAME).h: $(NAME).h
+ $(INSTALL) $(INSTALLDIROPT) $(TOPDIR)/include/$(NAME)
+diff --git a/src/lib/libint/Makefile.library b/src/lib/libint/Makefile.library
+index 23e2918..01c4225 100644
+--- a/src/lib/libint/Makefile.library
++++ b/src/lib/libint/Makefile.library
+@@ -41,7 +41,7 @@ $(TOPDIR)/lib/$(NAME).a: $(LIBOBJ)
+
+ # this is how shared library is made
+ $(TOPDIR)/lib/$(NAME).la: $(LIBOBJ)
+- $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++ $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS)
+
+ $(TOPDIR)/include/$(NAME)/$(NAME).h: $(NAME).h
+ $(INSTALL) $(INSTALLDIROPT) $(TOPDIR)/include/$(NAME)
+diff --git a/src/lib/libr12/Makefile.library b/src/lib/libr12/Makefile.library
+index 1510807..26d47a4 100644
+--- a/src/lib/libr12/Makefile.library
++++ b/src/lib/libr12/Makefile.library
+@@ -47,7 +47,7 @@ $(TOPDIR)/lib/$(NAME).a: $(LIBOBJ)
+
+ # this is how shared library is made
+ $(TOPDIR)/lib/$(NAME).la: $(LIBOBJ)
+- $(LTLINK) $(CXX) -o $@ $^ $(LTLINKLIBOPTS)
++ $(LTLINK) $(CXX) $(LDFLAGS) -o $@ $^ $(LTLINKLIBOPTS)
+
+ $(TOPDIR)/include/$(NAME)/$(NAME).h: $(NAME).h
+ $(INSTALL) $(INSTALLDIROPT) $(TOPDIR)/include/$(NAME)
diff --git a/sci-libs/libint/libint-1.1.4-r1.ebuild b/sci-libs/libint/libint-1.1.4-r1.ebuild
new file mode 100644
index 000000000000..952d6e34afc1
--- /dev/null
+++ b/sci-libs/libint/libint-1.1.4-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 toolchain-funcs
+
+DESCRIPTION="Matrix elements (integrals) evaluation over Cartesian Gaussian functions"
+HOMEPAGE="http://www.chem.vt.edu/chem-dept/valeev/software/libint/libint.html"
+SRC_URI="http://www.chem.vt.edu/chem-dept/valeev/software/libint/src/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/1.1.4-as-needed.patch
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --enable-deriv \
+ --enable-r12 \
+ --with-cc=$(tc-getCC) \
+ --with-cxx=$(tc-getCXX) \
+ --with-cc-optflags="${CFLAGS}" \
+ --with-cxx-optflags="${CXXFLAGS}" \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}"
+}
diff --git a/sci-libs/libint/libint-1.1.6.ebuild b/sci-libs/libint/libint-1.1.6.ebuild
new file mode 100644
index 000000000000..73ed49b1a6f3
--- /dev/null
+++ b/sci-libs/libint/libint-1.1.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils fortran-2 toolchain-funcs versionator
+
+MY_PV="$(replace_all_version_separators -)"
+
+DESCRIPTION="Matrix elements (integrals) evaluation over Cartesian Gaussian functions"
+HOMEPAGE="https://github.com/evaleev/libint"
+SRC_URI="https://github.com/evaleev/libint/archive/release-${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+S="${WORKDIR}/${PN}-release-${MY_PV}"
+
+PATCHES=( "${FILESDIR}"/${P}-as-needed.patch )
+
+src_prepare() {
+ mv configure.{in,ac} || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-deriv
+ --enable-r12
+ --with-cc=$(tc-getCC)
+ --with-cxx=$(tc-getCXX)
+ --with-cc-optflags="${CFLAGS}"
+ --with-cxx-optflags="${CXXFLAGS}"
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/libint/libint-2.0.5.ebuild b/sci-libs/libint/libint-2.0.5.ebuild
new file mode 100644
index 000000000000..454062f290aa
--- /dev/null
+++ b/sci-libs/libint/libint-2.0.5.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils fortran-2 toolchain-funcs versionator
+
+MY_PV="$(replace_all_version_separators -)"
+
+DESCRIPTION="Matrix elements (integrals) evaluation over Cartesian Gaussian functions"
+HOMEPAGE="https://github.com/evaleev/libint"
+SRC_URI="https://github.com/evaleev/libint/archive/release-2-0-5.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs doc"
+
+S="${WORKDIR}/${PN}-release-${MY_PV}"
+
+DEPEND="
+ dev-libs/boost
+ dev-libs/gmp[cxx]
+ doc? (
+ dev-texlive/texlive-latex
+ dev-tex/latex2html
+ )"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ local myeconfargs=(
+ --with-cxx=$(tc-getCXX)
+ --with-cxx-optflags="${CXXFLAGS}"
+ --with-cxxgen-optflags="${CXXFLAGS}"
+ --with-cxxdepend=$(tc-getCXX)
+ --with-ranlib=$(tc-getRANLIB)
+ --with-ar=$(tc-getAR)
+ --with-ld=$(tc-getLD)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}"
+
+ use doc && emake html pdf
+}
+
+src_install() {
+ einstall
+
+ if use doc; then
+ DOCS=( doc/progman/progman.pdf )
+ HTML_DOCS=( doc/progman/progman/*.{html,png,css} )
+ einstalldocs
+ fi
+}
diff --git a/sci-libs/libint/metadata.xml b/sci-libs/libint/metadata.xml
new file mode 100644
index 000000000000..1f2039c47812
--- /dev/null
+++ b/sci-libs/libint/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ libint is two things:
+ 1. a library of C/C++ functions for efficient evaluation of several
+ kinds of two-body molecular integrals over Gaussian functions;
+ 2. the optimizing compiler that generates a Libint library.
+</longdescription>
+ <upstream>
+ <remote-id type="github">evaleev/libint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libmems/Manifest b/sci-libs/libmems/Manifest
new file mode 100644
index 000000000000..c1c88d19ccc9
--- /dev/null
+++ b/sci-libs/libmems/Manifest
@@ -0,0 +1,2 @@
+DIST libmems-1.6.tar.bz2 441051 SHA256 624ef4921f00c2c81d179819a5d1af91f01b1ec66dfa5f7c977b8e42696e76b4 SHA512 4a4fdc2849c5e292175249834e702421c975b6fc5995c50abce90ad2e18df3a4fd0192330a0200dc18aa26bcce4de15baccd6f269555a7710dd4e620c0ca0738 WHIRLPOOL 4ea1cf8feca0a165dc970dc93e36a8602eb746ccb31bedfc20f960c9bb0c8268152f39b5725c6c917a2869df93d0539b518db4db4b43815172218f6620913cfe
+DIST libmems-1.6_p1.tar.xz 226628 SHA256 c692d7d42378e7264d0a39674d1a6072183ee4c073ad90858153986b6a8b4848 SHA512 c6336f69b767bba010617deb2de9bb8fbbbaf516de3b1d293b062c76c6a763166080badd730938c6d849602d64a968edb6d4622b5d3e7ea7a6d8bc38164d3d73 WHIRLPOOL bc216dfb0c24c13b7b770da00100730e0e9b350c7bb6b312a480a83b51bc8c212e6ed73f08a88a7d262da8d4ed9a4c788883cbcfa3f2b2cdc362888e85b7f66a
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-boost.patch b/sci-libs/libmems/files/libmems-1.6_p1-boost.patch
new file mode 100644
index 000000000000..4f0c775a6d9c
--- /dev/null
+++ b/sci-libs/libmems/files/libmems-1.6_p1-boost.patch
@@ -0,0 +1,120 @@
+ libMems/Backbone.cpp | 2 +-
+ libMems/Files.h | 64 +++++++++++++++++++++---------------------
+ libMems/ProgressiveAligner.cpp | 2 +-
+ 3 files changed, 34 insertions(+), 34 deletions(-)
+
+diff --git a/libMems/Backbone.cpp b/libMems/Backbone.cpp
+index 86698a9..0025cd8 100644
+--- a/libMems/Backbone.cpp
++++ b/libMems/Backbone.cpp
+@@ -15,7 +15,7 @@
+ #include "libMems/Islands.h"
+ #include "libMems/CompactGappedAlignment.h"
+
+-#include <boost/property_map.hpp>
++#include <boost/property_map/property_map.hpp>
+ #include <boost/graph/graph_traits.hpp>
+ #include <boost/graph/adjacency_list.hpp>
+ #include <boost/graph/topological_sort.hpp>
+diff --git a/libMems/Files.h b/libMems/Files.h
+index 8d6e9be..8191065 100644
+--- a/libMems/Files.h
++++ b/libMems/Files.h
+@@ -22,44 +22,44 @@
+
+ #include "boost/filesystem/operations.hpp"
+ #include "boost/filesystem/exception.hpp"
+-#include "boost/algorithm/string.hpp"
++#include "boost/algorithm/string.hpp"
+ #include <string>
+ #include <sstream>
+ #include <iostream>
+ #include <iomanip>
+
+
+-/**
+- * Register a file name to be deleted before the process exits
+- * When passed an empty string, it does not add to the list of files to delete
+- * @param fname The name of a file to delete, empty strings are ignored
+- * @return A vector of file names registered for deletion
+- */
+-std::vector< std::string >& registerFileToDelete( std::string fname = "" );
+-
+-inline
+-std::vector< std::string >& registerFileToDelete( std::string fname ) {
+- // since this vector is needed when atexit() is called we allocate it
+- // on the heap so its destructor won't get called
+- static std::vector< std::string >* files = new std::vector< std::string >();
+-#pragma omp critical
+-{
+- if( fname != "" )
+- files->push_back( fname );
+-}
+- return *files;
+-}
++/**
++ * Register a file name to be deleted before the process exits
++ * When passed an empty string, it does not add to the list of files to delete
++ * @param fname The name of a file to delete, empty strings are ignored
++ * @return A vector of file names registered for deletion
++ */
++std::vector< std::string >& registerFileToDelete( std::string fname = "" );
+
+-void deleteRegisteredFiles();
+-inline
+-void deleteRegisteredFiles() {
+- // don't be a slob, clean up after yourself:
+- // delete any files that are laying around
+- std::vector< std::string >& del_files = registerFileToDelete();
+- for( int fileI = 0; fileI < del_files.size(); fileI++ )
+- boost::filesystem::remove( del_files[ fileI ] );
+- del_files.clear(); // clear the deleted files from the list
+-}
++inline
++std::vector< std::string >& registerFileToDelete( std::string fname ) {
++ // since this vector is needed when atexit() is called we allocate it
++ // on the heap so its destructor won't get called
++ static std::vector< std::string >* files = new std::vector< std::string >();
++#pragma omp critical
++{
++ if( fname != "" )
++ files->push_back( fname );
++}
++ return *files;
++}
++
++void deleteRegisteredFiles();
++inline
++void deleteRegisteredFiles() {
++ // don't be a slob, clean up after yourself:
++ // delete any files that are laying around
++ std::vector< std::string >& del_files = registerFileToDelete();
++ for( int fileI = 0; fileI < del_files.size(); fileI++ )
++ boost::filesystem::remove( del_files[ fileI ] );
++ del_files.clear(); // clear the deleted files from the list
++}
+
+
+ /**
+@@ -80,7 +80,7 @@ std::string CreateTempFileName(const std::string& prefix)
+ #endif
+ boost::filesystem::path path( prefix );
+ dir = path.branch_path().string();
+- name = path.leaf();
++ name = path.filename().string();
+ if( name == "/" )
+ {
+ dir += name;
+diff --git a/libMems/ProgressiveAligner.cpp b/libMems/ProgressiveAligner.cpp
+index 3be5fe0..5667a9e 100644
+--- a/libMems/ProgressiveAligner.cpp
++++ b/libMems/ProgressiveAligner.cpp
+@@ -27,7 +27,7 @@
+
+ #include <boost/dynamic_bitset.hpp>
+ #include <boost/tuple/tuple.hpp>
+-#include <boost/property_map.hpp>
++#include <boost/property_map/property_map.hpp>
+ #include <boost/graph/graph_traits.hpp>
+ #include <boost/graph/adjacency_list.hpp>
+ #include <boost/graph/johnson_all_pairs_shortest.hpp>
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-build.patch b/sci-libs/libmems/files/libmems-1.6_p1-build.patch
new file mode 100644
index 000000000000..63e5f1216756
--- /dev/null
+++ b/sci-libs/libmems/files/libmems-1.6_p1-build.patch
@@ -0,0 +1,19 @@
+ libMems/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libMems/Makefile.am b/libMems/Makefile.am
+index 6101f71..d66053d 100644
+--- a/libMems/Makefile.am
++++ b/libMems/Makefile.am
+@@ -2,10 +2,10 @@
+ if DEBUG
+ D_CXXFLAGS = -Wall -g -D__GNDEBUG__
+ endif
+-OPTIMIZATION = -O2 -Wall -funroll-loops -fomit-frame-pointer -ftree-vectorize
+ AM_CFLAGS = $(OPTIMIZATION) @DEPS_CFLAGS@ -DUSE_POSIX_AIO @OPENMP_CFLAGS@
+ AM_CXXFLAGS = $(OPTIMIZATION) @DEPS_CFLAGS@ @BOOST_CPPFLAGS@ $(D_CXXFLAGS) @EXTRA_CXX_FLAGS@ @OPENMP_CXXFLAGS@
+ AM_LDFLAGS = $(OPTIMIZATION)
++AM_CPPFLAGS=-I$(top_srcdir)
+
+ LIBMEMS_H = \
+ RepeatHash.h MatchHashEntry.h \
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-gcc-4.7.patch b/sci-libs/libmems/files/libmems-1.6_p1-gcc-4.7.patch
new file mode 100644
index 000000000000..ec620ebb35aa
--- /dev/null
+++ b/sci-libs/libmems/files/libmems-1.6_p1-gcc-4.7.patch
@@ -0,0 +1,71 @@
+ libMems/CompactGappedAlignment.h | 36 ++++++++++++++++++------------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/libMems/CompactGappedAlignment.h b/libMems/CompactGappedAlignment.h
+index bf78477..942d4aa 100644
+--- a/libMems/CompactGappedAlignment.h
++++ b/libMems/CompactGappedAlignment.h
+@@ -13,7 +13,7 @@
+ #include "config.h"
+ #endif
+
+-#include "libGenome/gnDebug.h"
++#include "libGenome/gnDebug.h"
+ #include "libGenome/gnFilter.h"
+ #include "libGenome/gnSequence.h"
+ #include "libMems/SparseAbstractMatch.h"
+@@ -103,15 +103,15 @@ public:
+ /** Eliminates any columns that contain only gap characters */
+ void CondenseGapColumns();
+
+- void swap( CompactGappedAlignment& other ){ swap(&other); }
+-
+-protected:
+- // for use by derived classes in order to swap contents
+- void swap( CompactGappedAlignment* other ){
+- std::swap( align_matrix, other->align_matrix );
+- std::swap( bcount, other->bcount );
+- BaseType::swap( other );
+- }
++ void swap( CompactGappedAlignment& other ){ swap(&other); }
++
++protected:
++ // for use by derived classes in order to swap contents
++ void swap( CompactGappedAlignment* other ){
++ std::swap( align_matrix, other->align_matrix );
++ std::swap( bcount, other->bcount );
++ BaseType::swap( other );
++ }
+
+ std::vector< bitset_t > align_matrix; /**< aligned positions have true values, gaps are false */
+ std::vector< std::vector< size_t > > bcount;
+@@ -572,7 +572,7 @@ void CompactGappedAlignment<BaseType>::CropEnd(gnSeqI crop_amount){
+ this->SetStart(i, 0);
+ }
+ }
+- SetAlignmentLength( this->AlignmentLength() - crop_amount );
++ this->SetAlignmentLength( this->AlignmentLength() - crop_amount );
+ this->create_bitcount();
+ if( !this->validate() )
+ std::cerr << "CropEnd error\n";
+@@ -806,13 +806,13 @@ void CompactGappedAlignment<BaseType>::CondenseGapColumns()
+
+ }
+
+-namespace std {
+-template<> inline
+-void swap( mems::CompactGappedAlignment<>& a, mems::CompactGappedAlignment<>& b )
+-{
+- a.swap(b);
+-}
+-}
++namespace std {
++template<> inline
++void swap( mems::CompactGappedAlignment<>& a, mems::CompactGappedAlignment<>& b )
++{
++ a.swap(b);
++}
++}
+
+
+ #endif // __CompactGappedAlignment_h__
diff --git a/sci-libs/libmems/libmems-1.6.ebuild b/sci-libs/libmems/libmems-1.6.ebuild
new file mode 100644
index 000000000000..56bb4be6dd7f
--- /dev/null
+++ b/sci-libs/libmems/libmems-1.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit autotools
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+CDEPEND="
+ dev-libs/boost
+ sci-libs/libgenome
+ sci-libs/libmuscle"
+DEPEND="${CDEPEND}
+ doc? ( app-doc/doxygen )"
+RDEPEND="${CDEPEND}"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+}
diff --git a/sci-libs/libmems/libmems-1.6_p1.ebuild b/sci-libs/libmems/libmems-1.6_p1.ebuild
new file mode 100644
index 000000000000..c8d7dc9ecc92
--- /dev/null
+++ b/sci-libs/libmems/libmems-1.6_p1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+CDEPEND="
+ dev-libs/boost
+ sci-libs/libgenome
+ sci-libs/libmuscle"
+DEPEND="${CDEPEND}
+ doc? ( app-doc/doxygen )"
+RDEPEND="${CDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-boost.patch
+ "${FILESDIR}"/${P}-gcc-4.7.patch
+ )
diff --git a/sci-libs/libmems/libmems-9999.ebuild b/sci-libs/libmems/libmems-9999.ebuild
new file mode 100644
index 000000000000..ff9052c10cfb
--- /dev/null
+++ b/sci-libs/libmems/libmems-9999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+ESVN_REPO_URI="https://mauve.svn.sourceforge.net/svnroot/mauve/libMems/trunk"
+
+inherit autotools-utils subversion
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+SRC_URI=""
+
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="doc"
+KEYWORDS=""
+
+CDEPEND="
+ dev-libs/boost
+ sci-libs/libgenome
+ sci-libs/libmuscle"
+DEPEND="${CDEPEND}
+ doc? ( app-doc/doxygen )"
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}"
diff --git a/sci-libs/libmems/metadata.xml b/sci-libs/libmems/metadata.xml
new file mode 100644
index 000000000000..d4648212cbad
--- /dev/null
+++ b/sci-libs/libmems/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-biology</herd>
+</pkgmetadata>
diff --git a/sci-libs/libmuscle/Manifest b/sci-libs/libmuscle/Manifest
new file mode 100644
index 000000000000..668a23bee9ee
--- /dev/null
+++ b/sci-libs/libmuscle/Manifest
@@ -0,0 +1 @@
+DIST libmuscle-3.7-r1.tar.bz2 458852 SHA256 3c0df6aeb8ea86bcd92e61f509486244176cee22c9bd7239ff16a51e1d046a14
diff --git a/sci-libs/libmuscle/files/3.7-bufferoverflow.patch b/sci-libs/libmuscle/files/3.7-bufferoverflow.patch
new file mode 100644
index 000000000000..c34b8ccacbda
--- /dev/null
+++ b/sci-libs/libmuscle/files/3.7-bufferoverflow.patch
@@ -0,0 +1,22 @@
+--- libMUSCLE/globalslinux.cpp.old 2010-03-14 19:03:14.000000000 +1300
++++ libMUSCLE/globalslinux.cpp 2010-03-14 19:11:09.000000000 +1300
+@@ -159,7 +159,7 @@
+ }
+ return DEFAULT_RAM;
+ }
+- int Bytes = atoi(pMem+9)*1000;
++ long Bytes = atol(pMem+9)*1000;
+ return ((double) Bytes)/1e6;
+ }
+
+--- libMUSCLE/progress.cpp.old 2010-03-14 19:50:27.000000000 +1300
++++ libMUSCLE/progress.cpp 2010-03-14 19:51:07.000000000 +1300
+@@ -48,7 +48,7 @@
+ if (MB < 0)
+ return "";
+
+- static char Str[9];
++ static char Str[11];
+ static double MaxMB = 0;
+ static double RAMMB = 0;
+
diff --git a/sci-libs/libmuscle/libmuscle-3.7-r1.ebuild b/sci-libs/libmuscle/libmuscle-3.7-r1.ebuild
new file mode 100644
index 000000000000..2a338dbb0694
--- /dev/null
+++ b/sci-libs/libmuscle/libmuscle-3.7-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+MY_TAG="mauve-2-3-0-release"
+#ESVN_REPO_URI="https://mauve.svn.sourceforge.net/svnroot/mauve/muscle/tags/${MY_TAG}"
+
+#inherit subversion autotools
+inherit autotools
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+#SRC_URI=""
+SRC_URI="mirror://gentoo/${P}-${PR}.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="doc? ( app-doc/doxygen )
+ !sci-biology/muscle"
+RDEPEND=""
+
+#S="${WORKDIR}"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_compile() {
+ emake -j1 || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+}
diff --git a/sci-libs/libmuscle/libmuscle-3.7-r2.ebuild b/sci-libs/libmuscle/libmuscle-3.7-r2.ebuild
new file mode 100644
index 000000000000..60ccf621f884
--- /dev/null
+++ b/sci-libs/libmuscle/libmuscle-3.7-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+MY_TAG="mauve-2-3-0-release"
+#ESVN_REPO_URI="https://mauve.svn.sourceforge.net/svnroot/mauve/muscle/tags/${MY_TAG}"
+
+#inherit subversion autotools
+inherit autotools eutils
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+#SRC_URI=""
+SRC_URI="mirror://gentoo/${P}-r1.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="doc? ( app-doc/doxygen )
+ !sci-biology/muscle"
+RDEPEND=""
+
+#S="${WORKDIR}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-bufferoverflow.patch
+ eautoreconf
+}
+
+src_compile() {
+ emake -j1 || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+}
diff --git a/sci-libs/libmuscle/libmuscle-9999.ebuild b/sci-libs/libmuscle/libmuscle-9999.ebuild
new file mode 100644
index 000000000000..7d5c5f035295
--- /dev/null
+++ b/sci-libs/libmuscle/libmuscle-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+ESVN_REPO_URI="https://mauve.svn.sourceforge.net/svnroot/mauve/muscle/trunk"
+
+inherit subversion autotools
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+SRC_URI=""
+
+LICENSE="public-domain"
+SLOT="0"
+IUSE="doc"
+KEYWORDS=""
+
+DEPEND="doc? ( app-doc/doxygen )
+ !sci-biology/muscle"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_compile() {
+ emake -j1 || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+}
diff --git a/sci-libs/libmuscle/metadata.xml b/sci-libs/libmuscle/metadata.xml
new file mode 100644
index 000000000000..d4648212cbad
--- /dev/null
+++ b/sci-libs/libmuscle/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-biology</herd>
+</pkgmetadata>
diff --git a/sci-libs/libnova/Manifest b/sci-libs/libnova/Manifest
new file mode 100644
index 000000000000..c65151ad4fdb
--- /dev/null
+++ b/sci-libs/libnova/Manifest
@@ -0,0 +1,3 @@
+DIST libnova-0.12.3.tar.gz 1505676 SHA256 ac250e678e52c9484629e1e934d0d1276db8b431d338887fb98c41ffd2e9b3a2
+DIST libnova-0.14.0.tar.gz 1547373 SHA256 be1b91783310b3803a51d6b224a0eeb171a54e8b0350f7dd0e5ca860484b3145
+DIST libnova-0.15.0.tar.gz 1533794 SHA256 7c5aa33e45a3e7118d77df05af7341e61784284f1e8d0d965307f1663f415bb1 SHA512 77ab0ccbfe462c03a21e88656cb4d6389994ea1da0ee8da997f19a83d24ad8fd9e505e70e1580b75332e826e5b7859b5f2af4417f65eb811440493ba586f2574 WHIRLPOOL c4a016dd479852aa977c1ca07354245d0260816adf41992499f1fbef1edf740f30efd3e64739a247139d93156cbf356a409963b9a9f0236726c2a83c2c0c66d7
diff --git a/sci-libs/libnova/files/libnova-0.12.1-configure.patch b/sci-libs/libnova/files/libnova-0.12.1-configure.patch
new file mode 100644
index 000000000000..b87b27d75dc9
--- /dev/null
+++ b/sci-libs/libnova/files/libnova-0.12.1-configure.patch
@@ -0,0 +1,17 @@
+--- configure.in.orig 2007-11-25 19:24:54.503391146 +0000
++++ configure.in 2007-11-25 19:26:16.736077320 +0000
+@@ -54,7 +54,6 @@
+ AC_STRUCT_TM
+
+ LIBS="$LIBS -lm"
+-CFLAGS=-Wall
+
+ # Checks for header files.
+ AC_HEADER_STDC
+@@ -74,5 +73,6 @@
+ src/libnova/Makefile
+ lntest/Makefile
+ doc/Makefile
++doc/doxyfile
+ examples/Makefile
+ ])
diff --git a/sci-libs/libnova/libnova-0.12.3.ebuild b/sci-libs/libnova/libnova-0.12.3.ebuild
new file mode 100644
index 000000000000..860b78340207
--- /dev/null
+++ b/sci-libs/libnova/libnova-0.12.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+inherit eutils autotools flag-o-matic
+
+DESCRIPTION="Celestial Mechanics and Astronomical Calculation Library"
+HOMEPAGE="http://libnova.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 x86"
+IUSE="doc examples"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.12.1-configure.patch
+ # 0.12.3 does not pass test with > -02
+ replace-flags -O? -O1
+ eautoreconf
+}
+
+src_compile() {
+ emake || die "emake failed"
+ if use doc; then
+ cd doc
+ emake doc || die "emake in doc failed"
+ fi
+}
+
+src_test() {
+ emake check || die "emake check failed"
+ "${S}"/lntest/lntest || die "lntest failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog NEWS README || die
+ if use doc; then
+ dohtml doc/html/* || die "dohtml failed"
+ fi
+ if use examples; then
+ make clean
+ rm -f examples/Makefile*
+ insinto /usr/share/doc/${PF}
+ doins -r examples || die
+ fi
+}
diff --git a/sci-libs/libnova/libnova-0.14.0.ebuild b/sci-libs/libnova/libnova-0.14.0.ebuild
new file mode 100644
index 000000000000..fd018b1b02d2
--- /dev/null
+++ b/sci-libs/libnova/libnova-0.14.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils
+
+DESCRIPTION="Celestial Mechanics and Astronomical Calculation Library"
+HOMEPAGE="http://libnova.sourceforge.net/"
+SRC_URI="http://dev.gentoo.org/~bicatali/${P}.tar.gz"
+# bad tar ball on sf, rebuild it from svn
+#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc examples static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+ use doc && emake doc
+}
+
+src_install() {
+ default
+ use doc && dohtml doc/html/*
+ if use examples; then
+ make clean
+ rm -f examples/Makefile*
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/libnova/libnova-0.15.0.ebuild b/sci-libs/libnova/libnova-0.15.0.ebuild
new file mode 100644
index 000000000000..cf4d321c7d4c
--- /dev/null
+++ b/sci-libs/libnova/libnova-0.15.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="Celestial Mechanics and Astronomical Calculation Library"
+HOMEPAGE="http://libnova.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+src_prepare() {
+ sed -i -e '/CFLAGS=-Wall/d' configure.in || die
+ autotools-utils_src_prepare
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile -C doc doc
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml doc/html/*
+ if use examples; then
+ make clean
+ rm examples/Makefile*
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/libnova/metadata.xml b/sci-libs/libnova/metadata.xml
new file mode 100644
index 000000000000..2aeb4f9d9824
--- /dev/null
+++ b/sci-libs/libnova/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-astronomy</herd>
+ <longdescription lang="en">
+ libnova is a general purpose, double precision, astronomical
+ calculation library. The intended audience of libnova is C / C++ programmers,
+ astronomers and anyone else interested in calculating positions of
+ astronomical objects.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">libnova</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/liborigin/Manifest b/sci-libs/liborigin/Manifest
new file mode 100644
index 000000000000..d170955c5d88
--- /dev/null
+++ b/sci-libs/liborigin/Manifest
@@ -0,0 +1 @@
+DIST liborigin2-20110829.zip 158364 SHA256 51ebf6de57d2b44cd6f5ab772ed92154eec9598a14a6655967ebcf2d7f8da0a2 SHA512 d0e4013a686fbc61c58b1f39e98aace91978bcadffbb2ef9d32576a3b2f19cc2443d595da2d3ecc19298ec6e29c20717db94e1fda6a64d71f3763841228a01c0 WHIRLPOOL 6828990a46643e7eb838ebda425d2a0d4477945552afe10b18048edaa104b94b43ea428700417c3701251646add3e45a4c4bcd1076b1740e42fa145c816200a2
diff --git a/sci-libs/liborigin/liborigin-20110829.ebuild b/sci-libs/liborigin/liborigin-20110829.ebuild
new file mode 100644
index 000000000000..ba5705dc99ef
--- /dev/null
+++ b/sci-libs/liborigin/liborigin-20110829.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib qt4-r2
+
+DESCRIPTION="Library for reading OriginLab OPJ project files"
+HOMEPAGE="http://soft.proindependent.com/liborigin2/"
+SRC_URI="http://dev.gentoo.org/~dilfridge/distfiles/${PN}2-${PV}.zip"
+
+LICENSE="GPL-3"
+SLOT="2"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ dev-libs/boost
+ dev-qt/qtgui:4"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-cpp/tree
+ doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}"/${PN}${SLOT}
+
+src_prepare() {
+ mv liborigin2.pro liborigin.pro || die
+ qt4-r2_src_prepare
+ cat >> liborigin.pro <<-EOF
+ INCLUDEPATH += "${EPREFIX}/usr/include/tree"
+ headers.files = \$\$HEADERS
+ headers.path = "${EPREFIX}/usr/include/liborigin2"
+ target.path = "${EPREFIX}/usr/$(get_libdir)"
+ INSTALLS = target headers
+ EOF
+ # use system one
+ rm -f tree.hh || die
+}
+
+src_compile() {
+ qt4-r2_src_compile
+ if use doc; then
+ cd doc && \
+ doxygen Doxyfile || die "doc generation failed"
+ fi
+}
+
+src_install() {
+ local DOCS="readme FORMAT"
+ use doc && local HTML_DOCS=( doc/html/. )
+ qt4-r2_src_install
+}
diff --git a/sci-libs/liborigin/metadata.xml b/sci-libs/liborigin/metadata.xml
new file mode 100644
index 000000000000..b0d1cf12843c
--- /dev/null
+++ b/sci-libs/liborigin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription>
+ A library providing IO for Microcal Origin files.
+ </longdescription>
+</pkgmetadata>
diff --git a/sci-libs/libpdb++/Manifest b/sci-libs/libpdb++/Manifest
new file mode 100644
index 000000000000..09e88d0258bb
--- /dev/null
+++ b/sci-libs/libpdb++/Manifest
@@ -0,0 +1 @@
+DIST libpdb++-040728.shar 113174 SHA256 e37fcaa58e04e64a2a1ae6324c699d320c9d6bf07694e29d6bef63c61dd585e7 SHA512 4b3e4b12ea10395ba38fbc12fbb3589bd7b40997e1a0bcb79d3d0a495c361e4dea8dbdc4c434de290b5f62412e297df09742beeea0a8b881dbf92317013aa930 WHIRLPOOL 9bc9ce6861cce47da69609c402759813a050af4849c969b72d27669bd55143be48432e5dcc44d08b04d6f6f0915fdf6ff3860a4652de248d9d13df27ce2b9869
diff --git a/sci-libs/libpdb++/files/040728-dynlib.patch b/sci-libs/libpdb++/files/040728-dynlib.patch
new file mode 100644
index 000000000000..a9792afb52a8
--- /dev/null
+++ b/sci-libs/libpdb++/files/040728-dynlib.patch
@@ -0,0 +1,12 @@
+diff --git a/libpdb++/Makefile b/libpdb++/Makefile
+index bbf0778..286a638 100644
+--- a/libpdb++/Makefile
++++ b/libpdb++/Makefile
+@@ -32,6 +32,7 @@ install: $(LIBARCH)
+
+ $(LIBARCH): $(OBJS)
+ @echo "Loading $(LIBARCH) ... "
++ $(CXX) $(LDFLAGS) -shared -Wl,--soname,libpdb++.so.0 -o libpdb++.so.0.1 $(OBJS)
+ @ar cru $(LIBARCH) $(OBJS)
+ @$(RANLIB) $(LIBARCH)
+ @echo "done"
diff --git a/sci-libs/libpdb++/files/libpdb++-040728-dynlib+flags.patch b/sci-libs/libpdb++/files/libpdb++-040728-dynlib+flags.patch
new file mode 100644
index 000000000000..3600481f4c72
--- /dev/null
+++ b/sci-libs/libpdb++/files/libpdb++-040728-dynlib+flags.patch
@@ -0,0 +1,54 @@
+ Makefile | 20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index bbf0778..1dc6c62 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,22 +4,22 @@
+ # On System V machines, RANLIB should be ':'
+ #
+ SHELL = /bin/sh
+-RANLIB = :
++#RANLIB = :
+
+-CXX = gcc -felide-constructors
++CXX ?= g++
+ #CXX = CC
+
+ .SUFFIXES: .cc
+
+ .cc.o:
+- $(CXX) $(CCFLAGS) -c $< -o $@
++ $(CXX) $(CXXFLAGS) -fPIC -felide-constructors -c $< -o $@
+
+ OPT = -O
+ DEBUG =
+ CCFLAGS = $(OPT) $(DEBUG)
+ LIBRARY = pdb++
+
+-LIBARCH = lib$(LIBRARY).a
++LIBARCH = lib$(LIBRARY)
+ OBJS = pdb_read.o pdb_sprntf.o pdb_sscanf.o pdb_chars.o \
+ pdb_type.o pdb++.o pdbinput.o
+ SRCS = pdb_read.cc pdb_sprntf.cc pdb_sscanf.cc pdb_chars.cc \
+@@ -30,10 +30,16 @@ all: $(LIBARCH)
+ install: $(LIBARCH)
+ install -F /usr/local/lib $(LIBARCH)
+
+-$(LIBARCH): $(OBJS)
++$(LIBARCH).a: $(OBJS)
+ @echo "Loading $(LIBARCH) ... "
+- @ar cru $(LIBARCH) $(OBJS)
+- @$(RANLIB) $(LIBARCH)
++ $(AR) cru $@ $(OBJS)
++ $(RANLIB) $@
++ @echo "done"
++
++$(LIBARCH).so: $(OBJS)
++ $(CXX) $(LDFLAGS) -shared -Wl,--soname,libpdb++.so.0 -o libpdb++.so.0.1 $(OBJS)
++ ln -sf libpdb++.so.0.1 libpdb++.so.0
++ ln -sf libpdb++.so.0.1 libpdb++.so
+ @echo "done"
+
+ clean:; @rm -f $(OBJS)
diff --git a/sci-libs/libpdb++/libpdb++-040728-r1.ebuild b/sci-libs/libpdb++/libpdb++-040728-r1.ebuild
new file mode 100644
index 000000000000..3edeb2df05be
--- /dev/null
+++ b/sci-libs/libpdb++/libpdb++-040728-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="PDB Record I/O Libraries -- c++ version"
+HOMEPAGE="http://www.cgl.ucsf.edu/Overview/software.html"
+SRC_URI="mirror://gentoo/${P}.shar"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-arch/sharutils"
+
+S="${WORKDIR}"/${PN}
+
+src_unpack() {
+ "${EPREFIX}/usr/bin/unshar" "${DISTDIR}"/${A} || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-dynlib+flags.patch
+ tc-export CXX AR RANLIB
+}
+
+src_compile() {
+ emake ${PN}.so
+ use static-libs && emake ${PN}.a
+}
+
+src_install() {
+ dolib.so ${PN}.so*
+ use static-libs && dolib.a ${PN}.a
+
+ insinto /usr/include/${PN}
+ doins *.h
+}
diff --git a/sci-libs/libpdb++/libpdb++-040728.ebuild b/sci-libs/libpdb++/libpdb++-040728.ebuild
new file mode 100644
index 000000000000..bd69f261d97b
--- /dev/null
+++ b/sci-libs/libpdb++/libpdb++-040728.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="PDB Record I/O Libraries -- c++ version"
+HOMEPAGE="http://www.cgl.ucsf.edu/Overview/software.html"
+SRC_URI="mirror://gentoo/${P}.shar"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-arch/sharutils"
+
+S="${WORKDIR}"/${PN}
+
+src_unpack() {
+ "${EPREFIX}"/usr/bin/unshar "${DISTDIR}"/${A} || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-dynlib.patch
+}
+
+src_compile() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ CCFLAGS="${CXXFLAGS} -fPIC -felide-constructors" \
+ || die
+}
+
+src_install() {
+ dolib.a ${PN}.a || die
+ dolib.so ${PN}.so.0.1 || die
+ dosym ${PN}.so.0.1 /usr/$(get_libdir)/${PN}.so.0
+ dosym ${PN}.so.0.1 /usr/$(get_libdir)/${PN}.so
+ insinto /usr/include/${PN}
+ doins *.h || die
+}
diff --git a/sci-libs/libpdb++/metadata.xml b/sci-libs/libpdb++/metadata.xml
new file mode 100644
index 000000000000..210ad0db014c
--- /dev/null
+++ b/sci-libs/libpdb++/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/libpdb/Manifest b/sci-libs/libpdb/Manifest
new file mode 100644
index 000000000000..be3a7ecfca38
--- /dev/null
+++ b/sci-libs/libpdb/Manifest
@@ -0,0 +1 @@
+DIST libpdb-991112.shar 123895 SHA256 31101a9e6a98a4359241978cb389acc3d0845171209c87e127a7264b21cedcee SHA512 ae356997d11068736bbbd1a57e4e3a28fa54fd396326bc8fea41485186a1c69ce39c7f81195ae65ddc59c017d85dd123614f56f910c8faffd4791fcfd1b064f4 WHIRLPOOL 8017376c127032727b0e115ea240ef084c8a054c4c5be1545152926cb710243e5210a15e191a635df8f7bc6f1fea8422735888b5881efc199176acab85ef2153
diff --git a/sci-libs/libpdb/files/991112-dynlib.patch b/sci-libs/libpdb/files/991112-dynlib.patch
new file mode 100644
index 000000000000..d3e25ce5281c
--- /dev/null
+++ b/sci-libs/libpdb/files/991112-dynlib.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index 760a427..da2f62d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -29,6 +29,7 @@ install: $(LIBARCH)
+
+ $(LIBARCH): $(OBJS)
+ @echo "Loading $(LIBARCH) ... "
++ $(CC) $(LDFLAGS) -shared -Wl,--soname,libpdb.so.0 -o libpdb.so.0.1 $(OBJS)
+ @ar cru $(LIBARCH) $(OBJS)
+ @$(RANLIB) $(LIBARCH)
+ @echo "done"
diff --git a/sci-libs/libpdb/files/libpdb-991112-dynlib+flags.patch b/sci-libs/libpdb/files/libpdb-991112-dynlib+flags.patch
new file mode 100644
index 000000000000..72048b684a93
--- /dev/null
+++ b/sci-libs/libpdb/files/libpdb-991112-dynlib+flags.patch
@@ -0,0 +1,46 @@
+ Makefile | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 760a427..de7e724 100644
+--- a/Makefile
++++ b/Makefile
+@@ -8,16 +8,16 @@
+ # RANLIB should be ':'
+ #
+ SHELL = /bin/sh
+-RANLIB = :
++#RANLIB = :
+ NOTHING =
+ LINTOPT = -o $(NOTHING)
+
+ OPT = -O -g
+ DEBUG =
+-CFLAGS = $(OPT) $(DEBUG)
++CFLAGS += -fPIC
+ LIBRARY = pdb
+
+-LIBARCH = lib$(LIBRARY).a
++LIBARCH = lib$(LIBRARY)
+ LINTLIB = llib-l$(LIBRARY).ln
+ OBJS = pdb_read.o pdb_sprntf.o pdb_sscanf.o pdb_write.o pdbrun.o ms.o
+ SRCS = pdb_read.c pdb_sprntf.c pdb_sscanf.c pdb_write.c pdbrun.c ms.c
+@@ -27,10 +27,15 @@ all: $(LIBARCH) $(LINTLIB)
+ install: $(LIBARCH)
+ install -F /usr/local/lib $(LIBARCH)
+
+-$(LIBARCH): $(OBJS)
++$(LIBARCH).so: $(OBJS)
++ $(CC) $(LDFLAGS) -shared -Wl,--soname,libpdb.so.0 -o libpdb.so.0.1 $(OBJS)
++ ln -sf libpdb.so.0.1 libpdb.so.0
++ ln -sf libpdb.so.0.1 libpdb.so
++
++$(LIBARCH).a: $(OBJS)
+ @echo "Loading $(LIBARCH) ... "
+- @ar cru $(LIBARCH) $(OBJS)
+- @$(RANLIB) $(LIBARCH)
++ $(AR) cru $@ $(OBJS)
++ $(RANLIB) $@
+ @echo "done"
+
+ $(LINTLIB): $(SRCS) $(HDRS)
diff --git a/sci-libs/libpdb/libpdb-991112-r1.ebuild b/sci-libs/libpdb/libpdb-991112-r1.ebuild
new file mode 100644
index 000000000000..0981f38c68bc
--- /dev/null
+++ b/sci-libs/libpdb/libpdb-991112-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="PDB Record I/O Libraries -- c version"
+HOMEPAGE="http://www.cgl.ucsf.edu/Overview/software.html"
+SRC_URI="mirror://gentoo/${P}.shar"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-arch/sharutils"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ "${EPREFIX}/usr/bin/unshar" "${DISTDIR}"/${A} || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-dynlib+flags.patch
+ tc-export CC RANLIB AR
+}
+
+src_compile() {
+ emake ${PN}.so
+ use static-libs && emake ${PN}.a
+}
+
+src_install() {
+ dolib.so ${PN}.so*
+ use static-libs && dolib.a ${PN}.a
+
+ insinto /usr/include/${PN}
+ doins *.h
+}
diff --git a/sci-libs/libpdb/libpdb-991112.ebuild b/sci-libs/libpdb/libpdb-991112.ebuild
new file mode 100644
index 000000000000..9b1ce441b74b
--- /dev/null
+++ b/sci-libs/libpdb/libpdb-991112.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="PDB Record I/O Libraries -- c version"
+HOMEPAGE="http://www.cgl.ucsf.edu/Overview/software.html"
+SRC_URI="mirror://gentoo/${P}.shar"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ app-arch/sharutils"
+
+S="${WORKDIR}"/${PN}
+
+src_unpack() {
+ "${EPREFIX}"/usr/bin/unshar "${DISTDIR}"/${A} || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-dynlib.patch
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS} -fPIC" \
+ ${PN}.a || die
+}
+
+src_install() {
+ dolib.a ${PN}.a || die
+ dolib.so ${PN}.so.0.1 || die
+ dosym ${PN}.so.0.1 /usr/$(get_libdir)/${PN}.so.0
+ dosym ${PN}.so.0.1 /usr/$(get_libdir)/${PN}.so
+ insinto /usr/include/${PN}
+ doins *.h || die
+}
diff --git a/sci-libs/libpdb/metadata.xml b/sci-libs/libpdb/metadata.xml
new file mode 100644
index 000000000000..210ad0db014c
--- /dev/null
+++ b/sci-libs/libpdb/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/libqalculate/Manifest b/sci-libs/libqalculate/Manifest
new file mode 100644
index 000000000000..708c5fc82506
--- /dev/null
+++ b/sci-libs/libqalculate/Manifest
@@ -0,0 +1 @@
+DIST libqalculate-0.9.7.tar.gz 1256271 SHA256 9a6d97ce3339d104358294242c3ecd5e312446721e93499ff70acc1604607955 SHA512 9aae8540481df4aa1cb24b1c6e8e9424e87758444f0b9689cd809bdf4230c4b5257c74363e6f084cea4e3be1935f45c53e7fc592f76d25d709ad88c97884bc42 WHIRLPOOL 21259323d91a8d7dc746048a3ef52f435ad3ff0450c08238d6a1d246990c5144a3072826ae0d2f656f75fe3c3be51b5c93a90f81eec4c742188bb9e33f5c171f
diff --git a/sci-libs/libqalculate/libqalculate-0.9.7-r1.ebuild b/sci-libs/libqalculate/libqalculate-0.9.7-r1.ebuild
new file mode 100644
index 000000000000..bd314e54bba6
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-0.9.7-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="http://qalculate.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${P/lib}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="gnuplot readline static-libs"
+
+COMMON_DEPEND="
+ dev-libs/glib:2
+ dev-libs/libxml2:2
+ >=sci-libs/cln-1.2
+ sys-libs/zlib
+ readline? ( sys-libs/readline )"
+DEPEND="${COMMON_DEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/wget
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+
+src_prepare() {
+ cat >po/POTFILES.skip <<-EOF
+ # Required by make check
+ data/currencies.xml.in
+ data/datasets.xml.in
+ data/elements.xml.in
+ data/functions.xml.in
+ data/planets.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html/reference" \
+ install
+
+ dodoc AUTHORS ChangeLog NEWS README* TODO
+
+ prune_libtool_files
+}
diff --git a/sci-libs/libqalculate/metadata.xml b/sci-libs/libqalculate/metadata.xml
new file mode 100644
index 000000000000..b3409acc001f
--- /dev/null
+++ b/sci-libs/libqalculate/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <upstream>
+ <remote-id type="sourceforge">.tar.gz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libsigrok/Manifest b/sci-libs/libsigrok/Manifest
new file mode 100644
index 000000000000..0289374531a8
--- /dev/null
+++ b/sci-libs/libsigrok/Manifest
@@ -0,0 +1 @@
+DIST libsigrok-0.3.0.tar.gz 924503 SHA256 43926907a06f1d7aa73c68ae379d66412ac2728483eed7d20a8cf061f73f7050 SHA512 b94e8a8da1346f9ab267fd693975411243f2cb016e48ec05f4ad88a8a1dfe5ed6f5ad4ac4bf0e94dc551dc92cd70d2719983e21abaa4811693fb28a27bf74550 WHIRLPOOL 709b1e7fd0b3f864129ade9d91cc072cf72675bc10ec053e71cd0e7ce18442d405dc8ab5d435ac59694360a2be4f5a9a2ceb559dd3e6c7a7736dafa7a04ccae7
diff --git a/sci-libs/libsigrok/files/libsigrok-0.3.0-configure-flags.patch b/sci-libs/libsigrok/files/libsigrok-0.3.0-configure-flags.patch
new file mode 100644
index 000000000000..16e13349360c
--- /dev/null
+++ b/sci-libs/libsigrok/files/libsigrok-0.3.0-configure-flags.patch
@@ -0,0 +1,169 @@
+https://sourceforge.net/p/sigrok/mailman/message/32459490/
+
+From de8690fe8aad81f963f14cf1bd7d6e7013d9d747 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 13 Jun 2014 19:09:35 -0400
+Subject: [PATCH] add explicit configure flags for ftdi/serial/usb libraries
+
+This makes it a lot easier for distros to control this functionality.
+---
+ configure.ac | 118 +++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 79 insertions(+), 39 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 496bc7a..f23e630 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -261,6 +261,18 @@ AC_ARG_ENABLE(zeroplus-logic-cube,
+ [HW_ZEROPLUS_LOGIC_CUBE="$enableval"],
+ [HW_ZEROPLUS_LOGIC_CUBE=$HW_ENABLED_DEFAULT])
+
++AC_ARG_ENABLE(libserialport,
++ AC_HELP_STRING([--disable-libserialport],
++ [disable libserialport support [default=detect]]))
++
++AC_ARG_ENABLE(libftdi,
++ AC_HELP_STRING([--disable-libftdi],
++ [disable libftdi support [default=detect]]))
++
++AC_ARG_ENABLE(libusb,
++ AC_HELP_STRING([--disable-libusb],
++ [disable libusb support [default=detect]]))
++
+ # Checks for libraries.
+
+ case "$host" in
+@@ -302,19 +314,28 @@ PKG_CHECK_MODULES([libzip], [libzip >= 0.10],
+
+ # libserialport is only needed for some hardware drivers. Disable the
+ # respective drivers if it is not found.
+-PKG_CHECK_MODULES([libserialport], [libserialport >= 0.1.0],
+- [have_libserialport="yes"; LIB_CFLAGS="$LIB_CFLAGS $libserialport_CFLAGS";
+- LIBS="$LIBS $libserialport_LIBS";
+- SR_PKGLIBS="$SR_PKGLIBS libserialport"],
+- [have_libserialport="no"; HW_AGILENT_DMM="no"; HW_APPA_55II="no";
++if test "x$enable_libserialport" != "xno"; then
++ PKG_CHECK_MODULES([libserialport], [libserialport >= 0.1.0],
++ [have_libserialport="yes"; LIB_CFLAGS="$LIB_CFLAGS $libserialport_CFLAGS";
++ LIBS="$LIBS $libserialport_LIBS";
++ SR_PKGLIBS="$SR_PKGLIBS libserialport"],
++ [have_libserialport="no"])
++ if test "x$enable_libserialport$have_libserialport" = "xyesno"; then
++ AC_MSG_ERROR([libserialport support requested, but it was not found])
++ fi
++else
++ have_libserialport="no"
++fi
++
++# Define HAVE_LIBSERIALPORT in config.h if we found libserialport.
++if test "x$have_libserialport" = "xno"; then
++ HW_AGILENT_DMM="no"; HW_APPA_55II="no";
+ HW_ATTEN_PPS3XXX="no"; HW_BRYMEN_DMM="no"; HW_CEM_DT_885X="no";
+ HW_CENTER_3XX="no"; HW_COLEAD_SLM="no"; HW_CONRAD_DIGI_35_CPU="no";
+ HW_FLUKE_DMM="no"; HW_GMC_MH_1X_2X="no"; HW_HAMEG_HMO="no";
+ HW_MIC_985XX="no"; HW_NORMA_DMM="no"; HW_OLS="no";
+- HW_SERIAL_DMM="no"; HW_TELEINFO="no"; HW_TONDAJ_SL_814="no"])
+-
+-# Define HAVE_LIBSERIALPORT in config.h if we found libserialport.
+-if test "x$have_libserialport" != "xno"; then
++ HW_SERIAL_DMM="no"; HW_TELEINFO="no"; HW_TONDAJ_SL_814="no";
++else
+ AC_DEFINE_UNQUOTED(HAVE_LIBSERIALPORT, [1],
+ [Specifies whether we have libserialport.])
+ fi
+@@ -340,43 +361,62 @@ fi
+
+ # libusb-1.0 is only needed for some hardware drivers. Disable the respective
+ # drivers if it is not found.
+-case "$host" in
+-*freebsd*)
+- # FreeBSD comes with an "integrated" libusb-1.0-style USB API.
+- # This means libusb-1.0 is always available, no need to check for it,
+- # and no need to (potentially) disable any drivers if it's not found.
++if test "x$enable_libusb" != "xno"; then
++ case "$host" in
++ *freebsd*)
++ # FreeBSD comes with an "integrated" libusb-1.0-style USB API.
++ # This means libusb-1.0 is always available, no need to check for it,
++ # and no need to (potentially) disable any drivers if it's not found.
++ have_libusb1_0="yes"
++ ;;
++ *)
++ PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.16],
++ [have_libusb1_0="yes"; LIB_CFLAGS="$LIB_CFLAGS $libusb_CFLAGS";
++ LIBS="$LIBS $libusb_LIBS";
++ SR_PKGLIBS="$SR_PKGLIBS libusb-1.0"],
++ [have_libusb1_0="no"])
++ if test "x$enable_libusb$have_libusb1_0" = "xyesno"; then
++ AC_MSG_ERROR([libusb support requested, but it was not found])
++ fi
++ ;;
++ esac
++else
++ have_libusb1_0="no"
++fi
++
++# Define HAVE_LIBUSB_1_0 in config.h if we found libusb-1.0.
++if test "x$have_libusb1_0" = "xno"; then
++ HW_BRYMEN_BM86X="no"; HW_FX2LAFW="no";
++ HW_HANTEK_DSO="no"; HW_IKALOGIC_SCANALOGIC2="no";
++ HW_KECHENG_KC_330B="no"; HW_LASCAR_EL_USB="no";
++ HW_SYSCLK_LWLA="no"; HW_UNI_T_DMM="no";
++ HW_UNI_T_UT32X="no"; HW_VICTOR_DMM="no";
++ HW_ZEROPLUS_LOGIC_CUBE="no"; HW_SALEAE_LOGIC16="no";
++else
+ AC_DEFINE_UNQUOTED(HAVE_LIBUSB_1_0, [1],
+ [Specifies whether we have a libusb.h header.])
+- ;;
+-*)
+- PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.16],
+- [have_libusb1_0="yes"; LIB_CFLAGS="$LIB_CFLAGS $libusb_CFLAGS";
+- LIBS="$LIBS $libusb_LIBS";
+- SR_PKGLIBS="$SR_PKGLIBS libusb-1.0"],
+- [have_libusb1_0="no"; HW_BRYMEN_BM86X="no"; HW_FX2LAFW="no";
+- HW_HANTEK_DSO="no"; HW_IKALOGIC_SCANALOGIC2="no";
+- HW_KECHENG_KC_330B="no"; HW_LASCAR_EL_USB="no";
+- HW_SYSCLK_LWLA="no"; HW_UNI_T_DMM="no";
+- HW_UNI_T_UT32X="no"; HW_VICTOR_DMM="no";
+- HW_ZEROPLUS_LOGIC_CUBE="no"; HW_SALEAE_LOGIC16="no"])
+-
+- # Define HAVE_LIBUSB_1_0 in config.h if we found libusb-1.0.
+- if test "x$have_libusb1_0" != "xno"; then
+- AC_DEFINE_UNQUOTED(HAVE_LIBUSB_1_0, [1],
+- [Specifies whether we have a libusb.h header.])
+- fi
+- ;;
+-esac
++fi
+
+ # USB + FX2 firmware helper code is only compiled in if libusb-1.0 was found.
+ AM_CONDITIONAL(NEED_USB, test "x$have_libusb1_0" != xno)
+
+ # libftdi is only needed for some hardware drivers. Disable them if not found.
+-PKG_CHECK_MODULES([libftdi], [libftdi >= 0.16],
+- [LIB_CFLAGS="$LIB_CFLAGS $libftdi_CFLAGS";
+- LIBS="$LIBS $libftdi_LIBS";
+- SR_PKGLIBS="$SR_PKGLIBS libftdi"],
+- [HW_ASIX_SIGMA="no"; HW_CHRONOVU_LA="no"; HW_IKALOGIC_SCANAPLUS="no"])
++if test "x$enable_libftdi" != "xno"; then
++ PKG_CHECK_MODULES([libftdi], [libftdi >= 0.16],
++ [have_libftdi="yes"; LIB_CFLAGS="$LIB_CFLAGS $libftdi_CFLAGS";
++ LIBS="$LIBS $libftdi_LIBS";
++ SR_PKGLIBS="$SR_PKGLIBS libftdi"],
++ [have_libftdi="no"])
++ if test "x$enable_libftdi$have_libftdi" = "xyesno"; then
++ AC_MSG_ERROR([libftdi support requested, but it was not found])
++ fi
++else
++ have_libftdi="no"
++fi
++
++if test "x$have_libftdi" = "xno"; then
++ HW_ASIX_SIGMA="no"; HW_CHRONOVU_LA="no"; HW_IKALOGIC_SCANAPLUS="no";
++fi
+
+ # The Check unit testing framework is optional. Disable if not found.
+ PKG_CHECK_MODULES([check], [check >= 0.9.4],
+--
+2.0.0
+
diff --git a/sci-libs/libsigrok/files/libsigrok-0.3.0-no-check-linkage.patch b/sci-libs/libsigrok/files/libsigrok-0.3.0-no-check-linkage.patch
new file mode 100644
index 000000000000..f638c47b196e
--- /dev/null
+++ b/sci-libs/libsigrok/files/libsigrok-0.3.0-no-check-linkage.patch
@@ -0,0 +1,30 @@
+https://sourceforge.net/p/sigrok/mailman/message/32459488/
+
+From 5326833697a73826babb6a43c74112da7368d2d6 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 13 Jun 2014 21:17:23 -0400
+Subject: [PATCH] do not add check to common cflags/libs
+
+Only the unittests use these flags, so don't go linking them in for
+the main library too.
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f23e630..d0654f1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -420,8 +420,7 @@ fi
+
+ # The Check unit testing framework is optional. Disable if not found.
+ PKG_CHECK_MODULES([check], [check >= 0.9.4],
+- [have_check="yes"; LIB_CFLAGS="$LIB_CFLAGS $check_CFLAGS";
+- LIBS="$LIBS $check_LIBS"], [have_check="no"])
++ [have_check="yes"], [have_check="no"])
+ AM_CONDITIONAL(HAVE_CHECK, test x"$have_check" = "xyes")
+
+ # The OLS driver uses serial port file descriptors directly, and therefore
+--
+2.0.0
+
diff --git a/sci-libs/libsigrok/libsigrok-0.3.0.ebuild b/sci-libs/libsigrok/libsigrok-0.3.0.ebuild
new file mode 100644
index 000000000000..657f4f81c0a0
--- /dev/null
+++ b/sci-libs/libsigrok/libsigrok-0.3.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils autotools
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-2 autotools
+else
+ SRC_URI="http://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="provide basic hardware drivers for logic analyzers and input/output file format support"
+HOMEPAGE="http://sigrok.org/wiki/Libsigrok"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="ftdi serial static-libs test usb"
+
+# We also support librevisa, but that isn't in the tree ...
+LIB_DEPEND=">=dev-libs/glib-2.32.0[static-libs(+)]
+ >=dev-libs/libzip-0.8[static-libs(+)]
+ ftdi? ( >=dev-embedded/libftdi-0.16[static-libs(+)] )
+ serial? ( dev-libs/libserialport[static-libs(+)] )
+ usb? ( virtual/libusb:1[static-libs(+)] )"
+RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ static-libs? ( ${LIB_DEPEND} )"
+DEPEND="${LIB_DEPEND//\[static-libs(+)]}
+ test? ( >=dev-libs/check-0.9.4 )
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.3.0-configure-flags.patch
+ epatch "${FILESDIR}"/${PN}-0.3.0-no-check-linkage.patch
+ eautoreconf
+
+ # Deal with libftdi-0.x & libftdi-1.x changes.
+ if has_version '>=dev-embedded/libftdi-1' ; then
+ sed -i 's:libftdi >= 0.16:libftdi1 >= 0.16:g' configure || die
+ fi
+
+ # Fix implicit decl w/usleep.
+ sed -i '1i#include <unistd.h>' hardware/asix-sigma/asix-sigma.c || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable ftdi libftdi) \
+ $(use_enable serial libserialport) \
+ $(use_enable usb libusb) \
+ $(use_enable static-libs static)
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/sci-libs/libsigrok/libsigrok-9999.ebuild b/sci-libs/libsigrok/libsigrok-9999.ebuild
new file mode 100644
index 000000000000..517ea8496af8
--- /dev/null
+++ b/sci-libs/libsigrok/libsigrok-9999.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-2 autotools
+else
+ SRC_URI="http://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="provide basic hardware drivers for logic analyzers and input/output file format support"
+HOMEPAGE="http://sigrok.org/wiki/Libsigrok"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="ftdi serial static-libs test usb"
+
+# We also support librevisa, but that isn't in the tree ...
+LIB_DEPEND=">=dev-libs/glib-2.32.0[static-libs(+)]
+ >=dev-libs/libzip-0.8[static-libs(+)]
+ ftdi? ( >=dev-embedded/libftdi-0.16[static-libs(+)] )
+ serial? ( dev-libs/libserialport[static-libs(+)] )
+ usb? ( virtual/libusb:1[static-libs(+)] )"
+RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ static-libs? ( ${LIB_DEPEND} )"
+DEPEND="${LIB_DEPEND//\[static-libs(+)]}
+ test? ( >=dev-libs/check-0.9.4 )
+ virtual/pkgconfig"
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable ftdi libftdi) \
+ $(use_enable serial libserialport) \
+ $(use_enable usb libusb) \
+ $(use_enable static-libs static)
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/sci-libs/libsigrok/metadata.xml b/sci-libs/libsigrok/metadata.xml
new file mode 100644
index 000000000000..9b40b4fbcc3b
--- /dev/null
+++ b/sci-libs/libsigrok/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>dev-embedded</herd>
+<use>
+ <flag name='ftdi'>Enable drivers that need libftdi</flag>
+ <flag name='serial'>Enable drivers that are serial (RS232) based</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/libsigrokdecode/Manifest b/sci-libs/libsigrokdecode/Manifest
new file mode 100644
index 000000000000..897fb23fe6fa
--- /dev/null
+++ b/sci-libs/libsigrokdecode/Manifest
@@ -0,0 +1 @@
+DIST libsigrokdecode-0.3.0.tar.gz 607691 SHA256 ee4ebb1df99fbd1df40234d08a6c7f3e10393f087de627197347e2268ad6478f SHA512 d943091bdb1b20b11191f7a93ec8a305ba702e732247d7fbfd61fd9ae9fc4d61556bdec987c07bed11ddc20d3ab85ff8118ddc75161ebd9d9d1abe8cfc48ac19 WHIRLPOOL 4785173ff85fe62bdc4a0c2f0f8e58fb3da6d6512164c30fb3e6edbb0c2318de49a0b64bb92570549b6975279bdea0659b810c191a39dd50be0583c618f941d8
diff --git a/sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-configure-test.patch b/sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-configure-test.patch
new file mode 100644
index 000000000000..921bb9a3d3ca
--- /dev/null
+++ b/sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-configure-test.patch
@@ -0,0 +1,28 @@
+http://sourceforge.net/p/sigrok/mailman/message/32459769/
+
+From dc83770847c39934f5cbc63c8652124fafcb8d0b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 14 Jun 2014 01:37:12 -0400
+Subject: [PATCH 1/2] fix test operator
+
+The == operator is not in POSIX.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9527379..3f661ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -125,7 +125,7 @@ AC_SUBST(MODNAME_PYTHON)
+ # We also need to find the name of the python3 executable (for 'make install').
+ # Some OSes call this python3, some call it python3.2, etc. etc.
+ AC_CHECK_PROGS([PYTHON3], [python3.4 python3.3 python3.2 python3])
+-if test "x$PYTHON3" == "x"; then
++if test "x$PYTHON3" = "x"; then
+ AC_MSG_ERROR([cannot find python3 executable.])
+ fi
+
+--
+2.0.0
+
diff --git a/sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-no-check-linkage.patch b/sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-no-check-linkage.patch
new file mode 100644
index 000000000000..6cbc4666b69b
--- /dev/null
+++ b/sci-libs/libsigrokdecode/files/libsigrokdecode-0.3.0-no-check-linkage.patch
@@ -0,0 +1,30 @@
+http://sourceforge.net/p/sigrok/mailman/message/32459770/
+
+From 27ecf0c85482786f7617571c690797ab3f07f795 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 14 Jun 2014 01:38:58 -0400
+Subject: [PATCH 2/2] do not add check to common cflags/libs
+
+Only the unittests use these flags, so don't go linking them in for
+the main library too.
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3f661ec..10213a7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -134,8 +134,7 @@ AC_SEARCH_LIBS([pow], [m])
+
+ # The Check unit testing framework is optional. Disable if not found.
+ PKG_CHECK_MODULES([check], [check >= 0.9.4],
+- [have_check="yes"; CFLAGS="$CFLAGS $check_CFLAGS";
+- LIBS="$LIBS $check_LIBS"], [have_check="no"])
++ [have_check="yes"], [have_check="no"])
+ AM_CONDITIONAL(HAVE_CHECK, test x"$have_check" = "xyes")
+
+ # libsigrok is optional (only used for the protocol decoder test framework).
+--
+2.0.0
+
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0.ebuild
new file mode 100644
index 000000000000..d145eaaca5f8
--- /dev/null
+++ b/sci-libs/libsigrokdecode/libsigrokdecode-0.3.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python3_{3,4} )
+inherit eutils python-single-r1 autotools
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-2 autotools
+else
+ SRC_URI="http://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="provide (streaming) protocol decoding functionality"
+HOMEPAGE="http://sigrok.org/wiki/Libsigrokdecode"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND=">=dev-libs/glib-2.24.0
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.3.0-configure-test.patch
+ epatch "${FILESDIR}"/${PN}-0.3.0-no-check-linkage.patch
+ eautoreconf
+
+ # Only a test program (not installed, and not used by src_test)
+ # is used by libsigrok, so disable it to avoid the compile.
+ sed -i \
+ -e '/build_runtc=/s:yes:no:' \
+ configure || die
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
new file mode 100644
index 000000000000..390c3034b95f
--- /dev/null
+++ b/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python3_{3,4} )
+inherit eutils python-single-r1
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-2 autotools
+else
+ SRC_URI="http://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="provide (streaming) protocol decoding functionality"
+HOMEPAGE="http://sigrok.org/wiki/Libsigrokdecode"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND=">=dev-libs/glib-2.24.0
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ [[ ${PV} == "9999" ]] && eautoreconf
+
+ # Only a test program (not installed, and not used by src_test)
+ # is used by libsigrok, so disable it to avoid the compile.
+ sed -i \
+ -e '/build_runtc=/s:yes:no:' \
+ configure || die
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/sci-libs/libsigrokdecode/metadata.xml b/sci-libs/libsigrokdecode/metadata.xml
new file mode 100644
index 000000000000..253e7c37d1d4
--- /dev/null
+++ b/sci-libs/libsigrokdecode/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>dev-embedded</herd>
+</pkgmetadata>
diff --git a/sci-libs/libspatialindex/Manifest b/sci-libs/libspatialindex/Manifest
new file mode 100644
index 000000000000..2c2b65e746c3
--- /dev/null
+++ b/sci-libs/libspatialindex/Manifest
@@ -0,0 +1,4 @@
+DIST spatialindex-src-1.8.0.tar.bz2 365131 SHA256 088b675085aa0b8f0c7c8e795e9d2d2060e3a1dcf8314e31c99903be9cd0e6b1 SHA512 f93bde0011adcfed510b3305f9bdf6b554cdbb66177d7ad9139b0db7dbc0b1305343e6e1f752fa12ce8f9cfd11519082993cba513febb02295e31bf883ba5cf3 WHIRLPOOL 4604779368c5630a27c94fa0ee90b6c34f974301ebb318b76457274171636c5d560d5ab9fd95876d3867b60bfb688ce6587dac9da1d37cc5e804c81e8a5f7a3e
+DIST spatialindex-src-1.8.1.tar.bz2 368252 SHA256 9e57b07ccd64b2940ac42739382e84492716f186892ba81c0d2a636ca6de3bcd SHA512 34fc743d8fac65a60ae723e3261e8f3717df8bd5997f7338b8d944e9a832d6bad33a4b7cfa4b2f1e5ba0fdbd3ebb4b199e247f0e7b7473953b433e203c21e548 WHIRLPOOL af43858abc094a17e7ae83828693ef7f1fcae3dc2e5bc40eae174c5c441bfee17c55ce151ba4fbdcb314996d8197c47bfcbfafb692af772b9c6d4187a9962227
+DIST spatialindex-src-1.8.3.tar.bz2 406600 SHA256 c16e050d003936d873ece5929502656696cbf160cb044c9efe5fd67d1ab68f34 SHA512 deb2c5d9049652f5f6f8cd74b225fc1cc7e152340efe66fcad4653419d2f53787408f5246f0454f4800b5c6bb0ea55aa4fbfe8113d1c8d939da6511e5ce27a20 WHIRLPOOL 80aa07e60ee9f9f4195dec1d08ea931c32cfdb89a2136d7d2a8975d57566882227ee62573906e3ccc986a44bcb7fa9bc900ea32eb50b0f8b90be26c27dffcd9a
+DIST spatialindex-src-1.8.4.tar.bz2 406604 SHA256 8428a0990301160c3ac1995531e450a50e4b6d572fd6ac7faa24341a916c95b1 SHA512 a0a8c00e201d2247ce183c6f3af4e94944ffd0190d9efcd2842e6ffa95a1dcc5a72a66ac1658545285fd2efed4cb60c7880e1113f11a7fa1c5a7b8a5ac6a31e5 WHIRLPOOL 30e71dcd36412442ea1deaf8cf52bb9aa7b81a0154b9d0c9a1adee8e2f82bcaf2618311d9ea3256d2fd82d95192fb3b26542c0b510638648975d860b31a34abe
diff --git a/sci-libs/libspatialindex/files/libspatialindex-1.8.0-QA.patch b/sci-libs/libspatialindex/files/libspatialindex-1.8.0-QA.patch
new file mode 100644
index 000000000000..446452dc9ef1
--- /dev/null
+++ b/sci-libs/libspatialindex/files/libspatialindex-1.8.0-QA.patch
@@ -0,0 +1,15 @@
+--- spatialindex-src-1.8.0/configure.ac
++++ spatialindex-src-1.8.0/configure.ac
+@@ -49,10 +49,10 @@
+ AC_ARG_ENABLE(debug, [ --enable-debug=[no/yes] turn on debugging [default=$debug_default]],, enable_debug=$debug_default)
+
+ if test "x$enable_debug" = "xyes"; then
+- CXXFLAGS="$CXXFLAGS -g -DDEBUG"
++ CXXFLAGS="$CXXFLAGS -DDEBUG"
+ AC_MSG_RESULT(checking wether debug information is enabled... yes)
+ else
+- CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
++ CXXFLAGS="$CXXFLAGS -DNDEBUG"
+ AC_MSG_RESULT(checking wether debug information is enabled... no)
+ fi
+
diff --git a/sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch b/sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch
new file mode 100644
index 000000000000..446452dc9ef1
--- /dev/null
+++ b/sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch
@@ -0,0 +1,15 @@
+--- spatialindex-src-1.8.0/configure.ac
++++ spatialindex-src-1.8.0/configure.ac
+@@ -49,10 +49,10 @@
+ AC_ARG_ENABLE(debug, [ --enable-debug=[no/yes] turn on debugging [default=$debug_default]],, enable_debug=$debug_default)
+
+ if test "x$enable_debug" = "xyes"; then
+- CXXFLAGS="$CXXFLAGS -g -DDEBUG"
++ CXXFLAGS="$CXXFLAGS -DDEBUG"
+ AC_MSG_RESULT(checking wether debug information is enabled... yes)
+ else
+- CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
++ CXXFLAGS="$CXXFLAGS -DNDEBUG"
+ AC_MSG_RESULT(checking wether debug information is enabled... no)
+ fi
+
diff --git a/sci-libs/libspatialindex/files/libspatialindex-1.8.1-pkgconfig.patch b/sci-libs/libspatialindex/files/libspatialindex-1.8.1-pkgconfig.patch
new file mode 100644
index 000000000000..a17aa80926b1
--- /dev/null
+++ b/sci-libs/libspatialindex/files/libspatialindex-1.8.1-pkgconfig.patch
@@ -0,0 +1,16 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Jun 30 19:10:57 UTC 2013
+Subject: remove LDFLAGS from Libs field
+
+https://github.com/libspatialindex/libspatialindex/issues/23
+
+--- spatialindex-src-1.8.1/src/libspatialindex.pc.in
++++ spatialindex-src-1.8.1/src/libspatialindex.pc.in
+@@ -7,6 +7,6 @@
+ Description: Generic C/C++ library for spatial indexing
+ Requires:
+ Version: @PACKAGE_VERSION@
+-Libs: -L@libdir@ @LDFLAGS@
++Libs: -L@libdir@
+ Cflags: -I${includedir}/spatialindex @CFLAGS@ @CPPFLAGS@
+
diff --git a/sci-libs/libspatialindex/libspatialindex-1.8.0.ebuild b/sci-libs/libspatialindex/libspatialindex-1.8.0.ebuild
new file mode 100644
index 000000000000..10a46cc6334e
--- /dev/null
+++ b/sci-libs/libspatialindex/libspatialindex-1.8.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_PN="spatialindex-src"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="General framework for developing spatial indices"
+HOMEPAGE="http://libspatialindex.github.com/"
+SRC_URI="http://download.osgeo.org/libspatialindex/${MY_P}.tar.bz2"
+LICENSE="MIT"
+
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="debug static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-QA.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+}
diff --git a/sci-libs/libspatialindex/libspatialindex-1.8.1.ebuild b/sci-libs/libspatialindex/libspatialindex-1.8.1.ebuild
new file mode 100644
index 000000000000..5955f33ffc9c
--- /dev/null
+++ b/sci-libs/libspatialindex/libspatialindex-1.8.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_PN="spatialindex-src"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="General framework for developing spatial indices"
+HOMEPAGE="http://libspatialindex.github.com/"
+SRC_URI="http://download.osgeo.org/libspatialindex/${MY_P}.tar.bz2"
+LICENSE="MIT"
+
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="debug static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-{QA,pkgconfig}.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+}
diff --git a/sci-libs/libspatialindex/libspatialindex-1.8.3.ebuild b/sci-libs/libspatialindex/libspatialindex-1.8.3.ebuild
new file mode 100644
index 000000000000..2f14d7bd0d7e
--- /dev/null
+++ b/sci-libs/libspatialindex/libspatialindex-1.8.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_PN="spatialindex-src"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="General framework for developing spatial indices"
+HOMEPAGE="http://libspatialindex.github.com/"
+SRC_URI="http://download.osgeo.org/libspatialindex/${MY_P}.tar.bz2"
+LICENSE="MIT"
+
+KEYWORDS="~amd64 ~x86"
+SLOT="0/3"
+IUSE="debug static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.8.1-QA.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+}
diff --git a/sci-libs/libspatialindex/libspatialindex-1.8.4.ebuild b/sci-libs/libspatialindex/libspatialindex-1.8.4.ebuild
new file mode 100644
index 000000000000..aaa293b82655
--- /dev/null
+++ b/sci-libs/libspatialindex/libspatialindex-1.8.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+MY_PN="spatialindex-src"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="General framework for developing spatial indices"
+HOMEPAGE="http://libspatialindex.github.com/"
+SRC_URI="http://download.osgeo.org/libspatialindex/${MY_P}.tar.bz2"
+LICENSE="MIT"
+
+KEYWORDS="~amd64 ~x86"
+SLOT="0/4"
+IUSE="debug static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.8.1-QA.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+ use static-libs || prune_libtool_files
+}
diff --git a/sci-libs/libspatialindex/metadata.xml b/sci-libs/libspatialindex/metadata.xml
new file mode 100644
index 000000000000..0744b87d36ba
--- /dev/null
+++ b/sci-libs/libspatialindex/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+</maintainer>
+</pkgmetadata>
+
diff --git a/sci-libs/libsvm/Manifest b/sci-libs/libsvm/Manifest
new file mode 100644
index 000000000000..1fe5b856d07e
--- /dev/null
+++ b/sci-libs/libsvm/Manifest
@@ -0,0 +1 @@
+DIST libsvm-3.17.tar.gz 607892 SHA256 46a4750d3506e6ccd8adf7e3e1f482d86ce9c5368f9c78e19c7923edf0067a12 SHA512 43f3e7cbee37b583cd65041465ef620ab7b3a24ad3f0e70cc2f41efea847e8c1c7319a92b53262bc5f721a46c0cfb4d51102d2e29c93b6ccae03ecf006e53d2d WHIRLPOOL 9518e2aeb5d2f0ac0945fa193edfaf7ba022729cc9ea91e5a773fed638fdcaef4d4bea0f284f1698571b570f5543afc8987ec81a54637d537c709b09474f6fbc
diff --git a/sci-libs/libsvm/files/3.11-openmp.patch b/sci-libs/libsvm/files/3.11-openmp.patch
new file mode 100644
index 000000000000..6ddb6f0831f1
--- /dev/null
+++ b/sci-libs/libsvm/files/3.11-openmp.patch
@@ -0,0 +1,34 @@
+--- svm.cpp.orig 2011-05-27 04:32:19.000000000 +0100
++++ svm.cpp 2011-12-29 19:17:07.000000000 +0000
+@@ -1281,6 +1281,9 @@
+ int start, j;
+ if((start = cache->get_data(i,&data,len)) < len)
+ {
++#ifdef OPENMP
++#pragma omp parallel for private(j)
++#endif
+ for(j=start;j<len;j++)
+ data[j] = (Qfloat)(y[i]*y[j]*(this->*kernel_function)(i,j));
+ }
+@@ -2463,7 +2466,10 @@
+ model->param.svm_type == NU_SVR)
+ {
+ double *sv_coef = model->sv_coef[0];
+- double sum = 0;
++ double sum = 0; int i;
++#ifdef OPENMP
++#pragma omp parallel for private(i) reduction(+:sum)
++#endif
+ for(i=0;i<model->l;i++)
+ sum += sv_coef[i] * Kernel::k_function(x,model->SV[i],model->param);
+ sum -= model->rho[0];
+@@ -2480,6 +2486,9 @@
+ int l = model->l;
+
+ double *kvalue = Malloc(double,l);
++#ifdef OPENMP
++#pragma omp parallel for private(i)
++#endif
+ for(i=0;i<l;i++)
+ kvalue[i] = Kernel::k_function(x,model->SV[i],model->param);
+
diff --git a/sci-libs/libsvm/files/3.14-makefile.patch b/sci-libs/libsvm/files/3.14-makefile.patch
new file mode 100644
index 000000000000..56e8bd2e091e
--- /dev/null
+++ b/sci-libs/libsvm/files/3.14-makefile.patch
@@ -0,0 +1,51 @@
+* respect CFLAGS and CXXFLAGS from user
+* compile with CC for C and CXX for C++ files
+* propagate and respect user's LDFLAGS
+* PIC only used for the library
+* link the shared version library
+nov 2012 - bicatali@gentoo.org
+
+--- Makefile.orig 2012-11-29 10:39:07.149421728 -0800
++++ Makefile 2012-11-29 10:57:19.727766521 -0800
+@@ -1,9 +1,12 @@
+ CXX ?= g++
+-CFLAGS = -Wall -Wconversion -O3 -fPIC
++CC ?= gcc
++CFLAGS ?= -Wall -Wconversion -O3
++CXXFLAGS ?= $(CFLAGS)
+ SHVER = 2
+ OS = $(shell uname)
++PICFLAGS ?= -fPIC
+
+-all: svm-train svm-predict svm-scale
++all: svm-train svm-predict svm-scale lib
+
+ lib: svm.o
+ if [ "$(OS)" = "Darwin" ]; then \
+@@ -11,15 +14,20 @@
+ else \
+ SHARED_LIB_FLAG="-shared -Wl,-soname,libsvm.so.$(SHVER)"; \
+ fi; \
+- $(CXX) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER)
++ $(CXX) $(LDFLAGS) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) ; \
++ ln -s libsvm.so.$(SHVER) libsvm.so
+
+ svm-predict: svm-predict.c svm.o
+- $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
++ $(CC) $(CFLAGS) -c $@.c -o $@.o
++ $(CXX) $(LDFLAGS) $@.o svm.o -lm -o $@
+ svm-train: svm-train.c svm.o
+- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
++ $(CC) $(CFLAGS) -c $@.c -o $@.o
++ $(CXX) $(LDFLAGS) $@.o svm.o -lm -o $@
+ svm-scale: svm-scale.c
+- $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
++ $(CC) $(CFLAGS) -c $@.c -o $@.o
++ $(CXX) $(LDFLAGS) $@.o -o $@
++
+ svm.o: svm.cpp svm.h
+- $(CXX) $(CFLAGS) -c svm.cpp
++ $(CXX) $(CXXFLAGS) $(PICFLAGS) -c svm.cpp -o $@
+ clean:
+- rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
++ rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER) libsvm.so
diff --git a/sci-libs/libsvm/libsvm-3.17-r1.ebuild b/sci-libs/libsvm/libsvm-3.17-r1.ebuild
new file mode 100644
index 000000000000..32187ab1db1c
--- /dev/null
+++ b/sci-libs/libsvm/libsvm-3.17-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils java-pkg-opt-2 python-r1 flag-o-matic toolchain-funcs
+
+DESCRIPTION="Library for Support Vector Machines"
+HOMEPAGE="http://www.csie.ntu.edu.tw/~cjlin/libsvm/"
+SRC_URI="http://www.csie.ntu.edu.tw/~cjlin/libsvm/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="java openmp python tools"
+
+DEPEND="java? ( >=virtual/jdk-1.4 )"
+RDEPEND="
+ java? ( >=virtual/jre-1.4 )
+ tools? ( sci-visualization/gnuplot )"
+
+pkg_setup() {
+ if use openmp; then
+ if [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
+ ewarn "You are using gcc but without OpenMP capabilities"
+ die "Need an OpenMP capable compiler"
+ else
+ append-ldflags -fopenmp
+ append-flags -fopenmp
+ fi
+ append-flags -DOPENMP
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/3.11-openmp.patch \
+ "${FILESDIR}"/3.14-makefile.patch
+ sed -i -e "s@\.\./@${EPREFIX}/usr/bin/@g" tools/*.py \
+ || die "Failed to fix paths in python files"
+
+ if use java; then
+ local JAVAC_FLAGS="$(java-pkg_javac-args)"
+ sed -i \
+ -e "s/JAVAC_FLAGS =/JAVAC_FLAGS=${JAVAC_FLAGS}/g" \
+ java/Makefile || die "Failed to fix java makefile"
+ fi
+ tc-export CXX CC
+}
+
+src_compile() {
+ default
+ use java && emake -C java
+}
+
+src_install() {
+ dobin svm-train svm-predict svm-scale
+ dolib.so *.so*
+ insinto /usr/include
+ doins svm.h
+ dohtml FAQ.html
+ dodoc README
+
+ if use tools; then
+ local t
+ for t in tools/*.py; do
+ newbin ${t} svm-$(basename ${t} .py)
+ done
+ newdoc tools/README README.tools
+ insinto /usr/share/doc/${PF}
+ doins heart_scale
+ doins -r svm-toy
+ fi
+
+ if use python ; then
+ installation() {
+ touch python/__init__.py || die
+ python_moduleinto libsvm
+ python_domodule python/*.py
+ }
+ python_foreach_impl installation
+ newdoc python/README README.python
+ fi
+
+ if use java; then
+ java-pkg_dojar java/libsvm.jar
+ dohtml java/test_applet.html
+ fi
+}
diff --git a/sci-libs/libsvm/metadata.xml b/sci-libs/libsvm/metadata.xml
new file mode 100644
index 000000000000..3c124a8104e4
--- /dev/null
+++ b/sci-libs/libsvm/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The LIBSVM library is used to calculate Support Vector Machine
+ optimizations with a great variety of options. It includes
+ one-class, two-class, multiclass, regression-mode, and probablistic
+ output functionality. It is primarily of interest to machine-learning
+ researchers and artificial intelligence application developers.
+</longdescription>
+ <use>
+ <flag name="tools">Install python based tool scripts</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/libticables2/Manifest b/sci-libs/libticables2/Manifest
new file mode 100644
index 000000000000..6960f89d469f
--- /dev/null
+++ b/sci-libs/libticables2/Manifest
@@ -0,0 +1,2 @@
+DIST libticables2-1.3.3.tar.bz2 495883 SHA256 e31ffc2324884aeec37b0cc220e62c78a44c43ab874a933939bfe80c4e84071e SHA512 19c9a6bb8319ccf9e9004e10c4addffbee605c3735e53e4a5628b360b0c2e8575076208d14d00d6304eb894d3c69aede6de00120cd26f8c543c6e6cc4adb21a9 WHIRLPOOL ca916a99942097518fa686b1c68d9260852fa5f88ed4b60649471590c94e84e60ffc2f5cd74c91ec1f11393a0e65a5675ad06ae4d0879c41124f307cb03bb11c
+DIST libticables2-1.3.4.tar.bz2 920163 SHA256 45cae91ad9ee1cc2ebc0f5865923ff77f1e0adf0793d3010eeb802efc140e5b0 SHA512 fbea9ed2041a04f79e02045d40e88a3ab20edc8d86ecef4ae6a181063f3609b8b2c3aeb2ce2f4508be56655accba60eab7379116ac341921f233f469eb99b461 WHIRLPOOL 1ce06ad05ffc9919dfc24a6f5ee1f31555d61b1693b994c7b2970d8a8ba551b0744c51d60d8d288c2df607b8961a8826543e2edac17090f692c4d36d7828b05d
diff --git a/sci-libs/libticables2/files/libticables2-1.2.0-locale.patch b/sci-libs/libticables2/files/libticables2-1.2.0-locale.patch
new file mode 100644
index 000000000000..4602dfdba3da
--- /dev/null
+++ b/sci-libs/libticables2/files/libticables2-1.2.0-locale.patch
@@ -0,0 +1,11 @@
+--- src/gettext.h~ 2007-02-23 16:05:21.000000000 +0000
++++ src/gettext.h 2009-02-03 12:41:31.584312058 +0000
+@@ -24,7 +24,7 @@
+
+ /* Get declarations of GNU message catalog functions. */
+ # include <libintl.h>
+-
++# include <locale.h>
+ #else
+
+ /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
diff --git a/sci-libs/libticables2/libticables2-1.3.3-r1.ebuild b/sci-libs/libticables2/libticables2-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..d4e86901c1b9
--- /dev/null
+++ b/sci-libs/libticables2/libticables2-1.3.3-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib
+
+DESCRIPTION="Library to handle different link cables for TI calculators"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc nls static-libs usb"
+
+RDEPEND="
+ dev-libs/glib:2
+ usb? ( virtual/libusb:1 )
+ nls? ( virtual/libintl )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_configure() {
+ # --disable-libusb $(use_enable usb libusb10) would enable virtual/libusb:1
+ econf \
+ --disable-rpath \
+ $(use_enable debug logging) \
+ $(use_enable nls) \
+ $(use_enable static-libs static) \
+ $(use_enable usb libusb) \
+ $(use_enable usb libusb10)
+}
+
+src_install() {
+ default
+ use doc && dohtml docs/html/*
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/${PN}.la
+}
+
+pkg_postinst() {
+ elog "Please read README in /usr/share/doc/${PF}"
+ elog "if you encounter any problem with a link cable"
+}
diff --git a/sci-libs/libticables2/libticables2-1.3.4.ebuild b/sci-libs/libticables2/libticables2-1.3.4.ebuild
new file mode 100644
index 000000000000..f72076626480
--- /dev/null
+++ b/sci-libs/libticables2/libticables2-1.3.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Library to handle different link cables for TI calculators"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc nls static-libs usb"
+
+RDEPEND="
+ dev-libs/glib:2
+ usb? ( virtual/libusb:1 )
+ nls? ( virtual/libintl )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_configure() {
+ # --disable-libusb $(use_enable usb libusb10) would enable virtual/libusb:1
+ local myeconfargs=(
+ --disable-rpath
+ $(use_enable debug logging)
+ $(use_enable nls)
+ $(use_enable usb libusb)
+ $(use_enable usb libusb10)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml docs/html/*
+}
+
+pkg_postinst() {
+ elog "Please read README in /usr/share/doc/${PF}"
+ elog "if you encounter any problem with a link cable"
+}
diff --git a/sci-libs/libticables2/metadata.xml b/sci-libs/libticables2/metadata.xml
new file mode 100644
index 000000000000..579feb0d08b3
--- /dev/null
+++ b/sci-libs/libticables2/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ This library provides functions to use Texas Instruments link cables
+ for TI calculators. It currently supports all cables on i386,
+ including the USB one. Supported cables may vary depending on your
+ architecture.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">tilp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libticalcs2/Manifest b/sci-libs/libticalcs2/Manifest
new file mode 100644
index 000000000000..d1220840920b
--- /dev/null
+++ b/sci-libs/libticalcs2/Manifest
@@ -0,0 +1,2 @@
+DIST libticalcs2-1.1.7.tar.bz2 525111 SHA256 e16c79033c0eafa4ccda7fc56d018565bba1dfb70dd0b4c5f681bafe32a52ab0
+DIST libticalcs2-1.1.8.tar.bz2 524151 SHA256 a8286f8a2552bcad96beab99ce254e67b3dc1a03eb9d82f8de4bdf7b8efc3496 SHA512 0e09148006f5ee227d1b347ef44a6e755cb1dd757b8ff99e0f006aec0bc37c40dc5e293e44a0d91fc966b47da9113b4f00a71d9d9aa5cfbea4b01487232c1c08 WHIRLPOOL 3458fd04e791a174506d21930b1843aa204cf63c504dc93e1f81e8e71e4646fa45493d2056bc6be6b7495f9a9e8afbfe802c3d55c698a70f95d1172dcb73c0c1
diff --git a/sci-libs/libticalcs2/files/libticalcs2-1.1.0-locale.patch b/sci-libs/libticalcs2/files/libticalcs2-1.1.0-locale.patch
new file mode 100644
index 000000000000..4602dfdba3da
--- /dev/null
+++ b/sci-libs/libticalcs2/files/libticalcs2-1.1.0-locale.patch
@@ -0,0 +1,11 @@
+--- src/gettext.h~ 2007-02-23 16:05:21.000000000 +0000
++++ src/gettext.h 2009-02-03 12:41:31.584312058 +0000
+@@ -24,7 +24,7 @@
+
+ /* Get declarations of GNU message catalog functions. */
+ # include <libintl.h>
+-
++# include <locale.h>
+ #else
+
+ /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
diff --git a/sci-libs/libticalcs2/libticalcs2-1.1.7.ebuild b/sci-libs/libticalcs2/libticalcs2-1.1.7.ebuild
new file mode 100644
index 000000000000..8456c70c1007
--- /dev/null
+++ b/sci-libs/libticalcs2/libticalcs2-1.1.7.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib
+
+DESCRIPTION="Library for communication with TI calculators"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc nls static-libs"
+
+RDEPEND="dev-libs/glib:2
+ >=sci-libs/libticables2-1.3.3
+ >=sci-libs/libticonv-1.1.3
+ >=sci-libs/libtifiles2-1.1.5
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_configure() {
+ econf \
+ --disable-rpath \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use doc && dohtml docs/html/*
+ use static-libs || rm "${D}"/usr/$(get_libdir)/${PN}.la
+}
diff --git a/sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild b/sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild
new file mode 100644
index 000000000000..2dd8dce5103b
--- /dev/null
+++ b/sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Library for communication with TI calculators"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc nls static-libs"
+
+RDEPEND="
+ dev-libs/glib:2
+ >=sci-libs/libticables2-1.3.3
+ >=sci-libs/libticonv-1.1.3
+ >=sci-libs/libtifiles2-1.1.5
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_configure() {
+ local myeconfargs=(
+ --disable-rpath
+ $(use_enable nls)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml docs/html/*
+}
diff --git a/sci-libs/libticalcs2/metadata.xml b/sci-libs/libticalcs2/metadata.xml
new file mode 100644
index 000000000000..020327555f5a
--- /dev/null
+++ b/sci-libs/libticalcs2/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The libticalcs provides a set of functions to communicate with Texas
+ Instruments calculators. It implements the TI protocol for each type
+ of calculator, independently of the link cable used to establish the
+ link.
+ All graphing calculators from Texas Instruments are supported
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">tilp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libticonv/Manifest b/sci-libs/libticonv/Manifest
new file mode 100644
index 000000000000..e169cc005366
--- /dev/null
+++ b/sci-libs/libticonv/Manifest
@@ -0,0 +1,2 @@
+DIST libticonv-1.1.3.tar.bz2 343870 SHA256 330f8f649bc20e19b1d51372a107c132b088aa64561998abd9d336ca8672814a SHA512 94c44b7f2ff4e0cadcfaa2ae86563b330e3933d7543c9877c7e3a90de699fb38736fe92dceaf009a7a893d2d178eae4c46d81da4d917e86e247c52996616609a WHIRLPOOL 07f161727d7cd88def2c82c60b61f0b5d815bdab4a9135825beaf73ca5f90c0563292c3ddbc21843f09ddd377bda6197b09cedfeba080426a1699ca76136863a
+DIST libticonv-1.1.4.tar.bz2 344616 SHA256 1faecc71311bd95c94792cc72dd0844e7881a65156b006f045bb417eddd45183 SHA512 15ceb5acff888c841febc0d3ae96e3df649cce302b4ae2dc4ca150e3cb483337548fff0b32f0308bc759a08e6a167beaa8a2a4349f8ce47a2a7b62755a601018 WHIRLPOOL 7c3b1080809222f98ec519c76cc836c2efde8ada29bcdd26c9b8c2e6dc76b6b8f5aa3850c14f759e01293fb25a2a36676f5ef9662f90c630eab89a55f0d89709
diff --git a/sci-libs/libticonv/libticonv-1.1.3.ebuild b/sci-libs/libticonv/libticonv-1.1.3.ebuild
new file mode 100644
index 000000000000..5c24c77d7700
--- /dev/null
+++ b/sci-libs/libticonv/libticonv-1.1.3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit multilib
+
+DESCRIPTION="Charset conversion library for TI calculators"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc iconv static-libs"
+
+RDEPEND="dev-libs/glib:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable iconv)
+}
+
+src_install() {
+ default
+ if use doc; then
+ dohtml docs/html/*
+ docinto charsets
+ dohtml docs/charsets/*
+ fi
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/${PN}.la
+}
diff --git a/sci-libs/libticonv/libticonv-1.1.4.ebuild b/sci-libs/libticonv/libticonv-1.1.4.ebuild
new file mode 100644
index 000000000000..17d44789ea2c
--- /dev/null
+++ b/sci-libs/libticonv/libticonv-1.1.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Charset conversion library for TI calculators"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc iconv static-libs"
+
+RDEPEND="dev-libs/glib:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable iconv)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use doc; then
+ dohtml docs/html/*
+ docinto charsets
+ dohtml docs/charsets/*
+ fi
+}
diff --git a/sci-libs/libticonv/metadata.xml b/sci-libs/libticonv/metadata.xml
new file mode 100644
index 000000000000..e7727db066e1
--- /dev/null
+++ b/sci-libs/libticonv/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The libticonv package is a library which handles the various TI
+ charsets and conversion to/from UTF-8/16 through a set of functions
+ which constitutes a common API.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">tilp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libtifiles2/Manifest b/sci-libs/libtifiles2/Manifest
new file mode 100644
index 000000000000..d8dc21124273
--- /dev/null
+++ b/sci-libs/libtifiles2/Manifest
@@ -0,0 +1,2 @@
+DIST libtifiles2-1.1.5.tar.bz2 460500 SHA256 4e701c98863c778c3f6fa465e426af23df88c9feee6fc9a9ca224a629a91e274
+DIST libtifiles2-1.1.6.tar.bz2 390447 SHA256 ec4d6acd1d135ee04256d04a5e1512c1ccaf82ad01e48f5e24d5c4da31ce898f SHA512 abc40275e7af921a67b658c6b6aa8ec511e965a3e9e00fcdc676c2b85e1d95dbae0f118e127e0806950d26afde9949251e47eb85af04d8f8ecca777dc3afcd23 WHIRLPOOL 40b6973ccdf141f4079790a40731997bd93518284007d16c2fca5e4d54ffab900f72394111471b4174f37fcddefbcff9bde7e0709e19f88c86b9cd8fd5664554
diff --git a/sci-libs/libtifiles2/libtifiles2-1.1.5.ebuild b/sci-libs/libtifiles2/libtifiles2-1.1.5.ebuild
new file mode 100644
index 000000000000..3f09fda75956
--- /dev/null
+++ b/sci-libs/libtifiles2/libtifiles2-1.1.5.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit multilib
+
+DESCRIPTION="Library for TI calculator files"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc nls static-libs"
+
+RDEPEND="dev-libs/glib:2
+ >=sci-libs/libticables2-1.3.3
+ >=sci-libs/libticonv-1.1.3
+ nls? ( virtual/libintl )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_prepare() {
+ sed -e '/define _ZLIBIOAPI_H/ a#define OF(x) x' \
+ -i src/minizip/ioapi.h || die #403387
+}
+
+src_configure() {
+ econf \
+ --disable-rpath \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use doc && dohtml docs/html/*
+ use static-libs || rm -f "${D}"/usr/$(get_libdir)/${PN}.la
+}
diff --git a/sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild b/sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild
new file mode 100644
index 000000000000..bd6695db915d
--- /dev/null
+++ b/sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Library for TI calculator files"
+HOMEPAGE="http://lpg.ticalc.org/prj_tilp/"
+SRC_URI="mirror://sourceforge/tilp/tilp2-linux/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc nls static-libs"
+
+RDEPEND="
+ app-arch/libarchive
+ dev-libs/glib:2
+ >=sci-libs/libticables2-1.3.3
+ >=sci-libs/libticonv-1.1.3
+ nls? ( virtual/libintl )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_prepare() {
+ cd src
+ sed -i -e "s|types\*.h|$(echo types*.h)|" Makefile.in || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-rpath
+ $(use_enable nls)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml docs/html/*
+}
diff --git a/sci-libs/libtifiles2/metadata.xml b/sci-libs/libtifiles2/metadata.xml
new file mode 100644
index 000000000000..1ba180601ff8
--- /dev/null
+++ b/sci-libs/libtifiles2/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The libtifiles is a library providing support for operations on Texas
+ Instruments calculators files. All formats for all calculators are
+ supported read/write ; the library is also able to manipulate the
+ group files, which means it is able to group and ungroup variables
+ into such group files.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">tilp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/linux-gpib/Manifest b/sci-libs/linux-gpib/Manifest
new file mode 100644
index 000000000000..a329b060841f
--- /dev/null
+++ b/sci-libs/linux-gpib/Manifest
@@ -0,0 +1,4 @@
+DIST gpib_firmware-2006-11-12.tar.gz 169357 SHA256 98380a8d12e6e34dccc0c1d82b48ed796c0c0f5571107d6a685524560aa8d701 SHA512 164d6fcfb3af43933f0a16645276f7d527a7aa24ef311f6ae3dcd7f45c41f92c855cf221bc946772f43fc2f9524057abc34bbd7d805c89b33ed7e111bc6870af WHIRLPOOL 44506c9d03e746f5bc88f9a2f20e07879a4c4c72f52a5dae97accb381f8ac7f5b5c0cf5c58d1045b18ed6cbda20549a1fdb7e5ab0151a1081da1ec798c683e67
+DIST linux-gpib-3.2.20.tar.gz 1254951 SHA256 cde3e77c3fd968e1ee5785abc2d6e09f0f66711fc2612abfc7b05c72c16c2e9a SHA512 679c3895ac5077b3246c43818c7c85ae53597d4a7e70ff2306978472337214952798c41eca9a4ae8be20aa3afa4bc78a7b796fccd6b63a8e1a879fcd144adea9 WHIRLPOOL 653ea123c81ccaf5d55055e70609152584adf36eb6cd0e421f10f5c86d24781e44ced125e9ac417901594c6ac83bed1f7123de27578ad3c841612bb9955eab85
+DIST linux-gpib-3.2.21-ctrl-c.patch.gz 10477 SHA256 697a460ea8515788765983afb5c27ad527e6ab1e75232133c572530643351916 SHA512 4b34ecbc5a3f3170337808397df19b9cf09d3fc8a53052fb560ae7b5336b946c6b1c76ba24b0ad66d4bb5a005902fe8599bb7e981c140a68046b9f14ed5268b3 WHIRLPOOL 5656ed7d4dafeff4b766f247c4f495444d271130cbad8bedaef9b761e14b57c09b46a7ccd5e3be5ff50934f48a88a987eb71f6997aafdcd4adc486c49b2c0c5d
+DIST linux-gpib-3.2.21.tar.gz 1274505 SHA256 31fd86f4897239ffc55e0d4d850586d24d74144b604d6d39fd33dc59d28f7019 SHA512 539f7444e6bcd07d66cabc3abae9d40cdea3a84365bd69a4621149bc11b7b0e9826650d91d2a048d9780fab7db30005b08a4b91c77e7a26e036ed6f5adb6850b WHIRLPOOL 72a9c929d7e3b79c5c954fb6e41c4d9eb450595c6dccc877a3b47851e467e741b191a708ec3c018e4fe576e5677ffec5986970f83c020707bbbd8e2968e43153
diff --git a/sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch b/sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch
new file mode 100644
index 000000000000..14a186875748
--- /dev/null
+++ b/sci-libs/linux-gpib/files/linux-gpib-3.2.15-build.patch
@@ -0,0 +1,44 @@
+diff -ruN linux-gpib-3.2.15-0-orig/drivers/Makefile.am linux-gpib-3.2.15/drivers/Makefile.am
+--- linux-gpib-3.2.15-0-orig/drivers/Makefile.am 2007-04-19 17:21:04.000000000 +0200
++++ linux-gpib-3.2.15/drivers/Makefile.am 2011-01-24 23:20:59.000000000 +0100
+@@ -27,39 +27,13 @@
+ CC="$(LINUX_CC) -I@abs_top_srcdir@ -I@abs_top_srcdir@/drivers/gpib/include -I@abs_top_srcdir@/include" \
+ SUBDIRS="$(GPIB_ABS_MODULE_SUBDIR)"
+
+-install-data-hook: device-file-check /etc/gpib.conf
++install-data-hook: /etc/gpib.conf
+ $(MAKE) -C $(LINUX_SRCDIR) V=1 modules_install\
+ CC="$(LINUX_CC) -I@abs_top_srcdir@ -I@abs_top_srcdir@/driver/include -I@abs_top_srcdir@/include" \
+ SUBDIRS="$(GPIB_ABS_MODULE_SUBDIR)" INSTALL_MOD_DIR="gpib"
+- $(DEPMOD) -ae
+-
+-/dev/gpib0:
+- groupadd gpib || echo "group gpib exists"
+- for i in `seq 0 15`; \
+- do \
+- mknod -m u=rw,g=rw,o= /dev/gpib$${i} c $(IBMAJOR) $${i} || exit 1; \
+- chown root:gpib /dev/gpib$${i}; \
+- done
+-
+-.PHONY : device-file-check
+-device-file-check: /dev/gpib0
+- @if [ ! -c /dev/gpib0 ]; then \
+- if [ -a /dev/gpib0 ]; then \
+- echo "A file or directory called /dev/gpib0 exists but it is not" \
+- "a character device. Delete or move it and try again."; \
+- exit 1; \
+- fi; \
+- fi
+- @ls -l /dev/gpib0 | grep -q "$(IBMAJOR)"; \
+- if [ $$? != 0 ]; then \
+- echo "/dev/gpib0 has the wrong major number. " \
+- "Delete your /dev/gpibX files and try again."; \
+- exit 1; \
+- fi
+
+ #should move this to util/templates Makefile.am when it exists
+ /etc/gpib.conf:
+- $(INSTALL_DATA) -D $(top_srcdir)/util/templates/gpib.conf /etc/gpib.conf
+
+ #make sure compiled files, etc don't make it into distribution tarballs
+ dist-hook:
diff --git a/sci-libs/linux-gpib/files/linux-gpib-3.2.16-perl.patch b/sci-libs/linux-gpib/files/linux-gpib-3.2.16-perl.patch
new file mode 100644
index 000000000000..16f2f15b0ad7
--- /dev/null
+++ b/sci-libs/linux-gpib/files/linux-gpib-3.2.16-perl.patch
@@ -0,0 +1,9 @@
+diff -ruN linux-gpib-3.2.16.orig/language/Makefile.am linux-gpib-3.2.16/language/Makefile.am
+--- linux-gpib-3.2.16.orig/language/Makefile.am 2009-09-16 19:26:53.000000000 +0200
++++ linux-gpib-3.2.16/language/Makefile.am 2011-08-14 03:32:53.000000000 +0200
+@@ -67,4 +67,4 @@
+ $(RM) perl/Makefile
+
+ perl/Makefile:
+- -(cd perl && $(PERL) Makefile.PL)
++ -(cd perl && $(PERL) Makefile.PL PREFIX=$(EPREFIX)/usr INSTALLDIRS=vendor INSTALLMAN3DIR='none' DESTDIR="$(DESTDIR)" )
diff --git a/sci-libs/linux-gpib/files/linux-gpib-3.2.16-reallydie.patch b/sci-libs/linux-gpib/files/linux-gpib-3.2.16-reallydie.patch
new file mode 100644
index 000000000000..e52cce4bd385
--- /dev/null
+++ b/sci-libs/linux-gpib/files/linux-gpib-3.2.16-reallydie.patch
@@ -0,0 +1,16 @@
+Index: drivers/Makefile.am
+===================================================================
+--- drivers/Makefile.am (revision 1602)
++++ drivers/Makefile.am (working copy)
+@@ -15,10 +15,8 @@
+
+ -include $(top_srcdir)/util/linux_flags/flags
+
+-#ignore errors from kernel's make modules in all-local, to avoid failure of make install
+-#on nfs filesystem with root_squash
+ all-local:
+- -$(MAKE) -C $(LINUX_SRCDIR) V=1 modules\
++ $(MAKE) -C $(LINUX_SRCDIR) V=1 modules\
+ CC="$(LINUX_CC) -I@abs_top_srcdir@ -I@abs_top_srcdir@/drivers/gpib/include -I@abs_top_srcdir@/include" \
+ SUBDIRS="$(GPIB_ABS_MODULE_SUBDIR)"
+
diff --git a/sci-libs/linux-gpib/files/linux-gpib-3.2.21-build.patch b/sci-libs/linux-gpib/files/linux-gpib-3.2.21-build.patch
new file mode 100644
index 000000000000..86ce197ba821
--- /dev/null
+++ b/sci-libs/linux-gpib/files/linux-gpib-3.2.21-build.patch
@@ -0,0 +1,44 @@
+diff -ruN linux-gpib-3.2.21.orig/drivers/Makefile.am linux-gpib-3.2.21/drivers/Makefile.am
+--- linux-gpib-3.2.21.orig/drivers/Makefile.am 2014-12-13 11:27:55.000000000 +0100
++++ linux-gpib-3.2.21/drivers/Makefile.am 2014-12-17 17:51:47.152588400 +0100
+@@ -28,39 +28,13 @@
+ CC="$(LINUX_CC) -I@abs_top_srcdir@ -I@abs_top_srcdir@/drivers/gpib/include -I@abs_top_srcdir@/include" \
+ SUBDIRS="$(GPIB_ABS_MODULE_SUBDIR)"
+
+-install-data-hook: device-file-check /etc/gpib.conf
++install-data-hook: /etc/gpib.conf
+ $(MAKE) -C $(LINUX_SRCDIR) V=1 modules_install\
+ CC="$(LINUX_CC) -I@abs_top_srcdir@ -I@abs_top_srcdir@/driver/include -I@abs_top_srcdir@/include" \
+ SUBDIRS="$(GPIB_ABS_MODULE_SUBDIR)" INSTALL_MOD_DIR="gpib"
+- $(DEPMOD) -a
+-
+-/dev/gpib0:
+- groupadd gpib || echo "group gpib exists"
+- for i in `seq 0 15`; \
+- do \
+- mknod -m u=rw,g=rw,o= /dev/gpib$${i} c $(IBMAJOR) $${i} || exit 1; \
+- chown root:gpib /dev/gpib$${i}; \
+- done
+-
+-.PHONY : device-file-check
+-device-file-check: /dev/gpib0
+- @if [ ! -c /dev/gpib0 ]; then \
+- if [ -a /dev/gpib0 ]; then \
+- echo "A file or directory called /dev/gpib0 exists but it is not" \
+- "a character device. Delete or move it and try again."; \
+- exit 1; \
+- fi; \
+- fi
+- @ls -l /dev/gpib0 | grep -q "$(IBMAJOR)"; \
+- if [ $$? != 0 ]; then \
+- echo "/dev/gpib0 has the wrong major number. " \
+- "Delete your /dev/gpibX files and try again."; \
+- exit 1; \
+- fi
+
+ #should move this to util/templates Makefile.am when it exists
+ /etc/gpib.conf:
+- $(INSTALL_DATA) -D $(top_srcdir)/util/templates/gpib.conf /etc/gpib.conf
+
+ #make sure compiled files, etc don't make it into distribution tarballs
+ dist-hook:
diff --git a/sci-libs/linux-gpib/linux-gpib-3.2.20-r1.ebuild b/sci-libs/linux-gpib/linux-gpib-3.2.20-r1.ebuild
new file mode 100644
index 000000000000..02f86820cbff
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-3.2.20-r1.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PERL_EXPORT_PHASE_FUNCTIONS=no
+GENTOO_DEPEND_ON_PERL=no
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils linux-mod autotools perl-module python-single-r1 toolchain-funcs udev user
+
+DESCRIPTION="Kernel module and driver library for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="http://linux-gpib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
+ firmware? ( http://linux-gpib.sourceforge.net/firmware/gpib_firmware-2006-11-12.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86"
+IUSE="isa pcmcia static debug guile perl php python tcl doc firmware"
+
+COMMONDEPEND="
+ tcl? ( dev-lang/tcl:0= )
+ guile? ( dev-scheme/guile:12 )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:= )
+ python? ( ${PYTHON_DEPS} )
+ firmware? ( sys-apps/fxload )"
+RDEPEND="${COMMONDEPEND}"
+DEPEND="${COMMONDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+ perl? ( virtual/perl-ExtUtils-MakeMaker )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.15-build.patch
+ "${FILESDIR}"/${PN}-3.2.16-perl.patch
+ "${FILESDIR}"/${PN}-3.2.16-reallydie.patch
+)
+
+pkg_setup () {
+ use perl && perl_set_version
+ use python && python_setup
+ linux-mod_pkg_setup
+
+ if kernel_is -lt 2 6 8; then
+ die "Kernel versions older than 2.6.8 are not supported."
+ fi
+
+ # https://sourceforge.net/tracker/?func=detail&aid=3285657&group_id=42378&atid=432940
+ if use pcmcia && kernel_is -ge 2 6 38; then
+ die "pcmcia support is broken on kernels newer 2.6.38"
+ fi
+}
+
+src_prepare () {
+ epatch ${PATCHES[@]}
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ set_arch_to_kernel
+ econf \
+ $(use_enable isa) \
+ $(use_enable pcmcia) \
+ $(use_enable static) \
+ $(use_enable debug driver-debug) \
+ $(use_enable guile guile-binding) \
+ $(use_enable perl perl-binding) \
+ $(use_enable php php-binding) \
+ $(use_enable python python-binding) \
+ $(use_enable tcl tcl-binding) \
+ $(use_enable doc documentation) \
+ --with-linux-srcdir=${KV_DIR}
+}
+
+src_compile() {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR="${D}"/etc/hotplug/usb \
+ USB_FIRMWARE_DIR="${D}"${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR="${D}"/etc/hotplug/usb \
+ USB_FIRMWARE_DIR="${D}"${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html install
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}"/language/perl || die
+ DESTDIR=${D} perl-module_src_install
+ cd "${S}" || die
+ fi
+
+ echo "KERNEL==\"gpib[0-9]*\", MODE=\"0660\", GROUP=\"gpib\"" >> 99-gpib.rules
+ udev_dorules 99-gpib.rules
+
+ dodoc doc/linux-gpib.pdf ChangeLog AUTHORS README* NEWS
+
+ insinto /etc
+ newins util/templates/gpib.conf gpib.conf
+ newins util/templates/gpib.conf gpib.conf.example
+
+ if use pcmcia; then
+ dodir /etc/pcmcia
+ insinto /etc/pcmcia
+ doins "${S}"/etc/pcmcia/*
+ fi
+
+ if use firmware; then
+ insinto "${FIRM_DIR}"/agilent_82357a
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/agilent_82357a/*
+
+ insinto "${FIRM_DIR}"/ni_gpib_usb_b
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/ni_gpib_usb_b/*
+
+ insinto /usr/share/linux-gpib/hp_82341
+ # do not install precompiled generate_firmware
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/hp_82341/{*.bin,README}
+ fi
+}
+
+pkg_preinst () {
+ linux-mod_pkg_preinst
+ use perl && perl_set_version
+ enewgroup gpib
+}
+
+pkg_postinst () {
+ linux-mod_pkg_postinst
+
+ einfo "You need to run the 'gpib_config' utility to setup the driver before"
+ einfo "you can use it. In order to do it automatically you can add to your"
+ einfo "start script something like this (supposing the appropriate driver"
+ einfo "is loaded on the startup):"
+ einfo " gpib_config --minor 0"
+ einfo ""
+ einfo "To give a user access to the computer's gpib board you will have to add"
+ einfo "them to the group 'gpib' or, you could change the permissions on the device"
+ einfo "files /dev/gpib[0-15] to something you like better, using 'chmod'."
+ einfo ""
+ einfo "Edit /etc/gpib.conf to match your interface board, and any devices you wish"
+ einfo "to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for"
+ einfo "more information."
+ einfo ""
+
+ if use pcmcia; then
+ einfo "For PCMCIA cards:"
+ einfo "All files needed for a PCMCIA board were copied to /etc/pcmcia."
+ einfo "You may wish to edit the options passed to the gpib_config call in the"
+ einfo "/etc/pcmcia/linux-gpib-pcmcia script."
+ einfo "You may need to send a SIGHUP signal to the cardmgr daemon to force it"
+ einfo "to reload the files in /etc/pcmcia (alternatively you could use your"
+ einfo "pcmcia init.d script to restart the cardmgr, or you could just reboot)."
+ einfo "The driver module will be loaded as needed by the cardmgr."
+ einfo ""
+ fi
+
+ if use firmware; then
+ einfo "For Agilent (HP) 82341C and 82341D cards:"
+ einfo "The firmware for these boards is uploaded by passing the appropriate"
+ einfo "firmware file from /usr/share/linux-gpib/hp_82341 directory to"
+ einfo "gpib_config using the -I or --init-data command line option. Example:"
+ einfo "gpib_config --minor 0 --init-data \\"
+ einfo "/usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin"
+ einfo ""
+ fi
+
+}
diff --git a/sci-libs/linux-gpib/linux-gpib-3.2.21-r1.ebuild b/sci-libs/linux-gpib/linux-gpib-3.2.21-r1.ebuild
new file mode 100644
index 000000000000..19df0e30402d
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-3.2.21-r1.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PERL_EXPORT_PHASE_FUNCTIONS=no
+GENTOO_DEPEND_ON_PERL=no
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils linux-mod autotools perl-module python-single-r1 toolchain-funcs udev user
+
+DESCRIPTION="Kernel module and driver library for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="http://linux-gpib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
+ firmware? ( http://linux-gpib.sourceforge.net/firmware/gpib_firmware-2006-11-12.tar.gz )
+ http://dev.gentoo.org/~dilfridge/distfiles/${PN}-3.2.21-ctrl-c.patch.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="isa pcmcia static debug guile perl php python tcl doc firmware"
+
+COMMONDEPEND="
+ tcl? ( dev-lang/tcl:0= )
+ guile? ( dev-scheme/guile:12 )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:= )
+ python? ( ${PYTHON_DEPS} )
+ firmware? ( sys-apps/fxload )"
+RDEPEND="${COMMONDEPEND}"
+DEPEND="${COMMONDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+ perl? ( virtual/perl-ExtUtils-MakeMaker )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.21-build.patch
+ "${FILESDIR}"/${PN}-3.2.16-perl.patch
+ "${FILESDIR}"/${PN}-3.2.16-reallydie.patch
+ "${WORKDIR}"/${PN}-3.2.21-ctrl-c.patch
+)
+
+pkg_setup () {
+ use perl && perl_set_version
+ use python && python_setup
+ linux-mod_pkg_setup
+
+ if kernel_is -lt 2 6 8; then
+ die "Kernel versions older than 2.6.8 are not supported."
+ fi
+
+ # https://sourceforge.net/tracker/?func=detail&aid=3285657&group_id=42378&atid=432940
+ if use pcmcia && kernel_is -ge 2 6 38; then
+ die "pcmcia support is broken on kernels newer 2.6.38"
+ fi
+}
+
+src_prepare () {
+ epatch ${PATCHES[@]}
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ set_arch_to_kernel
+ econf \
+ $(use_enable isa) \
+ $(use_enable pcmcia) \
+ $(use_enable static) \
+ $(use_enable debug driver-debug) \
+ $(use_enable guile guile-binding) \
+ $(use_enable perl perl-binding) \
+ $(use_enable php php-binding) \
+ $(use_enable python python-binding) \
+ $(use_enable tcl tcl-binding) \
+ $(use_enable doc documentation) \
+ --with-linux-srcdir=${KV_DIR}
+}
+
+src_compile() {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR="${D}"/etc/hotplug/usb \
+ USB_FIRMWARE_DIR="${D}"${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR="${D}"/etc/hotplug/usb \
+ USB_FIRMWARE_DIR="${D}"${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html install
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}"/language/perl || die
+ DESTDIR=${D} perl-module_src_install
+ cd "${S}" || die
+ fi
+
+ echo "KERNEL==\"gpib[0-9]*\", MODE=\"0660\", GROUP=\"gpib\"" >> 99-gpib.rules
+ udev_dorules 99-gpib.rules
+
+ dodoc doc/linux-gpib.pdf ChangeLog AUTHORS README* NEWS
+
+ insinto /etc
+ newins util/templates/gpib.conf gpib.conf
+ newins util/templates/gpib.conf gpib.conf.example
+
+ if use pcmcia; then
+ dodir /etc/pcmcia
+ insinto /etc/pcmcia
+ doins "${S}"/etc/pcmcia/*
+ fi
+
+ if use firmware; then
+ insinto "${FIRM_DIR}"/agilent_82357a
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/agilent_82357a/*
+
+ insinto "${FIRM_DIR}"/ni_gpib_usb_b
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/ni_gpib_usb_b/*
+
+ insinto /usr/share/linux-gpib/hp_82341
+ # do not install precompiled generate_firmware
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/hp_82341/{*.bin,README}
+ fi
+}
+
+pkg_preinst () {
+ linux-mod_pkg_preinst
+ use perl && perl_set_version
+ enewgroup gpib
+}
+
+pkg_postinst () {
+ linux-mod_pkg_postinst
+
+ einfo "You need to run the 'gpib_config' utility to setup the driver before"
+ einfo "you can use it. In order to do it automatically you can add to your"
+ einfo "start script something like this (supposing the appropriate driver"
+ einfo "is loaded on the startup):"
+ einfo " gpib_config --minor 0"
+ einfo ""
+ einfo "To give a user access to the computer's gpib board you will have to add"
+ einfo "them to the group 'gpib' or, you could change the permissions on the device"
+ einfo "files /dev/gpib[0-15] to something you like better, using 'chmod'."
+ einfo ""
+ einfo "Edit /etc/gpib.conf to match your interface board, and any devices you wish"
+ einfo "to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for"
+ einfo "more information."
+ einfo ""
+
+ if use pcmcia; then
+ einfo "For PCMCIA cards:"
+ einfo "All files needed for a PCMCIA board were copied to /etc/pcmcia."
+ einfo "You may wish to edit the options passed to the gpib_config call in the"
+ einfo "/etc/pcmcia/linux-gpib-pcmcia script."
+ einfo "You may need to send a SIGHUP signal to the cardmgr daemon to force it"
+ einfo "to reload the files in /etc/pcmcia (alternatively you could use your"
+ einfo "pcmcia init.d script to restart the cardmgr, or you could just reboot)."
+ einfo "The driver module will be loaded as needed by the cardmgr."
+ einfo ""
+ fi
+
+ if use firmware; then
+ einfo "For Agilent (HP) 82341C and 82341D cards:"
+ einfo "The firmware for these boards is uploaded by passing the appropriate"
+ einfo "firmware file from /usr/share/linux-gpib/hp_82341 directory to"
+ einfo "gpib_config using the -I or --init-data command line option. Example:"
+ einfo "gpib_config --minor 0 --init-data \\"
+ einfo "/usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin"
+ einfo ""
+ fi
+
+ if [[ $REPLACING_VERSIONS < "3.2.21-r1" ]]; then
+ ewarn "sci-libs/linux-gpib-3.2.21-r1 introduces incompatible changes to the kernel"
+ ewarn "interface. You may need to reboot to make sure the newly built driver modules"
+ ewarn "are used (some of the driver modules cannot be unloaded)."
+ ewarn "If you do not do this, every gpib call will just result in an error message."
+ fi
+}
diff --git a/sci-libs/linux-gpib/linux-gpib-3.2.21.ebuild b/sci-libs/linux-gpib/linux-gpib-3.2.21.ebuild
new file mode 100644
index 000000000000..e00810be7fad
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-3.2.21.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PERL_EXPORT_PHASE_FUNCTIONS=no
+GENTOO_DEPEND_ON_PERL=no
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils linux-mod autotools perl-module python-single-r1 toolchain-funcs udev user
+
+DESCRIPTION="Kernel module and driver library for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="http://linux-gpib.sourceforge.net/"
+SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
+ firmware? ( http://linux-gpib.sourceforge.net/firmware/gpib_firmware-2006-11-12.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86"
+IUSE="isa pcmcia static debug guile perl php python tcl doc firmware"
+
+COMMONDEPEND="
+ tcl? ( dev-lang/tcl:0= )
+ guile? ( dev-scheme/guile:12 )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:= )
+ python? ( ${PYTHON_DEPS} )
+ firmware? ( sys-apps/fxload )"
+RDEPEND="${COMMONDEPEND}"
+DEPEND="${COMMONDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+ perl? ( virtual/perl-ExtUtils-MakeMaker )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.21-build.patch
+ "${FILESDIR}"/${PN}-3.2.16-perl.patch
+ "${FILESDIR}"/${PN}-3.2.16-reallydie.patch
+)
+
+pkg_setup () {
+ use perl && perl_set_version
+ use python && python_setup
+ linux-mod_pkg_setup
+
+ if kernel_is -lt 2 6 8; then
+ die "Kernel versions older than 2.6.8 are not supported."
+ fi
+
+ # https://sourceforge.net/tracker/?func=detail&aid=3285657&group_id=42378&atid=432940
+ if use pcmcia && kernel_is -ge 2 6 38; then
+ die "pcmcia support is broken on kernels newer 2.6.38"
+ fi
+}
+
+src_prepare () {
+ epatch ${PATCHES[@]}
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ set_arch_to_kernel
+ econf \
+ $(use_enable isa) \
+ $(use_enable pcmcia) \
+ $(use_enable static) \
+ $(use_enable debug driver-debug) \
+ $(use_enable guile guile-binding) \
+ $(use_enable perl perl-binding) \
+ $(use_enable php php-binding) \
+ $(use_enable python python-binding) \
+ $(use_enable tcl tcl-binding) \
+ $(use_enable doc documentation) \
+ --with-linux-srcdir=${KV_DIR}
+}
+
+src_compile() {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR="${D}"/etc/hotplug/usb \
+ USB_FIRMWARE_DIR="${D}"${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html
+}
+
+src_install() {
+ set_arch_to_kernel
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${D}" \
+ INSTALL_MOD_PATH="${D}" \
+ HOTPLUG_USB_CONF_DIR="${D}"/etc/hotplug/usb \
+ USB_FIRMWARE_DIR="${D}"${FIRM_DIR} \
+ docdir=/usr/share/doc/${PF}/html install
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}"/language/perl || die
+ DESTDIR=${D} perl-module_src_install
+ cd "${S}" || die
+ fi
+
+ echo "KERNEL==\"gpib[0-9]*\", MODE=\"0660\", GROUP=\"gpib\"" >> 99-gpib.rules
+ udev_dorules 99-gpib.rules
+
+ dodoc doc/linux-gpib.pdf ChangeLog AUTHORS README* NEWS
+
+ insinto /etc
+ newins util/templates/gpib.conf gpib.conf
+ newins util/templates/gpib.conf gpib.conf.example
+
+ if use pcmcia; then
+ dodir /etc/pcmcia
+ insinto /etc/pcmcia
+ doins "${S}"/etc/pcmcia/*
+ fi
+
+ if use firmware; then
+ insinto "${FIRM_DIR}"/agilent_82357a
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/agilent_82357a/*
+
+ insinto "${FIRM_DIR}"/ni_gpib_usb_b
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/ni_gpib_usb_b/*
+
+ insinto /usr/share/linux-gpib/hp_82341
+ # do not install precompiled generate_firmware
+ doins "${WORKDIR}"/gpib_firmware-2006-11-12/hp_82341/{*.bin,README}
+ fi
+}
+
+pkg_preinst () {
+ linux-mod_pkg_preinst
+ use perl && perl_set_version
+ enewgroup gpib
+}
+
+pkg_postinst () {
+ linux-mod_pkg_postinst
+
+ einfo "You need to run the 'gpib_config' utility to setup the driver before"
+ einfo "you can use it. In order to do it automatically you can add to your"
+ einfo "start script something like this (supposing the appropriate driver"
+ einfo "is loaded on the startup):"
+ einfo " gpib_config --minor 0"
+ einfo ""
+ einfo "To give a user access to the computer's gpib board you will have to add"
+ einfo "them to the group 'gpib' or, you could change the permissions on the device"
+ einfo "files /dev/gpib[0-15] to something you like better, using 'chmod'."
+ einfo ""
+ einfo "Edit /etc/gpib.conf to match your interface board, and any devices you wish"
+ einfo "to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for"
+ einfo "more information."
+ einfo ""
+
+ if use pcmcia; then
+ einfo "For PCMCIA cards:"
+ einfo "All files needed for a PCMCIA board were copied to /etc/pcmcia."
+ einfo "You may wish to edit the options passed to the gpib_config call in the"
+ einfo "/etc/pcmcia/linux-gpib-pcmcia script."
+ einfo "You may need to send a SIGHUP signal to the cardmgr daemon to force it"
+ einfo "to reload the files in /etc/pcmcia (alternatively you could use your"
+ einfo "pcmcia init.d script to restart the cardmgr, or you could just reboot)."
+ einfo "The driver module will be loaded as needed by the cardmgr."
+ einfo ""
+ fi
+
+ if use firmware; then
+ einfo "For Agilent (HP) 82341C and 82341D cards:"
+ einfo "The firmware for these boards is uploaded by passing the appropriate"
+ einfo "firmware file from /usr/share/linux-gpib/hp_82341 directory to"
+ einfo "gpib_config using the -I or --init-data command line option. Example:"
+ einfo "gpib_config --minor 0 --init-data \\"
+ einfo "/usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin"
+ einfo ""
+ fi
+
+}
diff --git a/sci-libs/linux-gpib/metadata.xml b/sci-libs/linux-gpib/metadata.xml
new file mode 100644
index 000000000000..32646ae5b6ae
--- /dev/null
+++ b/sci-libs/linux-gpib/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-electronics</herd>
+ <maintainer>
+ <email>dilfridge@gentoo.org</email>
+ <name>Andreas K. Huettel</name>
+ </maintainer>
+ <use>
+ <flag name="firmware">Install firmware</flag>
+ <flag name="isa">Build ISA kernel modules; from 3.12 on the setting is ignored and the decision based on the kernel configuration</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">linux-gpib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/lis/Manifest b/sci-libs/lis/Manifest
new file mode 100644
index 000000000000..67f898dac3e7
--- /dev/null
+++ b/sci-libs/lis/Manifest
@@ -0,0 +1,2 @@
+DIST lis-1.4.11.tar.gz 2978494 SHA256 08fd7452e184b72d58c7b99985d840e9c75df1f40fa525c7a260b7d37e9bf7dd SHA512 784f6cce01197588e3c835132016d04f39c871baf4e1111ddc06116a490bae3cdbbb133a781bdf52125d3452ba448d9b0dd3420899a34b9c46f5fad2198dd0d4 WHIRLPOOL 79b66354cb81199c9bb76b1d81bb2a38a29f413d37351a507b06c95260c16a2bfca876d271a98dc4c067954ae99e1e68ea07a3011c26e68a50292ee18497b54f
+DIST lis-1.4.23.tar.gz 2977200 SHA256 f915b4e3de1fbddc655e39b2e561f1aca5456b2a0e0cdb30b2c434d4c3c4f965 SHA512 8d720e2b69aaa2a3bef96679ae2c96d640787271a38037fa79ac88c571452a1e2f8f28bcbb78633f3d885d25143fb097bbef007433461fb2e0e511e671d9d481 WHIRLPOOL 5f82c645829ee13b6c164cca5a0f739543420c9eb9c40389d7cb37560713cb2d9afdd0ebccb9a57a8a667130df300fd40015036c06e681d90dfefbaab48f5e6e
diff --git a/sci-libs/lis/files/lis-1.4.11-autotools.patch b/sci-libs/lis/files/lis-1.4.11-autotools.patch
new file mode 100644
index 000000000000..a717bc84f1fc
--- /dev/null
+++ b/sci-libs/lis/files/lis-1.4.11-autotools.patch
@@ -0,0 +1,311 @@
+Patch to the lis-1.4.11 autotools build system.
+* use autoconf macros to propagate fortran/c link flags instead of custom build ones
+* propagate properly CPPFLAGS instead of CFLAGS
+* remove custom built linking commands
+* use the target check for testing and
+* default install only installs the library, not the tests
+
+bicatali@gentoo.org
+
+diff -Nur lis-1.4.11.orig/configure.in lis-1.4.11/configure.in
+--- lis-1.4.11.orig/configure.in 2013-07-22 09:38:36.726745408 -0700
++++ lis-1.4.11/configure.in 2013-07-22 13:20:55.976919675 -0700
+@@ -526,6 +526,8 @@
+ fi
+ AC_LANG_PUSH(Fortran 77)
+ AC_PROG_F77([ifort ifc efc xlf95_r xlf90_r xlf_r xlf95 xlf90 xlf ftn frt pgf95 pgf90 pathf95 pathf90 epcf90 f95 fort lf95 gfortran f90 g77])
++ AC_F77_LIBRARY_LDFLAGS
++ AC_F77_DUMMY_MAIN
+ if test "$TARGET" = ""; then
+ if test "$enable_mpi" = "yes"; then
+ AC_CHECK_PROGS(MPIF77, mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpifrt cmpifc cmpif90c mpf90 mpif90 hf77 mpxlf_r mpxlf mpf77 mpif77, $F77)
+diff -Nur lis-1.4.11.orig/src/esolver/Makefile.am lis-1.4.11/src/esolver/Makefile.am
+--- lis-1.4.11.orig/src/esolver/Makefile.am 2013-07-22 09:38:36.738745738 -0700
++++ lis-1.4.11/src/esolver/Makefile.am 2013-07-22 10:12:47.008883688 -0700
+@@ -8,16 +8,5 @@
+ lis_esolver_si.c \
+ lis_esolver_rqi.c
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/fortran/amg/Makefile.am lis-1.4.11/src/fortran/amg/Makefile.am
+--- lis-1.4.11.orig/src/fortran/amg/Makefile.am 2013-07-22 09:38:36.736745697 -0700
++++ lis-1.4.11/src/fortran/amg/Makefile.am 2013-07-22 10:13:24.842091465 -0700
+@@ -25,25 +25,6 @@
+
+ CLEANFILES = *.mod
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+-FCCOMPILE = $(FC) $(AMDEFS) $(AM_FCFLAGS) $(FCFLAGS)
+-LTFCCOMPILE = $(LIBTOOL) --mode=compile $(FC) $(AMDEFS) $(AM_FCFLAGS) $(FCFLAGS)
+-FCLD = $(FC)
+-FCLINK = $(LIBTOOL) --mode=link $(FCLD) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-PPFCCOMPILE = $(FC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+-LTPPFCCOMPILE = $(LIBTOOL) --mode=compile $(FC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FCFLAGS) $(FCFLAGS)
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+
+ .NOTPARALLEL:
+ .NO_PARALLEL:
+diff -Nur lis-1.4.11.orig/src/fortran/Makefile.am lis-1.4.11/src/fortran/Makefile.am
+--- lis-1.4.11.orig/src/fortran/Makefile.am 2013-07-22 09:38:36.737745719 -0700
++++ lis-1.4.11/src/fortran/Makefile.am 2013-07-22 10:13:42.419187912 -0700
+@@ -9,14 +9,3 @@
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/Makefile.am lis-1.4.11/src/Makefile.am
+--- lis-1.4.11.orig/src/Makefile.am 2013-07-22 09:38:36.738745738 -0700
++++ lis-1.4.11/src/Makefile.am 2013-07-22 13:29:41.603990154 -0700
+@@ -22,7 +22,7 @@
+ liblis@LIBSUFFIX@_la_LIBADD += fortran/amg/libsaamg.la
+ else
+ if ENABLE_FORTRAN
+- liblis@LIBSUFFIX@_la_LIBADD += fortran/libfortran.la
++ liblis@LIBSUFFIX@_la_LIBADD += fortran/libfortran.la $(FLIBS)
+ endif
+ endif
+ liblis@LIBSUFFIX@_la_SOURCES =
+diff -Nur lis-1.4.11.orig/src/matrix/Makefile.am lis-1.4.11/src/matrix/Makefile.am
+--- lis-1.4.11.orig/src/matrix/Makefile.am 2013-07-22 09:38:36.739745755 -0700
++++ lis-1.4.11/src/matrix/Makefile.am 2013-07-22 10:14:14.321363119 -0700
+@@ -18,16 +18,5 @@
+ lis_matrix_rco.c \
+ lis_matrix_vbr.c
+
+-AM_CFLAGS = -I$(top_srcdir)/include $(ILIBS)
++AM_CPPFLAGS = -I$(top_srcdir)/include $(ILIBS)
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/matvec/Makefile.am lis-1.4.11/src/matvec/Makefile.am
+--- lis-1.4.11.orig/src/matvec/Makefile.am 2013-07-22 09:38:36.735745673 -0700
++++ lis-1.4.11/src/matvec/Makefile.am 2013-07-22 10:14:33.697469686 -0700
+@@ -13,16 +13,5 @@
+ lis_matvec_vbr.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/precision/Makefile.am lis-1.4.11/src/precision/Makefile.am
+--- lis-1.4.11.orig/src/precision/Makefile.am 2013-07-22 09:38:36.735745673 -0700
++++ lis-1.4.11/src/precision/Makefile.am 2013-07-22 10:14:57.337599884 -0700
+@@ -4,16 +4,5 @@
+ lis_precision_matvec.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include $(MPFLAG)
++AM_CPPFLAGS = -I$(top_srcdir)/include $(MPFLAG)
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/precon/Makefile.am lis-1.4.11/src/precon/Makefile.am
+--- lis-1.4.11.orig/src/precon/Makefile.am 2013-07-22 09:38:36.735745673 -0700
++++ lis-1.4.11/src/precon/Makefile.am 2013-07-22 10:15:16.666706135 -0700
+@@ -12,16 +12,5 @@
+ lis_precon_ssor.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/solver/Makefile.am lis-1.4.11/src/solver/Makefile.am
+--- lis-1.4.11.orig/src/solver/Makefile.am 2013-07-22 09:38:36.737745719 -0700
++++ lis-1.4.11/src/solver/Makefile.am 2013-07-22 10:16:22.575071068 -0700
+@@ -17,16 +17,5 @@
+ lis_solver_sor.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/system/Makefile.am lis-1.4.11/src/system/Makefile.am
+--- lis-1.4.11.orig/src/system/Makefile.am 2013-07-22 09:38:36.734745646 -0700
++++ lis-1.4.11/src/system/Makefile.am 2013-07-22 10:16:39.329163621 -0700
+@@ -13,16 +13,5 @@
+ mt19937ar.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/src/vector/Makefile.am lis-1.4.11/src/vector/Makefile.am
+--- lis-1.4.11.orig/src/vector/Makefile.am 2013-07-22 09:38:36.737745719 -0700
++++ lis-1.4.11/src/vector/Makefile.am 2013-07-22 10:17:03.722298537 -0700
+@@ -4,16 +4,5 @@
+ lis_vector_opv.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.11.orig/test/Makefile.am lis-1.4.11/test/Makefile.am
+--- lis-1.4.11.orig/test/Makefile.am 2013-07-22 09:38:36.727745436 -0700
++++ lis-1.4.11/test/Makefile.am 2013-07-22 13:31:44.602704495 -0700
+@@ -5,15 +5,16 @@
+
+ EXTRA_DIST = defs test.sh testmat.mtx testmat2.mtx
+
+-testdir = ${prefix}/share/examples/lis
++testdir = $(libdir)/lis/examples
+
+ test_DATA = testmat.mtx testmat2.mtx
+
+ test_SCRIPTS = defs test.sh
+
+-test_PROGRAMS = test1 test2 test3 test4 test5 test6 etest1 etest2 etest3 etest4 etest5 etest6 spmvtest1 spmvtest2 spmvtest3 spmvtest4 spmvtest5
++check_PROGRAMS = test1 test2 test3 test4 test5 test6 etest1 etest2 etest3 etest4 etest5 etest6 spmvtest1 spmvtest2 spmvtest3 spmvtest4 spmvtest5
+ if ENABLE_FORTRAN
+- test_PROGRAMS += test1f test4f etest1f etest4f
++ check_PROGRAMS += test1f test4f etest1f etest4f
++ LDADD += $(FLIBS)
+ endif
+
+ test1_SOURCES = test1.c
+@@ -40,38 +41,11 @@
+ etest4f_SOURCES = etest4f.F
+ endif
+
+-bin_PROGRAMS = lsolve esolve spmvtest1 spmvtest2 spmvtest3 spmvtest4 spmvtest5
++noinst_PROGRAMS = lsolve esolve spmvtest1 spmvtest2 spmvtest3 spmvtest4 spmvtest5
+
+ lsolve_SOURCES = test1.c
+ esolve_SOURCES = etest5.c
+
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+-
+-if ENABLE_SAAMG
+- LINK = $(LIBTOOL) --mode=link $(FC) \
+- $(AM_LDFLAGS) $(LDFLAGS) $(FCLDFLAGS) -o $@ $(LIBS) $(CLIBS)
+- F77LINK = $(LIBTOOL) --mode=link $(FC) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(LIBS) $(CLIBS)
+-else
+-if ENABLE_FORTRAN
+- LINK = $(LIBTOOL) --mode=link $(FC) \
+- $(AM_LDFLAGS) $(LDFLAGS) $(FCLDFLAGS) -o $@ $(LIBS) $(CLIBS)
+- F77LINK = $(LIBTOOL) --mode=link $(F77) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(LIBS) $(CLIBS)
+-else
+- LINK = $(LIBTOOL) --mode=link $(CC) $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(LIBS)
+-endif
+-endif
+-
+ CLEANFILES = *.il
+
+
diff --git a/sci-libs/lis/files/lis-1.4.23-autotools.patch b/sci-libs/lis/files/lis-1.4.23-autotools.patch
new file mode 100644
index 000000000000..e0da6a6dac55
--- /dev/null
+++ b/sci-libs/lis/files/lis-1.4.23-autotools.patch
@@ -0,0 +1,302 @@
+diff -Nur lis-1.4.23.orig/configure.in lis-1.4.23/configure.in
+--- lis-1.4.23.orig/configure.in 2014-01-14 21:30:01.358264593 -0800
++++ lis-1.4.23/configure.in 2014-01-14 21:31:19.917763200 -0800
+@@ -527,6 +527,8 @@
+ AC_LANG_PUSH(Fortran 77)
+ fflags_save="$FFLAGS"
+ AC_PROG_F77([ifort ifc efc xlf95_r xlf90_r xlf_r xlf95 xlf90 xlf ftn frt pgf95 pgf90 pathf95 pathf90 epcf90 f95 fort lf95 gfortran f90 g77])
++ AC_F77_LIBRARY_LDFLAGS
++ AC_F77_DUMMY_MAIN
+ FFLAGS="$fflags_save"
+ if test "$TARGET" = ""; then
+ if test "$enable_mpi" = "yes"; then
+diff -Nur lis-1.4.23.orig/src/Makefile.am lis-1.4.23/src/Makefile.am
+--- lis-1.4.23.orig/src/Makefile.am 2014-01-14 21:30:01.374264719 -0800
++++ lis-1.4.23/src/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -22,7 +22,7 @@
+ liblis@LIBSUFFIX@_la_LIBADD += fortran/amg/libsaamg.la
+ else
+ if ENABLE_FORTRAN
+- liblis@LIBSUFFIX@_la_LIBADD += fortran/libfortran.la
++ liblis@LIBSUFFIX@_la_LIBADD += fortran/libfortran.la $(FLIBS)
+ endif
+ endif
+ liblis@LIBSUFFIX@_la_SOURCES =
+diff -Nur lis-1.4.23.orig/src/esolver/Makefile.am lis-1.4.23/src/esolver/Makefile.am
+--- lis-1.4.23.orig/src/esolver/Makefile.am 2014-01-14 21:30:01.374264719 -0800
++++ lis-1.4.23/src/esolver/Makefile.am 2014-01-14 21:30:25.931420647 -0800
+@@ -8,16 +8,5 @@
+ lis_esolver_si.c \
+ lis_esolver_rqi.c
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/fortran/Makefile.am lis-1.4.23/src/fortran/Makefile.am
+--- lis-1.4.23.orig/src/fortran/Makefile.am 2014-01-14 21:30:01.373264712 -0800
++++ lis-1.4.23/src/fortran/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -9,14 +9,3 @@
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/fortran/amg/Makefile.am lis-1.4.23/src/fortran/amg/Makefile.am
+--- lis-1.4.23.orig/src/fortran/amg/Makefile.am 2014-01-14 21:30:01.372264705 -0800
++++ lis-1.4.23/src/fortran/amg/Makefile.am 2014-01-14 21:30:25.931420647 -0800
+@@ -25,25 +25,6 @@
+
+ CLEANFILES = *.mod
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+-FCCOMPILE = $(FC) $(AMDEFS) $(AM_FCFLAGS) $(FCFLAGS)
+-LTFCCOMPILE = $(LIBTOOL) --mode=compile $(FC) $(AMDEFS) $(AM_FCFLAGS) $(FCFLAGS)
+-FCLD = $(FC)
+-FCLINK = $(LIBTOOL) --mode=link $(FCLD) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-PPFCCOMPILE = $(FC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+-LTPPFCCOMPILE = $(LIBTOOL) --mode=compile $(FC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FCFLAGS) $(FCFLAGS)
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+
+ .NOTPARALLEL:
+ .NO_PARALLEL:
+diff -Nur lis-1.4.23.orig/src/matrix/Makefile.am lis-1.4.23/src/matrix/Makefile.am
+--- lis-1.4.23.orig/src/matrix/Makefile.am 2014-01-14 21:30:01.374264719 -0800
++++ lis-1.4.23/src/matrix/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -18,16 +18,5 @@
+ lis_matrix_rco.c \
+ lis_matrix_vbr.c
+
+-AM_CFLAGS = -I$(top_srcdir)/include $(ILIBS)
++AM_CPPFLAGS = -I$(top_srcdir)/include $(ILIBS)
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/matvec/Makefile.am lis-1.4.23/src/matvec/Makefile.am
+--- lis-1.4.23.orig/src/matvec/Makefile.am 2014-01-14 21:30:01.372264705 -0800
++++ lis-1.4.23/src/matvec/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -13,16 +13,5 @@
+ lis_matvec_vbr.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/precision/Makefile.am lis-1.4.23/src/precision/Makefile.am
+--- lis-1.4.23.orig/src/precision/Makefile.am 2014-01-14 21:30:01.372264705 -0800
++++ lis-1.4.23/src/precision/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -4,16 +4,5 @@
+ lis_precision_matvec.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include $(MPFLAG)
++AM_CPPFLAGS = -I$(top_srcdir)/include $(MPFLAG)
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/precon/Makefile.am lis-1.4.23/src/precon/Makefile.am
+--- lis-1.4.23.orig/src/precon/Makefile.am 2014-01-14 21:30:01.371264698 -0800
++++ lis-1.4.23/src/precon/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -12,16 +12,5 @@
+ lis_precon_ssor.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/solver/Makefile.am lis-1.4.23/src/solver/Makefile.am
+--- lis-1.4.23.orig/src/solver/Makefile.am 2014-01-14 21:30:01.373264712 -0800
++++ lis-1.4.23/src/solver/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -17,16 +17,5 @@
+ lis_solver_sor.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/system/Makefile.am lis-1.4.23/src/system/Makefile.am
+--- lis-1.4.23.orig/src/system/Makefile.am 2014-01-14 21:30:01.371264698 -0800
++++ lis-1.4.23/src/system/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -13,16 +13,5 @@
+ mt19937ar.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/src/vector/Makefile.am lis-1.4.23/src/vector/Makefile.am
+--- lis-1.4.23.orig/src/vector/Makefile.am 2014-01-14 21:30:01.373264712 -0800
++++ lis-1.4.23/src/vector/Makefile.am 2014-01-14 21:30:25.932420643 -0800
+@@ -4,16 +4,5 @@
+ lis_vector_opv.c
+
+
+-AM_CFLAGS = -I$(top_srcdir)/include
++AM_CPPFLAGS = -I$(top_srcdir)/include
+ CLEANFILES = *.il
+-
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+diff -Nur lis-1.4.23.orig/test/Makefile.am lis-1.4.23/test/Makefile.am
+--- lis-1.4.23.orig/test/Makefile.am 2014-01-14 21:30:01.360264625 -0800
++++ lis-1.4.23/test/Makefile.am 2014-01-14 21:34:47.093078248 -0800
+@@ -5,15 +5,16 @@
+
+ EXTRA_DIST = defs test.sh testmat.mtx testmat2.mtx
+
+-testdir = ${prefix}/share/examples/lis
++testdir = $(libdir)/lis/examples
+
+ test_DATA = testmat.mtx testmat2.mtx
+
+ test_SCRIPTS = defs test.sh
+
+-test_PROGRAMS = test1 test2 test2b test3 test3b test4 test5 test6 etest1 etest2 etest3 etest4 etest5 etest6 spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5
++check_PROGRAMS = test1 test2 test2b test3 test3b test4 test5 test6 etest1 etest2 etest3 etest4 etest5 etest6 spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5
+ if ENABLE_FORTRAN
+- test_PROGRAMS += test1f test4f etest1f etest4f
++ check_PROGRAMS += test1f test4f etest1f etest4f
++ LDADD += $(FLIBS)
+ endif
+
+ test1_SOURCES = test1.c
+@@ -44,38 +45,11 @@
+ etest4f_SOURCES = etest4f.F
+ endif
+
+-bin_PROGRAMS = lsolve esolve spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5
++noinst_PROGRAMS = lsolve esolve spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5
+
+ lsolve_SOURCES = test1.c
+ esolve_SOURCES = etest5.c
+
+-PPF77COMPILE = $(F77) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)
+-LTPPF77COMPILE = $(LIBTOOL) --mode=compile --tag=F77 $(F77) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_FFLAGS) $(FFLAGS)
+-COMPILE = $(CC) $(AMDEFS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(AMDEFS) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
+-
+-if ENABLE_SAAMG
+- LINK = $(LIBTOOL) --mode=link $(FC) \
+- $(AM_LDFLAGS) $(LDFLAGS) $(FCLDFLAGS) -o $@ $(LIBS) $(CLIBS)
+- F77LINK = $(LIBTOOL) --mode=link $(FC) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(LIBS) $(CLIBS)
+-else
+-if ENABLE_FORTRAN
+- LINK = $(LIBTOOL) --mode=link $(FC) \
+- $(AM_LDFLAGS) $(LDFLAGS) $(FCLDFLAGS) -o $@ $(LIBS) $(CLIBS)
+- F77LINK = $(LIBTOOL) --mode=link $(F77) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(LIBS) $(CLIBS)
+-else
+- LINK = $(LIBTOOL) --mode=link $(CC) $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(LIBS)
+-endif
+-endif
+-
+ CLEANFILES = *.il
+
+
diff --git a/sci-libs/lis/lis-1.4.11.ebuild b/sci-libs/lis/lis-1.4.11.ebuild
new file mode 100644
index 000000000000..e3fe46b5b375
--- /dev/null
+++ b/sci-libs/lis/lis-1.4.11.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+AUTOTOOLS_IN_SOURCE_BUILD=yes
+
+inherit autotools-utils fortran-2
+
+DESCRIPTION="Library of Iterative Solvers for Linear Systems"
+HOMEPAGE="http://www.ssisc.org/lis/index.en.html"
+SRC_URI="http://www.ssisc.org/lis/dl/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran mpi openmp quad saamg cpu_flags_x86_sse2 static-libs"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-autotools.patch )
+
+pkg_setup() {
+ if use openmp; then
+ [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp && \
+ die "You have openmp enabled but your current gcc does not support it"
+ export FORTRAN_NEED_OPENMP=1
+ fi
+ use fortran && fortran-2_pkg_setup
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable fortran)
+ $(use_enable openmp omp)
+ $(use_enable quad)
+ $(use_enable "cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4)" fma)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable saamg)
+ $(use_enable mpi)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/lis/lis-1.4.23.ebuild b/sci-libs/lis/lis-1.4.23.ebuild
new file mode 100644
index 000000000000..6993dab16f82
--- /dev/null
+++ b/sci-libs/lis/lis-1.4.23.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+AUTOTOOLS_IN_SOURCE_BUILD=yes
+
+inherit autotools-utils fortran-2
+
+DESCRIPTION="Library of Iterative Solvers for Linear Systems"
+HOMEPAGE="http://www.ssisc.org/lis/index.en.html"
+SRC_URI="http://www.ssisc.org/lis/dl/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran mpi openmp quad saamg cpu_flags_x86_sse2 static-libs"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.4.23-autotools.patch )
+
+pkg_setup() {
+ if use openmp; then
+ [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp && \
+ die "You have openmp enabled but your current gcc does not support it"
+ export FORTRAN_NEED_OPENMP=1
+ fi
+ use fortran && fortran-2_pkg_setup
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable fortran)
+ $(use_enable openmp omp)
+ $(use_enable quad)
+ $(use_enable "cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4)" fma)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable saamg)
+ $(use_enable mpi)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/lis/metadata.xml b/sci-libs/lis/metadata.xml
new file mode 100644
index 000000000000..95e0b1af2dd1
--- /dev/null
+++ b/sci-libs/lis/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ Lis, a Library of Iterative Solvers for linear systems, is a
+ scalable parallel library for solving systems of linear equations
+ and standard eigenvalue problems with real sparse matrices using
+ iterative methods.
+</longdescription>
+ <use>
+ <flag name="saamg">Build the Smoothed Aggregation Algebraic MultiGrid preconditioner</flag>
+ <flag name="quad">Enable quadruple precision operations</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/lrslib/Manifest b/sci-libs/lrslib/Manifest
new file mode 100644
index 000000000000..ac64bbeb1733
--- /dev/null
+++ b/sci-libs/lrslib/Manifest
@@ -0,0 +1,2 @@
+DIST lrslib-042c.tar.gz 168765 SHA256 53f99b5271397bb5f317c96fa365edc1ac71fa7cba0295c8bd79e0882f5c3a4a SHA512 a5fdd65b2c4e4cadd5fb9679e0e94ddc6b3564cdb9bdfcb7304351fec943527d2dccf117148d8d418ad8bd4577c9f69dabd6ca07107c1c1555c8c6d17f38fa60 WHIRLPOOL 4c3c1d5a72f8ac91e3d6698a8409578f5c0a940562704adea6631e5f9fb738a24414806a4d4b3aedf4e32de49a8c09ec74058baef61e121ce54db7ef5d2f5c01
+DIST lrslib-051.tar.gz 179396 SHA256 500893df61631944bac14a76c6e13fc08e6e729727443fa5480b2510de0db635 SHA512 65e4752ae75f06bccb74b0e12e0b03943654cba048d54dbcf93a36bea7f73b32826babe066d5fe20d3c6609548dc957063558633affe64d795c240c1fe748927 WHIRLPOOL 54877f0432fef43989b5d7591cef6692dbb555fb0ccb8a634b82eefb06a20d478bbb1a62b2ef241c8cda74328da29bcbcdcf8031640d1e0455a1e57bf839125e
diff --git a/sci-libs/lrslib/lrslib-042c-r1.ebuild b/sci-libs/lrslib/lrslib-042c-r1.ebuild
new file mode 100644
index 000000000000..979695ee03af
--- /dev/null
+++ b/sci-libs/lrslib/lrslib-042c-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit toolchain-funcs
+
+DESCRIPTION="self-contained ANSI C implementation of the reverse search algorithm"
+HOMEPAGE="http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
+SRC_URI="http://cgm.cs.mcgill.ca/~avis/C/lrslib/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gmp"
+
+DEPEND="gmp? ( dev-libs/gmp )"
+RDEPEND="${DEPEND}"
+
+src_prepare(){
+ sed -i "s/gcc/$(tc-getCC)/g" makefile || die
+ sed -i "s/-O3/${CFLAGS} ${LDFLAGS}/g" makefile || die
+}
+
+src_compile () {
+ if use amd64 ; then
+ emake all64 || die "make failed"
+ else
+ emake || die "make failed"
+ fi
+ if use gmp ; then
+ emake gmp || die "make failed"
+ fi
+}
+
+src_install() {
+ dobin lrs redund redund1 || die
+ # Collides with sys-block/buffer
+ newbin buffer lrsbuffer || die
+ if use x86; then
+ dobin nash setupnash setupnash2 2nash || die
+ # Prevent clash with cddlib:
+ newbin fourier lrsfourier || die
+ fi
+ if use gmp; then
+ dobin glrs gredund gfourier || die
+ # Clash with www-plugins/gnash
+ newbin gnash lrsgnash || die
+ fi
+ dodoc readme || die
+ dohtml lrslib.html || die
+}
diff --git a/sci-libs/lrslib/lrslib-042c-r2.ebuild b/sci-libs/lrslib/lrslib-042c-r2.ebuild
new file mode 100644
index 000000000000..477beace74a9
--- /dev/null
+++ b/sci-libs/lrslib/lrslib-042c-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit toolchain-funcs
+
+DESCRIPTION="self-contained ANSI C implementation of the reverse search algorithm"
+HOMEPAGE="http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
+SRC_URI="http://cgm.cs.mcgill.ca/~avis/C/lrslib/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gmp"
+
+DEPEND="gmp? ( dev-libs/gmp )"
+RDEPEND="${DEPEND}"
+
+src_prepare(){
+ sed -i "s/gcc/$(tc-getCC)/g" makefile || die
+ sed -i "s/-O3/${CFLAGS} ${LDFLAGS}/g" makefile || die
+ # We don't like static linking to gmp or anywhere.
+ if use amd64 ; then
+ # This macro may only change messages that the
+ # binary outputs, but just in case... (Bug 384195)
+ sed -i "s/-static/-DB64/g" makefile || die
+ else
+ sed -i "s/-static//g" makefile || die
+ fi
+}
+
+src_compile () {
+ if use amd64 ; then
+ emake all64
+ else
+ emake
+ fi
+ if use gmp ; then
+ emake gmp
+ fi
+}
+
+src_install() {
+ dobin lrs redund redund1
+ # Collides with sys-block/buffer
+ newbin buffer lrsbuffer
+ if use x86; then
+ dobin nash setupnash setupnash2 2nash
+ # Prevent clash with cddlib:
+ newbin fourier lrsfourier
+ fi
+ if use gmp; then
+ dobin glrs gredund gfourier
+ # Clash with www-plugins/gnash
+ newbin gnash lrsgnash
+ fi
+ dodoc readme
+ dohtml lrslib.html
+}
diff --git a/sci-libs/lrslib/lrslib-051.ebuild b/sci-libs/lrslib/lrslib-051.ebuild
new file mode 100644
index 000000000000..98cf0ce88582
--- /dev/null
+++ b/sci-libs/lrslib/lrslib-051.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="self-contained ANSI C implementation of the reverse search algorithm"
+HOMEPAGE="http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
+SRC_URI="http://cgm.cs.mcgill.ca/~avis/C/lrslib/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gmp"
+
+DEPEND="gmp? ( dev-libs/gmp )"
+RDEPEND="${DEPEND}"
+
+src_prepare(){
+ sed -i "s/gcc/$(tc-getCC)/g" makefile || die
+ sed -i "s/-O3/${CFLAGS} ${LDFLAGS}/g" makefile || die
+ # Prefix for install
+ sed -i "s,/usr/local,/usr,g" makefile || die
+}
+
+src_compile () {
+ if use gmp ; then
+ emake all
+ emake all-shared
+ else
+ emake allmp
+ fi
+}
+
+src_install() {
+ dodoc readme
+ # Library
+ if use gmp ; then
+ emake DESTDIR="${D}" install-shared
+ fi
+ # Install default set of binaries
+ emake DESTDIR="${D}" install-common
+}
diff --git a/sci-libs/lrslib/metadata.xml b/sci-libs/lrslib/metadata.xml
new file mode 100644
index 000000000000..f8a5af1b110a
--- /dev/null
+++ b/sci-libs/lrslib/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tomka@gentoo.org</email>
+ <name>Thomas Kahle</name>
+ </maintainer>
+ <herd>sci</herd>
+ <longdescription>lrslib is a self-contained ANSI C implementation as a callable library of the
+ reverse search algorithm for vertex enumeration/convex hull problems and comes with a choice of
+ three arithmetic packages. Input file formats are compatible with Komei Fukuda's cdd package. All
+ computations are done exactly in either multiple precision or fixed integer arithmetic. Output is
+ not stored in memory, so even problems with very large output sizes can sometimes be
+ solved.</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/magma/Manifest b/sci-libs/magma/Manifest
new file mode 100644
index 000000000000..fa1f0deb9302
--- /dev/null
+++ b/sci-libs/magma/Manifest
@@ -0,0 +1,2 @@
+DIST magma-1.4.0.tar.gz 3557459 SHA256 bd767d7676c3953722eb75928300c162a2c9e0c35791a5427b58a069241f8a58 SHA512 9857ac544cc1657ab7d2f6e8c9700facb7fa38278dbfbfeecc3656434de4bd5b96c268f1a98c9ffa823775aa64c315bd63e577b4d475e104311e09d3e5c3ca15 WHIRLPOOL 99c16d35f2711b3e5f81f2f5c46e434b6e3d8a0bc0ffe7e63bbfe683d75b2cdd99d3a06fd19b2d61f8d98d0fcdfcfe2e2f7d8ec3d0e918fd31e27aa4c818a196
+DIST magma-1.4.1.tar.gz 3765589 SHA256 f1b87238e0e6f794510538e001be89e6d79198084223ea3024dee438060f065b SHA512 d283b59b75ca35c8206c07eff97caf28f07ab598955c84a90d795d46905d879d0f1d7e6a2cb080dad74710255b28999e5ce9708e4f0f53a4adba50724fc5ef71 WHIRLPOOL c38eddd259788f9c143f8828df8acb12da7c7f571e19b01231b38271c37f2753c245dcca1e9b35e3f3ef5688f738477f22b929dcd01347cd867be04f1de6d481
diff --git a/sci-libs/magma/magma-1.4.0.ebuild b/sci-libs/magma/magma-1.4.0.ebuild
new file mode 100644
index 000000000000..1cbf68fa4da5
--- /dev/null
+++ b/sci-libs/magma/magma-1.4.0.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+FORTRAN_STANDARD="77 90"
+
+inherit cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator python-any-r1
+
+DESCRIPTION="Matrix Algebra on GPU and Multicore Architectures"
+HOMEPAGE="http://icl.cs.utk.edu/magma/"
+SRC_URI="http://icl.cs.utk.edu/projectsfiles/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="fermi kepler static-libs test"
+
+REQUIRED_USE="?? ( fermi kepler )"
+
+RDEPEND="
+ dev-util/nvidia-cuda-toolkit
+ virtual/cblas
+ virtual/fortran
+ virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )"
+
+# We have to have write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # distributed pc file not so useful so replace it
+ cat <<-EOF > ${PN}.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include/${PN}
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lmagma
+ Libs.private: -lm -lpthread -ldl -lcublas -lcudart
+ Cflags: -I\${includedir}
+ Requires: cblas lapack
+ EOF
+
+ if [[ $(tc-getCC) =~ gcc ]]; then
+ local eopenmp=-fopenmp
+ elif [[ $(tc-getCC) =~ icc ]]; then
+ local eopenmp=-openmp
+ else
+ elog "Cannot detect compiler type so not setting openmp support"
+ fi
+ append-flags -fPIC ${eopenmp}
+ append-ldflags -Wl,-soname,lib${PN}.so.1.4 ${eopenmp}
+
+ cuda_src_prepare
+}
+
+src_configure() {
+ cat <<-EOF > make.inc
+ ARCH = $(tc-getAR)
+ ARCHFLAGS = cr
+ RANLIB = $(tc-getRANLIB)
+ NVCC = nvcc
+ CC = $(tc-getCXX)
+ FORT = $(tc-getFC)
+ INC = -I"${EPREFIX}/opt/cuda/include" -DADD_ -DCUBLAS_GFORTRAN
+ OPTS = ${CFLAGS} -fPIC
+ FOPTS = ${FFLAGS} -fPIC -x f95-cpp-input
+ F77OPTS = ${FFLAGS} -fPIC
+ NVOPTS = -DADD_ -DUNIX ${NVCCFLAGS}
+ LDOPTS = ${LDFLAGS}
+ LOADER = $(tc-getFC)
+ LIBBLAS = $($(tc-getPKG_CONFIG) --libs cblas)
+ LIBLAPACK = $($(tc-getPKG_CONFIG) --libs lapack)
+ CUDADIR = ${EPREFIX}/opt/cuda
+ LIBCUDA = -L\$(CUDADIR)/$(get_libdir) -lcublas -lcudart
+ LIB = -pthread -lm -ldl \$(LIBCUDA) \$(LIBBLAS) \$(LIBLAPACK) -lstdc++
+ EOF
+ if use kepler; then
+ echo >> make.inc "GPU_TARGET = Kepler"
+ elif use fermi; then
+ echo >> make.inc "GPU_TARGET = Fermi"
+ else # See http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=227
+ echo >> make.inc "GPU_TARGET = Tesla"
+ fi
+}
+
+src_compile() {
+ emake lib
+ emake shared
+ mv lib/lib${PN}.so{,.1.4} || die
+ ln -sf lib${PN}.so.1.4 lib/lib${PN}.so.1 || die
+ ln -sf lib${PN}.so.1.4 lib/lib${PN}.so || die
+}
+
+src_test() {
+ emake test lapacktest
+ cd testing/lin || die
+ # we need to access this while running the tests
+ addwrite /dev/nvidiactl
+ addwrite /dev/nvidia0
+ LD_LIBRARY_PATH="${S}"/lib ${EPYTHON} lapack_testing.py || die
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/lib*.a
+ insinto /usr/include/${PN}
+ doins include/*.h
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+ dodoc README ReleaseNotes
+}
diff --git a/sci-libs/magma/magma-1.4.1.ebuild b/sci-libs/magma/magma-1.4.1.ebuild
new file mode 100644
index 000000000000..1cbf68fa4da5
--- /dev/null
+++ b/sci-libs/magma/magma-1.4.1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+FORTRAN_STANDARD="77 90"
+
+inherit cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator python-any-r1
+
+DESCRIPTION="Matrix Algebra on GPU and Multicore Architectures"
+HOMEPAGE="http://icl.cs.utk.edu/magma/"
+SRC_URI="http://icl.cs.utk.edu/projectsfiles/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="fermi kepler static-libs test"
+
+REQUIRED_USE="?? ( fermi kepler )"
+
+RDEPEND="
+ dev-util/nvidia-cuda-toolkit
+ virtual/cblas
+ virtual/fortran
+ virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )"
+
+# We have to have write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="userpriv"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ # distributed pc file not so useful so replace it
+ cat <<-EOF > ${PN}.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include/${PN}
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lmagma
+ Libs.private: -lm -lpthread -ldl -lcublas -lcudart
+ Cflags: -I\${includedir}
+ Requires: cblas lapack
+ EOF
+
+ if [[ $(tc-getCC) =~ gcc ]]; then
+ local eopenmp=-fopenmp
+ elif [[ $(tc-getCC) =~ icc ]]; then
+ local eopenmp=-openmp
+ else
+ elog "Cannot detect compiler type so not setting openmp support"
+ fi
+ append-flags -fPIC ${eopenmp}
+ append-ldflags -Wl,-soname,lib${PN}.so.1.4 ${eopenmp}
+
+ cuda_src_prepare
+}
+
+src_configure() {
+ cat <<-EOF > make.inc
+ ARCH = $(tc-getAR)
+ ARCHFLAGS = cr
+ RANLIB = $(tc-getRANLIB)
+ NVCC = nvcc
+ CC = $(tc-getCXX)
+ FORT = $(tc-getFC)
+ INC = -I"${EPREFIX}/opt/cuda/include" -DADD_ -DCUBLAS_GFORTRAN
+ OPTS = ${CFLAGS} -fPIC
+ FOPTS = ${FFLAGS} -fPIC -x f95-cpp-input
+ F77OPTS = ${FFLAGS} -fPIC
+ NVOPTS = -DADD_ -DUNIX ${NVCCFLAGS}
+ LDOPTS = ${LDFLAGS}
+ LOADER = $(tc-getFC)
+ LIBBLAS = $($(tc-getPKG_CONFIG) --libs cblas)
+ LIBLAPACK = $($(tc-getPKG_CONFIG) --libs lapack)
+ CUDADIR = ${EPREFIX}/opt/cuda
+ LIBCUDA = -L\$(CUDADIR)/$(get_libdir) -lcublas -lcudart
+ LIB = -pthread -lm -ldl \$(LIBCUDA) \$(LIBBLAS) \$(LIBLAPACK) -lstdc++
+ EOF
+ if use kepler; then
+ echo >> make.inc "GPU_TARGET = Kepler"
+ elif use fermi; then
+ echo >> make.inc "GPU_TARGET = Fermi"
+ else # See http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=227
+ echo >> make.inc "GPU_TARGET = Tesla"
+ fi
+}
+
+src_compile() {
+ emake lib
+ emake shared
+ mv lib/lib${PN}.so{,.1.4} || die
+ ln -sf lib${PN}.so.1.4 lib/lib${PN}.so.1 || die
+ ln -sf lib${PN}.so.1.4 lib/lib${PN}.so || die
+}
+
+src_test() {
+ emake test lapacktest
+ cd testing/lin || die
+ # we need to access this while running the tests
+ addwrite /dev/nvidiactl
+ addwrite /dev/nvidia0
+ LD_LIBRARY_PATH="${S}"/lib ${EPYTHON} lapack_testing.py || die
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/lib*.a
+ insinto /usr/include/${PN}
+ doins include/*.h
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+ dodoc README ReleaseNotes
+}
diff --git a/sci-libs/magma/metadata.xml b/sci-libs/magma/metadata.xml
new file mode 100644
index 000000000000..70c7d66f8550
--- /dev/null
+++ b/sci-libs/magma/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The Matrix Algebra on GPU and Multicore Architectures
+ project aims to develop a dense linear algebra library
+ similar to LAPACK but for heterogeneous/hybrid architectures, starting
+ with current "Multicore+GPU" systems.
+</longdescription>
+<use>
+ <flag name="fermi">Compile for GPU NVIDIA Fermi family (2.x cards)</flag>
+ <flag name="kepler">Compile for GPU NVIDIA Kepler family (GF 6xx cards)</flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/mathgl/Manifest b/sci-libs/mathgl/Manifest
new file mode 100644
index 000000000000..acee23000d33
--- /dev/null
+++ b/sci-libs/mathgl/Manifest
@@ -0,0 +1,3 @@
+DIST STIX_font.tgz 2450541 SHA256 6408290fd4a5267637a88507344a8f07b908ce72f46ef93d09e068fedb67e8fe SHA512 c9124ec552074c98f15d6d3572a063598ca6bc598e3e78dcb5a5d57ae3928b5327a1374635f428ea1cefc9e51ee1d1aa9bd6ba9a306429fc6965140251d368b5 WHIRLPOOL 912a280ad550040c961a84fe48cfa2bd9bbcbad6c539b6126b4cbb5f9673ddd4ad5cc9e0d053fcb20cc6c12e1203aeaa3a05cf07360b16e2e7cbb13c0c42cc1e
+DIST mathgl-2.1.3.1.tar.gz 5269355 SHA256 a8cb5a156b6d2828105c14c8996023df34d69c202d461a4dca1f38836d966caa SHA512 c38a4c8286f456f37b3cb928d0c6842829e24727ddc373ebce37843a2c946c2f5efbec801ed1ef46c96176bf26350a24bfbaef2e6970e75728b67c77245e5bfc WHIRLPOOL 3d4d7886e98306e0b466c3cf4f5887a5e76172627679350cee108a4fd51642384faa2c14a6375d8ebd427938f5dff3665877a8afaa09439668dd3a98686970b6
+DIST mathgl-2.1.3.tar.gz 5269347 SHA256 b091f1b91927d2b649b06785b737b0606a2d9c6b09f7ddb5a70b981c8c0af31b SHA512 aeac7a7da6846e5d4dd8a8b829bfcff359581ad1bb11c15f24824bb0ecbd9b042aab34d1ffead64a53c0ef15194a9c29d161456f7418ab18e1003d1fe2f37e73 WHIRLPOOL 9318207b12319399fb845195e96b0cf79353f1a5f9195543889b26522e56a57a7fa653e421a8591691264d9c49f78d50f684f74088e4f19eb698c91389a8b117
diff --git a/sci-libs/mathgl/files/mathgl-2.1.3.1-x11.patch b/sci-libs/mathgl/files/mathgl-2.1.3.1-x11.patch
new file mode 100644
index 000000000000..cff27870d365
--- /dev/null
+++ b/sci-libs/mathgl/files/mathgl-2.1.3.1-x11.patch
@@ -0,0 +1,65 @@
+ CMakeLists.txt | 1 +
+ json/CMakeLists.txt | 2 +-
+ udav/CMakeLists.txt | 2 +-
+ widgets/CMakeLists.txt | 4 ++--
+ 4 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3364973..0c3a645 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -316,6 +316,7 @@ endif(enable-wx)
+ if(enable-qt)
+ set(MGL_HAVE_QT 1)
+ FIND_PACKAGE(Qt4 4.8 REQUIRED QtCore QtGui QtNetwork QtWebKit)
++ FIND_PACKAGE(X11)
+ if(NOT QT4_FOUND)
+ message(SEND_ERROR "Couldn't find Qt4 library.")
+ endif(NOT QT4_FOUND)
+diff --git a/json/CMakeLists.txt b/json/CMakeLists.txt
+index 79d4716..0a53874 100644
+--- a/json/CMakeLists.txt
++++ b/json/CMakeLists.txt
+@@ -9,6 +9,6 @@ include_directories(${MathGL_BINARY_DIR}/json)
+ qt4_wrap_ui(json_ui_src MainWindow.ui)
+ qt4_wrap_cpp(json_moc_src ${json_moc_hdr} )
+ add_executable(MglForJsTestBench ${json_src} ${json_moc_src} ${json_ui_src})
+-target_link_libraries(MglForJsTestBench mgl-qt ${QT_LIBRARIES})
++target_link_libraries(MglForJsTestBench mgl-qt ${QT_LIBRARIES} ${X11_LIBRARIES})
+
+ endif(MGL_HAVE_QT)
+diff --git a/udav/CMakeLists.txt b/udav/CMakeLists.txt
+index 9a9c574..a1ff2df 100644
+--- a/udav/CMakeLists.txt
++++ b/udav/CMakeLists.txt
+@@ -27,7 +27,7 @@ qt4_add_resources(udav_rc_src ${udav_rc} )
+ qt4_wrap_cpp(udav_moc_src ${udav_moc_hdr} )
+ add_executable(udav ${udav_src} ${udav_moc_src} ${udav_rc_src})
+ #set_target_properties(udav PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
+-target_link_libraries(udav mgl-qt ${QT_LIBRARIES})
++target_link_libraries(udav mgl-qt ${QT_LIBRARIES} ${X11_LIBRARIES})
+
+ if(MGL_HAVE_PTHREAD)
+ target_link_libraries(udav ${CMAKE_THREAD_LIBS_INIT})
+diff --git a/widgets/CMakeLists.txt b/widgets/CMakeLists.txt
+index 90ea00c..f582003 100644
+--- a/widgets/CMakeLists.txt
++++ b/widgets/CMakeLists.txt
+@@ -93,7 +93,7 @@ if(MGL_HAVE_QT)
+ set_target_properties(mgl-qt-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+ set_target_properties(mgl-qt-static PROPERTIES COMPILE_FLAGS -DMGL_STATIC_DEFINE)
+ target_link_libraries(mgl-qt mgl)
+- target_link_libraries(mgl-qt ${QT_LIBRARIES})
++ target_link_libraries(mgl-qt ${QT_LIBRARIES} ${X11_LIBRARIES})
+
+ if(enable-mgl2)
+ set_target_properties(mgl-qt PROPERTIES OUTPUT_NAME "mgl2-qt")
+@@ -137,7 +137,7 @@ if(MGL_HAVE_QT AND MGL_HAVE_FLTK)
+ endif(enable-mgl2)
+
+ target_link_libraries(mgl-wnd mgl)
+- target_link_libraries(mgl-wnd ${QT_LIBRARIES})
++ target_link_libraries(mgl-wnd ${QT_LIBRARIES} ${X11_LIBRARIES})
+ # target_link_libraries(mgl-wnd ${wxWidgets_LIBRARIES})
+ target_link_libraries(mgl-wnd ${FLTK_LIBRARIES})
+
diff --git a/sci-libs/mathgl/mathgl-2.1.3.1.ebuild b/sci-libs/mathgl/mathgl-2.1.3.1.ebuild
new file mode 100644
index 000000000000..7f0ff4af3215
--- /dev/null
+++ b/sci-libs/mathgl/mathgl-2.1.3.1.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WX_GTK_VER=2.8
+
+inherit cmake-utils eutils python-single-r1 wxwidgets multilib flag-o-matic
+
+DESCRIPTION="Math Graphics Library"
+HOMEPAGE="http://mathgl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz mirror://sourceforge/${PN}/STIX_font.tgz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc fltk gif glut gsl hdf hdf5 jpeg mpi octave opengl pdf
+ png python qt4 static-libs threads wxwidgets zlib"
+
+LANGS="ru"
+for l in ${LANGS}; do
+ IUSE+=" linguas_${l}"
+done
+
+RDEPEND="
+ !sci-visualization/udav
+ virtual/opengl
+ fltk? ( x11-libs/fltk:1 )
+ gif? ( media-libs/giflib )
+ glut? ( media-libs/freeglut )
+ gsl? ( sci-libs/gsl )
+ hdf? ( sci-libs/hdf )
+ hdf5? ( >=sci-libs/hdf5-1.8[mpi=] )
+ jpeg? ( virtual/jpeg:0 )
+ octave? ( >=sci-mathematics/octave-3.4.0 )
+ pdf? ( media-libs/libharu )
+ png? ( media-libs/libpng:0 )
+ python? ( dev-python/numpy[${PYTHON_USEDEP}] ${PYTHON_DEPS} )
+ qt4? ( dev-qt/qtgui:4 )
+ wxwidgets? ( x11-libs/wxGTK:2.8[X] )
+ zlib? ( sys-libs/zlib )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-text/texi2html virtual/texi2dvi )
+ octave? ( dev-lang/swig )
+ python? ( dev-lang/swig )"
+
+REQUIRED_USE="
+ mpi? ( hdf5 )
+ png? ( zlib )
+ pdf? ( png )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use mpi && export CC=mpicc CXX=mpicxx
+ use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+ [[ -d "${S}"/fonts ]] || mkdir "${S}"/fonts
+ cd "${S}"/fonts || die
+ unpack STIX_font.tgz
+}
+
+src_prepare() {
+ # fix for location of hdf headers
+ sed -i -e 's:hdf/::g' src/data_io.cpp || die
+ # bored of reporting bad libdir upstream
+ sed -i \
+ -e '/DESTINATION/s:lib$:lib${LIB_SUFFIX}:g' \
+ {src,widgets}/CMakeLists.txt || die
+ echo "" > lang/install.m || die
+ # fix desktop file
+ sed -i -e 's/.png//' udav/udav.desktop || die
+ use python && append-cppflags -I"$(${EPYTHON} -c 'import numpy; print(numpy.get_include())')"
+
+ epatch "${FILESDIR}"/${P}-x11.patch
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # No clue about this option:
+ # option(enable-mgl2 "Use names 'libmgl2-*' instead of 'libmgl-*'")
+ -DHDF4_INCLUDE_DIR="${EPREFIX}/usr/include"
+ -DMGL_LIB_INSTALL_DIR="$(get_libdir)"
+ $(cmake-utils_use doc enable-doc)
+ $(cmake-utils_use fltk enable-fltk)
+ $(cmake-utils_use gif enable-gif)
+ $(cmake-utils_use glut enable-glut)
+ $(cmake-utils_use gsl enable-gsl)
+ $(cmake-utils_use hdf enable-hdf4)
+ $(cmake-utils_use hdf5 enable-hdf5_18)
+ $(cmake-utils_use jpeg enable-jpeg)
+ $(cmake-utils_use mpi enable-mpi)
+ $(cmake-utils_use octave enable-octave)
+ $(cmake-utils_use opengl enable-opengl)
+ $(cmake-utils_use pdf enable-pdf)
+ $(cmake-utils_use png enable-png)
+ $(cmake-utils_use qt4 enable-qt)
+ $(cmake-utils_use threads enable-pthread)
+ $(cmake-utils_use python enable-python)
+ $(cmake-utils_use wxwidgets enable-wx)
+ $(cmake-utils_use zlib enable-zlib)
+ )
+ cmake-utils_src_configure
+ # to whoever cares: TODO: do for multiple python ABI
+ if use python; then
+ sed -i \
+ -e "s:--prefix=\(.*\) :--prefix=\$ENV{DESTDIR}\1 :" \
+ "${CMAKE_BUILD_DIR}"/lang/cmake_install.cmake || die
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README* *.txt AUTHORS
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a
+ if use qt4 ; then
+ local lang
+ insinto /usr/share/udav
+ for lang in ${LANGS} ; do
+ use linguas_${lang} && doins udav/udav_${lang}.qm
+ done
+ fi
+ if use octave ; then
+ insinto /usr/share/${PN}/octave
+ doins "${CMAKE_BUILD_DIR}"/lang/${PN}.tar.gz
+ fi
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ if use octave; then
+ octave <<-EOF
+ pkg install ${EROOT}/usr/share/${PN}/octave/${PN}.tar.gz
+ EOF
+ fi
+}
+
+pkg_prerm() {
+ if use octave; then
+ octave <<-EOF
+ pkg uninstall ${PN}
+ EOF
+ fi
+}
diff --git a/sci-libs/mathgl/mathgl-2.1.3.ebuild b/sci-libs/mathgl/mathgl-2.1.3.ebuild
new file mode 100644
index 000000000000..65ff4c8ec660
--- /dev/null
+++ b/sci-libs/mathgl/mathgl-2.1.3.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+WX_GTK_VER=2.8
+
+inherit cmake-utils eutils python-single-r1 wxwidgets multilib flag-o-matic
+
+DESCRIPTION="Math Graphics Library"
+HOMEPAGE="http://mathgl.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz mirror://sourceforge/${PN}/STIX_font.tgz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc fltk gif glut gsl hdf hdf5 jpeg mpi octave opengl pdf
+ png python qt4 static-libs threads wxwidgets zlib"
+
+LANGS="ru"
+for l in ${LANGS}; do
+ IUSE+=" linguas_${l}"
+done
+
+RDEPEND="
+ !sci-visualization/udav
+ virtual/opengl
+ fltk? ( x11-libs/fltk:1 )
+ gif? ( media-libs/giflib )
+ glut? ( media-libs/freeglut )
+ gsl? ( sci-libs/gsl )
+ hdf? ( sci-libs/hdf )
+ hdf5? ( >=sci-libs/hdf5-1.8[mpi=] )
+ jpeg? ( virtual/jpeg:0 )
+ octave? ( >=sci-mathematics/octave-3.4.0 )
+ pdf? ( media-libs/libharu )
+ png? ( media-libs/libpng:0 )
+ python? ( dev-python/numpy[${PYTHON_USEDEP}] ${PYTHON_DEPS} )
+ qt4? ( dev-qt/qtgui:4 )
+ wxwidgets? ( x11-libs/wxGTK:2.8[X] )
+ zlib? ( sys-libs/zlib )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-text/texi2html virtual/texi2dvi )
+ octave? ( dev-lang/swig )
+ python? ( dev-lang/swig )"
+
+REQUIRED_USE="
+ mpi? ( hdf5 )
+ png? ( zlib )
+ pdf? ( png )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+pkg_setup() {
+ use mpi && export CC=mpicc CXX=mpicxx
+ use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+ [[ -d "${S}"/fonts ]] || mkdir "${S}"/fonts
+ cd "${S}"/fonts || die
+ unpack STIX_font.tgz
+}
+
+src_prepare() {
+ # fix for location of hdf headers
+ sed -i -e 's:hdf/::g' src/data_io.cpp || die
+ # bored of reporting bad libdir upstream
+ sed -i \
+ -e '/DESTINATION/s:lib$:lib${LIB_SUFFIX}:g' \
+ {src,widgets}/CMakeLists.txt || die
+ echo "" > lang/install.m || die
+ # fix desktop file
+ sed -i -e 's/.png//' udav/udav.desktop || die
+ use python && append-cppflags -I"$(${EPYTHON} -c 'import numpy; print(numpy.get_include())')"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # No clue about this option:
+ # option(enable-mgl2 "Use names 'libmgl2-*' instead of 'libmgl-*'")
+ -DHDF4_INCLUDE_DIR="${EPREFIX}/usr/include"
+ -DMGL_LIB_INSTALL_DIR="$(get_libdir)"
+ $(cmake-utils_use doc enable-doc)
+ $(cmake-utils_use fltk enable-fltk)
+ $(cmake-utils_use gif enable-gif)
+ $(cmake-utils_use glut enable-glut)
+ $(cmake-utils_use gsl enable-gsl)
+ $(cmake-utils_use hdf enable-hdf4)
+ $(cmake-utils_use hdf5 enable-hdf5_18)
+ $(cmake-utils_use jpeg enable-jpeg)
+ $(cmake-utils_use mpi enable-mpi)
+ $(cmake-utils_use octave enable-octave)
+ $(cmake-utils_use opengl enable-opengl)
+ $(cmake-utils_use pdf enable-pdf)
+ $(cmake-utils_use png enable-png)
+ $(cmake-utils_use qt4 enable-qt)
+ $(cmake-utils_use threads enable-pthread)
+ $(cmake-utils_use python enable-python)
+ $(cmake-utils_use wxwidgets enable-wx)
+ $(cmake-utils_use zlib enable-zlib)
+ )
+ cmake-utils_src_configure
+ # to whoever cares: TODO: do for multiple python ABI
+ if use python; then
+ sed -i \
+ -e "s:--prefix=\(.*\) :--prefix=\$ENV{DESTDIR}\1 :" \
+ "${CMAKE_BUILD_DIR}"/lang/cmake_install.cmake || die
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README* *.txt AUTHORS
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a
+ if use qt4 ; then
+ local lang
+ insinto /usr/share/udav
+ for lang in ${LANGS} ; do
+ use linguas_${lang} && doins udav/udav_${lang}.qm
+ done
+ fi
+ if use octave ; then
+ insinto /usr/share/${PN}/octave
+ doins "${CMAKE_BUILD_DIR}"/lang/${PN}.tar.gz
+ fi
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ if use octave; then
+ octave <<-EOF
+ pkg install ${EROOT}/usr/share/${PN}/octave/${PN}.tar.gz
+ EOF
+ fi
+}
+
+pkg_prerm() {
+ if use octave; then
+ octave <<-EOF
+ pkg uninstall ${PN}
+ EOF
+ fi
+}
diff --git a/sci-libs/mathgl/metadata.xml b/sci-libs/mathgl/metadata.xml
new file mode 100644
index 000000000000..c83d07407096
--- /dev/null
+++ b/sci-libs/mathgl/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>
+ MathGL is a library for:
+ * making high-quality scientific graphics
+ * the fast data plotting and data processing of large data arrays
+ * working in window and console modes and for easy embedding into other programs
+</longdescription>
+ <use>
+ <flag name="hdf">Add support for the Hierarchical Data Format v.4 <pkg>sci-libs/hdf</pkg></flag>
+ <flag name="octave">Add bindings for <pkg>sci-mathematics/octave</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">mathgl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/matio/Manifest b/sci-libs/matio/Manifest
new file mode 100644
index 000000000000..e7dbf6da01fb
--- /dev/null
+++ b/sci-libs/matio/Manifest
@@ -0,0 +1,2 @@
+DIST matio-1.5.1.tar.gz 8160893 SHA256 7d94a1433f67ce21f08fbbfc8af677f3838964b2b07565dce6f65e878394cd2f SHA512 bd1e49bcbfe3e073d2339bc3dff803b222c007aad19759ee9b666438fa59ec2b2750b52ffb3b5e911145cf2977538447f5db977fc056a624c5878ddbcf564b26 WHIRLPOOL 54c5191c9b4b15e54f25d435a7ea680c84c94f1f5c9e432e3340a7a0821b743c95a08c4e77d65dece3768147c7b5e9e9057bc7ad9b8cde358951f5728d81879b
+DIST matio-1.5.2.tar.gz 8179926 SHA256 db02d0fb3373c3d766a606309b17e64a5d8da55610e921a9f1a0ec171e911d45 SHA512 47ee7457db3f2138ecb1db9d7a04bf91d8277024631694e5f5a49b77829d60ce9dd95a1db33cd8eeaa8271e942acf60b522f40e4d7f4cae90f0a7caee7eb6efc WHIRLPOOL 31796367020078b06cefa10ccfad00526a04c12c158f581d8b4c134071647f01ae55b39e1c738cc3a9ac6211f36cd59041130edd208f001a28fb9f770e0fe8b0
diff --git a/sci-libs/matio/files/matio-1.5.0-asneeded.patch b/sci-libs/matio/files/matio-1.5.0-asneeded.patch
new file mode 100644
index 000000000000..0f1e462c69f0
--- /dev/null
+++ b/sci-libs/matio/files/matio-1.5.0-asneeded.patch
@@ -0,0 +1,11 @@
+--- matio-1.5.0.orig/src/Makefile.am 2012-04-24 18:14:45.000000000 +0100
++++ matio-1.5.0/src/Makefile.am 2012-04-24 18:18:14.000000000 +0100
+@@ -45,7 +45,7 @@
+ lib_LTLIBRARIES = libmatio.la
+ libmatio_la_SOURCES = snprintf.c endian.c io.c $(ZLIB_SRC) read_data.c \
+ mat5.c mat4.c mat.c matvar_cell.c matvar_struct.c
+-libmatio_la_LIBADD = $(ZLIB_LIBS)
++libmatio_la_LIBADD = $(ZLIB_LIBS) $(HDF5_LIBS)
+
+ if MAT73
+ libmatio_la_SOURCES+= mat73.c
diff --git a/sci-libs/matio/matio-1.5.1.ebuild b/sci-libs/matio/matio-1.5.1.ebuild
new file mode 100644
index 000000000000..c567061f0b0b
--- /dev/null
+++ b/sci-libs/matio/matio-1.5.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Library for reading and writing matlab files"
+HOMEPAGE="http://sourceforge.net/projects/matio/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples hdf5 sparse static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ hdf5? ( sci-libs/hdf5 )"
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.5.0-asneeded.patch )
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ $(use_enable hdf5 mat73)
+ $(use_enable sparse extended-sparse)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile -C documentation pdf
+}
+
+src_install() {
+ use doc && DOCS=( "${BUILD_DIR}"/documentation/matio_user_guide.pdf )
+ autotools-utils_src_install
+ if use examples; then
+ docinto examples
+ dodoc test/test*
+ insinto /usr/share/${PN}
+ doins share/test*
+ fi
+}
diff --git a/sci-libs/matio/matio-1.5.2.ebuild b/sci-libs/matio/matio-1.5.2.ebuild
new file mode 100644
index 000000000000..c567061f0b0b
--- /dev/null
+++ b/sci-libs/matio/matio-1.5.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Library for reading and writing matlab files"
+HOMEPAGE="http://sourceforge.net/projects/matio/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples hdf5 sparse static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ hdf5? ( sci-libs/hdf5 )"
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.5.0-asneeded.patch )
+
+src_configure() {
+ local myeconfargs=(
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ $(use_enable hdf5 mat73)
+ $(use_enable sparse extended-sparse)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile -C documentation pdf
+}
+
+src_install() {
+ use doc && DOCS=( "${BUILD_DIR}"/documentation/matio_user_guide.pdf )
+ autotools-utils_src_install
+ if use examples; then
+ docinto examples
+ dodoc test/test*
+ insinto /usr/share/${PN}
+ doins share/test*
+ fi
+}
diff --git a/sci-libs/matio/metadata.xml b/sci-libs/matio/metadata.xml
new file mode 100644
index 000000000000..0b2480b9550d
--- /dev/null
+++ b/sci-libs/matio/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ matio is an ISO C library (with a limited Fortran 90 interface) for
+ reading and writing Matlab MAT files.
+</longdescription>
+ <use>
+ <flag name="sparse">Extend formats for sparse matrix (not matlab)</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">matio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/mc/Manifest b/sci-libs/mc/Manifest
new file mode 100644
index 000000000000..651e242a254b
--- /dev/null
+++ b/sci-libs/mc/Manifest
@@ -0,0 +1 @@
+DIST mc-1.5.tar.gz 18140539 SHA256 a149d833d41362916583dca7561248281a79c8a8167b5329a24d7f3f23df05e1 SHA512 6db79c677b1a326ea50c78a07b8cc088eb5e23e9d8821a3a3802017e9e8d4011307ba024d3354dc24cb31d822da2023a150787a137b7806f6344b0834e7f194b WHIRLPOOL a008371d978d86946b147aea2d45c7ae2a14c558a3c07b835a815e8e4e60602cae5b1133766c435dab8aeb3b2858ad796bfcd2f10f5347a5a8543c7fc68185f4
diff --git a/sci-libs/mc/files/1.4-doc.patch b/sci-libs/mc/files/1.4-doc.patch
new file mode 100644
index 000000000000..f57777b8a419
--- /dev/null
+++ b/sci-libs/mc/files/1.4-doc.patch
@@ -0,0 +1,20 @@
+diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
+index da96a19..afdf06d 100644
+--- a/doc/doxygen/Makefile.am
++++ b/doc/doxygen/Makefile.am
+@@ -29,13 +29,11 @@
+ ## Author: Michael Holst
+ ## ###########################################################################
+
+-docdir = @prefix@/doc/mc
+-
+ doc_DATA = mc_doc
+
+ mc_doc:
+ $(doxygen_path) $(top_srcdir)/doc/doxygen/mc.dox
+
+ install-docDATA:
+- mkdir -p $(docdir)
+- cp -r ../api $(docdir)/
++ mkdir -p $(DESTDIR)/@docdir@
++ cp -r ../api $(DESTDIR)/@docdir@/
diff --git a/sci-libs/mc/files/1.4-multilib.patch b/sci-libs/mc/files/1.4-multilib.patch
new file mode 100644
index 000000000000..427cb94f2c8b
--- /dev/null
+++ b/sci-libs/mc/files/1.4-multilib.patch
@@ -0,0 +1,16 @@
+diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
+index d5b8d47..132824b 100644
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -47,10 +47,9 @@ NAM_LIBS = ../nam/libnam.la
+ DYN_LIBS = ../dyn/libdyn.la
+ PDE_LIBS = ../pde/libpde.la
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libmc.la
+
+ libmc_la_SOURCES =
+-libmc_la_LIBADD = ${BASE_LIBS} ${BAM_LIBS} ${WHB_LIBS} ${APRX_LIBS} ${GEM_LIBS} ${MCSH_LIBS} ${NAM_LIBS} ${DYN_LIBS} ${PDE_LIBS}
++libmc_la_LIBADD = ${BASE_LIBS} ${BAM_LIBS} ${WHB_LIBS} ${APRX_LIBS} ${GEM_LIBS} ${MCSH_LIBS} ${NAM_LIBS} ${DYN_LIBS} ${PDE_LIBS} -lmaloc -lpunc -lumfpack -lamd -lsuperlu
+ libmc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
diff --git a/sci-libs/mc/files/1.4-overflow.patch b/sci-libs/mc/files/1.4-overflow.patch
new file mode 100644
index 000000000000..78610b0f2210
--- /dev/null
+++ b/sci-libs/mc/files/1.4-overflow.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gem/gemdisp.c b/src/gem/gemdisp.c
+index 01f277f..96d5851 100644
+--- a/src/gem/gemdisp.c
++++ b/src/gem/gemdisp.c
+@@ -1631,7 +1631,7 @@ VPUBLIC void Gem_writeDX(Gem *thee, Vio *sock,
+ VPUBLIC void Gem_writeTEC(Gem *thee, Vio *sock,
+ int fldKey, double *defX[MAXV])
+ {
+- char str1[10], str2[10];
++ char str1[16], str2[16];
+ int i, j, vec, dim, dimII, dimVV, numVV, numSS;
+ VV *vx;
+ SS *sm;
diff --git a/sci-libs/mc/files/1.4-superlu.patch b/sci-libs/mc/files/1.4-superlu.patch
new file mode 100644
index 000000000000..cc3ce0a24740
--- /dev/null
+++ b/sci-libs/mc/files/1.4-superlu.patch
@@ -0,0 +1,21 @@
+diff --git a/src/bam/zslu.c b/src/bam/zslu.c
+index 973b911..d82c7fd 100644
+--- a/src/bam/zslu.c
++++ b/src/bam/zslu.c
+@@ -401,6 +401,7 @@ VPUBLIC int Zslu_factor(Zslu *thee)
+ SCformat *Lstore;
+ SuperMatrix *BB;
+ superlu_options_t *oopts;
++ SuperLUStat_t stat;
+
+ VASSERT( thee != VNULL );
+
+@@ -444,7 +445,7 @@ VPUBLIC int Zslu_factor(Zslu *thee)
+ Lstore->nnz + Ustore->nnz - thee->n);
+ printf("L\\U MB %.3f\ttotal MB needed %.3f\texpansions %d\n",
+ mem_usage.for_lu/1e6, mem_usage.total_needed/1e6,
+- mem_usage.expansions);
++ stat.expansions);
+ fflush(stdout);
+
+ } else if ( info > 0 && thee->lwork == -1 ) {
diff --git a/sci-libs/mc/files/mc-1.5-unbundle.patch b/sci-libs/mc/files/mc-1.5-unbundle.patch
new file mode 100644
index 000000000000..5a9a97241980
--- /dev/null
+++ b/sci-libs/mc/files/mc-1.5-unbundle.patch
@@ -0,0 +1,58 @@
+ configure.ac | 38 ++++++--------------------------------
+ 1 files changed, 6 insertions(+), 32 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6198ac0..4b1b169 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -191,44 +191,18 @@ dnl # -----------------------
+ dnl # HANDLE THE BLAS LIBRARY
+ dnl # -----------------------
+ blas_lib="";
+-AC_MSG_CHECKING([whether your environment defines FETK_BLAS_LIBRARY])
+-if test -n "${FETK_BLAS_LIBRARY}"; then
+- AC_MSG_RESULT([yes])
+- blas_lib_path="-L${FETK_BLAS_LIBRARY} ";
+-else
+- AC_MSG_RESULT([no])
+- blas_lib_path="-L${FETK_LIBRARY} ";
+-fi
+-LDFLAGS_SAVE=${LDFLAGS};
+-LDFLAGS=${blas_lib_path};
+-blas_use="";
+-AC_CHECK_LIB(blas,dscal_,
+- [blas_use="yes";blas_lib="${blas_lib_path}-lblas";AC_DEFINE(HAVE_BLAS)],
+- [blas_use="";blas_lib=""],
+- [${blas_lib_path}-lblas ${vf2c_lib}])
+-LDFLAGS=${LDFLAGS_SAVE};
++blas_lib_path="";
++PKG_CHECK_MODULES([BLAS], [blas])
++blas_lib="${BLAS_LIBS}";
+ AC_SUBST(blas_lib)
+
+ dnl # -------------------------
+ dnl # HANDLE THE LAPACK LIBRARY
+ dnl # -------------------------
+ lapack_lib="";
+-AC_MSG_CHECKING([whether your environment defines FETK_LAPACK_LIBRARY])
+-if test -n "${FETK_LAPACK_LIBRARY}"; then
+- AC_MSG_RESULT([yes])
+- lapack_lib_path="-L${FETK_LAPACK_LIBRARY} ";
+-else
+- AC_MSG_RESULT([no])
+- lapack_lib_path="-L${FETK_LIBRARY} ";
+-fi
+-LDFLAGS_SAVE=${LDFLAGS};
+-LDFLAGS=${lapack_lib_path};
+-lapack_use="";
+-AC_CHECK_LIB(lapack,dsysv_,
+- [lapack_use="yes";lapack_lib="${lapack_lib_path}-llapack";AC_DEFINE(HAVE_LAPACK)],
+- [lapack_use="";lapack_lib=""],
+- [${lapack_lib_path}-llapack ${blas_lib} ${vf2c_lib}])
+-LDFLAGS=${LDFLAGS_SAVE};
++lapack_lib_path="";
++PKG_CHECK_MODULES([LAPACK], [lapack])
++lapack_lib="${LAPACK_LIBS}"
+ AC_SUBST(lapack_lib)
+
+ dnl # --------------------------
diff --git a/sci-libs/mc/mc-1.5.ebuild b/sci-libs/mc/mc-1.5.ebuild
new file mode 100644
index 000000000000..7cae2d73054d
--- /dev/null
+++ b/sci-libs/mc/mc-1.5.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils fortran-2 multilib
+
+DESCRIPTION="2D/3D AFEM code for nonlinear geometric PDE"
+HOMEPAGE="http://fetk.org/codes/mc/index.html"
+SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-2"
+IUSE="debug doc static-libs"
+
+RDEPEND="
+ dev-libs/maloc
+ media-libs/sg
+ sci-libs/amd
+ sci-libs/gamer
+ sci-libs/punc
+ sci-libs/superlu
+ sci-libs/umfpack
+ virtual/blas
+ virtual/lapack"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ media-gfx/graphviz
+ app-doc/doxygen
+ )"
+
+S="${WORKDIR}"/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/1.4-superlu.patch
+ "${FILESDIR}"/1.4-overflow.patch
+ "${FILESDIR}"/1.4-multilib.patch
+ "${FILESDIR}"/1.4-doc.patch
+ "${FILESDIR}"/${P}-unbundle.patch
+ )
+
+src_prepare() {
+ sed \
+ -e 's:AMD_order:amd_order:g' \
+ -e 's:UMFPACK_numeric:umfpack_di_numeric:g' \
+ -e 's:buildg_:matvec_:g' \
+ -i configure.ac || 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_MPI_LIBRARY="${fetk_lib}"
+ export FETK_VF2C_LIBRARY="${fetk_lib}"
+ export FETK_BLAS_LIBRARY="${fetk_lib}"
+ export FETK_LAPACK_LIBRARY="${fetk_lib}"
+ export FETK_AMD_LIBRARY="${fetk_lib}"
+ export FETK_UMFPACK_LIBRARY="${fetk_lib}"
+ export FETK_SUPERLU_LIBRARY="${fetk_lib}"
+ export FETK_ARPACK_LIBRARY="${fetk_lib}"
+ export FETK_CGCODE_LIBRARY="${fetk_lib}"
+ export FETK_PMG_LIBRARY="${fetk_lib}"
+
+ myeconfargs+=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ $(use_enable debug vdebug)
+ --disable-triplet
+ --enable-shared
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/mc/metadata.xml b/sci-libs/mc/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/mc/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/metadata.xml b/sci-libs/metadata.xml
new file mode 100644
index 000000000000..de2ee5e82dd2
--- /dev/null
+++ b/sci-libs/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The sci-libs category contains various science-related libraries.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie sci-libs enthält wissenschaftlich genutzte Bibliotheken.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría sci-libs contiene librerías relacionadas con la ciencia.
+ </longdescription>
+ <longdescription lang="ja">
+ sci-libsカテゴリーには様々な科学関連のライブラリが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De sci-libs categorie bevat wetenschappelijke bibliotheken.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm sci-libs chứa các thư viện dùng trong khoa học.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria sci-libs contiene librerie scientifiche.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria sci-libs contém várias bibliotecas relacionadas com
+ ciência.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria sci-libs zawiera biblioteki związane z programami naukowymi.
+ </longdescription>
+</catmetadata>
+
diff --git a/sci-libs/metis/Manifest b/sci-libs/metis/Manifest
new file mode 100644
index 000000000000..9ee6fcb6cadb
--- /dev/null
+++ b/sci-libs/metis/Manifest
@@ -0,0 +1,2 @@
+DIST metis-4.0.3.tar.gz 522624 SHA256 5efa35de80703c1b2c4d0de080fafbcf4e0d363a21149a1ad2f96e0144841a55 SHA512 3d1388120c9c94bac6a20e2d38d6022c241bb6094cf71e31decf019d5500d2037716c6d615c5db69b536348a54e43f321c33ecfa25335fa6c84e412be227e332 WHIRLPOOL 0459d9641e5e9cacfb6392e621c42fb382198790c73b09f58fa4a9c1490d98c0baed46be8f7b02b9b81c9f054cff8491d02a38a5ee21ed98c5eba82d6d38a948
+DIST metis-5.1.0.tar.gz 4984968 SHA256 76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2 SHA512 deea47749d13bd06fbeaf98a53c6c0b61603ddc17a43dae81d72c8015576f6495fd83c11b0ef68d024879ed5415c14ebdbd87ce49c181bdac680573bea8bdb25 WHIRLPOOL 27c7a86c8d31e3d09a70eeea989b7b51e3175309e70513fcf13e00de546148a4b7d696a244656fc514b8c2636fe79b91d0fce29ae35a52ceb059dc831f24ef7e
diff --git a/sci-libs/metis/files/metis-4.0.1-autotools.patch b/sci-libs/metis/files/metis-4.0.1-autotools.patch
new file mode 100644
index 000000000000..b9623dd9ebf4
--- /dev/null
+++ b/sci-libs/metis/files/metis-4.0.1-autotools.patch
@@ -0,0 +1,85 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-03-25 10:05:57.090715324 +0000
+@@ -0,0 +1,15 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(metis, 4.0.1, karypis@cs.umn.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_HEADER([config.h])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++AC_CONFIG_FILES([
++ Makefile
++ metis.pc
++ Lib/Makefile
++ Programs/Makefile\
++ Test/Makefile])
++AC_OUTPUT
+--- metis.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ metis.pc.in 2008-02-15 14:45:09.378997263 +0000
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: METIS
++Description: Software for partioning unstructured graphes and meshes
++Version: @VERSION@
++Libs: -L${libdir} -lmetis
++Cflags: -I${includedir}/metis
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-02-15 14:46:16.578826763 +0000
+@@ -0,0 +1,5 @@
++SUBDIRS = Lib Programs Test
++EXTRA_DIST = CHANGES VERSION metis.pc.in
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = metis.pc
+--- Lib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Lib/Makefile.am 2008-03-25 10:06:10.719491984 +0000
+@@ -0,0 +1,15 @@
++pkginclude_HEADERS = defs.h macros.h metis.h proto.h rename.h struct.h
++pkgincludedir = $(includedir)/metis
++lib_LTLIBRARIES = libmetis.la
++libmetis_la_SOURCES = \
++ coarsen.c fm.c initpart.c match.c ccgraph.c memory.c \
++ pmetis.c pqueue.c refine.c util.c timing.c debug.c \
++ bucketsort.c graph.c stat.c kmetis.c kwayrefine.c \
++ kwayfm.c balance.c ometis.c srefine.c sfm.c separator.c \
++ mincover.c mmd.c mesh.c meshpart.c frename.c fortran.c \
++ myqsort.c compress.c parmetis.c estmem.c \
++ mpmetis.c mcoarsen.c mmatch.c minitpart.c mbalance.c \
++ mrefine.c mutil.c mfm.c mkmetis.c mkwayrefine.c mkwayfmh.c \
++ mrefine2.c minitpart2.c mbalance2.c mfm2.c \
++ kvmetis.c kwayvolrefine.c kwayvolfm.c subdomains.c
++libmetis_la_LDFLAGS = -no-undefined -version-info 4:0:0
+--- Programs/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Programs/Makefile.am 2008-01-31 12:00:14.981124649 +0000
+@@ -0,0 +1,15 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Lib
++LDADD = $(top_builddir)/Lib/libmetis.la -lm
++
++bin_PROGRAMS = pmetis kmetis oemetis onmetis mesh2dual mesh2nodal \
++ partdmesh partnmesh graphchk
++
++pmetis_SOURCES = pmetis.c io.c
++kmetis_SOURCES = kmetis.c io.c
++oemetis_SOURCES = oemetis.c io.c smbfactor.c
++onmetis_SOURCES = onmetis.c io.c smbfactor.c
++mesh2dual_SOURCES = mesh2dual.c io.c
++mesh2nodal_SOURCES = mesh2nodal.c io.c
++partdmesh_SOURCES = partdmesh.c io.c
++partnmesh_SOURCES = partnmesh.c io.c
++graphchk_SOURCES = graphchk.c io.c
+--- Test/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Test/Makefile.am 2008-01-31 12:37:59.532517099 +0000
+@@ -0,0 +1,7 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Lib
++LDADD = $(top_builddir)/Lib/libmetis.la -lm
++check_PROGRAMS = mtest
++mtest_SOURCES = mtest.c ../Programs/io.c
++
++check-local: $(check_PROGRAMS)
++ - ./mtest ../Graphs/4elt.graph
diff --git a/sci-libs/metis/files/metis-5.1.0-datatype.patch b/sci-libs/metis/files/metis-5.1.0-datatype.patch
new file mode 100644
index 000000000000..f583d05f34d9
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.1.0-datatype.patch
@@ -0,0 +1,12 @@
+--- include/metis.orig.h 2013-03-11 20:50:00.000000000 +0100
++++ include/metis.h 2013-03-16 12:14:59.117329640 +0100
+@@ -30,7 +30,7 @@
+ GCC does provides these definitions in stdint.h, but it may require some
+ modifications on other architectures.
+ --------------------------------------------------------------------------*/
+-#define IDXTYPEWIDTH 32
++#define IDXTYPEWIDTH 64
+
+
+ /*--------------------------------------------------------------------------
+
diff --git a/sci-libs/metis/files/metis-5.1.0-multilib.patch b/sci-libs/metis/files/metis-5.1.0-multilib.patch
new file mode 100644
index 000000000000..919812dc3093
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.1.0-multilib.patch
@@ -0,0 +1,20 @@
+--- libmetis/CMakeLists.orig.txt 2011-06-22 19:47:13.000000000 +0200
++++ libmetis/CMakeLists.txt 2013-03-15 17:13:19.948911972 +0100
+@@ -4,13 +4,14 @@
+ file(GLOB metis_sources *.c)
+ # Build libmetis.
+ add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
++set_target_properties(metis PROPERTIES SOVERSION 0)
+ if(UNIX)
+ target_link_libraries(metis m)
+ endif()
+
+ if(METIS_INSTALL)
+ install(TARGETS metis
+- LIBRARY DESTINATION lib
+- RUNTIME DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ RUNTIME DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib${LIB_SUFFIX})
+ endif()
diff --git a/sci-libs/metis/files/metis-5.1.0-shared-GKlib.patch b/sci-libs/metis/files/metis-5.1.0-shared-GKlib.patch
new file mode 100644
index 000000000000..acfa59e60bd3
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.1.0-shared-GKlib.patch
@@ -0,0 +1,21 @@
+--- GKlib/CMakeLists.orig.txt 2013-03-11 20:50:14.000000000 +0100
++++ GKlib/CMakeLists.txt 2013-03-17 19:53:44.220827579 +0100
+@@ -7,7 +7,7 @@
+ include(GKlibSystem.cmake)
+
+ include_directories(".")
+-add_library(GKlib STATIC ${GKlib_sources})
++add_library(GKlib SHARED ${GKlib_sources})
+ if(UNIX)
+ target_link_libraries(GKlib m)
+ endif(UNIX)
+@@ -16,6 +16,6 @@
+ add_subdirectory("test")
+
+ install(TARGETS GKlib
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib)
+-install(FILES ${GKlib_includes} DESTINATION include)
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}
++ LIBRARY DESTINATION lib${LIB_SUFFIX})
++install(FILES ${GKlib_includes} DESTINATION include/metis)
diff --git a/sci-libs/metis/metadata.xml b/sci-libs/metis/metadata.xml
new file mode 100644
index 000000000000..d9a2c8da5731
--- /dev/null
+++ b/sci-libs/metis/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ METIS is a set of serial programs for partitioning graphs,
+ partitioning finite element meshes, and producing fill reducing
+ orderings for sparse matrices. The algorithms implemented in METIS are
+ based on the multilevel recursive-bisection, multilevel k-way, and
+ multi-constraint partitioning schemes.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/metis/metis-4.0.3.ebuild b/sci-libs/metis/metis-4.0.3.ebuild
new file mode 100644
index 000000000000..a0570ab21466
--- /dev/null
+++ b/sci-libs/metis/metis-4.0.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils fortran-2
+
+DESCRIPTION="A package for unstructured serial graph partitioning"
+HOMEPAGE="http://www-users.cs.umn.edu/~karypis/metis/metis/"
+SRC_URI="http://glaros.dtc.umn.edu/gkhome/fetch/sw/${PN}/OLD/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+LICENSE="free-noncomm"
+IUSE="doc static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !sci-libs/parmetis"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.0.1-autotools.patch
+ sed -i -e "s/4.0.1/${PV}/" configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use doc && dodoc Doc/manual.ps
+}
diff --git a/sci-libs/metis/metis-5.1.0-r1.ebuild b/sci-libs/metis/metis-5.1.0-r1.ebuild
new file mode 100644
index 000000000000..5cc2910fa3ab
--- /dev/null
+++ b/sci-libs/metis/metis-5.1.0-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils fortran-2 multilib
+
+DESCRIPTION="A package for unstructured serial graph partitioning"
+HOMEPAGE="http://www-users.cs.umn.edu/~karypis/metis/metis/"
+SRC_URI="http://glaros.dtc.umn.edu/gkhome/fetch/sw/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+LICENSE="free-noncomm"
+IUSE="doc openmp static-libs"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ !sci-libs/parmetis"
+
+DOCS=( manual/manual.pdf )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-datatype.patch
+ "${FILESDIR}"/${P}-shared-GKlib.patch
+ "${FILESDIR}"/${P}-multilib.patch
+ )
+
+src_prepare() {
+ sed \
+ -e 's:-O3::g' \
+ -i GKlib/GKlibSystem.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGKLIB_PATH="${S}"/GKlib
+ -DSHARED=TRUE
+ $(cmake-utils_use openmp)
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd graphs || die
+ PATH="${BUILD_DIR}"/programs/:${PATH} LD_LIBRARY_PATH="${BUILD_DIR}"/lib ndmetis mdual.graph || die
+ PATH="${BUILD_DIR}"/programs/:${PATH} LD_LIBRARY_PATH="${BUILD_DIR}"/lib mpmetis metis.mesh 2 || die
+ PATH="${BUILD_DIR}"/programs/:${PATH} LD_LIBRARY_PATH="${BUILD_DIR}"/lib gpmetis test.mgraph 4 || die
+ PATH="${BUILD_DIR}"/programs/:${PATH} LD_LIBRARY_PATH="${BUILD_DIR}"/lib gpmetis copter2.graph 4 || die
+ PATH="${BUILD_DIR}"/programs/:${PATH} LD_LIBRARY_PATH="${BUILD_DIR}"/lib graphchk 4elt.graph || die
+}
+
+src_install() {
+ cat >> "${T}"/metis.pc <<- EOF
+ prefix="${EPREFIX}"/usr
+ exec_prefix="${EPREFIX}"/usr
+ libdir="${EPREFIX}"/usr/$(get_libdir)
+ includedir="${EPREFIX}"/usr/include
+
+ Name: METIS
+ Description: Software for partioning unstructured graphes and meshes
+ Version: ${PV}
+ Libs: -L${libdir} -lmetis
+ Cflags: -I${includedir}/metis
+ EOF
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins "${T}"/metis.pc
+ cmake-utils_src_install
+}
diff --git a/sci-libs/minfx/Manifest b/sci-libs/minfx/Manifest
new file mode 100644
index 000000000000..7bcefe9a29ce
--- /dev/null
+++ b/sci-libs/minfx/Manifest
@@ -0,0 +1,7 @@
+DIST minfx-1.0.10.tar.gz 61533 SHA256 6c2c33457702b633854446dcf6f2de92b186dfc791fc2a4281625885ba42e317 SHA512 200b8b163a5e02f5c2e6935382418642a8fd6d02cf99da015fb267ad598182036e2605174da8e49421ec49fbe00f1148aebc16a7ccfc0a8b18f7a7bc09185755 WHIRLPOOL ff12c95286c1d31bb6971cdb573909073988d0331370f481758e3514f23c3f4fc5916494da2cf57c0f7c4654802e0eef11b453695523d25d113b8816b4be4a85
+DIST minfx-1.0.11.tar.gz 62102 SHA256 c26b170e6185cd4ea59034512b04ae1c348f6e21334ef13c3a2e91d4df72527f SHA512 1eb3136f363be4e8798bc01e638777ef4713ddc33521980923f0157c7b25cbbb03762b571cea9231f64764a93085ce90b4c521b32d71845a18d5be60b8318976 WHIRLPOOL 7286f6e3f14f2fae647eb7f3457bc7f15259ff1e8b665457733de33dd054f51ae657c7498d75168afdfe57e4f3f2e4bfd497714eb2af029f46e5ef374e1d7fd5
+DIST minfx-1.0.3.tar.gz 57287 SHA256 876c26055cb51e16f2497a44ac9870d69b7e2947ebbcb7ced9c858891603855d SHA512 c5bc696d2720df3af67cae3700fecc318848d8bf3186c64477b193cf8eedeb3afdbb2d49ad067efcd73b28d8f00c48d0a0c1dd6cc6eeb8fae613d3c235e28e25 WHIRLPOOL e25e9352956330c2fbc0f79356011f3c17152dc9b7d09396ffbb4894cb9fba370356a47801ffaa8abc22798dc2bbc09079bd6f3b72172b87c9c903d06183a266
+DIST minfx-1.0.4.tar.gz 59363 SHA256 1fd1fafe18231371a2502a35942acf559d1e15edacc09e3d94148311e594ef1f SHA512 cb67747122bc1ec20c67e200aedf9763fe3ca8cf1adefd1d46008df371d3b8c327864c5257467161d7878f03ab24f5d89e1dfedc42c62e1e6a88c9426bb5fd52 WHIRLPOOL 63d4a2255a7b187e847a4a6066952ede822d96b22a9f9a2850719103ea7eb957f98dc74fcb52b2ff14490287ecf4c4e09cee97ff50df1f64b5440f1de5fc3731
+DIST minfx-1.0.4_pre98.tar.xz 51072 SHA256 a8b2be35e8308fbcd019fe1fb51c4b7a44923727a6f444a17d79bf3643cbe98f SHA512 734ce5d6596cf4ef91ad5ccbee3bffc1bb121a448cb78eac373b412fc1aa7ba2227ee0bce108ade45d037558a7692f67c504bf5aa1d6462dfcee05cee0cb9b9f WHIRLPOOL 61b44585bc971a05c155e218fe8e781264a62b165200cf67c5170cf10a3f06b9e50b32109b81ac5f5ac205187273b5df9a3b6e67db03dd6075c978a327d47de6
+DIST minfx-1.0.5.tar.gz 60700 SHA256 44dbe78defcd2d6a36405837bbf8460e40923f7074fbf9bb36f401c8dfa976d0 SHA512 86b48f3cde26d141e3b9e43decd1c01a7cc78a51165e964090e0db7ea73a31fa34ca383a4f2b6df9394c1f00cc4fe4eb52b32b721d2bad7cad622e74b8aa3742 WHIRLPOOL 9dcf274f3335f6f9d58c2043aaf5a6c14747f00162dde59f16b7a6f44a416059aeed67ae594f6aea74ce92c8158dd2d72b69ce15ba40bc0972aa469c2b4789f2
+DIST minfx-1.0.6.tar.gz 60776 SHA256 629bf25edac602f8c92a353b282be32b6d517e786b0e4dffbbf2e0ed325def1f SHA512 f98a64d2a34db1d7d1df5c93f89fad13ddd3f4d2d27a170c76236284276de573b543b365af45030076f4c49e9d26cc67375dfe351c830f98c1580fb0dbaabee9 WHIRLPOOL 2943a74357e9d2d71330192f1c90abdc9d54c980d1aab1d790454bf715bb315c41ae96a9db7c4de841efb82bbd6bf881b77693e8e156ef1080ca8815c039a1bd
diff --git a/sci-libs/minfx/metadata.xml b/sci-libs/minfx/metadata.xml
new file mode 100644
index 000000000000..a30259d09f42
--- /dev/null
+++ b/sci-libs/minfx/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ The minfx project is a python package for numerical optimisation,
+ being a large collection of standard minimisation algorithms. The name minfx
+ is simply a shortening of the mathematical expression min f(x).
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/minfx/minfx-1.0.10.ebuild b/sci-libs/minfx/minfx-1.0.10.ebuild
new file mode 100644
index 000000000000..dc3a8373f7d3
--- /dev/null
+++ b/sci-libs/minfx/minfx-1.0.10.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Numerical optimisation library"
+HOMEPAGE="http://gna.org/projects/minfx"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/minfx/minfx-1.0.11.ebuild b/sci-libs/minfx/minfx-1.0.11.ebuild
new file mode 100644
index 000000000000..dc3a8373f7d3
--- /dev/null
+++ b/sci-libs/minfx/minfx-1.0.11.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Numerical optimisation library"
+HOMEPAGE="http://gna.org/projects/minfx"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/minfx/minfx-1.0.3-r1.ebuild b/sci-libs/minfx/minfx-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..3910a68cf7af
--- /dev/null
+++ b/sci-libs/minfx/minfx-1.0.3-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Numerical optimisation library"
+HOMEPAGE="http://gna.org/projects/minfx"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/minfx/minfx-1.0.4.ebuild b/sci-libs/minfx/minfx-1.0.4.ebuild
new file mode 100644
index 000000000000..1d69177cd4db
--- /dev/null
+++ b/sci-libs/minfx/minfx-1.0.4.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Numerical optimisation library"
+HOMEPAGE="http://gna.org/projects/minfx"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/minfx/minfx-1.0.4_pre98.ebuild b/sci-libs/minfx/minfx-1.0.4_pre98.ebuild
new file mode 100644
index 000000000000..800e7ea729fa
--- /dev/null
+++ b/sci-libs/minfx/minfx-1.0.4_pre98.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Numerical optimisation library"
+HOMEPAGE="http://gna.org/projects/minfx"
+#SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/minfx/minfx-1.0.5.ebuild b/sci-libs/minfx/minfx-1.0.5.ebuild
new file mode 100644
index 000000000000..1d69177cd4db
--- /dev/null
+++ b/sci-libs/minfx/minfx-1.0.5.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Numerical optimisation library"
+HOMEPAGE="http://gna.org/projects/minfx"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/minfx/minfx-1.0.6.ebuild b/sci-libs/minfx/minfx-1.0.6.ebuild
new file mode 100644
index 000000000000..1882b33796d0
--- /dev/null
+++ b/sci-libs/minfx/minfx-1.0.6.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Numerical optimisation library"
+HOMEPAGE="http://gna.org/projects/minfx"
+SRC_URI="http://download.gna.org/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
diff --git a/sci-libs/minuit/Manifest b/sci-libs/minuit/Manifest
new file mode 100644
index 000000000000..907c10bd8d4a
--- /dev/null
+++ b/sci-libs/minuit/Manifest
@@ -0,0 +1,3 @@
+DIST Minuit2-5.28.00.tar.gz 471275 RMD160 9f2538b9881dbce6bc928b645702f2612b973fef SHA1 edb79806c99501cd2cef336608135ec5def29041 SHA256 c3d380b021f4f8e21cde9b73f7019a2aa94c4fcaf5af3f30151ef5f7bfcb23cb
+DIST mntutorial.pdf 263735 RMD160 4ef7806018a0ac43e322325ab9ea716268ac65cd SHA1 c32bdc4fb130ea8baa32e5dd79a7bc701b313110 SHA256 a72207746c548f4b468b147c27552b4a1bc9762df2a19f9cb0f9ec297899ef07
+DIST mnusersguide.pdf 260072 RMD160 d3809c8c7f0b105fef61f23c63708ff926853c37 SHA1 ac8b0b8464c8cfd2d02bbdb14e97be6271272259 SHA256 cffef5faa1c4d6ac589d4bd40ea474302f55fab47ab2e711b37f1183870fb206
diff --git a/sci-libs/minuit/files/minuit-5.27.02-asneeded.patch b/sci-libs/minuit/files/minuit-5.27.02-asneeded.patch
new file mode 100644
index 000000000000..b9b8b4b5bb5d
--- /dev/null
+++ b/sci-libs/minuit/files/minuit-5.27.02-asneeded.patch
@@ -0,0 +1,38 @@
+This OpenMP library finding code is from ImageMagick's configure.ac
+
+http://bugs.gentoo.org/314095
+
+--- configure.in
++++ configure.in
+@@ -44,6 +44,20 @@
+ CFLAGS="$CFLAGS $OPENMP_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS"
+
++dnl Find OpenMP library
++GOMP_LIBS=''
++if test "$enable_openmp" != 'no'; then
++ if test "${GCC}" = "yes"; then
++ AC_CHECK_LIB(gomp,GOMP_parallel_start,GOMP_LIBS="-lgomp",,) # gcc
++ else
++ AC_CHECK_LIB(mtsk,sunw_mp_register_warn,GOMP_LIBS="-lmtsk",,) # solaris cc
++ AC_CHECK_LIB(xlsmp,_xlsmpFlush,GOMP_LIBS="-lxlsmp",,) # AIX xlc
++ AC_CHECK_LIB(mp,mp_destroy,GOMP_LIBS="-lmp",,) # SGI IRIX 6.5 MIPSpro C/C++
++ fi
++ LIBS="$GOMP_LIBS $LIBS"
++fi
++AC_SUBST(GOMP_LIBS)
++
+ dnl files to be generated
+ AC_OUTPUT(Makefile inc/Makefile inc/Minuit2/Makefile inc/Math/Makefile src/Makefile
+ doc/Doxyfile doc/Makefile test/Makefile test/MnSim/Makefile
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -9,6 +9,8 @@
+ # The convenience library to be built.
+ lib_LTLIBRARIES = libMinuit2.la
+
++libMinuit2_la_LIBADD = $(GOMP_LIBS)
++
+ libMinuit2_la_SOURCES = \
+ AnalyticalGradientCalculator.cxx \
+ BasicMinimumError.cxx \
diff --git a/sci-libs/minuit/metadata.xml b/sci-libs/minuit/metadata.xml
new file mode 100644
index 000000000000..b4d71878b525
--- /dev/null
+++ b/sci-libs/minuit/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ Minuit provides a C++ library for non-linear optimization,
+ and parameter error estimation. Widely used in High Energy Physics,
+ originally as a fortran library, it has been entirely re-written from
+ scratch in C++. It is now included in ROOT-5 and higher.
+ This is the stand-alone version, quick to build and use.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/minuit/minuit-5.28.00.ebuild b/sci-libs/minuit/minuit-5.28.00.ebuild
new file mode 100644
index 000000000000..2bf54f8a7bed
--- /dev/null
+++ b/sci-libs/minuit/minuit-5.28.00.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils toolchain-funcs
+
+MY_PN=Minuit2
+
+DESCRIPTION="A C++ physics analysis tool for function minimization"
+HOMEPAGE="http://seal.web.cern.ch/seal/MathLibs/Minuit2/html/index.html"
+
+SRC_URI="http://seal.web.cern.ch/seal/MathLibs/${MY_PN}/${MY_PN}-${PV}.tar.gz
+ doc? ( http://seal.cern.ch/documents/minuit/mnusersguide.pdf
+ http://seal.cern.ch/documents/minuit/mntutorial.pdf )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc openmp static-libs"
+DEPEND="doc? ( app-doc/doxygen )"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-5.27.02-asneeded.patch
+ rm config/m4/ac_openmp.m4
+ AT_M4DIR="config/m4" eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable openmp)
+}
+
+src_compile() {
+ emake
+ use doc && emake docs
+}
+
+src_test() {
+ emake check
+ cd test/MnTutorial
+ local t
+ for t in test_*; do
+ ./${t} || die "${t} failed"
+ done
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ insinto /usr/share/doc/${PF}/MnTutorial
+ doins test/MnTutorial/*.{h,cxx}
+ if use doc; then
+ dodoc "${DISTDIR}"/mn*.pdf
+ dohtml -r doc/html/*
+ fi
+}
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest
new file mode 100644
index 000000000000..4f160bc69e22
--- /dev/null
+++ b/sci-libs/mkl/Manifest
@@ -0,0 +1 @@
+DIST l_mkl_p_10.0.5.025.tgz 230389719 SHA256 c98f2c5c652c02ac7200cba40d996b1f11b567278d849016b7ee3b0320e26e3c SHA512 621c3bfdecb57313e375424e391c0630a29efd70196e3e4bfc5b4ddd03aa45fda4761523652d875f2e60d466a0010c06659306b11f20966fba4943c308fa6f84 WHIRLPOOL 6c96123254aebd897e061ee971f487bd5d51586e74572da18bb5461ab8f7fb2cbb34e5f782c11712a7ece8b58b348554c07a68dd91ff5fc9771894e3aef04352
diff --git a/sci-libs/mkl/files/blas.pc.in b/sci-libs/mkl/files/blas.pc.in
new file mode 100644
index 000000000000..09cddf9581f4
--- /dev/null
+++ b/sci-libs/mkl/files/blas.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${prefix}/@LIBDIR@
+includedir=@INCDIR@
+
+Name: blas
+Description: MKL implementations of the F77 Basic Linear Algebra Subroutines
+Version: @PV@
+URL: http://developer.intel.com/software/products/mkl/
+Libs: @GFORTRANLIBS@ -L${libdir} -lblas @EXTLIBS@
diff --git a/sci-libs/mkl/files/cblas.pc.in b/sci-libs/mkl/files/cblas.pc.in
new file mode 100644
index 000000000000..4e928f96e9b6
--- /dev/null
+++ b/sci-libs/mkl/files/cblas.pc.in
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=@INCDIR@
+
+Name: cblas
+Description: MKL implementations of the C Basic Linear Algebra Subroutines
+Version: @PV@
+URL: http://developer.intel.com/software/products/mkl/
+Libs: @GFORTRANLIBS@ -L${libdir} -lblas @EXTLIBS@
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/lapack.pc.in b/sci-libs/mkl/files/lapack.pc.in
new file mode 100644
index 000000000000..92dc934ee1f4
--- /dev/null
+++ b/sci-libs/mkl/files/lapack.pc.in
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${prefix}/@LIBDIR@
+includedir=@INCDIR@
+
+Name: lapack
+Description: MKL implementations of the F77 Linear Algebra PACKage
+Version: @PV@
+URL: http://developer.intel.com/software/products/mkl/
+Requires: blas
+Libs: @GFORTRANLIBS@ -L${libdir} -llapack @EXTLIBS@
diff --git a/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch b/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch
new file mode 100644
index 000000000000..6f7f9edebb0f
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch
@@ -0,0 +1,18 @@
+--- interfaces/fftw2x_cdft/makefile.orig 2008-03-11 23:26:26.287984332 +0000
++++ interfaces/fftw2x_cdft/makefile 2008-03-13 10:56:44.755095617 +0000
+@@ -172,6 +172,15 @@
+ endif
+
+
++ifeq ($(mpi),openmpi)
++CS = mpicc
++ifdef mpidir
++_CS = $(mpidir)/bin/$(CS)
++else
++_CS = $(CS)
++endif
++endif
++
+ vpath %.c wrappers
+
+ $(WRP): %.o: %.c
diff --git a/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch b/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch
new file mode 100644
index 000000000000..975170f7dbc0
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch
@@ -0,0 +1,21 @@
+--- tests/scalapack/make.inc.orig 2008-03-13 22:36:06.119890888 +0000
++++ tests/scalapack/make.inc 2008-03-13 22:54:58.201781899 +0000
+@@ -59,6 +59,9 @@
+ IFACE_PART = _ilp64
+ COPTS = -DMKL_ILP64
+ FOPTS = -i8
++ifeq ($(compiler),gnu)
++FOPTS = -fdefault-integer-8
++endif
+ else
+ ADD_IFACE = _lp64
+ IFACE_PART = _lp64
+@@ -203,7 +206,7 @@
+ # Compiler flags
+ F77FLAGS=-w -u $(OPTS)
+ ifeq ($(comp),gnu)
+-F77FLAGS=$(OPTS) -ff90 -fno-globals -Wno-globals
++F77FLAGS=$(OPTS)
+ endif
+ # Remove objects variable
+ RMOBJ=rm -f *.o core work.pc*
diff --git a/sci-libs/mkl/metadata.xml b/sci-libs/mkl/metadata.xml
new file mode 100644
index 000000000000..5a16572811f3
--- /dev/null
+++ b/sci-libs/mkl/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The Intel(R) Math Kernel Library is a mathematical library mostly
+ optimized for Intel processors (also works on AMDs). It contains BLAS
+ and LAPACK implementations, Fast Fourier Transforms, a vector math
+ library, and random number generators. It also has multiprocessor
+ capacities. The package is installed as binary and has a restrictive
+ license. Please see license terms and home page for proper use.
+</longdescription>
+ <use>
+ <flag name="fortran95">Installs the BLAS/LAPACK FORTRAN95 static libraries</flag>
+ <flag name="int64">Installs the 64 bits integer libraries</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/mkl/mkl-10.0.5.025.ebuild b/sci-libs/mkl/mkl-10.0.5.025.ebuild
new file mode 100644
index 000000000000..794d067a3365
--- /dev/null
+++ b/sci-libs/mkl/mkl-10.0.5.025.ebuild
@@ -0,0 +1,359 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils fortran-2 multilib toolchain-funcs check-reqs
+
+PID=1232
+PB=${PN}
+
+DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, math functions"
+HOMEPAGE="http://developer.intel.com/software/products/mkl/"
+SRC_URI="http://registrationcenter-download.intel.com/irc_nas/${PID}/l_${PN}_p_${PV}.tgz"
+
+KEYWORDS="-* amd64 ~ia64 x86"
+SLOT="0"
+LICENSE="Intel-SDP"
+IUSE="doc fftw fortran95 int64 mpi"
+RESTRICT="strip mirror"
+
+DEPEND="
+ app-eselect/eselect-blas
+ app-eselect/eselect-cblas
+ app-eselect/eselect-lapack"
+RDEPEND="${DEPEND}
+ doc? ( app-doc/blas-docs app-doc/lapack-docs )
+ mpi? ( virtual/mpi )"
+
+MKL_DIR=/opt/intel/${PN}/${PV}
+INTEL_LIC_DIR=/opt/intel/licenses
+
+QA_EXECSTACK="opt/intel/${PN}/${PV}/*"
+QA_TEXTRELS="opt/intel/${PN}/${PV}/*"
+
+get_fcomp() {
+ case $(tc-getFC) in
+ *gfortran* )
+ FCOMP="gfortran" ;;
+ ifort )
+ FCOMP="ifc" ;;
+ * )
+ FCOMP=$(tc-getFC) ;;
+ esac
+}
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ # Check the license
+ if [[ -z ${MKL_LICENSE} ]]; then
+ MKL_LICENSE="$(grep -ls MKern ${ROOT}${INTEL_LIC_DIR}/* | tail -n 1)"
+ MKL_LICENSE=${MKL_LICENSE/${ROOT}/}
+ fi
+ if [[ -z ${MKL_LICENSE} ]]; then
+ eerror "Did not find any valid mkl license."
+ eerror "Register at ${HOMEPAGE} to receive a license"
+ eerror "and place it in ${INTEL_LIC_DIR} or run:"
+ eerror "export MKL_LICENSE=/my/license/file emerge mkl"
+ die "license setup failed"
+ fi
+
+ # Check if we have enough free diskspace to install
+ CHECKREQS_DISK_BUILD="1100M"
+ check-reqs_pkg_setup
+
+ # Check and setup fortran
+ if use fortran95; then
+ # blas95 and lapack95 don't compile with gfortran < 4.2
+ [[ $(tc-getFC) =~ (gfortran|g77) ]] && [[ $(gcc-major-version)$(gcc-minor-version) -lt 42 ]] &&
+ die "blas95 and lapack95 don't compile with gfortran < 4.2"
+ fi
+ MKL_FC="gnu"
+ [[ $(tc-getFC) =~ if ]] && MKL_FC="intel"
+
+ # build profiles according to what compiler is installed
+ MKL_CC="gnu"
+ [[ $(tc-getCC) == icc ]] && MKL_CC="intel"
+
+ if has_version sys-cluster/mpich; then
+ MKL_MPI=mpich
+ elif has_version sys-cluster/mpich2; then
+ MKL_MPI=mpich2
+ elif has_version sys-cluster/openmpi; then
+ MKL_MPI=openmpi
+ else
+ MKL_MPI=intelmpi
+ fi
+ get_fcomp
+}
+
+src_unpack() {
+
+ unpack ${A}
+ cd l_${PN}_*_${PV}/install
+
+ cp ${MKL_LICENSE} "${WORKDIR}"/
+ MKL_LIC="$(basename ${MKL_LICENSE})"
+
+ # binary blob extractor installs rpm leftovers in /opt/intel
+ addwrite /opt/intel
+ # undocumented features: INSTALLMODE_mkl=NONRPM
+
+ # We need to install mkl non-interactively.
+ # If things change between versions, first do it interactively:
+ # tar xf l_*; ./install.sh --duplicate mkl.ini;
+ # The file will be instman/mkl.ini
+ # Then check it and modify the ebuild-created one below
+ # --norpm is required to be able to install 10.x
+ cat > mkl.ini <<-EOF
+ [MKL]
+ EULA_ACCEPT_REJECT=ACCEPT
+ FLEXLM_LICENSE_LOCATION=${WORKDIR}/${MKL_LIC}
+ INSTALLMODE_mkl=NONRPM
+ INSTALL_DESTINATION=${S}
+ EOF
+ einfo "Extracting ..."
+ ./install \
+ --silent ./mkl.ini \
+ --installpath "${S}" \
+ --log log.txt &> /dev/null
+
+ if [[ -z $(find "${S}" -name libmkl.so) ]]; then
+ eerror "Could not find extracted files"
+ eerror "See ${PWD}/log.txt to see why"
+ die "extracting failed"
+ fi
+ # remove left over
+ rm -f /opt/intel/.*mkl*.log /opt/intel/intel_sdp_products.db
+
+ # remove unused stuff and set up intel names
+ rm -rf "${WORKDIR}"/l_*
+
+ cd "${S}"
+ # allow openmpi to work
+ epatch "${FILESDIR}"/${PN}-10.0.2.018-openmpi.patch
+ # make scalapack tests work for gfortran
+ #epatch "${FILESDIR}"/${PN}-10.0.2.018-tests.patch
+ case ${ARCH} in
+ x86) MKL_ARCH=32
+ MKL_KERN=ia32
+ rm -rf lib*/{em64t,64}
+ ;;
+
+ amd64) MKL_ARCH=em64t
+ MKL_KERN=em64t
+ rm -rf lib*/{32,64}
+ ;;
+
+ ia64) MKL_ARCH=64
+ MKL_KERN=ipf
+ rm -rf lib*/{32,em64t}
+ ;;
+ esac
+ MKL_LIBDIR=${MKL_DIR}/lib/${MKL_ARCH}
+ # fix env scripts
+ sed -i \
+ -e "s:${S}:${MKL_DIR}:g" \
+ tools/environment/*sh || die "sed support file failed"
+}
+
+src_compile() {
+ cd "${S}"/interfaces
+ if use fortran95; then
+ einfo "Compiling fortan95 static lib wrappers"
+ local myconf="lib${MKL_ARCH}"
+ [[ $(tc-getFC) =~ gfortran ]] && \
+ myconf="${myconf} FC=gfortran"
+ if use int64; then
+ myconf="${myconf} interface=ilp64"
+ [[ $(tc-getFC) =~ gfortran ]] && \
+ myconf="${myconf} FOPTS=-fdefault-integer-8"
+ fi
+ for x in blas95 lapack95; do
+ pushd ${x}
+ emake ${myconf} || die "emake ${x} failed"
+ popd
+ done
+ fi
+
+ if use fftw; then
+ local fftwdirs="fftw2xc fftw2xf fftw3xc fftw3xf"
+ local myconf="lib${MKL_ARCH} compiler=${MKL_CC}"
+ if use mpi; then
+ fftwdirs="${fftwdirs} fftw2x_cdft"
+ myconf="${myconf} mpi=${MKL_MPI}"
+ fi
+ einfo "Compiling fftw static lib wrappers"
+ for x in ${fftwdirs}; do
+ pushd ${x}
+ emake ${myconf} || die "emake ${x} failed"
+ popd
+ done
+ fi
+}
+
+src_test() {
+ cd "${S}"/tests
+ local myconf
+ local testdirs="blas cblas"
+ use int64 && myconf="${myconf} interface=ilp64"
+ # buggy with g77 and gfortran
+ #if use mpi; then
+ # testdirs="${testdirs} scalapack"
+ # myconf="${myconf} mpi=${MKL_MPI}"
+ #fi
+ for x in ${testdirs}; do
+ pushd ${x}
+ einfo "Testing ${x}"
+ emake \
+ compiler=${MKL_FC} \
+ ${myconf} \
+ so${MKL_ARCH} \
+ || die "emake ${x} failed"
+ popd
+ done
+}
+
+mkl_make_generic_profile() {
+ cd "${S}"
+ # produce eselect files
+ # don't make them in FILESDIR, it changes every major version
+ cat > eselect.blas <<-EOF
+ ${MKL_LIBDIR}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/libblas.a
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libblas.so
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libblas.so.0
+ EOF
+ cat > eselect.cblas <<-EOF
+ ${MKL_LIBDIR}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/libcblas.a
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libcblas.so
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libcblas.so.0
+ ${MKL_DIR}/include/mkl_cblas.h /usr/include/cblas.h
+ EOF
+ cat > eselect.lapack <<-EOF
+ ${MKL_LIBDIR}/libmkl_lapack.a /usr/@LIBDIR@/liblapack.a
+ ${MKL_LIBDIR}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so
+ ${MKL_LIBDIR}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so.0
+ EOF
+}
+
+# usage: mkl_add_profile <profile> <interface_lib> <thread_lib> <rtl_lib>
+mkl_add_profile() {
+ cd "${S}"
+ local prof=${1}
+ for x in blas cblas lapack; do
+ cat > ${x}-${prof}.pc <<-EOF
+ prefix=${MKL_DIR}
+ libdir=${MKL_LIBDIR}
+ includedir=\${prefix}/include
+ Name: ${x}
+ Description: Intel(R) Math Kernel Library implementation of ${x}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ EOF
+ done
+ cat >> blas-${prof}.pc <<-EOF
+ Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
+ EOF
+ cat >> cblas-${prof}.pc <<-EOF
+ Requires: blas
+ Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
+ Cflags: -I\${includedir}
+ EOF
+ cat >> lapack-${prof}.pc <<-EOF
+ Requires: blas
+ Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core -lmkl_lapack ${4} -lpthread
+ EOF
+ insinto ${MKL_LIBDIR}
+ for x in blas cblas lapack; do
+ doins ${x}-${prof}.pc
+ cp eselect.${x} eselect.${x}.${prof}
+ echo "${MKL_LIBDIR}/${x}-${prof}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc" \
+ >> eselect.${x}.${prof}
+ eselect ${x} add $(get_libdir) eselect.${x}.${prof} ${prof}
+ done
+}
+
+mkl_make_profiles() {
+ local clib
+ has_version 'dev-lang/ifc' && clib="intel"
+ built_with_use sys-devel/gcc fortran && clib="${clib} gf"
+ local slib="-lmkl_sequential"
+ local rlib="-liomp5"
+ local pbase=${PN}
+ for c in ${clib}; do
+ local ilib="-lmkl_${c}_lp64"
+ use x86 && ilib="-lmkl_${c}"
+ local tlib="-lmkl_${c/gf/gnu}_thread"
+ local comp="${c/gf/gfortran}"
+ comp="${comp/intel/ifort}"
+ mkl_add_profile ${pbase}-${comp} ${ilib} ${slib}
+ mkl_add_profile ${pbase}-${comp}-threads ${ilib} ${tlib} ${rlib}
+ if use int64; then
+ ilib="-lmkl_${c}_ilp64"
+ mkl_add_profile ${pbase}-${comp}-int64 ${ilib} ${slib}
+ mkl_add_profile ${pbase}-${comp}-threads-int64 ${ilib} ${tlib} ${rlib}
+ fi
+ done
+}
+
+src_install() {
+ dodir ${MKL_DIR}
+
+ # install license
+ if [[ ! -f ${INTEL_LIC_DIR}/${MKL_LIC} ]]; then
+ insinto ${INTEL_LIC_DIR}
+ doins "${WORKDIR}"/${MKL_LIC} || die "install license failed"
+ fi
+
+ # install main stuff: cp faster than doins
+ einfo "Installing files..."
+ local cpdirs="benchmarks doc examples include interfaces lib man tests"
+ local doinsdirs="tools"
+ cp -pPR ${cpdirs} "${D}"${MKL_DIR} \
+ || die "installing mkl failed"
+ insinto ${MKL_DIR}
+ doins -r ${doinsdirs} || die "doins ${doinsdirs} failed"
+ dosym mkl_cblas.h ${MKL_DIR}/include/cblas.h
+
+ # install blas/lapack profiles
+ mkl_make_generic_profile
+ mkl_make_profiles
+
+ # install env variables
+ cat > 35mkl <<-EOF
+ MKLROOT=${MKL_DIR}
+ LDPATH=${MKL_LIBDIR}
+ MANPATH=${MKL_DIR}/man
+ EOF
+ doenvd 35mkl || die "doenvd failed"
+}
+
+pkg_postinst() {
+ # if blas profile is mkl, set lapack and cblas profiles as mkl
+ local blas_prof=$(eselect blas show | cut -d' ' -f2)
+ local def_prof="mkl-gfortran-threads"
+ has_version 'dev-lang/ifc' && def_prof="mkl-ifort-threads"
+ use int64 && def_prof="${def_prof}-int64"
+ for x in blas cblas lapack; do
+ local cur_prof=$(eselect ${x} show | cut -d' ' -f2)
+ if [[ -z ${cur_prof} || ${cur_prof} == ${def_prof} ]]; then
+ # work around eselect bug #189942
+ local configfile="${ROOT}"/etc/env.d/${x}/$(get_libdir)/config
+ [[ -e ${configfile} ]] && rm -f ${configfile}
+ eselect ${x} set ${def_prof}
+ elog "${x} has been eselected to ${def_prof}"
+ else
+ elog "Current eselected ${x} is ${current_lib}"
+ elog "To use one of mkl profiles, issue (as root):"
+ elog "\t eselect ${x} set <profile>"
+ fi
+ if [[ ${blas_prof} == mkl* && ${cur_prof} != ${blas_prof} ]]; then
+ eselect blas set ${def_prof}
+ elog "${x} is now set to ${def_prof} for consistency"
+ fi
+ done
+ if [[ $(gcc-major-version)$(gcc-minor-version) -lt 42 ]]; then
+ elog "Multi-threading OpenMP for GNU compilers only available"
+ elog "with gcc >= 4.2. Make sure you have a compatible version"
+ elog "and select it with gcc-config before selecting gnu profiles"
+ fi
+}
diff --git a/sci-libs/mmdb/Manifest b/sci-libs/mmdb/Manifest
new file mode 100644
index 000000000000..73c72e57e088
--- /dev/null
+++ b/sci-libs/mmdb/Manifest
@@ -0,0 +1,3 @@
+DIST mmdb-1.24.tar.gz 681051 SHA256 40c56611a907518afcd6fded8b13a71f9f4fe951d7bb7692e5d5720b0c887dc9 SHA512 d9b5161da8731b6dcafedce55405deb7b9f894883224cf703b0071f613e285a1045858347e666541a7c042c244dcb45936a5c605cc97787c5ac1e857b6451c70 WHIRLPOOL da04442fea5af258cd8647301aaa972e86180ed5979b36cc33141a945b3188ee27580947150d959195e60a8c73085436e8ad48361899cbb8aef0d74f9fa5ea8f
+DIST mmdb-1.25.5.tar.gz 732911 SHA256 44c614e2fa24aa492f2aa1852d2d12f440f5b1de35441cdba131db941ea3db4d SHA512 19784f119422e176ff97c0f40256815584ddf2156570593047125ffaf509c961840619799ce20c43efb330d22f068f96c061d31aa5bc5851f538da1742152ba0 WHIRLPOOL c6e5792a6f5456771da711a8d6f07d2fbfb6cc6e59aaab01176d63c2e29552e14dd41be85ae29800bbd26fde9ab76ad455a4d95e33c0faf7e5eb1d0f00e76867
+DIST mmdb2-2.0.1.tar.gz 721759 SHA256 6df04205747ae35cd62edc9649ab0187f902a56fb16f355cbdbdc7ca3e14b6bd SHA512 00465204aa2b76867f805259d25653d48e0e4fe5eabb3929b86a9e3ae8d88345737ca187cfd21dc6c2808e6e8da9c9d61c11be2f587e733390bc69e5ef87b7cd WHIRLPOOL ab78e08739467bb62703f91abc37a6583cc189e0b90dca2bef4fa825a3f8544dcad5c914683a2bfa4502b016e6c958e6ca0597ceefddfa5b99078108c920edfa
diff --git a/sci-libs/mmdb/files/mmdb-1.25.5-include-path.patch b/sci-libs/mmdb/files/mmdb-1.25.5-include-path.patch
new file mode 100644
index 000000000000..52189f0a32f0
--- /dev/null
+++ b/sci-libs/mmdb/files/mmdb-1.25.5-include-path.patch
@@ -0,0 +1,16 @@
+ mmdb.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mmdb.pc.in b/mmdb.pc.in
+index dd654a4..b3c28a9 100644
+--- a/mmdb.pc.in
++++ b/mmdb.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=@includedir@
++includedir=@includedir@/mmdb
+
+ Name: mmdb
+ Description: Macromolecular coordinate library
diff --git a/sci-libs/mmdb/metadata.xml b/sci-libs/mmdb/metadata.xml
new file mode 100644
index 000000000000..19fd943195bb
--- /dev/null
+++ b/sci-libs/mmdb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <upstream>
+ <remote-id type="launchpad">mmdb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/mmdb/mmdb-1.24.ebuild b/sci-libs/mmdb/mmdb-1.24.ebuild
new file mode 100644
index 000000000000..052ae3eea43e
--- /dev/null
+++ b/sci-libs/mmdb/mmdb-1.24.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="The Coordinate Library, designed to assist CCP4 developers in working with coordinate files"
+HOMEPAGE="http://launchpad.net/mmdb/"
+SRC_URI="
+ http://www.ysbl.york.ac.uk/~emsley/software/${P}.tar.gz
+ http://launchpad.net/mmdb/1.23/${PV}/+download/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="static-libs"
+
+DEPEND="!<sci-libs/ccp4-libs-6.1.3"
+RDEPEND=""
+
+src_install() {
+ autotools-utils_src_install
+
+ # create missing mmdb.pc
+ cat >> "${T}"/mmdb.pc <<- EOF
+ prefix=${EPREFIX}/usr
+ exec_prefix=${EPREFIX}/usr
+ libdir=${EPREFIX}/usr/$(get_libdir)
+ includedir=${EPREFIX}/usr/include/mmdb
+
+ Name: ${PN}
+ Description: Macromolecular coordinate library
+ Version: ${PV}
+ Requires:
+ Conflicts:
+ Libs: -L${EPREFIX}/usr/$(get_libdir) -lmmdb
+ Cflags: -I${EPREFIX}/usr/include/mmdb
+
+ EOF
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins "${T}"/mmdb.pc
+}
diff --git a/sci-libs/mmdb/mmdb-1.25.5-r1.ebuild b/sci-libs/mmdb/mmdb-1.25.5-r1.ebuild
new file mode 100644
index 000000000000..7a425b79b275
--- /dev/null
+++ b/sci-libs/mmdb/mmdb-1.25.5-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="The Coordinate Library, designed to assist CCP4 developers in working with coordinate files"
+HOMEPAGE="http://launchpad.net/mmdb/"
+SRC_URI="ftp://ftp.ccp4.ac.uk/opensource/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="static-libs"
+
+DEPEND="!<sci-libs/ccp4-libs-6.1.3"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-include-path.patch )
diff --git a/sci-libs/mmdb/mmdb-1.25.5.ebuild b/sci-libs/mmdb/mmdb-1.25.5.ebuild
new file mode 100644
index 000000000000..210d0039c6dc
--- /dev/null
+++ b/sci-libs/mmdb/mmdb-1.25.5.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="The Coordinate Library, designed to assist CCP4 developers in working with coordinate files"
+HOMEPAGE="http://launchpad.net/mmdb/"
+SRC_URI="ftp://ftp.ccp4.ac.uk/opensource/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="static-libs"
+
+DEPEND="!<sci-libs/ccp4-libs-6.1.3"
+RDEPEND=""
diff --git a/sci-libs/mmdb/mmdb-2.0.1.ebuild b/sci-libs/mmdb/mmdb-2.0.1.ebuild
new file mode 100644
index 000000000000..7c8bc513f1d0
--- /dev/null
+++ b/sci-libs/mmdb/mmdb-2.0.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+MY_P="${PN}2-${PV}"
+
+DESCRIPTION="The Coordinate Library, designed to assist CCP4 developers in working with coordinate files"
+HOMEPAGE="http://launchpad.net/mmdb/"
+SRC_URI="ftp://ftp.ccp4.ac.uk/opensource/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-3"
+SLOT="2"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="static-libs"
+
+DEPEND="!<sci-libs/ccp4-libs-6.1.3"
+RDEPEND=""
+
+S="${WORKDIR}"/${MY_P}
diff --git a/sci-libs/mmtk/Manifest b/sci-libs/mmtk/Manifest
new file mode 100644
index 000000000000..954ae7d62895
--- /dev/null
+++ b/sci-libs/mmtk/Manifest
@@ -0,0 +1,3 @@
+DIST MMTK-2.7.3.tar.gz 1489962 SHA256 3162a05a8ad6d705780c3274bacb2ba99838463009c3b27a1132184229d48e96
+DIST MMTK-2.7.5.tar.gz 1269533 SHA256 34cb5636643805d52903a58a96215bf81b3229bfb34cac754a3d715aadad3dfe SHA512 f2268da1008704d3fe6ca2896abfd487eebe9c5c3e37f18fe44283040097a7f508ca9a26b84e3196952762e7fb7c22dcaa1b8119ae4640048c7104eb54c94c14 WHIRLPOOL ebe10f28d89a3f94ea1392cbe4746ebd66ff3f6e9aa2bec49089b4dece38cb2b5c1a8eb6fa9a1eae7ac265e6eb0a1b1d7bc3db2599301a4257c197db0ecc8864
+DIST MMTK-2.7.9.tar.gz 1213599 SHA256 8c53acc12428ca6464e6b7e11fb1587200e16f8a5c92eb56e48ece387b6977ed SHA512 66819048aec4d8bdd370bb063f702c828145ecc9b7cb3247fcdd067486c78e00110a4e316f5c76df0b57a7885e05c347fa1616944daabfaa6d8b35933a79a7d8 WHIRLPOOL 765c9407df5dfa48891cd8b29f0e53196ca8ae20e536bb78b65458832aa342d21d84ef30b4d26c5a25c24126b65fe428f3129942435f6035931b921f1b0ba4d1
diff --git a/sci-libs/mmtk/metadata.xml b/sci-libs/mmtk/metadata.xml
new file mode 100644
index 000000000000..51fdedab1b38
--- /dev/null
+++ b/sci-libs/mmtk/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+</pkgmetadata>
diff --git a/sci-libs/mmtk/mmtk-2.7.3.ebuild b/sci-libs/mmtk/mmtk-2.7.3.ebuild
new file mode 100644
index 000000000000..b3d6f95ad9d5
--- /dev/null
+++ b/sci-libs/mmtk/mmtk-2.7.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit distutils
+
+# This number identifies each release on the CRU website.
+# Can't figure out how to avoid hardcoding it.
+NUMBER="3421"
+
+MY_PN=${PN/mmtk/MMTK}
+MY_P=${MY_PN}-${PV}
+
+PYTHON_MODNAME="${MY_PN}"
+
+DESCRIPTION="Molecular Modeling ToolKit for Python"
+HOMEPAGE="http://dirac.cnrs-orleans.fr/MMTK/"
+SRC_URI="http://sourcesup.cru.fr/frs/download.php/${NUMBER}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="CeCILL-2"
+KEYWORDS="~amd64 ~x86 ~ppc ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/cython
+ <dev-python/numpy-1.9
+ dev-python/scientificpython"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ export MMTK_USE_CYTHON="1"
+ sed -i -e "/ext_package/d" \
+ "${S}"/setup.py \
+ || die
+ distutils_src_prepare
+}
+
+src_install() {
+ distutils_src_install
+
+ dodoc README* Doc/CHANGELOG
+ dohtml -r Doc/HTML/*
+
+ if use examples; then
+ insinto /usr/share/${P}
+ doins -r Examples
+ fi
+}
diff --git a/sci-libs/mmtk/mmtk-2.7.5.ebuild b/sci-libs/mmtk/mmtk-2.7.5.ebuild
new file mode 100644
index 000000000000..f8128f575760
--- /dev/null
+++ b/sci-libs/mmtk/mmtk-2.7.5.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_DEPEND="2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit distutils
+
+# This number identifies each release on the CRU website.
+# Can't figure out how to avoid hardcoding it.
+NUMBER="3794"
+
+MY_PN=${PN/mmtk/MMTK}
+MY_P=${MY_PN}-${PV}
+
+PYTHON_MODNAME="${MY_PN}"
+
+DESCRIPTION="Molecular Modeling ToolKit for Python"
+HOMEPAGE="http://dirac.cnrs-orleans.fr/MMTK/"
+SRC_URI="http://sourcesup.cru.fr/frs/download.php/${NUMBER}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="CeCILL-2"
+KEYWORDS="~amd64 ~x86 ~ppc ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/cython
+ <dev-python/numpy-1.9
+ dev-python/scientificpython"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ export MMTK_USE_CYTHON="1"
+ sed -i -e "/ext_package/d" \
+ "${S}"/setup.py \
+ || die
+ distutils_src_prepare
+}
+
+src_install() {
+ distutils_src_install
+
+ dodoc README* Doc/CHANGELOG
+ dohtml -r Doc/HTML/*
+
+ if use examples; then
+ insinto /usr/share/${P}
+ doins -r Examples
+ fi
+}
diff --git a/sci-libs/mmtk/mmtk-2.7.9.ebuild b/sci-libs/mmtk/mmtk-2.7.9.ebuild
new file mode 100644
index 000000000000..311ce3d77515
--- /dev/null
+++ b/sci-libs/mmtk/mmtk-2.7.9.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+# This number identifies each release on the CRU website.
+# Can't figure out how to avoid hardcoding it.
+NUMBER="4324"
+
+MY_PN=${PN/mmtk/MMTK}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Molecular Modeling ToolKit for Python"
+HOMEPAGE="http://dirac.cnrs-orleans.fr/MMTK/"
+SRC_URI="http://sourcesup.cru.fr/frs/download.php/${NUMBER}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="CeCILL-2"
+KEYWORDS="~amd64 ~x86 ~ppc ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ <dev-python/numpy-1.9[${PYTHON_USEDEP}]
+ dev-python/scientificpython[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+python_prepare_all() {
+ export MMTK_USE_CYTHON="1"
+ sed \
+ -e "/ext_package/d" \
+ -e "/^if sphinx/s|:| == 3:|g" \
+ -e "s:import sphinx:sphinx = None:g" \
+ -i "${S}"/setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ DOCS=( README* Doc/CHANGELOG )
+ HTML_DOCS=( Doc/HTML/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/${P}
+ doins -r Examples
+ fi
+}
diff --git a/sci-libs/monomer-db/Manifest b/sci-libs/monomer-db/Manifest
new file mode 100644
index 000000000000..b49bd81227c6
--- /dev/null
+++ b/sci-libs/monomer-db/Manifest
@@ -0,0 +1 @@
+DIST monomer-db-0.090729.tar.gz 3129184 SHA256 55898355c57be44c7117f91d03fbaa6be116137e49ba236b80b13eec62876d4b SHA512 75e3af0eb9e77473210729b04597f6f7d30f88963c329e2f9fed0b68e6f2c9da5eb8d7a6a65ad119945fab14155ca5ad78e7fcf29b8d921f2b233318dd4d1605 WHIRLPOOL c96355f85d5d613b4b18418dcb21462b95eab64ed15722501b57773db591179bfc5731481d84ce123973abc6308c71859b6a2aa7180190b12934ba46f82769e4
diff --git a/sci-libs/monomer-db/metadata.xml b/sci-libs/monomer-db/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/monomer-db/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/monomer-db/monomer-db-0.090729.ebuild b/sci-libs/monomer-db/monomer-db-0.090729.ebuild
new file mode 100644
index 000000000000..65e9b0b384de
--- /dev/null
+++ b/sci-libs/monomer-db/monomer-db-0.090729.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Monomer library used for macromolecular structure building and refinement"
+HOMEPAGE="http://www.ccp4.ac.uk/"
+# SRC_URI="http://www.ysbl.york.ac.uk/~garib/refmac/data/refmac_dictionary.tar.gz"
+SRC_URI="http://dev.gentoo.org/~jlec/science-dist/${P}.tar.gz"
+
+LICENSE="ccp4"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="!<sci-chemistry/ccp4-6.1.3"
+DEPEND="${RDEPEND}"
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"/dic
+
+src_install() {
+ insinto /usr/share/ccp4/data/monomers/
+ for i in {a..z} {1..9} *list *.cif *.txt; do
+ doins -r ${i}
+ done
+ docinto html
+ dodoc *.html
+}
diff --git a/sci-libs/mpfi/Manifest b/sci-libs/mpfi/Manifest
new file mode 100644
index 000000000000..c1d4432c005c
--- /dev/null
+++ b/sci-libs/mpfi/Manifest
@@ -0,0 +1 @@
+DIST mpfi-1.5.1.tar.bz2 365467 SHA256 3fcc6536d117a67fbfbb875ab2d2b3d7fe76cdf0ce85a7e707aae1e89893696e SHA512 498f8b2e114e71c0600f601e4bfef21011e46434d6795e3cd999d38ea9a3d4c66cad2d27e7899629ae422a91b6a776dad2fdbd7c93d51a56f5cfc4ab0e3aeca1 WHIRLPOOL 22116a383cde6048e1ba6626f9e6632ffd8ba48aa9d2387c740a75e827432b7b8163fdbe695014cd5158331c9989ad6271be48027c7b38268c1a064cb64c1c63
diff --git a/sci-libs/mpfi/metadata.xml b/sci-libs/mpfi/metadata.xml
new file mode 100644
index 000000000000..d726ba25d70f
--- /dev/null
+++ b/sci-libs/mpfi/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-mathematics</herd>
+ <longdescription lang="en">
+ MPFI is intended to be a portable library written in C for arbitrary
+ precision interval arithmetic with intervals represented using MPFR
+ reliable floating-point numbers. It is based on the GNU MP library
+ and on the MPFR library. The purpose of an arbitrary precision
+ interval arithmetic is on the one hand to get guaranteed results,
+ thanks to interval computation, and on the other hand to obtain
+ accurate results, thanks to multiple precision arithmetic. The MPFI
+ library is built upon MPFR in order to benefit from the correct
+ roundings provided by MPFR. Further advantages of using MPFR are its
+ portability and compliance with the IEEE 754 standard for
+ floating-point arithmetic.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/mpfi/mpfi-1.5.1.ebuild b/sci-libs/mpfi/mpfi-1.5.1.ebuild
new file mode 100644
index 000000000000..e66e021bfd2d
--- /dev/null
+++ b/sci-libs/mpfi/mpfi-1.5.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit autotools-utils
+
+PID=30129
+
+DESCRIPTION="Multiple precision interval arithmetic library based on MPFR"
+HOMEPAGE="http://perso.ens-lyon.fr/nathalie.revol/software.html"
+SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/gmp-4.1.2
+ >=dev-libs/mpfr-2.4"
+RDEPEND="${DEPEND}"
diff --git a/sci-libs/mpir/Manifest b/sci-libs/mpir/Manifest
new file mode 100644
index 000000000000..e79d8186d90e
--- /dev/null
+++ b/sci-libs/mpir/Manifest
@@ -0,0 +1 @@
+DIST mpir-2.6.0.tar.lzma 2472231 SHA256 2d2cd75a21a73bcd8898f092e4f123016b578288d7c7eab2df05df5e1921695f SHA512 e2608beeb72651c9b2e47f8fb2bcf672f8c74e2cd622e17cd19b12100b66e929ee31d102d2901816379b23aee1a3ea3a854e3e10ebffe2a6e4772748858f911d WHIRLPOOL 4759be848778fc4f34e87083e83e3697bfb57b9c9360ab69666afadc1b2652285a3c2a4c14321d9091ed90d0df307e89e34875a7592e24c2e405453a0b6f6e06
diff --git a/sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch b/sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch
new file mode 100644
index 000000000000..fba6fea2e8f6
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch
@@ -0,0 +1,145 @@
+--- configure.in.orig 2009-11-28 10:48:59.196977657 +0000
++++ configure.in 2009-11-28 10:54:50.717976971 +0000
+@@ -361,7 +361,7 @@
+ # hugely bloat the output.
+
+
+-AC_ARG_VAR(ABI, [desired ABI (for processors supporting more than one ABI)])
++AC_ARG_VAR(MPIRABI, [desired ABI (for processors supporting more than one ABI)])
+
+ # abilist needs to be non-empty, "standard" is just a generic name here
+ abilist="standard"
+@@ -1590,7 +1590,7 @@
+
+ cat >&AC_FD_CC <<EOF
+ User:
+-ABI=$ABI
++MPIRABI=$MPIRABI
+ CC=$CC
+ CFLAGS=$CFLAGS_or_unset
+ CPPFLAGS=$CPPFLAGS_or_unset
+@@ -1611,22 +1611,22 @@
+ # If the user specifies an ABI then it must be in $abilist, after that
+ # $abilist is restricted to just that choice.
+ #
+-if test -n "$ABI"; then
++if test -n "$MPIRABI"; then
+ found=no
+ for abi in $abilist; do
+- if test $abi = "$ABI"; then found=yes; break; fi
++ if test $abi = "$MPIRABI"; then found=yes; break; fi
+ done
+ if test $found = no; then
+- AC_MSG_ERROR([ABI=$ABI is not among the following valid choices: $abilist])
++ AC_MSG_ERROR([MPIRABI=$MPIRABI is not among the following valid choices: $abilist])
+ fi
+- abilist="$ABI"
++ abilist="$MPIRABI"
+ fi
+
+ found_compiler=no
+
+ for abi in $abilist; do
+
+- echo "checking ABI=$abi"
++ echo "checking MPIRABI=$abi"
+
+ # Suppose abilist="64 32", then for abi=64, will have abi1="_64" and
+ # abi2="_64". For abi=32, will have abi1="_32" and abi2="". This is how
+@@ -1879,7 +1879,7 @@
+ done
+ fi
+
+- ABI="$abi"
++ MPIRABI="$abi"
+ CC="$cc"
+ CFLAGS="$cflags"
+ CPPFLAGS="$cppflags"
+@@ -1895,8 +1895,8 @@
+ AC_SUBST(GMP_CFLAGS)
+
+ # Could easily have this in config.h too, if desired.
+- ABI_nodots=`echo $ABI | sed 's/\./_/'`
+- GMP_DEFINE_RAW("define_not_for_expansion(\`HAVE_ABI_$ABI_nodots')", POST)
++ ABI_nodots=`echo $MPIRABI | sed 's/\./_/'`
++ GMP_DEFINE_RAW("define_not_for_expansion(\`HAVE_ABI_$MPIRABI_nodots')", POST)
+
+
+ # GMP_LDFLAGS substitution, selected according to ABI.
+@@ -2094,7 +2094,7 @@
+ #
+ case $host in
+ X86_PATTERN | X86_64_PATTERN)
+- if test "$ABI" = 32; then
++ if test "$MPIRABI" = 32; then
+ case "$path $fat_path" in
+ *mmx*) GMP_ASM_X86_MMX( , [GMP_STRIP_PATH(*mmx*)]) ;;
+ esac
+@@ -2108,7 +2108,7 @@
+
+ cat >&AC_FD_CC <<EOF
+ Decided:
+-ABI=$ABI
++MPIRABI=$MPIRABI
+ CC=$CC
+ CFLAGS=$CFLAGS
+ CPPFLAGS=$CPPFLAGS
+@@ -2117,7 +2117,7 @@
+ CXXFLAGS=$CXXFLAGS
+ path=$path
+ EOF
+-echo "using ABI=\"$ABI\""
++echo "using MPIRABI=\"$MPIRABI\""
+ echo " CC=\"$CC\""
+ echo " CFLAGS=\"$CFLAGS\""
+ echo " CPPFLAGS=\"$CPPFLAGS\""
+@@ -2593,7 +2593,7 @@
+
+
+ if test -n "$fat_path"; then
+- if test "$ABI" = 64; then
++ if test "$MPIRABI" = 64; then
+ fat_path="$fat_path_64"
+ fi
+
+@@ -3099,19 +3099,19 @@
+ GMP_INCLUDE_MPN(powerpc32/powerpc-defs.m4)
+ case $host in
+ *-*-aix*)
+- case $ABI in
++ case $MPIRABI in
+ 64 | aix64) GMP_INCLUDE_MPN(powerpc64/aix.m4) ;;
+ *) GMP_INCLUDE_MPN(powerpc32/aix.m4) ;;
+ esac
+ ;;
+ *-*-linux* | *-*-*bsd*)
+- case $ABI in
++ case $MPIRABI in
+ mode64) GMP_INCLUDE_MPN(powerpc64/elf.m4) ;;
+ mode32 | 32) GMP_INCLUDE_MPN(powerpc32/elf.m4) ;;
+ esac
+ ;;
+ *-*-darwin*)
+- case $ABI in
++ case $MPIRABI in
+ mode64) GMP_INCLUDE_MPN(powerpc64/darwin.m4) ;;
+ mode32 | 32) GMP_INCLUDE_MPN(powerpc32/darwin.m4) ;;
+ esac
+@@ -3126,7 +3126,7 @@
+ GMP_INCLUDE_MPN(powerpc32/aix.m4)
+ ;;
+ sparcv9*-*-* | ultrasparc*-*-* | sparc64-*-*)
+- case $ABI in
++ case $MPIRABI in
+ 64)
+ GMP_ASM_SPARC_REGISTER
+ ;;
+@@ -3134,7 +3134,7 @@
+ ;;
+ X86_PATTERN | X86_64_PATTERN)
+ GMP_ASM_ALIGN_FILL_0x90
+- case $ABI in
++ case $MPIRABI in
+ 32)
+ GMP_INCLUDE_MPN(x86/x86-defs.m4)
+ AC_DEFINE(HAVE_HOST_CPU_FAMILY_x86)
diff --git a/sci-libs/mpir/files/mpir-2.2.0-yasm.patch b/sci-libs/mpir/files/mpir-2.2.0-yasm.patch
new file mode 100644
index 000000000000..e717891a4e64
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.2.0-yasm.patch
@@ -0,0 +1,54 @@
+diff -U 3 -dHrN mpir-2.2.0.orig/configure.in mpir-2.2.0/configure.in
+--- mpir-2.2.0.orig/configure.in 2010-12-16 10:16:19.000000000 +0100
++++ mpir-2.2.0/configure.in 2010-12-16 10:16:53.000000000 +0100
+@@ -1455,8 +1455,6 @@
+ ;;
+ esac
+
+-AM_CONDITIONAL(BUILD_YASM, test "$want_yasm" = "yes")
+-
+ CFLAGS_or_unset=${CFLAGS-'(unset)'}
+ CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
+
+@@ -1848,7 +1846,7 @@
+ GMP_CHECK_LIBM_FOR_BUILD
+
+
+-MPIR_AS="/yasm/yasm"
++MPIR_AS="yasm"
+
+ # How to assemble, used with CFLAGS etc, see mpn/Makeasm.am.
+ # Using the compiler is a lot easier than figuring out how to invoke the
+@@ -3161,9 +3159,6 @@
+ # FIXME: Upcoming version of autoconf/automake don't like broken lines.
+ # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
+
+-# allways configure all subdirectorys , even if there are not going to be built ,
+-AC_CONFIG_SUBDIRS([yasm])
+-
+ case $host in
+ *-w64-mingw*)
+ if test $enable_fat = yes; then
+diff -U 3 -dHrN mpir-2.2.0.orig/Makefile.am mpir-2.2.0/Makefile.am
+--- mpir-2.2.0.orig/Makefile.am 2010-12-16 10:16:21.000000000 +0100
++++ mpir-2.2.0/Makefile.am 2010-12-16 10:17:19.000000000 +0100
+@@ -95,10 +95,6 @@
+
+ SUBDIRS = tests
+
+-if BUILD_YASM
+-SUBDIRS += yasm
+-endif
+-
+ SUBDIRS += mpn mpz mpq mpf printf scanf cxx tune doc
+
+ EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf
+diff -U 3 -dHrN mpir-2.2.0.orig/mpn/Makeasm.am mpir-2.2.0/mpn/Makeasm.am
+--- mpir-2.2.0.orig/mpn/Makeasm.am 2010-12-16 10:16:18.000000000 +0100
++++ mpir-2.2.0/mpn/Makeasm.am 2010-12-16 10:16:35.000000000 +0100
+@@ -112,4 +112,4 @@
+ # .as assembler, assembled with Yasm
+
+ .as.lo:
+- $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/strip_fPIC.sh $(top_builddir)$(MPIR_AS) -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
++ $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/strip_fPIC.sh $(MPIR_AS) -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
diff --git a/sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch b/sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch
new file mode 100644
index 000000000000..684bcbf7d3c1
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch
@@ -0,0 +1,95 @@
+http://bugs.gentoo.org/423767
+
+--- configure.in
++++ configure.in
+@@ -69,7 +69,7 @@
+ dnl Note that there's a copy of these options in the top-level Makefile.am,
+ dnl so update there too if changing anything.
+ dnl
+-AM_INIT_AUTOMAKE([1.11 gnu no-dependencies parallel-tests dist-bzip2 no-dist-gzip dist-lzma])
++AM_INIT_AUTOMAKE([1.11 gnu no-dependencies parallel-tests dist-bzip2 no-dist-gzip dist-xz])
+ AM_CONFIG_HEADER(config.h:config.in)
+ AM_MAINTAINER_MODE
+
+@@ -208,8 +208,7 @@
+ [enable_fat=no])
+
+ # Work around an autoconf bug
+-MKDIR_P=@mkdir_p@
+-AC_SUBST(MKDIR_P)
++AC_PROG_MKDIR_P
+
+ # Table of compilers, options, and mpn paths. This code has various related
+ # purposes
+--- yasm/po/Makefile.in.in
++++ yasm/po/Makefile.in.in
+@@ -32,17 +32,17 @@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+
+-# We use $(mkdir_p).
+-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
++# We use $(MKDIR_P).
++# In automake <= 1.9.x, $(MKDIR_P) is defined either as "mkdir -p --" or as
+ # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+ # @install_sh@ does not start with $(SHELL), so we add it.
+-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
++# In automake >= 1.10, @MKDIR_P@ is derived from ${MKDIR_P}, which is defined
+ # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+ # versions, $(mkinstalldirs) and $(install_sh) are unused.
+ mkinstalldirs = $(SHELL) @install_sh@ -d
+ install_sh = $(SHELL) @install_sh@
+ MKDIR_P = @MKDIR_P@
+-mkdir_p = @mkdir_p@
++MKDIR_P = @MKDIR_P@
+
+ GMSGFMT_ = @GMSGFMT@
+ GMSGFMT_no = @GMSGFMT@
+@@ -204,7 +204,7 @@
+ install-exec:
+ install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
++ $(MKDIR_P) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+@@ -217,13 +217,13 @@
+ fi
+ install-data-no: all
+ install-data-yes: all
+- $(mkdir_p) $(DESTDIR)$(datadir)
++ $(MKDIR_P) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+- $(mkdir_p) $(DESTDIR)$$dir; \
++ $(MKDIR_P) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+@@ -263,19 +263,19 @@
+ installdirs-exec:
+ installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
++ $(MKDIR_P) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+ installdirs-data-no:
+ installdirs-data-yes:
+- $(mkdir_p) $(DESTDIR)$(datadir)
++ $(MKDIR_P) $(DESTDIR)$(datadir)
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+- $(mkdir_p) $(DESTDIR)$$dir; \
++ $(MKDIR_P) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
diff --git a/sci-libs/mpir/files/mpir-2.6.0-gcc48.patch b/sci-libs/mpir/files/mpir-2.6.0-gcc48.patch
new file mode 100644
index 000000000000..55cd1a087ed6
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.6.0-gcc48.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/470838
+
+--- a/tests/mpz/t-scan.c
++++ b/tests/mpz/t-scan.c
+@@ -84,7 +84,7 @@ check_ref (void)
+
+ for (isize = 0; isize <= size; isize++)
+ {
+- for (oindex = 0; oindex <= numberof (offset); oindex++)
++ for (oindex = 0; oindex < numberof (offset); oindex++)
+ {
+ o = offset[oindex];
+ if ((int) isize*GMP_NUMB_BITS < -o)
diff --git a/sci-libs/mpir/files/mpir-2.6.0-yasm.patch b/sci-libs/mpir/files/mpir-2.6.0-yasm.patch
new file mode 100644
index 000000000000..3c6b1881f170
--- /dev/null
+++ b/sci-libs/mpir/files/mpir-2.6.0-yasm.patch
@@ -0,0 +1,52 @@
+diff -U 3 -dHrN mpir-2.6.0.orig/configure.in mpir-2.6.0/configure.in
+--- mpir-2.6.0.orig/configure.in 2013-01-16 10:51:13.141047276 +0100
++++ mpir-2.6.0/configure.in 2013-01-16 10:51:52.437353115 +0100
+@@ -1295,8 +1295,6 @@
+ ;;
+ esac
+
+-AM_CONDITIONAL(BUILD_YASM, test "$want_yasm" = "yes")
+-
+ CFLAGS_or_unset=${CFLAGS-'(unset)'}
+ CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
+
+@@ -1681,7 +1679,7 @@
+ GMP_CHECK_LIBM_FOR_BUILD
+
+
+-MPIR_AS="/yasm/yasm"
++MPIR_AS="yasm"
+
+ # How to assemble, used with CFLAGS etc, see mpn/Makeasm.am.
+ # Using the compiler is a lot easier than figuring out how to invoke the
+@@ -2984,7 +2982,6 @@
+ # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
+
+ # allways configure all subdirectorys , even if there are not going to be built ,
+-AC_CONFIG_SUBDIRS([yasm])
+
+ case $host in
+ *-w64-mingw*)
+diff -U 3 -dHrN mpir-2.6.0.orig/Makefile.am mpir-2.6.0/Makefile.am
+--- mpir-2.6.0.orig/Makefile.am 2013-01-16 10:51:13.121047120 +0100
++++ mpir-2.6.0/Makefile.am 2013-01-16 10:52:25.675611816 +0100
+@@ -98,10 +98,6 @@
+
+ SUBDIRS = tests
+
+-if BUILD_YASM
+-SUBDIRS += yasm
+-endif
+-
+ SUBDIRS += mpn fft mpz mpq mpf printf scanf cxx tune doc
+
+ EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf
+diff -U 3 -dHrN mpir-2.6.0.orig/mpn/Makeasm.am mpir-2.6.0/mpn/Makeasm.am
+--- mpir-2.6.0.orig/mpn/Makeasm.am 2013-01-16 10:51:13.045046528 +0100
++++ mpir-2.6.0/mpn/Makeasm.am 2013-01-16 10:53:25.333076126 +0100
+@@ -119,4 +119,4 @@
+ # .as assembler, assembled with Yasm
+
+ .as.lo:
+- $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/strip_fPIC.sh $(top_builddir)$(MPIR_AS) -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
++ $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/strip_fPIC.sh $(MPIR_AS) -I $(top_builddir) $(OBJECT_FORMAT) $(GSYM_FLAG) -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
diff --git a/sci-libs/mpir/metadata.xml b/sci-libs/mpir/metadata.xml
new file mode 100644
index 000000000000..daf70f0500f8
--- /dev/null
+++ b/sci-libs/mpir/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>tomka@gentoo.org</email>
+ <name>Thomas Kahle</name>
+ </maintainer>
+ <longdescription>
+MPIR is an open source multiprecision integer (bignum) library forked
+from the GMP (GNU Multi Precision) project. It consists of much code
+from past GMP releases, in combination with much original contributed
+code.
+
+MPIR is constructed by a developer and vendor friendly community of
+professional and amateur mathematicians, computer scientists and
+hobbyists.
+</longdescription>
+ <use>
+ <flag name="cpudetection">Enables runtime cpudetection (useful for bindist, compatability on other CPUs)</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/mpir/mpir-2.6.0-r2.ebuild b/sci-libs/mpir/mpir-2.6.0-r2.ebuild
new file mode 100644
index 000000000000..bdb7a1f45a8e
--- /dev/null
+++ b/sci-libs/mpir/mpir-2.6.0-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils eutils toolchain-funcs
+
+DESCRIPTION="Library for arbitrary precision integer arithmetic (fork of gmp)"
+HOMEPAGE="http://www.mpir.org/"
+SRC_URI="http://www.mpir.org/${P}.tar.lzma"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx cpudetection static-libs"
+
+DEPEND="x86? ( dev-lang/yasm )
+ amd64? ( dev-lang/yasm )"
+RDEPEND=""
+
+src_prepare() {
+ tc-export CC
+ epatch \
+ "${FILESDIR}"/${PN}-2.6.0-yasm.patch \
+ "${FILESDIR}"/${PN}-1.3.0-ABI-multilib.patch \
+ "${FILESDIR}"/${PN}-2.5.1-automake-1.12.patch \
+ "${FILESDIR}"/${PN}-2.6.0-gcc48.patch
+
+ # In the same way there was QA regarding executable stacks
+ # with GMP we have some here as well. We cannot apply the
+ # GMP solution as yasm is used, at least on x86/amd64.
+ # Furthermore we are able to patch config.ac.
+ ebegin "Patching assembler files to remove executable sections"
+ local i
+ for i in $(find . -type f -name '*.asm') ; do
+ cat >> $i <<-EOF
+ #if defined(__linux__) && defined(__ELF__)
+ .section .note.GNU-stack,"",%progbits
+ #endif
+ EOF
+ done
+
+ for i in $(find . -type f -name '*.as') ; do
+ cat >> $i <<-EOF
+ %ifidn __OUTPUT_FORMAT__,elf
+ section .note.GNU-stack noalloc noexec nowrite progbits
+ %endif
+ EOF
+ done
+ eend
+ eautoreconf
+}
+
+src_configure() {
+ # beware that cpudetection aka fat binaries is x86/amd64 only.
+ # Place mpir in profiles/arch/$arch/package.use.mask
+ # when making it available on $arch.
+ myeconfargs+=(
+ $(use_enable cxx)
+ $(use_enable cpudetection fat)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/mumps/Manifest b/sci-libs/mumps/Manifest
new file mode 100644
index 000000000000..1e9601e52c81
--- /dev/null
+++ b/sci-libs/mumps/Manifest
@@ -0,0 +1 @@
+DIST MUMPS_4.10.0.tar.gz 2481516 SHA256 d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933 SHA512 348df048618ea2086fbe805a90f2e31f57e0db4aa6f4843a0e3c7142bac80fe45e54768e65921657c970bc286b59c2bca91e5006ed8000678f26ba2efe2bfda8 WHIRLPOOL 268a22811395b0a193eed90798ede8bc1a1478da25354711fbc8a220b5cfc3af78e0aedff787deb1592871ff450835533e1266393592056228fa8685f51f13fd
diff --git a/sci-libs/mumps/metadata.xml b/sci-libs/mumps/metadata.xml
new file mode 100644
index 000000000000..3aa8aad22ee4
--- /dev/null
+++ b/sci-libs/mumps/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang='en'>
+ MUltifrontal Massively Parallel sparse direct Solver implements a
+ direct solver for large sparse linear systems, with a particular
+ focus on symmetric positive definite matrices. It can operate on
+ distributed matrices e.g. over a cluster. It has Fortran and C
+ interfaces, and can interface with ordering tools such
+ as Scotch or Metis.
+</longdescription>
+<use>
+ <flag name="metis">Enable matrix ordering with METIS
+ (<pkg>sci-libs/metis</pkg>, <pkg>sci-libs/parmetis</pkg>)</flag>
+ <flag name="scotch">Enable matrix ordering with <pkg>sci-libs/scotch</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/mumps/mumps-4.10.0-r1.ebuild b/sci-libs/mumps/mumps-4.10.0-r1.ebuild
new file mode 100644
index 000000000000..99d0f210fa47
--- /dev/null
+++ b/sci-libs/mumps/mumps-4.10.0-r1.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs flag-o-matic versionator fortran-2 multilib
+
+MYP=MUMPS_${PV}
+
+DESCRIPTION="MUltifrontal Massively Parallel sparse direct matrix Solver"
+HOMEPAGE="http://mumps.enseeiht.fr/"
+SRC_URI="${HOMEPAGE}${MYP}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples metis mpi +scotch static-libs"
+
+RDEPEND="
+ virtual/blas
+ metis? ( || ( sci-libs/metis <sci-libs/parmetis-4 )
+ mpi? ( <sci-libs/parmetis-4 ) )
+ scotch? ( <sci-libs/scotch-6[mpi=] )
+ mpi? ( sci-libs/scalapack )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MYP}"
+
+static_to_shared() {
+ local libstatic=${1}; shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname $(get_version_component_range 1-2))
+ local libdir=$(dirname ${libstatic})
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ [[ $(get_version_component_count) -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ sed -e "s:^\(CC\s*=\).*:\1$(tc-getCC):" \
+ -e "s:^\(FC\s*=\).*:\1$(tc-getFC):" \
+ -e "s:^\(FL\s*=\).*:\1$(tc-getFC):" \
+ -e "s:^\(AR\s*=\).*:\1$(tc-getAR) cr :" \
+ -e "s:^\(RANLIB\s*=\).*:\1$(tc-getRANLIB):" \
+ -e "s:^\(LIBBLAS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs blas):" \
+ -e "s:^\(INCPAR\s*=\).*:\1:" \
+ -e 's:^\(LIBPAR\s*=\).*:\1$(SCALAP):' \
+ -e "s:^\(OPTF\s*=\).*:\1${FFLAGS} -DALLOW_NON_INIT \$(PIC):" \
+ -e "s:^\(OPTC\s*=\).*:\1${CFLAGS} \$(PIC):" \
+ -e "s:^\(OPTL\s*=\).*:\1${LDFLAGS}:" \
+ Make.inc/Makefile.inc.generic > Makefile.inc || die
+ # fixed a missing copy of libseq to libdir
+}
+
+src_configure() {
+ LIBADD="$($(tc-getPKG_CONFIG) --libs blas) -Llib -lpord"
+ local ord="-Dpord"
+ if use metis && use mpi; then
+ sed -i \
+ -e "s:#\s*\(LMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs parmetis):" \
+ -e "s:#\s*\(IMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --cflags parmetis):" \
+ Makefile.inc || die
+ LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs parmetis)"
+ ord="${ord} -Dparmetis"
+ elif use metis; then
+ sed -i \
+ -e "s:#\s*\(LMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs metis):" \
+ -e "s:#\s*\(IMETIS\s*=\).*:\1$($(tc-getPKG_CONFIG) --cflags metis):" \
+ Makefile.inc || die
+ LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs metis)"
+ ord="${ord} -Dmetis"
+ fi
+ if use scotch && use mpi; then
+ sed -i \
+ -e "s:#\s*\(LSCOTCH\s*=\).*:\1-lptesmumps -lptscotch -lptscotcherr:" \
+ -e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \
+ Makefile.inc || die
+ LIBADD="${LIBADD} -lptesmumps -lptscotch -lptscotcherr"
+ ord="${ord} -Dptscotch"
+ elif use scotch; then
+ sed -i \
+ -e "s:#\s*\(LSCOTCH\s*=\).*:\1-lesmumps -lscotch -lscotcherr:" \
+ -e "s:#\s*\(ISCOTCH\s*=\).*:\1-I${EROOT}usr/include/scotch:" \
+ Makefile.inc || die
+ LIBADD="${LIBADD} -lesmumps -lscotch -lscotcherr"
+ ord="${ord} -Dscotch"
+ fi
+ if use mpi; then
+ sed -i \
+ -e "s:^\(CC\s*=\).*:\1mpicc:" \
+ -e "s:^\(FC\s*=\).*:\1mpif90:" \
+ -e "s:^\(FL\s*=\).*:\1mpif90:" \
+ -e "s:^\(SCALAP\s*=\).*:\1$($(tc-getPKG_CONFIG) --libs scalapack):" \
+ Makefile.inc || die
+ export LINK=mpif90
+ LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs scalapack)"
+ else
+ sed -i \
+ -e 's:-Llibseq:-L$(topdir)/libseq:' \
+ -e 's:PAR):SEQ):g' \
+ -e "s:^\(SCALAP\s*=\).*:\1:" \
+ -e 's:^LIBSEQNEEDED =:LIBSEQNEEDED = libseqneeded:g' \
+ Makefile.inc || die
+ export LINK="$(tc-getFC)"
+ fi
+ sed -i -e "s:^\s*\(ORDERINGSF\s*=\).*:\1 ${ord}:" Makefile.inc || die
+}
+
+src_compile() {
+ # Workaround #462602
+ export FAKEROOTKEY=1
+
+ # -j1 because of static archive race
+ emake -j1 alllib PIC="-fPIC"
+ if ! use mpi; then
+ #$(tc-getAR) crs lib/libmumps_common.a libseq/*.o || die
+ LIBADD+=" -Llibseq -lmpiseq"
+ static_to_shared libseq/libmpiseq.a
+ fi
+ static_to_shared lib/libpord.a ${LIBADD}
+ static_to_shared lib/libmumps_common.a ${LIBADD}
+
+ local i
+ for i in c d s z; do
+ static_to_shared lib/lib${i}mumps.a -Llib -lmumps_common ${LIBADD}
+ done
+ if use static-libs; then
+ emake clean
+ emake -j1 alllib
+ fi
+}
+
+src_test() {
+ emake all
+ local dotest
+ if use mpi; then
+ dotest="mpirun -np 2"
+ else
+ export LD_LIBRARY_PATH="${S}/libseq:${LD_LIBRARY_PATH}"
+ fi
+ cd examples
+ ${dotest} ./ssimpletest < input_simpletest_real || die
+ ${dotest} ./dsimpletest < input_simpletest_real || die
+ ${dotest} ./csimpletest < input_simpletest_cmplx || die
+ ${dotest} ./zsimpletest < input_simpletest_cmplx || die
+ einfo "The solutions should be close to (1,2,3,4,5)"
+ ${dotest} ./c_example || die
+ einfo "The solution should be close to (1,2)"
+ make clean
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/lib*.a
+ insinto /usr
+ doins -r include
+ if ! use mpi; then
+ dolib.so libseq/lib*$(get_libname)*
+ insinto /usr/include/mpiseq
+ doins libseq/*.h
+ use static-libs && dolib.a libseq/libmpiseq.a
+ fi
+ dodoc README ChangeLog VERSION
+ use doc && dodoc doc/*.pdf
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/naga/Manifest b/sci-libs/naga/Manifest
new file mode 100644
index 000000000000..d6bde19d0d80
--- /dev/null
+++ b/sci-libs/naga/Manifest
@@ -0,0 +1 @@
+DIST naga-2.1.tar.bz2 22102 RMD160 dfdb7d853630c9d77826f5b0957a8f4ec9a951f0 SHA1 d02023871c3201586c6dd74ce27d85b99b8cdfb1 SHA256 5ccae8052db24f1265d690ea9fd96005f835c5427a66737922eed188ea2bfd95
diff --git a/sci-libs/naga/metadata.xml b/sci-libs/naga/metadata.xml
new file mode 100644
index 000000000000..ce4f93d73f13
--- /dev/null
+++ b/sci-libs/naga/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>je_fro@gentoo.org</email>
+ <name>Jeff Gardner</name>
+ </maintainer>
+ <longdescription lang="en">
+ Simplified Java NIO asynchronous sockets
+ </longdescription>
+</pkgmetadata>
+
diff --git a/sci-libs/naga/naga-2.1.ebuild b/sci-libs/naga/naga-2.1.ebuild
new file mode 100644
index 000000000000..ae9227e4bdfd
--- /dev/null
+++ b/sci-libs/naga/naga-2.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+inherit java-pkg-2 java-ant-2
+
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+MY_PV=${PV//./_}
+MY_PVR="${MY_PV}-r43"
+
+DESCRIPTION="Simplified Java NIO asynchronous sockets"
+HOMEPAGE="http://code.google.com/p/naga/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND=">=virtual/jdk-1.5
+ dev-java/ant-core"
+RDEPEND=">=virtual/jre-1.5"
+
+src_compile() {
+ eant build
+}
+
+src_install() {
+ java-pkg_newjar _DIST/${PN}-${MY_PVR}.jar ${PN}.jar
+}
diff --git a/sci-libs/neartree/Manifest b/sci-libs/neartree/Manifest
new file mode 100644
index 000000000000..6a6335df6739
--- /dev/null
+++ b/sci-libs/neartree/Manifest
@@ -0,0 +1 @@
+DIST neartree-3.1.1.tar.gz 124848 SHA256 5f26d0bef816f492d3939fbe06b8523a495a1fe4d06e9f8283f68a55436961ae SHA512 dca94cdc46610f3636f958cb361eecdc2b8ba7cf2192043810262f902b1999229eb4d00823cd96790f35c15305f6ecbef85710328776a2f1d306d9d3d4ca39eb WHIRLPOOL a16efe30e73ce07bb6ee149718db4b6a72f8edbc38a196867bb4a13e502919149cc1dace8eb4b84d8505d967752e8c2c4c691191f3761ccd68b55a431de572a7
diff --git a/sci-libs/neartree/files/2.1.4-test.patch b/sci-libs/neartree/files/2.1.4-test.patch
new file mode 100644
index 000000000000..382cfd17fa58
--- /dev/null
+++ b/sci-libs/neartree/files/2.1.4-test.patch
@@ -0,0 +1,20 @@
+diff --git a/Makefile b/Makefile
+index 10e9ba2..b9a349b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -303,14 +303,7 @@ tests: $(LIB) $(BIN) $(BIN)/CPPMain $(BIN)/CPPNearTreeTest \
+ $(BIN)/CMain 3458923 > $(TESTDATA)/CMain.lst
+ $(BIN)/CPPNearTreeTest
+ $(BIN)/CNearTreeTest
+-ifneq ($(MSYSTEM),MINGW32)
+- diff -b -c $(TESTDATA)/CPPMain_orig.lst $(TESTDATA)/CPPMain.lst
+- diff -b -c $(TESTDATA)/CMain_orig.lst $(TESTDATA)/CMain.lst
+-else
+- diff -b -c $(TESTDATA)/CPPMain_MINGW_orig.lst $(TESTDATA)/CPPMain.lst
+- diff -b -c $(TESTDATA)/CMain_MINGW_orig.lst $(TESTDATA)/CMain.lst
+-endif
+-
++
+ #
+ # Remove all non-source files
+ #
diff --git a/sci-libs/neartree/files/2.3.1-gentoo.patch b/sci-libs/neartree/files/2.3.1-gentoo.patch
new file mode 100644
index 000000000000..aac9c169f620
--- /dev/null
+++ b/sci-libs/neartree/files/2.3.1-gentoo.patch
@@ -0,0 +1,100 @@
+diff --git a/Makefile b/Makefile
+index 38b63c5..4e6bc40 100644
+--- a/Makefile
++++ b/Makefile
+@@ -42,17 +42,17 @@
+
+ # Version string
+ VERSION = 3:0:0
+-RELEASE = 2.3
++RELEASE = 2.3.1
+
+
+ #
+ # Compiler and compilation flags
+ #
+-CC = gcc
++CC ?= gcc
+ ifneq ($(MSYSTEM),MINGW32)
+-CFLAGS = -g -O2 -Wall -ansi -pedantic -DCNEARTREE_SAFE_TRIANG=1
++CFLAGS += -ansi -DCNEARTREE_SAFE_TRIANG=1
+ else
+-CFLAGS = -g -O2 -Wall -DCNEARTREE_SAFE_TRIANG=1
++CFLAGS += -DCNEARTREE_SAFE_TRIANG=1
+ endif
+
+ #
+@@ -72,8 +72,8 @@ endif
+ # Uncomment the next two lines if CVector is installed locally in $(HOME)/include
+ # and $(HOME)/lib
+ #
+-#CVECTOR_INCLUDE = -I$(HOME)/include
+-#CVECTOR_LIBLOC = -L$(HOME)/lib
++CVECTOR_INCLUDE = -I/usr/include
++CVECTOR_LIBLOC = -L/usr/GENTOOLIBDIR
+
+ #
+ # Directories
+@@ -86,7 +86,7 @@ INC = $(ROOT)
+ EXAMPLES = $(ROOT)
+ TESTDATA = $(ROOT)
+ ifndef INSTALL_PREFIX
+-INSTALL_PREFIX = /usr/local
++INSTALL_PREFIX = $(DESTDIR)/usr
+ #INSTALL_PREFIX = $(HOME)
+ endif
+
+@@ -111,10 +111,10 @@ CPPLIBRARIES = -lm
+ CLIBRARIES = $(CVECTOR_LIBLOC) -lCVector -lm
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/lib
++CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CXXFLAGS) $(INCLUDES) $(WARNINGS) -c
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/GENTOOLIBDIR $(LDFLAGS)
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+-CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) -no-undefined $(CFLAGS) $(INCLUDES)
++CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) -no-undefined $(CXXFLAGS) $(INCLUDES)
+ BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) -no-undefined $(CFLAGS) -shared -I$(INSTALL_PREFIX)/include
+ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static-libtool-libs -I$(INSTALL_PREFIX)/include
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+@@ -221,10 +221,10 @@ all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
+ $(LIB)/libCNearTree.$(LIB_EXT) \
+ $(BIN)/CPPMain $(BIN)/CMain $(BIN)/CPPNearTreeTest $(BIN)/CNearTreeTest
+
+-install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include \
++install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/GENTOOLIBDIR $(INSTALL_PREFIX)/include \
+ $(INC) $(LIB)/libCNearTree.$(LIB_EXT) $(INC)/TNear.h $(INC)/CNearTree.h $(INC)/rhrand.h
+- $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
+- $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
++ $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/GENTOOLIBDIR/libCNearTree.$(LIB_EXT)
++ $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/GENTOOLIBDIR/libCNearTree.$(LIB_EXT)
+ -cp $(INSTALL_PREFIX)/include/TNear.h $(INSTALL_PREFIX)/include/TNear_old.h
+ -cp $(INSTALL_PREFIX)/include/CNearTree.h $(INSTALL_PREFIX)/include/CNearTree_old.h
+ cp $(INC)/TNear.h $(INSTALL_PREFIX)/include/TNear.h
+@@ -233,14 +233,6 @@ install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include
+ chmod 644 $(INSTALL_PREFIX)/include/TNear.h
+ chmod 644 $(INSTALL_PREFIX)/include/CNearTree.h
+ chmod 644 $(INSTALL_PREFIX)/include/rhrand.h
+- echo "Testing final install dynamic"
+- $(BUILD_COMMAND_DYNAMIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
+- -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_dynamic
+- $(BIN)/CNearTreeTest_dynamic
+- echo "Testing final install static"
+- $(BUILD_COMMAND_STATIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
+- -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_static
+- $(BIN)/CNearTreeTest_static
+
+
+
+@@ -250,8 +242,8 @@ install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include
+ $(INSTALL_PREFIX):
+ mkdir -p $(INSTALL_PREFIX)
+
+-$(INSTALL_PREFIX)/lib: $(INSTALL_PREFIX)
+- mkdir -p $(INSTALL_PREFIX)/lib
++$(INSTALL_PREFIX)/GENTOOLIBDIR: $(INSTALL_PREFIX)
++ mkdir -p $(INSTALL_PREFIX)/GENTOOLIBDIR
+
+ $(INSTALL_PREFIX)/bin: $(INSTALL_PREFIX)
+ mkdir -p $(INSTALL_PREFIX)/bin
diff --git a/sci-libs/neartree/files/2.3.2-gentoo.patch b/sci-libs/neartree/files/2.3.2-gentoo.patch
new file mode 100644
index 000000000000..4ddf55f7526b
--- /dev/null
+++ b/sci-libs/neartree/files/2.3.2-gentoo.patch
@@ -0,0 +1,82 @@
+ Makefile | 28 ++++++++++++++--------------
+ 1 files changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 2a5c626..0698510 100644
+--- a/Makefile
++++ b/Makefile
+@@ -50,11 +50,11 @@ RELEASE = 2.3.2
+ #
+ # Compiler and compilation flags
+ #
+-CC = gcc
++CC ?= gcc
+ ifneq ($(MSYSTEM),MINGW32)
+-CFLAGS = -g -O2 -Wall -ansi -pedantic -DCNEARTREE_SAFE_TRIANG=1
++CFLAGS += -ansi -DCNEARTREE_SAFE_TRIANG=1
+ else
+-CFLAGS = -g -O2 -Wall -DCNEARTREE_SAFE_TRIANG=1
++CFLAGS += -DCNEARTREE_SAFE_TRIANG=1
+ endif
+
+ #
+@@ -74,8 +74,8 @@ endif
+ # Uncomment the next two lines if CVector is installed locally in $(HOME)/include
+ # and $(HOME)/lib
+ #
+-#CVECTOR_INCLUDE = -I$(HOME)/include
+-#CVECTOR_LIBLOC = -L$(HOME)/lib
++CVECTOR_INCLUDE = -I/usr/include
++CVECTOR_LIBLOC = -L/usr/GENTOOLIBDIR
+
+ #
+ # Directories
+@@ -88,7 +88,7 @@ INC = $(ROOT)
+ EXAMPLES = $(ROOT)
+ TESTDATA = $(ROOT)
+ ifndef INSTALL_PREFIX
+-INSTALL_PREFIX = /usr/local
++INSTALL_PREFIX = $(DESTDIR)/usr
+ #INSTALL_PREFIX = $(HOME)
+ endif
+
+@@ -113,10 +113,10 @@ CPPLIBRARIES = -lm
+ CLIBRARIES = $(CVECTOR_LIBLOC) -lCVector -lm
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/lib
++CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CXXFLAGS) $(INCLUDES) $(WARNINGS) -c
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/GENTOOLIBDIR $(LDFLAGS)
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+-CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) -no-undefined $(CFLAGS) $(INCLUDES)
++CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) -no-undefined $(CXXFLAGS) $(INCLUDES)
+ BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) -no-undefined $(CFLAGS) -shared -I$(INSTALL_PREFIX)/include
+ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static-libtool-libs -I$(INSTALL_PREFIX)/include
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+@@ -223,11 +223,11 @@ all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
+ $(LIB)/libCNearTree.$(LIB_EXT) \
+ $(BIN)/CPPMain $(BIN)/CMain $(BIN)/CPPNearTreeTest $(BIN)/CNearTreeTest
+
+-install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include \
++install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/GENTOOLIBDIR $(INSTALL_PREFIX)/include \
+ $(INC) $(LIB)/libCNearTree.$(LIB_EXT) $(INC)/TNear.h $(INC)/CNearTree.h \
+ $(INC)/rhrand.h $(INC)/triple.h
+- $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
+- $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
++ $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/GENTOOLIBDIR/libCNearTree.$(LIB_EXT)
++ $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/GENTOOLIBDIR/libCNearTree.$(LIB_EXT)
+ -cp $(INSTALL_PREFIX)/include/TNear.h $(INSTALL_PREFIX)/include/TNear_old.h
+ -cp $(INSTALL_PREFIX)/include/CNearTree.h $(INSTALL_PREFIX)/include/CNearTree_old.h
+ cp $(INC)/TNear.h $(INSTALL_PREFIX)/include/TNear.h
+@@ -255,8 +255,8 @@ install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include
+ $(INSTALL_PREFIX):
+ mkdir -p $(INSTALL_PREFIX)
+
+-$(INSTALL_PREFIX)/lib: $(INSTALL_PREFIX)
+- mkdir -p $(INSTALL_PREFIX)/lib
++$(INSTALL_PREFIX)/GENTOOLIBDIR: $(INSTALL_PREFIX)
++ mkdir -p $(INSTALL_PREFIX)/GENTOOLIBDIR
+
+ $(INSTALL_PREFIX)/bin: $(INSTALL_PREFIX)
+ mkdir -p $(INSTALL_PREFIX)/bin
diff --git a/sci-libs/neartree/files/2.3.2-notest.patch b/sci-libs/neartree/files/2.3.2-notest.patch
new file mode 100644
index 000000000000..f49d1d7edad7
--- /dev/null
+++ b/sci-libs/neartree/files/2.3.2-notest.patch
@@ -0,0 +1,22 @@
+ Makefile | 8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 2a5c626..cab4102 100644
+--- a/Makefile
++++ b/Makefile
+@@ -238,14 +238,6 @@ install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include
+ chmod 644 $(INSTALL_PREFIX)/include/CNearTree.h
+ chmod 644 $(INSTALL_PREFIX)/include/rhrand.h
+ chmod 644 $(INSTALL_PREFIX)/include/triple.h
+- echo "Testing final install dynamic"
+- $(BUILD_COMMAND_DYNAMIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
+- -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_dynamic
+- $(BIN)/CNearTreeTest_dynamic
+- echo "Testing final install static"
+- $(BUILD_COMMAND_STATIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
+- -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_static
+- $(BIN)/CNearTreeTest_static
+
+
+
diff --git a/sci-libs/neartree/files/3.1.1-gentoo.patch b/sci-libs/neartree/files/3.1.1-gentoo.patch
new file mode 100644
index 000000000000..4f72e022e345
--- /dev/null
+++ b/sci-libs/neartree/files/3.1.1-gentoo.patch
@@ -0,0 +1,98 @@
+From eb88a598f46f835782ba93bfbde68761cb159f4c Mon Sep 17 00:00:00 2001
+Message-Id: <eb88a598f46f835782ba93bfbde68761cb159f4c.1323853429.git.jlec@gentoo.org>
+From: Justin Lecher <jlec@gentoo.org>
+Date: Wed, 14 Dec 2011 09:50:42 +0100
+Subject: [PATCH 1/2] gentoo.patch
+
+Conflicts:
+
+ Makefile
+---
+ Makefile | 30 +++++++++++++++---------------
+ 1 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5c92d8b..859363e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -52,11 +52,10 @@ RELEASE = 3.1
+ #
+-CC = gcc
+ ifneq ($(MSYSTEM),MINGW32)
+-CFLAGS = -g -O2 -Wall -ansi -pedantic -DCNEARTREE_SAFE_TRIANG=1
++CFLAGS += -ansi -DCNEARTREE_SAFE_TRIANG=1
+ TIME = time
+ else
+-CFLAGS = -g -O2 -Wall -DCNEARTREE_SAFE_TRIANG=1
+-TIME =
++CFLAGS += -DCNEARTREE_SAFE_TRIANG=1
++TIME =
+ endif
+
+ #
+@@ -76,8 +76,8 @@ endif
+ # Uncomment the next two lines if CVector is installed locally in $(HOME)/include
+ # and $(HOME)/lib
+ #
+-#CVECTOR_INCLUDE = -I$(HOME)/include
+-#CVECTOR_LIBLOC = -L$(HOME)/lib
++CVECTOR_INCLUDE = -I/usr/include
++CVECTOR_LIBLOC = -L/usr/GENTOOLIBDIR
+
+ #
+ # Directories
+@@ -90,7 +90,7 @@ INC = $(ROOT)
+ EXAMPLES = $(ROOT)
+ TESTDATA = $(ROOT)
+ ifndef INSTALL_PREFIX
+-INSTALL_PREFIX = /usr/local
++INSTALL_PREFIX = $(DESTDIR)/usr
+ #INSTALL_PREFIX = $(HOME)
+ endif
+
+@@ -115,10 +115,10 @@ CPPLIBRARIES = -lm
+ CLIBRARIES = $(CVECTOR_LIBLOC) -lCVector -lm
+
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+-LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -no-undefined -rpath $(INSTALL_PREFIX)/lib
++CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CXXFLAGS) $(INCLUDES) $(WARNINGS) -c
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/GENTOOLIBDIR $(LDFLAGS)
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+-CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) -no-undefined $(CFLAGS) $(INCLUDES)
++CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) -no-undefined $(CXXFLAGS) $(INCLUDES)
+ BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) -no-undefined $(CFLAGS) -shared -I$(INSTALL_PREFIX)/include
+ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static-libtool-libs -I$(INSTALL_PREFIX)/include
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+@@ -223,13 +223,13 @@ endif
+ #
+ all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
+ $(LIB)/libCNearTree.$(LIB_EXT) \
+- $(BIN)/CPPMain $(BIN)/CMain $(BIN)/CPPNearTreeTest $(BIN)/CNearTreeTest $(BIN)/CNearTreeTestInst
++ $(BIN)/CPPMain $(BIN)/CMain $(BIN)/CPPNearTreeTest $(BIN)/CNearTreeTest
+
+-install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include \
++install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/GENTOOLIBDIR $(INSTALL_PREFIX)/include \
+ $(INC) $(LIB)/libCNearTree.$(LIB_EXT) $(INC)/TNear.h $(INC)/CNearTree.h \
+ $(INC)/rhrand.h $(INC)/triple.h
+- $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
+- $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
++ $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/GENTOOLIBDIR/libCNearTree.$(LIB_EXT)
++ $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/GENTOOLIBDIR/libCNearTree.$(LIB_EXT)
+ -cp $(INSTALL_PREFIX)/include/TNear.h $(INSTALL_PREFIX)/include/TNear_old.h
+ -cp $(INSTALL_PREFIX)/include/CNearTree.h $(INSTALL_PREFIX)/include/CNearTree_old.h
+ cp $(INC)/TNear.h $(INSTALL_PREFIX)/include/TNear.h
+@@ -257,8 +257,8 @@ install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include
+ $(INSTALL_PREFIX):
+ mkdir -p $(INSTALL_PREFIX)
+
+-$(INSTALL_PREFIX)/lib: $(INSTALL_PREFIX)
+- mkdir -p $(INSTALL_PREFIX)/lib
++$(INSTALL_PREFIX)/GENTOOLIBDIR: $(INSTALL_PREFIX)
++ mkdir -p $(INSTALL_PREFIX)/GENTOOLIBDIR
+
+ $(INSTALL_PREFIX)/bin: $(INSTALL_PREFIX)
+ mkdir -p $(INSTALL_PREFIX)/bin
+--
+1.7.8
+
diff --git a/sci-libs/neartree/files/3.1.1-notest.patch b/sci-libs/neartree/files/3.1.1-notest.patch
new file mode 100644
index 000000000000..c85a50537894
--- /dev/null
+++ b/sci-libs/neartree/files/3.1.1-notest.patch
@@ -0,0 +1,34 @@
+From c9367aefa380d276590e3e0045f69fc884fed948 Mon Sep 17 00:00:00 2001
+Message-Id: <c9367aefa380d276590e3e0045f69fc884fed948.1323853429.git.jlec@gentoo.org>
+In-Reply-To: <eb88a598f46f835782ba93bfbde68761cb159f4c.1323853429.git.jlec@gentoo.org>
+References: <eb88a598f46f835782ba93bfbde68761cb159f4c.1323853429.git.jlec@gentoo.org>
+From: Justin Lecher <jlec@gentoo.org>
+Date: Wed, 14 Dec 2011 09:56:51 +0100
+Subject: [PATCH 2/2] notest.patch
+
+---
+ Makefile | 8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 859363e..8de706b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -240,14 +240,6 @@ install: all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/GENTOOLIBDIR $(INSTALL_PREFIX)
+ chmod 644 $(INSTALL_PREFIX)/include/CNearTree.h
+ chmod 644 $(INSTALL_PREFIX)/include/rhrand.h
+ chmod 644 $(INSTALL_PREFIX)/include/triple.h
+- echo "Testing final install dynamic"
+- $(BUILD_COMMAND_DYNAMIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
+- -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_dynamic
+- $(BIN)/CNearTreeTest_dynamic
+- echo "Testing final install static"
+- $(BUILD_COMMAND_STATIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
+- -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_static
+- $(BIN)/CNearTreeTest_static
+
+
+
+--
+1.7.8
+
diff --git a/sci-libs/neartree/files/3.1.1-test.patch b/sci-libs/neartree/files/3.1.1-test.patch
new file mode 100644
index 000000000000..2796be6eaf85
--- /dev/null
+++ b/sci-libs/neartree/files/3.1.1-test.patch
@@ -0,0 +1,34 @@
+From 6a9ec8e68191a3ff9ad21a34814e71f6baf6f5ce Mon Sep 17 00:00:00 2001
+Message-Id: <6a9ec8e68191a3ff9ad21a34814e71f6baf6f5ce.1323853619.git.jlec@gentoo.org>
+From: Justin Lecher <jlec@gentoo.org>
+Date: Wed, 14 Dec 2011 10:06:51 +0100
+Subject: [PATCH] 3.1.1-test.patch
+
+---
+ Makefile | 10 ----------
+ 1 files changed, 0 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8de706b..73ae0da 100644
+--- a/Makefile
++++ b/Makefile
+@@ -339,16 +339,6 @@ tests: $(LIB) $(BIN) $(BIN)/CPPMain $(BIN)/CPPMain_Flip $(BIN)/CPPNearTreeTest
+ $(TIME) $(BIN)/CPPNearTreeTestInstNoFlip
+ $(TIME) $(BIN)/CNearTreeTest --debug
+ $(TIME) $(BIN)/CNearTreeTestInst --debug
+-ifneq ($(MSYSTEM),MINGW32)
+- diff -b -c $(TESTDATA)/CPPMain_orig.lst $(TESTDATA)/CPPMain.lst
+- diff -b -c $(TESTDATA)/CPPMain_orig.lst $(TESTDATA)/CPPMain_Flip.lst
+- diff -b -c $(TESTDATA)/CMain_orig.lst $(TESTDATA)/CMain.lst
+-else
+- diff -b -c $(TESTDATA)/CPPMain_MINGW_orig.lst $(TESTDATA)/CPPMain.lst
+- diff -b -c $(TESTDATA)/CPPMain_MINGW_orig.lst $(TESTDATA)/CPPMain_Flip.lst
+- diff -b -c $(TESTDATA)/CMain_MINGW_orig.lst $(TESTDATA)/CMain.lst
+-endif
+-
+ #
+ # Remove all non-source files
+ #
+--
+1.7.8
+
diff --git a/sci-libs/neartree/files/CMakeLists.txt b/sci-libs/neartree/files/CMakeLists.txt
new file mode 100644
index 000000000000..cb4375da7964
--- /dev/null
+++ b/sci-libs/neartree/files/CMakeLists.txt
@@ -0,0 +1,21 @@
+cmake_minimum_required(VERSION 2.8)
+project (Neartree C)
+
+SET (LIB_MAJOR 5)
+SET (LIB_MINOR 1)
+SET (LIB_RELEASE 0)
+
+SET (_soversion ${LIB_MAJOR}.${LIB_MINOR}.${LIB_RELEASE})
+
+include_directories ("${PROJECT_SOURCE_DIR}")
+
+add_library(CNearTree SHARED CNearTree.c)
+target_link_libraries(CNearTree CVector m)
+
+set_target_properties(CNearTree PROPERTIES SOVERSION ${LIB_MAJOR} VERSION ${_soversion})
+
+INSTALL(TARGETS CNearTree DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+install(FILES CNearTree.h rhrand.h TNear.h triple.h
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
+install(FILES README_NearTree.txt DESTINATION ${DOC_DIR})
+install(FILES README_NearTree.html index.html DESTINATION ${DOC_DIR}/html)
diff --git a/sci-libs/neartree/metadata.xml b/sci-libs/neartree/metadata.xml
new file mode 100644
index 000000000000..187a4e99374a
--- /dev/null
+++ b/sci-libs/neartree/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <upstream>
+ <remote-id type="sourceforge">neartree</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/neartree/neartree-3.1.1-r3.ebuild b/sci-libs/neartree/neartree-3.1.1-r3.ebuild
new file mode 100644
index 000000000000..de89d71cfb5c
--- /dev/null
+++ b/sci-libs/neartree/neartree-3.1.1-r3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cmake-utils
+
+MY_PN=NearTree
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Function library efficiently solving the Nearest Neighbor Problem(known as the post office problem)"
+HOMEPAGE="http://neartree.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/${MY_P}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND="dev-libs/cvector"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ cp "${FILESDIR}"/CMakeLists.txt . || die
+}
+
+src_configure() {
+ local mycmakeargs=( -DDOC_DIR="${EPREFIX}/usr/share/doc/${PF}" )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/nemesis/Manifest b/sci-libs/nemesis/Manifest
new file mode 100644
index 000000000000..3bd6a0d6f1fc
--- /dev/null
+++ b/sci-libs/nemesis/Manifest
@@ -0,0 +1,2 @@
+DIST exodus-5.22b.tar.gz 4693236 SHA256 6781b96039af030a98ddb893c40db06959b4843b6e2961c770b5d64d90241265 SHA512 04364b473d074c8bff194c63ed5ef78cb163ccc72a8dd196803646e8a8fe0faf25f9fd9a68d6df0ee821b9a84341b6aeabcc816b476fb3f7befe1e482a9455b7 WHIRLPOOL a95c98db2c6d825602618acaeced503bc1b9e312b6a4968011bd663d4c036976b4f5bf3fd45ceec0f31d3bca8e9a8cb6d53fd2d1b33ab25ec9e0993436abc7c6
+DIST exodus-5.24.tar.bz2 4252980 SHA256 c16a70c0572341c7e680f8d6420c79e1fd744ba717dc4f7e023f7421c636515d SHA512 d31cf17d2112b625259a70a7f73609323b94a3eed77be3b09961e67518d1b8caf82617a18f8c651fa6549988aa9a02455aea04402463b4fb7e66dd4e15b7e87e WHIRLPOOL 5a622fce123d55187c0895934db76c2cfb3ab2e83e13d6f5b6655c388e7cac1107acaa786b75be5275de7398035a5604d0be2975c78da05edbdaa4f8efbf9513
diff --git a/sci-libs/nemesis/files/nemesis-5.22b-multilib.patch b/sci-libs/nemesis/files/nemesis-5.22b-multilib.patch
new file mode 100644
index 000000000000..b99add01ea56
--- /dev/null
+++ b/sci-libs/nemesis/files/nemesis-5.22b-multilib.patch
@@ -0,0 +1,57 @@
+ nemesis/CMakeLists.txt | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/nemesis/CMakeLists.txt b/nemesis/CMakeLists.txt
+index 64aff5d..bed5ede 100644
+--- a/nemesis/CMakeLists.txt
++++ b/nemesis/CMakeLists.txt
+@@ -19,7 +19,7 @@ find_path( NETCDF_INCLUDE_DIR netcdf.h
+ find_library( NETCDF_LIBRARY netcdf
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ )
+
+@@ -29,16 +29,17 @@ find_program (NETCDF_NCDUMP ncdump
+ $ENV{NETCDF_DIR}/ncdump
+ )
+
+-find_library( EXODUS_LIBRARY exodus
++find_library( EXODUS_LIBRARY exoIIv2c
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
++ $ENV{EXODUS_DIR}/${CMAKE_INSTALL_LIBDIR}
+ )
+
+ # Hack for HDF5
+ find_library( HDF5_LIBRARY hdf5
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+@@ -46,7 +47,7 @@ find_library( HDF5_LIBRARY hdf5
+ find_library( HDF5HL_LIBRARY hdf5_hl
+ $ENV{ACCESS}/lib/shared
+ $ENV{ACCESS}/lib
+- $ENV{NETCDF_DIR}/lib
++ $ENV{NETCDF_DIR}/${CMAKE_INSTALL_LIBDIR}
+ $ENV{NETCDF_DIR}/libsrc/.libs
+ /usr/local/hdf5/lib
+ )
+@@ -79,8 +80,8 @@ ADD_EXECUTABLE(ne_test ne_ctest_wrap.c)
+ TARGET_LINK_LIBRARIES( ne_test nemesis ${EXODUS_LIBRARY} ${NETCDF_LIBRARY} ${HDF5HL_LIBRARY} ${HDF5_LIBRARY} ${Z_LIBRARY} ${MATH_LIBRARY})
+
+ INSTALL(TARGETS nemesis
+- RUNTIME DESTINATION lib COMPONENT Runtime
+- LIBRARY DESTINATION lib COMPONENT Runtime
+- ARCHIVE DESTINATION lib COMPONENT Development)
++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development)
+ INSTALL(FILES ${HEADERS} DESTINATION include COMPONENT Development)
+
diff --git a/sci-libs/nemesis/metadata.xml b/sci-libs/nemesis/metadata.xml
new file mode 100644
index 000000000000..ae80af7a02ed
--- /dev/null
+++ b/sci-libs/nemesis/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+NEMESIS is an enhancement to the EXODUSII finite element database
+model used to store and retrieve data for unstructured parallel finite
+element analyses. NEMESIS adds data structures which facilitate the
+partitioning of a scalar (standard serial) EXODUSII file onto parallel
+disk systems found on many parallel computers. Since the NEMESIS
+application programming interface (API) can be used to append
+information to an existing EXODUSII database, any existing software
+that reads EXODUSII files can be used on files which contain NEMESIS
+information. The NEMESIS information is written and read via C or C++
+callable functions which compromise the NEMESIS I API.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">exodusii</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/nemesis/nemesis-5.22b.ebuild b/sci-libs/nemesis/nemesis-5.22b.ebuild
new file mode 100644
index 000000000000..abe21cb50e81
--- /dev/null
+++ b/sci-libs/nemesis/nemesis-5.22b.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cmake-utils multilib
+
+MY_PN="exodus"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Enhancement to the EXODUSII finite element database model"
+HOMEPAGE="http://sourceforge.net/projects/exodusii/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="
+ sci-libs/exodusii
+ sci-libs/netcdf"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}/${PN}
+
+PATCHES=( "${FILESDIR}"/${P}-multilib.patch )
+
+src_prepare() {
+ find ../exodus -delete || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ mycmakeargs="${mycmakeargs}
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -DNETCDF_DIR="${EPREFIX}/usr/"
+ -DEXODUS_DIR="${EPREFIX}/usr/"
+ $(cmake-utils_use !static-libs BUILD_SHARED_LIBS)
+ $(cmake-utils_use test BUILD_TESTING)"
+ cmake-utils_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/ne_test || die
+}
diff --git a/sci-libs/nemesis/nemesis-5.24.ebuild b/sci-libs/nemesis/nemesis-5.24.ebuild
new file mode 100644
index 000000000000..8b2dfaac39a0
--- /dev/null
+++ b/sci-libs/nemesis/nemesis-5.24.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+MY_PN="exodus"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Enhancement to the EXODUSII finite element database model"
+HOMEPAGE="http://sourceforge.net/projects/exodusii/"
+SRC_URI="mirror://sourceforge/project/${MY_PN}ii/${MY_P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="
+ sci-libs/exodusii
+ sci-libs/netcdf"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}/${PN}
+
+PATCHES=( "${FILESDIR}"/${PN}-5.22b-multilib.patch )
+
+src_prepare() {
+ find ../exodus -delete || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ mycmakeargs="${mycmakeargs}
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ -DNETCDF_DIR="${EPREFIX}/usr/"
+ -DEXODUS_DIR="${EPREFIX}/usr/"
+ $(cmake-utils_use !static-libs BUILD_SHARED_LIBS)
+ $(cmake-utils_use test BUILD_TESTING)"
+ cmake-utils_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/ne_test || die
+}
diff --git a/sci-libs/netcdf-cxx/Manifest b/sci-libs/netcdf-cxx/Manifest
new file mode 100644
index 000000000000..7c05fa8e487d
--- /dev/null
+++ b/sci-libs/netcdf-cxx/Manifest
@@ -0,0 +1,2 @@
+DIST netcdf-cxx-4.2.1.tar.gz 456547 SHA256 bad56abfc99f321829070c04aebb377fc8942a4d09e5a3c88ad2b6547ed50ebc SHA512 d51ab1cbda74db5f7b074799d2407d0214d1c920af780ae3bb7a47b3708e45f721be7eec61902e035968a9df5019a7b2b5a10f236f6bab4cb47a26e4e7867adb WHIRLPOOL b7787c2529b7a1be2523931fcafdff4f78562fbd11c4ad7e9bc318c1b856235413d8a45c2f58b07ca20a7a22e1e020251b11ac688cddae8cd04766005c4f08c8
+DIST netcdf-cxx-4.2.tar.gz 703482 SHA256 95ed6ab49a0ee001255eac4e44aacb5ca4ea96ba850c08337a3e4c9a0872ccd1 SHA512 347ddbc518ac2186868d69417342e5146e285fc3a88f7c55edc33063f5c9a6647af7e512a03b9b6a8f67a448b85a1edcdde5df707b893f6a1527821cfd78e643 WHIRLPOOL 783120762a26663377684cc7898749073b4431d6aa25fd2ff97b6ac12224dbc5303392fcdfafb2a4d841cd09dd90b723af4ebce1f32f8513bce19990bb9420bc
diff --git a/sci-libs/netcdf-cxx/files/netcdf-cxx-4.2-config.patch b/sci-libs/netcdf-cxx/files/netcdf-cxx-4.2-config.patch
new file mode 100644
index 000000000000..7d83b6d0dfc1
--- /dev/null
+++ b/sci-libs/netcdf-cxx/files/netcdf-cxx-4.2-config.patch
@@ -0,0 +1,28 @@
+--- ncxx4-config.in.orig 2013-01-10 10:47:00.595224631 -0800
++++ ncxx4-config.in 2013-01-10 10:49:22.856926765 -0800
+@@ -5,7 +5,7 @@
+
+ prefix=@prefix@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=@libdir@
+ includedir=${prefix}/include
+
+ cc="@CC@"
+@@ -13,7 +13,7 @@
+ fc="@FC@"
+ cflags=" -I${includedir} @CPPFLAGS@"
+ fflags="@FFLAGS@ @MOD_FLAG@${includedir}"
+-libs="-L${libdir} @NC_LIBS@"
++libs="-L${libdir} @NC_LIBS@ -lnetcdf"
+ flibs="-L${libdir} @NC_FLIBS@"
+ has_dap="@HAS_DAP@"
+ has_nc2="@HAS_NC2@"
+--- netcdf-cxx4.pc.in.orig 2013-01-10 10:46:50.995177250 -0800
++++ netcdf-cxx4.pc.in 2013-01-10 10:49:45.030036161 -0800
+@@ -10,4 +10,4 @@
+ Version: @PACKAGE_VERSION@
+ Libs: -L${libdir} @NC_LIBS@
+ Cflags: -I${includedir}
+-
++Requires: netcdf
diff --git a/sci-libs/netcdf-cxx/metadata.xml b/sci-libs/netcdf-cxx/metadata.xml
new file mode 100644
index 000000000000..5703447ef64a
--- /dev/null
+++ b/sci-libs/netcdf-cxx/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ NetCDF (network Common Data Form) is an interface for scientific
+ data access and a freely-distributed software library that provides an
+ implementation of the interface. The netCDF library also defines a
+ machine-independent format for representing scientific data.
+ Together, the interface, library, and format support the creation,
+ access, and sharing of scientific data.
+ This is the C++ library which links to the C library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild
new file mode 100644
index 000000000000..d5179c87f037
--- /dev/null
+++ b/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils versionator
+
+DESCRIPTION="C++ library for netCDF"
+HOMEPAGE="http://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://www.unidata.ucar.edu/downloads/netcdf/ftp/${P}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="3"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs"
+
+RDEPEND=">=sci-libs/netcdf-4.2"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild
new file mode 100644
index 000000000000..8d2615fc8323
--- /dev/null
+++ b/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+MYP=${PN}4-${PV}
+
+DESCRIPTION="C++ library for netCDF"
+HOMEPAGE="http://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://github.com/Unidata/netcdf-cxx4/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs"
+
+RDEPEND=">=sci-libs/netcdf-4.2:="
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYP}"
+
+PATCHES=( "${FILESDIR}"/${PN}-4.2-config.patch )
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
+
+src_test() {
+ autotools-utils_src_test -j1
+}
diff --git a/sci-libs/netcdf-fortran/Manifest b/sci-libs/netcdf-fortran/Manifest
new file mode 100644
index 000000000000..bec5ebb29ad2
--- /dev/null
+++ b/sci-libs/netcdf-fortran/Manifest
@@ -0,0 +1 @@
+DIST netcdf-fortran-4.2.tar.gz 2479928 SHA256 069e1a0fb50972f28309210987a51563369a6ddb4ac768ef76e599354d384ae9 SHA512 af5d489df7b3ff5c3208115af4abdbf12d74d6bc0b9e3c729cfd24b55efafc3766de21c0f9957e037c25726637e9129a1f7009676e81d7e59650fec56d6e776e WHIRLPOOL 7fd0b2e0025b298a221521987132d389e6fc1bb285318d732b238ebcceedd721741f715848d63266c4a20189f4b0d211585af33e2efed2cac89dd893b07a2418
diff --git a/sci-libs/netcdf-fortran/metadata.xml b/sci-libs/netcdf-fortran/metadata.xml
new file mode 100644
index 000000000000..1c9a839f9fb7
--- /dev/null
+++ b/sci-libs/netcdf-fortran/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ NetCDF (network Common Data Form) is an interface for scientific
+ data access and a freely-distributed software library that provides an
+ implementation of the interface. The netCDF library also defines a
+ machine-independent format for representing scientific data.
+ Together, the interface, library, and format support the creation,
+ access, and sharing of scientific data.
+ This is the FORTRAN 77 and 90 library on top of the C library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild b/sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild
new file mode 100644
index 000000000000..dc446b1b611f
--- /dev/null
+++ b/sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_STANDARD="77 90"
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils fortran-2
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="http://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="ftp://ftp.unidata.ucar.edu/pub/netcdf/${P}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/5"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+RDEPEND="sci-libs/netcdf"
+DEPEND="${RDEPEND}
+ dev-lang/cfortran
+"
+
+src_prepare() {
+ # use system cfortran
+ rm fortran/cfortran.h || die
+ autotools-utils_src_prepare
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/netcdf/Manifest b/sci-libs/netcdf/Manifest
new file mode 100644
index 000000000000..c800b5b3bdd5
--- /dev/null
+++ b/sci-libs/netcdf/Manifest
@@ -0,0 +1 @@
+DIST netcdf-4.3.2.tar.gz 5013938 SHA256 57086b4383ce9232f05aad70761c2a6034b1a0c040260577d369b3bbfe6d248e SHA512 9cb9c761bf1e17a37601c37000fdc0bb654afcf111e5ac2fb7dcf037c6aa827e66beb29d5c661edc50ea3f84849f3dee387aab9e85ef81a9b6ca3f36e45debdd WHIRLPOOL 7fb0dd3324c3e8864729db1409a76feb84ef35298c0f79a4258f1cd30a70e90070d9a44275d064d8a4952c32671182f1bfe97d47f26cf921a625bbe7160f3249
diff --git a/sci-libs/netcdf/files/netcdf-4.1.1-fortran.patch b/sci-libs/netcdf/files/netcdf-4.1.1-fortran.patch
new file mode 100644
index 000000000000..825fd3b893a1
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.1.1-fortran.patch
@@ -0,0 +1,15 @@
+Default to gfortran if cannot figure out F77 compiler
+
+https://bugs.gentoo.org/show_bug.cgi?id=348922
+
+--- netcdf-4.1.1/configure.ac
++++ netcdf-4.1.1/configure.ac
+@@ -973,7 +973,7 @@
+ *)
+ # If it's a gnu compiler, guess f2c.
+ if test "x$ac_cv_fc_compiler_gnu" = xyes; then
+- AC_DEFINE(f2cFortran, [1], [Turned on by netCDF configure.])
++ AC_DEFINE(gFortran, [1], [Turned on by netCDF configure.])
+ fi
+ ;;
+ esac
diff --git a/sci-libs/netcdf/files/netcdf-4.1.1-implicits.patch b/sci-libs/netcdf/files/netcdf-4.1.1-implicits.patch
new file mode 100644
index 000000000000..a30aafc91348
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.1.1-implicits.patch
@@ -0,0 +1,80 @@
+Fix implicit function declarations
+
+--- libsrc/nc.c
++++ libsrc/nc.c
+@@ -15,7 +15,7 @@
+ # include <mpp/shmem.h>
+ # include <intrinsics.h>
+ #endif
+-#ifdef HAVE_UNISTD
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+
+--- fortran/fort-nc4.c
++++ fortran/fort-nc4.c
+@@ -30,6 +30,14 @@
+ /* These are in libsrc4/nc4vars.c... */
+ int nc_inq_var_chunking_ints(int ncid, int varid, int *contiguousp, int *chunksizesp);
+ int nc_def_var_chunking_ints(int ncid, int varid, int contiguous, int *chunksizes);
++int nc_set_var_chunk_cache_ints(int ncid, int varid, int size, int nelems, int preemption);
++int nc_get_var_chunk_cache_ints(int ncid, int varid, int *sizep, int *nelemsp, int *preemptionp);
++
++/* These are in libsrc4/nc4file.c... */
++int nc_set_chunk_cache_ints(int size, int nelems, int preemption);
++int nc_get_chunk_cache_ints(int *sizep, int *nelemsp, int *preemptionp);
++int nc_create_par_fortran(const char *path, int cmode, int comm, int info, int *ncidp);
++int nc_open_par_fortran(const char *path, int mode, int comm, int info, int *ncidp);
+
+ FCALLSCFUN5(NF_INT, nc_create_par_fortran, NF_CREATE_PAR, nf_create_par,
+ STRING, FINT2CINT, FINT2CINT, FINT2CINT, PCINT2FINT)
+--- libncdap3/oc/daplex.c
++++ libncdap3/oc/daplex.c
+@@ -86,6 +86,8 @@
+ SCAN_PROG
+ };
+
++int daperror(DAPparsestate* state, const char* msg);
++
+ /**************************************************/
+
+ int
+--- libncdap3/oc/ocinternal.c
++++ libncdap3/oc/ocinternal.c
+@@ -37,6 +37,8 @@
+ #endif
+
+ extern OCnode* makeunlimiteddimension(void);
++int occurlopen(CURL** curlp);
++void occurlclose(CURL* curl);
+
+ #ifdef WIN32
+ #include <fcntl.h>
+--- libncdap3/oc/dapparse.c
++++ libncdap3/oc/dapparse.c
+@@ -11,6 +11,7 @@
+ static OCtype octypefor(Object etype);
+ static char* scopeduplicates(OClist* list);
+ static int check_int32(char* val, long* value);
++void setwordchars(DAPlexstate* lexstate, int kind);
+
+ /****************************************************/
+
+--- libncdap3/ncdap3.c
++++ libncdap3/ncdap3.c
+@@ -4,6 +4,7 @@
+ * $Id$
+ *********************************************************************/
+ #include "config.h"
++#include "netcdf3.h"
+ #include "ncdap3.h"
+ #include "dispatch3.h"
+ #include "dapdispatch3.h"
+--- libncdap3/oc/dapparselex.h
++++ libncdap3/oc/dapparselex.h
+@@ -88,4 +88,5 @@
+ extern void daplexinit(char* input, DAPlexstate** lexstatep);
+ extern void daplexcleanup(DAPlexstate** lexstatep);
+
++void dassetup(DAPparsestate* state);
+ #endif /*DAPPARSELEX_H*/
diff --git a/sci-libs/netcdf/files/netcdf-4.1.1-mpi-fix.patch b/sci-libs/netcdf/files/netcdf-4.1.1-mpi-fix.patch
new file mode 100644
index 000000000000..4656ef1e3cbc
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.1.1-mpi-fix.patch
@@ -0,0 +1,32 @@
+Ensure hdf5.h is included before netcdf.h to avoid build error with openmpi >= 1.4.1
+
+--- libsrc4/nc4internal.h
++++ libsrc4/nc4internal.h
+@@ -8,13 +8,13 @@
+
+ #include <config.h>
+ #include <stdio.h>
++#include <hdf5.h>
+ #include "error.h"
+ #include <stdlib.h>
+ #include <ctype.h>
+ #include <stdarg.h>
+ #include <string.h>
+ #include "netcdf3.h"
+-#include <hdf5.h>
+ #include <netcdf.h>
+
+ #ifdef USE_PARALLEL
+--- libncdap4/ncdap4.h
++++ libncdap4/ncdap4.h
+@@ -12,9 +12,9 @@
+ #include <stdio.h>
+
+ #include "config.h"
++#include "nc4internal.h"
+ #include "netcdf.h"
+ #include "nc.h"
+-#include "nc4internal.h"
+ #include "ncdap.h"
+ #include "getvara.h"
+ #include "constraints3.h"
diff --git a/sci-libs/netcdf/files/netcdf-4.1.1-parallel-build.patch b/sci-libs/netcdf/files/netcdf-4.1.1-parallel-build.patch
new file mode 100644
index 000000000000..22708e2201e9
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.1.1-parallel-build.patch
@@ -0,0 +1,40 @@
+Avoid building fortran modules twice, just install them instead.
+
+https://bugs.gentoo.org/296174
+
+--- netcdf-4.1.1/f90/Makefile.am
++++ netcdf-4.1.1/f90/Makefile.am
+@@ -101,17 +101,25 @@
+ # Some fortran compilers change the file names of .mod files to all
+ # uppercase. Just to be special.
+ if UPPER_CASE_MOD
+-nodist_include_HEADERS = TYPESIZES.mod NETCDF.mod
+-TYPESIZES.mod: typeSizes.o
+-NETCDF.mod: $(NETCDF_O)
+-BUILT_SOURCES = TYPESIZES.mod
++NETCDF_MODULES = TYPESIZES.mod NETCDF.mod
+ else
+-nodist_include_HEADERS = typesizes.mod netcdf.mod
+-typesizes.mod: typeSizes.o
+-netcdf.mod: $(NETCDF_O)
+-BUILT_SOURCES = typesizes.mod
++NETCDF_MODULES = typesizes.mod netcdf.mod
+ endif
+
++NETCDF_LO := $(NETCDF_O:.o=.lo)
++$(NETCDF_LO): typeSizes.o
++install-data-local:
++ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
++ @list='$(NETCDF_MODULES)'; test -n "$(includedir)" || list=; \
++ for p in $$list; do \
++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
++ echo "$$d$$p"; \
++ done | $(am__base_list) | \
++ while read files; do \
++ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
++ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
++ done
++
+ # This is what we are building: a convenience library of F90 functions.
+ noinst_LTLIBRARIES = libnetcdff90.la
+
diff --git a/sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch b/sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch
new file mode 100644
index 000000000000..783a5b06e991
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch
@@ -0,0 +1,145 @@
+From 435d8a03ed28bb5ad63aff12cbc6ab91531b6bc8 Mon Sep 17 00:00:00 2001
+From: Quincey Koziol <quincey@koziol.cc>
+Date: Wed, 7 May 2014 08:45:15 -0500
+Subject: [PATCH] Account for the HDF5 library not having the MPI-POSIX VFD
+ configured in.
+
+---
+ RELEASE_NOTES.md | 2 ++
+ libsrc4/nc4file.c | 40 ++++++++++++++++++++++++++++++++++++++++
+ nc_test4/tst_nc4perf.c | 5 +++++
+ nc_test4/tst_parallel3.c | 5 +++++
+ 4 files changed, 52 insertions(+)
+
+diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
+index 27f228c..1a69d17 100644
+--- a/RELEASE_NOTES.md
++++ b/RELEASE_NOTES.md
+@@ -9,6 +9,8 @@ This file contains a high-level description of this package's evolution. Release
+
+ ### 4.3.3-rc1 Released TBD
+
++* When the NC_MPIPOSIX flag is given for parallel I/O access and the HDF5 library does not have the MPI-POSIX VFD configured in, the NC_MPIPOSIX flag is transparently aliased to the NC_MPIIO flag within the netCDF-4 library.
++
+ ## 4.3.2 Released 2014-04-23
+
+ * As part of an ongoing project, the Doxygen-generated netcdf documentation has been reorganized. The goal is to make the documentation easier to parse, and to eliminate redundant material. This project is ongoing.
+diff --git a/libsrc4/nc4file.c b/libsrc4/nc4file.c
+index ec3bb0c..5c957be 100644
+--- a/libsrc4/nc4file.c
++++ b/libsrc4/nc4file.c
+@@ -308,12 +308,21 @@ nc4_create_file(const char *path, int cmode, MPI_Comm comm, MPI_Info info,
+ if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0)
+ BAIL(NC_EPARINIT);
+ }
++#ifdef USE_PARALLEL_POSIX
+ else /* MPI/POSIX */
+ {
+ LOG((4, "creating parallel file with MPI/posix"));
+ if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0)
+ BAIL(NC_EPARINIT);
+ }
++#else /* USE_PARALLEL_POSIX */
++ /* Should not happen! Code in NC4_create/NC4_open should alias the
++ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not
++ * available in HDF5. -QAK
++ */
++ else /* MPI/POSIX */
++ BAIL(NC_EPARINIT);
++#endif /* USE_PARALLEL_POSIX */
+
+ /* Keep copies of the MPI Comm & Info objects */
+ if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm))
+@@ -465,6 +474,17 @@ NC4_create(const char* path, int cmode, size_t initialsz, int basepe,
+ )
+ return NC_EINVAL;
+
++#ifndef USE_PARALLEL_POSIX
++/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias
++ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK
++ */
++ if(cmode & NC_MPIPOSIX)
++ {
++ cmode &= ~NC_MPIPOSIX;
++ cmode |= NC_MPIIO;
++ }
++#endif /* USE_PARALLEL_POSIX */
++
+ cmode |= NC_NETCDF4;
+
+ /* Apply default create format. */
+@@ -2168,12 +2188,21 @@ nc4_open_file(const char *path, int mode, MPI_Comm comm,
+ if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0)
+ BAIL(NC_EPARINIT);
+ }
++#ifdef USE_PARALLEL_POSIX
+ else /* MPI/POSIX */
+ {
+ LOG((4, "opening parallel file with MPI/posix"));
+ if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0)
+ BAIL(NC_EPARINIT);
+ }
++#else /* USE_PARALLEL_POSIX */
++ /* Should not happen! Code in NC4_create/NC4_open should alias the
++ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not
++ * available in HDF5. -QAK
++ */
++ else /* MPI/POSIX */
++ BAIL(NC_EPARINIT);
++#endif /* USE_PARALLEL_POSIX */
+
+ /* Keep copies of the MPI Comm & Info objects */
+ if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm))
+@@ -2640,6 +2669,17 @@ NC4_open(const char *path, int mode, int basepe, size_t *chunksizehintp,
+ (mode & NC_MPIIO && mode & NC_MPIPOSIX))
+ return NC_EINVAL;
+
++#ifndef USE_PARALLEL_POSIX
++/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias
++ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK
++ */
++ if(mode & NC_MPIPOSIX)
++ {
++ mode &= ~NC_MPIPOSIX;
++ mode |= NC_MPIIO;
++ }
++#endif /* USE_PARALLEL_POSIX */
++
+
+ /* Depending on the type of file, open it. */
+
+diff --git a/nc_test4/tst_nc4perf.c b/nc_test4/tst_nc4perf.c
+index 47af70e..3528b82 100644
+--- a/nc_test4/tst_nc4perf.c
++++ b/nc_test4/tst_nc4perf.c
+@@ -244,6 +244,11 @@ int test_pio_4d(size_t cache_size, int facc_type, int access_flag, MPI_Comm comm
+ return 0;
+ }
+
++/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX
++ * flag will be aliased to the NC_MPIIO flag within the library, and
++ * therefore this test will exercise the aliasing, with the MPI-IO VFD,
++ * under that configuration. -QAK
++ */
+ #define NUM_MODES 2
+ #define NUM_FACC 2
+ #define NUM_CHUNK_COMBOS_2D 3
+diff --git a/nc_test4/tst_parallel3.c b/nc_test4/tst_parallel3.c
+index 27f9c98..9fa534f 100644
+--- a/nc_test4/tst_parallel3.c
++++ b/nc_test4/tst_parallel3.c
+@@ -129,6 +129,11 @@ int main(int argc, char **argv)
+ if (mpi_rank == 0)
+ SUMMARIZE_ERR;
+
++/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX
++ * flag will be aliased to the NC_MPIIO flag within the library, and
++ * therefore this test will exercise the aliasing, with the MPI-IO VFD,
++ * under that configuration. -QAK
++ */
+ if (mpi_rank == 0)
+ printf("*** Testing parallel IO for raw-data with MPIPOSIX-IO (driver)...");
+ facc_type = NC_NETCDF4|NC_MPIPOSIX;
+--
+2.0.3
+
diff --git a/sci-libs/netcdf/metadata.xml b/sci-libs/netcdf/metadata.xml
new file mode 100644
index 000000000000..d78394eb9cd8
--- /dev/null
+++ b/sci-libs/netcdf/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ NetCDF (network Common Data Form) is an interface for scientific
+ data access and a freely-distributed software library that provides an
+ implementation of the interface. The netCDF library also defines a
+ machine-independent format for representing scientific data.
+ Together, the interface, library, and format support the creation,
+ access, and sharing of scientific data.
+</longdescription>
+ <use>
+ <flag name="dap">Support for remote data access with the built-in OPeNDAP client</flag>
+ <flag name="hdf">Add support for the Hierarchical Data Format v.4 <pkg>sci-libs/hdf</pkg></flag>
+ <flag name="tools">Build the utilities nccopy, ncgen and ncdump</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild b/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild
new file mode 100644
index 000000000000..2ef673fdc5aa
--- /dev/null
+++ b/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="http://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="ftp://ftp.unidata.ucar.edu/pub/netcdf/${P}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/7"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+dap examples hdf +hdf5 mpi static-libs szip test tools"
+
+RDEPEND="
+ dap? ( net-misc/curl:0= )
+ hdf? ( sci-libs/hdf:0= sci-libs/hdf5:0= )
+ hdf5? ( sci-libs/hdf5:0=[mpi=,szip=,zlib] )"
+DEPEND="${RDEPEND}"
+# doc generation is missing many doxygen files in tar ball
+# doc? ( app-doc/doxygen[dot] )"
+
+REQUIRED_USE="test? ( tools ) szip? ( hdf5 ) mpi? ( hdf5 )"
+
+PATCHES=( "${FILESDIR}/${P}-HDF5-1.8.13+-compat.patch" )
+
+src_configure() {
+ # --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ # $(use_enable doc doxygen)
+ local myeconfargs=(
+ --disable-examples
+ --disable-dap-remote-tests
+ $(use_enable dap)
+ $(use_enable hdf hdf4)
+ $(use_enable hdf5 netcdf-4)
+ $(use_enable tools utilities)
+ )
+ if use mpi; then
+ export CC=mpicc
+ myeconfargs+=( --enable-parallel )
+ use test && myeconfargs+=( --enable-parallel-tests )
+ fi
+ autotools-utils_src_configure
+}
+
+src_test() {
+ autotools-utils_src_test -j1
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/nfft/Manifest b/sci-libs/nfft/Manifest
new file mode 100644
index 000000000000..51833b3917aa
--- /dev/null
+++ b/sci-libs/nfft/Manifest
@@ -0,0 +1 @@
+DIST nfft-3.2.3.tar.gz 3977407 SHA256 5c920f4be63230083756f36ad78bbdd083c4c2298ec361741dc74243c4d67818 SHA512 d7b3345e0917e8dad9931adc5974f3412a82feda2d43925fe83fa4027f36cf037d4e185da85c53c87dc2e56a72f28c52b6b6a7ac56275d96888238a95610949e WHIRLPOOL 83e3445ed58a3b711762664f1776672239b51e085a4b52b90c47b2643445963697243ca6e36250f3a15576b36fb4dccb2772e867190393f0e7e9dc09873cc0dd
diff --git a/sci-libs/nfft/metadata.xml b/sci-libs/nfft/metadata.xml
new file mode 100644
index 000000000000..119d0fde1940
--- /dev/null
+++ b/sci-libs/nfft/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>ottxor@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/nfft/nfft-3.2.3.ebuild b/sci-libs/nfft/nfft-3.2.3.ebuild
new file mode 100644
index 000000000000..e6f5802bab27
--- /dev/null
+++ b/sci-libs/nfft/nfft-3.2.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit autotools-utils toolchain-funcs
+
+DESCRIPTION="library for nonequispaced discrete Fourier transformations"
+HOMEPAGE="http://www-user.tu-chemnitz.de/~potts/nfft"
+SRC_URI="http://www-user.tu-chemnitz.de/~potts/nfft/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="openmp static-libs"
+
+RDEPEND="sci-libs/fftw:3.0[threads,openmp?]"
+DEPEND="${RDEPEND}"
+
+pkg_pretend() {
+ use openmp && ! tc-has-openmp && \
+ die "Please switch to an openmp compatible compiler"
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-all
+ $(use_enable openmp)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/nlopt/Manifest b/sci-libs/nlopt/Manifest
new file mode 100644
index 000000000000..4c71308be038
--- /dev/null
+++ b/sci-libs/nlopt/Manifest
@@ -0,0 +1,2 @@
+DIST nlopt-2.2.4.tar.gz 2315878 SHA256 a903125d6495df4861b2aea8b3ce9c6b881caaf36bf62db923335d96e3a60a20 SHA512 595a6da7f305a15ba16e42d6a2b28540fe3201568284600e57a091f9836dc04f657fad370ee5f2f528ebdc7ffa1f0fc81c2929bd49dbb861ddf7fd901beec871 WHIRLPOOL 62f8d0bf1e6fd003b8e3bb5da94eef7f59b10406d249026903f27f6738f4bf3e7bc83a06e1494a39a31f676f07df6d30d546717b44b469b77980dda3fce3c6f8
+DIST nlopt-2.4.2.tar.gz 2361992 SHA256 8099633de9d71cbc06cd435da993eb424bbcdbded8f803cdaa9fb8c6e09c8e89 SHA512 136aacc00a69f77e8a7ce5dc26a5f3f027bc8c01b97aa1f43919462e0a412154eabfb01be258e082dffe61f9b554bb2bfbb550a7b82c7c77c7b22874a64a9703 WHIRLPOOL ec07f402cc1868f05adf1f261aa2e50901448e965ccdee3d249e1447ad0abdff354caf1bafbf0700a25896f9fcee509c916fd5e7bdd768514a55bf6fff40784d
diff --git a/sci-libs/nlopt/files/nlopt-2.2.4-fix-nlopt_hpp-location.patch b/sci-libs/nlopt/files/nlopt-2.2.4-fix-nlopt_hpp-location.patch
new file mode 100644
index 000000000000..460b4378673a
--- /dev/null
+++ b/sci-libs/nlopt/files/nlopt-2.2.4-fix-nlopt_hpp-location.patch
@@ -0,0 +1,47 @@
+Author: Dustin Polke <DuPol@gmx.de>
+
+Header files are located in top_srcdir not top_builddir.
+--- a/swig/Makefile.am
++++ b/swig/Makefile.am
+@@ -3,7 +3,7 @@ EXTRA_DIST = $(SWIG_SRC) nlopt-guile.i n
+
+ BUILT_SOURCES = nlopt-guile.cpp nlopt-python.cpp nlopt-enum-renames.i nlopt.scm.in
+
+-HDR = $(top_builddir)/api/nlopt.hpp
++HDR = $(top_srcdir)/api/nlopt.hpp
+
+ ##############################################################################
+ # Guile wrapper
+@@ -11,7 +11,7 @@ HDR = $(top_builddir)/api/nlopt.hpp
+ libnlopt@NLOPT_SUFFIX@_guile_la_SOURCES = nlopt-guile.cpp
+ libnlopt@NLOPT_SUFFIX@_guile_la_LIBADD = ../libnlopt@NLOPT_SUFFIX@.la
+ libnlopt@NLOPT_SUFFIX@_guile_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
+-libnlopt@NLOPT_SUFFIX@_guile_la_CPPFLAGS = $(GUILE_CPPFLAGS) -I$(top_builddir)/api
++libnlopt@NLOPT_SUFFIX@_guile_la_CPPFLAGS = $(GUILE_CPPFLAGS) -I$(top_srcdir)/api
+
+ guiledir = $(GUILE_INSTALL_DIR)
+ if WITH_GUILE
+@@ -25,7 +25,7 @@ endif
+ _nlopt_la_SOURCES = nlopt-python.cpp
+ _nlopt_la_LIBADD = ../libnlopt@NLOPT_SUFFIX@.la
+ _nlopt_la_LDFLAGS = -module -version-info @SHARED_VERSION_INFO@
+-_nlopt_la_CPPFLAGS = $(PYTHON_INCLUDES) -I$(top_builddir)/api
++_nlopt_la_CPPFLAGS = $(PYTHON_INCLUDES) -I$(top_srcdir)/api
+
+ if WITH_PYTHON
+ python_PYTHON = nlopt.py
+@@ -43,12 +43,12 @@ lib_LTLIBRARIES = $(guilelib)
+ if MAINTAINER_MODE
+
+ nlopt-guile.cpp nlopt.scm.in: $(SWIG_SRC) nlopt-guile.i $(HDR)
+- swig -I$(top_builddir)/api -outdir $(builddir) -c++ -guile -scmstub -o $@ nlopt.i
++ swig -I$(top_srcdir)/api -outdir $(builddir) -c++ -guile -scmstub -o $@ nlopt.i
+ rm -f nlopt.scm.in
+ mv nlopt.scm nlopt.scm.in
+
+ nlopt-python.cpp nlopt.py: $(SWIG_SRC) nlopt-python.i numpy.i $(HDR)
+- swig -I$(top_builddir)/api -outdir $(builddir) -c++ -python -o $@ nlopt.i
++ swig -I$(top_srcdir)/api -outdir $(builddir) -c++ -python -o $@ nlopt.i
+
+ nlopt-enum-renames.i: $(top_srcdir)/api/nlopt.h
+ (echo "// AUTOMATICALLY GENERATED -- DO NOT EDIT"; egrep 'NLOPT_[LG][DN]|NLOPT_AUGLAG|NLOPT_G_MLSL|NLOPT_NUM_ALGORITHMS' $(top_srcdir)/api/nlopt.h | sed 's/NLOPT_//g' |tr -d ' ' |tr '/' ',' |tr '=' ',' |cut -d, -f1 |while read name; do echo "%rename(NLOPT_$$name) nlopt::$$name;"; done; egrep 'NLOPT_[A-Z_]* =' $(top_srcdir)/api/nlopt.h | egrep -v 'NLOPT_[LG][DN]|NLOPT_AUGLAG|NLOPT_G_MLSL' | sed 's/NLOPT_//g' |tr -d ' ' |cut -d'=' -f1 | while read name; do echo "%rename(NLOPT_$$name) nlopt::$$name;"; done) > $@
diff --git a/sci-libs/nlopt/files/nlopt-2.3-as-needed.patch b/sci-libs/nlopt/files/nlopt-2.3-as-needed.patch
new file mode 100644
index 000000000000..928ec174b771
--- /dev/null
+++ b/sci-libs/nlopt/files/nlopt-2.3-as-needed.patch
@@ -0,0 +1,23 @@
+diff -Nur nlopt-2.3.orig/Makefile.am nlopt-2.3/Makefile.am
+--- nlopt-2.3.orig/Makefile.am 2012-08-03 02:07:09.000000000 +0100
++++ nlopt-2.3/Makefile.am 2012-08-03 02:13:13.000000000 +0100
+@@ -25,6 +25,7 @@
+
+ if WITH_CXX
+ libnlopt@NLOPT_SUFFIX@_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
++libnlopt@NLOPT_SUFFIX@_la_LIBADD += -lstdc++
+ else
+ libnlopt@NLOPT_SUFFIX@_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
+ endif
+diff -Nur nlopt-2.3.orig/swig/Makefile.am nlopt-2.3/swig/Makefile.am
+--- nlopt-2.3.orig/swig/Makefile.am 2012-08-03 02:07:09.000000000 +0100
++++ nlopt-2.3/swig/Makefile.am 2012-08-03 03:04:30.000000000 +0100
+@@ -9,7 +9,7 @@
+ # Guile wrapper
+
+ libnlopt@NLOPT_SUFFIX@_guile_la_SOURCES = nlopt-guile.cpp
+-libnlopt@NLOPT_SUFFIX@_guile_la_LIBADD = ../libnlopt@NLOPT_SUFFIX@.la
++libnlopt@NLOPT_SUFFIX@_guile_la_LIBADD = ../libnlopt@NLOPT_SUFFIX@.la @GUILE_LIBS@
+ libnlopt@NLOPT_SUFFIX@_guile_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
+ libnlopt@NLOPT_SUFFIX@_guile_la_CPPFLAGS = $(GUILE_CPPFLAGS) -I$(top_builddir)/api
+
diff --git a/sci-libs/nlopt/files/nlopt-2.3-pkgconfig.patch b/sci-libs/nlopt/files/nlopt-2.3-pkgconfig.patch
new file mode 100644
index 000000000000..8a072b15e2e2
--- /dev/null
+++ b/sci-libs/nlopt/files/nlopt-2.3-pkgconfig.patch
@@ -0,0 +1,10 @@
+--- nlopt.pc.in.orig 2012-08-03 01:41:30.000000000 +0100
++++ nlopt.pc.in 2012-08-03 01:42:29.000000000 +0100
+@@ -6,5 +6,6 @@
+ Name: NLopt
+ Description: nonlinear optimization libary
+ Version: @VERSION@
+-Libs: -L${libdir} -lnlopt -lm
++Libs: -L${libdir} -lnlopt@NLOPT_SUFFIX@
++Libs.private: -lm
+ Cflags: -I${includedir}
diff --git a/sci-libs/nlopt/metadata.xml b/sci-libs/nlopt/metadata.xml
new file mode 100644
index 000000000000..41afd070ac46
--- /dev/null
+++ b/sci-libs/nlopt/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ NLopt is a library for nonlinear optimization,
+ providing a common interface for a number of different free
+ optimization routines available online as well as original
+ implementations of various other algorithms. Its features include:
+ * Callable from variety of languages (C, C++, Fortran, Python, Octave)
+ * A common interface for many different algorithms—try a different
+ algorithm just by changing one parameter.
+ * Both global and local optimization algorithms.
+ * Both derivative-free and gradient-based optimization algorithms.
+ * Algorithms for unconstrained optimization, bound-constrained
+ optimization, and general nonlinear inequality constraints.
+</longdescription>
+<use>
+ <flag name="octave">Add plugin for <pkg>sci-mathematics/octave</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/nlopt/nlopt-2.2.4.ebuild b/sci-libs/nlopt/nlopt-2.2.4.ebuild
new file mode 100644
index 000000000000..b3c8cf6b91fa
--- /dev/null
+++ b/sci-libs/nlopt/nlopt-2.2.4.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+SUPPORT_PYTHON_ABIS="1"
+PYTHON_DEPEND="python? *"
+RESTRICT_PYTHON_ABIS="3.* 2.7-pypy-* *-jython"
+
+inherit python autotools-utils
+
+DESCRIPTION="Non-linear optimization library"
+HOMEPAGE="http://ab-initio.mit.edu/nlopt/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="cxx guile octave python static-libs"
+
+DEPEND="
+ guile? ( dev-scheme/guile )
+ octave? ( sci-mathematics/octave )
+ python? ( dev-python/numpy )"
+RDEPEND="${DEPEND}"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_prepare() {
+ if use python; then
+ sed -i \
+ -e '/^LTLIBRARIES/s:$(pyexec_LTLIBRARIES)::g' \
+ swig/Makefile.in || die
+ echo '#!/bin/sh' > py-compile
+ fi
+ epatch "${FILESDIR}"/${P}-fix-nlopt_hpp-location.patch
+ eautoreconf
+}
+
+src_configure() {
+ if use octave; then
+ export OCT_INSTALL_DIR="${EPREFIX}"/usr/libexec/octave/site/oct/${CHOST}
+ export M_INSTALL_DIR="${EPREFIX}"/usr/share/octave/site/m
+ else
+ export MKOCTFILE=None
+ fi
+ myeconfargs+=(
+ $(use_with cxx)
+ $(use_with guile)
+ $(use_with octave)
+ $(use_with python)
+ --without-matlab
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ if use python; then
+ python_copy_sources swig
+ compilation() {
+ autotools-utils_src_compile \
+ PYTHON_CPPFLAGS="-I${EPREFIX}$(python_get_includedir)" \
+ PYTHON_LDFLAGS="${EPREFIX}$(python_get_library -l)" \
+ PYTHON_SITE_PKG="${EPREFIX}$(python_get_sitedir)" \
+ PYTHON_VERSION="${EPREFIX}$(python_get_version)" \
+ PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \
+ pythondir="${EPREFIX}$(python_get_sitedir)" \
+ pyexecdir="${EPREFIX}$(python_get_sitedir)"
+ }
+ python_execute_function -s --source-dir swig compilation
+ fi
+}
+
+src_install() {
+ autotools-utils_src_install
+ if use python; then
+ installation() {
+ rm *.la
+ emake DESTDIR="${D}" install \
+ pyexecdir="${EPREFIX}$(python_get_sitedir)" \
+ pythondir="${EPREFIX}$(python_get_sitedir)"
+ }
+ python_execute_function -s --source-dir swig installation
+ python_clean_installation_image
+ fi
+ local r
+ for r in */README; do newdoc ${r} README.$(dirname ${r}); done
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize ${PN}.py
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup ${PN}.py
+}
diff --git a/sci-libs/nlopt/nlopt-2.4.2.ebuild b/sci-libs/nlopt/nlopt-2.4.2.ebuild
new file mode 100644
index 000000000000..4f161e8eb93f
--- /dev/null
+++ b/sci-libs/nlopt/nlopt-2.4.2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+AUTOTOOLS_AUTORECONF=1
+
+inherit python-r1 autotools-utils
+
+DESCRIPTION="Non-linear optimization library"
+HOMEPAGE="http://ab-initio.mit.edu/nlopt/"
+SRC_URI="${HOMEPAGE}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="cxx guile octave python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+DEPEND="
+ guile? ( dev-scheme/guile )
+ octave? ( sci-mathematics/octave )
+ python? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3-pkgconfig.patch
+ "${FILESDIR}"/${PN}-2.3-as-needed.patch
+)
+
+src_prepare() {
+ autotools-utils_src_prepare
+ use cxx && BUILD_CXX="${S}_cxx"
+ use python && python_copy_sources
+}
+
+src_configure() {
+ if use octave; then
+ export OCT_INSTALL_DIR="$(octave-config -p LOCALOCTFILEDIR)"
+ export M_INSTALL_DIR="$(octave-config -p LOCALFCNFILEDIR)"
+
+ else
+ export MKOCTFILE=None
+ fi
+ local myeconfargs=(
+ $(use_with guile)
+ )
+ if use python; then
+ python_foreach_impl run_in_build_dir autotools-utils_src_configure
+ else
+ autotools-utils_src_configure
+ fi
+ if use cxx; then
+ myeconfargs+=( --with-cxx --without-octave --without-python )
+ BUILD_DIR="${BUILD_CXX}" autotools-utils_src_configure
+ fi
+}
+
+src_compile() {
+ if use python; then
+ python_foreach_impl run_in_build_dir autotools-utils_src_compile
+ else
+ autotools-utils_src_compile
+ fi
+ use cxx && BUILD_DIR="${BUILD_CXX}" autotools-utils_src_compile
+ #-C "${BUILD_DIR}_cxx"
+}
+
+src_test() {
+ do_test() {
+ local a f
+ cd "${BUILD_DIR}"/test
+ for a in {1..7}; do
+ for f in {5..9}; do
+ ./testopt -a $a -o $f || die "algorithm $a function $f failed"
+ done
+ done
+ }
+ if use python; then
+ python_foreach_impl run_in_build_dir do_test
+ else
+ do_test
+ fi
+ cd "${BUILD_CXX}"/test
+ for a in {1..9}; do
+ for f in {5..9}; do
+ ./testopt -a $a -o $f || die "algorithm $a function $f failed"
+ done
+ done
+}
+
+src_install() {
+ # build cxx first so the c lib overwrites the pc file
+ use cxx && BUILD_DIR="${BUILD_CXX}" autotools-utils_src_install
+ if use python; then
+ python_foreach_impl run_in_build_dir autotools-utils_src_install
+ else
+ autotools-utils_src_install
+ fi
+ local r
+ for r in */README; do newdoc ${r} README.$(dirname ${r}); done
+}
diff --git a/sci-libs/oc/Manifest b/sci-libs/oc/Manifest
new file mode 100644
index 000000000000..48bbe9aed779
--- /dev/null
+++ b/sci-libs/oc/Manifest
@@ -0,0 +1 @@
+DIST oc-2.0.tar.gz 1104073 SHA256 4ed67dc543a6125731ccfadac14fe8f40cc0e7a74139f4f0612a6a3b1a4a4bab SHA512 e583fbacc8929ef5b2ae0d0f675816b8f46056b11987f8285688a7321d3dfd244a748be00f009f1b2c2b7f95e5a6ecc8eb8e907f81415e849f10a5ff138e82a4 WHIRLPOOL 2dbb286e1e6a711f6ff85956e778ea0dd627e2e67588093ca41ebf3045f97098d9766265769175777066ba2bfd1b88024810ba2c8d883b3bfb86ec8029f1e94e
diff --git a/sci-libs/oc/metadata.xml b/sci-libs/oc/metadata.xml
new file mode 100644
index 000000000000..9bacf03e2639
--- /dev/null
+++ b/sci-libs/oc/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The New OPeNDAP C API (oc) is an OPeNDAP DAP 2.0 client implementation
+ written in generic C. This new API allows for more funcionality and
+ less complexity than the original C API.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/oc/oc-2.0.ebuild b/sci-libs/oc/oc-2.0.ebuild
new file mode 100644
index 000000000000..a4b53bea5d5c
--- /dev/null
+++ b/sci-libs/oc/oc-2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools-utils
+
+DESCRIPTION="Network Data Access Protocol client C library"
+HOMEPAGE="http://opendap.org/"
+SRC_URI="http://opendap.org/pub/OC/source/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+RDEPEND="net-misc/curl"
+DEPEND="${RDEPEND}"
+
+# tests need network
+#PROPERTIES=network
+
+src_install() {
+ autotools-utils_src_install
+ use doc; dodoc docs/oc*html && dohtml docs/html/*
+}
diff --git a/sci-libs/octomap/Manifest b/sci-libs/octomap/Manifest
new file mode 100644
index 000000000000..b0a45380b795
--- /dev/null
+++ b/sci-libs/octomap/Manifest
@@ -0,0 +1 @@
+DIST octomap-1.6.8.tar.gz 1588042 SHA256 833adba0d3b203cab0e28a0180490e74bc852a7fea9adf6ee53bbfb8f10bc79a SHA512 43c049f6b53081b83bbf0a38c2f319dc2fb3d799dafb3f45779b2e615d0ac1f6d83bfba592abd93afe34cc51ac39d9081bd7e20f69c4390b68fcc8386a1cb68d WHIRLPOOL f27ad8efbaba51d02d7f1e856607d5a1890354aa2bc172bf20341148c6503cefdb06aacb39c8345de80dd54e6a8f91e59aa254c60b67e9a76c546813aaabca2c
diff --git a/sci-libs/octomap/metadata.xml b/sci-libs/octomap/metadata.xml
new file mode 100644
index 000000000000..5541175aa45b
--- /dev/null
+++ b/sci-libs/octomap/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <longdescription lang="en">
+ The OctoMap library implements a 3D occupancy grid mapping approach, providing data structures and mapping algorithms in C++ particularly suited for robotics.
+</longdescription>
+ <use>
+ <flag name="dynamicEDT3D">Build and install dynamicEDT3D library: A library for incrementally updatable Euclidean distance transforms in 3D.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">OctoMap/octomap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/octomap/octomap-1.6.8.ebuild b/sci-libs/octomap/octomap-1.6.8.ebuild
new file mode 100644
index 000000000000..91e77e07eb1b
--- /dev/null
+++ b/sci-libs/octomap/octomap-1.6.8.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/OctoMap/octomap"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/OctoMap/octomap/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="An Efficient Probabilistic 3D Mapping Framework Based on Octrees"
+HOMEPAGE="http://octomap.github.io/"
+IUSE="qt4 dynamicEDT3D doc"
+LICENSE="BSD qt4? ( GPL-2 )"
+SLOT="0"
+
+RDEPEND="
+ qt4? (
+ virtual/opengl
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ x11-libs/libQGLViewer
+ )
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+"
+
+src_prepare() {
+ sed -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/' \
+ -i */CMakeLists.txt \
+ -i */CMakeModules/InstallPkgConfigFile.cmake || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_OCTOVIS_SUBPROJECT=$(usex qt4 ON OFF)"
+ "-DBUILD_DYNAMICETD3D_SUBPROJECT=$(usex dynamicEDT3D ON OFF)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc ; then
+ cd "${BUILD_DIR}/octomap"
+ emake docs
+ if use dynamicEDT3D ; then
+ cd "${BUILD_DIR}/dynamicEDT3D"
+ emake docs_dynamicEDT3D
+ fi
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use doc ; then
+ insinto /usr/share/doc/${PF}/html/octomap
+ doins -r "${S}/octomap/doc/html/"*
+ if use dynamicEDT3D ; then
+ insinto /usr/share/doc/${PF}/html/dynamicEDT3D
+ doins -r "${S}/dynamicEDT3D/doc/html/"*
+ fi
+ fi
+}
diff --git a/sci-libs/octomap/octomap-9999.ebuild b/sci-libs/octomap/octomap-9999.ebuild
new file mode 100644
index 000000000000..91e77e07eb1b
--- /dev/null
+++ b/sci-libs/octomap/octomap-9999.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/OctoMap/octomap"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/OctoMap/octomap/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="An Efficient Probabilistic 3D Mapping Framework Based on Octrees"
+HOMEPAGE="http://octomap.github.io/"
+IUSE="qt4 dynamicEDT3D doc"
+LICENSE="BSD qt4? ( GPL-2 )"
+SLOT="0"
+
+RDEPEND="
+ qt4? (
+ virtual/opengl
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ x11-libs/libQGLViewer
+ )
+"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+"
+
+src_prepare() {
+ sed -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/' \
+ -i */CMakeLists.txt \
+ -i */CMakeModules/InstallPkgConfigFile.cmake || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_OCTOVIS_SUBPROJECT=$(usex qt4 ON OFF)"
+ "-DBUILD_DYNAMICETD3D_SUBPROJECT=$(usex dynamicEDT3D ON OFF)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc ; then
+ cd "${BUILD_DIR}/octomap"
+ emake docs
+ if use dynamicEDT3D ; then
+ cd "${BUILD_DIR}/dynamicEDT3D"
+ emake docs_dynamicEDT3D
+ fi
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use doc ; then
+ insinto /usr/share/doc/${PF}/html/octomap
+ doins -r "${S}/octomap/doc/html/"*
+ if use dynamicEDT3D ; then
+ insinto /usr/share/doc/${PF}/html/dynamicEDT3D
+ doins -r "${S}/dynamicEDT3D/doc/html/"*
+ fi
+ fi
+}
diff --git a/sci-libs/ogdi/Manifest b/sci-libs/ogdi/Manifest
new file mode 100644
index 000000000000..99cb22375b35
--- /dev/null
+++ b/sci-libs/ogdi/Manifest
@@ -0,0 +1,2 @@
+DIST ogdi-3.1.5.tar.gz 913902 SHA256 f9d65312d03ac0b1ba0a0dd05885c41a3995fccfe9cab8d7012300546da3e44b
+DIST ogdi-3.2.0.beta2.tar.gz 956839 SHA256 cf4d39528b1b30c2ddb855884efa402d3f9c79363424b6221ec804aedc20a25a SHA512 2159dfd010be9da63cf009beee7f6571cd13c4f08d1a69a5d945dd64878347b28455eb5376f184e2d91fa4a3bd409446ccbd706aa9000d3d7d2ac4b6e30ced93 WHIRLPOOL 7f04f1b35a8c41cb58c1a6d6d73ca9d2e097eaaf93e6b50ceeee35f2b5f50c3c978ec8ea7b8a5c1b5b00e8dd201d7851b2383a922a147a7481c2ac35e4f23ac6
diff --git a/sci-libs/ogdi/files/ogdi-3.1.4-fpic.patch b/sci-libs/ogdi/files/ogdi-3.1.4-fpic.patch
new file mode 100644
index 000000000000..33fb56103193
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.1.4-fpic.patch
@@ -0,0 +1,177 @@
+Only in ogdi-3.1.5.orig: bin
+Only in ogdi-3.1.5.orig/config: Linux.mak
+Only in ogdi-3.1.5.orig: config.cache
+Only in ogdi-3.1.5.orig: config.log
+Only in ogdi-3.1.5.orig: config.status
+Only in ogdi-3.1.5.orig/external/expat: OBJ.Linux
+diff -ur ogdi-3.1.5/external/expat/makefile ogdi-3.1.5.orig/external/expat/makefile
+--- ogdi-3.1.5/external/expat/makefile 2001-08-27 14:11:10.000000000 +0000
++++ ogdi-3.1.5.orig/external/expat/makefile 2005-08-01 18:57:49.020052368 +0000
+@@ -36,7 +36,7 @@
+ # Compilation flags
+ #
+ INCLUDES = $(CURRENT_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) \
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC \
+ -DVERSION=\"expat_1.95.1\" -DPACKAGE="expat"
+
+ ifeq ($(BIG_ENDIAN),1)
+Only in ogdi-3.1.5.orig/external/zlib: OBJ.Linux
+diff -ur ogdi-3.1.5/external/zlib/makefile ogdi-3.1.5.orig/external/zlib/makefile
+--- ogdi-3.1.5/external/zlib/makefile 2001-04-19 05:26:46.000000000 +0000
++++ ogdi-3.1.5.orig/external/zlib/makefile 2005-08-01 18:58:47.984088472 +0000
+@@ -46,7 +46,7 @@
+ # Compilation flags
+ #
+ INCLUDES = $(CURRENT_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ #
+ # Primary target
+Only in ogdi-3.1.5.orig/lib: Linux
+Only in ogdi-3.1.5.orig/ogdi/c-api: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/c-api/makefile ogdi-3.1.5.orig/ogdi/c-api/makefile
+--- ogdi-3.1.5/ogdi/c-api/makefile 2001-04-19 05:29:31.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/c-api/makefile 2005-08-01 18:53:51.936094608 +0000
+@@ -23,7 +23,7 @@
+ $(GRASS_INCLUDE) $(ZLIB_INCLUDE) $(PROJ_INCLUDE) \
+ $(EXPAT_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(RPC_LINKLIB) $(ZLIB_LINKLIB) $(EXPAT_LINKLIB) $(WIN_LINKLIB) \
+ $(PROJ_STATICLIB) $(MATH_LINKLIB)
+Only in ogdi-3.1.5.orig/ogdi/datum_driver/canada: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/datum_driver/canada/makefile ogdi-3.1.5.orig/ogdi/datum_driver/canada/makefile
+--- ogdi-3.1.5/ogdi/datum_driver/canada/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/datum_driver/canada/makefile 2005-08-01 19:03:00.932634448 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = nadconv.c dtcanada.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS=
+
+Only in ogdi-3.1.5.orig/ogdi/datum_driver/usa: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/datum_driver/usa/makefile ogdi-3.1.5.orig/ogdi/datum_driver/usa/makefile
+--- ogdi-3.1.5/ogdi/datum_driver/usa/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/datum_driver/usa/makefile 2005-08-01 19:03:24.883993288 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = dtusa.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(PROJ_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/adrg: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/adrg/makefile ogdi-3.1.5.orig/ogdi/driver/adrg/makefile
+--- ogdi-3.1.5/ogdi/driver/adrg/makefile 2001-06-22 16:37:50.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/adrg/makefile 2005-08-01 19:06:07.422283712 +0000
+@@ -18,7 +18,7 @@
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(GLUTIL_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/dted: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/dted/makefile ogdi-3.1.5.orig/ogdi/driver/dted/makefile
+--- ogdi-3.1.5/ogdi/driver/dted/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/dted/makefile 2005-08-01 19:06:31.460629328 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = dted.c utils.c object.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(GLUTIL_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/network: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/network/makefile ogdi-3.1.5.orig/ogdi/driver/network/makefile
+--- ogdi-3.1.5/ogdi/driver/network/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/network/makefile 2005-08-01 19:06:52.242470008 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = remote.c ecs_clnt.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(GRASS_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(RPC_LINKLIB) $(WIN_LINKLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/rpf: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/rpf/makefile ogdi-3.1.5.orig/ogdi/driver/rpf/makefile
+--- ogdi-3.1.5/ogdi/driver/rpf/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/rpf/makefile 2005-08-01 19:07:39.956216416 +0000
+@@ -19,7 +19,7 @@
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) \
+ $(GRASS_INCLUDE) $(PROJ_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(VPF_STATICLIB) $(GLUTIL_STATICLIB) $(WIN_LINKLIB) $(MATH_LINKLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/skeleton: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/skeleton/makefile ogdi-3.1.5.orig/ogdi/driver/skeleton/makefile
+--- ogdi-3.1.5/ogdi/driver/skeleton/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/skeleton/makefile 2005-08-01 19:07:15.500934184 +0000
+@@ -18,7 +18,7 @@
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(GLUTIL_INCLUDE) $(PROJ_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(MACHINE) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(MACHINE) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(GLUTIL_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/vrf: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/vrf/makefile ogdi-3.1.5.orig/ogdi/driver/vrf/makefile
+--- ogdi-3.1.5/ogdi/driver/vrf/makefile 2001-06-20 21:49:31.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/vrf/makefile 2005-08-01 19:08:03.541630888 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = vrf.c utils.c feature.c object.c open.c swq.c vrfswq.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(VPF_INCLUDE) $(PROJ_INCLUDE) $(GLUTIL_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(WIN_LINKLIB) $(VPF_STATICLIB) $(MATH_LINKLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/gltpd: OBJ.Linux
+Only in ogdi-3.1.5.orig/ogdi/glutil: OBJ.Linux
+Only in ogdi-3.1.5.orig/proj: OBJ.Linux
+diff -ur ogdi-3.1.5/proj/makefile ogdi-3.1.5.orig/proj/makefile
+--- ogdi-3.1.5/proj/makefile 2001-04-09 16:20:08.000000000 +0000
++++ ogdi-3.1.5.orig/proj/makefile 2005-08-01 19:01:03.573475752 +0000
+@@ -42,7 +42,7 @@
+
+ INCLUDES = $(CURRENT_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ include $(TOPDIR)/config/common.mak
+
+Only in ogdi-3.1.5.orig/vpflib: OBJ.Linux
+diff -ur ogdi-3.1.5/vpflib/makefile ogdi-3.1.5.orig/vpflib/makefile
+--- ogdi-3.1.5/vpflib/makefile 2001-02-20 04:25:20.000000000 +0000
++++ ogdi-3.1.5.orig/vpflib/makefile 2005-08-01 19:09:48.072739744 +0000
+@@ -31,7 +31,7 @@
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(VPF_INCLUDE)
+
+ CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) $(UNIX_DEFINE) \
+- -DSYS_BIG_ENDIAN=$(BIG_ENDIAN)
++ -DSYS_BIG_ENDIAN=$(BIG_ENDIAN) -fPIC -DPIC
+
+ include $(TOPDIR)/config/common.mak
+
diff --git a/sci-libs/ogdi/files/ogdi-3.1.5-fpic.patch b/sci-libs/ogdi/files/ogdi-3.1.5-fpic.patch
new file mode 100644
index 000000000000..33fb56103193
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.1.5-fpic.patch
@@ -0,0 +1,177 @@
+Only in ogdi-3.1.5.orig: bin
+Only in ogdi-3.1.5.orig/config: Linux.mak
+Only in ogdi-3.1.5.orig: config.cache
+Only in ogdi-3.1.5.orig: config.log
+Only in ogdi-3.1.5.orig: config.status
+Only in ogdi-3.1.5.orig/external/expat: OBJ.Linux
+diff -ur ogdi-3.1.5/external/expat/makefile ogdi-3.1.5.orig/external/expat/makefile
+--- ogdi-3.1.5/external/expat/makefile 2001-08-27 14:11:10.000000000 +0000
++++ ogdi-3.1.5.orig/external/expat/makefile 2005-08-01 18:57:49.020052368 +0000
+@@ -36,7 +36,7 @@
+ # Compilation flags
+ #
+ INCLUDES = $(CURRENT_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) \
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC \
+ -DVERSION=\"expat_1.95.1\" -DPACKAGE="expat"
+
+ ifeq ($(BIG_ENDIAN),1)
+Only in ogdi-3.1.5.orig/external/zlib: OBJ.Linux
+diff -ur ogdi-3.1.5/external/zlib/makefile ogdi-3.1.5.orig/external/zlib/makefile
+--- ogdi-3.1.5/external/zlib/makefile 2001-04-19 05:26:46.000000000 +0000
++++ ogdi-3.1.5.orig/external/zlib/makefile 2005-08-01 18:58:47.984088472 +0000
+@@ -46,7 +46,7 @@
+ # Compilation flags
+ #
+ INCLUDES = $(CURRENT_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ #
+ # Primary target
+Only in ogdi-3.1.5.orig/lib: Linux
+Only in ogdi-3.1.5.orig/ogdi/c-api: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/c-api/makefile ogdi-3.1.5.orig/ogdi/c-api/makefile
+--- ogdi-3.1.5/ogdi/c-api/makefile 2001-04-19 05:29:31.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/c-api/makefile 2005-08-01 18:53:51.936094608 +0000
+@@ -23,7 +23,7 @@
+ $(GRASS_INCLUDE) $(ZLIB_INCLUDE) $(PROJ_INCLUDE) \
+ $(EXPAT_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(RPC_LINKLIB) $(ZLIB_LINKLIB) $(EXPAT_LINKLIB) $(WIN_LINKLIB) \
+ $(PROJ_STATICLIB) $(MATH_LINKLIB)
+Only in ogdi-3.1.5.orig/ogdi/datum_driver/canada: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/datum_driver/canada/makefile ogdi-3.1.5.orig/ogdi/datum_driver/canada/makefile
+--- ogdi-3.1.5/ogdi/datum_driver/canada/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/datum_driver/canada/makefile 2005-08-01 19:03:00.932634448 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = nadconv.c dtcanada.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS=
+
+Only in ogdi-3.1.5.orig/ogdi/datum_driver/usa: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/datum_driver/usa/makefile ogdi-3.1.5.orig/ogdi/datum_driver/usa/makefile
+--- ogdi-3.1.5/ogdi/datum_driver/usa/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/datum_driver/usa/makefile 2005-08-01 19:03:24.883993288 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = dtusa.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(PROJ_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/adrg: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/adrg/makefile ogdi-3.1.5.orig/ogdi/driver/adrg/makefile
+--- ogdi-3.1.5/ogdi/driver/adrg/makefile 2001-06-22 16:37:50.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/adrg/makefile 2005-08-01 19:06:07.422283712 +0000
+@@ -18,7 +18,7 @@
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(GLUTIL_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/dted: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/dted/makefile ogdi-3.1.5.orig/ogdi/driver/dted/makefile
+--- ogdi-3.1.5/ogdi/driver/dted/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/dted/makefile 2005-08-01 19:06:31.460629328 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = dted.c utils.c object.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(GLUTIL_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/network: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/network/makefile ogdi-3.1.5.orig/ogdi/driver/network/makefile
+--- ogdi-3.1.5/ogdi/driver/network/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/network/makefile 2005-08-01 19:06:52.242470008 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = remote.c ecs_clnt.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(GRASS_INCLUDE) $(PROJ_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(RPC_LINKLIB) $(WIN_LINKLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/rpf: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/rpf/makefile ogdi-3.1.5.orig/ogdi/driver/rpf/makefile
+--- ogdi-3.1.5/ogdi/driver/rpf/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/rpf/makefile 2005-08-01 19:07:39.956216416 +0000
+@@ -19,7 +19,7 @@
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) \
+ $(GRASS_INCLUDE) $(PROJ_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(VPF_STATICLIB) $(GLUTIL_STATICLIB) $(WIN_LINKLIB) $(MATH_LINKLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/skeleton: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/skeleton/makefile ogdi-3.1.5.orig/ogdi/driver/skeleton/makefile
+--- ogdi-3.1.5/ogdi/driver/skeleton/makefile 2001-02-19 04:12:21.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/skeleton/makefile 2005-08-01 19:07:15.500934184 +0000
+@@ -18,7 +18,7 @@
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(GLUTIL_INCLUDE) $(PROJ_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(MACHINE) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(MACHINE) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(GLUTIL_STATICLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/driver/vrf: OBJ.Linux
+diff -ur ogdi-3.1.5/ogdi/driver/vrf/makefile ogdi-3.1.5.orig/ogdi/driver/vrf/makefile
+--- ogdi-3.1.5/ogdi/driver/vrf/makefile 2001-06-20 21:49:31.000000000 +0000
++++ ogdi-3.1.5.orig/ogdi/driver/vrf/makefile 2005-08-01 19:08:03.541630888 +0000
+@@ -17,7 +17,7 @@
+ SOURCES = vrf.c utils.c feature.c object.c open.c swq.c vrfswq.c
+
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(OGDI_INCLUDE) $(VPF_INCLUDE) $(PROJ_INCLUDE) $(GLUTIL_INCLUDE)
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ LINK_LIBS= $(OGDI_LINKLIB) $(WIN_LINKLIB) $(VPF_STATICLIB) $(MATH_LINKLIB)
+
+Only in ogdi-3.1.5.orig/ogdi/gltpd: OBJ.Linux
+Only in ogdi-3.1.5.orig/ogdi/glutil: OBJ.Linux
+Only in ogdi-3.1.5.orig/proj: OBJ.Linux
+diff -ur ogdi-3.1.5/proj/makefile ogdi-3.1.5.orig/proj/makefile
+--- ogdi-3.1.5/proj/makefile 2001-04-09 16:20:08.000000000 +0000
++++ ogdi-3.1.5.orig/proj/makefile 2005-08-01 19:01:03.573475752 +0000
+@@ -42,7 +42,7 @@
+
+ INCLUDES = $(CURRENT_INCLUDE)
+
+-CFLAGS = $(INCLUDES) $(COMMON_CFLAGS)
++CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) -fPIC -DPIC
+
+ include $(TOPDIR)/config/common.mak
+
+Only in ogdi-3.1.5.orig/vpflib: OBJ.Linux
+diff -ur ogdi-3.1.5/vpflib/makefile ogdi-3.1.5.orig/vpflib/makefile
+--- ogdi-3.1.5/vpflib/makefile 2001-02-20 04:25:20.000000000 +0000
++++ ogdi-3.1.5.orig/vpflib/makefile 2005-08-01 19:09:48.072739744 +0000
+@@ -31,7 +31,7 @@
+ INCLUDES = $(CURRENT_INCLUDE) $(GENERAL_INCLUDE) $(VPF_INCLUDE)
+
+ CFLAGS = $(INCLUDES) $(COMMON_CFLAGS) $(UNIX_DEFINE) \
+- -DSYS_BIG_ENDIAN=$(BIG_ENDIAN)
++ -DSYS_BIG_ENDIAN=$(BIG_ENDIAN) -fPIC -DPIC
+
+ include $(TOPDIR)/config/common.mak
+
diff --git a/sci-libs/ogdi/files/ogdi-3.1.6-fpic.patch b/sci-libs/ogdi/files/ogdi-3.1.6-fpic.patch
new file mode 100644
index 000000000000..f6fbc85e5ae9
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.1.6-fpic.patch
@@ -0,0 +1,38 @@
+diff --git a/config/generic.mak.in b/config/generic.mak.in
+index 1cb74f5..2e9cabe 100644
+--- a/config/generic.mak.in
++++ b/config/generic.mak.in
+@@ -35,16 +35,16 @@ AR = ar cr
+ # Compilation and linking flags
+ #
+ SHLIB_CFLAGS = @C_PIC@
+-COMMON_CFLAGS = $(OPTIMIZATION) @CFLAGS@ @C_WFLAGS@ -DUNIX=1
++COMMON_CFLAGS = $(OPTIMIZATION) @CFLAGS@ @C_WFLAGS@ -DUNIX=1 @C_PIC@
+
+-SHLIB_LDFLAGS = -shared
+-COMMON_LDFLAGS = $(OPTIMIZATION)
++SHLIB_LDFLAGS = -shared -Wl,-soname,$(LIB_PREFIX)$(TOBEGEN).$(SHLIB_EXT).$(OGDI_MAJOR)
++COMMON_LDFLAGS = $(OPTIMIZATION) $(LDFLAGS)
+
+ RPC_INCLUDES = @RPC_INCLUDES@
+
+ UCB_STATICLIB =
+
+-TCL_INCLUDE = -I/usr/include/tcl8.3
++TCL_INCLUDE = -I${prefix}/include
+ TCL_LINKLIB =
+
+ #
+diff --git a/config/unix.mak b/config/unix.mak
+index e3af578..927b0fc 100644
+--- a/config/unix.mak
++++ b/config/unix.mak
+@@ -55,7 +55,7 @@ LINK_SW = -L
+ ifeq ($(CFG),debug)
+ OPTIMIZATION = -g
+ else
+-OPTIMIZATION = -O
++OPTIMIZATION =
+ endif
+
+ #
diff --git a/sci-libs/ogdi/files/ogdi-3.1.6-unbundle-libs.patch b/sci-libs/ogdi/files/ogdi-3.1.6-unbundle-libs.patch
new file mode 100644
index 000000000000..df96ddfeda76
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.1.6-unbundle-libs.patch
@@ -0,0 +1,13 @@
+diff --git a/makefile b/makefile
+index 8c62a03..3ecb0f0 100644
+--- a/makefile
++++ b/makefile
+@@ -17,7 +17,7 @@ include $(TOPDIR)/config/common.mak
+ #
+ # Sub-directories that need to be built
+ #
+-subdirs = external vpflib ogdi contrib
++subdirs = vpflib ogdi contrib
+
+ ifneq ($(PROJ_SETTING),external)
+ subdirs := proj $(subdirs)
diff --git a/sci-libs/ogdi/files/ogdi-3.2.0_beta2-64b.patch b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-64b.patch
new file mode 100644
index 000000000000..16c40b2ff435
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-64b.patch
@@ -0,0 +1,11 @@
+--- ogdi.old/ogdi/driver/vrf/feature.c 2007/05/09 20:46:28 1.16
++++ ogdi/ogdi/driver/vrf/feature.c 2009/05/08 04:15:50 1.17
+@@ -1347,7 +1350,7 @@
+ short int temp4;
+ int temp5;
+ date_type temp6;
+- long count;
++ int32 count;
+
+ if (returnString != NULL) {
+ free(returnString);
diff --git a/sci-libs/ogdi/files/ogdi-3.2.0_beta2-endianess.patch b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-endianess.patch
new file mode 100644
index 000000000000..75c85fbb29b5
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-endianess.patch
@@ -0,0 +1,18 @@
+diff -urNad ogdi-dfsg~/vpflib/include/machine.h ogdi-dfsg/vpflib/include/machine.h
+--- ogdi-dfsg~/vpflib/include/machine.h 2007-03-27 17:35:24.000000000 +0200
++++ ogdi-dfsg/vpflib/include/machine.h 2007-03-27 17:41:16.000000000 +0200
+@@ -15,10 +15,11 @@
+ long output;
+ } xBYTE_ORDER;
+
+-#if SYS_BIG_ENDIAN == 1
+-#define MACHINE_BYTE_ORDER MOST_SIGNIFICANT
+-#else
++#include <endian.h>
++#if __BYTE_ORDER == __LITTLE_ENDIAN
+ #define MACHINE_BYTE_ORDER LEAST_SIGNIFICANT
++#elif __BYTE_ORDER == __BIG_ENDIAN
++#define MACHINE_BYTE_ORDER MOST_SIGNIFICANT
+ #endif
+
+ #ifdef _WINDOWS
diff --git a/sci-libs/ogdi/files/ogdi-3.2.0_beta2-proj480.patch b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-proj480.patch
new file mode 100644
index 000000000000..9380f91ffd3d
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-proj480.patch
@@ -0,0 +1,297 @@
+Index: ogdi-dfsg/configure
+===================================================================
+--- ogdi-dfsg.orig/configure
++++ ogdi-dfsg/configure
+@@ -3939,7 +3939,7 @@
+ fi
+
+
+-for ac_header in projects.h
++for ac_header in proj_api.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+@@ -4085,8 +4085,8 @@
+ { (exit 1); exit 1; }; }
+ fi
+ if test "$ac_cv_header_projects_h" = no ; then
+- { { echo "$as_me:$LINENO: error: Unable to find external PROJ.4 projects.h file, give path or use default internal library." >&5
+-echo "$as_me: error: Unable to find external PROJ.4 projects.h file, give path or use default internal library." >&2;}
++ { { echo "$as_me:$LINENO: error: Unable to find external PROJ.4 proj_api.h file, give path or use default internal library." >&5
++echo "$as_me: error: Unable to find external PROJ.4 proj_api.h file, give path or use default internal library." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+@@ -4095,12 +4095,12 @@
+
+ elif test "$with_proj" != "no" -a "$with_proj" != "" ; then
+
+- if test -r $with_proj/include/projects.h ; then
+- echo "checking for $with_proj/include/projects.h ... found"
++ if test -r $with_proj/include/proj_api.h ; then
++ echo "checking for $with_proj/include/proj_api.h ... found"
+ PROJ_INCLUDE=-I$with_proj/include
+ else
+- { { echo "$as_me:$LINENO: error: Unable to find $with_proj/include/projects.h" >&5
+-echo "$as_me: error: Unable to find $with_proj/include/projects.h" >&2;}
++ { { echo "$as_me:$LINENO: error: Unable to find $with_proj/include/proj_api.h" >&5
++echo "$as_me: error: Unable to find $with_proj/include/proj_api.h" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+Index: ogdi-dfsg/configure.in
+===================================================================
+--- ogdi-dfsg.orig/configure.in
++++ ogdi-dfsg/configure.in
+@@ -81,13 +81,13 @@
+ if test "$with_proj" = "yes" ; then
+
+ AC_CHECK_LIB(proj,pj_init,PROJ_SETTING=external,PROJ_SETTING=missing,)
+- AC_CHECK_HEADERS(projects.h)
++ AC_CHECK_HEADERS(proj_api.h)
+
+ if test $PROJ_SETTING = missing ; then
+ AC_MSG_ERROR([Unable to find external PROJ.4 library, give path or use default internal library.])
+ fi
+ if test "$ac_cv_header_projects_h" = no ; then
+- AC_MSG_ERROR([Unable to find external PROJ.4 projects.h file, give path or use default internal library.])
++ AC_MSG_ERROR([Unable to find external PROJ.4 proj_api.h file, give path or use default internal library.])
+ fi
+
+ PROJ_SETTING=external
+@@ -95,11 +95,11 @@
+
+ elif test "$with_proj" != "no" -a "$with_proj" != "" ; then
+
+- if test -r $with_proj/include/projects.h ; then
+- echo "checking for $with_proj/include/projects.h ... found"
++ if test -r $with_proj/include/projapi.h ; then
++ echo "checking for $with_proj/include/proj_api.h ... found"
+ PROJ_INCLUDE=-I$with_proj/include
+ else
+- AC_MSG_ERROR([Unable to find $with_proj/include/projects.h])
++ AC_MSG_ERROR([Unable to find $with_proj/include/proj_api.h])
+ fi
+
+ if test -r $with_proj/lib/libproj.so ; then
+Index: ogdi-dfsg/ogdi/c-api/client.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/c-api/client.c
++++ ogdi-dfsg/ogdi/c-api/client.c
+@@ -1576,7 +1576,7 @@
+ char *error_message;
+ ecs_CtlPoints *cpts;
+ ecs_Result *res;
+- PJ *tempproj;
++ projPJ tempproj;
+
+ if (multiblock != 0) {
+ res = &cln_dummy_result;
+@@ -1598,7 +1598,7 @@
+ /* Check if the projection is valid */
+
+ if (strncmp(projection,PROJ_LONGLAT,13) != 0) {
+- tempproj = (PJ *) cln_ProjInit(projection);
++ tempproj = (projPJ) cln_ProjInit(projection);
+ if(tempproj == NULL) {
+ res = &cln_dummy_result;
+ ecs_SetError(res,1,"This projection string is invalid");
+@@ -1775,7 +1775,7 @@
+ ecs_Result *res;
+ register ecs_Client *cln;
+ char *server_proj;
+- PJ *oldtarget,*oldsource;
++ projPJ oldtarget,oldsource;
+ ecs_Region oldreg;
+ int oldisprojequal;
+ int oldisTargetLL;
+@@ -1874,7 +1874,7 @@
+
+ if (strncmp(projection,PROJ_LONGLAT,13) != 0) {
+ cln->isTargetLL = FALSE;
+- cln->target = (PJ *) cln_ProjInit(projection);
++ cln->target = (projPJ) cln_ProjInit(projection);
+ if(cln->target == NULL) {
+ goto setprojerror;
+ }
+@@ -1920,7 +1920,7 @@
+
+ if (strncmp(server_proj,PROJ_LONGLAT,13) != 0) {
+ cln->isSourceLL = FALSE;
+- cln->source = (PJ *) cln_ProjInit(server_proj);
++ cln->source = (projPJ) cln_ProjInit(server_proj);
+ if(cln->source == NULL) {
+ goto setprojerror;
+ }
+@@ -2328,13 +2328,13 @@
+ * char *d: Projection name
+ *
+ * OUT
+- * return PJ *: New projection structure. If NULL, the operation
++ * return projPJ: New projection structure. If NULL, the operation
+ * is a failure.
+ *
+ *----------------------------------------------------------------------
+ */
+
+-PJ *cln_ProjInit(d)
++projPJ cln_ProjInit(d)
+ char *d;
+ {
+ int i,n;
+@@ -2343,7 +2343,7 @@
+ char *l;
+ int longueur;
+ char *c;
+- PJ *retour;
++ projPJ retour;
+
+ if ((c = (char *) malloc(strlen(d)+3)) == NULL) {
+ return NULL;
+@@ -2378,7 +2378,7 @@
+ n++;
+ }
+
+- retour = (PJ *) pj_init(n, (char **) tableau);
++ retour = (projPJ) pj_init(n, (char **) tableau);
+ free(c);
+ free(tableau);
+
+Index: ogdi-dfsg/ogdi/c-api/ecsgeo.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/c-api/ecsgeo.c
++++ ogdi-dfsg/ogdi/c-api/ecsgeo.c
+@@ -310,7 +310,7 @@
+ char *projection;
+ double X1,Y1,X2,Y2;
+ {
+- PJ *proj;
++ projPJ proj;
+ char **argv;
+ int argc;
+ double lon1,lat1,lon2,lat2;
+Index: ogdi-dfsg/ogdi/datum_driver/usa/dtusa.c
+===================================================================
+--- ogdi-dfsg.orig/ogdi/datum_driver/usa/dtusa.c
++++ ogdi-dfsg/ogdi/datum_driver/usa/dtusa.c
+@@ -26,7 +26,12 @@
+ ********************************************************************/
+
+ #include "ecs.h"
+-#include "projects.h"
++#include "proj_api.h"
++
++/* Definition from Proj.4 */
++projUV nad_cvt(projUV, int, struct CTABLE *);
++struct CTABLE *nad_init(projCtx ctx, char *);
++void nad_free(struct CTABLE *);
+
+ typedef struct {
+ struct CTABLE *dtptr;
+@@ -124,7 +129,7 @@
+ strcat(pathfile,"/");
+ strcat(pathfile,table);
+
+- ptr->dtptr = nad_init(pathfile);
++ ptr->dtptr = nad_init(pj_get_default_ctx(), pathfile);
+ if (ptr->dtptr == NULL) {
+ ptr->count--;
+ return FALSE;
+Index: ogdi-dfsg/ogdi/include/ecs_util.h
+===================================================================
+--- ogdi-dfsg.orig/ogdi/include/ecs_util.h
++++ ogdi-dfsg/ogdi/include/ecs_util.h
+@@ -105,12 +105,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
+-#include "projects.h"
+-
+-/* Ensure we are compatible with PROJ.4.4.x and PROJ.4.3.x */
+-#ifndef USE_PROJUV
+-# define projUV UV
+-#endif
++#include "proj_api.h"
+
+ #include "ecs.h"
+
+@@ -1054,8 +1049,8 @@
+ ecs_Family currentSelectionFamily: Current layer selection type
+ char *tclprocname: attribute callback procedure for tcl
+ char *target_proj: Projection descriptor
+- PJ *target: target (c interface) projection descriptors
+- PJ *source: source (driver) projection descriptors
++ projPJ target: target (c interface) projection descriptors
++ projPJ source: source (driver) projection descriptors
+ ecs_Datum targetdatum: target datum information
+ ecs_Datum sourcedatum: source datum information
+ void *dthandle: Handle to the datum driver
+@@ -1092,8 +1088,8 @@
+ ecs_Family currentSelectionFamily; /* Current layer selection type */
+ char *tclprocname; /* attribute callback procedure for tcl */
+ char *target_proj;
+- PJ *target; /* source and target projection descriptors */
+- PJ *source;
++ projPJ target; /* source and target projection descriptors */
++ projPJ source;
+ int isSourceLL; /* flags to avoid unnecessary computation */
+ int isTargetLL;
+ int isProjEqual;
+@@ -1165,7 +1161,7 @@
+
+ /* Projection conversion functions */
+
+-PJ *cln_ProjInit _ANSI_ARGS_((char *d));
++projPJ cln_ProjInit _ANSI_ARGS_((char *d));
+ int cln_CompareProjections _ANSI_ARGS_((int ClientID));
+ int cln_UpdateMaxRegion _ANSI_ARGS_((int ClientID, double x, double y, ecs_Region *gr, int sens, int first));
+ int cln_ConvRegion _ANSI_ARGS_((int ClientID, ecs_Region *gr, int sens));
+Index: ogdi-dfsg/contrib/ogdi_import/ogdi_import.c
+===================================================================
+--- ogdi-dfsg.orig/contrib/ogdi_import/ogdi_import.c
++++ ogdi-dfsg/contrib/ogdi_import/ogdi_import.c
+@@ -63,12 +63,7 @@
+ #include "ecs.h"
+ #include "shapefil.h"
+ #include <assert.h>
+-#include "projects.h"
+-
+-#ifndef PJ_VERSION
+-#define projPJ PJ*
+-#define projUV UV
+-#endif
++#include "proj_api.h"
+
+ static int ClientID = -1;
+ static int bNoDict = FALSE;
+Index: ogdi-dfsg/contrib/ogdi_info/ogdi_info.c
+===================================================================
+--- ogdi-dfsg.orig/contrib/ogdi_info/ogdi_info.c
++++ ogdi-dfsg/contrib/ogdi_info/ogdi_info.c
+@@ -63,7 +63,7 @@
+ */
+
+ #include "ecs.h"
+-#include "projects.h"
++#include "proj_api.h"
+
+ static int ClientID = -1;
+ static int bNoDict = FALSE;
+@@ -214,7 +214,7 @@
+ /* DumpGlobalRegion() */
+ /************************************************************************/
+
+-static int DumpGlobalRegion( ecs_Region * region, PJ * proj_defn )
++static int DumpGlobalRegion( ecs_Region * region, projPJ proj_defn )
+
+ {
+ ecs_Result *result;
+@@ -398,7 +398,7 @@
+
+ {
+ ecs_Result *result;
+- PJ *proj_defn = NULL;
++ projPJ proj_defn = NULL;
+
+ /* -------------------------------------------------------------------- */
+ /* Close old client if there is one active. */
diff --git a/sci-libs/ogdi/files/ogdi-3.2.0_beta2-subdirs.patch b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-subdirs.patch
new file mode 100644
index 000000000000..c98390c440de
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-3.2.0_beta2-subdirs.patch
@@ -0,0 +1,24 @@
+diff -urN ogdi-3.2.0.beta2.old/makefile ogdi-3.2.0.beta2/makefile
+--- ogdi-3.2.0.beta2.old/makefile 2011-06-17 12:45:53.171219473 +0200
++++ ogdi-3.2.0.beta2/makefile 2011-06-17 12:46:34.013708870 +0200
+@@ -17,7 +17,7 @@
+ #
+ # Sub-directories that need to be built
+ #
+-subdirs = external vpflib ogdi contrib
++subdirs = vpflib ogdi contrib
+
+ ifneq ($(PROJ_SETTING),external)
+ subdirs := proj $(subdirs)
+diff -urN ogdi-3.2.0.beta2.old/ogdi/makefile ogdi-3.2.0.beta2/ogdi/makefile
+--- ogdi-3.2.0.beta2.old/ogdi/makefile 2011-06-17 12:45:53.174219434 +0200
++++ ogdi-3.2.0.beta2/ogdi/makefile 2011-06-17 12:47:38.814898744 +0200
+@@ -15,7 +15,7 @@
+ #
+ # Sub-directories that need to be built
+ #
+-subdirs = include c-api glutil attr_driver datum_driver driver gltpd examples
++subdirs = include c-api glutil attr_driver datum_driver driver gltpd
+
+ #
+ # Default target to build everything in all sub-directories
diff --git a/sci-libs/ogdi/metadata.xml b/sci-libs/ogdi/metadata.xml
new file mode 100644
index 000000000000..9a53e0e5b56d
--- /dev/null
+++ b/sci-libs/ogdi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <upstream>
+ <remote-id type="sourceforge">ogdi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/ogdi/ogdi-3.1.5-r1.ebuild b/sci-libs/ogdi/ogdi-3.1.5-r1.ebuild
new file mode 100644
index 000000000000..fd0858352e21
--- /dev/null
+++ b/sci-libs/ogdi/ogdi-3.1.5-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="Open Geographical Datastore Interface, a GIS support library"
+HOMEPAGE="http://ogdi.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ogdi/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="
+ <sci-libs/proj-4.8.0
+ sys-libs/zlib
+ dev-libs/expat"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-fpic.patch
+}
+
+src_compile() {
+ export TOPDIR="${S}"
+ export TARGET=`uname`
+ export CFG="release"
+ export LD_LIBRARY_PATH=$TOPDIR/bin/${TARGET}
+
+ econf --with-projlib="-L/usr/$(get_libdir) -lproj" \
+ --with-zlib --with-expat
+
+ # bug #299239
+ emake -j1 || die "make failed"
+}
+
+src_install() {
+ mv "${S}"/bin/Linux/*.so "${S}"/lib/Linux/. || die "lib move failed"
+ dobin "${S}"/bin/Linux/*
+ insinto /usr/include
+ doins ogdi/include/ecs.h ogdi/include/ecs_util.h
+ dolib.so lib/Linux/*.so
+ dosym libogdi31.so /usr/$(get_libdir)/libogdi.so || die "symlink failed"
+ dodoc ChangeLog NEWS README VERSION
+}
diff --git a/sci-libs/ogdi/ogdi-3.2.0_beta2.ebuild b/sci-libs/ogdi/ogdi-3.2.0_beta2.ebuild
new file mode 100644
index 000000000000..c7273ec0dc22
--- /dev/null
+++ b/sci-libs/ogdi/ogdi-3.2.0_beta2.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_P=${P/_/.}
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Open Geographical Datastore Interface, a GIS support library"
+HOMEPAGE="http://ogdi.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ogdi/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="
+ dev-libs/expat
+ >=sci-libs/proj-4.8.0
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ rm -rf external
+ epatch \
+ "${FILESDIR}"/${P}-subdirs.patch \
+ "${FILESDIR}"/${P}-endianess.patch \
+ "${FILESDIR}"/${P}-64b.patch \
+ "${FILESDIR}"/${P}-proj480.patch \
+ "${FILESDIR}"/${PN}-3.1.6-fpic.patch
+ sed 's:O2:O9:g' -i configure || die
+}
+
+src_configure() {
+ export TOPDIR="${S}"
+ export TARGET=$(uname)
+ export CFG="release"
+ export LD_LIBRARY_PATH=$TOPDIR/bin/${TARGET}
+
+ econf \
+ --with-projlib="-L${EPREFIX}/usr/$(get_libdir) -lproj" \
+ --with-zlib --with-expat
+}
+
+src_compile() {
+ # bug #299239
+ emake -j1 \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ SHLIB_LD="$(tc-getCC)"
+}
+
+src_install() {
+ mv "${S}"/bin/${TARGET}/*.so* "${S}"/lib/Linux/. || die "lib move failed"
+ dobin "${S}"/bin/${TARGET}/*
+ insinto /usr/include
+ doins ogdi/include/ecs.h ogdi/include/ecs_util.h
+ dolib.so lib/${TARGET}/lib*
+ use static-libs && dolib.a lib/${TARGET}/static/*.a
+# dosym libogdi31.so /usr/$(get_libdir)/libogdi.so || die "symlink failed"
+ dodoc ChangeLog NEWS README
+}
diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
new file mode 100644
index 000000000000..fc426c219883
--- /dev/null
+++ b/sci-libs/opencascade/Manifest
@@ -0,0 +1,6 @@
+DIST OpenCASCADE650.tar.gz 214819922 SHA256 fb95d8a542bbfc26af6186495f752a683b40137b34d6afd8f9bb02730c2436c6 SHA512 ea2c3703e3338584d84fb8e06664e79f5f113a117e94a4eefcf39bac3bcc28d81ace2340c83399ecbe5774c348faa3713e90623f8329562e10700ad7e2048be7 WHIRLPOOL 78e092b9ea892d7686578696bcba67f649b65b8d520f358cf2aac9a2c49baf75ff3717899865d7f752a5577b123f8d0eadce06173e5b1bad3dcf0c31052b09d6
+DIST OpenCASCADE655.tgz 146901035 SHA256 f5c6ab58aeb5c514428ae1b802e2820ca9267d19eecd64776f06baa60098d1b6 SHA512 848057a8a9fd41f1d13c4634c5e3366d37f3b4c81b7b194be9d4e48f5608f0bdfbc8cedd2a466e1724649a04ee87bfd0d1a445be47d832cc12fba5647689ceb2 WHIRLPOOL 18413460491c8a2fd10e97c22dd4b9b4772d97f19d27f59f33faa6618a1aac348877abc3ab9526878b38aba22328986a5c656ac91930cad460d33e93653bb463
+DIST OpenCASCADE660.tgz 119153607 SHA256 e39fa4b2255b9bd9bf97aa122043f4608d97b6b79d922375da53275e42b25d60 SHA512 8ee232f96ad650e55ac1f5fb1fe684b9d8198279dee4d7fd80a569c35562fffa643dd362fed7c5aff79541dbc463acc38b1364d8396c2c92c2d73f4955893866 WHIRLPOOL 29f0eaee2c64e4fb3fbb958e7cd043a2738a9d62414f332b81c65a009a100f39f56c38b20ffad4e76754522bfcbdc915470c84f9c218109650f9fd23d7bb3813
+DIST opencascade-6.7.1.tgz 194568487 SHA256 c918cb554c0c22d322dc1d2f3a31069e1d5dcbae869db741339e1d4903e864b1 SHA512 31df4bd172d51b1ebee7e67075fa9cdbeb73eccb326f428b1911f15c9ac0feedc5977e2490f54a130b409f292dd6bfb7d40143263a47aa0330c28337639fe828 WHIRLPOOL d6fc042a4aca381ce74eaf1ca2adead5b0f88b599176c13ecd7a967f9dd92e4589c73ebde53ee3b374a78f696bacf674eb18a356ffcf38bbc8d7e60b30043fa6
+DIST opencascade-6.8.0.tgz 198319238 SHA256 50b145655fd3a4448e291388650cd0dcab8f9d99201aba32e8d26aeff03e8e1c SHA512 4fa95bc244001fd27ad1248acf44d6fd6633fa21fa2479bbea42977bdc9688b638eaca5df8442120d3e075113a031a7f894d0525a6b54e537cb3363c0a698c8b WHIRLPOOL 5b57de759208668e970ef0f3cf55589ea13d2295bac8d12ee597d7a40be402427c3c67e232d68df5a0f91ed87c9f7157faa717490f774e8431910d8223c49bf1
+DIST opencascade-6.9.0.tgz 203915299 SHA256 e9da098b304f6b65c3958947c3c687f00128ce020b67d97554a3e3be9cf3d090 SHA512 79c7f715087ca627447a1cfd0b19a216150d71865f53f791978842ca9663181c5b608d93a7dc81945ad0dba287ea003cfa3ff47ebae07602a8fd38e6e1344aee WHIRLPOOL ab3bf2d1e369f87501bc5f3f63c092b6586a76b56443179e542fc2c1b10e9d504429c60096b7bd555c578ba54212693d4b495f34bb9045c3e1fb519b1d480538
diff --git a/sci-libs/opencascade/files/env.sh.template b/sci-libs/opencascade/files/env.sh.template
new file mode 100644
index 000000000000..146c86ba6d8c
--- /dev/null
+++ b/sci-libs/opencascade/files/env.sh.template
@@ -0,0 +1,40 @@
+#!/bin/sh -f
+
+export CASROOT=VAR_CASROOT
+
+if [ -z "PATH" ];
+then PATH=VAR_CASROOT/Linux/bin;
+else PATH=VAR_CASROOT/Linux/bin:$PATH;
+fi
+export PATH
+if [ -z "LD_LIBRARY_PATH" ];
+then LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib;
+else LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:$LD_LIBRARY_PATH;
+fi
+export LD_LIBRARY_PATH
+export CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
+export CSF_LANGUAGE=us
+export MMGT_CLEAR=1
+export CSF_EXCEPTION_PROMPT=1
+export CSF_SHMessage=VAR_CASROOT/src/SHMessage
+export CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
+export CSF_XSMessage=VAR_CASROOT/src/XSMessage
+export CSF_StandardDefaults=VAR_CASROOT/src/StdResource
+export CSF_PluginDefaults=VAR_CASROOT/src/StdResource
+export CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
+export CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
+export CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
+export CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+export CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
+export CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
+export CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
+export CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
+export CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
+
+export TCLHOME=VAR_SYS_BIN
+export TCLLIBPATH=VAR_SYS_LIB
+export ITK_LIBRARY=VAR_SYS_LIB/VAR_ITK
+export ITCL_LIBRARY=VAR_SYS_LIB/VAR_ITCL
+export TIX_LIBRARY=VAR_SYS_LIB/VAR_TIX
+export TK_LIBRARY=VAR_SYS_LIB/VAR_TK
+export TCL_LIBRARY=VAR_SYS_LIB/VAR_TCL
diff --git a/sci-libs/opencascade/files/opencascade-6.5-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.5-fixed-DESTDIR.patch
new file mode 100644
index 000000000000..ea0f9b6f166f
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.5-fixed-DESTDIR.patch
@@ -0,0 +1,174 @@
+diff -urN opencascade.orig/ros/Makefile.am opencascade/ros/Makefile.am
+--- opencascade.orig/ros/Makefile.am 2011-03-06 16:08:59.000000000 +0100
++++ opencascade/ros/Makefile.am 2011-03-06 16:13:35.000000000 +0100
+@@ -86,106 +86,106 @@
+ dir_SunOS=sun
+
+ install-exec-local:
+- $(INSTALL) -d $(prefix)/$(platform)
+- if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
+- cd $(prefix)/$(platform) && ln -s ../bin bin; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
++ if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
+ fi
+- if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
+- cd $(prefix)/$(platform) && ln -s ../lib lib; \
++ if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
+ fi
+- $(INSTALL) -d $(prefix)/$(dir_$(platform))
+- if [ -e $(prefix)/bin -a ! -e $(prefix)/$(dir_$(platform))/bin ]; then \
+- cd $(prefix)/$(dir_$(platform)) && ln -s ../bin bin; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/$(dir_$(platform))
++ if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(dir_$(platform))/bin ]; then \
++ cd $(DESTDIR)$(prefix)/$(dir_$(platform)) && ln -s ../bin bin; \
+ fi
+- if [ -e $(prefix)/lib -a ! -e $(prefix)/$(dir_$(platform))/lib ]; then \
+- cd $(prefix)/$(dir_$(platform)) && ln -s ../lib lib; \
++ if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(dir_$(platform))/lib ]; then \
++ cd $(DESTDIR)$(prefix)/$(dir_$(platform)) && ln -s ../lib lib; \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+- $(INSTALL) -d $(prefix)/inc; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/inc $(prefix); \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/inc $(DESTDIR)$(prefix); \
+ fi; \
+ if [ "$$pd" != "$$bd" ]; then \
+- cp -fr$(CP_$(platform)) $$bd/config.h $(prefix); \
++ cp -fr$(CP_$(platform)) $$bd/config.h $(DESTDIR)$(prefix); \
+ fi
+- if [ -e $(prefix)/inc/config.h ]; then \
+- unlink $(prefix)/inc/config.h; \
++ if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
++ unlink $(DESTDIR)$(prefix)/inc/config.h; \
+ fi
+- cd $(prefix)/inc && ln -s ../config.h config.h
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" -a -d $(top_srcdir)/src/UnitsAPI ]; then \
+- $(INSTALL) -d $(prefix)/src; \
+- $(INSTALL) -d $(prefix)/src/UnitsAPI; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/UnitsAPI $(prefix)/src; \
+- cp -f$(CP_$(platform)) $(top_srcdir)/env_DRAW.sh $(prefix); \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/UnitsAPI; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/UnitsAPI $(DESTDIR)$(prefix)/src; \
++ cp -f$(CP_$(platform)) $(top_srcdir)/env_DRAW.sh $(DESTDIR)$(prefix); \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+ inst_dirs="$(FoundationClasses_DIRS)"; \
+ if test "x$(FoundationClasses_DIRS)" != "x"; then \
+ for d in $$inst_dirs; do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi; \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+ inst_dirs="$(ModelingData_DIRS)"; \
+ if test "x$(ModelingData_DIRS)" != "x"; then \
+ for d in $$inst_dirs; do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi; \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+ inst_dirs="$(ModelingAlgorithms_DIRS)"; \
+ if test "x$(ModelingAlgorithms_DIRS)" != "x"; then \
+ for d in $$inst_dirs; do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi; \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+ inst_dirs="$(Visualization_DIRS)"; \
+ if test "x$(Visualization_DIRS)" != "x"; then \
+ for d in $$inst_dirs; do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi; \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+ inst_dirs="$(ApplicationFramework_DIRS)"; \
+ if test "x$(ApplicationFramework_DIRS)" != "x"; then \
+ for d in $$inst_dirs; do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi; \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+ inst_dirs="$(DataExchange_DIRS)"; \
+ if test "x$(DataExchange_DIRS)" != "x"; then \
+ for d in $$inst_dirs; do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi; \
+ fi
+- bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(prefix); pd=`pwd`; cd $$bd; \
++ bd=`pwd`; cd $(top_srcdir); sd=`pwd`; cd $(DESTDIR)$(prefix); pd=`pwd`; cd $$bd; \
+ if [ "$$pd" != "$$sd" ]; then \
+ inst_dirs="$(Draw_DIRS)"; \
+ if test "x$(Draw_DIRS)" != "x"; then \
+ for d in $$inst_dirs; do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -fr$(CP_$(platform)) $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi; \
+ fi
+diff -urN opencascade.orig/ros/configure.in opencascade/ros/configure.in
+--- opencascade/ros/configure.in.orig 2011-03-06 19:36:08.000000000 +0100
++++ opencascade/ros/configure.in 2011-03-06 22:24:04.000000000 +0100
+@@ -422,7 +422,7 @@
+ HAVE_FTGL=yes
+ HAVE_FTGL_INC=yes
+ CPPFLAGS="-I$ftgl/include $CPPFLAGS";
+- AC_CHECK_HEADER( [FTGL/FTGL.h], [], [HAVE_FTGL_INC=no] )
++ AC_CHECK_HEADER( [FTGL/ftgl.h], [], [HAVE_FTGL_INC=no] )
+ if test "x$HAVE_FTGL_INC" = "xyes"; then
+ CSF_FTGL_INCLUDES="-I$ftgl/include/FTGL"
+ HAVE_FTGL_LIB=yes
+@@ -433,7 +433,7 @@
+ #we have problem with unresolved symbols on 64 stations
+ CSF_FTGL_LIB="-L$ftgl/lib -lftgl"
+ AC_TRY_LINK([
+-#include <FTGL/FTGL.h>
++#include <FTGL/ftgl.h>
+ #include <FTGL/FTGLTextureFont.h>
+ ], [
+ FTGLTextureFont font("");], [
diff --git a/sci-libs/opencascade/files/opencascade-6.5-ftgl.patch b/sci-libs/opencascade/files/opencascade-6.5-ftgl.patch
new file mode 100644
index 000000000000..b2729f4f403b
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.5-ftgl.patch
@@ -0,0 +1,77 @@
+--- opencascade/ros/src/OpenGl/OpenGl_FontMgr.cxx.orig 2011-03-06 21:55:55.000000000 +0100
++++ opencascade/ros/src/OpenGl/OpenGl_FontMgr.cxx 2011-03-06 23:06:05.000000000 +0100
+@@ -1,8 +1,9 @@
+ #include <OpenGl_FontMgr.hxx>
+
+-#include <FTGLTextureFont.h>
+-#include <FTLibrary.h>
+-#include <FTFace.h>
++#include <ftgl.h>
++// #include <FTGLTextureFont.h>
++// #include <FTLibrary.h>
++// #include <FTFace.h>
+ #include <Standard_Stream.hxx>
+
+ #undef TRACE
+@@ -71,10 +72,29 @@
+ if ( it.Value()->FontAspect() == OSD_FA_Regular ) {
+ //this workaround for fonts with names dependent on system locale.
+ //for example: "Times New Roman Fett Kursive" or "Times New Roman Gras Italiqui"
+- FTFace face(it.Value()->FontPath()->ToCString());
++// FTFace face(it.Value()->FontPath()->ToCString());
++
++ FT_Library* library = new FT_Library;
++ FT_Error ftErrLib = FT_Init_FreeType( library);
++
++ const FT_Long DEFAULT_FACE_INDEX = 0;
++ FT_Face* ftFace = new FT_Face;
++
++ FT_Error err = FT_New_Face( (*library), it.Value()->FontPath()->ToCString(), DEFAULT_FACE_INDEX, ftFace);
++
++// if( err)
++// {
++// delete ftFace;
++// ftFace = 0;
++// }
++// else
++// {
++// numGlyphs = (*ftFace)->num_glyphs;
++// hasKerningTable = FT_HAS_KERNING((*ftFace));
++// }
+
+- if ( face.Error() == FT_Err_Ok ) {
+- if ( (*face.Face())->style_flags == 0 ) {
++ if ( err == FT_Err_Ok ) {
++ if ( (*ftFace)->style_flags == 0 ) {
+ info->SysFont = it.Value();
+ }
+ else {
+@@ -82,22 +102,22 @@
+ #ifdef TRACE
+ cout << "TKOpenGl::initializeFontDB() detected new font!\n"
+ << "\tFont Previous Name: " << it.Value()->FontName()->ToCString() << endl
+- << "\tFont New Name: " << (*face.Face())->family_name << endl
+- << "\tFont Aspect: " << (*face.Face())->style_flags << endl;
++ << "\tFont New Name: " << (*ftFace)->family_name << endl
++ << "\tFont Aspect: " << (*ftFace)->style_flags << endl;
+ #endif
+ OSD_FontAspect aspect = OSD_FA_Regular;
+- if ( (*face.Face())->style_flags == (FT_STYLE_FLAG_ITALIC | FT_STYLE_FLAG_BOLD) )
++ if ( (*ftFace)->style_flags == (FT_STYLE_FLAG_ITALIC | FT_STYLE_FLAG_BOLD) )
+ aspect = OSD_FA_BoldItalic;
+- else if ( (*face.Face())->style_flags == FT_STYLE_FLAG_ITALIC )
++ else if ( (*ftFace)->style_flags == FT_STYLE_FLAG_ITALIC )
+ aspect = OSD_FA_Italic;
+- else if ( (*face.Face())->style_flags == FT_STYLE_FLAG_BOLD )
++ else if ( (*ftFace)->style_flags == FT_STYLE_FLAG_BOLD )
+ aspect = OSD_FA_Bold;
+
+ #ifdef TRACE
+ cout << "\tOSD_FontAspect: " << aspect << endl;
+ #endif
+ Handle(TCollection_HAsciiString) aFontName =
+- new TCollection_HAsciiString( (*face.Face())->family_name );
++ new TCollection_HAsciiString( (*ftFace)->family_name );
+ info->SysFont = new OSD_SystemFont( aFontName, aspect, it.Value()->FontPath() );
+ }
+ }
diff --git a/sci-libs/opencascade/files/opencascade-6.5-tcl8.6.patch b/sci-libs/opencascade/files/opencascade-6.5-tcl8.6.patch
new file mode 100644
index 000000000000..f8b20f94887d
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.5-tcl8.6.patch
@@ -0,0 +1,46 @@
+Fix build failure with tcl 8.6
+
+With this patch, opencascade still builds with tcl 8.5.
+
+Submitted upstream: http://www.opencascade.org/org/forum/thread_20125/
+
+Index: opencascade/ros/src/Draw/Draw_Window.cxx
+===================================================================
+--- opencascade.orig/ros/src/Draw/Draw_Window.cxx
++++ opencascade/ros/src/Draw/Draw_Window.cxx
+@@ -70,7 +70,7 @@
+ errChannel = Tcl_GetStdChannel(TCL_STDERR);
+ if (code != TCL_OK) {
+ if (errChannel) {
+- Tcl_Write(errChannel, Interp->result, -1);
++ Tcl_Write(errChannel, Tcl_GetStringResult(Interp), -1);
+ Tcl_Write(errChannel, "\n", 1);
+ }
+ Tcl_AddErrorInfo(Interp,
+@@ -1044,7 +1044,7 @@
+ mainWindow =
+ Tk_MainWindow(interp) ;
+ if (mainWindow == NULL) {
+- fprintf(stderr, "%s\n", interp->result);
++ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+ exit(1);
+ }
+ Tk_Name(mainWindow) =
+@@ -2064,7 +2064,7 @@
+ OCC_CATCH_SIGNALS
+ Standard_Integer res = Tk_Init(interp) ;
+ if (res != TCL_OK)
+- cout << "tkLoop: error in Tk initialization. Tcl reported: " << interp->result << endl;
++ cout << "tkLoop: error in Tk initialization. Tcl reported: " << Tcl_GetStringResult(interp) << endl;
+
+ } catch (Standard_Failure) {
+ cout <<"tkLoop: exception in TK_Init "<<endl;
+@@ -2074,7 +2074,7 @@
+ mainWindow =
+ Tk_MainWindow(interp) ;
+ if (mainWindow == NULL) {
+- fprintf(stderr, "%s\n", interp->result);
++ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+ cout << "tkLoop: Tk_MainWindow() returned NULL. Exiting..." << endl;
+ Tcl_Exit(0);
+ }
diff --git a/sci-libs/opencascade/files/opencascade-6.5.4-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.5.4-fixed-DESTDIR.patch
new file mode 100644
index 000000000000..15a9fa607216
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.5.4-fixed-DESTDIR.patch
@@ -0,0 +1,46 @@
+--- opencascade-6.5.4/Makefile.am
++++ opencascade-6.5.4/Makefile.am
+@@ -82,27 +82,27 @@
+ cd $(top_builddir)/adm/make && $(MAKE) $(AM_MAKEFLAGS) Draw
+
+ install-exec-local:
+- $(INSTALL) -d $(prefix)/$(platform)
+- if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
+- cd $(prefix)/$(platform) && ln -s ../bin bin; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
++ if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
+ fi
+- if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
+- cd $(prefix)/$(platform) && ln -s ../lib lib; \
++ if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
+ fi
+- buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(prefix); installd=`pwd`; cd $$buildd; \
++ buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(DESTDIR)$(prefix); installd=`pwd`; cd $$buildd; \
+ if [ "$$installd" != "$$sourced" ]; then \
+- $(INSTALL) -d $(prefix)/inc; \
+- cp -frL $(top_srcdir)/inc $(prefix); \
+- cp -frL $$buildd/config.h $(prefix); \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
++ cp -frL $(top_srcdir)/inc $(DESTDIR)$(prefix); \
++ cp -frL $$buildd/config.h $(DESTDIR)$(prefix); \
+ for d in $(FoundationClasses_DIRS) $(ModelingData_DIRS) $(ModelingAlgorithms_DIRS) $(Visualization_DIRS) $(ApplicationFramework_DIRS) $(DataExchange_DIRS) $(Draw_DIRS); do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -frL $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -frL $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi
+- if [ -e $(prefix)/inc/config.h ]; then \
+- unlink $(prefix)/inc/config.h; \
++ if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
++ unlink $(DESTDIR)$(prefix)/inc/config.h; \
+ fi
+- cd $(prefix)/inc && ln -s ../config.h config.h
+- cd $(top_srcdir) && cp *.sh $(prefix)
++ cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
++ cd $(top_srcdir) && cp *.sh $(DESTDIR)$(prefix)
+
+ .PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
+\ Brak znaku nowej linii na końcu pliku
diff --git a/sci-libs/opencascade/files/opencascade-6.5.4-fixed-tbb-VERSION.patch b/sci-libs/opencascade/files/opencascade-6.5.4-fixed-tbb-VERSION.patch
new file mode 100644
index 000000000000..88b13acd21c4
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.5.4-fixed-tbb-VERSION.patch
@@ -0,0 +1,10 @@
+--- src/Standard/Standard_MMgrTBBalloc.cxx
++++ src/Standard/Standard_MMgrTBBalloc.cxx
+@@ -12,6 +12,7 @@
+
+ // paralleling with Intel TBB
+ #ifdef HAVE_TBB
++#undef VERSION
+ #include <tbb/scalable_allocator.h>
+ using namespace tbb;
+ #else
diff --git a/sci-libs/opencascade/files/opencascade-6.5.4-tcl8.6.patch b/sci-libs/opencascade/files/opencascade-6.5.4-tcl8.6.patch
new file mode 100644
index 000000000000..28c3a11afdf9
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.5.4-tcl8.6.patch
@@ -0,0 +1,38 @@
+--- ros/src/Draw/Draw_Window.cxx.orig 2013-01-10 23:40:07.279470692 +0100
++++ ros/src/Draw/Draw_Window.cxx 2013-01-10 23:45:00.498784426 +0100
+@@ -84,7 +84,7 @@
+ errChannel = Tcl_GetStdChannel(TCL_STDERR);
+ if (code != TCL_OK) {
+ if (errChannel) {
+- Tcl_Write(errChannel, Interp->result, -1);
++ Tcl_Write(errChannel, Tcl_GetStringResult(Interp), -1);
+ Tcl_Write(errChannel, "\n", 1);
+ }
+ Tcl_AddErrorInfo(Interp,
+@@ -1055,7 +1055,7 @@
+ mainWindow =
+ Tk_MainWindow(interp) ;
+ if (mainWindow == NULL) {
+- fprintf(stderr, "%s\n", interp->result);
++ fprintf(stderr, "%s\n", Tcl_GetStringResult(interp));
+ exit(1);
+ }
+ Tk_Name(mainWindow) =
+@@ -2061,7 +2061,7 @@
+ Standard_Integer res = Tk_Init (interp);
+ if (res != TCL_OK)
+ {
+- cout << "tkLoop: error in Tk initialization. Tcl reported: " << interp->result << endl;
++ cout << "tkLoop: error in Tk initialization. Tcl reported: " << Tcl_GetStringResult(interp) << endl;
+ }
+ }
+ catch (Standard_Failure)
+@@ -2072,7 +2072,7 @@
+ mainWindow = Tk_MainWindow (interp);
+ if (mainWindow == NULL)
+ {
+- fprintf (stderr, "%s\n", interp->result);
++ fprintf (stderr, "%s\n", Tcl_GetStringResult(interp));
+ cout << "tkLoop: Tk_MainWindow() returned NULL. Exiting...\n";
+ Tcl_Exit (0);
+ } \ No newline at end of file
diff --git a/sci-libs/opencascade/files/opencascade-6.5.5-deprecated-glx-api.patch b/sci-libs/opencascade/files/opencascade-6.5.5-deprecated-glx-api.patch
new file mode 100644
index 000000000000..930b73484fee
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.5.5-deprecated-glx-api.patch
@@ -0,0 +1,30 @@
+--- opencascade-6.5.5/ros/inc/InterfaceGraphic_X11.hxx
++++ opencascade-6.5.5/ros/inc/InterfaceGraphic_X11.hxx
+@@ -25,6 +25,7 @@
+ # include <X11/Xlib.h>
+ # include <X11/Xutil.h>
+ # include <X11/Xatom.h>
++#define GLX_GLXEXT_LEGACY
+ # include <GL/glx.h>
+
+ # if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
+--- opencascade-6.5.5/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
++++ opencascade-6.5.5/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
+@@ -25,6 +25,7 @@
+ # include <X11/Xlib.h>
+ # include <X11/Xutil.h>
+ # include <X11/Xatom.h>
++#define GLX_GLXEXT_LEGACY
+ # include <GL/glx.h>
+
+ # if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
+--- opencascade-6.5.5/ros/src/OpenGl/OpenGl_Context.cxx
++++ opencascade-6.5.5/ros/src/OpenGl/OpenGl_Context.cxx
+@@ -38,6 +38,7 @@
+ #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
+ #include <dlfcn.h>
+ #else
++ #define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h> // glXGetProcAddress()
+ #endif
+
diff --git a/sci-libs/opencascade/files/opencascade-6.6.0-deprecated-glx-api.patch b/sci-libs/opencascade/files/opencascade-6.6.0-deprecated-glx-api.patch
new file mode 100644
index 000000000000..d3ae6ae7f4c4
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.6.0-deprecated-glx-api.patch
@@ -0,0 +1,50 @@
+--- opencascade-6.6.0/ros/inc/InterfaceGraphic_X11.hxx
++++ opencascade-6.6.0/ros/inc/InterfaceGraphic_X11.hxx
+@@ -25,6 +25,7 @@
+ # include <X11/Xlib.h>
+ # include <X11/Xutil.h>
+ # include <X11/Xatom.h>
++#define GLX_GLXEXT_LEGACY
+ # include <GL/glx.h>
+
+ # if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
+--- opencascade-6.6.0/ros/samples/qt/Common/src/View.cxx
++++ opencascade-6.6.0/ros/samples/qt/Common/src/View.cxx
+@@ -25,6 +25,7 @@
+ #include <Cocoa_Window.hxx>
+ #else
+ #include <QX11Info>
++#define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+--- opencascade-6.6.0/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
++++ opencascade-6.6.0/ros/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
+@@ -25,6 +25,7 @@
+ # include <X11/Xlib.h>
+ # include <X11/Xutil.h>
+ # include <X11/Xatom.h>
++#define GLX_GLXEXT_LEGACY
+ # include <GL/glx.h>
+
+ # if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
+--- opencascade-6.6.0/ros/src/OpenGl/OpenGl_Context.cxx
++++ opencascade-6.6.0/ros/src/OpenGl/OpenGl_Context.cxx
+@@ -39,6 +39,7 @@
+ #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
+ #include <dlfcn.h>
+ #else
++ #define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h> // glXGetProcAddress()
+ #endif
+
+--- opencascade-6.6.0/ros/src/Xw/Xw_Window.cxx
++++ opencascade-6.6.0/ros/src/Xw/Xw_Window.cxx
+@@ -24,6 +24,7 @@
+ #include <Aspect_Convert.hxx>
+ #include <Aspect_WindowDefinitionError.hxx>
+
++#define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h>
+
+ namespace
diff --git a/sci-libs/opencascade/files/opencascade-6.6.0-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.6.0-fixed-DESTDIR.patch
new file mode 100644
index 000000000000..54143db4d491
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.6.0-fixed-DESTDIR.patch
@@ -0,0 +1,45 @@
+--- opencascade-6.6.0/Makefile.am
++++ opencascade-6.6.0/Makefile.am
+@@ -82,27 +82,27 @@
+ cd $(top_builddir)/adm/lin/amk && $(MAKE) $(AM_MAKEFLAGS) Draw
+
+ install-exec-local:
+- $(INSTALL) -d $(prefix)/$(platform)
+- if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
+- cd $(prefix)/$(platform) && ln -s ../bin bin; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
++ if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
+ fi
+- if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
+- cd $(prefix)/$(platform) && ln -s ../lib lib; \
++ if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
+ fi
+- buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(prefix); installd=`pwd`; cd $$buildd; \
++ buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(DESTDIR)$(prefix); installd=`pwd`; cd $$buildd; \
+ if [ "$$installd" != "$$sourced" ]; then \
+- $(INSTALL) -d $(prefix)/inc; \
+- cp -frL $(top_srcdir)/inc $(prefix); \
+- cp -frL $$buildd/config.h $(prefix); \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
++ cp -frL $(top_srcdir)/inc $(DESTDIR)$(prefix); \
++ cp -frL $$buildd/config.h $(DESTDIR)$(prefix); \
+ for d in $(FoundationClasses_DIRS) $(ModelingData_DIRS) $(ModelingAlgorithms_DIRS) $(Visualization_DIRS) $(ApplicationFramework_DIRS) $(DataExchange_DIRS) $(Draw_DIRS); do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -frL $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -frL $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi
+- if [ -e $(prefix)/inc/config.h ]; then \
+- rm -f $(prefix)/inc/config.h; \
++ if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
++ rm -f $(DESTDIR)$(prefix)/inc/config.h; \
+ fi
+- cd $(prefix)/inc && ln -s ../config.h config.h
+- cd $(top_srcdir) && cp *amk.sh $(prefix)
++ cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
++ cd $(top_srcdir) && cp *amk.sh $(DESTDIR)$(prefix)
+
+ .PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
diff --git a/sci-libs/opencascade/files/opencascade-6.7.0-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.7.0-fixed-DESTDIR.patch
new file mode 100644
index 000000000000..3a3f98093443
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.7.0-fixed-DESTDIR.patch
@@ -0,0 +1,51 @@
+--- Makefile.am.old 2014-01-13 09:43:18.530500362 +0100
++++ Makefile.am 2014-01-13 09:45:40.430496833 +0100
+@@ -82,29 +82,29 @@
+ cd $(top_builddir)/adm/lin/amk && $(MAKE) $(AM_MAKEFLAGS) Draw
+
+ install-exec-local:
+- $(INSTALL) -d $(prefix)/$(platform)
+- if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
+- cd $(prefix)/$(platform) && ln -s ../bin bin; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
++ if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
+ fi
+- if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
+- cd $(prefix)/$(platform) && ln -s ../lib lib; \
++ if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
+ fi
+- buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(prefix); installd=`pwd`; cd $$buildd; \
++ buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(DESTDIR)$(prefix); installd=`pwd`; cd $$buildd; \
+ if [ "$$installd" != "$$sourced" ]; then \
+- $(INSTALL) -d $(prefix)/inc; \
+- cp -frL $(top_srcdir)/inc $(prefix); \
+- cp -frL $$buildd/config.h $(prefix); \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
++ cp -frL $(top_srcdir)/inc $(DESTDIR)$(prefix); \
++ cp -frL $$buildd/config.h $(DESTDIR)$(prefix); \
+ for d in $(FoundationClasses_DIRS) $(ModelingData_DIRS) $(ModelingAlgorithms_DIRS) $(Visualization_DIRS) $(ApplicationFramework_DIRS) $(DataExchange_DIRS) $(Draw_DIRS); do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -frL $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -frL $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi
+- if [ -e $(prefix)/inc/config.h ]; then \
+- rm -f $(prefix)/inc/config.h; \
++ if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
++ rm -f $(DESTDIR)$(prefix)/inc/config.h; \
+ fi
+- cd $(prefix)/inc && ln -s ../config.h config.h
+- cd $(top_srcdir) && cp draw.sh $(prefix)
+- cd $(top_srcdir) && cp custom.sh $(prefix)
+- cd $(top_srcdir) && cp env.sh $(prefix)
++ cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
++ cd $(top_srcdir) && cp draw.sh $(DESTDIR)$(prefix)
++ cd $(top_srcdir) && cp custom.sh $(DESTDIR)$(prefix)
++ cd $(top_srcdir) && cp env.sh $(DESTDIR)$(prefix)
+
+-.PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
+\ Brak znaku nowej linii na końcu pliku
++.PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
diff --git a/sci-libs/opencascade/files/opencascade-6.7.1-deprecated-glx-api.patch b/sci-libs/opencascade/files/opencascade-6.7.1-deprecated-glx-api.patch
new file mode 100644
index 000000000000..b3c3629aada1
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.7.1-deprecated-glx-api.patch
@@ -0,0 +1,89 @@
+From ba7e14489e14f08aae3e0f48b419b2149290b163 Mon Sep 17 00:00:00 2001
+From: Matthias Maier <tamiko@kyomu.43-1.org>
+Date: Tue, 23 Dec 2014 21:15:59 +0100
+Subject: [PATCH] Define GLX_GLXEXT_LEGACY prior to inclusion of GL/glx.h
+
+---
+ inc/InterfaceGraphic_X11.hxx | 1 +
+ samples/qt/Common/src/View.cxx | 1 +
+ src/InterfaceGraphic/InterfaceGraphic_X11.hxx | 1 +
+ src/OpenGl/OpenGl_Context.cxx | 1 +
+ src/OpenGl/OpenGl_Workspace_Raytrace.cxx | 1 +
+ src/Xw/Xw_Window.cxx | 1 +
+ 6 files changed, 6 insertions(+)
+
+diff --git a/inc/InterfaceGraphic_X11.hxx b/inc/InterfaceGraphic_X11.hxx
+index 280bb9b..98d7415 100755
+--- a/inc/InterfaceGraphic_X11.hxx
++++ b/inc/InterfaceGraphic_X11.hxx
+@@ -21,6 +21,7 @@
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
++#define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h>
+
+ #if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
+diff --git a/samples/qt/Common/src/View.cxx b/samples/qt/Common/src/View.cxx
+index 77f51b8..9b3f4e2 100755
+--- a/samples/qt/Common/src/View.cxx
++++ b/samples/qt/Common/src/View.cxx
+@@ -28,6 +28,7 @@
+ #include <Cocoa_Window.hxx>
+ #else
+ #include <QX11Info>
++#define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+diff --git a/src/InterfaceGraphic/InterfaceGraphic_X11.hxx b/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
+index 280bb9b..98d7415 100755
+--- a/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
++++ b/src/InterfaceGraphic/InterfaceGraphic_X11.hxx
+@@ -21,6 +21,7 @@
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
++#define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h>
+
+ #if defined (sun) || defined (SUNOS) || defined (__alpha) || defined (DECOSF1) || defined (sgi) || defined (IRIX) || defined (__hpux)|| defined (HPUX)
+diff --git a/src/OpenGl/OpenGl_Context.cxx b/src/OpenGl/OpenGl_Context.cxx
+index 9e2f074..1ddf6a4 100755
+--- a/src/OpenGl/OpenGl_Context.cxx
++++ b/src/OpenGl/OpenGl_Context.cxx
+@@ -39,6 +39,7 @@
+ #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
+ #include <dlfcn.h>
+ #else
++ #define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h> // glXGetProcAddress()
+ #endif
+
+diff --git a/src/OpenGl/OpenGl_Workspace_Raytrace.cxx b/src/OpenGl/OpenGl_Workspace_Raytrace.cxx
+index f1b5afe..870eb7d 100755
+--- a/src/OpenGl/OpenGl_Workspace_Raytrace.cxx
++++ b/src/OpenGl/OpenGl_Workspace_Raytrace.cxx
+@@ -32,6 +32,7 @@
+ #elif defined(__APPLE__) && !defined(MACOSX_USE_GLX)
+ #include <OpenGL/CGLCurrent.h>
+ #else
++ #define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h>
+ #endif
+
+diff --git a/src/Xw/Xw_Window.cxx b/src/Xw/Xw_Window.cxx
+index 5442365..0e80444 100755
+--- a/src/Xw/Xw_Window.cxx
++++ b/src/Xw/Xw_Window.cxx
+@@ -20,6 +20,7 @@
+ #include <Aspect_Convert.hxx>
+ #include <Aspect_WindowDefinitionError.hxx>
+
++#define GLX_GLXEXT_LEGACY
+ #include <GL/glx.h>
+
+ namespace
+--
+2.0.5
+
diff --git a/sci-libs/opencascade/files/opencascade-6.8.0-fixed-DESTDIR.patch b/sci-libs/opencascade/files/opencascade-6.8.0-fixed-DESTDIR.patch
new file mode 100644
index 000000000000..1f37eace7602
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-6.8.0-fixed-DESTDIR.patch
@@ -0,0 +1,47 @@
+--- opencascade-6.8.0/Makefile.am
++++ opencascade-6.8.0/Makefile.am
+@@ -82,27 +82,27 @@
+ cd $(top_builddir)/adm/lin/amk && $(MAKE) $(AM_MAKEFLAGS) Draw
+
+ install-exec-local:
+- $(INSTALL) -d $(prefix)/$(platform)
+- if [ -e $(prefix)/bin -a ! -e $(prefix)/$(platform)/bin ]; then \
+- cd $(prefix)/$(platform) && ln -s ../bin bin; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/$(platform)
++ if [ -e $(DESTDIR)$(prefix)/bin -a ! -e $(DESTDIR)$(prefix)/$(platform)/bin ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../bin bin; \
+ fi
+- if [ -e $(prefix)/lib -a ! -e $(prefix)/$(platform)/lib ]; then \
+- cd $(prefix)/$(platform) && ln -s ../lib lib; \
++ if [ -e $(DESTDIR)$(prefix)/lib -a ! -e $(DESTDIR)$(prefix)/$(platform)/lib ]; then \
++ cd $(DESTDIR)$(prefix)/$(platform) && ln -s ../lib lib; \
+ fi
+- buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(prefix); installd=`pwd`; cd $$buildd; \
++ buildd=`pwd`; cd $(top_srcdir); sourced=`pwd`; cd $(DESTDIR)$(prefix); installd=`pwd`; cd $$buildd; \
+ if [ "$$installd" != "$$sourced" ]; then \
+- $(INSTALL) -d $(prefix)/inc; \
+- cp -frL $(top_srcdir)/inc $(prefix); \
+- cp -frL $$buildd/config.h $(prefix); \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/inc; \
++ cp -frL $(top_srcdir)/inc $(DESTDIR)$(prefix); \
++ cp -frL $$buildd/config.h $(DESTDIR)$(prefix); \
+ for d in $(FoundationClasses_DIRS) $(ModelingData_DIRS) $(ModelingAlgorithms_DIRS) $(Visualization_DIRS) $(ApplicationFramework_DIRS) $(DataExchange_DIRS) $(Draw_DIRS); do \
+- $(INSTALL) -d $(prefix)/src/$$d; \
+- cp -frL $(top_srcdir)/src/$$d $(prefix)/src; \
++ $(INSTALL) -d $(DESTDIR)$(prefix)/src/$$d; \
++ cp -frL $(top_srcdir)/src/$$d $(DESTDIR)$(prefix)/src; \
+ done; \
+ fi
+- if [ -e $(prefix)/inc/config.h ]; then \
+- rm -f $(prefix)/inc/config.h; \
++ if [ -e $(DESTDIR)$(prefix)/inc/config.h ]; then \
++ rm -f $(DESTDIR)$(prefix)/inc/config.h; \
+ fi
+- cd $(prefix)/inc && ln -s ../config.h config.h
+- cd $(top_srcdir) && cp *.sh $(prefix)
++ cd $(DESTDIR)$(prefix)/inc && ln -s ../config.h config.h
++ cd $(top_srcdir) && cp *.sh $(DESTDIR)$(prefix)
+
+-.PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
+\ No newline at end of file
++.PHONY: FoundationClasses ModelingData ModelingAlgorithms Visualization ApplicationFramework DataExchange Draw
diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml
new file mode 100644
index 000000000000..ccbd7c2de568
--- /dev/null
+++ b/sci-libs/opencascade/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>xmw@gentoo.org</email>
+ <name>Michael Weber</name>
+ </maintainer>
+ <use>
+ <flag name="freeimage">Enable support for image i/o via media-libs/freeimage</flag>
+ <flag name="gl2ps">Use gl2ps PostScript printing library</flag>
+ <flag name="tbb">tEnable multithreading with the Intel Threads Building Block dev-cpp/tbb</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/opencascade/opencascade-6.5.5.ebuild b/sci-libs/opencascade/opencascade-6.5.5.ebuild
new file mode 100644
index 000000000000..bc4b667cc9b4
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-6.5.5.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.org/"
+SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE${PV//\./}.tgz"
+
+LICENSE="Open-CASCADE-Technology-Public-License-6.5"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
+
+DEPEND="app-eselect/eselect-opencascade
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu
+ freeimage? ( media-libs/freeimage )
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( virtual/jdk:= )
+ tbb? ( dev-cpp/tbb )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/ros
+
+# http://bugs.gentoo.org/show_bug.cgi?id=352435
+# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist mirror"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ epatch \
+ "${FILESDIR}"/${P}-deprecated-glx-api.patch \
+ "${FILESDIR}"/${PN}-6.5.4-fixed-DESTDIR.patch \
+ "${FILESDIR}"/${PN}-6.5.4-tcl8.6.patch \
+ "${FILESDIR}"/${PN}-6.5.4-fixed-tbb-VERSION.patch
+
+ # Feed environment variables used by Opencascade compilation
+ my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
+ local my_env_install="#!/bin/sh -f
+if [ -z \"\$PATH\" ]; then
+ export PATH=VAR_CASROOT/Linux/bin
+else
+ export PATH=VAR_CASROOT/Linux/bin:\$PATH
+fi
+if [ -z \"\$LD_LIBRARY_PATH\" ]; then
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
+else
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
+fi"
+ local my_sys_lib=${EROOT}usr/$(get_libdir)
+ local my_env="CASROOT=VAR_CASROOT
+CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
+CSF_LANGUAGE=us
+MMGT_CLEAR=1
+CSF_EXCEPTION_PROMPT=1
+CSF_SHMessage=VAR_CASROOT/src/SHMessage
+CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
+CSF_XSMessage=VAR_CASROOT/src/XSMessage
+CSF_StandardDefaults=VAR_CASROOT/src/StdResource
+CSF_PluginDefaults=VAR_CASROOT/src/StdResource
+CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
+CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
+CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
+CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
+CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
+CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
+TCLHOME=${EROOT}usr/bin
+TCLLIBPATH=${my_sys_lib}
+ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
+ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
+TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
+TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
+TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
+
+ ( echo "${my_env_install}"
+ echo "${my_env}" | sed -e "s:^:export :" ) \
+ | sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
+ source env.sh
+
+ ( echo "PATH=${my_install_dir}/lin/bin"
+ echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
+ echo "${my_env}" | sed \
+ -e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
+ -e "s:/Linux/lib/:/$(get_libdir)/:g" || die
+ ) > 50${PN}
+
+ append-cxxflags "-fpermissive"
+
+ sed -e "/^AM_C_PROTOTYPES$/d" \
+ -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+ -e "s:\$qt/include:\$qt/include/qt4:g"\
+ -e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
+ -i configure.* || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
+ --with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
+ --with-freetype="${EROOT}usr" \
+ --with-ftgl="${EROOT}usr" \
+ $(usex freeimage "--with-freeimage=${EROOT}usr" "") \
+ $(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
+ $(usex qt4 "--with-qt=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-include=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-library=${EROOT}usr" "") \
+ $(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
+ $(use_enable debug) \
+ $(use_enable !debug production)
+ #$(use_with freeimage) \
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ prune_libtool_files
+
+ # Symlinks for keeping original OpenCascade folder structure and
+ # add a link lib to $(get_libdir) if we are e.g. on amd64 multilib
+ if [ "$(get_libdir)" != "lib" ]; then
+ dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
+ fi
+
+ insinto /etc/env.d/${PN}
+ newins 50${PN} ${PV}
+
+ cd "${WORKDIR}"
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r data
+ doins -r samples
+ fi
+ dodoc doc/*.pdf
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r doc/{overview,ReferenceDocumentation}
+ fi
+}
+
+pkg_postinst() {
+ eselect ${PN} set ${PV}
+ einfo
+ elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+ elog "You get a list by running \"equery depends sci-libs/opencascade\""
+ elog "revdep-rebuild does NOT suffice."
+ einfo
+}
diff --git a/sci-libs/opencascade/opencascade-6.5.ebuild b/sci-libs/opencascade/opencascade-6.5.ebuild
new file mode 100644
index 000000000000..28b8a12d2017
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-6.5.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.org/"
+SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE650.tar.gz"
+
+LICENSE="Open-CASCADE-Technology-Public-License-6.5"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples gl2ps java"
+
+DEPEND="
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( virtual/jdk:= )
+"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/ros
+
+# http://bugs.gentoo.org/show_bug.cgi?id=352435
+# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist mirror"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ # Determine itk, itcl, tix, tk and tcl versions
+ itk_version=$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
+ itcl_version=$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
+ tix_version=$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
+ tk_version=$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
+ tcl_version=$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')
+
+ INSTALL_DIR=/usr/$(get_libdir)/${P}/ros
+
+ ewarn " Please note that building OpenCascade takes a lot of time and "
+ ewarn " hardware ressources: 3.5-4 GB free diskspace and 256 MB RAM are "
+ ewarn " the minimum requirements. "
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ # Substitute with our ready-made env.sh script
+ cp -f "${FILESDIR}"/env.sh.template env.sh || die
+
+ # Feed environment variables used by Opencascade compilation
+ sed -i \
+ -e "s:VAR_CASROOT:${S}:g" \
+ -e 's:VAR_SYS_BIN:/usr/bin:g' \
+ -e "s:VAR_SYS_LIB:/usr/$(get_libdir):g" env.sh \
+ || die "Environment variables feed in env.sh failed!"
+
+ # Tweak itk, itcl, tix, tk and tcl versions
+ sed -i \
+ -e "s:VAR_ITK:itk${itk_version}:g" \
+ -e "s:VAR_ITCL:itcl${itcl_version}:g" \
+ -e "s:VAR_TIX:tix${tix_version}:g" \
+ -e "s:VAR_TK:tk${tk_version}:g" \
+ -e "s:VAR_TCL:tcl${tcl_version}:g" env.sh \
+ || die "itk, itcl, tix, tk and tcl version tweaking failed!"
+
+ epatch \
+ "${FILESDIR}"/${P}-ftgl.patch \
+ "${FILESDIR}"/${P}-fixed-DESTDIR.patch \
+ "${FILESDIR}"/${P}-tcl8.6.patch
+
+ source env.sh
+
+ append-cxxflags "-fpermissive"
+
+ sed -e "/^AM_C_PROTOTYPES/d" \
+ -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+ -i configure.* || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # Add the configure options
+ local confargs="--prefix=${INSTALL_DIR}/lin --exec-prefix=${INSTALL_DIR}/lin --with-tcl=/usr/$(get_libdir) --with-tk=/usr/$(get_libdir)"
+
+ confargs+=" --with-freetype=/usr"
+ confargs+=" --with-ftgl=/usr"
+
+ use gl2ps && confargs+=" --with-gl2ps=/usr"
+
+ if use java ; then
+ confargs+=" --with-java-include=$(java-config -O)/include"
+ else
+ confargs+=" --without-java-include"
+ fi
+
+ econf ${confargs} \
+ $(use_enable debug ) $(use_enable !debug production ) \
+ || die "Configuration failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # .la files kill cute little kittens
+ find "${D}" -name '*.la' -exec rm {} +
+
+ # Symlinks for keeping original OpenCascade folder structure and
+ # add a link lib to $(get_libdir) if we are e.g. on amd64 multilib
+ if [ "$(get_libdir)" != "lib" ]; then
+ dosym "$(get_libdir)" "${INSTALL_DIR}/lin/lib"
+ fi
+
+ # Tweak the environment variables script again with new destination
+ cp "${FILESDIR}"/env.sh.template env.sh
+ sed -i "s:VAR_CASROOT:${INSTALL_DIR}/lin:g" env.sh || die
+
+ # Build the env.d environment variables
+ cp "${FILESDIR}"/env.sh.template 50${PN} || die
+ sed -i \
+ -e 's:export ::g' \
+ -e "s:VAR_CASROOT:${INSTALL_DIR}/lin:g" \
+ -e '1,2d' \
+ -e '4,14d' \
+ -e "s:/Linux/lib/:/$(get_libdir)/:g" ./50${PN} \
+ || die "Creation of the /etc/env.d/50opencascade failed!"
+
+ sed -i "2i\PATH=${INSTALL_DIR}/lin/bin\nLDPATH=${INSTALL_DIR}/lin/$(get_libdir)" ./50${PN} \
+ || die "Creation of the /etc/env.d/50opencascade failed!"
+
+ # Update both env.d and script with the libraries variables
+ sed -i \
+ -e 's:VAR_SYS_BIN:/usr/bin:g' \
+ -e "s:VAR_SYS_LIB:/usr/$(get_libdir):g" \
+ -e "s:VAR_ITK:itk${itk_version}:g" \
+ -e "s:VAR_ITCL:itcl${itcl_version}:g" \
+ -e "s:VAR_TIX:tix${tix_version}:g" \
+ -e "s:VAR_TK:tk${tk_version}:g" \
+ -e "s:VAR_TCL:tcl${tcl_version}:g" env.sh 50${PN} \
+ || die "Tweaking of the Tcl/Tk libraries location in env.sh and 50opencascade failed!"
+
+ # Install the env.d variables file
+ doenvd 50${PN}
+
+ cd "${S}"/../ || die
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r data
+
+ insinto /usr/share/doc/${PF}/examples
+ doins -r samples
+ fi
+
+ cd "${S}"/../doc || die
+ dodoc *.pdf
+
+ # Install the documentation
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r {overview,ReferenceDocumentation}
+ fi
+}
+
+pkg_postinst() {
+ einfo
+ elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+ elog "You get a list by running \"equery depends sci-libs/opencascade\""
+ elog "revdep-rebuild does NOT suffice."
+ einfo
+}
diff --git a/sci-libs/opencascade/opencascade-6.6.0.ebuild b/sci-libs/opencascade/opencascade-6.6.0.ebuild
new file mode 100644
index 000000000000..14b37a1c8316
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-6.6.0.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic versionator
+
+DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.org/"
+SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/OpenCASCADE$(delete_all_version_separators).tgz"
+
+LICENSE="Open-CASCADE-Technology-Public-License-6.6"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
+
+DEPEND="app-eselect/eselect-opencascade
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu
+ freeimage? ( media-libs/freeimage )
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( virtual/jdk:= )
+ tbb? ( dev-cpp/tbb )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/ros
+
+# http://bugs.gentoo.org/show_bug.cgi?id=352435
+# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist mirror"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ epatch \
+ "${FILESDIR}"/${P}-deprecated-glx-api.patch \
+ "${FILESDIR}"/${P}-fixed-DESTDIR.patch \
+ "${FILESDIR}"/${PN}-6.5.4-fixed-tbb-VERSION.patch
+
+ # Feed environment variables used by Opencascade compilation
+ my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
+ local my_env_install="#!/bin/sh -f
+if [ -z \"\$PATH\" ]; then
+ export PATH=VAR_CASROOT/Linux/bin
+else
+ export PATH=VAR_CASROOT/Linux/bin:\$PATH
+fi
+if [ -z \"\$LD_LIBRARY_PATH\" ]; then
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
+else
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
+fi"
+ local my_sys_lib=${EROOT}usr/$(get_libdir)
+ local my_env="CASROOT=VAR_CASROOT
+CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
+CSF_LANGUAGE=us
+MMGT_CLEAR=1
+CSF_EXCEPTION_PROMPT=1
+CSF_SHMessage=VAR_CASROOT/src/SHMessage
+CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
+CSF_XSMessage=VAR_CASROOT/src/XSMessage
+CSF_StandardDefaults=VAR_CASROOT/src/StdResource
+CSF_PluginDefaults=VAR_CASROOT/src/StdResource
+CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
+CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
+CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
+CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
+CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
+CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
+TCLHOME=${EROOT}usr/bin
+TCLLIBPATH=${my_sys_lib}
+ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
+ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
+TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
+TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
+TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
+
+ ( echo "${my_env_install}"
+ echo "${my_env}" | sed -e "s:^:export :" ) \
+ | sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
+ source env.sh
+
+ ( echo "PATH=${my_install_dir}/lin/bin"
+ echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
+ echo "${my_env}" | sed \
+ -e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
+ -e "s:/Linux/lib/:/$(get_libdir)/:g" || die
+ ) > 50${PN}
+
+ append-cxxflags "-fpermissive"
+
+ sed -e "/^AM_C_PROTOTYPES$/d" \
+ -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+ -e "s:\$qt/include:\$qt/include/qt4:g"\
+ -e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
+ -i configure.* || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
+ --with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
+ --with-freetype="${EROOT}usr" \
+ --with-ftgl="${EROOT}usr" \
+ $(usex freeimage "--with-freeimage=${EROOT}usr" "") \
+ $(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
+ $(usex qt4 "--with-qt=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-include=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-library=${EROOT}usr" "") \
+ $(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
+ $(use_enable debug) \
+ $(use_enable !debug production)
+ #$(use_with freeimage) \
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ prune_libtool_files
+
+ # Symlinks for keeping original OpenCascade folder structure and
+ # add a link lib to $(get_libdir) if we are e.g. on amd64 multilib
+ if [ "$(get_libdir)" != "lib" ]; then
+ dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
+ fi
+
+ insinto /etc/env.d/${PN}
+ newins 50${PN} ${PV}
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r data
+ doins -r samples
+ fi
+ dodoc doc/*.pdf
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r doc/{overview,ReferenceDocumentation}
+ fi
+}
+
+pkg_postinst() {
+ eselect ${PN} set ${PV}
+ einfo
+ elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+ elog "You get a list by running \"equery depends sci-libs/opencascade\""
+ elog "revdep-rebuild does NOT suffice."
+ einfo
+}
diff --git a/sci-libs/opencascade/opencascade-6.7.1.ebuild b/sci-libs/opencascade/opencascade-6.7.1.ebuild
new file mode 100644
index 000000000000..e18a372a8687
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-6.7.1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.org/"
+SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/opencascade-${PV}.tgz"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
+
+DEPEND="app-eselect/eselect-opencascade
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu
+ freeimage? ( media-libs/freeimage )
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( virtual/jdk:= )
+ tbb? ( dev-cpp/tbb )"
+RDEPEND="${DEPEND}"
+
+# http://bugs.gentoo.org/show_bug.cgi?id=352435
+# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist mirror"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ epatch \
+ "${FILESDIR}"/${P}-deprecated-glx-api.patch \
+ "${FILESDIR}"/${PN}-6.7.0-fixed-DESTDIR.patch \
+ "${FILESDIR}"/${PN}-6.5.4-fixed-tbb-VERSION.patch
+
+ # Feed environment variables used by Opencascade compilation
+ my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
+ local my_env_install="#!/bin/sh -f
+if [ -z \"\$PATH\" ]; then
+ export PATH=VAR_CASROOT/Linux/bin
+else
+ export PATH=VAR_CASROOT/Linux/bin:\$PATH
+fi
+if [ -z \"\$LD_LIBRARY_PATH\" ]; then
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
+else
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
+fi"
+ local my_sys_lib=${EROOT}usr/$(get_libdir)
+ local my_env="CASROOT=VAR_CASROOT
+CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
+CSF_LANGUAGE=us
+MMGT_CLEAR=1
+CSF_EXCEPTION_PROMPT=1
+CSF_SHMessage=VAR_CASROOT/src/SHMessage
+CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
+CSF_XSMessage=VAR_CASROOT/src/XSMessage
+CSF_StandardDefaults=VAR_CASROOT/src/StdResource
+CSF_PluginDefaults=VAR_CASROOT/src/StdResource
+CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
+CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
+CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
+CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
+CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
+CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
+TCLHOME=${EROOT}usr/bin
+TCLLIBPATH=${my_sys_lib}
+ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
+ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
+TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
+TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
+TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
+
+ ( echo "${my_env_install}"
+ echo "${my_env}" | sed -e "s:^:export :" ) \
+ | sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
+ source env.sh
+
+ ( echo "PATH=${my_install_dir}/lin/bin"
+ echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
+ echo "${my_env}" | sed \
+ -e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
+ -e "s:/Linux/lib/:/$(get_libdir)/:g" || die
+ ) > 50${PN}
+
+ append-cxxflags "-fpermissive"
+
+ sed -e "/^AM_C_PROTOTYPES$/d" \
+ -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+ -e "s:\$qt/include:\$qt/include/qt4:g"\
+ -e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
+ -i configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
+ --with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
+ --with-freetype="${EROOT}usr" \
+ --with-ftgl="${EROOT}usr" \
+ $(usex freeimage "--with-freeimage=${EROOT}usr" "") \
+ $(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
+ $(usex qt4 "--with-qt=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-include=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-library=${EROOT}usr" "") \
+ $(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
+ $(use_enable debug) \
+ $(use_enable !debug production)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ prune_libtool_files
+
+ # Symlinks for keeping original OpenCascade folder structure and
+ # add a link lib to $(get_libdir) if we are e.g. on amd64 multilib
+ if [ "$(get_libdir)" != "lib" ]; then
+ dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
+ fi
+
+ insinto /etc/env.d/${PN}
+ newins 50${PN} ${PV}
+
+ #cd "${S}"
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r data
+ doins -r samples
+ fi
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r doc/{overview,pdf,refman}
+ fi
+}
+
+pkg_postinst() {
+ eselect ${PN} set ${PV}
+ einfo
+ elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+ elog "You get a list by running \"equery depends sci-libs/opencascade\""
+ elog "revdep-rebuild does NOT suffice."
+ einfo
+}
diff --git a/sci-libs/opencascade/opencascade-6.8.0.ebuild b/sci-libs/opencascade/opencascade-6.8.0.ebuild
new file mode 100644
index 000000000000..0c09d22eb749
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-6.8.0.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.org/"
+SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/opencascade-${PV}.tgz"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
+
+DEPEND="app-eselect/eselect-opencascade
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu
+ freeimage? ( media-libs/freeimage )
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( virtual/jdk:= )
+ tbb? ( dev-cpp/tbb )"
+RDEPEND="${DEPEND}"
+
+# http://bugs.gentoo.org/show_bug.cgi?id=352435
+# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist mirror"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ epatch \
+ "${FILESDIR}"/${P}-fixed-DESTDIR.patch
+
+ # Feed environment variables used by Opencascade compilation
+ my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
+ local my_env_install="#!/bin/sh -f
+if [ -z \"\$PATH\" ]; then
+ export PATH=VAR_CASROOT/Linux/bin
+else
+ export PATH=VAR_CASROOT/Linux/bin:\$PATH
+fi
+if [ -z \"\$LD_LIBRARY_PATH\" ]; then
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
+else
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
+fi"
+ local my_sys_lib=${EROOT}usr/$(get_libdir)
+ local my_env="CASROOT=VAR_CASROOT
+CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
+CSF_LANGUAGE=us
+MMGT_CLEAR=1
+CSF_EXCEPTION_PROMPT=1
+CSF_SHMessage=VAR_CASROOT/src/SHMessage
+CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
+CSF_XSMessage=VAR_CASROOT/src/XSMessage
+CSF_StandardDefaults=VAR_CASROOT/src/StdResource
+CSF_PluginDefaults=VAR_CASROOT/src/StdResource
+CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
+CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
+CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
+CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
+CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
+CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
+TCLHOME=${EROOT}usr/bin
+TCLLIBPATH=${my_sys_lib}
+ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
+ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
+TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
+TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
+TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
+
+ ( echo "${my_env_install}"
+ echo "${my_env}" | sed -e "s:^:export :" ) \
+ | sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
+ source env.sh
+
+ ( echo "PATH=${my_install_dir}/lin/bin"
+ echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
+ echo "${my_env}" | sed \
+ -e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
+ -e "s:/Linux/lib/:/$(get_libdir)/:g" || die
+ ) > 50${PN}
+
+ append-cxxflags "-fpermissive"
+
+ sed -e "/^AM_C_PROTOTYPES$/d" \
+ -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+ -e "s:\$qt/include:\$qt/include/qt4:g"\
+ -e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
+ -i configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
+ --with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
+ --with-freetype="${EROOT}usr" \
+ --with-ftgl="${EROOT}usr" \
+ $(usex freeimage "--with-freeimage=${EROOT}usr" "") \
+ $(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
+ $(usex qt4 "--with-qt=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-include=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-library=${EROOT}usr" "") \
+ $(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
+ $(use_enable debug) \
+ $(use_enable !debug production)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ prune_libtool_files
+
+ # Symlinks for keeping original OpenCascade folder structure and
+ # add a link lib to $(get_libdir) if we are e.g. on amd64 multilib
+ if [ "$(get_libdir)" != "lib" ]; then
+ dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
+ fi
+
+ insinto /etc/env.d/${PN}
+ newins 50${PN} ${PV}
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r data
+ doins -r samples
+ fi
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r doc/{overview,pdf,refman}
+ fi
+}
+
+pkg_postinst() {
+ eselect ${PN} set ${PV}
+ einfo
+ elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+ elog "You get a list by running \"equery depends sci-libs/opencascade\""
+ elog "revdep-rebuild does NOT suffice."
+ einfo
+}
diff --git a/sci-libs/opencascade/opencascade-6.9.0.ebuild b/sci-libs/opencascade/opencascade-6.9.0.ebuild
new file mode 100644
index 000000000000..da82dfc81b49
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-6.9.0.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils check-reqs multilib java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="Software development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="http://www.opencascade.org/"
+SRC_URI="http://files.opencascade.com/OCCT/OCC_${PV}_release/opencascade-${PV}.tgz"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug doc examples freeimage gl2ps java qt4 +tbb"
+
+DEPEND="app-eselect/eselect-opencascade
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu
+ freeimage? ( media-libs/freeimage )
+ gl2ps? ( x11-libs/gl2ps )
+ java? ( virtual/jdk:= )
+ tbb? ( dev-cpp/tbb )"
+RDEPEND="${DEPEND}"
+
+# http://bugs.gentoo.org/show_bug.cgi?id=352435
+# http://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist mirror"
+
+CHECKREQS_MEMORY="256M"
+CHECKREQS_DISK_BUILD="3584M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ java-pkg-opt-2_src_prepare
+
+ epatch \
+ "${FILESDIR}"/${PN}-6.8.0-fixed-DESTDIR.patch
+
+ # Feed environment variables used by Opencascade compilation
+ my_install_dir=${EROOT}usr/$(get_libdir)/${P}/ros
+ local my_env_install="#!/bin/sh -f
+if [ -z \"\$PATH\" ]; then
+ export PATH=VAR_CASROOT/Linux/bin
+else
+ export PATH=VAR_CASROOT/Linux/bin:\$PATH
+fi
+if [ -z \"\$LD_LIBRARY_PATH\" ]; then
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib
+else
+ export LD_LIBRARY_PATH=VAR_CASROOT/Linux/lib:\$LD_LIBRARY_PATH
+fi"
+ local my_sys_lib=${EROOT}usr/$(get_libdir)
+ local my_env="CASROOT=VAR_CASROOT
+CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
+CSF_LANGUAGE=us
+MMGT_CLEAR=1
+CSF_EXCEPTION_PROMPT=1
+CSF_SHMessage=VAR_CASROOT/src/SHMessage
+CSF_MDTVTexturesDirectory=VAR_CASROOT/src/Textures
+CSF_XSMessage=VAR_CASROOT/src/XSMessage
+CSF_StandardDefaults=VAR_CASROOT/src/StdResource
+CSF_PluginDefaults=VAR_CASROOT/src/StdResource
+CSF_XCAFDefaults=VAR_CASROOT/src/StdResource
+CSF_StandardLiteDefaults=VAR_CASROOT/src/StdResource
+CSF_GraphicShr=VAR_CASROOT/Linux/lib/libTKOpenGl.so
+CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
+CSF_UnitsDefinition=VAR_CASROOT/src/UnitsAPI/Units.dat
+CSF_IGESDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_STEPDefaults=VAR_CASROOT/src/XSTEPResource
+CSF_XmlOcafResource=VAR_CASROOT/src/XmlOcafResource
+CSF_MIGRATION_TYPES=VAR_CASROOT/src/StdResource/MigrationSheet.txt
+TCLHOME=${EROOT}usr/bin
+TCLLIBPATH=${my_sys_lib}
+ITK_LIBRARY=${my_sys_lib}/itk$(grep ITK_VER /usr/include/itk.h | sed 's/^.*"\(.*\)".*/\1/')
+ITCL_LIBRARY=${my_sys_lib}/itcl$(grep ITCL_VER /usr/include/itcl.h | sed 's/^.*"\(.*\)".*/\1/')
+TIX_LIBRARY=${my_sys_lib}/tix$(grep TIX_VER /usr/include/tix.h | sed 's/^.*"\(.*\)".*/\1/')
+TK_LIBRARY=${my_sys_lib}/tk$(grep TK_VER /usr/include/tk.h | sed 's/^.*"\(.*\)".*/\1/')
+TCL_LIBRARY=${my_sys_lib}/tcl$(grep TCL_VER /usr/include/tcl.h | sed 's/^.*"\(.*\)".*/\1/')"
+
+ ( echo "${my_env_install}"
+ echo "${my_env}" | sed -e "s:^:export :" ) \
+ | sed -e "s:VAR_CASROOT:${S}:g" > env.sh || die
+ source env.sh
+
+ ( echo "PATH=${my_install_dir}/lin/bin"
+ echo "LDPATH=${my_install_dir}/lin/$(get_libdir)"
+ echo "${my_env}" | sed \
+ -e "s:VAR_CASROOT:${my_install_dir}/lin:g" \
+ -e "s:/Linux/lib/:/$(get_libdir)/:g" || die
+ ) > 50${PN}
+
+ append-cxxflags "-fpermissive"
+
+ sed -e "/^AM_C_PROTOTYPES$/d" \
+ -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" \
+ -e "s:\$qt/include:\$qt/include/qt4:g"\
+ -e "s:\$qt/lib:\$qt/$(get_libdir)/qt4:g"\
+ -i configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix=${my_install_dir}/lin --exec-prefix=${my_install_dir}/lin \
+ --with-tcl="${EROOT}usr/$(get_libdir)" --with-tk="${EROOT}usr/$(get_libdir)" \
+ --with-freetype="${EROOT}usr" \
+ --with-ftgl="${EROOT}usr" \
+ $(usex freeimage "--with-freeimage=${EROOT}usr" "") \
+ $(usex gl2ps "--with-gl2ps=${EROOT}usr" "") \
+ $(usex qt4 "--with-qt=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-include=${EROOT}usr" "") \
+ $(usex tbb "--with-tbb-library=${EROOT}usr" "") \
+ $(use java && echo "--with-java-include=$(java-config -O)/include" || echo "--without-java-include") \
+ $(use_enable debug) \
+ $(use_enable !debug production)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ prune_libtool_files
+
+ # Symlinks for keeping original OpenCascade folder structure and
+ # add a link lib to $(get_libdir) if we are e.g. on amd64 multilib
+ if [ "$(get_libdir)" != "lib" ]; then
+ dosym "$(get_libdir)" "${my_install_dir}/lin/lib"
+ fi
+
+ insinto /etc/env.d/${PN}
+ newins 50${PN} ${PV}
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r data
+ doins -r samples
+ fi
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins -r doc/{overview,pdf,refman}
+ fi
+}
+
+pkg_postinst() {
+ eselect ${PN} set ${PV}
+ einfo
+ elog "After upgrading OpenCASCADE you may have to rebuild packages depending on it."
+ elog "You get a list by running \"equery depends sci-libs/opencascade\""
+ elog "revdep-rebuild does NOT suffice."
+ einfo
+}
diff --git a/sci-libs/openfoam-bin/Manifest b/sci-libs/openfoam-bin/Manifest
new file mode 100644
index 000000000000..cd8a5f1b744c
--- /dev/null
+++ b/sci-libs/openfoam-bin/Manifest
@@ -0,0 +1,4 @@
+DIST OpenFOAM-1.6-compile.patch.bz2 5835 SHA256 633966faf70ffb0acbb1684075630cf9a3028b7099e3fcee549d8c850d55b794
+DIST OpenFOAM-1.6.General.tgz 241760751 SHA256 a752d8e70ad26b84d6939e32e443e341f4cafecaff0068c0cc85c43562d21f9a
+DIST OpenFOAM-1.6.linux64GccDPOpt.tgz 44957838 SHA256 58b825423a3fcc7015aa60905c7e65a344908e7e5f8740baeed6cd17fb5bb14d
+DIST OpenFOAM-1.6.linuxGccDPOpt.tgz 41587474 SHA256 3c551134c0e1a8700c1257e549820d4cf6cbe50c6435ab5dbddb1e4b6123dac0
diff --git a/sci-libs/openfoam-bin/metadata.xml b/sci-libs/openfoam-bin/metadata.xml
new file mode 100644
index 000000000000..283d23bb5561
--- /dev/null
+++ b/sci-libs/openfoam-bin/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <maintainer>
+ <email>oli.borm@web.de</email>
+ <name>Oliver Borm</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">foam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/openfoam-bin/openfoam-bin-1.6.ebuild b/sci-libs/openfoam-bin/openfoam-bin-1.6.ebuild
new file mode 100644
index 000000000000..7216f7e80a0c
--- /dev/null
+++ b/sci-libs/openfoam-bin/openfoam-bin-1.6.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils versionator multilib toolchain-funcs
+
+MY_PN="OpenFOAM"
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${MY_PN}-${MY_PV}"
+
+use x86 && WM_OPTIONS="linuxGccDPOpt"
+use amd64 && WM_OPTIONS="linux64GccDPOpt"
+
+DESCRIPTION="Open Field Operation and Manipulation - CFD Simulation Toolbox"
+HOMEPAGE="http://www.opencfd.co.uk/openfoam/"
+SRC_URI="mirror://sourceforge/foam/${MY_P}.General.gtgz -> ${MY_P}.General.tgz
+ x86? ( mirror://sourceforge/foam/${MY_P}.linuxGccDPOpt.gtgz -> ${MY_P}.linuxGccDPOpt.tgz )
+ amd64? ( mirror://sourceforge/foam/${MY_P}.linux64GccDPOpt.gtgz -> ${MY_P}.linux64GccDPOpt.tgz )
+ mirror://gentoo/${MY_P}-compile.patch.bz2"
+
+LICENSE="GPL-2"
+SLOT="1.6"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="examples doc"
+
+DEPEND="!=sci-libs/openfoam-${MY_PV}*
+ !=sci-libs/openfoam-kernel-${MY_PV}*
+ !=sci-libs/openfoam-meta-${MY_PV}*
+ !=sci-libs/openfoam-solvers-${MY_PV}*
+ !=sci-libs/openfoam-utilities-${MY_PV}*
+ !=sci-libs/openfoam-wmake-${MY_PV}*
+ sci-visualization/opendx
+ virtual/mpi"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
+
+pkg_setup() {
+ ## binaries are compiled with gcc-4.3.3
+ if ! version_is_at_least 4.3 $(gcc-version) ; then
+ die "${PN} requires >=sys-devel/gcc-4.3 in order to run."
+ fi
+
+ elog
+ elog "In order to use ${MY_PN} you should add the following line to ~/.bashrc :"
+ elog
+ elog "alias startOF$(delete_all_version_separators ${MY_PV})='source ${INSDIR}/etc/bashrc'"
+ elog
+ elog "And everytime you want to use OpenFOAM you have to execute startOF$(delete_all_version_separators ${MY_PV})"
+ ewarn
+ ewarn "FoamX is deprecated since ${MY_PN}-1.5! "
+ ewarn
+}
+
+src_prepare() {
+ epatch "${WORKDIR}"/${MY_P}-compile.patch
+}
+
+src_configure() {
+ if has_version sys-cluster/mpich2 ; then
+ export WM_MPLIB=MPICH
+ export MPI_VERSION=mpich
+ elif has_version sys-cluster/openmpi ; then
+ export WM_MPLIB=OPENMPI
+ export MPI_VERSION=openmpi
+ else
+ die "You need one of the following mpi implementations: openmpi, mpich2"
+ fi
+
+ sed -i -e "s|WM_MPLIB:=OPENMPI|WM_MPLIB:="${WM_MPLIB}"|" etc/bashrc
+ sed -i -e "s|setenv WM_MPLIB OPENMPI|setenv WM_MPLIB "${WM_MPLIB}"|" etc/cshrc
+
+ mv lib/${WM_OPTIONS}/$MPI_VERSION* lib/${WM_OPTIONS}/$MPI_VERSION
+}
+
+src_test() {
+ cd bin
+ ./foamInstallationTest
+}
+
+src_install() {
+ insinto ${INSDIR}
+ doins -r etc
+
+ use examples && doins -r tutorials
+
+ insopts -m0755
+ doins -r bin
+
+ insinto ${INSDIR}/applications/bin
+ doins -r applications/bin/${WM_OPTIONS}/*
+
+ insinto ${INSDIR}/lib
+ doins -r lib/${WM_OPTIONS}/*
+
+ insinto ${INSDIR}/wmake
+ doins -r wmake/*
+
+ dodoc {doc/Guides-a4/*.pdf,README}
+
+ if use doc ; then
+ dohtml -r doc/Doxygen
+ fi
+}
diff --git a/sci-libs/openfoam/Manifest b/sci-libs/openfoam/Manifest
new file mode 100644
index 000000000000..2c80994c18a2
--- /dev/null
+++ b/sci-libs/openfoam/Manifest
@@ -0,0 +1,5 @@
+DIST OpenFOAM-2.2.1.tgz 37600247 SHA256 92ad3d88470db22799e07ae247aa85da92dabcb7995a17a178f791a7098fa2bb SHA512 1b3afab700ca6e8b328ec76b5d862e67696ad6c622bc1d3a26c3cc87d6ad62f752be72cc0644510b63612fd1441e7a2969e3b53728d30f2a67a2453530fcd286 WHIRLPOOL 4f6a16470be52f7ee442b2e8d37b8b86d8e70b1da326011b9952272f3c754f91894693c1edfe8623b23e6cd20cb7ca905a96ba432b963b082b4f7dad3faf54f9
+DIST OpenFOAM-2.2.2.tgz 32536146 SHA256 097adf813e035d04c9be19ee244632cd76971fde107682d50983f8d5cdcf0210 SHA512 c57128b4a3fea0419118963a0e65dcecb532cb36713a03c3beef027e57f5a48c6839f35286eb9163cceb9e278bef6135bca7ca53990c2dbe4544fb26e82098d0 WHIRLPOOL bf350b8bbaa80240865b5d704c6d0fe351e8751321168a4115ae0590e0a0c471b0bbcc4edcd48b7ad40403f9122ed441b0cef41096d39e2aee7e23eb1bb8e94e
+DIST OpenFOAM-2.3.0.tgz 37339475 SHA256 f06b0fef527cb1c15d0f3899a9f7d4e5dffb4bf051735c4caae21d5d766ffd7b SHA512 314e4726c3814bf8efebee88be0113c3921be8daeb947ef325688911ff6dc265f144952adf77af1d274abff58c68331bc48f4e74ef7a632c98adbd87fe79355c WHIRLPOOL 515c0e7fd753cc7ef4e704dbfc70923539d3c0e3c7b97212db3debb3d7c7c8f28ec22da09918797ee86f19084cc86c44594cd85c54a89473fcbb8a8a6cdec6e7
+DIST OpenFOAM-2.3.1.tgz 37660806 SHA256 2bbcf4d5932397c2087a9b6d7eeee6d2b1350c8ea4f455415f05e7cd94d9e5ba SHA512 a55cb2c8ac66bbfff81249aab759e1178895597460544009129883ab775813bb028d4c294d1913fd644d9d2268d075d2fd151c1cd1aac69080555f99ce1c182e WHIRLPOOL 11e20e89154d32c4718ec39e4264280693ec9120bfa4292ab40c7f9ae4174e1c08a817655ab737deea86af396a7607533e088a937e13c39a45ebcae07ffb56b5
+DIST OpenFOAM-2.4.0.tgz 41640005 SHA256 aac4c9e2cc1b54724292add3e182ebf923a0929978e3b5ba524c97ce75477706 SHA512 1916191d810676145a88492e902840f5cbd839f3b221dcf55c5edc26791b395c1d36fd6ef37e4c1bc1f813357a3b22ce3ec3e1b802ac49157f76d25e6ca53cbe WHIRLPOOL 176992376ca67ff473977a22b2c9dcfb6a7c1c5e05a7ed96f0d54043d96351968b8c550584241f08c1022ff109a2023b220de67dda947e085bf92d4b2b8551d7
diff --git a/sci-libs/openfoam/metadata.xml b/sci-libs/openfoam/metadata.xml
new file mode 100644
index 000000000000..a7d86f1a12b7
--- /dev/null
+++ b/sci-libs/openfoam/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <maintainer>
+ <email>oli.borm@web.de</email>
+ <name>Oliver Borm</name>
+ </maintainer>
+ <use>
+ <flag name="opendx"> Install opendx visualisation tool</flag>
+ <flag name="src"> Install source files</flag>
+ <flag name="paraview">Enable support for paraview library</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/openfoam/openfoam-2.2.1.ebuild b/sci-libs/openfoam/openfoam-2.2.1.ebuild
new file mode 100644
index 000000000000..b6894ec27581
--- /dev/null
+++ b/sci-libs/openfoam/openfoam-2.2.1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils versionator multilib toolchain-funcs multiprocessing
+
+MY_PN="OpenFOAM"
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Open Field Operation and Manipulation - CFD Simulation Toolbox"
+HOMEPAGE="http://www.openfoam.org"
+SRC_URI="http://downloads.sourceforge.net/foam/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="2.2"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples opendx src"
+
+RDEPEND="!=sci-libs/openfoam-bin-${MY_PV}*
+ !=sci-libs/openfoam-kernel-${MY_PV}*
+ !=sci-libs/openfoam-meta-${MY_PV}*
+ !=sci-libs/openfoam-solvers-${MY_PV}*
+ !=sci-libs/openfoam-utilities-${MY_PV}*
+ !=sci-libs/openfoam-wmake-${MY_PV}*
+ sci-libs/parmetis
+ sci-libs/parmgridgen
+ sci-libs/scotch
+ virtual/mpi
+ opendx? ( sci-visualization/opendx )"
+DEPEND="${DEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+S=${WORKDIR}/${MY_P}
+INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
+
+pkg_setup() {
+ # just to be sure the right profile is selected (gcc-config)
+ if ! version_is_at_least 4.3 $(gcc-version) ; then
+ die "${PN} requires >=sys-devel/gcc-4.3 to compile."
+ fi
+
+ elog
+ elog "In order to use ${MY_PN} you should add the following line to ~/.bashrc :"
+ elog
+ elog "alias startOF$(delete_all_version_separators ${MY_PV})='source ${INSDIR}/etc/bashrc'"
+ elog
+ elog "And everytime you want to use OpenFOAM you have to execute startOF$(delete_all_version_separators ${MY_PV})"
+ ewarn
+ ewarn "FoamX is deprecated since ${MY_PN}-1.5! "
+ ewarn
+}
+
+src_configure() {
+ if has_version sys-cluster/mpich2 ; then
+ export WM_MPLIB=MPICH
+ elif has_version sys-cluster/openmpi ; then
+ export WM_MPLIB=OPENMPI
+ else
+ die "You need one of the following mpi implementations: openmpi or mpich2"
+ fi
+
+ sed -i -e "s|WM_MPLIB:=OPENMPI|WM_MPLIB:="${WM_MPLIB}"|" etc/bashrc
+ sed -i -e "s|setenv WM_MPLIB OPENMPI|setenv WM_MPLIB "${WM_MPLIB}"|" etc/cshrc
+
+ sed -i -e "s|^foamInstall=\$HOME|foamInstall=/usr/$(get_libdir)|" etc/bashrc
+ sed -i -e "s|^set foamInstall = \$HOME|set foamInstall = /usr/$(get_libdir)|" etc/cshrc
+}
+
+src_compile() {
+ export WM_NCOMPPROCS=$(makeopts_jobs)
+
+ export FOAM_INST_DIR=${WORKDIR}
+ source etc/bashrc
+
+ find wmake -name dirToString -exec rm -rf {} +
+ find wmake -name wmkdep -exec rm -rf {}+
+
+ if use doc ; then
+ ./Allwmake doc || die "could not build"
+ else
+ ./Allwmake || die "could not build"
+ fi
+}
+
+src_test() {
+ cd bin
+ ./foamInstallationTest
+}
+
+src_install() {
+ insinto ${INSDIR}
+ doins -r etc
+
+ use examples && doins -r tutorials
+
+ use src && doins -r src
+
+ insopts -m0755
+ doins -r bin applications platforms wmake
+
+ dodoc README.html doc/Guides-a4/*.pdf
+
+ if use doc ; then
+ dohtml -r doc/Doxygen
+ fi
+}
diff --git a/sci-libs/openfoam/openfoam-2.2.2.ebuild b/sci-libs/openfoam/openfoam-2.2.2.ebuild
new file mode 100644
index 000000000000..b6894ec27581
--- /dev/null
+++ b/sci-libs/openfoam/openfoam-2.2.2.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils versionator multilib toolchain-funcs multiprocessing
+
+MY_PN="OpenFOAM"
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Open Field Operation and Manipulation - CFD Simulation Toolbox"
+HOMEPAGE="http://www.openfoam.org"
+SRC_URI="http://downloads.sourceforge.net/foam/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="2.2"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples opendx src"
+
+RDEPEND="!=sci-libs/openfoam-bin-${MY_PV}*
+ !=sci-libs/openfoam-kernel-${MY_PV}*
+ !=sci-libs/openfoam-meta-${MY_PV}*
+ !=sci-libs/openfoam-solvers-${MY_PV}*
+ !=sci-libs/openfoam-utilities-${MY_PV}*
+ !=sci-libs/openfoam-wmake-${MY_PV}*
+ sci-libs/parmetis
+ sci-libs/parmgridgen
+ sci-libs/scotch
+ virtual/mpi
+ opendx? ( sci-visualization/opendx )"
+DEPEND="${DEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+S=${WORKDIR}/${MY_P}
+INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
+
+pkg_setup() {
+ # just to be sure the right profile is selected (gcc-config)
+ if ! version_is_at_least 4.3 $(gcc-version) ; then
+ die "${PN} requires >=sys-devel/gcc-4.3 to compile."
+ fi
+
+ elog
+ elog "In order to use ${MY_PN} you should add the following line to ~/.bashrc :"
+ elog
+ elog "alias startOF$(delete_all_version_separators ${MY_PV})='source ${INSDIR}/etc/bashrc'"
+ elog
+ elog "And everytime you want to use OpenFOAM you have to execute startOF$(delete_all_version_separators ${MY_PV})"
+ ewarn
+ ewarn "FoamX is deprecated since ${MY_PN}-1.5! "
+ ewarn
+}
+
+src_configure() {
+ if has_version sys-cluster/mpich2 ; then
+ export WM_MPLIB=MPICH
+ elif has_version sys-cluster/openmpi ; then
+ export WM_MPLIB=OPENMPI
+ else
+ die "You need one of the following mpi implementations: openmpi or mpich2"
+ fi
+
+ sed -i -e "s|WM_MPLIB:=OPENMPI|WM_MPLIB:="${WM_MPLIB}"|" etc/bashrc
+ sed -i -e "s|setenv WM_MPLIB OPENMPI|setenv WM_MPLIB "${WM_MPLIB}"|" etc/cshrc
+
+ sed -i -e "s|^foamInstall=\$HOME|foamInstall=/usr/$(get_libdir)|" etc/bashrc
+ sed -i -e "s|^set foamInstall = \$HOME|set foamInstall = /usr/$(get_libdir)|" etc/cshrc
+}
+
+src_compile() {
+ export WM_NCOMPPROCS=$(makeopts_jobs)
+
+ export FOAM_INST_DIR=${WORKDIR}
+ source etc/bashrc
+
+ find wmake -name dirToString -exec rm -rf {} +
+ find wmake -name wmkdep -exec rm -rf {}+
+
+ if use doc ; then
+ ./Allwmake doc || die "could not build"
+ else
+ ./Allwmake || die "could not build"
+ fi
+}
+
+src_test() {
+ cd bin
+ ./foamInstallationTest
+}
+
+src_install() {
+ insinto ${INSDIR}
+ doins -r etc
+
+ use examples && doins -r tutorials
+
+ use src && doins -r src
+
+ insopts -m0755
+ doins -r bin applications platforms wmake
+
+ dodoc README.html doc/Guides-a4/*.pdf
+
+ if use doc ; then
+ dohtml -r doc/Doxygen
+ fi
+}
diff --git a/sci-libs/openfoam/openfoam-2.3.0.ebuild b/sci-libs/openfoam/openfoam-2.3.0.ebuild
new file mode 100644
index 000000000000..d67d5effe582
--- /dev/null
+++ b/sci-libs/openfoam/openfoam-2.3.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils versionator multilib toolchain-funcs multiprocessing
+
+MY_PN="OpenFOAM"
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Open Field Operation and Manipulation - CFD Simulation Toolbox"
+HOMEPAGE="http://www.openfoam.org"
+SRC_URI="http://downloads.sourceforge.net/foam/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="2.2"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples opendx src paraview"
+
+RDEPEND="!=sci-libs/openfoam-bin-${MY_PV}*
+ !=sci-libs/openfoam-kernel-${MY_PV}*
+ !=sci-libs/openfoam-meta-${MY_PV}*
+ !=sci-libs/openfoam-solvers-${MY_PV}*
+ !=sci-libs/openfoam-utilities-${MY_PV}*
+ !=sci-libs/openfoam-wmake-${MY_PV}*
+ sci-libs/parmetis
+ sci-libs/parmgridgen
+ sci-libs/scotch
+ virtual/mpi
+ opendx? ( sci-visualization/opendx )
+ paraview? ( ~sci-visualization/paraview-4.1.0[development] )"
+DEPEND="${DEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+S=${WORKDIR}/${MY_P}
+INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
+
+pkg_setup() {
+ # just to be sure the right profile is selected (gcc-config)
+ if ! version_is_at_least 4.3 $(gcc-version) ; then
+ die "${PN} requires >=sys-devel/gcc-4.3 to compile."
+ fi
+
+ elog
+ elog "In order to use ${MY_PN} you should add the following line to ~/.bashrc :"
+ elog
+ elog "alias startOF$(delete_all_version_separators ${MY_PV})='source ${INSDIR}/etc/bashrc'"
+ elog
+ elog "And everytime you want to use OpenFOAM you have to execute startOF$(delete_all_version_separators ${MY_PV})"
+ ewarn
+ ewarn "FoamX is deprecated since ${MY_PN}-1.5! "
+ ewarn
+}
+
+src_configure() {
+ if has_version sys-cluster/mpich2 ; then
+ export WM_MPLIB=MPICH
+ elif has_version sys-cluster/openmpi ; then
+ export WM_MPLIB=OPENMPI
+ else
+ die "You need one of the following mpi implementations: openmpi or mpich2"
+ fi
+
+ sed -i -e "s|WM_MPLIB:=OPENMPI|WM_MPLIB:="${WM_MPLIB}"|" etc/bashrc
+ sed -i -e "s|setenv WM_MPLIB OPENMPI|setenv WM_MPLIB "${WM_MPLIB}"|" etc/cshrc
+
+ sed -i -e "s|^foamInstall=\$HOME|foamInstall=/usr/$(get_libdir)|" etc/bashrc
+ sed -i -e "s|^set foamInstall = \$HOME|set foamInstall = /usr/$(get_libdir)|" etc/cshrc
+
+ sed -i -e 's|^export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName|export ParaView_DIR=/usr|' etc/config/paraview.sh
+ sed -i -e 's|^setenv ParaView_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName|setenv ParaView_DIR /usr|' etc/config/paraview.csh
+}
+
+src_compile() {
+ export WM_NCOMPPROCS=$(makeopts_jobs)
+
+ export FOAM_INST_DIR=${WORKDIR}
+ source etc/bashrc
+
+ find wmake -name dirToString -exec rm -rf {} +
+ find wmake -name wmkdep -exec rm -rf {}+
+
+ ./Allwmake || die "could not build"
+ if use doc ; then
+ doc/Allwmake || die "could not build"
+ fi
+}
+
+# Doesn't do anything sane
+#src_test() {
+# cd bin
+# ./foamInstallationTest
+#}
+
+src_install() {
+ insinto ${INSDIR}
+ doins -r etc
+
+ use examples && doins -r tutorials
+
+ use src && doins -r src
+
+ insopts -m0755
+ doins -r bin applications platforms wmake
+
+ dodoc README.html doc/Guides-a4/*.pdf
+
+ if use doc ; then
+ dohtml -r doc/Doxygen
+ fi
+}
diff --git a/sci-libs/openfoam/openfoam-2.3.1.ebuild b/sci-libs/openfoam/openfoam-2.3.1.ebuild
new file mode 100644
index 000000000000..988db480333d
--- /dev/null
+++ b/sci-libs/openfoam/openfoam-2.3.1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils versionator multilib toolchain-funcs multiprocessing
+
+MY_PN="OpenFOAM"
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Open Field Operation and Manipulation - CFD Simulation Toolbox"
+HOMEPAGE="http://www.openfoam.org"
+SRC_URI="http://downloads.sourceforge.net/foam/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="2.2"
+KEYWORDS="amd64 x86"
+IUSE="doc examples opendx src paraview"
+
+RDEPEND="!=sci-libs/openfoam-bin-${MY_PV}*
+ !=sci-libs/openfoam-kernel-${MY_PV}*
+ !=sci-libs/openfoam-meta-${MY_PV}*
+ !=sci-libs/openfoam-solvers-${MY_PV}*
+ !=sci-libs/openfoam-utilities-${MY_PV}*
+ !=sci-libs/openfoam-wmake-${MY_PV}*
+ sci-libs/parmetis
+ sci-libs/parmgridgen
+ sci-libs/scotch
+ virtual/mpi
+ opendx? ( sci-visualization/opendx )
+ paraview? ( ~sci-visualization/paraview-4.1.0[development] )"
+DEPEND="${DEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+S=${WORKDIR}/${MY_P}
+INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
+
+pkg_setup() {
+ # just to be sure the right profile is selected (gcc-config)
+ if ! version_is_at_least 4.3 $(gcc-version) ; then
+ die "${PN} requires >=sys-devel/gcc-4.3 to compile."
+ fi
+
+ elog
+ elog "In order to use ${MY_PN} you should add the following line to ~/.bashrc :"
+ elog
+ elog "alias startOF$(delete_all_version_separators ${MY_PV})='source ${INSDIR}/etc/bashrc'"
+ elog
+ elog "And everytime you want to use OpenFOAM you have to execute startOF$(delete_all_version_separators ${MY_PV})"
+ ewarn
+ ewarn "FoamX is deprecated since ${MY_PN}-1.5! "
+ ewarn
+}
+
+src_configure() {
+ if has_version sys-cluster/mpich2 ; then
+ export WM_MPLIB=MPICH
+ elif has_version sys-cluster/openmpi ; then
+ export WM_MPLIB=OPENMPI
+ else
+ die "You need one of the following mpi implementations: openmpi or mpich2"
+ fi
+
+ sed -i -e "s|WM_MPLIB:=OPENMPI|WM_MPLIB:="${WM_MPLIB}"|" etc/bashrc
+ sed -i -e "s|setenv WM_MPLIB OPENMPI|setenv WM_MPLIB "${WM_MPLIB}"|" etc/cshrc
+
+ sed -i -e "s|^foamInstall=\$HOME|foamInstall=/usr/$(get_libdir)|" etc/bashrc
+ sed -i -e "s|^set foamInstall = \$HOME|set foamInstall = /usr/$(get_libdir)|" etc/cshrc
+
+ sed -i -e 's|^export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName|export ParaView_DIR=/usr|' etc/config/paraview.sh
+ sed -i -e 's|^setenv ParaView_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName|setenv ParaView_DIR /usr|' etc/config/paraview.csh
+}
+
+src_compile() {
+ export WM_NCOMPPROCS=$(makeopts_jobs)
+
+ export FOAM_INST_DIR=${WORKDIR}
+ source etc/bashrc
+
+ find wmake -name dirToString -exec rm -rf {} +
+ find wmake -name wmkdep -exec rm -rf {}+
+
+ ./Allwmake || die "could not build"
+ if use doc ; then
+ doc/Allwmake || die "could not build"
+ fi
+}
+
+# Doesn't do anything sane
+#src_test() {
+# cd bin
+# ./foamInstallationTest
+#}
+
+src_install() {
+ insinto ${INSDIR}
+ doins -r etc
+
+ use examples && doins -r tutorials
+
+ use src && doins -r src
+
+ insopts -m0755
+ doins -r bin applications platforms wmake
+
+ dodoc README.html doc/Guides-a4/*.pdf
+
+ if use doc ; then
+ dohtml -r doc/Doxygen
+ fi
+}
diff --git a/sci-libs/openfoam/openfoam-2.4.0.ebuild b/sci-libs/openfoam/openfoam-2.4.0.ebuild
new file mode 100644
index 000000000000..d26b9c736c43
--- /dev/null
+++ b/sci-libs/openfoam/openfoam-2.4.0.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils versionator multilib toolchain-funcs multiprocessing
+
+MY_PN="OpenFOAM"
+MY_PV=$(get_version_component_range 1-2)
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Open Field Operation and Manipulation - CFD Simulation Toolbox"
+HOMEPAGE="http://www.openfoam.org"
+SRC_URI="http://downloads.sourceforge.net/foam/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="2.2"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples opendx src paraview"
+
+RDEPEND="!=sci-libs/openfoam-bin-${MY_PV}*
+ !=sci-libs/openfoam-kernel-${MY_PV}*
+ !=sci-libs/openfoam-meta-${MY_PV}*
+ !=sci-libs/openfoam-solvers-${MY_PV}*
+ !=sci-libs/openfoam-utilities-${MY_PV}*
+ !=sci-libs/openfoam-wmake-${MY_PV}*
+ sci-mathematics/cgal
+ sci-libs/parmetis
+ sci-libs/parmgridgen
+ sci-libs/scotch
+ virtual/mpi
+ opendx? ( sci-visualization/opendx )
+ paraview? ( sci-visualization/paraview[development] )"
+DEPEND="${DEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+S=${WORKDIR}/${MY_P}
+INSDIR="/usr/$(get_libdir)/${MY_PN}/${MY_P}"
+
+pkg_setup() {
+ # just to be sure the right profile is selected (gcc-config)
+ if ! version_is_at_least 4.3 $(gcc-version) ; then
+ die "${PN} requires >=sys-devel/gcc-4.3 to compile."
+ fi
+
+ elog
+ elog "In order to use ${MY_PN} you should add the following line to ~/.bashrc :"
+ elog
+ elog "alias startOF$(delete_all_version_separators ${MY_PV})='source ${INSDIR}/etc/bashrc'"
+ elog
+ elog "And everytime you want to use OpenFOAM you have to execute startOF$(delete_all_version_separators ${MY_PV})"
+ ewarn
+ ewarn "FoamX is deprecated since ${MY_PN}-1.5! "
+ ewarn
+}
+
+src_configure() {
+ if has_version sys-cluster/mpich2 ; then
+ export WM_MPLIB=MPICH
+ elif has_version sys-cluster/openmpi ; then
+ export WM_MPLIB=OPENMPI
+ else
+ die "You need one of the following mpi implementations: openmpi or mpich2"
+ fi
+
+ sed -i -e "s|WM_MPLIB:=OPENMPI|WM_MPLIB:="${WM_MPLIB}"|" etc/bashrc
+ sed -i -e "s|setenv WM_MPLIB OPENMPI|setenv WM_MPLIB "${WM_MPLIB}"|" etc/cshrc
+
+ sed -i -e "s|^foamInstall=\$HOME|foamInstall=/usr/$(get_libdir)|" etc/bashrc
+ sed -i -e "s|^set foamInstall = \$HOME|set foamInstall = /usr/$(get_libdir)|" etc/cshrc
+
+ sed -i -e 's|^export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName|export ParaView_DIR=/usr|' etc/config/paraview.sh
+ sed -i -e 's|^setenv ParaView_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$paraviewArchName|setenv ParaView_DIR /usr|' etc/config/paraview.csh
+}
+
+src_compile() {
+ export WM_NCOMPPROCS=$(makeopts_jobs)
+
+ export FOAM_INST_DIR=${WORKDIR}
+ source etc/bashrc
+
+ find wmake -name dirToString -exec rm -rf {} +
+ find wmake -name wmkdep -exec rm -rf {}+
+
+ ./Allwmake || die "could not build"
+ if use doc ; then
+ doc/Allwmake || die "could not build"
+ fi
+}
+
+# Doesn't do anything sane
+#src_test() {
+# cd bin
+# ./foamInstallationTest
+#}
+
+src_install() {
+ insinto ${INSDIR}
+ doins -r etc
+
+ use examples && doins -r tutorials
+
+ use src && doins -r src
+
+ insopts -m0755
+ doins -r bin applications platforms wmake
+
+ dodoc README.html doc/Guides-a4/*.pdf
+
+ if use doc ; then
+ dohtml -r doc/Doxygen
+ fi
+}
diff --git a/sci-libs/openlibm/Manifest b/sci-libs/openlibm/Manifest
new file mode 100644
index 000000000000..561516215fb4
--- /dev/null
+++ b/sci-libs/openlibm/Manifest
@@ -0,0 +1,2 @@
+DIST openlibm-0.2.tar.gz 276504 SHA256 6fbcd7e2771b3f7b9f16d4d1d41dd0db860ae2899036fa8ea599d2047685e910 SHA512 e4667c694079dcf0a6e839ab8021d17038f9b2d2503d6b03849ec16c3dcb271d25752955e6c0e4c5adf7fbc267b81332c788bdb8c305327f9c9c3ff0be263fb7 WHIRLPOOL 82754b1287f752961fd3274ce85abc82ccee41d7d0ba5611924718560776ff1e4aa19972261449590f6e508e65ece91e2d4140b3cfae0c9ea0bd5c509fd81ec3
+DIST openlibm-0.3.tar.gz 276638 SHA256 eece0f928c93d70ac350f9c9632a1eab5d6e0a7fbdb31b6b75113c40fb9b810c SHA512 ac83f8020b51016d8df131641621c632251af0a6454287fba361fbeb7ae9ad82b6ae25fb5d5d994bf6352f8aaa2a9ee18ae2e619230bef949ba65508ae9f99d2 WHIRLPOOL f74c3c5b40223445c52f4369c3da23c5b705c002149e79e9fab2fcea278ea763e4e0227384c9082c070f39f4143157cd64e33843ed9531a9493887bd0b68673f
diff --git a/sci-libs/openlibm/files/openlibm-respect-toolchain.patch b/sci-libs/openlibm/files/openlibm-respect-toolchain.patch
new file mode 100644
index 000000000000..26b33349a3a9
--- /dev/null
+++ b/sci-libs/openlibm/files/openlibm-respect-toolchain.patch
@@ -0,0 +1,44 @@
+--- Make.inc.orig 2014-03-31 12:12:44.564468385 -0700
++++ Make.inc 2014-03-31 12:13:17.094660733 -0700
+@@ -8,27 +8,18 @@
+ libdir = $(prefix)/lib
+ includedir = $(prefix)/include
+
+-FC = gfortran
+-FFLAGS += -O3
++FC ?= gfortran
+
+-USEGCC = 1
+-USECLANG = 0
+
+-ifeq ($(OS), Darwin)
+-USEGCC = 0
+-USECLANG = 1
+-endif
+-
+-AR = ar
++AR ?= ar
++CC ?= gcc
+
+-ifeq ($(USECLANG),1)
++ifneq (,$(findstring clang,$(CC)))
+ USEGCC = 0
+-CC = clang
+ CFLAGS_add += -fno-builtin
+ endif
+
+-ifeq ($(USEGCC),1)
+-CC = gcc
++ifneq (,$(findstring gcc,$(CC)))
+ CFLAGS_add += -fno-gnu89-inline
+ endif
+
+@@ -37,7 +28,7 @@
+ $(error "the mingw32 compiler you are using fails the openblas testsuite. please see the Julia README.windows.md document for a replacement")
+ endif
+
+-CFLAGS_add += -std=c99 -Wall -O3 -I$(OPENLIBM_HOME) -I$(OPENLIBM_HOME)/include -I$(OPENLIBM_HOME)/ld80 -I$(OPENLIBM_HOME)/$(ARCH) -I$(OPENLIBM_HOME)/src -DASSEMBLER -D__BSD_VISIBLE -Wno-implicit-function-declaration
++CFLAGS_add += -std=c99 -Wall -I$(OPENLIBM_HOME) -I$(OPENLIBM_HOME)/include -I$(OPENLIBM_HOME)/ld80 -I$(OPENLIBM_HOME)/$(ARCH) -I$(OPENLIBM_HOME)/src -DASSEMBLER -D__BSD_VISIBLE -Wno-implicit-function-declaration
+
+ default: all
+
diff --git a/sci-libs/openlibm/metadata.xml b/sci-libs/openlibm/metadata.xml
new file mode 100644
index 000000000000..7d7972a2f0f3
--- /dev/null
+++ b/sci-libs/openlibm/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ OpenLibm is an effort to have a high quality standalone LIBM
+ library. It is meant to be used standalone in applications and
+ programming language implementations.
+ OpenLibm also includes the AMOS library from Netlib, which is a
+ portable package for Bessel Functions of a Complex Argument and
+ Nonnegative Order. AMOS contains subroutines for computing Bessel
+ functions and Airy functions.
+ The OpenLIBM code derives from the FreeBSD msun implementation, which
+ in turn derives from FDLIBM 5.3. As a result, it has a number of fixes
+ and updates that have accumulated over the years in msun, and also
+ optimized assembly versions of many functions.
+</longdescription>
+ <upstream>
+ <remote-id type="github">JuliaLang/openlibm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/openlibm/openlibm-0.2.ebuild b/sci-libs/openlibm/openlibm-0.2.ebuild
new file mode 100644
index 000000000000..bbbcb4e856e3
--- /dev/null
+++ b/sci-libs/openlibm/openlibm-0.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs fortran-2
+
+DESCRIPTION="High quality system independent, open source libm"
+HOMEPAGE="https://github.com/JuliaLang/openlibm"
+SRC_URI="https://github.com/JuliaLang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT freedist public-domain BSD"
+SLOT="0/0.1.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-respect-toolchain.patch
+}
+
+src_compile() {
+ tc-export CC
+ tc-export AR
+ emake libopenlibm.so
+ use static-libs && emake libopenlibm.a
+}
+
+src_test() {
+ emake
+}
+
+src_install() {
+ dolib.so libopenlibm.so*
+ use static-libs && dolib.a libopenlibm.a
+ doheader include/{cdefs,types}-compat.h src/openlibm.h
+ dodoc README.md
+}
diff --git a/sci-libs/openlibm/openlibm-0.3.ebuild b/sci-libs/openlibm/openlibm-0.3.ebuild
new file mode 100644
index 000000000000..d61923203430
--- /dev/null
+++ b/sci-libs/openlibm/openlibm-0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs fortran-2
+
+DESCRIPTION="High quality system independent, open source libm"
+HOMEPAGE="https://github.com/JuliaLang/openlibm"
+SRC_URI="https://github.com/JuliaLang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT freedist public-domain BSD"
+SLOT="0/${PV}.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="static-libs"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-respect-toolchain.patch
+}
+
+src_compile() {
+ tc-export CC
+ tc-export AR
+ emake libopenlibm.so
+ use static-libs && emake libopenlibm.a
+}
+
+src_test() {
+ emake
+}
+
+src_install() {
+ dolib.so libopenlibm.so*
+ use static-libs && dolib.a libopenlibm.a
+ doheader include/{cdefs,types}-compat.h src/openlibm.h
+ dodoc README.md
+}
diff --git a/sci-libs/orocos-bfl/Manifest b/sci-libs/orocos-bfl/Manifest
new file mode 100644
index 000000000000..eede2eae1d91
--- /dev/null
+++ b/sci-libs/orocos-bfl/Manifest
@@ -0,0 +1 @@
+DIST orocos-bfl-0.8.0-src.tar.bz2 212899 SHA256 e5e14f8abbc4c38ca51f5ff97b36f66c69da3a706ee6276bcb151ada4c71195c SHA512 045bbc415feec66206774a8bdea3843a7edf233d221bd639b1dcc01906386ff55f114a9685e1008b741ae895e6aef33641a1eab67cb106d23a085d77f1a937d5 WHIRLPOOL ba5ff1ad0ff25cbc45367ed3d0bc1f356ef827f1b0ef6fa3e4c26a0a0da7ef8efc44bb6b0b1a33cbc068f28d079d0f9e096b14efd5df0d54d5dafe80e95c0fec
diff --git a/sci-libs/orocos-bfl/metadata.xml b/sci-libs/orocos-bfl/metadata.xml
new file mode 100644
index 000000000000..b187a8cfc9fa
--- /dev/null
+++ b/sci-libs/orocos-bfl/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>aballier@gentoo.org</email>
+<name>Alexis Ballier</name>
+</maintainer>
+<longdescription lang="en">
+ The Bayesian Filtering Library (BFL) provides an application independent framework
+ for inference in Dynamic Bayesian Networks, i.e., recursive information processing
+ and estimation algorithms based on Bayes' rule, such as (Extended) Kalman Filters,
+ Particle Filters (or Sequential Monte Carlo methods), etc.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild b/sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild
new file mode 100644
index 000000000000..d326f65c46db
--- /dev/null
+++ b/sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Bayesian Filtering Library"
+HOMEPAGE="http://orocos.org/bfl"
+SRC_URI="http://people.mech.kuleuven.be/~tdelaet/bfl_tar/${P}-src.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE="doc examples static-libs test"
+
+RDEPEND="dev-libs/boost:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ virtual/latex-base
+ )
+ test? ( dev-util/cppunit )"
+
+src_prepare() {
+ sed -e 's:/lib:/${CMAKE_INSTALL_LIBDIR}:' \
+ -i "${S}/"{,src/,src/bindings/rtt/}CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DLIBRARY_TYPE=$(usex static-libs both shared)"
+ "-DBUILD_EXAMPLES=$(usex examples ON OFF)"
+ "-DBUILD_TESTS=$(usex test ON OFF)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc ; then
+ cd "${BUILD_DIR}"
+ doxygen || die
+ cd "${S}/docs" || die
+ pdflatex getting_started_guide || die
+ pdflatex getting_started_guide || die
+ fi
+}
+
+src_test() {
+ cd "${BUILD_DIR}"
+ emake check
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use doc ; then
+ dohtml -r "${BUILD_DIR}/doc/html/"
+ dodoc "${S}/docs/getting_started_guide.pdf"
+ fi
+}
diff --git a/sci-libs/orocos_kdl/Manifest b/sci-libs/orocos_kdl/Manifest
new file mode 100644
index 000000000000..1e0cce1ad6f7
--- /dev/null
+++ b/sci-libs/orocos_kdl/Manifest
@@ -0,0 +1 @@
+DIST orocos_kinematics_dynamics-1.3.0.tar.gz 200229 SHA256 7be2dd5e4f4c1ceac2cdf1f4fae3d94d4ffd9fc1af8d483c05f04e80ef84b3f9 SHA512 09ff63f74f1eac3ee8b1090364e0d95b4ae96c9d4435ca34adacb3ded7385f948ddca9be2c1c2c2214c9342b17bbffb7da89ba9b7cd402e7fd4f2c6dbd06a930 WHIRLPOOL 4085fa4aba77e0c24a3c1aab4ab5f98e8b349037525e6a596ff027075ea1dcd33c4f13fa3abd61bbe6a2a3bd13b62616d7b614c030ecda8343be3ed59406bae6
diff --git a/sci-libs/orocos_kdl/metadata.xml b/sci-libs/orocos_kdl/metadata.xml
new file mode 100644
index 000000000000..2eacec684a6a
--- /dev/null
+++ b/sci-libs/orocos_kdl/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Kinematics and Dynamics Library (KDL) develops an application
+ independent framework for modelling and computation of kinematic chains,
+ such as robots, biomechanical human models, computer-animated figures,
+ machine tools, etc. It provides class libraries for geometrical objects
+ (point, frame, line,... ), kinematic chains of various families (serial,
+ humanoid, parallel, mobile,... ), and their motion specification and
+ interpolation.
+</longdescription>
+ <use>
+ <flag name="models">Build models for some well known robots.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">orocos/orocos_kinematics_dynamics</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/orocos_kdl/orocos_kdl-1.3.0.ebuild b/sci-libs/orocos_kdl/orocos_kdl-1.3.0.ebuild
new file mode 100644
index 000000000000..e7b0bcb5dc03
--- /dev/null
+++ b/sci-libs/orocos_kdl/orocos_kdl-1.3.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/orocos/orocos_kinematics_dynamics"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
+fi
+
+DESCRIPTION="Kinematics and Dynamics Library (KDL)"
+HOMEPAGE="http://www.orocos.org/kdl"
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc test examples models"
+
+RDEPEND="dev-cpp/eigen:3"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cppunit )
+ doc? ( app-doc/doxygen )"
+REQUIRED_USE="examples? ( models )"
+
+DOCS=( README )
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ S=${WORKDIR}/${P}/orocos_kdl
+else
+ S=${WORKDIR}/orocos_kinematics_dynamics-${PV}/orocos_kdl
+fi
+
+src_configure() {
+ local mycmakeargs=(
+ "$(cmake-utils_use_enable test TESTS)"
+ "$(cmake-utils_use_enable examples EXAMPLES)"
+ "-DBUILD_MODELS=$(usex models ON OFF)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ cd "${BUILD_DIR}"
+ use doc && emake docs
+}
+
+src_test() {
+ cd "${BUILD_DIR}"
+ emake check
+}
+
+src_install() {
+ cmake-utils_src_install
+ cd "${BUILD_DIR}"
+ use doc && dohtml -r doc/api/html/*
+ use examples && dobin "${BUILD_DIR}/examples/"{geometry,trajectory_example,chainiksolverpos_lma_demo}
+}
diff --git a/sci-libs/orocos_kdl/orocos_kdl-9999.ebuild b/sci-libs/orocos_kdl/orocos_kdl-9999.ebuild
new file mode 100644
index 000000000000..e7b0bcb5dc03
--- /dev/null
+++ b/sci-libs/orocos_kdl/orocos_kdl-9999.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="http://github.com/orocos/orocos_kinematics_dynamics"
+fi
+
+inherit ${SCM} cmake-utils
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
+fi
+
+DESCRIPTION="Kinematics and Dynamics Library (KDL)"
+HOMEPAGE="http://www.orocos.org/kdl"
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="doc test examples models"
+
+RDEPEND="dev-cpp/eigen:3"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cppunit )
+ doc? ( app-doc/doxygen )"
+REQUIRED_USE="examples? ( models )"
+
+DOCS=( README )
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ S=${WORKDIR}/${P}/orocos_kdl
+else
+ S=${WORKDIR}/orocos_kinematics_dynamics-${PV}/orocos_kdl
+fi
+
+src_configure() {
+ local mycmakeargs=(
+ "$(cmake-utils_use_enable test TESTS)"
+ "$(cmake-utils_use_enable examples EXAMPLES)"
+ "-DBUILD_MODELS=$(usex models ON OFF)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ cd "${BUILD_DIR}"
+ use doc && emake docs
+}
+
+src_test() {
+ cd "${BUILD_DIR}"
+ emake check
+}
+
+src_install() {
+ cmake-utils_src_install
+ cd "${BUILD_DIR}"
+ use doc && dohtml -r doc/api/html/*
+ use examples && dobin "${BUILD_DIR}/examples/"{geometry,trajectory_example,chainiksolverpos_lma_demo}
+}
diff --git a/sci-libs/parmetis/Manifest b/sci-libs/parmetis/Manifest
new file mode 100644
index 000000000000..10ac1a33b360
--- /dev/null
+++ b/sci-libs/parmetis/Manifest
@@ -0,0 +1 @@
+DIST ParMetis-3.2.0.tar.gz 5291841 SHA256 35e8b869d70b6478e0d5f4f51efba00c4783a5020ec90c6a7e7a63a56f141bde SHA512 be7e5affa6ed687c7e8cbef51c5f4838e6302aa7632796f337ed079f15361569d77aa73fc61b876b5c9973e974575571fd1e3e6c73505480b1ecdb7cf801a0d0 WHIRLPOOL a67356fa49780167be929ef393cd8f5168d7f8276c9c2ba4932dd382c6c45c7a23b53085df18be05fbdb2764d06465b82f2f8d8a15bfbf5a0ef8f50321fd5237
diff --git a/sci-libs/parmetis/files/parmetis-3.1.1-autotools.patch b/sci-libs/parmetis/files/parmetis-3.1.1-autotools.patch
new file mode 100644
index 000000000000..d38a2f7575cf
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-3.1.1-autotools.patch
@@ -0,0 +1,298 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2009-03-14 11:37:58.804041439 +0000
+@@ -0,0 +1,18 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(parmetis, 3.1.1, karypis@cs.umn.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_HEADER([config.h])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++sinclude(ax_mpi.m4)
++AC_LANG_PUSH([C])
++AX_MPI([], AC_MSG_ERROR([could not compile an mpi test program]))
++AC_CONFIG_FILES([Makefile
++ metis.pc
++ parmetis.pc
++ ParMETISLib/Makefile
++ METISLib/Makefile
++ Programs/Makefile])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2009-03-14 11:37:15.700900498 +0000
+@@ -0,0 +1,5 @@
++SUBDIRS = METISLib ParMETISLib Programs
++EXTRA_DIST = CHANGES VERSION parmetis.pc.in metis.pc.in
++include_HEADERS = parmetis.h
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = metis.pc parmetis.pc
+--- METISLib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ METISLib/Makefile.am 2009-03-14 11:37:15.700900498 +0000
+@@ -0,0 +1,18 @@
++pkginclude_HEADERS = defs.h macros.h metis.h proto.h rename.h \
++ stdheaders.h struct.h
++pkgincludedir = $(includedir)/metis
++
++lib_LTLIBRARIES = libmetis.la
++libmetis_la_SOURCES = \
++ coarsen.c fm.c initpart.c match.c ccgraph.c \
++ pmetis.c pqueue.c refine.c util.c timing.c debug.c \
++ bucketsort.c graph.c stat.c kmetis.c kwayrefine.c \
++ kwayfm.c balance.c ometis.c srefine.c sfm.c separator.c \
++ mincover.c mmd.c mesh.c meshpart.c frename.c fortran.c \
++ myqsort.c compress.c parmetis.c estmem.c \
++ mpmetis.c mcoarsen.c mmatch.c minitpart.c mbalance.c \
++ mutil.c mkmetis.c mkwayrefine.c mkwayfmh.c \
++ mrefine2.c minitpart2.c mbalance2.c mfm2.c \
++ kvmetis.c kwayvolrefine.c kwayvolfm.c subdomains.c \
++ mfm.c memory.c mrefine.c checkgraph.c
++libmetis_la_LDFLAGS = -no-undefined -version-info 4:1:0
+--- metis.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ metis.pc.in 2009-03-14 11:37:15.700900498 +0000
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: METIS
++Description: Software for unstructured graph partitioning
++Version: @VERSION@
++Libs: -L${libdir} -lmetis
++Cflags: -I${includedir}/metis
+--- ParMETISLib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMETISLib/Makefile.am 2009-03-14 11:57:08.006017954 +0000
+@@ -0,0 +1,21 @@
++pkginclude_HEADERS = defs.h macros.h parmetislib.h proto.h \
++ rename.h stdheaders.h struct.h
++pkgincludedir = $(includedir)/parmetis
++
++lib_LTLIBRARIES = libparmetis.la
++libparmetis_la_SOURCES = \
++ comm.c util.c debug.c setup.c grsetup.c timer.c \
++ node_refine.c initmsection.c order.c \
++ xyzpart.c pspases.c frename.c \
++ iintsort.c iidxsort.c ikeysort.c ikeyvalsort.c \
++ kmetis.c gkmetis.c ometis.c \
++ initpart.c match.c \
++ kwayfm.c kwayrefine.c kwaybalance.c \
++ remap.c stat.c fpqueue.c \
++ ametis.c rmetis.c lmatch.c initbalance.c \
++ mdiffusion.c diffutil.c wave.c \
++ csrmatch.c redomylink.c balancemylink.c \
++ selectq.c akwayfm.c serial.c move.c \
++ mmetis.c mesh.c memory.c weird.c backcompat.c
++libparmetis_la_LDFLAGS = -no-undefined -version-info 3:1:1
++libparmetis_la_LIBADD = @MPILIBS@ $(top_builddir)/METISLib/libmetis.la
+--- parmetis.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ parmetis.pc.in 2009-03-14 11:37:15.700900498 +0000
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: ParMETIS
++Description: Software for parallel (mpi) unstructured graph partitioning
++Version: @VERSION@
++Requires: metis
++Libs: -L${libdir} -lparmetis
++Cflags: -I${includedir}
+--- Programs/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Programs/Makefile.am 2009-03-14 11:37:15.700900498 +0000
+@@ -0,0 +1,13 @@
++AM_CPPFLAGS = -I$(top_srcdir)/ParMETISLib
++LDADD = $(top_builddir)/METISLib/libmetis.la \
++ $(top_builddir)/ParMETISLib/libparmetis.la
++
++check_PROGRAMS = ptest mtest
++ptest_SOURCES = ptest.c io.c adaptgraph.c
++mtest_SOURCES = mtest.c io.c
++
++MPIRUN = mpirun -np 2
++
++check-local: $(check_PROGRAMS)
++ $(MPIRUN) ptest ../Graphs/rotor.graph
++ $(MPIRUN) mtest ../Graphs/bricks.hex3d 2
+--- ax_mpi.m4 1970-01-01 01:00:00.000000000 +0100
++++ ax_mpi.m4 2010-01-20 20:33:15.000000000 +0000
+@@ -0,0 +1,178 @@
++# ===========================================================================
++# http://www.nongnu.org/autoconf-archive/ax_mpi.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_MPI([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro tries to find out how to compile programs that use MPI
++# (Message Passing Interface), a standard API for parallel process
++# communication (see http://www-unix.mcs.anl.gov/mpi/)
++#
++# On success, it sets the MPICC, MPICXX, MPIF77, or MPIFC output variable
++# to the name of the MPI compiler, depending upon the current language.
++# (This may just be $CC/$CXX/$F77/$FC, but is more often something like
++# mpicc/mpiCC/mpif77/mpif90.) It also sets MPILIBS to any libraries that
++# are needed for linking MPI (e.g. -lmpi or -lfmpi, if a special
++# MPICC/MPICXX/MPIF77/MPIFC was not found).
++#
++# If you want to compile everything with MPI, you should set:
++#
++# CC="MPICC" #OR# CXX="MPICXX" #OR# F77="MPIF77" #OR# FC="MPIFC"
++# LIBS="$MPILIBS $LIBS"
++#
++# NOTE: The above assumes that you will use $CC (or whatever) for linking
++# as well as for compiling. (This is the default for automake and most
++# Makefiles.)
++#
++# The user can force a particular library/compiler by setting the
++# MPICC/MPICXX/MPIF77/MPIFC and/or MPILIBS environment variables.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if an MPI library is
++# found, and ACTION-IF-NOT-FOUND is a list of commands to run if it is not
++# found. If ACTION-IF-FOUND is not specified, the default action will
++# define HAVE_MPI.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2008 Julian C. Cummings <cummings@cacr.caltech.edu>
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++AU_ALIAS([ACX_MPI], [AX_MPI])
++AC_DEFUN([AX_MPI], [
++AC_PREREQ(2.50) dnl for AC_LANG_CASE
++
++AC_LANG_CASE([C], [
++ AC_REQUIRE([AC_PROG_CC])
++ AC_ARG_VAR(MPICC,[MPI C compiler command])
++ AC_CHECK_PROGS(MPICC, mpicc hcc mpxlc_r mpxlc mpcc cmpicc, $CC)
++ ax_mpi_save_CC="$CC"
++ CC="$MPICC"
++ AC_SUBST(MPICC)
++],
++[C++], [
++ AC_REQUIRE([AC_PROG_CXX])
++ AC_ARG_VAR(MPICXX,[MPI C++ compiler command])
++ AC_CHECK_PROGS(MPICXX, mpic++ mpicxx mpiCC hcp mpxlC_r mpxlC mpCC cmpic++, $CXX)
++ ax_mpi_save_CXX="$CXX"
++ CXX="$MPICXX"
++ AC_SUBST(MPICXX)
++],
++[Fortran 77], [
++ AC_REQUIRE([AC_PROG_F77])
++ AC_ARG_VAR(MPIF77,[MPI Fortran 77 compiler command])
++ AC_CHECK_PROGS(MPIF77, mpif77 hf77 mpxlf_r mpxlf mpf77 cmpifc, $F77)
++ ax_mpi_save_F77="$F77"
++ F77="$MPIF77"
++ AC_SUBST(MPIF77)
++],
++[Fortran], [
++ AC_REQUIRE([AC_PROG_FC])
++ AC_ARG_VAR(MPIFC,[MPI Fortran compiler command])
++ AC_CHECK_PROGS(MPIFC, mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c, $FC)
++ ax_mpi_save_FC="$FC"
++ FC="$MPIFC"
++ AC_SUBST(MPIFC)
++])
++
++if test x = x"$MPILIBS"; then
++ AC_LANG_CASE([C], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
++ [C++], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
++ [Fortran 77], [AC_MSG_CHECKING([for MPI_Init])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" "
++ AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])],
++ [Fortran], [AC_MSG_CHECKING([for MPI_Init])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" "
++ AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])])
++fi
++AC_LANG_CASE([Fortran 77], [
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
++ fi
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpich, MPI_Init, [MPILIBS="-lfmpich"])
++ fi
++],
++[Fortran], [
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
++ fi
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpichf90, MPI_Init, [MPILIBS="-lmpichf90"])
++ fi
++])
++if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpi, MPI_Init, [MPILIBS="-lmpi"])
++fi
++if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpich, MPI_Init, [MPILIBS="-lmpich"])
++fi
++
++dnl We have to use AC_TRY_COMPILE and not AC_CHECK_HEADER because the
++dnl latter uses $CPP, not $CC (which may be mpicc).
++AC_LANG_CASE([C], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpi.h])
++ AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[C++], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpi.h])
++ AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[Fortran 77], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpif.h])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[Fortran], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpif.h])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi])
++
++AC_LANG_CASE([C], [CC="$ax_mpi_save_CC"],
++ [C++], [CXX="$ax_mpi_save_CXX"],
++ [Fortran 77], [F77="$ax_mpi_save_F77"],
++ [Fortran], [FC="$ax_mpi_save_FC"])
++
++AC_SUBST(MPILIBS)
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x = x"$MPILIBS"; then
++ $2
++ :
++else
++ ifelse([$1],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$1])
++ :
++fi
++])dnl AX_MPI
diff --git a/sci-libs/parmetis/metadata.xml b/sci-libs/parmetis/metadata.xml
new file mode 100644
index 000000000000..878c86dda5f2
--- /dev/null
+++ b/sci-libs/parmetis/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ ParMETIS is an MPI-based parallel library that implements a variety
+ of algorithms for partitioning unstructured graphs and for computing
+ fill-reducing orderings of sparse matrices. ParMETIS extends the
+ functionality provided by METIS and includes routines that are
+ especially suited for parallel AMR computations and large scale
+ numerical simulations.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/parmetis/parmetis-3.2.0.ebuild b/sci-libs/parmetis/parmetis-3.2.0.ebuild
new file mode 100644
index 000000000000..836c314e9a07
--- /dev/null
+++ b/sci-libs/parmetis/parmetis-3.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools
+
+MYP=ParMetis-${PV}
+
+DESCRIPTION="Parallel graph partitioner"
+HOMEPAGE="http://www-users.cs.umn.edu/~karypis/metis/parmetis/"
+SRC_URI="http://glaros.dtc.umn.edu/gkhome/fetch/sw/${PN}/OLD/${MYP}.tar.gz"
+
+SLOT="0"
+LICENSE="free-noncomm"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+DEPEND="virtual/mpi"
+RDEPEND="${DEPEND}
+ !sci-libs/metis"
+
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.1.1-autotools.patch
+ sed -i -e "s/3.1.1/${PV}/" configure.ac || die
+ sed -i -e 's/order.c//' -e 's/lmatch.c//' ParMETISLib/Makefile.am || die
+ eautoreconf
+ export CC=mpicc
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use doc && dodoc Manual/*.pdf
+}
diff --git a/sci-libs/parmgridgen/Manifest b/sci-libs/parmgridgen/Manifest
new file mode 100644
index 000000000000..c24a0dfa23c2
--- /dev/null
+++ b/sci-libs/parmgridgen/Manifest
@@ -0,0 +1 @@
+DIST ParMGridGen-1.0.tar.gz 2623528 SHA256 62cdb6e48cfc59124e5d5d360c2841e0fc2feecafe65bda110b74e942740b395 SHA512 e12ea3c923dd900c92ba4f2639daacc6c3596c5ea3c8d366b269c4c21247b10e6400c384321cfc65b486e4f8217dcd43f43eee27570b1fe1375deb02e255cb16 WHIRLPOOL a78187a71e04d15b0260e411c713b190c36a68931442ff04e537f7efbbb01ddfdb58c09835ac341dc6d7f3826fc855f64e8b32ea24d41d40b77c438a57db207e
diff --git a/sci-libs/parmgridgen/files/parmgridgen-1.0-as-needed.patch b/sci-libs/parmgridgen/files/parmgridgen-1.0-as-needed.patch
new file mode 100644
index 000000000000..4f9addda4228
--- /dev/null
+++ b/sci-libs/parmgridgen/files/parmgridgen-1.0-as-needed.patch
@@ -0,0 +1,19 @@
+--- MGridGen/Lib/Makefile.am.old 2009-03-10 09:28:13.000000000 +0200
++++ MGridGen/Lib/Makefile.am 2009-03-10 09:28:07.000000000 +0200
+@@ -8,3 +8,5 @@
+ lib_LTLIBRARIES = libMGridGen.la
+ libMGridGen_la_SOURCES = aratio.c coarsen.c kwayfm.c match.c merge.c mgridgen.c refine.c setup.c
+ libMGridGen_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
++
++libMGridGen_la_LIBADD = ../IMlib/libIMlib.la
+--- ParMGridGen/ParLib/Makefile.am.old 2009-03-10 09:31:43.000000000 +0200
++++ ParMGridGen/ParLib/Makefile.am 2009-03-10 09:35:13.000000000 +0200
+@@ -8,3 +8,8 @@
+ lib_LTLIBRARIES = libParMGridGen.la
+ libParMGridGen_la_SOURCES = comm.c debug.c grsetup.c ikeysort.c memory.c move.c parmgridgen.c setup.c util.c
+ libParMGridGen_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
++
++libParMGridGen_la_LIBADD = \
++ $(top_builddir)/MGridGen/IMlib/libIMlib.la \
++ $(top_builddir)/MGridGen/Lib/libMGridGen.la \
++ ../IMParMetis-2.0/ParMETISLib/libIMparmetis.la
diff --git a/sci-libs/parmgridgen/files/parmgridgen-1.0-autotools.patch b/sci-libs/parmgridgen/files/parmgridgen-1.0-autotools.patch
new file mode 100644
index 000000000000..5a5f2369a3a8
--- /dev/null
+++ b/sci-libs/parmgridgen/files/parmgridgen-1.0-autotools.patch
@@ -0,0 +1,368 @@
+--- ParMGridGen-1.0-src/mgridgen.h 2001-11-09 00:41:22.000000000 +0100
++++ ParMGridGen-1.0/mgridgen.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-typedef int idxtype;
+-typedef double realtype;
+-
+-
+-void MGridGen(int, idxtype *, realtype *, realtype *, idxtype *, realtype *,
+- int, int, int *, int *, int *, idxtype *);
+-
+--- ParMGridGen-1.0-src/parmgridgen.h 2001-12-06 00:05:37.000000000 +0100
++++ ParMGridGen-1.0/parmgridgen.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,5 +0,0 @@
+-typedef int idxtype;
+-typedef double realtype;
+-
+-void ParMGridGen(idxtype *, idxtype *, realtype *, realtype *, idxtype *,
+- realtype *, int *, int, int, int *, idxtype *, MPI_Comm *);
+--- ParMGridGen-1.0-src/acx_mpi.m4 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/acx_mpi.m4 2008-07-19 22:10:53.000000000 +0200
+@@ -0,0 +1,181 @@
++# ===========================================================================
++# http://autoconf-archive.cryp.to/acx_mpi.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# ACX_MPI([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro tries to find out how to compile programs that use MPI
++# (Message Passing Interface), a standard API for parallel process
++# communication (see http://www-unix.mcs.anl.gov/mpi/)
++#
++# On success, it sets the MPICC, MPICXX, MPIF77, or MPIFC output variable
++# to the name of the MPI compiler, depending upon the current language.
++# (This may just be $CC/$CXX/$F77/$FC, but is more often something like
++# mpicc/mpiCC/mpif77/mpif90.) It also sets MPILIBS to any libraries that
++# are needed for linking MPI (e.g. -lmpi or -lfmpi, if a special
++# MPICC/MPICXX/MPIF77/MPIFC was not found).
++#
++# If you want to compile everything with MPI, you should set:
++#
++# CC="MPICC" #OR# CXX="MPICXX" #OR# F77="MPIF77" #OR# FC="MPIFC"
++# LIBS="$MPILIBS $LIBS"
++#
++# NOTE: The above assumes that you will use $CC (or whatever) for linking
++# as well as for compiling. (This is the default for automake and most
++# Makefiles.)
++#
++# The user can force a particular library/compiler by setting the
++# MPICC/MPICXX/MPIF77/MPIFC and/or MPILIBS environment variables.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if an MPI library is
++# found, and ACTION-IF-NOT-FOUND is a list of commands to run if it is not
++# found. If ACTION-IF-FOUND is not specified, the default action will
++# define HAVE_MPI.
++#
++# LAST MODIFICATION
++#
++# 2008-04-12
++#
++# COPYLEFT
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2008 Julian C. Cummings <cummings@cacr.caltech.edu>
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Macro Archive. When you make and
++# distribute a modified version of the Autoconf Macro, you may extend this
++# special exception to the GPL to apply to your modified version as well.
++
++AC_DEFUN([ACX_MPI], [
++AC_PREREQ(2.50) dnl for AC_LANG_CASE
++
++AC_LANG_CASE([C], [
++ AC_REQUIRE([AC_PROG_CC])
++ AC_ARG_VAR(MPICC,[MPI C compiler command])
++ AC_CHECK_PROGS(MPICC, mpicc hcc mpxlc_r mpxlc mpcc cmpicc, $CC)
++ acx_mpi_save_CC="$CC"
++ CC="$MPICC"
++ AC_SUBST(MPICC)
++],
++[C++], [
++ AC_REQUIRE([AC_PROG_CXX])
++ AC_ARG_VAR(MPICXX,[MPI C++ compiler command])
++ AC_CHECK_PROGS(MPICXX, mpic++ mpicxx mpiCC hcp mpxlC_r mpxlC mpCC cmpic++, $CXX)
++ acx_mpi_save_CXX="$CXX"
++ CXX="$MPICXX"
++ AC_SUBST(MPICXX)
++],
++[Fortran 77], [
++ AC_REQUIRE([AC_PROG_F77])
++ AC_ARG_VAR(MPIF77,[MPI Fortran 77 compiler command])
++ AC_CHECK_PROGS(MPIF77, mpif77 hf77 mpxlf_r mpxlf mpf77 cmpifc, $F77)
++ acx_mpi_save_F77="$F77"
++ F77="$MPIF77"
++ AC_SUBST(MPIF77)
++],
++[Fortran], [
++ AC_REQUIRE([AC_PROG_FC])
++ AC_ARG_VAR(MPIFC,[MPI Fortran compiler command])
++ AC_CHECK_PROGS(MPIFC, mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c, $FC)
++ acx_mpi_save_FC="$FC"
++ FC="$MPIFC"
++ AC_SUBST(MPIFC)
++])
++
++if test x = x"$MPILIBS"; then
++ AC_LANG_CASE([C], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
++ [C++], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
++ [Fortran 77], [AC_MSG_CHECKING([for MPI_Init])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" "
++ AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])],
++ [Fortran], [AC_MSG_CHECKING([for MPI_Init])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" "
++ AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])])
++fi
++AC_LANG_CASE([Fortran 77], [
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
++ fi
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpich, MPI_Init, [MPILIBS="-lfmpich"])
++ fi
++],
++[Fortran], [
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
++ fi
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpichf90, MPI_Init, [MPILIBS="-lmpichf90"])
++ fi
++])
++if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpi, MPI_Init, [MPILIBS="-lmpi"])
++fi
++if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpich, MPI_Init, [MPILIBS="-lmpich"])
++fi
++
++dnl We have to use AC_TRY_COMPILE and not AC_CHECK_HEADER because the
++dnl latter uses $CPP, not $CC (which may be mpicc).
++AC_LANG_CASE([C], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpi.h])
++ AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[C++], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpi.h])
++ AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[Fortran 77], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpif.h])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[Fortran], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpif.h])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi])
++
++AC_LANG_CASE([C], [CC="$acx_mpi_save_CC"],
++ [C++], [CXX="$acx_mpi_save_CXX"],
++ [Fortran 77], [F77="$acx_mpi_save_F77"],
++ [Fortran], [FC="$acx_mpi_save_FC"])
++
++AC_SUBST(MPILIBS)
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x = x"$MPILIBS"; then
++ $2
++ :
++else
++ ifelse([$1],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$1])
++ :
++fi
++])dnl ACX_MPI
+--- ParMGridGen-1.0-src/mgridgen.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/mgridgen.pc.in 2008-07-20 15:34:06.000000000 +0200
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: MGridGen
++Description: Software for generating coarse grids
++Version: @VERSION@
++Libs: -L${libdir} -lIMlib -lMGridGen
++Cflags: -I${includedir}/mgridgen
+--- ParMGridGen-1.0-src/parmgridgen.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/parmgridgen.pc.in 2008-07-20 15:49:53.000000000 +0200
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: ParMGridGen
++Description: Software for parallel (mpi) generating coarse grids
++Version: @VERSION@
++Libs: -L${libdir} -lIMparmetis -lParMGridGen
++Cflags: -I${includedir}/imparmetis -I${includedir}/parmgridgen
+--- ParMGridGen-1.0-src/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/configure.ac 2008-07-20 16:05:45.000000000 +0200
+@@ -0,0 +1,24 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.61)
++AC_INIT(parmgridgen, 1.0, moulitsa@cs.umn.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_HEADER([config.h])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++sinclude(acx_mpi.m4)
++AC_LANG_PUSH([C])
++ACX_MPI([], AC_MSG_ERROR([could not compile an mpi test program]))
++AC_CONFIG_FILES([Makefile
++ mgridgen.pc
++ parmgridgen.pc
++ MGridGen/Makefile
++ MGridGen/IMlib/Makefile
++ MGridGen/Lib/Makefile
++ MGridGen/Programs/Makefile
++ ParMGridGen/Makefile
++ ParMGridGen/IMParMetis-2.0/Makefile
++ ParMGridGen/IMParMetis-2.0/ParMETISLib/Makefile
++ ParMGridGen/ParLib/Makefile
++ ParMGridGen/Programs/Makefile])
++AC_OUTPUT
+--- ParMGridGen-1.0-src/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/Makefile.am 2008-07-20 15:55:52.000000000 +0200
+@@ -0,0 +1,7 @@
++## top directory
++
++SUBDIRS = MGridGen ParMGridGen
++EXTRA_DIST = VERSION mgridgen.pc.in parmgridgen.pc.in
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = mgridgen.pc parmgridgen.pc
+--- ParMGridGen-1.0-src/MGridGen/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/MGridGen/Makefile.am 2008-07-19 22:53:47.000000000 +0200
+@@ -0,0 +1,4 @@
++## middle directory
++
++#Build in these directories:
++SUBDIRS= IMlib Lib Programs
+--- ParMGridGen-1.0-src/MGridGen/IMlib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/MGridGen/IMlib/Makefile.am 2008-07-19 22:48:10.000000000 +0200
+@@ -0,0 +1,8 @@
++## Source directory
++
++pkginclude_HEADERS = IMlib.h
++pkgincludedir = $(includedir)/mgridgen
++
++lib_LTLIBRARIES = libIMlib.la
++libIMlib_la_SOURCES = blas.c dfkeysort.c dkeysort.c file.c ifkeysort.c ifloatsort.c iintsort.c ikeysort.c memory.c sort.c util.c
++libIMlib_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
+--- ParMGridGen-1.0-src/MGridGen/Lib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/MGridGen/Lib/Makefile.am 2008-07-19 22:43:36.000000000 +0200
+@@ -0,0 +1,10 @@
++## Source directory
++
++INCLUDES = -I../IMlib
++
++pkginclude_HEADERS = defs.h macros.h mgridgen.h proto.h struct.h
++pkgincludedir = $(includedir)/mgridgen
++
++lib_LTLIBRARIES = libMGridGen.la
++libMGridGen_la_SOURCES = aratio.c coarsen.c kwayfm.c match.c merge.c mgridgen.c refine.c setup.c
++libMGridGen_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
+--- ParMGridGen-1.0-src/MGridGen/Programs/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/MGridGen/Programs/Makefile.am 2008-07-19 23:38:41.000000000 +0200
+@@ -0,0 +1,7 @@
++## Source directory
++
++INCLUDES = -I../IMlib -I../Lib
++
++bin_PROGRAMS = mgridgen
++mgridgen_SOURCES = io.c mgridgen.c
++mgridgen_LDADD = ../IMlib/libIMlib.la ../Lib/libMGridGen.la -lm
+--- ParMGridGen-1.0-src/ParMGridGen/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/ParMGridGen/Makefile.am 2008-07-20 16:04:31.000000000 +0200
+@@ -0,0 +1,4 @@
++## middle directory
++
++#Build in these directories:
++SUBDIRS= IMParMetis-2.0 ParLib Programs
+--- ParMGridGen-1.0-src/ParMGridGen/IMParMetis-2.0/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/Makefile.am 2008-07-20 15:24:55.000000000 +0200
+@@ -0,0 +1,4 @@
++## middle directory
++
++#Build in these directories:
++SUBDIRS= ParMETISLib
+--- ParMGridGen-1.0-src/ParMGridGen/IMParMetis-2.0/ParMETISLib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/ParMGridGen/IMParMetis-2.0/ParMETISLib/Makefile.am 2008-07-20 16:18:31.000000000 +0200
+@@ -0,0 +1,8 @@
++## Source directory
++
++pkginclude_HEADERS = defs.h macros.h parmetis.h proto.h rename.h struct.h
++pkgincludedir = $(includedir)/imparmetis
++
++lib_LTLIBRARIES = libIMparmetis.la
++libIMparmetis_la_SOURCES = coarsen.c comm.c debug.c diffuse.c drivers.c edge_refine.c fused.c grsetup.c iidxsort.c ikeysort.c memory.c remap.c setup.c timer.c util.c var.c
++libIMparmetis_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
+--- ParMGridGen-1.0-src/ParMGridGen/ParLib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/ParMGridGen/ParLib/Makefile.am 2008-07-20 15:53:06.000000000 +0200
+@@ -0,0 +1,10 @@
++## Source directory
++
++INCLUDES = -I$(top_builddir)/MGridGen/IMlib
++
++pkginclude_HEADERS = defs.h macros.h parmgridgen.h proto.h rename.h struct.h
++pkgincludedir = $(includedir)/parmgridgen
++
++lib_LTLIBRARIES = libParMGridGen.la
++libParMGridGen_la_SOURCES = comm.c debug.c grsetup.c ikeysort.c memory.c move.c parmgridgen.c setup.c util.c
++libParMGridGen_la_LDFLAGS = -no-undefined -export-dynamic -version-info 1:0:0
+--- ParMGridGen-1.0-src/ParMGridGen/Programs/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ParMGridGen-1.0/ParMGridGen/Programs/Makefile.am 2008-07-20 16:24:19.000000000 +0200
+@@ -0,0 +1,21 @@
++## Source directory
++
++INCLUDES = -I../ParLib -I$(top_builddir)/MGridGen/IMlib
++
++bin_PROGRAMS = parmgridgen
++parmgridgen_SOURCES = io.c main.c parmgridgen.c
++parmgridgen_LDADD = ../IMParMetis-2.0/ParMETISLib/libIMparmetis.la ../ParLib/libParMGridGen.la \
++ $(top_builddir)/MGridGen/IMlib/libIMlib.la $(top_builddir)/MGridGen/Lib/libMGridGen.la @MPILIBS@
++
++# AM_CPPFLAGS = -I$(top_srcdir)/ParMETISLib
++# LDADD = $(top_builddir)/METISLib/libmetis.la \
++# $(top_builddir)/ParMETISLib/libparmetis.la
++
++# check_PROGRAMS = parmgridgen
++# parmgridgen_SOURCES = io.c main.c parmgridgen.c
++
++MPIRUN = mpirun -np 4
++
++check-local: $(check_PROGRAMS)
++ $(MPIRUN) parmgridgen $(top_builddir)/Graphs/M6.metis 3 4 6 1 4 128
++
diff --git a/sci-libs/parmgridgen/metadata.xml b/sci-libs/parmgridgen/metadata.xml
new file mode 100644
index 000000000000..24cbb90cf0c4
--- /dev/null
+++ b/sci-libs/parmgridgen/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/parmgridgen/parmgridgen-1.0.ebuild b/sci-libs/parmgridgen/parmgridgen-1.0.ebuild
new file mode 100644
index 000000000000..12bfa8e4c7ae
--- /dev/null
+++ b/sci-libs/parmgridgen/parmgridgen-1.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils autotools
+
+MYP=ParMGridGen-${PV}
+
+DESCRIPTION="Software for parallel (mpi) generating coarse grids"
+HOMEPAGE="http://www-users.cs.umn.edu/~moulitsa/software.html"
+SRC_URI="http://www-users.cs.umn.edu/~moulitsa/download/${MYP}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64 x86"
+RESTRICT="mirror bindist"
+
+DEPEND="virtual/mpi"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MYP}
+
+pkg_setup(){
+ export CC=mpicc
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-autotools.patch"
+ epatch "${FILESDIR}/${P}-as-needed.patch"
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc README Doc/*.pdf || die
+}
diff --git a/sci-libs/pcl/Manifest b/sci-libs/pcl/Manifest
new file mode 100644
index 000000000000..293b4217dbc5
--- /dev/null
+++ b/sci-libs/pcl/Manifest
@@ -0,0 +1 @@
+DIST pcl-1.7.2.tar.gz 63474627 SHA256 479f84f2c658a6319b78271111251b4c2d6cf07643421b66bbc351d9bed0ae93 SHA512 23b24f35aa97a167083b0e94164af1c1e1b4b82e1ed7a2514b2453fb5001ad375cda983f4470b34b7b7f717f1399ccec1bcff7ce7f057cd25f024a58830cc2e9 WHIRLPOOL f41f2aa964e617a7e554c5ecf18dc2fc92a87ea1358d3796b364d933c8353bbcf16da6e57409e191b99ca59d5cd7fce236ead29f130e6231949ea5f4c9624332
diff --git a/sci-libs/pcl/files/nogl.patch b/sci-libs/pcl/files/nogl.patch
new file mode 100644
index 000000000000..0be97e85f893
--- /dev/null
+++ b/sci-libs/pcl/files/nogl.patch
@@ -0,0 +1,22 @@
+commit 1361899d1a336938811eceb17e2f71abe650ae17
+Author: Davide Viti <zinosat@tiscali.it>
+Date: Sun Nov 9 21:37:28 2014 +0100
+
+ Add "WITH_OPENGL" option to make OpenGL and Glut inclusion conditional
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6cc473d..7fda151 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -403,7 +403,10 @@ if(WITH_PCAP)
+ endif(WITH_PCAP)
+
+ # OpenGL and GLUT
+-include("${PCL_SOURCE_DIR}/cmake/pcl_find_gl.cmake")
++option(WITH_OPENGL "Support for OpenGL" TRUE)
++if(WITH_OPENGL)
++ include("${PCL_SOURCE_DIR}/cmake/pcl_find_gl.cmake")
++endif(WITH_OPENGL)
+
+ ### ---[ Create the config.h file
+ set(pcl_config_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pcl_config.h.in")
diff --git a/sci-libs/pcl/metadata.xml b/sci-libs/pcl/metadata.xml
new file mode 100644
index 000000000000..bc2917bb5cb1
--- /dev/null
+++ b/sci-libs/pcl/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <use>
+ <flag name="cuda">Adds support for NVIDIA CUDA.</flag>
+ <flag name="openni">Adds support for Kinect-like 3D sensors devices with <pkg>dev-libs/OpenNI</pkg>.</flag>
+ <flag name="openni2">Adds support for Kinect-like 3D sensors devices with <pkg>dev-libs/OpenNI2</pkg> (should be preferred over openni).</flag>
+ <flag name="pcap">Adds pcap file capabilities in some drivers.</flag>
+ <flag name="qhull">Adds convex-hull operation support via <pkg>media-libs/qhull</pkg>.</flag>
+ <flag name="vtk">Adds support for VTK-Visualizations.</flag>
+ <flag name="tutorials">Builds and installs tutorials.</flag>
+ </use>
+ <longdescription lang="en">
+ The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.
+</longdescription>
+ <upstream>
+ <remote-id type="github">PointCloudLibrary/pcl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/pcl/pcl-1.7.2.ebuild b/sci-libs/pcl/pcl-1.7.2.ebuild
new file mode 100644
index 000000000000..62b8bf0b9579
--- /dev/null
+++ b/sci-libs/pcl/pcl-1.7.2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/PointCloudLibrary/pcl"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/PointCloudLibrary/pcl/archive/${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${P}"
+fi
+
+HOMEPAGE="http://pointclouds.org/"
+DESCRIPTION="2D/3D image and point cloud processing"
+LICENSE="BSD"
+SLOT="0"
+IUSE="cuda doc opengl openni openni2 pcap png +qhull qt4 usb vtk cpu_flags_x86_sse test tutorials"
+
+RDEPEND="
+ >=sci-libs/flann-1.7.1
+ dev-libs/boost:=[threads]
+ dev-cpp/eigen:3
+ opengl? ( virtual/opengl media-libs/freeglut )
+ openni? ( dev-libs/OpenNI )
+ openni2? ( dev-libs/OpenNI2 )
+ pcap? ( net-libs/libpcap )
+ png? ( media-libs/libpng:0= )
+ qhull? ( media-libs/qhull )
+ qt4? ( dev-qt/qtgui:4 )
+ usb? ( virtual/libusb:1 )
+ vtk? ( >=sci-libs/vtk-5.6[imaging,rendering,qt4?] )
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-4 )
+"
+DEPEND="${RDEPEND}
+ !!dev-cpp/metslib
+ doc? ( app-doc/doxygen )
+ tutorials? ( dev-python/sphinx dev-python/sphinxcontrib-doxylink )
+ test? ( >=dev-cpp/gtest-1.6.0 )
+ virtual/pkgconfig"
+
+REQUIRED_USE="
+ openni? ( usb )
+ openni2? ( usb )
+ tutorials? ( doc )
+"
+
+PATCHES=(
+ "${FILESDIR}/nogl.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ "-DLIB_INSTALL_DIR=$(get_libdir)"
+ "-DWITH_CUDA=$(usex cuda TRUE FALSE)"
+ "-DWITH_LIBUSB=$(usex usb TRUE FALSE)"
+ "-DWITH_OPENGL=$(usex opengl TRUE FALSE)"
+ "-DWITH_PNG=$(usex png TRUE FALSE)"
+ "-DWITH_QHULL=$(usex qhull TRUE FALSE)"
+ "-DWITH_QT=$(usex qt4 TRUE FALSE)"
+ "-DWITH_VTK=$(usex vtk TRUE FALSE)"
+ "-DWITH_PCAP=$(usex pcap TRUE FALSE)"
+ "-DWITH_OPENNI=$(usex openni TRUE FALSE)"
+ "-DBUILD_OPENNI=$(usex openni TRUE FALSE)"
+ "-DWITH_OPENNI2=$(usex openni2 TRUE FALSE)"
+ "-DBUILD_OPENNI2=$(usex openni2 TRUE FALSE)"
+ "-DPCL_ENABLE_SSE=$(usex cpu_flags_x86_sse TRUE FALSE)"
+ "-DWITH_DOCS=$(usex doc TRUE FALSE)"
+ "-DWITH_TUTORIALS=$(usex tutorials TRUE FALSE)"
+ "-DBUILD_TESTS=$(usex test TRUE FALSE)"
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/pcl/pcl-9999.ebuild b/sci-libs/pcl/pcl-9999.ebuild
new file mode 100644
index 000000000000..6beca62fe8ed
--- /dev/null
+++ b/sci-libs/pcl/pcl-9999.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/PointCloudLibrary/pcl"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm"
+ SRC_URI="http://github.com/PointCloudLibrary/pcl/archive/${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${P}"
+fi
+
+HOMEPAGE="http://pointclouds.org/"
+DESCRIPTION="2D/3D image and point cloud processing"
+LICENSE="BSD"
+SLOT="0"
+IUSE="cuda doc opengl openni openni2 pcap png +qhull qt4 usb vtk cpu_flags_x86_sse test tutorials"
+
+RDEPEND="
+ >=sci-libs/flann-1.7.1
+ dev-libs/boost:=[threads]
+ dev-cpp/eigen:3
+ opengl? ( virtual/opengl media-libs/freeglut )
+ openni? ( dev-libs/OpenNI )
+ openni2? ( dev-libs/OpenNI2 )
+ pcap? ( net-libs/libpcap )
+ png? ( media-libs/libpng:0= )
+ qhull? ( media-libs/qhull )
+ qt4? ( dev-qt/qtgui:4 )
+ usb? ( virtual/libusb:1 )
+ vtk? ( >=sci-libs/vtk-5.6[imaging,rendering,qt4?] )
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-4 )
+"
+DEPEND="${RDEPEND}
+ !!dev-cpp/metslib
+ doc? ( app-doc/doxygen )
+ tutorials? ( dev-python/sphinx dev-python/sphinxcontrib-doxylink )
+ test? ( >=dev-cpp/gtest-1.6.0 )
+ virtual/pkgconfig"
+
+REQUIRED_USE="
+ openni? ( usb )
+ openni2? ( usb )
+ tutorials? ( doc )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ "-DLIB_INSTALL_DIR=$(get_libdir)"
+ "-DWITH_CUDA=$(usex cuda TRUE FALSE)"
+ "-DWITH_LIBUSB=$(usex usb TRUE FALSE)"
+ "-DWITH_OPENGL=$(usex opengl TRUE FALSE)"
+ "-DWITH_PNG=$(usex png TRUE FALSE)"
+ "-DWITH_QHULL=$(usex qhull TRUE FALSE)"
+ "-DWITH_QT=$(usex qt4 TRUE FALSE)"
+ "-DWITH_VTK=$(usex vtk TRUE FALSE)"
+ "-DWITH_PCAP=$(usex pcap TRUE FALSE)"
+ "-DWITH_OPENNI=$(usex openni TRUE FALSE)"
+ "-DBUILD_OPENNI=$(usex openni TRUE FALSE)"
+ "-DWITH_OPENNI2=$(usex openni2 TRUE FALSE)"
+ "-DBUILD_OPENNI2=$(usex openni2 TRUE FALSE)"
+ "-DPCL_ENABLE_SSE=$(usex cpu_flags_x86_sse TRUE FALSE)"
+ "-DWITH_DOCS=$(usex doc TRUE FALSE)"
+ "-DWITH_TUTORIALS=$(usex tutorials TRUE FALSE)"
+ "-DBUILD_TESTS=$(usex test TRUE FALSE)"
+ )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/pgplot/Manifest b/sci-libs/pgplot/Manifest
new file mode 100644
index 000000000000..d2c61570b4fc
--- /dev/null
+++ b/sci-libs/pgplot/Manifest
@@ -0,0 +1 @@
+DIST pgplot522.tar.gz 1197397 SHA256 a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4 SHA512 03a075c84506ead1d665a7105cd41c7cfbe19d12094cb36fb7459a0f6ee0df0638543b7eca92aaf80677984cc47a07b968f854db8eaa90ec605f78d89c615d1f WHIRLPOOL ced06d5fc275530fae0ed839aaaa360a1c560a102126c8cad6936c1d6494403c97489e6f248e28e64ca5cc2950677e5b336861876cc554965bb9c05b1bf0fba9
diff --git a/sci-libs/pgplot/files/pgplot-compile-setup.patch b/sci-libs/pgplot/files/pgplot-compile-setup.patch
new file mode 100644
index 000000000000..f1709c333f4f
--- /dev/null
+++ b/sci-libs/pgplot/files/pgplot-compile-setup.patch
@@ -0,0 +1,96 @@
+--- sys_linux/g77_gcc.conf.orig 1999-07-05 19:10:33.000000000 +0100
++++ sys_linux/g77_gcc.conf 2008-10-29 18:30:33.000000000 +0000
+@@ -1,4 +1,4 @@
+-# The GNU g77 FORTRAN compiler and Gnu gcc C compiler on an elf-system.
++# The GNU gfortran FORTRAN compiler and Gnu gcc C compiler on an elf-system.
+ #-----------------------------------------------------------------------
+
+ # Optional: Needed by XWDRIV (/xwindow and /xserve) and
+@@ -23,7 +23,7 @@
+ # The arguments needed by the C compiler to locate Tcl, Tk and
+ # X-window include files.
+
+- TK_INCL="-I/usr/include $XINCL"
++ TK_INCL="$XINCL"
+
+ # Optional: Needed by RVDRIV (/xrv).
+ # The arguments needed by the C compiler to locate Rivet, Tcl, Tk and
+@@ -34,13 +34,13 @@
+ # Mandatory.
+ # The FORTRAN compiler to use.
+
+- FCOMPL="g77"
++ FCOMPL="gfortran"
+
+ # Mandatory.
+ # The FORTRAN compiler flags to use when compiling the pgplot library.
+ # (NB. makemake prepends -c to $FFLAGC where needed)
+
+- FFLAGC="-u -Wall -fPIC -O"
++ FFLAGC="-u -Wall"
+
+ # Mandatory.
+ # The FORTRAN compiler flags to use when compiling fortran demo programs.
+@@ -57,12 +57,12 @@
+ # Mandatory.
+ # The C compiler flags to use when compiling the pgplot library.
+
+- CFLAGC="-Wall -fPIC -DPG_PPU -O"
++ CFLAGC="-Wall -DPG_PPU"
+
+ # Mandatory.
+ # The C compiler flags to use when compiling C demo programs.
+
+- CFLAGD="-Wall -O"
++ CFLAGD="-Wall"
+
+ # Optional: Only needed if the cpgplot library is to be compiled.
+ # The flags to use when running pgbind to create the C pgplot wrapper
+@@ -74,7 +74,7 @@
+ # The library-specification flags to use when linking normal pgplot
+ # demo programs.
+
+- LIBS="-L/usr/X11R6/lib -lX11"
++ LIBS="-lX11"
+
+ # Optional: Needed by XMDRIV (/xmotif).
+ # The library-specification flags to use when linking motif
+@@ -92,7 +92,7 @@
+ # The library-specification flags to use when linking Tk demo programs.
+ # Note that you may need to append version numbers to -ltk and -ltcl.
+
+- TK_LIBS="-L/usr/lib -ltk -ltcl $LIBS -ldl"
++ TK_LIBS="-ltk -ltcl $LIBS -ldl"
+
+ # Mandatory.
+ # On systems that have a ranlib utility, put "ranlib" here. On other
+@@ -103,12 +103,18 @@
+ # Optional: Needed on systems that support shared libraries.
+ # The name to give the shared pgplot library.
+
+- SHARED_LIB="libpgplot.so"
++ MV=5
++ SHARED_LIB="libpgplot.so.$MV"
++ SHARED_CLIB="libcpgplot.so.$MV"
+
+ # Optional: Needed if SHARED_LIB is set.
+ # How to create a shared library from a trailing list of object files.
+
+- SHARED_LD="gcc -shared -o $SHARED_LIB"
++ SHARED_LD_PGPLOT_OPTS="$LDFLAGS -Wl,-soname,$SHARED_LIB"
++
++ SHARED_LD_CPGPLOT_OPTS="$LDFLAGS -Wl,-soname,$SHARED_CLIB"
++
++ SHARED_LD="$FCOMPL -shared"
+
+ # Optional:
+ # On systems such as Solaris 2.x, that allow specification of the
+@@ -117,7 +123,7 @@
+ # library-specification flags used to specify these libraries to
+ # $SHARED_LD
+
+- SHARED_LIB_LIBS=""
++ SHARED_LIB_LIBS="-lX11 -lXt -lpng"
+
+ # Optional:
+ # Compiler name used on Next systems to compile objective-C files.
diff --git a/sci-libs/pgplot/files/pgplot-drivers.patch b/sci-libs/pgplot/files/pgplot-drivers.patch
new file mode 100644
index 000000000000..8201bdfaeb70
--- /dev/null
+++ b/sci-libs/pgplot/files/pgplot-drivers.patch
@@ -0,0 +1,117 @@
+--- drivers.list.orig 2007-03-08 15:56:20.000000000 +0000
++++ drivers.list 2007-03-08 15:59:21.000000000 +0000
+@@ -6,71 +6,71 @@
+ !------------------------------------------------------------------------------
+ ! File Code Description Restrictions
+ ! BCDRIV 0 /BCANON Canon Laser printer (bitmap version), landscape
+-! CADRIV 0 /CANON Canon Laser printer, LBP-8/A2, landscape
++ CADRIV 0 /CANON Canon Laser printer, LBP-8/A2, landscape
+ ! CCDRIV 0 /CCP DEC LJ250 Color Companion printer
+-! CGDRIV 1 /CGM CGM metafile, indexed colour selection C
+-! CGDRIV 2 /CGMD CGM metafile, direct colour selection C
+-! CWDRIV 0 /CW6320 Gould/Bryans Colourwriter 6320 pen plotter Std F77
++ CGDRIV 1 /CGM CGM metafile, indexed colour selection C
++ CGDRIV 2 /CGMD CGM metafile, direct colour selection C
++ CWDRIV 0 /CW6320 Gould/Bryans Colourwriter 6320 pen plotter Std F77
+ ! EPDRIV 0 /EPSON Epson FX100 dot matrix printer
+ ! EXDRIV 1 /EXCL Talaris/EXCL printers, landscape
+ ! EXDRIV 2 /EXCL Talaris/EXCL printers, portrait
+ ! GCDRIV 0 /GENICOM Genicom 4410 dot-matrix printer, landscape
+ ! Caution: use of GIDRIV may require a license from Unisys:
+-! GIDRIV 1 /GIF GIF-format file, landscape
+-! GIDRIV 2 /VGIF GIF-format file, portrait
+-! GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77
+-! GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77
++ GIDRIV 1 /GIF GIF-format file, landscape
++ GIDRIV 2 /VGIF GIF-format file, portrait
++ GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77
++ GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77
+ ! GODRIV 0 /GOC GOC Sigma T5670 terminal VMS
+ ! GVDRIV 0 /GVENICOM Genicom 4410 dot-matrix printer, portrait
+-! HGDRIV 0 /HPGL2 Hewlett-Packard graphics language
+-! HIDRIV 0 /HIDMP Houston Instruments HIDMP pen plotter
++ HGDRIV 0 /HPGL2 Hewlett-Packard graphics language
++ HIDRIV 0 /HIDMP Houston Instruments HIDMP pen plotter
+ ! HJDRIV 0 /HJ Hewlett-Packard Desk/Laserjet printer
+-! HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77
++ HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77
+ ! LADRIV 0 /LA50 Dec LA50 and other sixel printers
+ ! LJDRIV 0 /LJ Hewlett-Packard LaserJet printers VMS
+-! LSDRIV 1 /LIPS2 Canon LaserShot printer (landscape)
+-! LSDRIV 2 /VLIPS2 Canon LaserShot printer (portrait)
++ LSDRIV 1 /LIPS2 Canon LaserShot printer (landscape)
++ LSDRIV 2 /VLIPS2 Canon LaserShot printer (portrait)
+ ! LNDRIV 0 /LN03 Dec LN03-PLUS Laser printer (landscape) VMS
+ ! LVDRIV 0 /LVN03 Dec LN03-PLUS Laser printer (portrait) VMS
+-! LXDRIV 0 /LATEX LaTeX picture environment
++ LXDRIV 0 /LATEX LaTeX picture environment
+ ! MFDRIV 0 /FILE PGPLOT graphics metafile
+ ! NEDRIV 0 /NEXT Computers running NeXTstep operating system
+ NUDRIV 0 /NULL Null device (no output) Std F77
+-! PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77
+-! PNDRIV 1 /PNG Portable Network Graphics file C
+-! PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C
+-! PPDRIV 1 /PPM Portable Pixel Map file, landscape
+-! PPDRIV 2 /VPPM Portable PIxel Map file, portrait
+-! PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77
+-! PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77
+-! PSDRIV 3 /CPS PostScript printers, color, landscape Std F77
+-! PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77
++ PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77
++ PNDRIV 1 /PNG Portable Network Graphics file C
++ PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C
++ PPDRIV 1 /PPM Portable Pixel Map file, landscape
++ PPDRIV 2 /VPPM Portable PIxel Map file, portrait
++ PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77
++ PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77
++ PSDRIV 3 /CPS PostScript printers, color, landscape Std F77
++ PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77
+ ! PXDRIV 0 /PRINTRONI Printronix P300 or P600 dot-matrix printer
+-! QMDRIV 1 /QMS QUIC devices (QMS and Talaris), landscape Std F77
+-! QMDRIV 2 /VQMS QUIC devices (QMS and Talaris), portrait Std F77
++ QMDRIV 1 /QMS QUIC devices (QMS and Talaris), landscape Std F77
++ QMDRIV 2 /VQMS QUIC devices (QMS and Talaris), portrait Std F77
+ ! TFDRIV 0 /TFILE Tektronix-format disk file VMS
+ ! TODRIV 0 /TOSHIBA Toshiba "3-in-one" printer, model P351
+-! TTDRIV 1 /TEK4010 Tektronix 4006/4010 storage-tube terminal Std F77
+-! TTDRIV 2 /GF GraphOn terminal Std F77
+-! TTDRIV 3 /RETRO RetroGraphics terminal Std F77
+-! TTDRIV 4 /GTERM GTERM Tektronix terminal emulator Std F77
+-! TTDRIV 5 /XTERM XTERM Tektronix terminal emulator Std F77
+-! TTDRIV 6 /ZSTEM ZSTEM terminal emulator Std F77
+-! TTDRIV 7 /V603 Visual 603 terminal Std F77
++ TTDRIV 1 /TEK4010 Tektronix 4006/4010 storage-tube terminal Std F77
++ TTDRIV 2 /GF GraphOn terminal Std F77
++ TTDRIV 3 /RETRO RetroGraphics terminal Std F77
++ TTDRIV 4 /GTERM GTERM Tektronix terminal emulator Std F77
++ TTDRIV 5 /XTERM XTERM Tektronix terminal emulator Std F77
++ TTDRIV 6 /ZSTEM ZSTEM terminal emulator Std F77
++ TTDRIV 7 /V603 Visual 603 terminal Std F77
+ ! TTDRIV 8 /KRM3 Kermit 3 on IBM-PC Std F77
+-! TTDRIV 9 /TK4100 Tektronix 4100-series terminals Std F77
+-! TTDRIV 10 /VMAC Macintosh VersaTerm-PRO Tektronix-4105 emulator Std F77
++ TTDRIV 9 /TK4100 Tektronix 4100-series terminals Std F77
++ TTDRIV 10 /VMAC Macintosh VersaTerm-PRO Tektronix-4105 emulator Std F77
+ ! TXDRIV 0 /TX TeX PK Font Output files
+-! VADRIV 0 /VCANON Canon Laser printer, LBP-8/A2, portrait
+-! VBDRIV 0 /VBCANON Canon Laser printer (bitmap version), portrait
+-! VTDRIV 0 /VT125 Dec Regis terminals (VT125 etc.) Std F77
+-! WDDRIV 1 /WD X Window dump file, landscape
+-! WDDRIV 2 /VWD X Window dump file, portrait
++ VADRIV 0 /VCANON Canon Laser printer, LBP-8/A2, portrait
++! VBDRIV 0 /VBCANON Canon Laser printer (bitmap version), portrait
++ VTDRIV 0 /VT125 Dec Regis terminals (VT125 etc.) Std F77
++ WDDRIV 1 /WD X Window dump file, landscape
++ WDDRIV 2 /VWD X Window dump file, portrait
+ ! WSDRIV 0 /WS VAX workstations running VWS software VMS
+-! X2DRIV 0 /XDISP PGDISP or FIGDISP server for X workstations C
+-! XWDRIV 1 /XWINDOW Workstations running X Window System C
+-! XWDRIV 2 /XSERVE Persistent window on X Window System C
+-! ZEDRIV 0 /ZETA Zeta 8 Digital Plotter
++ X2DRIV 0 /XDISP PGDISP or FIGDISP server for X workstations C
++ XWDRIV 1 /XWINDOW Workstations running X Window System C
++ XWDRIV 2 /XSERVE Persistent window on X Window System C
++! ZEDRIV 0 /ZETA Zeta 8 Digital Plotter
+ !
+ ! The following drivers can only be used in PGPLOT installations on MS-DOS
+ ! systems with appropriate hardware and software. Do not select these
diff --git a/sci-libs/pgplot/files/pgplot-headers.patch b/sci-libs/pgplot/files/pgplot-headers.patch
new file mode 100644
index 000000000000..7bde726a041a
--- /dev/null
+++ b/sci-libs/pgplot/files/pgplot-headers.patch
@@ -0,0 +1,109 @@
+--- ./sys/grtermio.c.orig 2008-10-29 17:42:48.000000000 +0000
++++ ./sys/grtermio.c 2008-10-29 19:54:43.000000000 +0000
+@@ -7,6 +7,10 @@
+
+ #include <stdio.h>
+ #include <termios.h>
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
++#include <fcntl.h>
+
+ #ifdef PG_PPU
+ #define GROTER groter_
+--- ./sys/grfileio.c.orig 2008-10-29 15:10:02.000000000 +0000
++++ ./sys/grfileio.c 2008-10-29 17:56:50.000000000 +0000
+@@ -17,7 +17,9 @@
+ */
+
+ #include <stdlib.h>
++#include <unistd.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <sys/types.h>
+ #include <fcntl.h>
+
+--- ./drivers/figdisp_comm.c.orig 2008-10-29 15:09:15.000000000 +0000
++++ ./drivers/figdisp_comm.c 2008-10-29 17:54:08.000000000 +0000
+@@ -17,6 +17,8 @@
+
+ /* The system include files */
+ #include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
+
+ /* Get ntohs prototype or macro */
+
+--- ./pgdispd/resdb.c.orig 2008-10-29 18:22:41.000000000 +0000
++++ ./pgdispd/resdb.c 2008-10-29 20:10:22.000000000 +0000
+@@ -47,6 +47,8 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
++
+ #ifndef VMS
+ #include <pwd.h>
+ #endif
+@@ -1042,7 +1044,6 @@
+ int uid;
+
+ extern char *getenv();
+- extern int getuid();
+ extern struct passwd *getpwuid();
+ struct passwd *pw;
+ register char *ptr;
+--- ./pgdispd/proccom.c.orig 2008-10-29 15:03:34.000000000 +0000
++++ ./pgdispd/proccom.c 2008-10-29 18:15:48.000000000 +0000
+@@ -90,6 +90,7 @@
+
+ /* The system include files */
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
+
+@@ -163,7 +164,6 @@
+ void drawline(); /* draw a line in the bitmap window */
+ Pixmap XCreatePixmap();
+
+- char *malloc();
+
+ if (!len & savedshorts)
+ { /* an incomplete command was sent! */
+--- ./pgdispd/getvisuals.c.orig 2008-10-29 17:59:37.000000000 +0000
++++ ./pgdispd/getvisuals.c 2008-10-29 18:00:18.000000000 +0000
+@@ -30,6 +30,7 @@
+ #include "messages.h"
+
+ #include <stdio.h>
++#include <stdlib.h>
+
+ #define MAX_DEPTH 24 /* the maximum visual depth to use */
+
+--- ./pgdispd/figcurs.c.orig 2008-10-29 17:58:22.000000000 +0000
++++ ./pgdispd/figcurs.c 2008-10-29 18:14:02.000000000 +0000
+@@ -19,6 +19,7 @@
+
+ /* The standard include files */
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <netinet/in.h>
+
+@@ -113,7 +114,6 @@
+ void getbuttonval();
+ int getkeyval();
+
+- char *malloc();
+
+ if (event.type == ButtonPress) getbuttonval(event.xbutton.button, &val);
+ else if (!getkeyval(event, &val)) return(1);
+@@ -167,7 +167,6 @@
+ void getbuttonval();
+ int getkeyval();
+
+- char *malloc();
+
+ if (event.type == ButtonPress) getbuttonval(event.xbutton.button, &val);
+ else if (!getkeyval(event, &val)) return(1);
diff --git a/sci-libs/pgplot/files/pgplot-libpng15.patch b/sci-libs/pgplot/files/pgplot-libpng15.patch
new file mode 100644
index 000000000000..b1064cb4da12
--- /dev/null
+++ b/sci-libs/pgplot/files/pgplot-libpng15.patch
@@ -0,0 +1,11 @@
+--- drivers/pndriv.c
++++ drivers/pndriv.c
+@@ -222,7 +222,7 @@
+ return;
+ }
+
+- if (setjmp(png_ptr->jmpbuf)) { /* not really sure what I'm doing here... */
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ fprintf(stderr,"%s: error in libpng while writing file %s, plotting disabled\n", png_ident, filename);
+ png_destroy_write_struct(&png_ptr,&info_ptr);
+ dev->error = true;
diff --git a/sci-libs/pgplot/files/pgplot-makemake.patch b/sci-libs/pgplot/files/pgplot-makemake.patch
new file mode 100644
index 000000000000..6cc3c637b6ef
--- /dev/null
+++ b/sci-libs/pgplot/files/pgplot-makemake.patch
@@ -0,0 +1,223 @@
+--- makemake.orig 2012-07-05 14:08:30.210815190 -0700
++++ makemake 2012-07-05 14:26:28.353381906 -0700
+@@ -73,7 +73,7 @@
+
+ # List the default make targets.
+
+-DEFAULT_TARGETS="lib grfont.dat prog pgplot.doc"
++DEFAULT_TARGETS="lib grfont.dat pgplot.doc"
+
+ # Get the configuration variables.
+
+@@ -199,18 +199,18 @@
+ fi
+
+ if (echo $DRIV_LIST | grep -s xmdriv 2>&1 1>/dev/null); then
+- DEFAULT_TARGETS="$DEFAULT_TARGETS libXmPgplot.a pgmdemo"
+- INSTALL_LIST="$INSTALL_LIST libXmPgplot.a XmPgplot.h"
++ DEFAULT_TARGETS="$DEFAULT_TARGETS libXmPgplot.a"
++ INSTALL_LIST="$INSTALL_LIST libXmPgplot.a XmPgplot.h"
+ fi
+
+ if (echo $DRIV_LIST | grep -s xadriv 2>&1 1>/dev/null); then
+- DEFAULT_TARGETS="$DEFAULT_TARGETS libXaPgplot.a pgawdemo"
++ DEFAULT_TARGETS="$DEFAULT_TARGETS libXaPgplot.a"
+ INSTALL_LIST="$INSTALL_LIST libXaPgplot.a XaPgplot.h"
+ fi
+
+ if (echo $DRIV_LIST | grep -s tkdriv 2>&1 1>/dev/null); then
+- DEFAULT_TARGETS="$DEFAULT_TARGETS libtkpgplot.a pgtkdemo pgtkdemo.tcl"
+- INSTALL_LIST="$INSTALL_LIST libtkpgplot.a tkpgplot.h"
++ DEFAULT_TARGETS="$DEFAULT_TARGETS libtkpgplot.so"
++ INSTALL_LIST="$INSTALL_LIST libtkpgplot.a tkpgplot.h"
+ fi
+
+ if (echo $DRIV_LIST | grep -s rvdriv 2>&1 1>/dev/null); then
+@@ -622,7 +622,7 @@
+ # Fortran compiler and compilation flags
+ #
+ FCOMPL=$FCOMPL
+-FFLAGC=$FFLAGC
++FFLAGC=$FFLAGC \$(FFLAGS)
+ FFLAGD=$FFLAGD
+ #
+ # C compiler and compilation flags
+@@ -633,7 +633,7 @@
+ TK_INCL=$TK_INCL
+ RV_INCL=$RV_INCL
+ CCOMPL=$CCOMPL
+-CFLAGC=$CFLAGC -I.
++CFLAGC=$CFLAGC -I. \$(CFLAGS)
+ CFLAGD=$CFLAGD
+ MCOMPL=$MCOMPL
+ MFLAGC=$MFLAGC
+@@ -657,7 +657,10 @@
+ # Shared library creation.
+ #
+ SHARED_LIB=$SHARED_LIB
++SHARED_CLIB=$SHARED_CLIB
+ SHARED_LD=$SHARED_LD
++SHARED_LD_PGPLOT_OPTS=$SHARED_LD_PGPLOT_OPTS
++SHARED_LD_CPGPLOT_OPTS=$SHARED_LD_CPGPLOT_OPTS
+ #
+ # The libraries that the shared PGPLOT library depends upon.
+ # This is for systems that allow one to specify what libraries
+@@ -806,7 +809,8 @@
+ # libraries.
+ #-----------------------------------------------------------------------
+
+-lib : libpgplot.a $(SHARED_LIB)
++#lib : libpgplot.a $(SHARED_LIB)
++lib : libpgplot.a
+
+ libpgplot.a : $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \
+ $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES)
+@@ -816,6 +820,16 @@
+ $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq`
+ $(RANLIB) libpgplot.a
+
++#shared: $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \
++# $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES)
++# $(SHARED_LD)
++
++shared: $(PG_ROUTINES) $(PG_NON_STANDARD) grfont.dat \
++ $(GR_ROUTINES) $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES)
++ $(SHARED_LD) $(SHARED_LD_PGPLOT_OPTS) `ls $(PG_ROUTINES) \
++ $(PG_NON_STANDARD) $(GR_ROUTINES) $(DISPATCH_ROUTINE) \
++ $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` $(SHARED_LIB_LIBS) -o $(SHARED_LIB)
++ ln -s $(SHARED_LIB) libpgplot.so
+ EOD
+
+ # Emit the shared library dependency if requested.
+@@ -824,7 +838,7 @@
+ cat >> makefile << \EOD
+ $(SHARED_LIB): $(PG_ROUTINES) $(PG_NON_STANDARD) \
+ $(GR_ROUTINES) $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES)
+- $(SHARED_LD) `ls $(PG_ROUTINES) \
++ $(SHARED_LD) $(SHARED_LD_PGPLOT_OPTS) `ls $(PG_ROUTINES) \
+ $(PG_NON_STANDARD) $(GR_ROUTINES) $(DISPATCH_ROUTINE) \
+ $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` $(SHARED_LIB_LIBS)
+ EOD
+@@ -857,7 +871,7 @@
+
+ for file in $DEMOS; do
+ echo "${file}: \$(DEMDIR)/${file}.f $EXTRA_DEPENDENCY"
+-echo " \$(FCOMPL) \$(FFLAGD) -o ${file} \$(DEMDIR)/${file}.f \$(PGPLOT_LIB) \$(LIBS)"
++echo " \$(FCOMPL) \$(FFLAGD) \$(DEMDIR)/${file}.f \$(PGPLOT_LIB) \$(LIBS) -o ${file}"
+ done >> makefile
+
+ cat >> makefile << \EOD
+@@ -921,13 +935,13 @@
+ # 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) $(DRVDIR)/pgxwin_server.c $(LIBS) -o pgxwin_server
+
+ #-----------------------------------------------------------------------
+ # Target "pgdisp" is the pgdisp server program for /XDISP driver
+ #-----------------------------------------------------------------------
+ pgdisp: $(PGDISP_ROUTINES)
+- $(CCOMPL) $(CFLAGC) -o pgdisp $(PGDISP_ROUTINES) $(LIBS)
++ $(CCOMPL) $(CFLAGC) $(LDFLAGS) $(PGDISP_ROUTINES) $(LIBS) -o pgdisp
+
+ #-----------------------------------------------------------------------
+ # Target "libxmpgplot.a" contains the Motif widget driver.
+@@ -937,6 +951,10 @@
+ ar ru libXmPgplot.a XmPgplot.o
+ $(RANLIB) libXmPgplot.a
+
++libXmPgplot.so: XmPgplot.h XmPgplot.o
++ $(SHARED_LD) $(LDFLAGS) -Wl,-soname,libXmPgplot.so.5 XmPgplot.o -L. -lcpgplot $(MOTIF_LIBS) -o libXmPgplot.so.5
++ ln -s libXmPgplot.so.5 libXmPgplot.so
++
+ XmPgplot.h: $(XMDIR)/XmPgplot.h
+ cp $(XMDIR)/XmPgplot.h XmPgplot.h
+
+@@ -965,6 +983,10 @@
+ ar ru libtkpgplot.a tkpgplot.o
+ $(RANLIB) libtkpgplot.a
+
++libtkpgplot.so: tkpgplot.h tkpgplot.o
++ $(SHARED_LD) $(LDFLAGS) -Wl,-soname,libtkpgplot.so.5 tkpgplot.o -L. -lcpgplot $(TK_LIBS) -o libtkpgplot.so.5
++ ln -s libtkpgplot.so.5 libtkpgplot.so
++
+ tkpgplot.h: $(TKDIR)/tkpgplot.h
+ cp $(TKDIR)/tkpgplot.h tkpgplot.h
+
+@@ -983,7 +1005,7 @@
+ cp $(TKDIR)/rvpgplot.h rvpgplot.h
+
+ rvpgplot.o: $(DRVDIR)/pgxwin.h rvpgplot.h $(TKDIR)/tkpgplot.c
+- $(CCOMPL) -o $@ -c -DUSE_RIVET $(CFLAGC) -I$(DRVDIR) -I$(TKDIR) $(RV_INCL) $(TKDIR)/tkpgplot.c
++ $(CCOMPL) -c -DUSE_RIVET $(CFLAGC) -I$(DRVDIR) -I$(TKDIR) $(RV_INCL) $(TKDIR)/tkpgplot.c -o $@
+
+ #-----------------------------------------------------------------------
+ # Target "install" is required for Figaro.
+@@ -1025,12 +1047,12 @@
+ grivas.o : $(DRVDIR)/gadef.h
+ grtv00.o : $(DRVDIR)/imdef.h
+ pgxwin.o : $(DRVDIR)/pgxwin.h
+-pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h
++pndriv.o : /usr/include/png.h /usr/include/pngconf.h /usr/include/zlib.h /usr/include/zconf.h
+
+ x2driv.o figdisp_comm.o: $(DRVDIR)/commands.h
+
+
+-cpg: libcpgplot.a cpgplot.h cpgdemo
++cpg: cpgplot.h libcpgplot.a
+ @echo ' '
+ @echo '*** Finished compilation of the C PGPLOT wrapper library ***'
+ @echo ' '
+@@ -1039,24 +1061,36 @@
+ @echo 'will be needed.'
+ @echo ' '
+
++cpg-shared: libcpgplot.so
++
+ pgbind: $(SRC)/cpg/pgbind.c
+ $(CCOMPL) $(CFLAGC) $(SRC)/cpg/pgbind.c -o pgbind
+
+-libcpgplot.a cpgplot.h: $(PG_SOURCE) pgbind
++cpgplot.h: $(PG_SOURCE) pgbind
+ ./pgbind $(PGBIND_FLAGS) -h -w $(PG_SOURCE)
++
++libcpgplot.a: cpgplot.h
+ $(CCOMPL) -c $(CFLAGC) cpg*.c
+ rm -f cpg*.c
+ ar ru libcpgplot.a cpg*.o
+ $(RANLIB) libcpgplot.a
+ rm -f cpg*.o
+
++libcpgplot.so: cpgplot.h $(PG_SOURCE) pgbind
++ ./pgbind $(PGBIND_FLAGS) -w $(PG_SOURCE)
++ $(CCOMPL) -c $(CFLAGC) cpg*.c
++ rm -f cpg*.c
++ $(SHARED_LD) $(SHARED_LD_CPGPLOT_OPTS) cpg*.o -L. -lpgplot $(SHARED_LIB_LIBS) -o $(SHARED_CLIB)
++ ln -s $(SHARED_CLIB) libcpgplot.so
++ rm -f cpg*.o
++
+ cpgdemo: cpgplot.h $(SRC)/cpg/cpgdemo.c libcpgplot.a
+ $(CCOMPL) $(CFLAGD) -c -I. $(SRC)/cpg/cpgdemo.c
+- $(FCOMPL) -o cpgdemo cpgdemo.o $(CPGPLOT_LIB) $(LIBS)
++ $(FCOMPL) cpgdemo.o $(CPGPLOT_LIB) $(LIBS) -o cpgdemo
+ rm -f cpgdemo.o
+
+-pgmdemo: pgmdemo.o libXmPgplot.a
+- $(FCOMPL) -o pgmdemo pgmdemo.o -L`pwd` -lXmPgplot $(CPGPLOT_LIB) $(MOTIF_LIBS)
++pgmdemo: pgmdemo.o libXmPgplot.so
++ $(FCOMPL) pgmdemo.o -L`pwd` -lXmPgplot $(CPGPLOT_LIB) $(MOTIF_LIBS) -o pgmdemo
+
+ pgmdemo.o: $(XMDIR)/pgmdemo.c XmPgplot.h libcpgplot.a cpgplot.h
+ $(CCOMPL) $(CFLAGD) -c -I`pwd` $(MOTIF_INCL) $(XMDIR)/pgmdemo.c
+@@ -1067,8 +1101,8 @@
+ pgawdemo.o: $(XADIR)/pgawdemo.c XaPgplot.h libcpgplot.a cpgplot.h
+ $(CCOMPL) $(CFLAGD) -c -I`pwd` $(ATHENA_INCL) $(XADIR)/pgawdemo.c
+
+-pgtkdemo: pgtkdemo.o libtkpgplot.a
+- $(FCOMPL) -o pgtkdemo pgtkdemo.o -L`pwd` -ltkpgplot $(CPGPLOT_LIB) $(TK_LIBS)
++pgtkdemo: pgtkdemo.o libtkpgplot.so
++ $(FCOMPL) pgtkdemo.o -L`pwd` -ltkpgplot $(CPGPLOT_LIB) $(TK_LIBS) -o pgtkdemo
+
+ pgtkdemo.tcl: $(TKDIR)/pgtkdemo.tcl
+ cp $(TKDIR)/pgtkdemo.tcl pgtkdemo.tcl
diff --git a/sci-libs/pgplot/files/pgplot-pgdisp.patch b/sci-libs/pgplot/files/pgplot-pgdisp.patch
new file mode 100644
index 000000000000..9828a3bdbcbd
--- /dev/null
+++ b/sci-libs/pgplot/files/pgplot-pgdisp.patch
@@ -0,0 +1,11 @@
+--- pgdispd/proccom.c 2007-03-08 14:47:15.000000000 +0000
++++ pgdispd/proccom.c.new 2007-03-08 15:34:36.000000000 +0000
+@@ -163,8 +163,6 @@
+ void drawline(); /* draw a line in the bitmap window */
+ Pixmap XCreatePixmap();
+
+- char *malloc();
+-
+ if (!len & savedshorts)
+ { /* an incomplete command was sent! */
+ savedshorts=0;
diff --git a/sci-libs/pgplot/files/pgplot-tk86.patch b/sci-libs/pgplot/files/pgplot-tk86.patch
new file mode 100644
index 000000000000..bc0023eb90d2
--- /dev/null
+++ b/sci-libs/pgplot/files/pgplot-tk86.patch
@@ -0,0 +1,47 @@
+--- drivers/xtk/tkpgplot.c.ORIG 2000-12-13 03:16:28.000000000 +0100
++++ drivers/xtk/tkpgplot.c 2013-01-15 11:02:27.221231471 +0100
+@@ -417,7 +417,7 @@
+ /*
+ * If Tk_Init() hasn't been called, then there won't be a main window
+ * yet. In such cases, Tk_MainWindow() places a suitable error message
+- * in interp->result.
++ * in Tcl_GetStringResult(interp).
+ */
+ if(!main_w)
+ return TCL_ERROR;
+@@ -2136,7 +2136,7 @@
+ tkpg->border = bd;
+ tkpg_draw_3d_border(tkpg);
+ } else {
+- fprintf(stderr, "Tk_Get3DBorder failed: %s\n", tkpg->interp->result);
++ fprintf(stderr, "Tk_Get3DBorder failed: %s\n", Tcl_GetStringResult(tkpg->interp));
+ };
+ }
+
+@@ -2261,7 +2261,7 @@
+ * argv char ** The array of 'argc' configuration arguments.
+ * Output:
+ * return int TCL_ERROR and the context of the error
+- * is recorded in interp->result.
++ * is recorded in Tcl_GetStringResult(result).
+ */
+ static int tkpg_scrollbar_error(TkPgplot *tkpg, Tcl_Interp *interp,
+ char *widget, char *view, int argc,
+@@ -2586,7 +2586,7 @@
+ * Output:
+ * return Tk_Window The top-level window of the path, or NULL if
+ * it doesn't exist. In the latter case an error
+- * message will have been appended to interp->result.
++ * message will have been appended to Tcl_GetStringResult(interp).
+ */
+ static Tk_Window tkpg_toplevel_of_path(Tcl_Interp *interp, Tk_Window main_w,
+ char *path)
+@@ -2630,7 +2630,7 @@
+ free(first);
+ /*
+ * If the window doesn't exist, Tk_NameToWindow() is documented to place
+- * an error message in interp->result, so just return the error condition.
++ * an error message in Tcl_GetStringResult(interp), so just return the error condition.
+ */
+ if(!w)
+ return NULL;
diff --git a/sci-libs/pgplot/metadata.xml b/sci-libs/pgplot/metadata.xml
new file mode 100644
index 000000000000..7afe58a52a3f
--- /dev/null
+++ b/sci-libs/pgplot/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ PGPLOT is a Fortran subroutine package for drawing graphs on a variety
+ of display devices. The CPGPLOT library adds an intermediate level of
+ wrapper functions between C programs and the PGPLOT library. These
+ functions hide the system dependencies of calling PGPLOT behind a
+ system independent interface.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/pgplot/pgplot-5.2.2-r6.ebuild b/sci-libs/pgplot/pgplot-5.2.2-r6.ebuild
new file mode 100644
index 000000000000..17e77d90e4cb
--- /dev/null
+++ b/sci-libs/pgplot/pgplot-5.2.2-r6.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 toolchain-funcs multilib
+
+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"
+
+SLOT="0"
+LICENSE="free-noncomm"
+KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc motif static-libs tk"
+
+RDEPEND="
+ media-libs/libpng
+ x11-libs/libX11
+ x11-libs/libXt
+ motif? ( >=x11-libs/motif-2.3:0 )
+ tk? ( dev-lang/tk )"
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-drivers.patch \
+ "${FILESDIR}"/${PN}-makemake.patch \
+ "${FILESDIR}"/${PN}-compile-setup.patch \
+ "${FILESDIR}"/${PN}-headers.patch \
+ "${FILESDIR}"/${PN}-libpng15.patch \
+ "${FILESDIR}"/${PN}-tk86.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
+ echo
+ 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"
+ echo
+ 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_configure() {
+ ./makemake . linux
+ # post makefile creation prefix hack
+ sed -i -e "s|/usr|${EROOT}/usr|g" makefile || die
+}
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS} -fPIC" \
+ FFLAGS="${FFLAGS} -fPIC" \
+ shared cpg-shared pgxwin_server pgdisp pgplot.doc
+
+ use tk && emake CFLAGS="${CFLAGS} -fPIC" libtkpgplot.so
+ use motif && emake CFLAGS="${CFLAGS} -fPIC" libXmPgplot.so
+
+ emake -j1 clean
+ use static-libs && emake all cpg
+
+ if use doc; then
+ export VARTEXFONTS="${T}/fonts"
+ emake pgplot.html pgplot-routines.tex
+ pdflatex pgplot-routines.tex
+ pdflatex pgplot-routines.tex
+ fi
+
+ # this just cleans out not needed files
+ emake -j1 clean
+}
+
+src_test() {
+ # i can go to 16
+ local i j
+ 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
+ echo "PGPLOT_FONT=${EROOT%/}/usr/$(get_libdir)/pgplot/grfont.dat" >> 99pgplot
+ doenvd 99pgplot
+
+ dolib.so libpgplot.so*
+ dobin pgxwin_server pgdisp
+
+ # C binding
+ insinto /usr/include
+ doins cpgplot.h
+ dolib.so libcpgplot.so*
+
+ if use motif; then
+ insinto /usr/include
+ doins XmPgplot.h
+ dolib.so libXmPgplot.so*
+ fi
+
+ if use tk; then
+ insinto /usr/include
+ doins tkpgplot.h
+ dolib.so libtkpgplot.so*
+ fi
+
+ use static-libs && dolib.a lib*pgplot.a
+
+ # minimal doc
+ dodoc aaaread.me pgplot.doc
+ newdoc pgdispd/aaaread.me pgdispd.txt
+
+ 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
+}
diff --git a/sci-libs/plotmm/Manifest b/sci-libs/plotmm/Manifest
new file mode 100644
index 000000000000..5fbfd4b2f353
--- /dev/null
+++ b/sci-libs/plotmm/Manifest
@@ -0,0 +1 @@
+DIST plotmm-0.1.2.tar.gz 473175 SHA256 896bb729eb9cad5f3188d72304789dd7a86fdae66020ac0632fe3bc66abe9653
diff --git a/sci-libs/plotmm/files/plotmm-0.1.2-libsigc++-2.2.patch b/sci-libs/plotmm/files/plotmm-0.1.2-libsigc++-2.2.patch
new file mode 100644
index 000000000000..a9aa53190d5f
--- /dev/null
+++ b/sci-libs/plotmm/files/plotmm-0.1.2-libsigc++-2.2.patch
@@ -0,0 +1,100 @@
+diff -ur plotmm-0.1.2-old/plotmm/compat.h plotmm-0.1.2/plotmm/compat.h
+--- plotmm-0.1.2-old/plotmm/compat.h 2005-11-09 17:36:02.000000000 +0100
++++ plotmm-0.1.2/plotmm/compat.h 2008-07-25 00:13:55.000000000 +0200
+@@ -58,7 +58,7 @@
+ #else
+
+ namespace PlotMM {
+- typedef SigC::ObjectBase ObjectBase;
++ typedef sigc::ObjectBase ObjectBase;
+ }
+
+ #endif
+diff -ur plotmm-0.1.2-old/plotmm/curve.h plotmm-0.1.2/plotmm/curve.h
+--- plotmm-0.1.2-old/plotmm/curve.h 2005-11-09 17:47:21.000000000 +0100
++++ plotmm-0.1.2/plotmm/curve.h 2008-07-25 00:24:02.000000000 +0200
+@@ -140,7 +140,7 @@
+ int from = 0, int to = -1);
+
+ //! Signals that this curve has changed in some way or the other
+- SigC::Signal0<void> signal_curve_changed;
++ sigc::signal0<void> signal_curve_changed;
+
+ protected:
+ virtual void init(const Glib::ustring &title);
+diff -ur plotmm-0.1.2-old/plotmm/plot.cc plotmm-0.1.2/plotmm/plot.cc
+--- plotmm-0.1.2-old/plotmm/plot.cc 2005-11-09 17:59:48.000000000 +0100
++++ plotmm-0.1.2/plotmm/plot.cc 2008-07-25 00:24:30.000000000 +0200
+@@ -322,7 +322,7 @@
+ connect(sigc::mem_fun(*this,&Plot::on_canvas_expose_event));
+ #else
+ canvas_.signal_expose_event().
+- connect(SigC::slot(*this,&Plot::on_canvas_expose_event));
++ connect(sigc::slot(*this,&Plot::on_canvas_expose_event));
+ #endif
+
+ show_all();
+@@ -406,19 +406,19 @@
+ }
+
+ //! Return the signal owned by plot canvas
+-SigC::Signal3<void,int,int,GdkEventButton*> Plot::signal_plot_mouse_press()
++sigc::signal3<void,int,int,GdkEventButton*> Plot::signal_plot_mouse_press()
+ {
+ return canvas_.signal_plot_mouse_press;
+ }
+
+ //! Return the signal owned by plot canvas
+-SigC::Signal3<void,int,int,GdkEventButton*> Plot::signal_plot_mouse_release()
++sigc::signal3<void,int,int,GdkEventButton*> Plot::signal_plot_mouse_release()
+ {
+ return canvas_.signal_plot_mouse_release;
+ }
+
+ //! Return the signal owned by plot canvas
+-SigC::Signal3<void,int,int,GdkEventMotion*> Plot::signal_plot_mouse_move()
++sigc::signal3<void,int,int,GdkEventMotion*> Plot::signal_plot_mouse_move()
+ {
+ return canvas_.signal_plot_mouse_move;
+ }
+diff -ur plotmm-0.1.2-old/plotmm/plot.h plotmm-0.1.2/plotmm/plot.h
+--- plotmm-0.1.2-old/plotmm/plot.h 2004-03-09 10:51:55.000000000 +0100
++++ plotmm-0.1.2/plotmm/plot.h 2008-07-25 00:25:17.000000000 +0200
+@@ -79,9 +79,9 @@
+ virtual void clear();
+ virtual void end_replot();
+
+- SigC::Signal3<void,int,int,GdkEventButton*> signal_plot_mouse_press;
+- SigC::Signal3<void,int,int,GdkEventButton*> signal_plot_mouse_release;
+- SigC::Signal3<void,int,int,GdkEventMotion*> signal_plot_mouse_move;
++ sigc::signal3<void,int,int,GdkEventButton*> signal_plot_mouse_press;
++ sigc::signal3<void,int,int,GdkEventButton*> signal_plot_mouse_release;
++ sigc::signal3<void,int,int,GdkEventMotion*> signal_plot_mouse_move;
+
+ protected:
+ virtual bool on_expose_event(GdkEventExpose* event);
+@@ -141,9 +141,9 @@
+ Scale *scale(PlotAxisID id) { return tickMark_[id]; }
+ PlotLabel *label(PlotAxisID id) { return axisLabel_[id]; }
+
+- SigC::Signal3<void,int,int,GdkEventButton*> signal_plot_mouse_press();
+- SigC::Signal3<void,int,int,GdkEventButton*> signal_plot_mouse_release();
+- SigC::Signal3<void,int,int,GdkEventMotion*> signal_plot_mouse_move();
++ sigc::signal3<void,int,int,GdkEventButton*> signal_plot_mouse_press();
++ sigc::signal3<void,int,int,GdkEventButton*> signal_plot_mouse_release();
++ sigc::signal3<void,int,int,GdkEventMotion*> signal_plot_mouse_move();
+
+ void set_selection(const Rectangle &r);
+ Rectangle get_selection() { return select_; }
+diff -ur plotmm-0.1.2-old/plotmm/scale.h plotmm-0.1.2/plotmm/scale.h
+--- plotmm-0.1.2-old/plotmm/scale.h 2004-03-05 16:25:43.000000000 +0100
++++ plotmm-0.1.2/plotmm/scale.h 2008-07-25 00:25:30.000000000 +0200
+@@ -133,7 +133,7 @@
+ /*! This signal is thrown whenever the scale is enabled or disabled
+ * \sa set_enabled, enabled
+ */
+- SigC::Signal1<void,bool> signal_enabled;
++ sigc::signal1<void,bool> signal_enabled;
+
+ protected:
+ virtual void on_realize();
diff --git a/sci-libs/plotmm/metadata.xml b/sci-libs/plotmm/metadata.xml
new file mode 100644
index 000000000000..77d8685c7897
--- /dev/null
+++ b/sci-libs/plotmm/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">plotmm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/plotmm/plotmm-0.1.2.ebuild b/sci-libs/plotmm/plotmm-0.1.2.ebuild
new file mode 100644
index 000000000000..6308ad48aa67
--- /dev/null
+++ b/sci-libs/plotmm/plotmm-0.1.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils
+
+DESCRIPTION="Plot widget for GTKmm"
+HOMEPAGE="http://plotmm.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86"
+IUSE="doc examples"
+
+RDEPEND="dev-cpp/gtkmm:2.4"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+# NOTES:
+# somewhat, there is a dep on libsigc++ but it's much more via gtkmm
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-libsigc++-2.2.patch"
+
+ if ! use examples; then
+ sed -i -e "s:examples::" Makefile.in || die "sed failed"
+ fi
+}
+
+src_configure() {
+ econf \
+ --disable-maintainer-mode \
+ --disable-dependency-tracking \
+ --enable-fast-install \
+ --disable-libtool-lock
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc AUTHORS ChangeLog NEWS README || die "dodoc failed"
+
+ if use doc; then
+ dohtml -r doc/html/* || die "dohtml failed"
+ fi
+
+ if use examples; then
+ # rename installed bin files
+ mv "${D}"/usr/bin/curves "${D}"/usr/bin/${PN}-curves || die "mv failed"
+ mv "${D}"/usr/bin/simple "${D}"/usr/bin/${PN}-simple || die "mv failed"
+
+ # install sources
+ insinto /usr/share/doc/${PF}/examples/
+ doins examples/{curves/curves,simple/simple}.cc || die "doins failed"
+
+ elog "You can use examples by calling ${PN}-curves or ${PN}-simple."
+ elog "Examples source code is in /usr/share/doc/${PF}/examples."
+ fi
+}
diff --git a/sci-libs/plplot/Manifest b/sci-libs/plplot/Manifest
new file mode 100644
index 000000000000..25e28a6aa862
--- /dev/null
+++ b/sci-libs/plplot/Manifest
@@ -0,0 +1,2 @@
+DIST plplot-5.10.0.tar.gz 14766687 SHA256 d4e930b8b9d43cd1663408986218d61f166de7cbc9ef5bed111b0bdea934f9d5 SHA512 92a1880dc544694a19aa5a3f6f592df5b63ea65827f11804f0b1bdb1d123546abb213c1af4950c18b50e0e0fb9b40bb3311e7f21e681237df6008fee9873b11e WHIRLPOOL 52b726925a6fa89e2e097a1a7578b8b0004bfac6a841019144785861a467e4d7c812bf4301e7a747d2edab47ef5b0d481c7732f5b0c9b4ff5dae6be6cd3e17ba
+DIST plplot-5.11.0.tar.gz 15892751 SHA256 bfa8434e6e1e7139a5651203ec1256c8581e2fac3122f907f7d8d25ed3bd5f7e SHA512 048157b95f65858d97ca6dba15d45dcdaee11892076a949cc3de8536abcaeca88eb8fa43a0520deffeee55eba43ef8cdf86b748a1e74b86d0340b995461d704d WHIRLPOOL 904061ad556856cb2386925dc9c907a12d753de32546023c867ce77498435a0b501d36f06ca08d85adcd15cb3b93b0192fb8a58036b8faa6ce2d2b23d2cc8e43
diff --git a/sci-libs/plplot/files/plplot-5.10.0-cmake.patch b/sci-libs/plplot/files/plplot-5.10.0-cmake.patch
new file mode 100644
index 000000000000..dbb0f829147b
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.10.0-cmake.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/modules/pkg-config.cmake b/cmake/modules/pkg-config.cmake
+index 3f842aa..4d269bd 100644
+--- a/cmake/modules/pkg-config.cmake
++++ b/cmake/modules/pkg-config.cmake
+@@ -94,7 +94,12 @@ macro(pkg_check_pkgconfig _package _include_DIR _link_DIR _link_FLAGS _cflags _v
+ set(_xprefix ${_prefix})
+ endif(FORCE_EXTERNAL_STATIC)
+
+- _pkg_check_modules_internal(0 0 ${_prefix} "${_package}")
++ if(CMAKE_VERSION VERSION_LESS "3.1")
++ _pkg_check_modules_internal(0 0 ${_prefix} "${_package}")
++ else(CMAKE_VERSION VERSION_LESS "3.1")
++ _pkg_check_modules_internal(0 0 0 0 ${_prefix} "${_package}")
++ endif(CMAKE_VERSION VERSION_LESS "3.1")
++
+ if(${_prefix}_FOUND)
+ cmake_link_flags(${_link_FLAGS} "${${_xprefix}_LDFLAGS}")
+ # If libraries cannot be not found, then that is equivalent to whole
diff --git a/sci-libs/plplot/files/plplot-5.10.0-have-config-h.patch b/sci-libs/plplot/files/plplot-5.10.0-have-config-h.patch
new file mode 100644
index 000000000000..8c02df13941f
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.10.0-have-config-h.patch
@@ -0,0 +1,117 @@
+Apply upstream patch http://sourceforge.net/p/plplot/bugs/146/
+to fix conflicting macros in installed header files.
+
+diff -Nur plplot-5.10.0.orig/CMakeLists.txt plplot-5.10.0/CMakeLists.txt
+--- plplot-5.10.0.orig/CMakeLists.txt 2014-04-07 09:51:53.732857993 -0700
++++ plplot-5.10.0/CMakeLists.txt 2014-04-07 09:54:03.739699328 -0700
+@@ -125,7 +125,7 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot_config.h
+ )
+ # Allow access to the generated plplot_config.h for this build.
+-add_definitions("-DHAVE_CONFIG_H")
++add_definitions("-DPLPLOT_HAVE_CONFIG_H")
+ # Install top-level files
+
+ # Enable testing framework for examples
+diff -Nur plplot-5.10.0.orig/bindings/ocaml/CMakeLists.txt plplot-5.10.0/bindings/ocaml/CMakeLists.txt
+--- plplot-5.10.0.orig/bindings/ocaml/CMakeLists.txt 2014-04-07 09:51:53.629857267 -0700
++++ plplot-5.10.0/bindings/ocaml/CMakeLists.txt 2014-04-07 09:54:03.934700592 -0700
+@@ -99,7 +99,7 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/dllplplot_stubs.so
+ ${CMAKE_CURRENT_BINARY_DIR}/libplplot_stubs.a
+ COMMAND ${OCAMLC} -ccopt -I${CAMLIDL_LIB_DIR} -c ${CMAKE_CURRENT_BINARY_DIR}/plplot_core_stubs.c
+- COMMAND ${OCAMLC} -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -I${CAMLIDL_LIB_DIR} -ccopt -DHAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plplot_impl.c
++ COMMAND ${OCAMLC} -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -I${CAMLIDL_LIB_DIR} -ccopt -DPLPLOT_HAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plplot_impl.c
+ COMMAND ${OCAMLMKLIB} -o plplot_stubs -L${CAMLIDL_LIB_DIR} -lcamlidl -L${CMAKE_BINARY_DIR}/src -lplplot${LIB_TAG} ${CMAKE_CURRENT_BINARY_DIR}/plplot_core_stubs.o ${CMAKE_CURRENT_BINARY_DIR}/plplot_impl.o ${ocaml_STATIC_FLAGS}
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot_core_stubs.c
+diff -Nur plplot-5.10.0.orig/bindings/ocaml/plcairo/CMakeLists.txt plplot-5.10.0/bindings/ocaml/plcairo/CMakeLists.txt
+--- plplot-5.10.0.orig/bindings/ocaml/plcairo/CMakeLists.txt 2014-04-07 09:51:53.629857267 -0700
++++ plplot-5.10.0/bindings/ocaml/plcairo/CMakeLists.txt 2014-04-07 09:54:03.934700592 -0700
+@@ -36,7 +36,7 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo_impl.o
+ ${CMAKE_CURRENT_BINARY_DIR}/dllplcairo_stubs.so
+ ${CMAKE_CURRENT_BINARY_DIR}/libplcairo_stubs.a
+- COMMAND ${OCAMLC} -ccopt "${CAIRO_COMPILE_FLAGS}" -cclib "${CAIRO_LINK_FLAGS}" -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -DHAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plcairo_impl.c
++ COMMAND ${OCAMLC} -ccopt "${CAIRO_COMPILE_FLAGS}" -cclib "${CAIRO_LINK_FLAGS}" -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -DPLPLOT_HAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plcairo_impl.c
+ COMMAND ${OCAMLMKLIB} -o plcairo_stubs ${CAIRO_LINK_FLAGS_LIST} -L${CMAKE_BINARY_DIR}/src -lplplot${LIB_TAG} ${CMAKE_CURRENT_BINARY_DIR}/plcairo_impl.o
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/plcairo_impl.c
+diff -Nur plplot-5.10.0.orig/doc/doxygen/html/plConfig_8h_source.html plplot-5.10.0/doc/doxygen/html/plConfig_8h_source.html
+--- plplot-5.10.0.orig/doc/doxygen/html/plConfig_8h_source.html 2014-04-07 09:51:53.712857853 -0700
++++ plplot-5.10.0/doc/doxygen/html/plConfig_8h_source.html 2014-04-07 09:54:03.935700600 -0700
+@@ -136,7 +136,7 @@
+ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">// any user applications). Therefore, the configured plConfig.h</span></div>
+ <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// should be installed. In contrast, plplot_config.h.in (note,</span></div>
+ <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">// plConfig.h #includes plplot_config.h for the core build because</span></div>
+-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment">// HAVE_CONFIG_H is #defined in that case) contains configured macros</span></div>
++<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment">// PLPLOT_HAVE_CONFIG_H is #defined in that case) contains configured macros</span></div>
+ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment">// that are only required for the core build. Therefore, in contrast</span></div>
+ <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment">// to plConfig.h, plplot_config.h should not be installed.</span></div>
+ <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">//</span></div>
+@@ -150,7 +150,7 @@
+ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#ifndef __PLCONFIG_H__</span></div>
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __PLCONFIG_H__</span></div>
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor"></span></div>
+-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
++<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#ifdef PLPLOT_HAVE_CONFIG_H</span></div>
+ <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor"></span><span class="preprocessor"># include &lt;<a class="code" href="plplot__config_8h.html">plplot_config.h</a>&gt;</span></div>
+ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#endif</span></div>
+ <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor"></span></div>
+diff -Nur plplot-5.10.0.orig/doc/doxygen/html/plplot__config_8h_source.html plplot-5.10.0/doc/doxygen/html/plplot__config_8h_source.html
+--- plplot-5.10.0.orig/doc/doxygen/html/plplot__config_8h_source.html 2014-04-07 09:51:53.708857825 -0700
++++ plplot-5.10.0/doc/doxygen/html/plplot__config_8h_source.html 2014-04-07 09:54:03.935700600 -0700
+@@ -109,7 +109,7 @@
+ <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// examples (and presumably any user applications). Therefore, the</span></div>
+ <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// configured plplot_config.h should not be installed. In contrast,</span></div>
+ <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// include/plConfig.h.in (note, the configured plConfig.h result</span></div>
+-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// #includes plplot_config.h for the core build because HAVE_CONFIG_H</span></div>
++<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// #includes plplot_config.h for the core build because PLPLOT_HAVE_CONFIG_H</span></div>
+ <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// is #defined in that case) contains configured macros that are</span></div>
+ <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// required for the core build, installed examples build, and build of</span></div>
+ <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// user applications. Therefore, in contrast to plplot_config.h,</span></div>
+diff -Nur plplot-5.10.0.orig/examples/CMakeLists.txt plplot-5.10.0/examples/CMakeLists.txt
+--- plplot-5.10.0.orig/examples/CMakeLists.txt 2014-04-07 09:51:53.610857133 -0700
++++ plplot-5.10.0/examples/CMakeLists.txt 2014-04-07 09:54:03.938700634 -0700
+@@ -414,7 +414,7 @@
+ endif(CORE_BUILD)
+
+ if(CORE_BUILD AND BUILD_TEST)
+- remove_definitions("-DHAVE_CONFIG_H")
++ remove_definitions("-DPLPLOT_HAVE_CONFIG_H")
+ endif(CORE_BUILD AND BUILD_TEST)
+
+ # Decide on device to be used for generic interactive tests.
+diff -Nur plplot-5.10.0.orig/include/plConfig.h.in plplot-5.10.0/include/plConfig.h.in
+--- plplot-5.10.0.orig/include/plConfig.h.in 2014-04-07 09:51:53.616857175 -0700
++++ plplot-5.10.0/include/plConfig.h.in 2014-04-07 09:54:03.938700634 -0700
+@@ -30,7 +30,7 @@
+ // any user applications). Therefore, the configured plConfig.h
+ // should be installed. In contrast, plplot_config.h.in (note,
+ // plConfig.h #includes plplot_config.h for the core build because
+-// HAVE_CONFIG_H is #defined in that case) contains configured macros
++// PLPLOT_HAVE_CONFIG_H is #defined in that case) contains configured macros
+ // that are only required for the core build. Therefore, in contrast
+ // to plConfig.h, plplot_config.h should not be installed.
+ //
+@@ -44,7 +44,7 @@
+ #ifndef __PLCONFIG_H__
+ #define __PLCONFIG_H__
+
+-#ifdef HAVE_CONFIG_H
++#ifdef PLPLOT_HAVE_CONFIG_H
+ # include <plplot_config.h>
+ #endif
+
+diff -Nur plplot-5.10.0.orig/plplot_config.h.in plplot-5.10.0/plplot_config.h.in
+--- plplot-5.10.0.orig/plplot_config.h.in 2014-04-07 09:51:53.732857993 -0700
++++ plplot-5.10.0/plplot_config.h.in 2014-04-07 09:54:03.938700634 -0700
+@@ -3,7 +3,7 @@
+ // examples (and presumably any user applications). Therefore, the
+ // configured plplot_config.h should not be installed. In contrast,
+ // include/plConfig.h.in (note, the configured plConfig.h result
+-// #includes plplot_config.h for the core build because HAVE_CONFIG_H
++// #includes plplot_config.h for the core build because PLPLOT_HAVE_CONFIG_H
+ // is #defined in that case) contains configured macros that are
+ // required for the core build, installed examples build, and build of
+ // user applications. Therefore, in contrast to plplot_config.h,
diff --git a/sci-libs/plplot/files/plplot-5.11.0-multiarch.patch b/sci-libs/plplot/files/plplot-5.11.0-multiarch.patch
new file mode 100644
index 000000000000..cb6f7d01cf16
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.11.0-multiarch.patch
@@ -0,0 +1,60 @@
+ examples/c++/Makefile.examples.in | 3 ---
+ examples/c/Makefile.examples.in | 2 --
+ examples/f95/Makefile.examples.in | 2 --
+ examples/tk/Makefile.examples.in | 2 --
+ 4 files changed, 9 deletions(-)
+
+diff --git a/examples/c++/Makefile.examples.in b/examples/c++/Makefile.examples.in
+index bb067e7..176706b 100644
+--- a/examples/c++/Makefile.examples.in
++++ b/examples/c++/Makefile.examples.in
+@@ -25,10 +25,7 @@ SHELL = @SH_EXECUTABLE@
+ CXX = @CXX@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+ @qt_gui_true@QT_MOC_EXECUTABLE = @QT_MOC_EXECUTABLE@
+-@qt_gui_true@qt_RPATHCMD = @qt_RPATHCMD@
+
+ @wxwidgets_true@PLPLOTWXWIDGETS_EXECUTABLES_list = \
+ @wxwidgets_true@ wxPLplotDemo$(EXEEXT)
+diff --git a/examples/c/Makefile.examples.in b/examples/c/Makefile.examples.in
+index bc47762..56d1f49 100644
+--- a/examples/c/Makefile.examples.in
++++ b/examples/c/Makefile.examples.in
+@@ -25,8 +25,6 @@ SHELL = @SH_EXECUTABLE@
+ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+
+ @gcw_true@PLPLOTCANVAS_EXECUTABLES_list = \
+ @gcw_true@ plplotcanvas_demo$(EXEEXT) \
+diff --git a/examples/f95/Makefile.examples.in b/examples/f95/Makefile.examples.in
+index 29631b7..32823d6 100644
+--- a/examples/f95/Makefile.examples.in
++++ b/examples/f95/Makefile.examples.in
+@@ -25,8 +25,6 @@ SHELL = @SH_EXECUTABLE@
+ F95 = @FC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+
+ EXECUTABLES_list = \
+ x00f$(EXEEXT) \
+diff --git a/examples/tk/Makefile.examples.in b/examples/tk/Makefile.examples.in
+index 98407fa..c15c94a 100644
+--- a/examples/tk/Makefile.examples.in
++++ b/examples/tk/Makefile.examples.in
+@@ -24,8 +24,6 @@ SHELL = @SH_EXECUTABLE@
+ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-plplottcltk_Main_RPATHCMD = @plplottcltk_Main_RPATHCMD@
+
+ EXECUTABLES_list = xtk01$(EXEEXT)
+ # Second and fourth examples depend on itk.
diff --git a/sci-libs/plplot/files/plplot-5.11.0-ocaml.patch b/sci-libs/plplot/files/plplot-5.11.0-ocaml.patch
new file mode 100644
index 000000000000..32841825f0de
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.11.0-ocaml.patch
@@ -0,0 +1,40 @@
+ bindings/ocaml/CMakeLists.txt | 4 ++--
+ bindings/ocaml/plcairo/CMakeLists.txt | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/bindings/ocaml/CMakeLists.txt b/bindings/ocaml/CMakeLists.txt
+index 93d073a..d31a64f 100644
+--- a/bindings/ocaml/CMakeLists.txt
++++ b/bindings/ocaml/CMakeLists.txt
+@@ -154,11 +154,11 @@ if(ENABLE_ocaml)
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
+ )
+
+- # ocamlc -a -custom builds a *.cma library from *.cmo
++ # ocamlc -a builds a *.cma library from *.cmo
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma
+- COMMAND ${OCAMLC} -a -custom -o ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo -dllib -lplplot_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot -dllpath ${CMAKE_BINARY_DIR}/src ${ocaml_STATIC_FLAGS}
++ COMMAND ${OCAMLC} -a -o ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo -dllib -lplplot_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot -dllpath ${CMAKE_BINARY_DIR}/src ${ocaml_STATIC_FLAGS}
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
+diff --git a/bindings/ocaml/plcairo/CMakeLists.txt b/bindings/ocaml/plcairo/CMakeLists.txt
+index c4b4a41..ce1dc92 100644
+--- a/bindings/ocaml/plcairo/CMakeLists.txt
++++ b/bindings/ocaml/plcairo/CMakeLists.txt
+@@ -84,11 +84,11 @@ if(ENABLE_ocaml AND OCAML_HAS_CAIRO)
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo
+ )
+
+- # ocamlc -a -custom builds a *.cma library from *.cmo
++ # ocamlc -a builds a *.cma library from *.cmo
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma
+- COMMAND ${OCAMLC} -a -custom -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot -dllpath ${CMAKE_BINARY_DIR}/src
++ COMMAND ${OCAMLC} -a -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot -dllpath ${CMAKE_BINARY_DIR}/src
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
diff --git a/sci-libs/plplot/files/plplot-5.11.0-octave.patch b/sci-libs/plplot/files/plplot-5.11.0-octave.patch
new file mode 100644
index 000000000000..a2a41c96da7a
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.11.0-octave.patch
@@ -0,0 +1,16 @@
+ plplot_test/test_octave.sh.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plplot_test/test_octave.sh.in b/plplot_test/test_octave.sh.in
+index 8a50d8b..8eb35fc 100755
+--- a/plplot_test/test_octave.sh.in
++++ b/plplot_test/test_octave.sh.in
+@@ -35,7 +35,7 @@ echo "$TOPDIR"
+ export LD_LIBRARY_PATH="$TOPDIR"/src:"$TOPDIR"/lib/csa:"$TOPDIR"/lib/nn
+
+ # Launch an Octave script that exercises all the demos
+-$octave -f -q <<EOF 2> test.error
++$octave -f -q $octaveopts -p "$octavedir" <<EOF 2> test.error
+
+ # Disable warnings about shadowed functions - PLplot is _supposed_ to shadow the core functions
+ warning("off","Octave:shadowed-function");
diff --git a/sci-libs/plplot/files/plplot-5.9.11-multiarch.patch b/sci-libs/plplot/files/plplot-5.9.11-multiarch.patch
new file mode 100644
index 000000000000..8f4512b976fc
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.9.11-multiarch.patch
@@ -0,0 +1,50 @@
+diff -up plplot-5.9.11/examples/c++/Makefile.examples.in.multiarch plplot-5.9.11/examples/c++/Makefile.examples.in
+--- plplot-5.9.11/examples/c++/Makefile.examples.in.multiarch 2013-04-24 14:36:28.000000000 -0600
++++ plplot-5.9.11/examples/c++/Makefile.examples.in 2013-12-29 19:48:17.574496673 -0700
+@@ -25,10 +25,7 @@ CXX = @CXX@
+ EXEEXT = @EXEEXT@
+
+ LIB_TAG = @LIB_TAG@
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+ @qt_gui_true@QT_MOC_EXECUTABLE = @QT_MOC_EXECUTABLE@
+-@qt_gui_true@qt_RPATHCMD = @qt_RPATHCMD@
+
+ @wxwidgets_true@PLPLOTWXWIDGETS_EXECUTABLES_list = \
+ @wxwidgets_true@ wxPLplotDemo$(EXEEXT)
+diff -up plplot-5.9.11/examples/c/Makefile.examples.in.multiarch plplot-5.9.11/examples/c/Makefile.examples.in
+--- plplot-5.9.11/examples/c/Makefile.examples.in.multiarch 2012-01-05 06:59:36.000000000 -0700
++++ plplot-5.9.11/examples/c/Makefile.examples.in 2013-12-29 19:48:17.574496673 -0700
+@@ -25,8 +25,6 @@ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+ LIB_TAG = @LIB_TAG@
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+
+ @gcw_true@PLPLOTCANVAS_EXECUTABLES_list = \
+ @gcw_true@ plplotcanvas_demo$(EXEEXT) \
+diff -up plplot-5.9.11/examples/f95/Makefile.examples.in.multiarch plplot-5.9.11/examples/f95/Makefile.examples.in
+--- plplot-5.9.11/examples/f95/Makefile.examples.in.multiarch 2012-02-19 11:33:33.000000000 -0700
++++ plplot-5.9.11/examples/f95/Makefile.examples.in 2013-12-29 19:48:20.960557580 -0700
+@@ -25,8 +25,6 @@ F95 = @FC@
+ EXEEXT = @EXEEXT@
+
+ LIB_TAG = @LIB_TAG@
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-RPATHCMD = @RPATHCMD@
+
+ EXECUTABLES_list = \
+ x00f$(EXEEXT) \
+diff -up plplot-5.9.11/examples/tk/Makefile.examples.in.multiarch plplot-5.9.11/examples/tk/Makefile.examples.in
+--- plplot-5.9.11/examples/tk/Makefile.examples.in.multiarch 2013-12-29 19:48:20.961557593 -0700
++++ plplot-5.9.11/examples/tk/Makefile.examples.in 2013-12-29 19:49:19.876587409 -0700
+@@ -24,8 +24,6 @@ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+ LIB_TAG = @LIB_TAG@
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-plplottcltk_Main_RPATHCMD = @plplottcltk_Main_RPATHCMD@
+
+ EXECUTABLES_list = xtk01$(EXEEXT)
+ # Second and fourth examples depend on itk.
diff --git a/sci-libs/plplot/files/plplot-5.9.11-ocaml.patch b/sci-libs/plplot/files/plplot-5.9.11-ocaml.patch
new file mode 100644
index 000000000000..c10710c2e653
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.9.11-ocaml.patch
@@ -0,0 +1,34 @@
+diff -up plplot-5.9.10/bindings/ocaml/CMakeLists.txt.ocaml plplot-5.9.10/bindings/ocaml/CMakeLists.txt
+--- plplot-5.9.10/bindings/ocaml/CMakeLists.txt.ocaml 2013-09-28 10:52:20.000000000 -0600
++++ plplot-5.9.10/bindings/ocaml/CMakeLists.txt 2013-10-24 09:35:47.093185622 -0600
+@@ -155,11 +155,11 @@ if(ENABLE_ocaml)
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
+ )
+
+- # ocamlc -a -custom builds a *.cma library from *.cmo
++ # ocamlc -a builds a *.cma library from *.cmo
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma
+- COMMAND ${OCAMLC} -a -custom -o ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo -dllib -lplplot_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot${LIB_TAG} -dllpath ${CMAKE_BINARY_DIR}/src ${ocaml_STATIC_FLAGS}
++ COMMAND ${OCAMLC} -a -o ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo -dllib -lplplot_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot${LIB_TAG} -dllpath ${CMAKE_BINARY_DIR}/src ${ocaml_STATIC_FLAGS}
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
+diff -up plplot-5.9.10/bindings/ocaml/plcairo/CMakeLists.txt.ocaml plplot-5.9.10/bindings/ocaml/plcairo/CMakeLists.txt
+--- plplot-5.9.10/bindings/ocaml/plcairo/CMakeLists.txt.ocaml 2011-10-19 16:46:13.000000000 -0600
++++ plplot-5.9.10/bindings/ocaml/plcairo/CMakeLists.txt 2013-10-24 09:45:36.884193889 -0600
+@@ -84,11 +84,11 @@ if(ENABLE_ocaml AND OCAML_HAS_CAIRO)
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo
+ )
+
+- # ocamlc -a -custom builds a *.cma library from *.cmo
++ # ocamlc -a builds a *.cma library from *.cmo
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma
+- COMMAND ${OCAMLC} -a -custom -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot${LIB_TAG} -dllpath ${CMAKE_BINARY_DIR}/src
++ COMMAND ${OCAMLC} -a -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -lplplot${LIB_TAG} -dllpath ${CMAKE_BINARY_DIR}/src
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
diff --git a/sci-libs/plplot/files/plplot-5.9.11-octave.patch b/sci-libs/plplot/files/plplot-5.9.11-octave.patch
new file mode 100644
index 000000000000..f21b4d2c4f8e
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.9.11-octave.patch
@@ -0,0 +1,12 @@
+diff -up plplot-5.9.9/plplot_test/test_octave.sh.in.octave plplot-5.9.9/plplot_test/test_octave.sh.in
+--- plplot-5.9.9/plplot_test/test_octave.sh.in.octave 2011-10-12 18:43:01.000000000 -0600
++++ plplot-5.9.9/plplot_test/test_octave.sh.in 2012-01-16 08:29:46.551852247 -0700
+@@ -35,7 +35,7 @@ echo "$TOPDIR"
+ export LD_LIBRARY_PATH="$TOPDIR"/src:"$TOPDIR"/lib/csa:"$TOPDIR"/lib/nn
+
+ # Launch an Octave script that exercises all the demos
+-$octave -f -q -p "$octavedir" <<EOF 2> test.error
++$octave -f -q $octaveopts -p "$octavedir" <<EOF 2> test.error
+
+ # Check verbose_test variable
+ if (strcmp(getenv("verbose_test"),"on") == 1)
diff --git a/sci-libs/plplot/files/plplot-5.9.6-python.patch b/sci-libs/plplot/files/plplot-5.9.6-python.patch
new file mode 100644
index 000000000000..d62ece2ec416
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.9.6-python.patch
@@ -0,0 +1,13 @@
+diff --git a/examples/python/CMakeLists.txt b/examples/python/CMakeLists.txt
+index 7599164..8457490 100644
+--- a/examples/python/CMakeLists.txt
++++ b/examples/python/CMakeLists.txt
+@@ -214,7 +214,7 @@ if(CORE_BUILD)
+ @ONLY
+ )
+
+- set(python_location1 ${PYTHON_INSTDIR})
++ set(python_location1)
+ set(python_location2)
+ set(python_location3)
+ set(python_location4)
diff --git a/sci-libs/plplot/metadata.xml b/sci-libs/plplot/metadata.xml
new file mode 100644
index 000000000000..f5db23b28dc3
--- /dev/null
+++ b/sci-libs/plplot/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ PLplot is a library of functions that are useful for making scientific
+ plots. It can be used from within compiled languages such as C, C++,
+ FORTRAN and Java, as well as interactively from interpreted languages such
+ as Octave, Python, Perl and Tcl. It is capable of producing standard x-y
+ plots, semilog plots, log-log plots, contour plots, 3D surface plots, mesh
+ plots, bar charts and pie charts. Multiple graphs may be composited, and it
+ also supports a large variety of output file devices such as Postscript,
+ PNG, JPEG, LaTeX and others. It is also possible to to use interactive
+ devices such as xwin, tk and xterm as output devices. PLplot also offers
+ support for extended characters inculding the Greek alphabet and a host of
+ mathematical symbols.
+</longdescription>
+ <use>
+ <flag name="ada">Add bindings for the ADA programming language</flag>
+ <flag name="dynamic">Build with dynamic drivers</flag>
+ <flag name="octave">Add bindings for
+ <pkg>sci-mathematics/octave</pkg></flag>
+ <flag name="pdl">Add bindings for <pkg>dev-perl/PDL</pkg></flag>
+ <flag name="qhull">Add bindings for <pkg>media-libs/qhull</pkg></flag>
+ <flag name="shapefile">Enable support for ESRI shapefiles</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">plplot</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/plplot/plplot-5.10.0-r1.ebuild b/sci-libs/plplot/plplot-5.10.0-r1.ebuild
new file mode 100644
index 000000000000..1976b728ad7b
--- /dev/null
+++ b/sci-libs/plplot/plplot-5.10.0-r1.ebuild
@@ -0,0 +1,245 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="2.8"
+FORTRAN_NEEDED=fortran
+PYTHON_COMPAT=( python2_7 )
+VIRTUALX_REQUIRED=test
+
+inherit eutils fortran-2 cmake-utils python-single-r1 toolchain-funcs \
+ virtualx wxwidgets java-pkg-opt-2 multilib
+
+DESCRIPTION="Multi-language scientific plotting library"
+HOMEPAGE="http://plplot.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0/12"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="ada cairo cxx doc +dynamic examples fortran gd java jpeg latex lua
+ ocaml octave pdf pdl png python qhull qt4 shapefile svg tcl test
+ threads tk truetype wxwidgets X"
+
+RDEPEND="
+ ada? ( virtual/gnat:* )
+ cairo? ( x11-libs/cairo:0=[svg?,X?] )
+ gd? ( media-libs/gd:2=[jpeg?,png?] )
+ java? ( >=virtual/jre-1.5:* )
+ latex? (
+ app-text/ghostscript-gpl
+ virtual/latex-base
+ )
+ lua? ( dev-lang/lua:0= )
+ ocaml? (
+ dev-lang/ocaml
+ dev-ml/camlidl
+ cairo? ( dev-ml/cairo-ocaml[gtk] )
+ )
+ octave? ( sci-mathematics/octave:0= )
+ pdf? ( media-libs/libharu:0= )
+ pdl? (
+ dev-perl/PDL
+ dev-perl/XML-DOM
+ )
+ python? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+ )
+ qhull? ( media-libs/qhull:0= )
+ qt4? (
+ dev-qt/qtgui:4=
+ dev-qt/qtsvg:4=
+ )
+ shapefile? ( sci-libs/shapelib:0= )
+ tcl? (
+ dev-lang/tcl:0=
+ dev-tcltk/itcl:0=
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/itk
+ )
+ )
+ truetype? (
+ media-fonts/freefont
+ media-libs/lasi:0=
+ gd? ( media-libs/gd:2=[truetype] )
+ )
+ wxwidgets? (
+ x11-libs/wxGTK:2.8=[X]
+ x11-libs/agg:0=[truetype?]
+ )
+ X? (
+ x11-libs/libX11:0=
+ x11-libs/libXau:0=
+ x11-libs/libXdmcp:0=
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ java? (
+ >=virtual/jdk-1.5
+ dev-lang/swig
+ )
+ ocaml? ( dev-ml/findlib )
+ octave? ( >=dev-lang/swig-2.0.12 )
+ python? ( dev-lang/swig )
+ test? (
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt4? ( dynamic ) test? ( latex ) tk? ( tcl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.9.6-python.patch
+ "${FILESDIR}"/${PN}-5.9.11-ocaml.patch
+ "${FILESDIR}"/${PN}-5.9.11-octave.patch
+ "${FILESDIR}"/${PN}-5.9.11-multiarch.patch
+ "${FILESDIR}"/${PN}-5.10.0-have-config-h.patch
+ "${FILESDIR}"/${PN}-5.10.0-cmake.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ # avoid installing license
+ sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die
+ # prexify hard-coded /usr/include in cmake modules
+ sed -i \
+ -e "s:/usr/include:${EPREFIX}/usr/include:g" \
+ -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
+ -e "s:/usr/share:${EPREFIX}/usr/share:g" \
+ cmake/modules/*.cmake || die
+ # change default install directories for doc and examples
+ sed -i \
+ -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' \
+ $(find "${S}" -name CMakeLists.txt) || die
+ sed -i \
+ -e 's:${VERSION}::g' \
+ -e "s:doc/\${PACKAGE}:doc/${PF}:" \
+ cmake/modules/instdirs.cmake || die
+ java-utils-2_src_prepare
+}
+
+src_configure() {
+ # don't build doc, it brings a whole lot of horrible dependencies
+ local mycmakeargs=(
+ -DDEFAULT_ALL_DEVICES=ON
+ -DTEST_DYNDRIVERS=OFF
+ -DCMAKE_INSTALL_LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ -DENABLE_d=OFF
+ -DBUILD_DVI=OFF
+ -DDOX_DOC=OFF
+ -DBUILD_DOC=OFF
+ -DUSE_RPATH=OFF
+ $(cmake-utils_use doc PREBUILT_DOC)
+ $(cmake-utils_use_build test)
+ $(cmake-utils_use_has python NUMPY)
+ $(cmake-utils_use_has shapefile SHAPELIB)
+ $(cmake-utils_use_with truetype FREETYPE)
+ $(cmake-utils_use_enable ada)
+ $(cmake-utils_use_enable cxx)
+ $(cmake-utils_use_enable dynamic DYNDRIVERS)
+ $(cmake-utils_use_enable fortran f77)
+ $(cmake-utils_use_enable java)
+ $(cmake-utils_use_enable lua)
+ $(cmake-utils_use_enable ocaml)
+ $(cmake-utils_use_enable octave)
+ $(cmake-utils_use_enable pdl)
+ $(cmake-utils_use_enable python)
+ $(cmake-utils_use_enable qt4 qt)
+ $(cmake-utils_use_enable tcl)
+ $(cmake-utils_use_enable tcl itcl)
+ $(cmake-utils_use_enable tk)
+ $(cmake-utils_use_enable tk itk)
+ $(cmake-utils_use_enable wxwidgets)
+ $(cmake-utils_use threads PL_HAVE_PTHREAD)
+ $(cmake-utils_use qhull PL_HAVE_QHULL)
+ $(cmake-utils_use qt4 PLD_aqt)
+ $(cmake-utils_use qt4 PLD_bmpqt)
+ $(cmake-utils_use qt4 PLD_epsqt)
+ $(cmake-utils_use qt4 PLD_extqt)
+ $(cmake-utils_use qt4 PLD_jpgqt)
+ $(cmake-utils_use qt4 PLD_memqt)
+ $(cmake-utils_use qt4 PLD_pdfqt)
+ $(cmake-utils_use qt4 PLD_pngqt)
+ $(cmake-utils_use qt4 PLD_ppmqt)
+ $(cmake-utils_use qt4 PLD_svgqt)
+ $(cmake-utils_use qt4 PLD_qtwidget)
+ $(cmake-utils_use qt4 PLD_tiffqt)
+ $(cmake-utils_use cairo PLD_extcairo)
+ $(cmake-utils_use cairo PLD_memcairo)
+ $(cmake-utils_use cairo PLD_pdfcairo)
+ $(cmake-utils_use cairo PLD_pngcairo)
+ $(cmake-utils_use cairo PLD_pscairo)
+ $(cmake-utils_use cairo PLD_svgcairo)
+ $(cmake-utils_use cairo PLD_wincairo)
+ $(cmake-utils_use cairo PLD_xcairo)
+ $(cmake-utils_use tk PLD_ntk)
+ $(cmake-utils_use tk PLD_tk)
+ $(cmake-utils_use tk PLD_tkwin)
+ $(cmake-utils_use gd PLD_gif)
+ $(cmake-utils_use gd PLD_jpeg)
+ $(cmake-utils_use gd PLD_png)
+ $(cmake-utils_use pdf PLD_pdf)
+ $(cmake-utils_use latex PLD_ps)
+ $(cmake-utils_use latex PLD_pstex)
+ $(cmake-utils_use truetype PLD_psttf)
+ $(cmake-utils_use svg PLD_svg)
+ $(cmake-utils_use wxwidgets PLD_wxpng)
+ $(cmake-utils_use wxwidgets PLD_wxwidgets)
+ $(cmake-utils_use X PLD_xwin)
+ )
+
+ [[ $(tc-getFC) != *g77 ]] && \
+ mycmakeargs+=(
+ $(cmake-utils_use_enable fortran f95)
+ )
+
+ use truetype && mycmakeargs+=(
+ -DPL_FREETYPE_FONT_PATH:PATH="${EPREFIX}/usr/share/fonts/freefont"
+ )
+ use shapefile && mycmakeargs+=(
+ -DSHAPELIB_INCLUDE_DIR="${EPREFIX}/usr/include/libshp"
+ )
+ use ocaml && mycmakeargs+=(
+ -DOCAML_INSTALL_DIR="$(ocamlc -where)"
+ )
+ use python && mycmakeargs+=(
+ $(cmake-utils_use_enable qt4 pyqt4)
+ )
+
+ cmake-utils_src_configure
+
+ # clean up bloated pkg-config files (help linking properly on prefix)
+ sed -i \
+ -e "/Cflags/s:-I\(${EPREFIX}\|\)/usr/include[[:space:]]::g" \
+ -e "/Libs/s:-L\(${EPREFIX}\|\)/usr/lib\(64\|\)[[:space:]]::g" \
+ -e "s:${LDFLAGS}::g" \
+ "${BUILD_DIR}"/pkgcfg/*pc || die
+}
+
+src_test() {
+ VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ else
+ rm -r "${ED}"/usr/share/doc/${PF}/examples || die
+ fi
+ if use java; then
+ rm -r "${ED}"/usr/share/java "${ED}"/usr/$(get_libdir)/jni || die
+ java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar
+ java-pkg_doso "${BUILD_DIR}"/bindings/java/plplotjavac_wrap.so
+ fi
+}
diff --git a/sci-libs/plplot/plplot-5.11.0-r1.ebuild b/sci-libs/plplot/plplot-5.11.0-r1.ebuild
new file mode 100644
index 000000000000..b85502997f5d
--- /dev/null
+++ b/sci-libs/plplot/plplot-5.11.0-r1.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="2.8"
+FORTRAN_NEEDED=fortran
+PYTHON_COMPAT=( python2_7 )
+VIRTUALX_REQUIRED=test
+
+inherit eutils fortran-2 cmake-utils python-single-r1 toolchain-funcs \
+ virtualx wxwidgets java-pkg-opt-2 multilib
+
+DESCRIPTION="Multi-language scientific plotting library"
+HOMEPAGE="http://plplot.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0/12"
+KEYWORDS="~amd64 ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="ada cairo cxx doc +dynamic examples fortran gd java jpeg latex lua
+ ocaml octave pdf pdl png python qhull qt4 shapefile svg tcl test
+ threads tk truetype wxwidgets X"
+
+RDEPEND="
+ ada? ( virtual/gnat:* )
+ cairo? ( x11-libs/cairo:0=[svg?,X?] )
+ gd? ( media-libs/gd:2=[jpeg?,png?] )
+ java? ( >=virtual/jre-1.5:* )
+ latex? (
+ app-text/ghostscript-gpl
+ virtual/latex-base
+ )
+ lua? ( dev-lang/lua:0= )
+ ocaml? (
+ dev-lang/ocaml
+ dev-ml/camlidl
+ cairo? ( dev-ml/cairo-ocaml[gtk] )
+ )
+ octave? ( sci-mathematics/octave:0= )
+ pdf? ( media-libs/libharu:0= )
+ pdl? (
+ dev-perl/PDL
+ dev-perl/XML-DOM
+ )
+ python? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+ )
+ qhull? ( media-libs/qhull:0= )
+ qt4? (
+ dev-qt/qtgui:4=
+ dev-qt/qtsvg:4=
+ )
+ shapefile? ( sci-libs/shapelib:0= )
+ tcl? (
+ dev-lang/tcl:0=
+ dev-tcltk/itcl:0=
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/itk
+ )
+ )
+ truetype? (
+ media-fonts/freefont
+ media-libs/lasi:0=
+ gd? ( media-libs/gd:2=[truetype] )
+ )
+ wxwidgets? (
+ x11-libs/wxGTK:2.8=[X]
+ x11-libs/agg:0=[truetype?]
+ )
+ X? (
+ x11-libs/libX11:0=
+ x11-libs/libXau:0=
+ x11-libs/libXdmcp:0=
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ java? (
+ >=virtual/jdk-1.5
+ dev-lang/swig
+ )
+ ocaml? ( dev-ml/findlib )
+ octave? ( >=dev-lang/swig-2.0.12 )
+ python? ( dev-lang/swig )
+ test? (
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) qt4? ( dynamic ) test? ( latex ) tk? ( tcl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.9.6-python.patch
+ "${FILESDIR}"/${P}-ocaml.patch
+ "${FILESDIR}"/${P}-octave.patch
+ "${FILESDIR}"/${P}-multiarch.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ # avoid installing license
+ sed -i -e '/COPYING.LIB/d' CMakeLists.txt || die
+ # prexify hard-coded /usr/include in cmake modules
+ sed -i \
+ -e "s:/usr/include:${EPREFIX}/usr/include:g" \
+ -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
+ -e "s:/usr/share:${EPREFIX}/usr/share:g" \
+ cmake/modules/*.cmake || die
+ # change default install directories for doc and examples
+ sed -i \
+ -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' \
+ $(find "${S}" -name CMakeLists.txt) || die
+ sed -i \
+ -e 's:${VERSION}::g' \
+ -e "s:doc/\${PACKAGE}:doc/${PF}:" \
+ cmake/modules/instdirs.cmake || die
+ java-utils-2_src_prepare
+}
+
+src_configure() {
+ # don't build doc, it brings a whole lot of horrible dependencies
+
+ # -DPLPLOT_USE_QT5=ON
+ # Not recomended by upstream, check next release
+
+ local mycmakeargs=(
+ -DPLD_plmeta=ON
+ -DPLD_cgm=ON
+ -DTEST_DYNDRIVERS=OFF
+ -DCMAKE_INSTALL_LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ -DENABLE_d=OFF
+ -DBUILD_DVI=OFF
+ -DDOX_DOC=OFF
+ -DBUILD_DOC=OFF
+ -DUSE_RPATH=OFF
+ -DPLD_wxpng=OFF
+ $(cmake-utils_use doc PREBUILT_DOC)
+ $(cmake-utils_use_build test)
+ $(cmake-utils_use_has python NUMPY)
+ $(cmake-utils_use_has shapefile SHAPELIB)
+ $(cmake-utils_use_with truetype FREETYPE)
+ $(cmake-utils_use_enable ada)
+ $(cmake-utils_use_enable cxx)
+ $(cmake-utils_use_enable dynamic DYNDRIVERS)
+ $(cmake-utils_use_enable fortran f77)
+ $(cmake-utils_use_enable java)
+ $(cmake-utils_use_enable lua)
+ $(cmake-utils_use_enable ocaml)
+ $(cmake-utils_use_enable octave)
+ $(cmake-utils_use_enable pdl)
+ $(cmake-utils_use_enable python)
+ $(cmake-utils_use_enable qt4 qt)
+ $(cmake-utils_use_enable tcl)
+ $(cmake-utils_use_enable tcl itcl)
+ $(cmake-utils_use_enable tk)
+ $(cmake-utils_use_enable tk itk)
+ $(cmake-utils_use_enable wxwidgets)
+ $(cmake-utils_use threads PL_HAVE_PTHREAD)
+ $(cmake-utils_use qhull PL_HAVE_QHULL)
+ $(cmake-utils_use qt4 PLD_aqt)
+ $(cmake-utils_use qt4 PLD_bmpqt)
+ $(cmake-utils_use qt4 PLD_epsqt)
+ $(cmake-utils_use qt4 PLD_extqt)
+ $(cmake-utils_use qt4 PLD_jpgqt)
+ $(cmake-utils_use qt4 PLD_memqt)
+ $(cmake-utils_use qt4 PLD_pdfqt)
+ $(cmake-utils_use qt4 PLD_pngqt)
+ $(cmake-utils_use qt4 PLD_ppmqt)
+ $(cmake-utils_use qt4 PLD_svgqt)
+ $(cmake-utils_use qt4 PLD_qtwidget)
+ $(cmake-utils_use qt4 PLD_tiffqt)
+ $(cmake-utils_use cairo PLD_extcairo)
+ $(cmake-utils_use cairo PLD_memcairo)
+ $(cmake-utils_use cairo PLD_pdfcairo)
+ $(cmake-utils_use cairo PLD_pngcairo)
+ $(cmake-utils_use cairo PLD_pscairo)
+ $(cmake-utils_use cairo PLD_svgcairo)
+ $(cmake-utils_use cairo PLD_wincairo)
+ $(cmake-utils_use cairo PLD_xcairo)
+ $(usex cairo "" "-DDEFAULT_NO_CAIRO_DEVICES=ON")
+ $(cmake-utils_use tk PLD_ntk)
+ $(cmake-utils_use tk PLD_tk)
+ $(cmake-utils_use tk PLD_tkwin)
+ $(cmake-utils_use gd PLD_gif)
+ $(cmake-utils_use gd PLD_jpeg)
+ $(cmake-utils_use gd PLD_png)
+ $(cmake-utils_use pdf PLD_pdf)
+ $(cmake-utils_use latex PLD_ps)
+ $(cmake-utils_use latex PLD_pstex)
+ $(cmake-utils_use truetype PLD_psttf)
+ $(cmake-utils_use svg PLD_svg)
+ $(cmake-utils_use wxwidgets PLD_wxwidgets)
+ $(cmake-utils_use X PLD_xwin)
+ )
+
+ [[ $(tc-getFC) != *g77 ]] && \
+ mycmakeargs+=(
+ $(cmake-utils_use_enable fortran f95)
+ )
+
+ use truetype && mycmakeargs+=(
+ -DPL_FREETYPE_FONT_PATH:PATH="${EPREFIX}/usr/share/fonts/freefont"
+ )
+ use shapefile && mycmakeargs+=(
+ -DSHAPELIB_INCLUDE_DIR="${EPREFIX}/usr/include/libshp"
+ )
+ use ocaml && mycmakeargs+=(
+ -DOCAML_INSTALL_DIR="$(ocamlc -where)"
+ )
+ use python && mycmakeargs+=(
+ $(cmake-utils_use_enable qt4 pyqt4)
+ )
+
+ cmake-utils_src_configure
+
+ # clean up bloated pkg-config files (help linking properly on prefix)
+ sed -i \
+ -e "/Cflags/s:-I\(${EPREFIX}\|\)/usr/include[[:space:]]::g" \
+ -e "/Libs/s:-L\(${EPREFIX}\|\)/usr/lib\(64\|\)[[:space:]]::g" \
+ -e "s:${LDFLAGS}::g" \
+ "${BUILD_DIR}"/pkgcfg/*pc || die
+}
+
+src_test() {
+ VIRTUALX_COMMAND=cmake-utils_src_test virtualmake
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ else
+ rm -r "${ED}"/usr/share/doc/${PF}/examples || die
+ fi
+ if use java; then
+ rm -r "${ED}"/usr/share/java "${ED}"/usr/$(get_libdir)/jni || die
+ java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar
+ java-pkg_doso "${BUILD_DIR}"/bindings/java/plplotjavac_wrap.so
+ fi
+}
diff --git a/sci-libs/primegen/Manifest b/sci-libs/primegen/Manifest
new file mode 100644
index 000000000000..aa6b33db5b19
--- /dev/null
+++ b/sci-libs/primegen/Manifest
@@ -0,0 +1 @@
+DIST primegen-0.97.tar.gz 31491 SHA256 54285baf8eed9e421ff2220a2112d38cfb20c1ebef6014ef3f0004c22c95f40d SHA512 d6d8de4d9866dbbec20afd4d4b563e3383528138cd3ec849f706211045d735c28bbf7aa6931b8aa54163664e87c2e7ad028c68f407040ac88efce7856bc8b6f4 WHIRLPOOL aa5d65806af4059b3b6a50edf304a7588a5db8dc3a853452abf5348aadaed294d4d84652352bf24921ecebb305a036bf65d8f5ffb80b8fa922e75cf672382258
diff --git a/sci-libs/primegen/files/primegen-0.97-man.patch b/sci-libs/primegen/files/primegen-0.97-man.patch
new file mode 100644
index 000000000000..025b88cbabd9
--- /dev/null
+++ b/sci-libs/primegen/files/primegen-0.97-man.patch
@@ -0,0 +1,13 @@
+diff -Naurp primegen-0.97-orig/primegen.3 primegen-0.97/primegen.3
+--- primegen-0.97-orig/primegen.3 2008-07-23 22:27:52.000000000 +0200
++++ primegen-0.97/primegen.3 2008-07-23 22:26:52.000000000 +0200
+@@ -21,6 +21,9 @@ uint64 \fIbound\fR;
+ The primegen library generates prime numbers in order:
+ 2, 3, 5, 7, etc.
+ It can generate primes as large as 10^15.
++Only a static version of this library is provided, so instead of
++linking your program with -lprimegen you will have to pass the
++full path to the library (e.g. /usr/lib/primegen.a) to the compiler.
+
+ The simplest way to use primegen
+ is to call
diff --git a/sci-libs/primegen/files/primegen-0.97-missing-headers.patch b/sci-libs/primegen/files/primegen-0.97-missing-headers.patch
new file mode 100644
index 000000000000..4f919d92ee8d
--- /dev/null
+++ b/sci-libs/primegen/files/primegen-0.97-missing-headers.patch
@@ -0,0 +1,46 @@
+--- eratspeed.c.orig 2009-03-27 09:16:52.000000000 -0300
++++ eratspeed.c 2009-03-27 09:18:29.000000000 -0300
+@@ -1,6 +1,8 @@
+ #define B32 1001
+ #define B (B32 * 32)
+
++#include <stdio.h>
++#include <stdlib.h>
+ #include "timing.h"
+ #include "uint32.h"
+
+--- primegaps.c.orig 2009-03-27 09:17:07.000000000 -0300
++++ primegaps.c 2009-03-27 09:17:19.000000000 -0300
+@@ -1,4 +1,5 @@
+ #include <math.h>
++#include <stdio.h>
+ #include "primegen.h"
+
+ primegen pg;
+--- primes.c.orig 2009-03-27 09:19:08.000000000 -0300
++++ primes.c 2009-03-27 09:19:14.000000000 -0300
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <stdlib.h>
+ #include "primegen.h"
+ #include "fs64.h"
+
+--- primespeed.c.orig 2009-03-27 09:17:41.000000000 -0300
++++ primespeed.c 2009-03-27 09:18:54.000000000 -0300
+@@ -1,3 +1,5 @@
++#include <stdio.h>
++#include <stdlib.h>
+ #include "timing.h"
+ #include "primegen.h"
+ #include "primegen_impl.h"
+--- error.h.orig 2009-09-11 19:40:53.000000000 +0100
++++ error.h 2009-09-11 19:41:02.000000000 +0100
+@@ -1,7 +1,7 @@
+ #ifndef ERROR_H
+ #define ERROR_H
+
+-extern int errno;
++#include <errno.h>
+
+ extern int error_intr;
+ extern int error_nomem;
diff --git a/sci-libs/primegen/metadata.xml b/sci-libs/primegen/metadata.xml
new file mode 100644
index 000000000000..9f23340da130
--- /dev/null
+++ b/sci-libs/primegen/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-mathematics</herd>
+<longdescription lang="en">
+ primegen is a small, fast library to generate prime numbers in
+ order. It generates the 50847534 primes up to 1000000000 in just 8
+ seconds on a Pentium II-350; it prints them in decimal in just 35
+ seconds.
+
+ primegen can generate primes up to 1000000000000000, although it
+ is not optimized for primes past 32 bits. It uses the Sieve of Atkin
+ instead of the traditional Sieve of Eratosthenes.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/primegen/primegen-0.97-r1.ebuild b/sci-libs/primegen/primegen-0.97-r1.ebuild
new file mode 100644
index 000000000000..6d542515d413
--- /dev/null
+++ b/sci-libs/primegen/primegen-0.97-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Small, fast library to generate primes in order"
+HOMEPAGE="http://cr.yp.to/primegen.html"
+SRC_URI="http://cr.yp.to/primegen/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-man.patch"
+ epatch "${FILESDIR}/${P}-missing-headers.patch"
+ find . -type f -exec \
+ sed -i -e 's:\(primegen.a\):lib\1:' {} \;
+ mkdir usr
+}
+
+src_configure() {
+ # Fixes bug #161015
+ append-flags -fsigned-char
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc
+ echo "${S}/usr" > conf-home
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld
+}
+
+src_test() {
+ [[ $(./primes 1 100000000 | md5sum ) == "4e2b0027288a27e9c99699364877c9db "* ]] || die "test failed"
+}
+
+src_install() {
+ dobin primegaps primes primespeed
+ doman primegaps.1 primes.1 primespeed.1 primegen.3
+ dolib.a libprimegen.a
+ # include the 2 typedefs to avoid collision (bug #248327)
+ sed -i \
+ -e "s/#include \"uint32.h\"/$(grep typedef uint32.h)/" \
+ -e "s/#include \"uint64.h\"/$(grep typedef uint64.h)/" \
+ primegen.h || die
+ insinto /usr/include
+ doins primegen.h
+ dodoc BLURB CHANGES README TODO
+}
diff --git a/sci-libs/profnet/Manifest b/sci-libs/profnet/Manifest
new file mode 100644
index 000000000000..896ae3901fc2
--- /dev/null
+++ b/sci-libs/profnet/Manifest
@@ -0,0 +1 @@
+DIST profnet-1.0.22.tar.gz 203676 SHA256 a124bbb7822a22189ddc410032cfd1c1ccd30129eecf4a7cd09608edd3955f18 SHA512 11c6d180219b60df7c5e144719354b7fbd5845e4ab6e52027315ee80d820c89fca9bce5b9e9e49314aa64058f93196f0cd35089604b53721fee3c050e45d9555 WHIRLPOOL 58849038cb6500398cd8f3f312fba97fe0c167bc105cddf31e0135114f8969b3d525d3204c4c41b129b2a1d01e541baef5f072b8f7c64025a0cb194610b01c18
diff --git a/sci-libs/profnet/metadata.xml b/sci-libs/profnet/metadata.xml
new file mode 100644
index 000000000000..f17a827e3101
--- /dev/null
+++ b/sci-libs/profnet/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-biology</herd>
+</pkgmetadata>
diff --git a/sci-libs/profnet/profnet-1.0.22.ebuild b/sci-libs/profnet/profnet-1.0.22.ebuild
new file mode 100644
index 000000000000..0c5e4ae4cf00
--- /dev/null
+++ b/sci-libs/profnet/profnet-1.0.22.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit fortran-2 toolchain-funcs
+
+DESCRIPTION="Neural network architecture for profacc"
+HOMEPAGE="https://rostlab.org/"
+SRC_URI="ftp://rostlab.org/profnet/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="sys-libs/libunwind"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ sed \
+ -e '/$@/s:-o:$(LDFLAGS) -o:g' \
+ -i src-phd/Makefile || die
+}
+
+src_compile() {
+ emake \
+ F77=$(tc-getF77) \
+ FFLAGS="${FFLAGS}"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}/usr" \
+ install
+}
diff --git a/sci-libs/profphd-utils/Manifest b/sci-libs/profphd-utils/Manifest
new file mode 100644
index 000000000000..05a805fecf22
--- /dev/null
+++ b/sci-libs/profphd-utils/Manifest
@@ -0,0 +1 @@
+DIST profphd-utils-1.0.10.tar.gz 388222 SHA256 7096db3400de5173ccf66e8b7dd058569aa46a2408306e9802a1a3e5ff723f38 SHA512 c8a777e20bd721e53610ec28da01771300b06f3d284d40b0681ac0e38e8e0b3c7507e1aec7ddc627808d6ce7ccf8d3db94bf87449b958647e00a9c9d98a4300c WHIRLPOOL 45db07f97882c3f71ff7b018d543574b8c12d774d07ace4bb2f36e526269b4e87044822aa8afccc37a8703069e95f77014a602aa3e7b719e67cfca2ee900e167
diff --git a/sci-libs/profphd-utils/metadata.xml b/sci-libs/profphd-utils/metadata.xml
new file mode 100644
index 000000000000..f17a827e3101
--- /dev/null
+++ b/sci-libs/profphd-utils/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-biology</herd>
+</pkgmetadata>
diff --git a/sci-libs/profphd-utils/profphd-utils-1.0.10-r1.ebuild b/sci-libs/profphd-utils/profphd-utils-1.0.10-r1.ebuild
new file mode 100644
index 000000000000..abc4236f24fa
--- /dev/null
+++ b/sci-libs/profphd-utils/profphd-utils-1.0.10-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit fortran-2 toolchain-funcs
+
+DESCRIPTION="Additional utils for profphd"
+HOMEPAGE="https://rostlab.org/"
+SRC_URI="ftp://rostlab.org/profphd-utils/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-lang/perl"
+
+src_compile() {
+ emake \
+ F77=$(tc-getF77) \
+ AM_FFLAGS=""
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}"/usr \
+ install
+ dodoc ChangeLog AUTHORS
+}
diff --git a/sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild b/sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild
new file mode 100644
index 000000000000..d757529d8e5f
--- /dev/null
+++ b/sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit fortran-2 toolchain-funcs
+
+DESCRIPTION="Additional utils for profphd"
+HOMEPAGE="https://rostlab.org/"
+SRC_URI="ftp://rostlab.org/profphd-utils/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-lang/perl"
+
+src_compile() {
+ emake \
+ F77=$(tc-getF77) \
+ AM_FFLAGS=""
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ prefix="${EPREFIX}" \
+ install
+ dodoc ChangeLog AUTHORS
+}
diff --git a/sci-libs/proj/Manifest b/sci-libs/proj/Manifest
new file mode 100644
index 000000000000..d0d3b2c86ccd
--- /dev/null
+++ b/sci-libs/proj/Manifest
@@ -0,0 +1,3 @@
+DIST proj-4.8.0-org_proj4_PJ.h 2960 SHA256 ed16ebaf2806fbd74392939085db17adfdaa71d45e908cda29fbc7dc3e0a613e SHA512 db2c2b8920ef1c0c56395480dd514e372d5385839ac553a36c92431f5662bb8ec47706489b5c12e0c4308967da58fc94b29a957ede627274ab685ab647151f2c WHIRLPOOL bdff66be09ca619fff5e12a90702db2c85b62b72016dc6805184363a0e5eadd6955225fd8d87a2b5148a0d8035dc88aff6a4cbd33f93869a23be42b4586f40b2
+DIST proj-4.8.0.tar.gz 785279 SHA256 2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5 SHA512 6076289f8bdf1ca3b76ea879d8c221a668fcb4a6deec7cf6a293c489dfe0b21c36da0c6ed2c7a0b8042436106e851018aa429b4731f4ff018fea2fdb8887ec76 WHIRLPOOL c4d2ae53441868d489c789b5ecdab63829855604ff00479d08727def41b1891e72bd590fd18b0f51ae9fc3f3f121496fecdd2a860b9376df8181d781ffe57599
+DIST proj-datumgrid-1.5.zip 2250131 SHA256 723c4017d95d7a8abdf3bda4e18d3c15d79b00f9326d453da5fdf13f96c287db SHA512 9d9a935b3e984721a1ceafac49c139d3c5d9923c5bcef5f57fec8028a043c86e7de8bad9c200fa38cd6d1bf27b32dd0126597d42fee793d055e686f090604bf3 WHIRLPOOL fa0a58628906e108e811062a2f9761009d85b6083506587ddc95aae083dc5a2855174823037bbd63a5702b869c038483ed9a9f64f5a245bedcfd88eda7a026a8
diff --git a/sci-libs/proj/metadata.xml b/sci-libs/proj/metadata.xml
new file mode 100644
index 000000000000..90bff93b11d9
--- /dev/null
+++ b/sci-libs/proj/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+ <longdescription>Proj.4 cartograpic projection code for forward and inverse
+coordinate and projection transformations.</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/proj/proj-4.8.0.ebuild b/sci-libs/proj/proj-4.8.0.ebuild
new file mode 100644
index 000000000000..f820a55da3f7
--- /dev/null
+++ b/sci-libs/proj/proj-4.8.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="Proj.4 cartographic projection software with updated NAD27 grids"
+HOMEPAGE="http://trac.osgeo.org/proj/"
+SRC_URI="
+ ftp://ftp.remotesensing.org/pub/proj/${P}.tar.gz
+ http://download.osgeo.org/proj/${PN}-datumgrid-1.5.zip
+ http://trac.osgeo.org/proj/export/2190/tags/${PV}/proj/src/org_proj4_PJ.h -> ${P}-org_proj4_PJ.h
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="java static-libs"
+
+RDEPEND=""
+DEPEND="
+ app-arch/unzip
+ java? ( >=virtual/jdk-1.5 )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd "${S}"/nad || die
+ mv README README.NAD || die
+ cp "${DISTDIR}/${P}-org_proj4_PJ.h" "${S}/src/org_proj4_PJ.h" || die
+ unpack ${PN}-datumgrid-1.5.zip
+}
+
+src_configure() {
+ if use java; then
+ export JAVACFLAGS="$(java-pkg_javac-args)"
+ append-cflags "$(java-pkg_get-jni-cflags)"
+ fi
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with java jni)
+}
+
+src_install() {
+ default
+ cd nad || die
+ dodoc README.{NAD,NADUS}
+ insinto /usr/share/proj
+ insopts -m 755
+ doins test27 test83
+ insopts -m 644
+ doins pj_out27.dist pj_out83.dist
+ prune_libtool_files
+}
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
+}
diff --git a/sci-libs/pycifrw/Manifest b/sci-libs/pycifrw/Manifest
new file mode 100644
index 000000000000..ed2a2156af8d
--- /dev/null
+++ b/sci-libs/pycifrw/Manifest
@@ -0,0 +1,2 @@
+DIST PyCifRW-3.6.2.tar.gz 356813 SHA256 4d0a67311460e1f9ca65780d6cb34ec07e069d07ac19233dac9a0a6b50d0a0e8 SHA512 21b5738deb54a7293faef2d0cb578047be15feb1e2a0f4e6566777977ec8955c4281e6eddc920c08705f553acec4a574b52ca60b37b8bc0269d6b2cdaec7bf71 WHIRLPOOL 2e03e9e66b93002894831d893e69b792ce2d65362cfbe3191334c0807b528df13da881fada083f1384efafde74799b6cad9ef5d97a55b3136aaa8f36daf6788d
+DIST PyCifRW-4.1.1.tar.gz 446258 SHA256 00192f708a4840695caccabdff65f558d2842d2da6d7ff0e538417aa0aaedbae SHA512 5358080528851b1341c5294ade0741450963bea26b731ec1cb820e012d921dd329137413b3ca1ffb7d7915a4796415f8b3f9654711052ac744d8db7d6104e18d WHIRLPOOL 8835c3f957b7a48fd5026c11150fef483fab16c16a88b1807b61e754f30222482a56ba4d4b299f1d692c15f383e90677992b5ec55d0ee873eee327725de34f77
diff --git a/sci-libs/pycifrw/metadata.xml b/sci-libs/pycifrw/metadata.xml
new file mode 100644
index 000000000000..e79aa012d6e8
--- /dev/null
+++ b/sci-libs/pycifrw/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">PyCifRW</remote-id>
+ <remote-id type="bitbucket">jamesrhester/pycifrw</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/pycifrw/pycifrw-3.6.2.ebuild b/sci-libs/pycifrw/pycifrw-3.6.2.ebuild
new file mode 100644
index 000000000000..a8d0be486412
--- /dev/null
+++ b/sci-libs/pycifrw/pycifrw-3.6.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="PyCifRW"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Provides support for reading and writing of CIF using python"
+HOMEPAGE="https://pypi.python.org/pypi/PyCifRW/ https://bitbucket.org/jamesrhester/pycifrw/wiki/Home"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="ASRP"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/sci-libs/pycifrw/pycifrw-4.1.1.ebuild b/sci-libs/pycifrw/pycifrw-4.1.1.ebuild
new file mode 100644
index 000000000000..01b2ae90e616
--- /dev/null
+++ b/sci-libs/pycifrw/pycifrw-4.1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_PN="PyCifRW"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Reading and writing CIF (Crystallographic Information Format) files"
+HOMEPAGE="https://pypi.python.org/pypi/PyCifRW/ https://bitbucket.org/jamesrhester/pycifrw/wiki/Home"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="ASRP"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
diff --git a/sci-libs/pymmlib/Manifest b/sci-libs/pymmlib/Manifest
new file mode 100644
index 000000000000..c5cd3dad9da1
--- /dev/null
+++ b/sci-libs/pymmlib/Manifest
@@ -0,0 +1 @@
+DIST pymmlib-1.2.1.tar.gz 37480403 SHA256 58e678be6056e40647fd28fec048571563402802156912bb3481852698179738 SHA512 96328fcb8af70a271c0960be753c677f716d3b15c41519c320a1240fd9ad584fee173ab3a8e528c9ae198efea95d20863f64627e44d1a6726513f2916d93b464 WHIRLPOOL 96ba086514c22c7431739fa50908cc9e7678adf864c1402117e1d852b202e9c1da99c54278bd96861f3f4360ea72c25a04e49c7f4b65621e21ec6ee5f8ded774
diff --git a/sci-libs/pymmlib/metadata.xml b/sci-libs/pymmlib/metadata.xml
new file mode 100644
index 000000000000..51fdedab1b38
--- /dev/null
+++ b/sci-libs/pymmlib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+</pkgmetadata>
diff --git a/sci-libs/pymmlib/pymmlib-1.2.1.ebuild b/sci-libs/pymmlib/pymmlib-1.2.1.ebuild
new file mode 100644
index 000000000000..8e3c826be383
--- /dev/null
+++ b/sci-libs/pymmlib/pymmlib-1.2.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 multilib
+
+DESCRIPTION="Toolkit and library for the analysis and manipulation of macromolecular structural models"
+HOMEPAGE="http://pymmlib.sourceforge.net/"
+SRC_URI="mirror://github/masci/mmLib/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pygtkglext[${PYTHON_USEDEP}]
+ media-libs/freeglut
+ virtual/glu
+ virtual/opengl
+ x11-libs/libXmu"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/epydoc[${PYTHON_USEDEP}] )"
+
+python_prepare_all() {
+ rm mmLib/NumericCompat.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use doc && esetup.py doc
+}
+
+python_install_all() {
+ DOCS=( "${S}"/README.txt )
+ use doc && HTML_DOCS=( "${S}"/doc/. )
+ distutils-r1_python_install_all
+
+ python_foreach_impl python_doscript "${S}"/applications/* "${S}"/examples/*.py
+}
diff --git a/sci-libs/pyshp/Manifest b/sci-libs/pyshp/Manifest
new file mode 100644
index 000000000000..7ad8036a0dbb
--- /dev/null
+++ b/sci-libs/pyshp/Manifest
@@ -0,0 +1 @@
+DIST pyshp-1.2.0.tar.gz 58993 SHA256 16e9a9b5caae5b69149c7be09415381b61af4f85f2087d08c0698c75e70000e7 SHA512 c77e19f258ba9d2e2c480b82c342d2bbeae4b5855627aa98777fbf590e904d50045edecaa0e5ec2e03ddaaf49bf7261944fb77bcd26bf6d21e50c90c30cd0b43 WHIRLPOOL d1558ce889b5942dd8da9b61d94c2cd5fcc8e84ca8c70a756997efad2355ea0f97eb849bfd75048b30a7337973dca07dbe1be7ecf0b33a1374637accd6bc00a4
diff --git a/sci-libs/pyshp/metadata.xml b/sci-libs/pyshp/metadata.xml
new file mode 100644
index 000000000000..f829629046dd
--- /dev/null
+++ b/sci-libs/pyshp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pyshp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/pyshp/pyshp-1.2.0.ebuild b/sci-libs/pyshp/pyshp-1.2.0.ebuild
new file mode 100644
index 000000000000..dfc89c31310e
--- /dev/null
+++ b/sci-libs/pyshp/pyshp-1.2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure Python read/write support for ESRI Shapefile format"
+HOMEPAGE="https://pypi.python.org/pypi/pyshp/"
+
+if [[ ${PV} == "9999" ]] ; then
+ SRC_URI=""
+ ESVN_REPO_URI="http://${PN}.googlecode.com/svn/trunk"
+ inherit subversion
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/sci-libs/pyshp/pyshp-9999.ebuild b/sci-libs/pyshp/pyshp-9999.ebuild
new file mode 100644
index 000000000000..dfc89c31310e
--- /dev/null
+++ b/sci-libs/pyshp/pyshp-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure Python read/write support for ESRI Shapefile format"
+HOMEPAGE="https://pypi.python.org/pypi/pyshp/"
+
+if [[ ${PV} == "9999" ]] ; then
+ SRC_URI=""
+ ESVN_REPO_URI="http://${PN}.googlecode.com/svn/trunk"
+ inherit subversion
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/sci-libs/qd/Manifest b/sci-libs/qd/Manifest
new file mode 100644
index 000000000000..8a18e445b98f
--- /dev/null
+++ b/sci-libs/qd/Manifest
@@ -0,0 +1,2 @@
+DIST qd-2.3.13.tar.gz 1449514 SHA256 578722fc515c54b4a2bd946d765412622139307cacb882e4b5ca2f314ed9c965 SHA512 40b1c400544e3c6306bec58b90561dec7781e80caa3e53eebd8a77933447d2f2aeb44599ff0bc19528452c7486f34bb3876e5d9581f4c9963692c99689f4451f WHIRLPOOL ff34ede9297c573a2d45b2108640c249cb9a0b6d26997363eb6cf43f2228eaebbe6f5623ad3bad9959c8c1be9d0eaf5eed881be713e375ab52fdfb49a4704f25
+DIST qd-2.3.14.tar.gz 1450068 SHA256 a9a5f85d20c246516484acf62b4514110fc8fd418594862e96859b5de9aed5d1 SHA512 1f79a4b7e8bec7f2576a79e4eec38e376fc075131248861ebb27d25746ca8ac4becf408886784224f67c99b4b9dbce2daf8a66dca1aa566d7f19b0444b749105 WHIRLPOOL c53e4a8fb5181317a9086859658e6c5ec00dcc8ba8cc55f4aea7a99ef032ec7482cd2f0f856028acd3649b4c5f126a821edbfe2f1d3d049cd6715862298d80cc
diff --git a/sci-libs/qd/files/qd-2.3.13-autotools.patch b/sci-libs/qd/files/qd-2.3.13-autotools.patch
new file mode 100644
index 000000000000..6a89cb6607b2
--- /dev/null
+++ b/sci-libs/qd/files/qd-2.3.13-autotools.patch
@@ -0,0 +1,15 @@
+ fortran/Makefile.am | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/fortran/Makefile.am b/fortran/Makefile.am
+index 1ab54f7..7889fa3 100644
+--- a/fortran/Makefile.am
++++ b/fortran/Makefile.am
+@@ -16,6 +16,7 @@ endif
+
+ lib_LTLIBRARIES = libqdmod.la libqd_f_main.la
+ libqdmod_la_SOURCES = ddext.f ddmod.f qdext.f qdmod.f f_dd.cpp f_qd.cpp
++libqdmod_la_LIBADD = $(FCLIBS)
+ libqd_f_main_la_SOURCES = main.cpp
+ ddmod.lo: $(DDEXT) ddext.lo
+ qdmod.lo: ddmod.lo $(DDMOD) qdext.lo
diff --git a/sci-libs/qd/metadata.xml b/sci-libs/qd/metadata.xml
new file mode 100644
index 000000000000..58f5d57d3cda
--- /dev/null
+++ b/sci-libs/qd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>grozin@gentoo.org</email>
+ <name>Andrey Grozin</name>
+ </maintainer>
+ <longdescription>Quad-double and double-double float arithmetics</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/qd/qd-2.3.13.ebuild b/sci-libs/qd/qd-2.3.13.ebuild
new file mode 100644
index 000000000000..d1e9dfd10071
--- /dev/null
+++ b/sci-libs/qd/qd-2.3.13.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools-utils fortran-2
+
+DESCRIPTION="Quad-double and double-double float arithmetics"
+HOMEPAGE="http://crd.lbl.gov/~dhbailey/mpdist/"
+SRC_URI="http://crd.lbl.gov/~dhbailey/mpdist/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc fortran static-libs"
+
+PATCHES=( "${FILESDIR}"/${P}-autotools.patch )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable fortran enable_fortran)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ use doc || rm "${ED}"/usr/share/doc/${PF}/*.pdf
+ dosym qd_real.h /usr/include/qd/qd.h
+ dosym dd_real.h /usr/include/qd/dd.h
+}
diff --git a/sci-libs/qd/qd-2.3.14.ebuild b/sci-libs/qd/qd-2.3.14.ebuild
new file mode 100644
index 000000000000..6d392eafa6ec
--- /dev/null
+++ b/sci-libs/qd/qd-2.3.14.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools-utils fortran-2
+
+DESCRIPTION="Quad-double and double-double float arithmetics"
+HOMEPAGE="http://crd.lbl.gov/~dhbailey/mpdist/"
+SRC_URI="http://crd.lbl.gov/~dhbailey/mpdist/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc fortran static-libs"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.3.13-autotools.patch )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable fortran enable_fortran)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ use doc || rm "${ED}"/usr/share/doc/${PF}/*.pdf
+ dosym qd_real.h /usr/include/qd/qd.h
+ dosym dd_real.h /usr/include/qd/dd.h
+}
diff --git a/sci-libs/qfits/Manifest b/sci-libs/qfits/Manifest
new file mode 100644
index 000000000000..7f5e2c806ae7
--- /dev/null
+++ b/sci-libs/qfits/Manifest
@@ -0,0 +1 @@
+DIST qfits-6.2.0.tar.gz 475191 SHA256 04f628ee966859c2e3c58cd63955544adc31a3b3901bf42c25fbb1feb98f8ed1 SHA512 a0f6863a9e5b26d08de487cfdf468b3d04218a36a01cd9df8b786b1cdf2ffa61acf12b087f4fbd751ba023f02b5a32410949a4ee08432108a7129a283ab3d824 WHIRLPOOL bfd4b8ee50add6bb25aa9e2eec6a6a00bca4deaf7a9d463f6f27a52d2e927db4ea4dd2c2d0c624f572d53d811a3abc0b9ebaa34536aca1daec123c3f39e91050
diff --git a/sci-libs/qfits/files/qfits-6.2.0-open.patch b/sci-libs/qfits/files/qfits-6.2.0-open.patch
new file mode 100644
index 000000000000..71d2df1a692a
--- /dev/null
+++ b/sci-libs/qfits/files/qfits-6.2.0-open.patch
@@ -0,0 +1,12 @@
+diff -ur qfits-6.2.0/src/qfits_memory.c qfits-6.2.0.new/src/qfits_memory.c
+--- qfits-6.2.0/src/qfits_memory.c 2006-08-24 17:01:56.000000000 +0200
++++ qfits-6.2.0.new/src/qfits_memory.c 2007-09-21 13:43:19.000000000 +0200
+@@ -308,7 +308,7 @@
+ /* Create swap file with rights: rw-rw-rw- */
+ swapfileid = ++ qfits_memory_table.file_reg ;
+ fname = qfits_memory_tmpfilename(swapfileid);
+- swapfd = open(fname, O_RDWR | O_CREAT);
++ swapfd = open(fname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
+ if (swapfd==-1) {
+ fprintf(stderr, "qfits_mem: cannot create swap file\n");
+ exit(-1);
diff --git a/sci-libs/qfits/files/qfits-6.2.0-ttest.patch b/sci-libs/qfits/files/qfits-6.2.0-ttest.patch
new file mode 100644
index 000000000000..ee87bfc702ca
--- /dev/null
+++ b/sci-libs/qfits/files/qfits-6.2.0-ttest.patch
@@ -0,0 +1,11 @@
+--- test/test_tfits.c 2006-04-27 14:08:43.000000000 +0100
++++ test/test_tfits.c.new 2007-02-23 00:29:41.000000000 +0000
+@@ -322,7 +322,7 @@
+ * Test on BINARY tables
+ */
+ say("Test the BINARY table") ;
+- strcat(filename, srcdir) ;
++ strcpy(filename, srcdir) ;
+ strcat(filename, BIN_TABLE_NAME) ;
+ err += qfits_test_table(filename, 1) ;
+
diff --git a/sci-libs/qfits/metadata.xml b/sci-libs/qfits/metadata.xml
new file mode 100644
index 000000000000..1152888bce1f
--- /dev/null
+++ b/sci-libs/qfits/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-astronomy</herd>
+<longdescription lang="en">
+qfits is a stand-alone library written in C to interact with files
+complying with the FITS format. It is fast and portable over any kind
+of POSIX-compliant platform.
+Rather than going through the FITS format specification and trying to
+implement some support for everything that is described there, this
+library was built day after day upon request. This guarantees that
+all the functions you will find in the library have been written for
+some purpose in the VLT pipeline context, and all of them are used
+daily in a production environment.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/qfits/qfits-6.2.0.ebuild b/sci-libs/qfits/qfits-6.2.0.ebuild
new file mode 100644
index 000000000000..8ae28c2a2075
--- /dev/null
+++ b/sci-libs/qfits/qfits-6.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit autotools-utils
+
+DESCRIPTION="ESO stand-alone C library offering easy access to FITS files"
+HOMEPAGE="http://www.eso.org/projects/aot/qfits/"
+SRC_URI="ftp://ftp.hq.eso.org/pub/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+DEPEND=""
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-{ttest,open}.patch )
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dohtml html/*
+}
diff --git a/sci-libs/qrupdate/Manifest b/sci-libs/qrupdate/Manifest
new file mode 100644
index 000000000000..04744c5edd0c
--- /dev/null
+++ b/sci-libs/qrupdate/Manifest
@@ -0,0 +1,3 @@
+DIST qrupdate-1.1.0.tar.gz 48830 SHA256 4048f17bb0cf084b74962c882aa6d1367568dc65900259fbea1407eb9ec28bd3
+DIST qrupdate-1.1.1.tar.gz 50063 SHA256 9f0100d358f96cae9394c28c97dbf1fd359675671d2a2c9ac88cfd121a46662a
+DIST qrupdate-1.1.2.tar.gz 49734 SHA256 e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08 SHA512 cc4e466ea91958e15c66be82b0c4c8ad813fbe4643f21259a9cb3ca8e0a411dd764bb2397ece848a7045f322d30316801d1540c4ebf7912030bef6995b44917c WHIRLPOOL 9e6fb1d77c63e209816d42a864e3e9bf7fd6e238f672012a1dfc2235036c482291745e947a74afa316b9ef0e4a054fbcd7759d5620b75ac35fc2e4cfbd6467a9
diff --git a/sci-libs/qrupdate/files/qrupdate-1.0.1-makefile.patch b/sci-libs/qrupdate/files/qrupdate-1.0.1-makefile.patch
new file mode 100644
index 000000000000..fa8925fd8bb6
--- /dev/null
+++ b/sci-libs/qrupdate/files/qrupdate-1.0.1-makefile.patch
@@ -0,0 +1,24 @@
+diff -Naur qrupdate-1.0.1/Makefile qrupdate-1.0.1.new/Makefile
+--- qrupdate-1.0.1/Makefile 2009-02-06 04:12:00.000000000 -0500
++++ qrupdate-1.0.1.new/Makefile 2009-09-10 09:55:32.000000000 -0400
+@@ -34,7 +34,7 @@
+ lib:
+ make -C src/ lib
+ solib:
+- make -C src/ solib
++ +make -C src/ solib
+ test: lib
+ make -C test/
+
+diff -Naur qrupdate-1.0.1/src/Makefile qrupdate-1.0.1.new/src/Makefile
+--- qrupdate-1.0.1/src/Makefile 2009-02-06 04:12:50.000000000 -0500
++++ qrupdate-1.0.1.new/src/Makefile 2009-09-10 09:49:29.000000000 -0400
+@@ -40,7 +40,7 @@
+ ar -cr $@ $(OBJS)
+
+ ../libqrupdate.so: $(OBJS)
+- $(FC) $(FFLAGS) -shared -o $@ -Wl,-soname=libqrupdate.so.$(MAJOR) $(OBJS) \
++ $(FC) $(FFLAGS) $(LDFLAGS) -shared -o $@ -Wl,-soname=libqrupdate.so.$(MAJOR) $(OBJS) \
+ $(BLAS) $(LAPACK)
+
+ $(OBJS): %.o: %.f
diff --git a/sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch b/sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch
new file mode 100644
index 000000000000..9c9ef9317342
--- /dev/null
+++ b/sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch
@@ -0,0 +1,88 @@
+diff -Nur qrupdate-1.1.1.orig/Makefile qrupdate-1.1.1/Makefile
+--- qrupdate-1.1.1.orig/Makefile 2009-02-06 09:12:00.000000000 +0000
++++ qrupdate-1.1.1/Makefile 2010-05-13 17:27:15.000000000 +0100
+@@ -32,22 +32,22 @@
+ @echo " make install - installs everything"
+
+ lib:
+- make -C src/ lib
++ $(MAKE) -C src lib
+ solib:
+- make -C src/ solib
++ $(MAKE) -C src solib
+ test: lib
+- make -C test/
++ $(MAKE) -C test
+
+ clean:
+ rm -f libqrupdate.a libqrupdate.so
+- make -C src/ clean
+- make -C test/ clean
++ $(MAKE) -C src clean
++ $(MAKE) -C test clean
+
+ install:
+- make -C src/ install
++ $(MAKE) -C src install
+
+ install-shlib:
+- make -C src/ install-shlib
++ $(MAKE) -C src install-shlib
+
+ install-staticlib:
+- make -C src/ install-staticlib
++ $(MAKE) -C src install-staticlib
+diff -Nur qrupdate-1.1.1.orig/src/Makefile qrupdate-1.1.1/src/Makefile
+--- qrupdate-1.1.1.orig/src/Makefile 2010-01-19 11:32:35.000000000 +0000
++++ qrupdate-1.1.1/src/Makefile 2010-05-13 17:28:30.000000000 +0100
+@@ -34,6 +34,8 @@
+
+ OBJS = $(SRC:%.f=%.o)
+
++PICOBJS = $(SRC:%.f=%.lo)
++
+ lib: ../libqrupdate.a
+
+ ifeq ($(shell uname),Darwin)
+@@ -46,19 +48,22 @@
+ ../libqrupdate.a: $(OBJS)
+ ar -cr $@ $(OBJS)
+
+-../libqrupdate.so: $(OBJS)
+- $(FC) $(FFLAGS) -shared -o $@ -Wl,-soname=libqrupdate.so.$(MAJOR) $(OBJS) \
++../libqrupdate.so: $(PICOBJS)
++ $(FC) $(LDFLAGS) -shared -o $@ -Wl,-soname=libqrupdate.so.$(MAJOR) $(PICOBJS) \
+ $(BLAS) $(LAPACK)
+
+-../libqrupdate.dylib: $(OBJS)
+- $(FC) $(FFLAGS) $(LDFLAGS) -dynamiclib -o $@ -install_name $(PREFIX)/$(LIBDIR)/libqrupdate.$(MAJOR).dylib $(OBJS) \
++../libqrupdate.dylib: $(PICOBJS)
++ $(FC) $(LDFLAGS) -dynamiclib -o $@ -install_name $(PREFIX)/$(LIBDIR)/libqrupdate.$(MAJOR).dylib $(PICOBJS) \
+ $(BLAS) $(LAPACK)
+
++$(PICOBJS): %.lo: %.f
++ $(FC) $(FFLAGS) $(FPICFLAGS) -c $< -o $@
++
+ $(OBJS): %.o: %.f
+- $(FC) $(FFLAGS) $(FPICFLAGS) -c $<
++ $(FC) $(FFLAGS) -c $<
+
+ clean:
+- rm -f $(OBJS)
++ rm -f $(OBJS) $(PICOBJS)
+
+ install: install-shlib install-staticlib
+
+diff -Nur qrupdate-1.1.1.orig/test/Makefile qrupdate-1.1.1/test/Makefile
+--- qrupdate-1.1.1.orig/test/Makefile 2010-02-11 08:25:37.000000000 +0000
++++ qrupdate-1.1.1/test/Makefile 2010-05-13 17:15:51.000000000 +0100
+@@ -41,7 +41,7 @@
+ $(FC) $(FFLAGS) -c $<
+
+ ../libqrupdate.a:
+- make -C ../ lib
+-
++ $(MAKE) -C .. lib
++
+ clean:
+ rm -f *.o $(PROGS) $(OUTS)
diff --git a/sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch b/sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch
new file mode 100644
index 000000000000..0eee49ae68f4
--- /dev/null
+++ b/sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch
@@ -0,0 +1,23 @@
+--- src/Makefile.orig 2010-02-07 15:58:01 +0100
++++ src/Makefile 2010-02-07 16:02:18 +0100
+@@ -65,14 +65,17 @@
+ install-shlib: ../libqrupdate$(SOEXT) install-lib$(SOEXT)
+
+ install-lib.so:
+- install -D -m644 ../libqrupdate.so $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.so.$(VERSION)
++ install -d $(DESTDIR)$(PREFIX)/$(LIBDIR)/
++ install -m644 ../libqrupdate.so $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.so.$(VERSION)
+ ln -s libqrupdate.so.$(VERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.so.$(MAJOR)
+ ln -s libqrupdate.so.$(VERSION) $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.so
+
+ install-lib.dylib:
+- install -D -m644 ../libqrupdate.dylib $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.$(VERSION).dylib
++ install -d $(DESTDIR)$(PREFIX)/$(LIBDIR)/
++ install -m644 ../libqrupdate.dylib $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.$(VERSION).dylib
+ ln -s libqrupdate.$(VERSION).dylib $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.$(MAJOR).dylib
+ ln -s libqrupdate.$(VERSION).dylib $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.dylib
+
+ install-staticlib: ../libqrupdate.a
+- install -D -m644 ../libqrupdate.a $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.a
++ install -d $(DESTDIR)$(PREFIX)/$(LIBDIR)/
++ install -m644 ../libqrupdate.a $(DESTDIR)$(PREFIX)/$(LIBDIR)/libqrupdate.a
diff --git a/sci-libs/qrupdate/metadata.xml b/sci-libs/qrupdate/metadata.xml
new file mode 100644
index 000000000000..a4214a64f6c8
--- /dev/null
+++ b/sci-libs/qrupdate/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ qrupdate is a library for fast updating of qr and cholesky decompositions.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">qrupdate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/qrupdate/qrupdate-1.1.0.ebuild b/sci-libs/qrupdate/qrupdate-1.1.0.ebuild
new file mode 100644
index 000000000000..9750a6ac6623
--- /dev/null
+++ b/sci-libs/qrupdate/qrupdate-1.1.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils fortran-2 multilib toolchain-funcs versionator
+
+DESCRIPTION="A library for fast updating of QR and Cholesky decompositions"
+HOMEPAGE="http://sourceforge.net/projects/qrupdate"
+SRC_URI="mirror://sourceforge/qrupdate/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86"
+IUSE=""
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.0.1-makefile.patch
+
+ local BLAS_LIBS="$($(tc-getPKG_CONFIG) --libs blas)"
+ local LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)"
+
+ sed -i Makeconf \
+ -e "s:gfortran:$(tc-getFC):g" \
+ -e "s:FFLAGS=.*:FFLAGS=${FFLAGS}:" \
+ -e "s:BLAS=.*:BLAS=${BLAS_LIBS}:" \
+ -e "s:LAPACK=.*:LAPACK=${LAPACK_LIBS}:" \
+ || die "Failed to set up Makeconf"
+}
+
+src_compile() {
+ emake solib || die "emake failed"
+}
+
+src_install() {
+ newlib.so libqrupdate.so libqrupdate.so.1 \
+ || die "Failed to install libqrupdate.so.1"
+ dosym libqrupdate.so.1 /usr/$(get_libdir)/libqrupdate.so
+ dodoc README ChangeLog || die "dodoc failed"
+}
diff --git a/sci-libs/qrupdate/qrupdate-1.1.1.ebuild b/sci-libs/qrupdate/qrupdate-1.1.1.ebuild
new file mode 100644
index 000000000000..751e78bf5a8b
--- /dev/null
+++ b/sci-libs/qrupdate/qrupdate-1.1.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 multilib versionator toolchain-funcs
+
+DESCRIPTION="Library for updating of QR and Cholesky decompositions"
+HOMEPAGE="http://sourceforge.net/projects/qrupdate"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos ~amd64-linux"
+IUSE="static-libs"
+
+RDEPEND="virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-Makefiles.patch
+ sed -i Makeconf \
+ -e "s:gfortran:$(tc-getFC):g" \
+ -e "s:FFLAGS=.*:FFLAGS=${FFLAGS}:" \
+ -e "s:BLAS=.*:BLAS=$($(tc-getPKG_CONFIG) --libs blas):" \
+ -e "s:LAPACK=.*:LAPACK=$($(tc-getPKG_CONFIG) --libs lapack):" \
+ -e "/^LIBDIR=/a\PREFIX=${EPREFIX}/usr" \
+ -e "s:LIBDIR=lib:LIBDIR=$(get_libdir):" \
+ || die "Failed to set up Makeconf"
+}
+
+src_compile() {
+ emake solib
+ use static-libs && emake lib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install-shlib
+ dosym libqrupdate.so.$(get_major_version) /usr/$(get_libdir)/libqrupdate.so
+ use static-libs && emake DESTDIR="${D}" install-staticlib
+ dodoc README ChangeLog
+}
diff --git a/sci-libs/qrupdate/qrupdate-1.1.2.ebuild b/sci-libs/qrupdate/qrupdate-1.1.2.ebuild
new file mode 100644
index 000000000000..0f36f159cac2
--- /dev/null
+++ b/sci-libs/qrupdate/qrupdate-1.1.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 multilib versionator toolchain-funcs
+
+DESCRIPTION="Library for updating of QR and Cholesky decompositions"
+HOMEPAGE="http://sourceforge.net/projects/qrupdate"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~ppc-macos"
+IUSE="static-libs"
+
+RDEPEND="virtual/lapack"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.1.1-Makefiles.patch \
+ "${FILESDIR}"/${PN}-1.1.2-install.patch
+ sed -i Makeconf \
+ -e "s:gfortran:$(tc-getFC):g" \
+ -e "s:FFLAGS=.*:FFLAGS=${FFLAGS}:" \
+ -e "s:BLAS=.*:BLAS=$($(tc-getPKG_CONFIG) --libs blas):" \
+ -e "s:LAPACK=.*:LAPACK=$($(tc-getPKG_CONFIG) --libs lapack):" \
+ -e "/^LIBDIR=/a\PREFIX=${EPREFIX}/usr" \
+ -e "s:LIBDIR=lib:LIBDIR=$(get_libdir):" \
+ || die "Failed to set up Makeconf"
+}
+
+src_compile() {
+ emake solib
+ use static-libs && emake lib
+}
+
+src_install() {
+ emake DESTDIR="${D}" install-shlib
+ dosym libqrupdate.so.$(get_major_version) /usr/$(get_libdir)/libqrupdate.so
+ use static-libs && emake DESTDIR="${D}" install-staticlib
+ dodoc README ChangeLog
+}
diff --git a/sci-libs/rosetta-db/Manifest b/sci-libs/rosetta-db/Manifest
new file mode 100644
index 000000000000..a4e90313a89f
--- /dev/null
+++ b/sci-libs/rosetta-db/Manifest
@@ -0,0 +1 @@
+DIST rosetta3.4_database.tgz 212443671 SHA256 4573c2cb43be0fd805ae9dee6a40948c92e829207a52e419552080400e94b2e4 SHA512 c057cabcc95e6ff2278517e04d0fe8c7968a5c29d17ceb7bc75ac6e655b0a798d4ca819b313616c69b6cc18252c12b9af083d9cab9d4e30dac4c32db2f058b81 WHIRLPOOL e856396bd4fcd937fbb643a59c6689079fc3157c48b47b7848cd954267fa68972ee7dbb05fb9d5ee14fc72b064d4b58ae596d0fa7e3e192b3c7aa0b371dc9b43
diff --git a/sci-libs/rosetta-db/metadata.xml b/sci-libs/rosetta-db/metadata.xml
new file mode 100644
index 000000000000..ae9ec7c5f6a4
--- /dev/null
+++ b/sci-libs/rosetta-db/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/rosetta-db/rosetta-db-3.4.ebuild b/sci-libs/rosetta-db/rosetta-db-3.4.ebuild
new file mode 100644
index 000000000000..74b63c1b8e6a
--- /dev/null
+++ b/sci-libs/rosetta-db/rosetta-db-3.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+MY_PN="${PN%-db}"
+MY_P="${MY_PN}${PV}_database"
+
+DESCRIPTION="Essential database for rosetta"
+HOMEPAGE="http://www.rosettacommons.org"
+SRC_URI="${MY_P}.tgz"
+
+LICENSE="rosetta"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RESTRICT="fetch binchecks strip"
+
+S="${WORKDIR}"/${MY_PN}_database
+
+pkg_nofetch() {
+ einfo "Go to ${HOMEPAGE} and get ${A}"
+ einfo "which must be placed in ${DISTDIR}"
+}
+
+src_install() {
+ esvn_clean
+ insinto /usr/share/${PN}
+ doins -r *
+
+ cat >> "${T}"/41rosetta-db <<- EOF
+ ROSETTA3_DB="${EPREFIX}/usr/share/${PN}"
+ EOF
+ doenvd "${T}"/41rosetta-db
+}
diff --git a/sci-libs/rosetta-fragments/Manifest b/sci-libs/rosetta-fragments/Manifest
new file mode 100644
index 000000000000..efbeb3f09970
--- /dev/null
+++ b/sci-libs/rosetta-fragments/Manifest
@@ -0,0 +1 @@
+DIST rosetta3.1_fragments.tgz 221931894 SHA256 2211cab76e4848d80d6fd311e97535de220a865d8afc72d8ca12f90b7d4641bf SHA512 a2b2646c916ea1b98e2c7267c1eadb1fd6cb76d015c24bd4e8318ce127cb5d96ca56bfdd76821e1dd884e03d59631f544e221b9f541ad4063a99e96dbb029da1 WHIRLPOOL 32d0758e6782da8088178e11af5bfe23b457e98a3ab9a8cbb583d4e4aa48e5d1ef9005825ff62944c5c755a0ac99b3ff88fb7c1d1b249940110287969ff0118a
diff --git a/sci-libs/rosetta-fragments/files/3.1-chemshift.patch b/sci-libs/rosetta-fragments/files/3.1-chemshift.patch
new file mode 100644
index 000000000000..6ea69b210e82
--- /dev/null
+++ b/sci-libs/rosetta-fragments/files/3.1-chemshift.patch
@@ -0,0 +1,33 @@
+--- chemshift/makefile 2009-01-09 16:08:00.000000000 +0100
++++ chemshift/makefile.new 2009-04-09 11:30:34.179824057 +0200
+@@ -64,7 +64,7 @@
+ # rule to compile executable
+ compile: $(BASE_NAME).$(COMPILER)
+ $(BASE_NAME).$(COMPILER) : print ${OBJS}
+- $(F77) $(FFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
++ $(F77) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
+
+ # rule to compile object files:
+ .$(COMPILER).%.o: %.f
+--- chemshift/make.system 2009-01-09 16:08:00.000000000 +0100
++++ chemshift/make.system.new 2009-04-09 11:35:16.126466293 +0200
+@@ -61,16 +61,14 @@
+
+ # defaults
+ F77=f77
+-FFLAGS=
+ FOPTIMFLAGS=-O
+ FDEBUGFLAGS=-g
+ FPROFILEFLAGS=-P
+
+ ifeq ($(COMPILER),gnu)
+- F77 = g77
+- FFLAGS = -finline-functions -funroll-loops -W -ffixed-line-length-132 -Wimplicit
+- FOPTIMFLAGS = -O -ffast-math -malign-double
+- FDEBUGFLAGS = -g -Wall -Wimplicit -Wsurprising -Wformat -W
++ F77 = $(FORTRANC)
++ FOPTIMFLAGS =
++ FDEBUGFLAGS =
+ FPROFILEFLAGS = -pg
+ endif
+
diff --git a/sci-libs/rosetta-fragments/files/3.1-nnmake.patch b/sci-libs/rosetta-fragments/files/3.1-nnmake.patch
new file mode 100644
index 000000000000..35568bb9f805
--- /dev/null
+++ b/sci-libs/rosetta-fragments/files/3.1-nnmake.patch
@@ -0,0 +1,107 @@
+--- nnmake/make.system 2009-01-09 16:07:59.000000000 +0100
++++ nnmake/make.system.new 2009-04-09 10:54:50.000000000 +0200
+@@ -62,10 +62,9 @@
+ FPROFILEFLAGS=-P
+
+ ifeq ($(COMPILER),gnu)
+- F77 = g77
+- FFLAGS = -finline-functions -funroll-loops -W -ffixed-line-length-132 -Wimplicit
+- FOPTIMFLAGS = -O -ffast-math -malign-double
+- FDEBUGFLAGS = -g -Wall -Wimplicit -Wsurprising -Wformat -W
++ F77 = $(FORTRANC)
++ FOPTIMFLAGS =
++ FDEBUGFLAGS =
+ FPROFILEFLAGS = -pg
+ endif
+
+--- nnmake/dipolar_nn.f 2009-01-09 16:08:00.000000000 +0100
++++ nnmake/dipolar_nn.f.new 2009-04-09 11:06:24.923302302 +0200
+@@ -1396,7 +1396,7 @@
+ write(0,*)'rejected'
+ write(0,*)x(1,iset),x(2,iset),x(3,iset),x(4,iset),x(5,iset)
+ do i=1,maplength(iset)
+- write(0,'(i,6f6.3)')i,A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),
++ write(0,'(i6,6f6.3)')i,A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),
+ # b(i)
+ enddo
+ goto 300
+--- nnmake/make.system 2009-04-09 11:10:34.399945087 +0200
++++ nnmake/make.system.new 2009-04-09 11:19:41.287390259 +0200
+@@ -55,7 +55,6 @@
+
+ # defaults
+ F77=f77
+-FFLAGS=
+ FOPTIMFLAGS=-O
+ FDEBUGFLAGS=-g
+ FPROFILEFLAGS=-P
+--- nnmake/makefile 2009-01-09 16:08:00.000000000 +0100
++++ nnmake/makefile.new 2009-04-09 11:22:43.454037887 +0200
+@@ -102,7 +102,7 @@
+ # rule to compile executable
+ compile: print $(BASE_NAME).$(COMPILER)
+ $(BASE_NAME).$(COMPILER) : ${OBJS}
+- $(F77) $(FFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
++ $(F77) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
+
+ coord_compile: print $(COORD_BASE_NAME).$(COMPILER)
+ $(COORD_BASE_NAME).$(COMPILER) : ${COORD_OBJS}
+--- nnmake/make_fragments.pl 2009-01-09 15:53:33.000000000 +0100
++++ nnmake/make_fragments.pl.new 2009-04-09 13:01:52.987174602 +0200
+@@ -19,38 +19,38 @@
+
+ my $TAIL = "_v1_3";
+
+-$src_dir = '/work/chu/rosetta/rosetta_C++/rosetta-2.2.0/rosetta_fragments';
+-$shareware_dir = '/work/chu/src/shareware';
+-$scratch = "/scratch/shared";
++$src_dir = '/';
++$shareware_dir = '$src_dir/usr/share';
++$scratch = "$src_dir/scratch/shared";
+
+ # psi-blast
+ #my $BLAST_BIN_DIR = "$shareware_dir/new_blast/blast-2.2.12/bin";
+-my $PSIBLAST = "$shareware_dir/blast/bin/blastpgp"; # PSI-BLAST (duh.)
+-my $NR = "/$scratch/genomes/nr"; # nr blast database filename
+-my $VALL_BLAST_DB = "/$scratch/nnmake_database/vall.blast.2006-05-05"; # vall blast database filename (cvs respository 'nnmake_database')
+-my $BLOSUM = "$scratch/nnmake_database/"; # BLOSUM score matrices directory (cvs repository 'nnmake_database')
++my $PSIBLAST = "$src_dir/usr/bin/blastpgp"; # PSI-BLAST (duh.)
++my $NR = "$shareware_dir/blast-db/nr"; # nr blast database filename
++my $VALL_BLAST_DB = "$shareware_dir/rosetta-fragments/nnmake_database/vall.blast.2006-05-05"; # vall blast database filename (cvs respository 'nnmake_database')
++my $BLOSUM = "$shareware_dir/rosetta-fragments/nnmake_database/"; # BLOSUM score matrices directory (cvs repository 'nnmake_database')
+
+ # psipred
+-my $FILTNR = "$scratch/genomes/filtnr"; # filtnr blast database filename
+-my $MAKEMAT = "$shareware_dir/blast/bin/makemat"; # makemat utility (part of NCBI tools)
+-my $PSIPRED = "$shareware_dir/psipred/bin/psipred"; # psipred
+-my $PSIPASS2 = "$shareware_dir/psipred/bin/psipass2"; # psipass2 (part of psipred pkg)
++my $FILTNR = "$src_dir/tmp/filtnr"; # filtnr blast database filename
++my $MAKEMAT = "$src_dir/usr/bin/makemat"; # makemat utility (part of NCBI tools)
++my $PSIPRED = "$src_dir/usr/bin/psipred"; # psipred
++my $PSIPASS2 = "$src_dir/usr/bin/psipass2"; # psipass2 (part of psipred pkg)
+ my $PSIPRED_DATA = "$shareware_dir/psipred/data"; # dir containing psipred data files.
+
+ # prof
+ #my $PROF = "$shareware_dir/prof/run_prof.py";
+-my $PROF = "$src_dir/nnmake/run_prof.py"; # remember to change prof executable location in run_prof.py
++my $PROF = "$src_dir/usr/bin/run_prof.py"; # remember to change prof executable location in run_prof.py
+
+ # nnmake
+-my $VALL = "$scratch/nnmake_database"; # dir containing vall database (cvs repository 'nnmake_database')
+-my $VALL2 = "$scratch/nnmake_database"; # alt dir containing vall database (cvs repository 'nnmake_database')
++my $VALL = "$shareware_dir/rosetta-fragments/nnmake_database"; # dir containing vall database (cvs repository 'nnmake_database')
++my $VALL2 = "$shareware_dir/rosetta-fragments/nnmake_database"; # alt dir containing vall database (cvs repository 'nnmake_database')
+ my $VALL_NAME = "vall.dat.2006-05-05"; # filename of vall (vall.dat.<id> and vall_cst_coord.dat.<id> must exist)
+-my $NNMAKE = "$src_dir/nnmake/pNNMAKE.gnu"; # nnmake binary (cvs respository 'nnmake')
+-my $TRIMLOOPS = "$src_dir/nnmake/trimLoopLibrary.pl"; # trimLoopLibrary.pl (cvs respository 'nnmake')
++my $NNMAKE = "$src_dir/usr/bin/pNNMAKE"; # nnmake binary (cvs respository 'nnmake')
++my $TRIMLOOPS = "$src_dir/usr/bin/trimLoopLibrary.pl"; # trimLoopLibrary.pl (cvs respository 'nnmake')
+
+ # chemshift
+-my $CHEMSHIFT = "$src_dir/chemshift/pCHEMSHIFT.gnu"; # chemshift binary (cvs repository 'chemshift')
+-my $TALOS_DB = "$scratch/chemshift_database"; # TALOS databases directory (cvs respository 'chemshift_database')
++my $CHEMSHIFT = "$src_dir/usr/bin/pCHEMSHIFT"; # chemshift binary (cvs repository 'chemshift')
++my $TALOS_DB = "$shareware_dir/rosetta-fragments/chemshift_database"; # TALOS databases directory (cvs respository 'chemshift_database')
+
+ # jufo (secondary structure prediction software)
+ my $JUFO = "$shareware_dir/jufo/molecule.exe"; # jufo executable
diff --git a/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-chemshift.patch b/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-chemshift.patch
new file mode 100644
index 000000000000..cb8fd9197d1b
--- /dev/null
+++ b/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-chemshift.patch
@@ -0,0 +1,62 @@
+ chemshift/make.system | 24 ++++++++++++------------
+ chemshift/makefile | 2 +-
+ 2 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/chemshift/make.system b/chemshift/make.system
+index 53bbd38..d105802 100644
+--- a/chemshift/make.system
++++ b/chemshift/make.system
+@@ -60,18 +60,18 @@ endif
+ ########## once COMPILER is set, here are the options
+
+ # defaults
+-F77=f77
+-FFLAGS=
+-FOPTIMFLAGS=-O
+-FDEBUGFLAGS=-g
++F77?=f77
++FFLAGS?=
++FOPTIMFLAGS?=
++FDEBUGFLAGS?=
+ FPROFILEFLAGS=-P
+
+ ifeq ($(COMPILER),gnu)
+- F77 = g77
+- FFLAGS = -finline-functions -funroll-loops -W -ffixed-line-length-132 -Wimplicit
+- FOPTIMFLAGS = -O -ffast-math -malign-double
+- FDEBUGFLAGS = -g -Wall -Wimplicit -Wsurprising -Wformat -W
+- FPROFILEFLAGS = -pg
++ F77 ?= g77
++ FFLAGS += -W -ffixed-line-length-132 -Wimplicit
++ FOPTIMFLAGS += -malign-double
++ FDEBUGFLAGS += -Wall -Wimplicit -Wsurprising -Wformat -W
++ FPROFILEFLAGS =
+ endif
+
+ ifeq ($(COMPILER),pgi) # on mary, good bounds checking
+@@ -108,9 +108,9 @@ endif
+
+ # Suse ppc gnu
+ ifeq ($(COMPILER),ppc)
+- F77 = g77
+- FFLAGS = -Wall -finline-functions -funroll-loops -W -ffixed-line-length-132
+- FDEBUGFLAGS = -g -C -Mbounds
++ F77 ?= g77
++ FFLAGS += -Wall -W -ffixed-line-length-132
++ FDEBUGFLAGS += -C -Mbounds
+ FOPTIMFLAGS =
+ endif
+
+diff --git a/chemshift/makefile b/chemshift/makefile
+index 712e98f..05d3b64 100644
+--- a/chemshift/makefile
++++ b/chemshift/makefile
+@@ -64,7 +64,7 @@ regular: compile
+ # rule to compile executable
+ compile: $(BASE_NAME).$(COMPILER)
+ $(BASE_NAME).$(COMPILER) : print ${OBJS}
+- $(F77) $(FFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
++ $(F77) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
+
+ # rule to compile object files:
+ .$(COMPILER).%.o: %.f
diff --git a/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-nnmake.patch b/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-nnmake.patch
new file mode 100644
index 000000000000..91da48017eff
--- /dev/null
+++ b/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-nnmake.patch
@@ -0,0 +1,153 @@
+ nnmake/dipolar_nn.f | 2 +-
+ nnmake/make.system | 33 ++++++++++++++++-----------------
+ nnmake/make_fragments.pl | 36 ++++++++++++++++++------------------
+ nnmake/makefile | 2 +-
+ 4 files changed, 36 insertions(+), 37 deletions(-)
+
+diff --git a/nnmake/dipolar_nn.f b/nnmake/dipolar_nn.f
+index c159888..4412a20 100644
+--- a/nnmake/dipolar_nn.f
++++ b/nnmake/dipolar_nn.f
+@@ -1396,7 +1396,7 @@ car pairDipolar(1,i) .le. pairDipolar(1,i+1)
+ write(0,*)'rejected'
+ write(0,*)x(1,iset),x(2,iset),x(3,iset),x(4,iset),x(5,iset)
+ do i=1,maplength(iset)
+- write(0,'(i,6f6.3)')i,A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),
++ write(0,'(i6,6f6.3)')i,A(i,1),A(i,2),A(i,3),A(i,4),A(i,5),
+ # b(i)
+ enddo
+ goto 300
+diff --git a/nnmake/make.system b/nnmake/make.system
+index 34bea8f..2fbfabf 100644
+--- a/nnmake/make.system
++++ b/nnmake/make.system
+@@ -55,18 +55,17 @@ endif
+ ########## once COMPILER is set, here are the options
+
+ # defaults
+-F77=f77
+-FFLAGS=
+-FOPTIMFLAGS=-O
+-FDEBUGFLAGS=-g
+-FPROFILEFLAGS=-P
++F77?=f77
++FOPTIMFLAGS=
++FDEBUGFLAGS=
++FPROFILEFLAGS=
+
+ ifeq ($(COMPILER),gnu)
+- F77 = g77
+- FFLAGS = -finline-functions -funroll-loops -W -ffixed-line-length-132 -Wimplicit
+- FOPTIMFLAGS = -O -ffast-math -malign-double
+- FDEBUGFLAGS = -g -Wall -Wimplicit -Wsurprising -Wformat -W
+- FPROFILEFLAGS = -pg
++ F77 ?= g77
++ FFLAGS += -W -ffixed-line-length-132 -Wimplicit
++ FOPTIMFLAGS += -malign-double
++ FDEBUGFLAGS += -Wall -Wimplicit -Wsurprising -Wformat -W
++ FPROFILEFLAGS =
+ endif
+
+ ifeq ($(COMPILER),pgi) # on mary, good bounds checking
+@@ -82,9 +81,9 @@ ifeq ($(COMPILER),pgi) # on mary, good bounds checking
+ endif
+
+ ifeq ($(COMPILER),absoft) # on mary, fast
+- F77 = f77
+- FFLAGS = -N109 -s -W
+- LINKFLAGS = -lU77
++ F77 ?= f77
++ FFLAGS ?= -N109 -s -W
++ LINKFLAGS += -lU77
+ FDEBUGFLAGS = -C -g
+ FOPTIMFLAGS = -O -N18
+ FPROFILEFLAGS = -P -O
+@@ -103,10 +102,10 @@ endif
+
+ # Suse ppc gnu
+ ifeq ($(COMPILER),ppc)
+- F77 = g77
+- FFLAGS = -Wall -finline-functions -funroll-loops -W -ffixed-line-length-132
+- FDEBUGFLAGS = -g -C -Mbounds
+- FOPTIMFLAGS =
++ F77 ?= g77
++ FFLAGS += -Wall -W -ffixed-line-length-132
++ FDEBUGFLAGS += -C -Mbounds
++ FOPTIMFLAGS +=
+ endif
+
+ # alpha flags
+diff --git a/nnmake/make_fragments.pl b/nnmake/make_fragments.pl
+index 5273685..29619a2 100755
+--- a/nnmake/make_fragments.pl
++++ b/nnmake/make_fragments.pl
+@@ -19,38 +19,38 @@
+
+ my $TAIL = "_v1_3";
+
+-$src_dir = '/work/chu/rosetta/rosetta_C++/rosetta-2.2.0/rosetta_fragments';
+-$shareware_dir = '/work/chu/src/shareware';
+-$scratch = "/scratch/shared";
++$src_dir = '@GENTOO_PORTAGE_EPREFIX@/';
++$shareware_dir = '$src_dir/usr/share';
++$scratch = "$src_dir/scratch/shared";
+
+ # psi-blast
+ #my $BLAST_BIN_DIR = "$shareware_dir/new_blast/blast-2.2.12/bin";
+-my $PSIBLAST = "$shareware_dir/blast/bin/blastpgp"; # PSI-BLAST (duh.)
+-my $NR = "/$scratch/genomes/nr"; # nr blast database filename
+-my $VALL_BLAST_DB = "/$scratch/nnmake_database/vall.blast.2006-05-05"; # vall blast database filename (cvs respository 'nnmake_database')
+-my $BLOSUM = "$scratch/nnmake_database/"; # BLOSUM score matrices directory (cvs repository 'nnmake_database')
++my $PSIBLAST = "$src_dir/usr/bin/blastpgp"; # PSI-BLAST (duh.)
++my $NR = "$shareware_dir/nr"; # nr blast database filename
++my $VALL_BLAST_DB = "$shareware_dir/rosetta-fragments/nnmake_database/vall.blast.2006-05-05"; # vall blast database filename (cvs respository 'nnmake_database')
++my $BLOSUM = "$shareware_dir/rosetta-fragments/nnmake_database/"; # BLOSUM score matrices directory (cvs repository 'nnmake_database')
+
+ # psipred
+-my $FILTNR = "$scratch/genomes/filtnr"; # filtnr blast database filename
+-my $MAKEMAT = "$shareware_dir/blast/bin/makemat"; # makemat utility (part of NCBI tools)
+-my $PSIPRED = "$shareware_dir/psipred/bin/psipred"; # psipred
+-my $PSIPASS2 = "$shareware_dir/psipred/bin/psipass2"; # psipass2 (part of psipred pkg)
++my $FILTNR = "$src_dir/tmp/filtnr"; # filtnr blast database filename
++my $MAKEMAT = "$src_dir/usr/bin/makemat"; # makemat utility (part of NCBI tools)
++my $PSIPRED = "$src_dir/usr/bin/psipred"; # psipred
++my $PSIPASS2 = "$src_dir/usr/bin/psipass2"; # psipass2 (part of psipred pkg)
+ my $PSIPRED_DATA = "$shareware_dir/psipred/data"; # dir containing psipred data files.
+
+ # prof
+ #my $PROF = "$shareware_dir/prof/run_prof.py";
+-my $PROF = "$src_dir/nnmake/run_prof.py"; # remember to change prof executable location in run_prof.py
++my $PROF = "$src_dir/usr/bin/run_prof.py"; # remember to change prof executable location in run_prof.py
+
+ # nnmake
+-my $VALL = "$scratch/nnmake_database"; # dir containing vall database (cvs repository 'nnmake_database')
+-my $VALL2 = "$scratch/nnmake_database"; # alt dir containing vall database (cvs repository 'nnmake_database')
++my $VALL = "$shareware_dir/rosetta-fragments/nnmake_database"; # dir containing vall database (cvs repository 'nnmake_database')
++my $VALL2 = "$shareware_dir/rosetta-fragments/nnmake_database"; # alt dir containing vall database (cvs repository 'nnmake_database')
+ my $VALL_NAME = "vall.dat.2006-05-05"; # filename of vall (vall.dat.<id> and vall_cst_coord.dat.<id> must exist)
+-my $NNMAKE = "$src_dir/nnmake/pNNMAKE.gnu"; # nnmake binary (cvs respository 'nnmake')
+-my $TRIMLOOPS = "$src_dir/nnmake/trimLoopLibrary.pl"; # trimLoopLibrary.pl (cvs respository 'nnmake')
++my $NNMAKE = "$src_dir/usr/bin/pNNMAKE"; # nnmake binary (cvs respository 'nnmake')
++my $TRIMLOOPS = "$src_dir/usr/bin/trimLoopLibrary.pl"; # trimLoopLibrary.pl (cvs respository 'nnmake')
+
+ # chemshift
+-my $CHEMSHIFT = "$src_dir/chemshift/pCHEMSHIFT.gnu"; # chemshift binary (cvs repository 'chemshift')
+-my $TALOS_DB = "$scratch/chemshift_database"; # TALOS databases directory (cvs respository 'chemshift_database')
++my $CHEMSHIFT = "$src_dir/usr/bin/pCHEMSHIFT"; # chemshift binary (cvs repository 'chemshift')
++my $TALOS_DB = "$shareware_dir/rosetta-fragments/chemshift_database"; # TALOS databases directory (cvs respository 'chemshift_database')
+
+ # jufo (secondary structure prediction software)
+ my $JUFO = "$shareware_dir/jufo/molecule.exe"; # jufo executable
+diff --git a/nnmake/makefile b/nnmake/makefile
+index c09ac1c..ebfde68 100644
+--- a/nnmake/makefile
++++ b/nnmake/makefile
+@@ -102,7 +102,7 @@ VallCoord: coord_compile
+ # rule to compile executable
+ compile: print $(BASE_NAME).$(COMPILER)
+ $(BASE_NAME).$(COMPILER) : ${OBJS}
+- $(F77) $(FFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
++ $(F77) $(FFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LINKFLAGS)
+
+ coord_compile: print $(COORD_BASE_NAME).$(COMPILER)
+ $(COORD_BASE_NAME).$(COMPILER) : ${COORD_OBJS}
diff --git a/sci-libs/rosetta-fragments/metadata.xml b/sci-libs/rosetta-fragments/metadata.xml
new file mode 100644
index 000000000000..ae9ec7c5f6a4
--- /dev/null
+++ b/sci-libs/rosetta-fragments/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/rosetta-fragments/rosetta-fragments-3.1-r1.ebuild b/sci-libs/rosetta-fragments/rosetta-fragments-3.1-r1.ebuild
new file mode 100644
index 000000000000..c659931015d9
--- /dev/null
+++ b/sci-libs/rosetta-fragments/rosetta-fragments-3.1-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic prefix toolchain-funcs
+
+DESCRIPTION="Fragment library for rosetta"
+HOMEPAGE="http://www.rosettacommons.org"
+SRC_URI="rosetta3.1_fragments.tgz"
+
+LICENSE="rosetta"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+ sci-biology/ncbi-tools
+ || ( sci-biology/update-blastdb sci-biology/ncbi-tools++ )
+ sci-biology/psipred"
+
+RESTRICT="fetch"
+
+S="${WORKDIR}"/${PN/-/_}
+
+pkg_nofetch() {
+ einfo "Go to ${HOMEPAGE} and get ${PN}.tgz and rename it to ${A}"
+ einfo "which must be placed in ${DISTDIR}"
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-nnmake.patch \
+ "${FILESDIR}"/${P}-chemshift.patch
+ tc-export F77
+ eprefixify nnmake/*.pl
+}
+
+src_compile() {
+ emake -C nnmake
+ emake -C chemshift
+}
+
+src_install() {
+ esvn_clean .
+
+ newbin nnmake/pNNMAKE.gnu pNNMAKE
+ newbin chemshift/pCHEMSHIFT.gnu pCHEMSHIFT
+
+ dobin nnmake/*.pl
+
+ insinto /usr/share/${PN}
+ doins -r *_database
+ dodoc fragments.README nnmake/{nnmake.README,vall/*.pl} chemshift/chemshift.README
+}
diff --git a/sci-libs/rtabmap/Manifest b/sci-libs/rtabmap/Manifest
new file mode 100644
index 000000000000..7ce03fd0147a
--- /dev/null
+++ b/sci-libs/rtabmap/Manifest
@@ -0,0 +1,3 @@
+DIST rtabmap-0.8.2.tar.gz 16314234 SHA256 058006a00e550187ca382308985723573735e64bc7bb833357a47929949ef6b0 SHA512 fc2f3152c9651fc847881d773b788d0845a0c842ee3dd8508f395de0954072a0aeb0d37bf55389e29bcc4d14027845218dbda7ef346f2161669be6570eb785f5 WHIRLPOOL 5ac7b2b30742ff360d7755c016735f59542fe828c80689686a449f3ab4d2e40ad568ae9a0ad8d148cfd221e43da463e0409238b5a94ce600970a9d0162f97368
+DIST rtabmap-0.8.3.tar.gz 16331307 SHA256 cc19a57fc50f5bccd25dda2383993f04164074348f6a75b1f83b8ae152b88ff8 SHA512 a326d3704bc4f1eeb1cc102919192b2999c49b1a5460ccb9c39721829a80e7889a4549b203f5aafeacdbe482e114de275508e3b22cb0a466cfa831e736766a30 WHIRLPOOL 7a338f58c0731b3ae9e2793432a720099cd84634b2115fa8d97b31066afa2fc8ec348a6c9e25fba691f6051d52ab1af62dddbac00dffc27c99a9658b52154011
+DIST rtabmap-0.9.0.tar.gz 16871134 SHA256 d64afbf4075e249665a0d19259f40c587c8cebb11b70d60ad8c48b6822066ba1 SHA512 86002dbdbca917901b0a17c1eca948d012c5bd4b29bf334b093478b740a07b3bce6699340df41f64e477be19dad3be757bca6dba962939fba1ecb3c8462f9891 WHIRLPOOL 06d1201a4d7339df4941b45ce6785781659da96e8b2ab9f281bd13a23fa4f68b0f5e70b23e6479300cc128044e44159f8b9c73ac14cd631c704e9a66ad496a1e
diff --git a/sci-libs/rtabmap/metadata.xml b/sci-libs/rtabmap/metadata.xml
new file mode 100644
index 000000000000..e3ea1e11d2a7
--- /dev/null
+++ b/sci-libs/rtabmap/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <use>
+ <flag name="openni2">Adds support for Kinect-like 3D sensors devices with <pkg>dev-libs/OpenNI2</pkg>.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">introlab/rtabmap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/rtabmap/rtabmap-0.8.2.ebuild b/sci-libs/rtabmap/rtabmap-0.8.2.ebuild
new file mode 100644
index 000000000000..9938fba00e53
--- /dev/null
+++ b/sci-libs/rtabmap/rtabmap-0.8.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/introlab/rtabmap"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/introlab/rtabmap/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
+HOMEPAGE="http://introlab.github.io/rtabmap/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="qt4 openni2"
+
+RDEPEND="
+ media-libs/opencv:=
+ sci-libs/pcl[openni]
+ sci-libs/vtk
+ sys-libs/zlib
+ openni2? ( dev-libs/OpenNI2 )
+ qt4? (
+ dev-qt/qtgui:4
+ dev-qt/qtsvg:4
+ dev-qt/qtcore:4
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ use openni2 || sed -e 's/OpenNI2)/DiSaBlEd)/' -i CMakeLists.txt || die
+ use qt4 || sed -e 's/Qt4/DiSaBlEd/' -i CMakeLists.txt || die
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/rtabmap/rtabmap-0.8.3.ebuild b/sci-libs/rtabmap/rtabmap-0.8.3.ebuild
new file mode 100644
index 000000000000..9938fba00e53
--- /dev/null
+++ b/sci-libs/rtabmap/rtabmap-0.8.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/introlab/rtabmap"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/introlab/rtabmap/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
+HOMEPAGE="http://introlab.github.io/rtabmap/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="qt4 openni2"
+
+RDEPEND="
+ media-libs/opencv:=
+ sci-libs/pcl[openni]
+ sci-libs/vtk
+ sys-libs/zlib
+ openni2? ( dev-libs/OpenNI2 )
+ qt4? (
+ dev-qt/qtgui:4
+ dev-qt/qtsvg:4
+ dev-qt/qtcore:4
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ use openni2 || sed -e 's/OpenNI2)/DiSaBlEd)/' -i CMakeLists.txt || die
+ use qt4 || sed -e 's/Qt4/DiSaBlEd/' -i CMakeLists.txt || die
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/rtabmap/rtabmap-0.9.0.ebuild b/sci-libs/rtabmap/rtabmap-0.9.0.ebuild
new file mode 100644
index 000000000000..c3183be626f3
--- /dev/null
+++ b/sci-libs/rtabmap/rtabmap-0.9.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/introlab/rtabmap"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/introlab/rtabmap/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
+HOMEPAGE="http://introlab.github.io/rtabmap/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="ieee1394 openni2 qt4 qt5"
+
+RDEPEND="
+ media-libs/opencv:=
+ sci-libs/pcl[openni]
+ sci-libs/vtk
+ sys-libs/zlib
+ ieee1394? ( media-libs/libdc1394 )
+ openni2? ( dev-libs/OpenNI2 )
+ !qt5? (
+ qt4? (
+ dev-qt/qtgui:4
+ dev-qt/qtsvg:4
+ dev-qt/qtcore:4
+ )
+ )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=()
+ use ieee1394 || mycmakeargs+=( "-DCMAKE_DISABLE_FIND_PACKAGE_DC1394=TRUE" )
+ use openni2 || mycmakeargs+=( "-DCMAKE_DISABLE_FIND_PACKAGE_OpenNI2=TRUE" )
+ use qt4 || mycmakeargs+=( "-DCMAKE_DISABLE_FIND_PACKAGE_Qt4=TRUE" )
+ use qt5 && mycmakeargs+=( "-DRTABMAP_QT_VERSION=5" )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/rtabmap/rtabmap-9999.ebuild b/sci-libs/rtabmap/rtabmap-9999.ebuild
new file mode 100644
index 000000000000..c3183be626f3
--- /dev/null
+++ b/sci-libs/rtabmap/rtabmap-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/introlab/rtabmap"
+fi
+
+inherit ${SCM} cmake-utils multilib
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ KEYWORDS=""
+ SRC_URI=""
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/introlab/rtabmap/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
+HOMEPAGE="http://introlab.github.io/rtabmap/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="ieee1394 openni2 qt4 qt5"
+
+RDEPEND="
+ media-libs/opencv:=
+ sci-libs/pcl[openni]
+ sci-libs/vtk
+ sys-libs/zlib
+ ieee1394? ( media-libs/libdc1394 )
+ openni2? ( dev-libs/OpenNI2 )
+ !qt5? (
+ qt4? (
+ dev-qt/qtgui:4
+ dev-qt/qtsvg:4
+ dev-qt/qtcore:4
+ )
+ )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=()
+ use ieee1394 || mycmakeargs+=( "-DCMAKE_DISABLE_FIND_PACKAGE_DC1394=TRUE" )
+ use openni2 || mycmakeargs+=( "-DCMAKE_DISABLE_FIND_PACKAGE_OpenNI2=TRUE" )
+ use qt4 || mycmakeargs+=( "-DCMAKE_DISABLE_FIND_PACKAGE_Qt4=TRUE" )
+ use qt5 && mycmakeargs+=( "-DRTABMAP_QT_VERSION=5" )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/scalapack/Manifest b/sci-libs/scalapack/Manifest
new file mode 100644
index 000000000000..9cdc4b85bbaf
--- /dev/null
+++ b/sci-libs/scalapack/Manifest
@@ -0,0 +1 @@
+DIST scalapack-2.0.2.tgz 4779534 SHA256 0c74aeae690fe5ee4db7926f49c5d0bb69ce09eea75beb915e00bba07530395c SHA512 92c71d3de0900955511c527ab3ca57ff69d6d9edc390e69f93ac3769d32ce83a714326bcb6218c8c74b8874be2fdc8aad5e42c912a12581e8d4ce8829ea39248 WHIRLPOOL ca5e9261bb046684ecb820247ae2d9953083f9989b5cdeccd033c67519a5ab1eb3bd3f12d0225767513d5307342ccd96f582dbd264b2decc9033bf1f7f5d7dbc
diff --git a/sci-libs/scalapack/metadata.xml b/sci-libs/scalapack/metadata.xml
new file mode 100644
index 000000000000..baa3fe76fc17
--- /dev/null
+++ b/sci-libs/scalapack/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines
+ redesigned for distributed memory MIMD parallel computers. It is currently
+ written in a Single-Program-Multiple-Data style using explicit message
+ passing for interprocessor communication. It assumes matrices are laid out
+ in a two-dimensional block cyclic decomposition.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/scalapack/scalapack-2.0.2.ebuild b/sci-libs/scalapack/scalapack-2.0.2.ebuild
new file mode 100644
index 000000000000..bc0a7f5908f7
--- /dev/null
+++ b/sci-libs/scalapack/scalapack-2.0.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils eutils fortran-2
+
+DESCRIPTION="Subset of LAPACK routines redesigned for heterogenous (MPI) computing"
+HOMEPAGE="http://www.netlib.org/scalapack/"
+SRC_URI="${HOMEPAGE}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+RDEPEND="
+ virtual/lapack
+ virtual/mpi"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ use static-libs && mkdir "${WORKDIR}/${PN}_static"
+ # mpi does not have a pc file
+ sed -i -e 's/mpi//' scalapack.pc.in || die
+}
+
+src_configure() {
+ scalapack_configure() {
+ local mycmakeargs=(
+ -DUSE_OPTIMIZED_LAPACK_BLAS=ON
+ -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ $(cmake-utils_use_build test TESTING)
+ $@
+ )
+ cmake-utils_src_configure
+ }
+
+ scalapack_configure -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
+ use static-libs && \
+ CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" scalapack_configure \
+ -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use static-libs && \
+ CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+ use static-libs && \
+ CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" cmake-utils_src_install
+
+ insinto /usr/include/blacs
+ doins BLACS/SRC/*.h
+
+ insinto /usr/include/scalapack
+ doins PBLAS/SRC/*.h
+}
diff --git a/sci-libs/scikits/Manifest b/sci-libs/scikits/Manifest
new file mode 100644
index 000000000000..df2eefd3c67f
--- /dev/null
+++ b/sci-libs/scikits/Manifest
@@ -0,0 +1 @@
+DIST scikits.example-0.1.tar.gz 2401 SHA256 bd3ad5e2481a8d19411bf8c88ff06072cd592368650b4ea90c7dce435916ff3a SHA512 9e5534a9f12f5a11e7f9d7c3d4f16cdbfa34293b29882e6bc9ec597b6e7ac306cc65e2b197da8c0bfc8e319b01db31f34b06018b5420c3ad68e8cc3f490259e1 WHIRLPOOL 83655fef2c4b6d04ee890eb84d5e761a51e26257b8d38500e03fbce198e8e7a951afef050c0cda528dbbadf27ef6bbba2f72405acd33be423b1b429fac63e48e
diff --git a/sci-libs/scikits/metadata.xml b/sci-libs/scikits/metadata.xml
new file mode 100644
index 000000000000..6fef9af01ab7
--- /dev/null
+++ b/sci-libs/scikits/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">Meta package for the scikits. Include a standard example as well.</longdescription>
+ <upstream>
+ <remote-id type="pypi">scikits.example</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/scikits/scikits-0.1-r1.ebuild b/sci-libs/scikits/scikits-0.1-r1.ebuild
new file mode 100644
index 000000000000..e5a3fae4d776
--- /dev/null
+++ b/sci-libs/scikits/scikits-0.1-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit python-r1
+
+DESCRIPTION="Common files for python scikits"
+HOMEPAGE="http://projects.scipy.org/scipy/scikits"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}.example/${PN}.example-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}"
+DEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+src_install() {
+ python_moduleinto scikits
+ python_foreach_impl python_domodule scikits.example*/scikits/__init__.py
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r scikits.example*/*
+ fi
+}
diff --git a/sci-libs/scikits_image/Manifest b/sci-libs/scikits_image/Manifest
new file mode 100644
index 000000000000..129ffec7301e
--- /dev/null
+++ b/sci-libs/scikits_image/Manifest
@@ -0,0 +1,3 @@
+DIST scikit-image-0.10.0.tar.gz 9084596 SHA256 83995570f11654b47d0a0d50ae8b4d11a0de97a44ae195a4c04ba4f10b9dd7f8 SHA512 be45359fe99499e904b0b0e75870cd301947ca1edc7711ce982d107b1e56c0d15cfd59fe8dcc9eff1bca5b1e4bac5ae23e7adeda028590ea1230db76914b0ab8 WHIRLPOOL adeed1d7f6f7b5a5b01c78672226425d481e9dbb69c36f5927274d91856745f472abd8d055c3ad1f880c348d92d5a1bbca9e4253983e7d3aa01ab2f2dfbe29f1
+DIST scikit-image-0.10.1.tar.gz 16740044 SHA256 83a1afcc16df75ff27237f84841a95c8f65c4e19ffd64849faa540aab48a5ab7 SHA512 1fb7c96646775c1015267359ed23916abcc21caa3dd3f31e1d78aedb3994ae56d2cb5b79221e90e2b1997a23dc34679fc6863387bd6bdc9d0e006416c402473a WHIRLPOOL ddd38401dc29535610d7d9a8014aa36b955e1ba0ae6db6ada4ce2151ca323b25134b3cc5635a9e3f06c86b414311c52dab8dd477665fd6ef266087943da4c6de
+DIST scikit-image-0.9.3.tar.gz 7829788 SHA256 2c29c65aacdfc056efd0a3b713b5dde666356ffb39e5e2bad3e0d6dbb62524b3 SHA512 4c34a374c19a54da409a99e610b5de7525a0d738f373f5e9ac172c4f2fb520190b61fb30b56db3efd4f62f56e5bbdea6ed20620bbbb41171aca56d5fc5ede900 WHIRLPOOL 1f7509a857bfb7cc1f7cd3d2251b90ac128f8acf14dc5174be3b0337a1bfdec6326fe6b46ae674bdd50ecf23e82fa8f56f53322d887a0d4b52c0015b1dd189b5
diff --git a/sci-libs/scikits_image/metadata.xml b/sci-libs/scikits_image/metadata.xml
new file mode 100644
index 000000000000..b9bd04971575
--- /dev/null
+++ b/sci-libs/scikits_image/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ This SciKit (toolkit for SciPy) includes useful image processing
+ algorithms for use with Python and NumPy. While SciPy’s ndimage
+ provides low-level manipulation, scikits.image centres around
+ algorithms and applications.
+</longdescription>
+ <use>
+ <flag name="freeimage">Enable support for image i/o via
+ <pkg>media-libs/freeimage</pkg></flag>
+ <flag name="pyamg">Enable support for algebraic solvers via <pkg>dev-python/pyamg</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">scikit-image</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/scikits_image/scikits_image-0.10.0.ebuild b/sci-libs/scikits_image/scikits_image-0.10.0.ebuild
new file mode 100644
index 000000000000..8eb88ad307d1
--- /dev/null
+++ b/sci-libs/scikits_image/scikits_image-0.10.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+MYPN="${PN/scikits_/scikit-}"
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Image processing routines for SciPy"
+HOMEPAGE="http://scikit-image.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc freeimage gtk pyamg qt4 test"
+
+RDEPEND="
+ sci-libs/scipy[sparse,${PYTHON_USEDEP}]
+ freeimage? ( media-libs/freeimage )
+ gtk? ( dev-python/pygtk[$(python_gen_usedep 'python2*')] )
+ pyamg? ( dev-python/pyamg[$(python_gen_usedep 'python2*')] )
+ qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )"
+DEPEND="
+ >=dev-python/cython-0.17[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ sci-libs/scipy[sparse,${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MYP}"
+
+DOCS=( CONTRIBUTORS.txt CONTRIBUTING.txt DEPENDS.txt RELEASE.txt TASKS.txt TODO.txt )
+
+python_test() {
+ distutils_install_for_testing
+ mkdir for_test && cd for_test
+ echo "backend : Agg" > matplotlibrc || die
+ echo "backend.qt4 : PyQt4" >> matplotlibrc || die
+ MPLCONFIGDIR=. nosetests --exe -v --cover-package=skimage skimage || die
+}
diff --git a/sci-libs/scikits_image/scikits_image-0.10.1.ebuild b/sci-libs/scikits_image/scikits_image-0.10.1.ebuild
new file mode 100644
index 000000000000..e235ef7a0674
--- /dev/null
+++ b/sci-libs/scikits_image/scikits_image-0.10.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit distutils-r1
+
+MYPN="${PN/scikits_/scikit-}"
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Image processing routines for SciPy"
+HOMEPAGE="http://scikit-image.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc freeimage gtk pyamg qt4 test"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ sci-libs/scipy[sparse,${PYTHON_USEDEP}]
+ freeimage? ( media-libs/freeimage )
+ gtk? ( dev-python/pygtk[$(python_gen_usedep 'python2*')] )
+ pyamg? ( dev-python/pyamg[$(python_gen_usedep 'python2*')] )
+ qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )"
+DEPEND="
+ >=dev-python/cython-0.17[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ sci-libs/scipy[sparse,${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MYP}"
+
+DOCS=( CONTRIBUTORS.txt CONTRIBUTING.txt DEPENDS.txt RELEASE.txt TASKS.txt TODO.txt )
+
+python_test() {
+ distutils_install_for_testing
+ mkdir for_test && cd for_test
+ echo "backend : Agg" > matplotlibrc || die
+ echo "backend.qt4 : PyQt4" >> matplotlibrc || die
+ MPLCONFIGDIR=. nosetests --exe -v --cover-package=skimage skimage || die
+}
diff --git a/sci-libs/scikits_image/scikits_image-0.9.3.ebuild b/sci-libs/scikits_image/scikits_image-0.9.3.ebuild
new file mode 100644
index 000000000000..e55e0ba801de
--- /dev/null
+++ b/sci-libs/scikits_image/scikits_image-0.9.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1
+
+MYPN="${PN/scikits_/scikit-}"
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Image processing routines for SciPy"
+HOMEPAGE="http://scikit-image.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc freeimage gtk pyamg qt4 test"
+
+RDEPEND="
+ sci-libs/scipy[sparse,${PYTHON_USEDEP}]
+ freeimage? ( media-libs/freeimage )
+ gtk? ( dev-python/pygtk[$(python_gen_usedep 'python2*')] )
+ pyamg? ( dev-python/pyamg[$(python_gen_usedep 'python2*')] )
+ qt4? ( dev-python/PyQt4[${PYTHON_USEDEP}] )"
+DEPEND="
+ >=dev-python/cython-0.17[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ sci-libs/scipy[sparse,${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MYP}"
+
+DOCS=( CONTRIBUTORS.txt CONTRIBUTING.txt DEPENDS.txt RELEASE.txt TASKS.txt TODO.txt )
+
+python_test() {
+ distutils_install_for_testing
+ mkdir for_test && cd for_test
+ echo "backend : Agg" > matplotlibrc || die
+ MPLCONFIGDIR=. nosetests --exe -v --cover-package=skimage skimage || die
+}
diff --git a/sci-libs/scikits_learn/Manifest b/sci-libs/scikits_learn/Manifest
new file mode 100644
index 000000000000..94c82bc8cfea
--- /dev/null
+++ b/sci-libs/scikits_learn/Manifest
@@ -0,0 +1,5 @@
+DIST scikit-learn-0.13.1.tar.gz 3477412 SHA256 a6e4759a779ba792435d096c882a0d66ee29d369755c09209f1a4e50877bdc94 SHA512 945475bf6e5600da63d26217ae6966f8f5e3a8d9c7645363ba9e9d8d4c475e2ebcfa45e75f8988537716b7a9c16980c52df4310b924eec4da9433d1fc98cc34b WHIRLPOOL 0af58429d604eb1fb22f24e155daaa67831d16d49ff414b29a150f03617be1811796d653afb0f7b4eac9f03cf318910dd9544dc3a58543a333fccd8580a59d4b
+DIST scikit-learn-0.14.1.tar.gz 23228378 SHA256 4c317cabb56c61f4c574879b53aa6bbea0132bb630678229bce98638f4b000e0 SHA512 4d094a698f73c458f2f8c03240fab070854bcb5871acfc4f1aaf1a6f19f28a70bc6aeadb89bf6c586d2b39b81f57175dbb7d64ac4c3693a3be1b407f78e44c52 WHIRLPOOL 39f317721f278037b779001f3cb5e117b6d9da5996df78a53440d68bc860eccbf462a1d48890246624d8e256a6301fb8195199a2ff387bb60179fb11bda9aea6
+DIST scikit-learn-0.15.1.tar.gz 7034220 SHA256 4b13456727b9310857f12cc7b9d1c62d59f3ef602fea9d391afc0c8c847ed17d SHA512 4c2e68b1bb75c85c2a83605a32ba5adbd224bc25b19fca85e18dbe24f20cbe51cbfb02be546a4f05fc190f77e438cb17c6a5d69026455e8c11907599462f9984 WHIRLPOOL e1bc387b013abcab18d8ee0545dda543bb098b9d7636229880dea667fc4627d1822fe8a430a2d26dbafcc0b0e90326d5529245e6eff1345b73fc5a24b7a51096
+DIST scikit-learn-0.15.2.tar.gz 7007922 SHA256 1a8a881f6f13edc0ac58931ce21f899eb7920af50aa08802413d1239e2aa5fa6 SHA512 ca2470df73be1b735f756f641fdbb4dc59a54b67d12f61c54542f0928ce9242665d1b8793673a9d989a41f2c2945c2ba92ed54fc9914fbe030a5c8af289c6523 WHIRLPOOL 9043bf653f8d866f98e5a2342fbacf51fafefd5096e70989ebeb4b580c38b5468c3a2eb598d4d5492ba1413378b8c133938baa20d4a292c9f94c5596dbf1d405
+DIST scikit-learn-0.16.1.tar.gz 7267115 SHA256 c0721e295056c95c7002e05726f2bd271a7923e88bdeab34a2b60aac2b0ee6e4 SHA512 18ea7420a4a7f23f030ad1e20cf29dd7d6183872ed4aa3daf4bfb5106728de21775461b90a917f231e56fee78eea5927ff8c3160c1da1473f34315b00994461b WHIRLPOOL 15eba05ba0d9ac62ed30636ece9091cb9930e432e5726b67be3de0ae5b81a187eac8cac69184106b4a5a1c4393801fb6a375b6f025c3562223ad5ed0e508ad8c
diff --git a/sci-libs/scikits_learn/files/scikits_learn-0.14.1-system-cblas.patch b/sci-libs/scikits_learn/files/scikits_learn-0.14.1-system-cblas.patch
new file mode 100644
index 000000000000..96c6cc2dbde5
--- /dev/null
+++ b/sci-libs/scikits_learn/files/scikits_learn-0.14.1-system-cblas.patch
@@ -0,0 +1,28 @@
+--- sklearn/setup.py.orig 2013-08-08 13:54:08.310879167 -0700
++++ sklearn/setup.py 2013-08-08 13:52:59.808456423 -0700
+@@ -68,14 +68,6 @@
+ libraries=libraries,
+ )
+
+- # some libs needs cblas, fortran-compiled BLAS will not be sufficient
+- blas_info = get_info('blas_opt', 0)
+- if (not blas_info) or (
+- ('NO_ATLAS_INFO', 1) in blas_info.get('define_macros', [])):
+- config.add_library('cblas',
+- sources=[join('src', 'cblas', '*.c')])
+- warnings.warn(BlasNotFoundError.__doc__)
+-
+ # the following packages depend on cblas, so they have to be build
+ # after the above.
+ config.add_subpackage('linear_model')
+--- sklearn/_build_utils.py.orig 2013-08-08 14:01:35.994589269 -0700
++++ sklearn/_build_utils.py 2013-08-08 12:19:41.875967870 -0700
+@@ -23,7 +23,7 @@
+ return False
+
+ blas_info = get_info('blas_opt', 0)
+- if (not blas_info) or atlas_not_found(blas_info):
++ if (not blas_info):
+ cblas_libs = ['cblas']
+ blas_info.pop('libraries', None)
+ else:
diff --git a/sci-libs/scikits_learn/metadata.xml b/sci-libs/scikits_learn/metadata.xml
new file mode 100644
index 000000000000..7b42750bd926
--- /dev/null
+++ b/sci-libs/scikits_learn/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ scikits.learn is a python library for machine learning. It aims to
+ implement classic machine learning algorithms while remaining simple
+ and efficient.
+</longdescription>
+ <upstream>
+ <remote-id type="pypi">scikit-learn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/scikits_learn/scikits_learn-0.13.1.ebuild b/sci-libs/scikits_learn/scikits_learn-0.13.1.ebuild
new file mode 100644
index 000000000000..37782aa75576
--- /dev/null
+++ b/sci-libs/scikits_learn/scikits_learn-0.13.1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_NO_PARALLEL_BUILD=true
+
+inherit distutils-r1 multilib flag-o-matic
+
+MYPN="${PN/scikits_/scikit-}"
+
+DESCRIPTION="Python modules for machine learning and data mining"
+HOMEPAGE="http://scikit-learn.org"
+SRC_URI="mirror://sourceforge/${MYPN}/${MYPN}-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ sci-libs/scikits[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+python_prepare_all() {
+ # bug #397605
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+
+ # scikits-learn now uses the horrible numpy.distutils automagic
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${SCIPY_FCONFIG}
+}
+
+python_compile_all() {
+ if use doc; then
+ cd "${S}/doc"
+ local d="${BUILD_DIR}"/lib
+ ln -s "${S}"/sklearn/datasets/{data,descr,images} \
+ "${d}"/sklearn/datasets
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${d}" \
+ emake html
+ rm -r "${d}"/sklearn/datasets/{data,desr,images}
+ fi
+}
+
+python_test() {
+ # doc builds and runs tests
+ use doc && return
+ esetup.py \
+ install --root="${T}/test-${EPYTHON}" \
+ --no-compile ${SCIPY_FCONFIG}
+ pushd "${T}/test-${EPYTHON}/$(python_get_sitedir)" || die > /dev/null
+ nosetests -v sklearn --exe || die
+ popd > /dev/null
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/scikits_learn/scikits_learn-0.14.1.ebuild b/sci-libs/scikits_learn/scikits_learn-0.14.1.ebuild
new file mode 100644
index 000000000000..d9eb124c9687
--- /dev/null
+++ b/sci-libs/scikits_learn/scikits_learn-0.14.1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3} )
+DISTUTILS_NO_PARALLEL_BUILD=true
+
+inherit distutils-r1 eutils multilib flag-o-matic
+
+MYPN="${PN/scikits_/scikit-}"
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Python modules for machine learning and data mining"
+HOMEPAGE="http://scikit-learn.org"
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/joblib[${PYTHON_USEDEP}]
+ sci-libs/scikits[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MYP}"
+
+python_prepare_all() {
+ # bug #397605
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+
+ # scikits-learn now uses the horrible numpy.distutils automagic
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+
+ # use system joblib
+ rm -r sklearn/externals/joblib/* || die
+ echo "from joblib import *" > sklearn/externals/joblib/__init__.py
+ sed -i -e '/joblib\/test/d' sklearn/externals/setup.py || die
+ sed -i -e 's/..externals.joblib/joblib/g' \
+ sklearn/decomposition/tests/test_sparse_pca.py \
+ sklearn/metrics/pairwise.py || die
+
+ # use gentoo cblas infrastructure
+ epatch "${FILESDIR}"/${P}-system-cblas.patch
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${SCIPY_FCONFIG}
+}
+
+python_compile_all() {
+ if use doc; then
+ cd "${S}/doc"
+ local d="${BUILD_DIR}"/lib
+ ln -s "${S}"/sklearn/datasets/{data,descr,images} \
+ "${d}"/sklearn/datasets
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${d}" \
+ emake html
+ rm -r "${d}"/sklearn/datasets/{data,desr,images}
+ fi
+}
+
+python_test() {
+ # doc builds and runs tests
+ use doc && return
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ esetup.py \
+ install --root="${T}/test-${EPYTHON}" \
+ --no-compile ${SCIPY_FCONFIG}
+ pushd "${T}/test-${EPYTHON}/$(python_get_sitedir)" || die > /dev/null
+ nosetests -v sklearn --exe || die
+ popd > /dev/null
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/scikits_learn/scikits_learn-0.15.1.ebuild b/sci-libs/scikits_learn/scikits_learn-0.15.1.ebuild
new file mode 100644
index 000000000000..e6c0f8bdd046
--- /dev/null
+++ b/sci-libs/scikits_learn/scikits_learn-0.15.1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+DISTUTILS_NO_PARALLEL_BUILD=true
+
+inherit distutils-r1 eutils multilib flag-o-matic
+
+MYPN="${PN/scikits_/scikit-}"
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Python modules for machine learning and data mining"
+HOMEPAGE="http://scikit-learn.org"
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ sci-libs/scikits[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MYP}"
+
+python_prepare_all() {
+ # bug #397605
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+
+ # scikits-learn now uses the horrible numpy.distutils automagic
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+
+ # use system joblib
+ rm -r sklearn/externals/joblib/* || die
+ echo "from joblib import *" > sklearn/externals/joblib/__init__.py
+ sed -i -e '/joblib\/test/d' sklearn/externals/setup.py || die
+ sed -i -e 's/..externals.joblib/joblib/g' \
+ sklearn/decomposition/tests/test_sparse_pca.py \
+ sklearn/metrics/pairwise.py || die
+
+ # use gentoo cblas infrastructure
+ epatch "${FILESDIR}"/${PN}-0.14.1-system-cblas.patch
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${SCIPY_FCONFIG}
+}
+
+python_compile_all() {
+ if use doc; then
+ cd "${S}/doc"
+ local d="${BUILD_DIR}"/lib
+ ln -s "${S}"/sklearn/datasets/{data,descr,images} \
+ "${d}"/sklearn/datasets
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${d}" \
+ emake html
+ rm -r "${d}"/sklearn/datasets/{data,desr,images}
+ fi
+}
+
+python_test() {
+ # doc builds and runs tests
+ use doc && return
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ esetup.py \
+ install --root="${T}/test-${EPYTHON}" \
+ --no-compile ${SCIPY_FCONFIG}
+ pushd "${T}/test-${EPYTHON}/$(python_get_sitedir)" || die > /dev/null
+ nosetests -v sklearn --exe || die
+ popd > /dev/null
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/scikits_learn/scikits_learn-0.15.2.ebuild b/sci-libs/scikits_learn/scikits_learn-0.15.2.ebuild
new file mode 100644
index 000000000000..e6c0f8bdd046
--- /dev/null
+++ b/sci-libs/scikits_learn/scikits_learn-0.15.2.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+DISTUTILS_NO_PARALLEL_BUILD=true
+
+inherit distutils-r1 eutils multilib flag-o-matic
+
+MYPN="${PN/scikits_/scikit-}"
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Python modules for machine learning and data mining"
+HOMEPAGE="http://scikit-learn.org"
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ sci-libs/scikits[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MYP}"
+
+python_prepare_all() {
+ # bug #397605
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+
+ # scikits-learn now uses the horrible numpy.distutils automagic
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+
+ # use system joblib
+ rm -r sklearn/externals/joblib/* || die
+ echo "from joblib import *" > sklearn/externals/joblib/__init__.py
+ sed -i -e '/joblib\/test/d' sklearn/externals/setup.py || die
+ sed -i -e 's/..externals.joblib/joblib/g' \
+ sklearn/decomposition/tests/test_sparse_pca.py \
+ sklearn/metrics/pairwise.py || die
+
+ # use gentoo cblas infrastructure
+ epatch "${FILESDIR}"/${PN}-0.14.1-system-cblas.patch
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${SCIPY_FCONFIG}
+}
+
+python_compile_all() {
+ if use doc; then
+ cd "${S}/doc"
+ local d="${BUILD_DIR}"/lib
+ ln -s "${S}"/sklearn/datasets/{data,descr,images} \
+ "${d}"/sklearn/datasets
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${d}" \
+ emake html
+ rm -r "${d}"/sklearn/datasets/{data,desr,images}
+ fi
+}
+
+python_test() {
+ # doc builds and runs tests
+ use doc && return
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ esetup.py \
+ install --root="${T}/test-${EPYTHON}" \
+ --no-compile ${SCIPY_FCONFIG}
+ pushd "${T}/test-${EPYTHON}/$(python_get_sitedir)" || die > /dev/null
+ nosetests -v sklearn --exe || die
+ popd > /dev/null
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/scikits_learn/scikits_learn-0.16.1.ebuild b/sci-libs/scikits_learn/scikits_learn-0.16.1.ebuild
new file mode 100644
index 000000000000..f4fd867256c0
--- /dev/null
+++ b/sci-libs/scikits_learn/scikits_learn-0.16.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit distutils-r1 eutils multilib flag-o-matic
+
+MYPN="${PN/scikits_/scikit-}"
+MYP="${MYPN}-${PV}"
+
+DESCRIPTION="Python modules for machine learning and data mining"
+HOMEPAGE="http://scikit-learn.org"
+SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RDEPEND="
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ sci-libs/scikits[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ doc? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MYP}"
+
+python_prepare_all() {
+ # bug #397605
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+
+ # scikits-learn now uses the horrible numpy.distutils automagic
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+
+ # use system joblib
+ rm -r sklearn/externals/joblib/* || die
+ echo "from joblib import *" > sklearn/externals/joblib/__init__.py
+ sed -i -e '/joblib\/test/d' sklearn/externals/setup.py || die
+ sed -i -e 's/..externals.joblib/joblib/g' \
+ sklearn/decomposition/tests/test_sparse_pca.py \
+ sklearn/metrics/pairwise.py || die
+
+ # use gentoo cblas infrastructure
+ epatch "${FILESDIR}"/${PN}-0.14.1-system-cblas.patch
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile ${SCIPY_FCONFIG}
+}
+
+python_compile_all() {
+ if use doc; then
+ cd "${S}/doc"
+ local d="${BUILD_DIR}"/lib
+ ln -s "${S}"/sklearn/datasets/{data,descr,images} \
+ "${d}"/sklearn/datasets
+ VARTEXFONTS="${T}"/fonts \
+ MPLCONFIGDIR="${BUILD_DIR}" \
+ PYTHONPATH="${d}" \
+ emake html
+ rm -r "${d}"/sklearn/datasets/{data,desr,images}
+ fi
+}
+
+python_test() {
+ # doc builds and runs tests
+ use doc && return
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ esetup.py \
+ install --root="${T}/test-${EPYTHON}" \
+ --no-compile ${SCIPY_FCONFIG}
+ pushd "${T}/test-${EPYTHON}/$(python_get_sitedir)" || die > /dev/null
+ nosetests -v sklearn --exe || die
+ popd > /dev/null
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete
+ use doc && HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sci-libs/scikits_optimization/Manifest b/sci-libs/scikits_optimization/Manifest
new file mode 100644
index 000000000000..f7b6b327d576
--- /dev/null
+++ b/sci-libs/scikits_optimization/Manifest
@@ -0,0 +1 @@
+DIST scikits.optimization-0.3.tar.gz 25297 SHA256 9e33b1c76feec56dde7495ea4339e661d8d9b018709d82a62ee0332fd24a1c79 SHA512 e8f33f4770d9b0514854e36127c53554823a159363c69d1ca0445a05ca9ebc55bc7105b35b2c615bfbef0c63a2b658d628befccb0ab09bcf98d91f8cb4d8be72 WHIRLPOOL fa3f5bd73cc6da64011766e935a6629c22928ad4e1056297388ccbd8d82e5050580840e603d19f7887a97b68a030f061f2c9e7928725eb465f93d7c61a5f6c44
diff --git a/sci-libs/scikits_optimization/metadata.xml b/sci-libs/scikits_optimization/metadata.xml
new file mode 100644
index 000000000000..8d8255f3901e
--- /dev/null
+++ b/sci-libs/scikits_optimization/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ A Python module for numerical optimization.
+</longdescription>
+<upstream>
+ <remote-id type="pypi">scikits.optimization</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/sci-libs/scikits_optimization/scikits_optimization-0.3.ebuild b/sci-libs/scikits_optimization/scikits_optimization-0.3.ebuild
new file mode 100644
index 000000000000..7b91a527888a
--- /dev/null
+++ b/sci-libs/scikits_optimization/scikits_optimization-0.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${P/scikits_/scikits.}"
+
+DESCRIPTION="Python module for numerical optimization"
+HOMEPAGE="http://projects.scipy.org/scipy/scikits"
+SRC_URI="mirror://pypi/${PN:0:1}/scikits.optimization/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/scikits[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ PYTHONPATH="${BUILD_DIR}/lib/" \
+ esetup.py test || die
+}
diff --git a/sci-libs/scikits_timeseries/Manifest b/sci-libs/scikits_timeseries/Manifest
new file mode 100644
index 000000000000..3b4ae8899012
--- /dev/null
+++ b/sci-libs/scikits_timeseries/Manifest
@@ -0,0 +1,2 @@
+DIST scikits.timeseries-0.91.3-html_docs.zip 907495 SHA256 181db1fa0d4b8eac5235eff79fad393c54ef82163cfcee0d78c550869ad8e11a SHA512 9fb474e2a13dee865801fa5aa5f05bb74ea2387b7e14d716210898d9b338b63b7f1935f7a5514d72ffcd6f4a8552054094244fab199e18c819815d4b19cd3f23 WHIRLPOOL d0dacdd7aa31785b68155f3507e34738d83316e72f5439875c0d641b72a7d600cc8e169fd9c84647fa29f7f4051c83f92884a5d5dd197aec2269093de13a0344
+DIST scikits.timeseries-0.91.3.tar.gz 323771 SHA256 2c4f74f1151763c231df713e9f990d0f7961cae0be59e31d3bb41781eadca6c0 SHA512 ea7292bf4d9bcce416b6f0e2c99fc40afe97a3a0210c535bd68f43a4a553d8a30cb77ce00f96ffc26340d5ff837faf5d480ea775385769495eccb5a196a88617 WHIRLPOOL eb93ae2a3a1cb1a767acff9b07ada738dabaef56f5312a16903f4d49134f630700d794ae81a5dd44501f87cd5c93e46b461b0566fb386fca640e7c4ee61e691a
diff --git a/sci-libs/scikits_timeseries/metadata.xml b/sci-libs/scikits_timeseries/metadata.xml
new file mode 100644
index 000000000000..775e9e167d18
--- /dev/null
+++ b/sci-libs/scikits_timeseries/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>proxy-maintainers</herd>
+ <longdescription lang="en">
+ The scikits.timeseries module provides classes and functions for
+ manipulating, reporting, and plotting time series of various
+ frequencies. The focus is on convenient data access and manipulation
+ while leveraging the existing mathematical functionality in numpy
+ and scipy.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">pytseries</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/scikits_timeseries/scikits_timeseries-0.91.3-r1.ebuild b/sci-libs/scikits_timeseries/scikits_timeseries-0.91.3-r1.ebuild
new file mode 100644
index 000000000000..332bae5afb4f
--- /dev/null
+++ b/sci-libs/scikits_timeseries/scikits_timeseries-0.91.3-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P="${P/scikits_/scikits.}"
+
+DESCRIPTION="SciPy module for manipulating, reporting, and plotting time series"
+HOMEPAGE="http://pytseries.sourceforge.net/index.html"
+SRC_URI="
+ mirror://sourceforge/pytseries/${MY_P}.tar.gz
+ doc? ( mirror://sourceforge/pytseries/${MY_P}-html_docs.zip )"
+
+LICENSE="BSD eGenixPublic-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
+RDEPEND="
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ sci-libs/scikits[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pytables[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+
+python_test() {
+ esetup.py test
+}
+
+python_install() {
+ distutils-r1_python_install
+ rm "${D}"$(python_get_sitedir)/scikits/__init__.py || die
+}
+
+python_install_all() {
+ use doc && HTMLDOCS=( "${WORKDIR}/html" )
+ distutils-r1_python_install_all
+}
diff --git a/sci-libs/scipy/Manifest b/sci-libs/scipy/Manifest
new file mode 100644
index 000000000000..53817b256160
--- /dev/null
+++ b/sci-libs/scipy/Manifest
@@ -0,0 +1,4 @@
+DIST scipy-0.15.1-html.zip 24956050 SHA256 c27d3656ffed1b988890cf192c692f646b00d02a0716122dcf447eff5f186cf2 SHA512 ec8c25d1a8da23a6794315a97177bf3bc1fbac331d562eb2ae6300575eafe040f3ff8d5a884dfe79d7e623313b7b474c095ddb090ce07007cba8fe9bf0fbab27 WHIRLPOOL f4a0a55c209ab3806cf97af74d2948c3f4461d3bdccb36ab1a219a1bcba11c95e1c90f216b36680d161ad24966cbda22356340195f0c13ce23bcafc60a72a279
+DIST scipy-0.15.1-ref.pdf 18313446 SHA256 d96046ddbc91383fb37e3ae2bbdc6945e0c2fc70fa230e0bcda0789e6025ca7e SHA512 9ca6a656e454058273f5153d84acbca42f4ea9b99d0dbfde4a019cbb3ef7e87c4068660bc787506ca749024d45efaea7254614486d56b114c762fc8a69c3b496 WHIRLPOOL b907a6011671b0e0919d48b3e4587fd09cad3f2b463a302e1c9be22facec5f2d599b1eb9497a0cf1e3a0125b3beda0b1e00e7ca2cd40453c49a2df368b9c794e
+DIST scipy-0.15.1.tar.gz 11401878 SHA256 a212cbc3b79e9a563aa45fc5c517b3499198bd7eb7e7be1e047568a5f48c259a SHA512 fff4412d850c431a1b4e6ee3b17958ee5ab3beb81e6cb8a8e7d56d368751eaa8781d7c3e69d932dc002d718fddc66a72098acfe74cfe29ec80b24e6736317275 WHIRLPOOL 31f2f6ca33be1945bedf41f84cf62831c9b22f4d7079d2b0b7b21706b17eb4ab5f3a948be645bcb86a35f3a714e4f277bd66261d02d20d8aeb5077b2095c952f
+DIST scipy-0.16.0.tar.gz 18137295 SHA256 92592f40097098f3fdbe7f5855d535b29bb16719c2bb59c728bce5e7a28790e0 SHA512 943f21a2798db124b7e1fb9257064b725702cc6656a90ae10dda285c36166c378304c7d44a571b5ab4ef6819e995ea42e947417e16b2a665dd6db4a460adbd89 WHIRLPOOL ba99d1ea46522814e9181c8991cede8b8a8f4a00b39d3fffc5fa570a52d4ef57044e9af4bb37ea24e733ec6af226e2787a4e88360c53d7bd67a505446725c62f
diff --git a/sci-libs/scipy/files/scipy-0.12.0-blitz.patch b/sci-libs/scipy/files/scipy-0.12.0-blitz.patch
new file mode 100644
index 000000000000..2817aa39b871
--- /dev/null
+++ b/sci-libs/scipy/files/scipy-0.12.0-blitz.patch
@@ -0,0 +1,28 @@
+Description: Fixes scipy.weave.inline compalition with g++ 4.3 and upwards
+Author: Sameer Morar <smorar@gmail.com>
+Forwarded: http://projects.scipy.org/scipy/scipy/ticket/739
+Bug-Debian: http://bugs.debian.org/598520
+Bug-Ubuntu: https://launchpad.net/bugs/302649
+
+--- a/scipy/weave/blitz/blitz/blitz.h
++++ b/scipy/weave/blitz/blitz/blitz.h
+@@ -65,6 +65,8 @@
+
+ #define BZ_THROW // Needed in <blitz/numinquire.h>
+
++#include <cstdlib>
++
+ BZ_NAMESPACE(blitz)
+
+ #ifdef BZ_HAVE_STD
+--- a/scipy/weave/blitz/blitz/prettyprint.h
++++ b/scipy/weave/blitz/blitz/prettyprint.h
+@@ -22,6 +22,8 @@
+ #ifndef BZ_PRETTYPRINT_H
+ #define BZ_PRETTYPRINT_H
+
++#include <cstdlib>
++
+ BZ_NAMESPACE(blitz)
+
+ class prettyPrintFormat {
diff --git a/sci-libs/scipy/files/scipy-0.12.0-restore-sys-argv.patch b/sci-libs/scipy/files/scipy-0.12.0-restore-sys-argv.patch
new file mode 100644
index 000000000000..3eef739f93a8
--- /dev/null
+++ b/sci-libs/scipy/files/scipy-0.12.0-restore-sys-argv.patch
@@ -0,0 +1,15 @@
+Description: restore sys.argv in case of exception
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500814
+
+--- a/scipy/weave/build_tools.py
++++ b/scipy/weave/build_tools.py
+@@ -283,6 +283,9 @@ def build_extension(module_path,compiler
+ configure_python_path(build_dir)
+ except SyntaxError: #TypeError:
+ success = 0
++ except Exception, e:
++ restore_sys_argv()
++ raise e
+
+ # restore argv after our trick...
+ restore_sys_argv()
diff --git a/sci-libs/scipy/metadata.xml b/sci-libs/scipy/metadata.xml
new file mode 100644
index 000000000000..7d6606f0d5e3
--- /dev/null
+++ b/sci-libs/scipy/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ SciPy is an open source library of scientific tools for Python. SciPy
+ supplements the popular numpy module, gathering a variety of high level
+ science and engineering modules together as a single package.
+ SciPy includes modules for graphics and plotting, optimization,
+ integration, special functions, signal and image processing, genetic
+ algorithms, ODE solvers, and others.
+</longdescription>
+ <use>
+ <flag name="sparse">Adds support for sparse solving with <pkg>sci-libs/umfpack</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">scipy</remote-id>
+ <remote-id type="sourceforge">scipy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/scipy/scipy-0.15.1.ebuild b/sci-libs/scipy/scipy-0.15.1.ebuild
new file mode 100644
index 000000000000..4ff3d432a8b7
--- /dev/null
+++ b/sci-libs/scipy/scipy-0.15.1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+DOC_PV=0.15.1
+
+inherit eutils fortran-2 distutils-r1 flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="http://www.scipy.org/"
+SRC_URI="
+ mirror://sourceforge/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
+ http://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
+ )"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+IUSE="doc sparse test"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+CDEPEND="
+ dev-python/numpy[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:0=
+ virtual/cblas
+ virtual/lapack
+ sparse? ( sci-libs/umfpack:0= )"
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ >=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+
+RDEPEND="${CDEPEND}
+ virtual/python-imaging[${PYTHON_USEDEP}]"
+
+DOCS=( HACKING.rst.txt THANKS.txt )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use sparse && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+
+ # Drop hashes to force rebuild of cython based .c code
+ rm cythonize.dat || die
+
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-0.12.0-blitz.patch
+ "${FILESDIR}"/${PN}-0.12.0-restore-sys-argv.patch
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ ${EPYTHON} tools/cythonize.py || die
+ distutils-r1_python_compile ${SCIPY_FCONFIG}
+}
+
+python_test() {
+ # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ cd "${TEST_DIR}" || die "no ${TEST_DIR} available"
+ "${EPYTHON}" -c "
+import scipy, sys
+r = scipy.test('fast',verbose=2)
+sys.exit(0 if r.wasSuccessful() else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc "${DISTDIR}"/${PN}*pdf
+ docinto html
+ dodoc -r "${WORKDIR}"/html/.
+ fi
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+pkg_postinst() {
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer. Example:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}
diff --git a/sci-libs/scipy/scipy-0.16.0.ebuild b/sci-libs/scipy/scipy-0.16.0.ebuild
new file mode 100644
index 000000000000..a41fb526534c
--- /dev/null
+++ b/sci-libs/scipy/scipy-0.16.0.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+DOC_PV=0.15.1
+
+inherit eutils fortran-2 distutils-r1 flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="http://www.scipy.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ http://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
+ http://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
+ )"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+IUSE="doc sparse test"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+CDEPEND="
+ >=dev-python/numpy-1.6.2[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:0=
+ virtual/cblas
+ virtual/lapack
+ sparse? ( sci-libs/umfpack:0= )"
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ >=dev-python/cython-0.22[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )
+ "
+
+RDEPEND="${CDEPEND}
+ virtual/python-imaging[${PYTHON_USEDEP}]"
+
+DOCS=( HACKING.rst.txt THANKS.txt )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use sparse && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+
+ # Drop hashes to force rebuild of cython based .c code
+ rm cythonize.dat || die
+
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-0.12.0-blitz.patch
+ "${FILESDIR}"/${PN}-0.12.0-restore-sys-argv.patch
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ ${EPYTHON} tools/cythonize.py || die
+ distutils-r1_python_compile ${SCIPY_FCONFIG}
+}
+
+python_test() {
+ # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ cd "${TEST_DIR}" || die "no ${TEST_DIR} available"
+ "${PYTHON}" -c \
+ 'import numpy as np; print("relaxed strides checking:", np.ones((10,1),order="C").flags.f_contiguous)' \
+ || die
+ "${EPYTHON}" -c \
+ "import scipy, sys; r = scipy.test('fast',verbose=2); sys.exit(0 if r.wasSuccessful() else 1)" \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc "${DISTDIR}"/${PN}*pdf
+ docinto html
+ dodoc -r "${WORKDIR}"/html/.
+ fi
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+pkg_postinst() {
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer. Example:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}
diff --git a/sci-libs/scotch/Manifest b/sci-libs/scotch/Manifest
new file mode 100644
index 000000000000..454b3bc8ca69
--- /dev/null
+++ b/sci-libs/scotch/Manifest
@@ -0,0 +1,3 @@
+DIST scotch_5.1.12b_esmumps.tar.gz 3989632 SHA256 82654e63398529cd3bcc8eefdd51d3b3161c0429bb11770e31f8eb0c3790db6e SHA512 8d6e085029f1ec13b74bd583b8fb378db9aef8a005b96bfb726b68a4608caeb31bf7ecaf1af27566e2e4a38dfea03a017d5c2e8dd262562b238cfb113b223671 WHIRLPOOL 85679809826ce09df8a05b09026179dcf4a1424f9f9c44ce97ba172fd18b7dc3af669c686d4ea5b169501dcb011ceab419d0391ae378712302977fb55f35abb8
+DIST scotch_6.0.0_esmumps.tar.gz 4534976 SHA256 8206127d038bda868dda5c5a7f60ef8224f2e368298fbb01bf13fa250e378dd4 SHA512 4509a58363957b009cfc56a0a1ade31e2cb718f50edf7674d00471ee375251d03630e988036e14f545f9f4f270ff4a8b4ebe66a6f9e05b5d769b643bcf9d6067 WHIRLPOOL 7083a767d13d24b7b2640109643bb309bfc267a191537d77d6e31828eb1f875f2d0055f18e4038ebb24536c7d098b1d365524ea06092e1253f894351ba1157c3
+DIST scotch_6.0.4_esmumps.tar.gz 4804966 SHA256 f53f4d71a8345ba15e2dd4e102a35fd83915abf50ea73e1bf6efe1bc2b4220c7 SHA512 0fcf639ab1a09451256444005f1a4a739403159e3ab22c34fbcedc481be387cd4c86be6fb029b4b5816220564f64f662434bf7f1d3921ed18be081ae2a7a9ee2 WHIRLPOOL cadceb30086d586faaefe992dd75329565ce44c4da252526147a88a47be61b92f5ccdeec8cc1c5e3ff5f560c7f296e1aa1e872495ed91c70f3e8272a07435105
diff --git a/sci-libs/scotch/files/scotch-5.1.12b-as-needed.patch b/sci-libs/scotch/files/scotch-5.1.12b-as-needed.patch
new file mode 100644
index 000000000000..73888d8797e7
--- /dev/null
+++ b/sci-libs/scotch/files/scotch-5.1.12b-as-needed.patch
@@ -0,0 +1,112 @@
+diff -Nur src.orig/esmumps/Makefile src/esmumps/Makefile
+--- src.orig/esmumps/Makefile 2012-03-12 00:14:14.536109811 +0000
++++ src/esmumps/Makefile 2012-03-12 04:26:12.884108074 +0000
+@@ -44,7 +44,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(includedir) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) $(<) -o $(@) -L$(libdir) $(LDFLAGS) -L. -l$(ESMUMPSLIB) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit
++ $(CC) $(CFLAGS) -I$(includedir) $(<) -L$(libdir) -L. -l$(ESMUMPSLIB) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -57,9 +57,9 @@
+ libesmumps$(LIB) \
+ main_esmumps$(EXE)
+
+-ptscotch : clean
++ptscotch : clean common.h
+ $(MAKE) CFLAGS="$(CFLAGS) -DSCOTCH_PTSCOTCH" CC=$(CCP) SCOTCHLIB=ptscotch ESMUMPSLIB=ptesmumps \
+- libesmumps$(LIB) \
++ libptesmumps$(LIB) \
+ main_esmumps$(EXE)
+
+ install :
+@@ -142,7 +142,7 @@
+ common.h \
+ esmumps.h
+
+-libesmumps$(LIB) : graph_graph$(OBJ) \
++lib$(ESMUMPSLIB)$(LIB) : graph_graph$(OBJ) \
+ order$(OBJ) \
+ order_scotch_graph$(OBJ) \
+ dof$(OBJ) \
+diff -Nur src.orig/libscotch/Makefile src/libscotch/Makefile
+--- src.orig/libscotch/Makefile 2012-03-12 00:14:14.496108751 +0000
++++ src/libscotch/Makefile 2012-03-12 01:32:28.562403624 +0000
+@@ -43,7 +43,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CC) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LDFLAGS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -2543,7 +2543,7 @@
+ mapping.h \
+ order.h \
+ parser.h
+- $(CCD) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CCD) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LDFLAGS) -o $(@)
+
+ scotch.h : dummysizes$(EXE) \
+ library.h
+diff -Nur src.orig/libscotchmetis/Makefile src/libscotchmetis/Makefile
+--- src.orig/libscotchmetis/Makefile 2012-03-12 00:14:14.456107691 +0000
++++ src/libscotchmetis/Makefile 2012-03-12 01:35:00.166422784 +0000
+@@ -44,7 +44,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(includedir) -I../libscotch -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) $(LDFLAGS)
++ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) $(LDFLAGS) -o $(@)
+
+ ##
+ ## Project rules.
+diff -Nur src.orig/scotch/Makefile src/scotch/Makefile
+--- src.orig/scotch/Makefile 2012-03-12 00:14:14.536109811 +0000
++++ src/scotch/Makefile 2012-03-12 00:50:22.033571205 +0000
+@@ -41,13 +41,13 @@
+ include ../Makefile.inc
+
+ %$(EXE) : %$(OBJ)
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS) -o $(@)
+
+ %$(OBJ) : %.c
+ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -205,7 +205,7 @@
+ $(libdir)/libptscotch$(LIB) \
+ $(libdir)/libptscotcherrexit$(LIB) \
+ dgmap.h
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -o $(@) -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS) -o $(@)
+
+ dgscat$(EXE) : dgscat.c \
+ ../libscotch/module.h \
+@@ -315,7 +315,7 @@
+ gout_o.c \
+ $(includedir)/scotch.h \
+ $(libdir)/libscotch$(LIB)
+- $(CC) $(CFLAGS) -I../libscotch -I$(includedir) gout_c.c gout_o.c -o $(@) -L$(libdir) -lscotch -lscotcherrexit $(LDFLAGS)
++ $(CC) $(CFLAGS) -I../libscotch -I$(includedir) gout_c.c gout_o.c -L$(libdir) -lscotch -lscotcherrexit $(LDFLAGS) -o $(@)
+
+ gpart$(EXE) : gmap.c \
+ ../libscotch/module.h \
+@@ -324,7 +324,7 @@
+ $(libdir)/libscotch$(LIB) \
+ $(libdir)/libscotcherrexit$(LIB) \
+ gmap.h
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -o $(@) -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -L$(libdir) -l$(SCOTCHLIB) -l$(SCOTCHLIB)errexit $(LDFLAGS) -o $(@)
+
+
+ gscat$(EXE) : gscat.c \
diff --git a/sci-libs/scotch/files/scotch-6.0.0-as-needed.patch b/sci-libs/scotch/files/scotch-6.0.0-as-needed.patch
new file mode 100644
index 000000000000..ad41380de884
--- /dev/null
+++ b/sci-libs/scotch/files/scotch-6.0.0-as-needed.patch
@@ -0,0 +1,128 @@
+diff -Nur src.orig/check/Makefile src/check/Makefile
+--- src.orig/check/Makefile 2013-02-07 17:27:00.000000000 +0000
++++ src/check/Makefile 2013-02-07 17:27:21.000000000 +0000
+@@ -48,7 +48,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(SCOTCHINCLUDEDIR) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(SCOTCHINCLUDEDIR) -L$(SCOTCHLIBDIR) $(<) -o $(@) $(SCOTCHLIBS) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(SCOTCHINCLUDEDIR) -L$(SCOTCHLIBDIR) $(<) $(SCOTCHLIBS) $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+diff -Nur src.orig/esmumps/Makefile src/esmumps/Makefile
+--- src.orig/esmumps/Makefile 2013-02-07 17:27:00.000000000 +0000
++++ src/esmumps/Makefile 2013-02-07 17:28:11.000000000 +0000
+@@ -44,7 +44,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(includedir) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) $(<) -o $(@) -L$(libdir) $(LDFLAGS) -L. -l$(ESMUMPSLIB) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit -lm
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) $(<) -L$(libdir) -L. -l$(ESMUMPSLIB) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -57,7 +57,7 @@
+ libesmumps$(LIB) \
+ main_esmumps$(EXE)
+
+-ptscotch : clean
++ptscotch : clean common.h
+ $(MAKE) CFLAGS="$(CFLAGS) -DSCOTCH_PTSCOTCH" CC=$(CCP) SCOTCHLIB=ptscotch ESMUMPSLIB=ptesmumps \
+ libesmumps$(LIB) \
+ main_esmumps$(EXE)
+@@ -160,6 +160,6 @@
+ order.h \
+ symbol.h \
+ esmumps.h \
+- lib$(ESMUMPSLIB)$(LIB) \
++ libesmumps$(LIB) \
+ $(libdir)/lib$(SCOTCHLIB)$(LIB) \
+ $(libdir)/lib$(SCOTCHLIB)errexit$(LIB)
+diff -Nur src.orig/libscotch/Makefile src/libscotch/Makefile
+--- src.orig/libscotch/Makefile 2013-02-07 17:27:00.000000000 +0000
++++ src/libscotch/Makefile 2013-02-07 17:27:21.000000000 +0000
+@@ -43,7 +43,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -2908,14 +2908,14 @@
+ mapping.h \
+ order.h \
+ parser.h
+- $(CCD) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CCD) $(CFLAGS) $(LDFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LIBS) -o $(@)
+
+ ptdummysizes$(EXE) : dummysizes.c \
+ module.h \
+ common.h \
+ dgraph.h \
+ dorder.h
+- $(CCD) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CCD) $(CFLAGS) $(LDFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LIBS) -o $(@)
+
+ scotch.h : dummysizes$(EXE) \
+ library.h
+diff -Nur src.orig/libscotchmetis/Makefile src/libscotchmetis/Makefile
+--- src.orig/libscotchmetis/Makefile 2013-02-07 17:27:00.000000000 +0000
++++ src/libscotchmetis/Makefile 2013-02-07 17:27:21.000000000 +0000
+@@ -44,7 +44,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(includedir) -I../libscotch -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -o $(@)
+
+ ##
+ ## Project rules.
+diff -Nur src.orig/scotch/Makefile src/scotch/Makefile
+--- src.orig/scotch/Makefile 2013-02-07 17:27:00.000000000 +0000
++++ src/scotch/Makefile 2013-02-07 17:27:21.000000000 +0000
+@@ -41,13 +41,13 @@
+ include ../Makefile.inc
+
+ %$(EXE) : %$(OBJ)
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LIBS) -o $(@)
+
+ %$(OBJ) : %.c
+ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -205,7 +205,7 @@
+ $(libdir)/libptscotch$(LIB) \
+ $(libdir)/libptscotcherrexit$(LIB) \
+ dgmap.h
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -o $(@) -L$(libdir) -lptscotch -lscotch -lptscotcherrexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -L$(libdir) -lptscotch -lscotch -lptscotcherrexit $(LIBS) -o $(@)
+
+ dgscat$(EXE) : dgscat.c \
+ ../libscotch/module.h \
+@@ -315,7 +315,7 @@
+ gout_o.c \
+ $(includedir)/scotch.h \
+ $(libdir)/libscotch$(LIB)
+- $(CC) $(CFLAGS) -I../libscotch -I$(includedir) gout_c.c gout_o.c -o $(@) -L$(libdir) -lscotch -lscotcherrexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I../libscotch -I$(includedir) gout_c.c gout_o.c -L$(libdir) -lscotch -lscotcherrexit $(LIBS) -o $(@)
+
+ gpart$(EXE) : gmap.c \
+ ../libscotch/module.h \
+@@ -324,7 +324,7 @@
+ $(libdir)/libscotch$(LIB) \
+ $(libdir)/libscotcherrexit$(LIB) \
+ gmap.h
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -o $(@) -L$(libdir) -lscotch -lscotcherrexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -L$(libdir) -lscotch -lscotcherrexit $(LIBS) -o $(@)
+
+ gscat$(EXE) : gscat.c \
+ ../libscotch/module.h \
diff --git a/sci-libs/scotch/files/scotch-6.0.4-as-needed.patch b/sci-libs/scotch/files/scotch-6.0.4-as-needed.patch
new file mode 100644
index 000000000000..449449bec073
--- /dev/null
+++ b/sci-libs/scotch/files/scotch-6.0.4-as-needed.patch
@@ -0,0 +1,128 @@
+diff -Nur scotch_6.0.4/src/check/Makefile scotch_6.0.4_patched/src/check/Makefile
+--- scotch_6.0.4/src/check/Makefile 2015-03-01 03:18:02.000000000 -0700
++++ scotch_6.0.4_patched/src/check/Makefile 2015-07-17 15:15:58.447398954 -0600
+@@ -53,7 +53,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(SCOTCHINCLUDEDIR) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(SCOTCHINCLUDEDIR) -L$(SCOTCHLIBDIR) $(<) -o $(@) $(SCOTCHLIBS) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(SCOTCHINCLUDEDIR) -L$(SCOTCHLIBDIR) $(<) $(SCOTCHLIBS) $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+diff -Nur scotch_6.0.4/src/esmumps/Makefile scotch_6.0.4_patched/src/esmumps/Makefile
+--- scotch_6.0.4/src/esmumps/Makefile 2015-03-13 17:32:06.000000000 -0600
++++ scotch_6.0.4_patched/src/esmumps/Makefile 2015-07-17 15:17:47.389600699 -0600
+@@ -44,7 +44,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(includedir) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) $(<) -o $(@) -L$(libdir) $(LDFLAGS) -L. -l$(ESMUMPSLIB) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit -lm
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) $(<) -L$(libdir) -L. -l$(ESMUMPSLIB) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -57,7 +57,7 @@
+ libesmumps$(LIB) \
+ main_esmumps$(EXE)
+
+-ptscotch : clean
++ptscotch : clean common.h
+ $(MAKE) CFLAGS="$(CFLAGS) -DSCOTCH_PTSCOTCH" CC="$(CCP)" SCOTCHLIB=ptscotch ESMUMPSLIB=ptesmumps \
+ libesmumps$(LIB) \
+ main_esmumps$(EXE)
+@@ -160,6 +160,6 @@
+ order.h \
+ symbol.h \
+ esmumps.h \
+- lib$(ESMUMPSLIB)$(LIB) \
++ libesmumps$(LIB) \
+ $(libdir)/lib$(SCOTCHLIB)$(LIB) \
+ $(libdir)/lib$(SCOTCHLIB)errexit$(LIB)
+diff -Nur scotch_6.0.4/src/libscotch/Makefile scotch_6.0.4_patched/src/libscotch/Makefile
+--- scotch_6.0.4/src/libscotch/Makefile 2014-09-23 13:28:28.000000000 -0600
++++ scotch_6.0.4_patched/src/libscotch/Makefile 2015-07-17 15:19:17.320116484 -0600
+@@ -43,7 +43,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -2937,14 +2937,14 @@
+ mapping.h \
+ order.h \
+ parser.h
+- $(CCD) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CCD) $(CFLAGS) $(LDFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LIBS) -o $(@)
+
+ ptdummysizes$(EXE) : dummysizes.c \
+ module.h \
+ common.h \
+ dgraph.h \
+ dorder.h
+- $(CCD) $(CFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) -o $(@) $(LDFLAGS)
++ $(CCD) $(CFLAGS) $(LDFLAGS) -DSCOTCH_VERSION=$(VERSION) -DSCOTCH_RELEASE=$(RELEASE) -DSCOTCH_PATCHLEVEL=$(PATCHLEVEL) $(<) $(LIBS) -o $(@)
+
+ scotch.h : dummysizes$(EXE) \
+ library.h
+diff -Nur scotch_6.0.4/src/libscotchmetis/Makefile scotch_6.0.4_patched/src/libscotchmetis/Makefile
+--- scotch_6.0.4/src/libscotchmetis/Makefile 2011-09-06 10:46:48.000000000 -0600
++++ scotch_6.0.4_patched/src/libscotchmetis/Makefile 2015-07-17 15:19:42.648698497 -0600
+@@ -44,7 +44,7 @@
+ $(CC) $(CFLAGS) $(CLIBFLAGS) -I$(includedir) -I../libscotch -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -o $(@)
+
+ ##
+ ## Project rules.
+diff -Nur scotch_6.0.4/src/scotch/Makefile scotch_6.0.4_patched/src/scotch/Makefile
+--- scotch_6.0.4/src/scotch/Makefile 2015-02-24 15:39:44.000000000 -0700
++++ scotch_6.0.4_patched/src/scotch/Makefile 2015-07-17 15:22:25.275015105 -0600
+@@ -41,13 +41,13 @@
+ include ../Makefile.inc
+
+ %$(EXE) : %$(OBJ)
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LIBS) -o $(@)
+
+ %$(OBJ) : %.c
+ $(CC) $(CFLAGS) -I$(includedir) -I../libscotch -c $(<) -o $(@)
+
+ %$(EXE) : %.c
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -o $(@) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -L$(libdir) -l$(SCOTCHLIB) -lscotch -l$(SCOTCHLIB)errexit $(LIBS) -o $(@)
+
+ ##
+ ## Project rules.
+@@ -209,7 +209,7 @@
+ $(libdir)/libptscotch$(LIB) \
+ $(libdir)/libptscotcherrexit$(LIB) \
+ dgmap.h
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -o $(@) -L$(libdir) -lptscotch -lscotch -lptscotcherrexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -L$(libdir) -lptscotch -lscotch -lptscotcherrexit $(LIBS) -o $(@)
+
+ dgscat$(EXE) : dgscat.c \
+ ../libscotch/module.h \
+@@ -321,7 +321,7 @@
+ gout_o.c \
+ $(includedir)/scotch.h \
+ $(libdir)/libscotch$(LIB)
+- $(CC) $(CFLAGS) -I../libscotch -I$(includedir) gout_c.c gout_o.c -o $(@) -L$(libdir) -lscotch -lscotcherrexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I../libscotch -I$(includedir) gout_c.c gout_o.c -L$(libdir) -lscotch -lscotcherrexit $(LIBS) -o $(@)
+
+ gpart$(EXE) : gmap.c \
+ ../libscotch/module.h \
+@@ -330,7 +330,7 @@
+ $(libdir)/libscotch$(LIB) \
+ $(libdir)/libscotcherrexit$(LIB) \
+ gmap.h
+- $(CC) $(CFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -o $(@) -L$(libdir) -lscotch -lscotcherrexit $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -I$(includedir) -I../libscotch $(<) -DSCOTCH_COMPILE_PART -L$(libdir) -lscotch -lscotcherrexit $(LIBS) -o $(@)
+
+ gscat$(EXE) : gscat.c \
+ ../libscotch/module.h \
diff --git a/sci-libs/scotch/metadata.xml b/sci-libs/scotch/metadata.xml
new file mode 100644
index 000000000000..9101538cfd17
--- /dev/null
+++ b/sci-libs/scotch/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<herd>proxy-maintainers</herd>
+<maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+</maintainer>
+<maintainer>
+ <email>oli.borm@web.de</email>
+ <name>Oliver Borm</name>
+</maintainer>
+<use>
+ <flag name="int64">Build the 64 bits integer library (needed for &gt; 2^31 vertices)</flag>
+ <flag name="tools">Build and install extra exec tools</flag>
+</use>
+<longdescription lang="en">
+ SCOTCH is a software package and libraries for graph, mesh and
+ hypergraph partitioning, static mapping, and sparse matrix block
+ ordering.
+ Its purpose of Scotch is to apply graph theory, with a divide and
+ conquer approach, to scientific computing problems such as graph and
+ mesh partitioning, static mapping, and sparse matrix ordering, in
+ application domains ranging from structural mechanics to operating
+ systems or bio-chemistry.
+ The SCOTCH distribution is a set of programs and libraries which
+ implement the static mapping and sparse matrix reordering algorithms
+ developed within the SCOTCH project.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/scotch/scotch-5.1.12b.ebuild b/sci-libs/scotch/scotch-5.1.12b.ebuild
new file mode 100644
index 000000000000..0693d1c6b751
--- /dev/null
+++ b/sci-libs/scotch/scotch-5.1.12b.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils toolchain-funcs versionator flag-o-matic multilib
+
+# use esmumps version to allow linking with mumps
+MYP="${PN}_${PV}_esmumps"
+# download id on gforge changes every goddamn release
+DID=28978
+
+DESCRIPTION="Software for graph, mesh and hypergraph partitioning"
+HOMEPAGE="http://www.labri.u-bordeaux.fr/perso/pelegrin/scotch/"
+# broken ssl cert, so mirroring
+#SRC_URI="http://gforge.inria.fr/frs/download.php/${DID}/${MYP}.tar.gz"
+SRC_URI="http://dev.gentooexperimental.org/~patrick/${MYP}.tar.gz"
+
+LICENSE="CeCILL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples int64 mpi static-libs tools"
+
+DEPEND="sys-libs/zlib
+ mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MYP/b}"
+
+static_to_shared() {
+ local libstatic=${1}; shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname $(get_version_component_range 1-2))
+ local libdir=$(dirname ${libstatic})
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ [[ $(get_version_component_count) -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+ sed -e "s/gcc/$(tc-getCC)/" \
+ -e "s/-O3/${CFLAGS} -pthread/" \
+ -e "s/ ar/ $(tc-getAR)/" \
+ -e "s/ranlib/$(tc-getRANLIB)/" \
+ src/Make.inc/Makefile.inc.i686_pc_linux2 > src/Makefile.inc || die
+ use int64 && append-cflags -DIDXSIZE64
+}
+
+src_compile() {
+ emake -C src CLIBFLAGS=-fPIC
+ static_to_shared lib/libscotcherr.a
+ static_to_shared lib/libscotcherrexit.a
+ static_to_shared lib/libscotch.a -Llib -lz -lm -lrt -lscotcherr
+ static_to_shared lib/libesmumps.a -Llib -lscotch
+ static_to_shared lib/libscotchmetis.a -Llib -lscotch
+
+ if use mpi; then
+ emake -C src CLIBFLAGS=-fPIC ptscotch
+ export LINK=mpicc
+ static_to_shared lib/libptscotcherr.a
+ static_to_shared lib/libptscotcherrexit.a
+ static_to_shared lib/libptscotch.a -Llib -lptscotcherr -lz -lm -lrt
+ static_to_shared lib/libptesmumps.a -Llib -lptscotch
+ static_to_shared lib/libptscotchparmetis.a -Llib -lptscotch
+ fi
+ if use static-libs; then
+ emake -C src clean
+ emake -C src
+ use mpi && emake -C src ptscotch
+ fi
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/*.a
+
+ insinto /usr/include/scotch
+ doins include/*
+
+ cat <<-EOF > scotchmetis.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: scotchmetis
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lscotchmetis -lscotcherr -lscotch
+ Private: -lm -lz -lrt
+ Cflags: -I\${includedir}/scotch
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins scotchmetis.pc
+
+ # not sure it is actually a full replacement of metis
+ #alternatives_for metis scotch 0 \
+ # /usr/$(get_libdir)/pkgconfig/metis.pc scotchmetis.pc
+
+ if use mpi; then
+ cat <<-EOF > ptscotchparmetis.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ptscotchparmetis
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lptscotchparmetis -lptscotcherr -lptscotch
+ Private: -lm -lz -lrt
+ Cflags: -I\${includedir}/scotch
+ Requires: scotchmetis
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ptscotchparmetis.pc
+ # not sure it is actually a full replacement of parmetis
+ #alternatives_for metis-mpi ptscotch 0 \
+ # /usr/$(get_libdir)/pkgconfig/metis-mpi.pc ptscotchparmetis.pc
+ fi
+
+ dodoc README.txt
+
+ if use tools; then
+ local b m
+ pushd bin > /dev/null
+ for b in *; do
+ newbin ${b} scotch_${b}
+ done
+ popd > /dev/null
+
+ pushd man/man1 > /dev/null
+ for m in *; do
+ newman ${m} scotch_${m}
+ done
+ popd > /dev/null
+ fi
+
+ use doc && dodoc doc/*.pdf
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/* tgt grf
+ fi
+}
diff --git a/sci-libs/scotch/scotch-6.0.0.ebuild b/sci-libs/scotch/scotch-6.0.0.ebuild
new file mode 100644
index 000000000000..4b19571e4b89
--- /dev/null
+++ b/sci-libs/scotch/scotch-6.0.0.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs versionator flag-o-matic multilib
+
+# use esmumps version to allow linking with mumps
+MYP="${PN}_${PV}_esmumps"
+# download id on gforge changes every goddamn release
+DID=31832
+SOVER=$(get_major_version)
+
+DESCRIPTION="Software for graph, mesh and hypergraph partitioning"
+HOMEPAGE="http://www.labri.u-bordeaux.fr/perso/pelegrin/scotch/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/${DID}/${MYP}.tar.gz"
+
+LICENSE="CeCILL-2"
+SLOT="0/${SOVER}"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc int64 mpi static-libs tools threads"
+
+DEPEND="
+ sys-libs/zlib
+ mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MYP/b}"
+
+static_to_shared() {
+ local libstatic=${1}; shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname ${SOVER})
+ local libdir=$(dirname ${libstatic})
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ [[ $(get_version_component_count) -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+ use int64 && append-cflags -DIDXSIZE64
+ if use threads; then
+ append-cflags "-DSCOTCH_PTHREAD_NUMBER=$(nproc)"
+ else
+ append-cflags "-DSCOTCH_PTHREAD_NUMBER=1"
+ sed -i \
+ -e 's/ -DSCOTCH_PTHREAD//' \
+ src/Make.inc/Makefile.inc.i686_pc_linux3 || die
+ fi
+ sed -e "s/gcc/$(tc-getCC)/" \
+ -e "s/-O3/${CFLAGS} -pthread/" \
+ -e "s/ ar/ $(tc-getAR)/" \
+ -e "s/ranlib/$(tc-getRANLIB)/" \
+ -e "s/LDFLAGS/LIBS/" \
+ src/Make.inc/Makefile.inc.i686_pc_linux3 > src/Makefile.inc || die
+}
+
+src_compile() {
+ emake -C src CLIBFLAGS=-fPIC scotch esmumps
+ static_to_shared lib/libscotcherr.a
+ static_to_shared lib/libscotcherrexit.a
+ static_to_shared lib/libscotch.a -Llib -lz -lm -lrt -lpthread -lscotcherr
+ static_to_shared lib/libesmumps.a -Llib -lscotch
+ static_to_shared lib/libscotchmetis.a -Llib -lscotch
+
+ if use mpi; then
+ emake -C src CLIBFLAGS=-fPIC ptscotch ptesmumps
+ export LINK=mpicc
+ static_to_shared lib/libptscotcherr.a
+ static_to_shared lib/libptscotcherrexit.a
+ static_to_shared lib/libptscotch.a -Llib -lscotch -lptscotcherr -lz -lm -lrt
+ static_to_shared lib/libptesmumps.a -Llib -lscotch -lptscotch
+ static_to_shared lib/libptscotchparmetis.a -Llib -lscotch -lptscotch
+ fi
+ if use static-libs; then
+ emake -C src clean
+ emake -C src
+ use mpi && emake -C src ptscotch
+ fi
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/lib" emake -C src check
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/*.a
+
+ insinto /usr/include/scotch
+ doins include/*
+
+ cat <<-EOF > scotchmetis.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: scotchmetis
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lscotchmetis -lscotcherr -lscotch
+ Private: -lm -lz -lrt
+ Cflags: -I\${includedir}/scotch
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins scotchmetis.pc
+
+ # not sure it is actually a full replacement of metis
+ #alternatives_for metis scotch 0 \
+ # /usr/$(get_libdir)/pkgconfig/metis.pc scotchmetis.pc
+
+ if use mpi; then
+ cat <<-EOF > ptscotchparmetis.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ptscotchparmetis
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lptscotchparmetis -lptscotcherr -lptscotch
+ Private: -lm -lz -lrt
+ Cflags: -I\${includedir}/scotch
+ Requires: scotchmetis
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ptscotchparmetis.pc
+ # not sure it is actually a full replacement of parmetis
+ #alternatives_for metis-mpi ptscotch 0 \
+ # /usr/$(get_libdir)/pkgconfig/metis-mpi.pc ptscotchparmetis.pc
+ fi
+
+ dodoc README.txt
+
+ if use tools; then
+ local b m
+ pushd bin > /dev/null
+ for b in *; do
+ newbin ${b} scotch_${b}
+ done
+ popd > /dev/null
+
+ pushd man/man1 > /dev/null
+ for m in *; do
+ newman ${m} scotch_${m}
+ done
+ popd > /dev/null
+ fi
+
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/scotch/scotch-6.0.4.ebuild b/sci-libs/scotch/scotch-6.0.4.ebuild
new file mode 100644
index 000000000000..11d128e8acd9
--- /dev/null
+++ b/sci-libs/scotch/scotch-6.0.4.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs versionator flag-o-matic multilib
+
+# use esmumps version to allow linking with mumps
+MYP="${PN}_${PV}_esmumps"
+# download id on gforge changes every goddamn release
+DID=34618
+SOVER=$(get_major_version)
+
+DESCRIPTION="Software for graph, mesh and hypergraph partitioning"
+HOMEPAGE="http://www.labri.u-bordeaux.fr/perso/pelegrin/scotch/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/${DID}/${MYP}.tar.gz"
+
+LICENSE="CeCILL-2"
+SLOT="0/${SOVER}"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc int64 mpi static-libs tools threads"
+
+DEPEND="
+ sys-libs/zlib
+ mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${P/-/_}
+
+static_to_shared() {
+ local libstatic=${1}; shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname ${SOVER})
+ local libdir=$(dirname ${libstatic})
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ [[ $(get_version_component_count) -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-as-needed.patch
+ use int64 && append-cflags -DIDXSIZE64
+ if use threads; then
+ append-cflags "-DSCOTCH_PTHREAD_NUMBER=$(nproc)"
+ else
+ append-cflags "-DSCOTCH_PTHREAD_NUMBER=1"
+ sed -i \
+ -e 's/ -DSCOTCH_PTHREAD//' \
+ src/Make.inc/Makefile.inc.i686_pc_linux3 || die
+ fi
+ sed -e "s/gcc/$(tc-getCC)/" \
+ -e "s/-O3/${CFLAGS} -pthread/" \
+ -e "s/ ar/ $(tc-getAR)/" \
+ -e "s/ranlib/$(tc-getRANLIB)/" \
+ -e "s/LDFLAGS/LIBS/" \
+ src/Make.inc/Makefile.inc.i686_pc_linux3 > src/Makefile.inc || die
+}
+
+src_compile() {
+ emake -C src CLIBFLAGS=-fPIC scotch esmumps
+ static_to_shared lib/libscotcherr.a
+ static_to_shared lib/libscotcherrexit.a
+ static_to_shared lib/libscotch.a -Llib -lz -lm -lrt -lpthread -lscotcherr
+ static_to_shared lib/libesmumps.a -Llib -lscotch
+ static_to_shared lib/libscotchmetis.a -Llib -lscotch
+
+ if use mpi; then
+ emake -C src CLIBFLAGS=-fPIC ptscotch ptesmumps
+ export LINK=mpicc
+ static_to_shared lib/libptscotcherr.a
+ static_to_shared lib/libptscotcherrexit.a
+ static_to_shared lib/libptscotch.a -Llib -lscotch -lptscotcherr -lz -lm -lrt
+ static_to_shared lib/libptesmumps.a -Llib -lscotch -lptscotch
+ static_to_shared lib/libptscotchparmetis.a -Llib -lscotch -lptscotch
+ fi
+ if use static-libs; then
+ emake -C src clean
+ emake -C src
+ use mpi && emake -C src ptscotch
+ fi
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/lib" emake -C src check
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/*.a
+
+ insinto /usr/include/scotch
+ doins include/*
+
+ cat <<-EOF > scotchmetis.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: scotchmetis
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lscotchmetis -lscotcherr -lscotch
+ Private: -lm -lz -lrt
+ Cflags: -I\${includedir}/scotch
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins scotchmetis.pc
+
+ # not sure it is actually a full replacement of metis
+ #alternatives_for metis scotch 0 \
+ # /usr/$(get_libdir)/pkgconfig/metis.pc scotchmetis.pc
+
+ if use mpi; then
+ cat <<-EOF > ptscotchparmetis.pc
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ptscotchparmetis
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lptscotchparmetis -lptscotcherr -lptscotch
+ Private: -lm -lz -lrt
+ Cflags: -I\${includedir}/scotch
+ Requires: scotchmetis
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ptscotchparmetis.pc
+ # not sure it is actually a full replacement of parmetis
+ #alternatives_for metis-mpi ptscotch 0 \
+ # /usr/$(get_libdir)/pkgconfig/metis-mpi.pc ptscotchparmetis.pc
+ fi
+
+ dodoc README.txt
+
+ if use tools; then
+ local b m
+ pushd bin > /dev/null
+ for b in *; do
+ newbin ${b} scotch_${b}
+ done
+ popd > /dev/null
+
+ pushd man/man1 > /dev/null
+ for m in *; do
+ newman ${m} scotch_${m}
+ done
+ popd > /dev/null
+ fi
+
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/shapelib/Manifest b/sci-libs/shapelib/Manifest
new file mode 100644
index 000000000000..86aae200b2f3
--- /dev/null
+++ b/sci-libs/shapelib/Manifest
@@ -0,0 +1 @@
+DIST shapelib-1.3.0.tar.gz 156301 SHA256 23d474016158ab5077db2f599527631706ba5c0dc7c4178a6a1d685bb014f68f SHA512 286a9faf7d7a6d88db3cceffb4e0fe335e5d754244b4e83110862ba0f88904aa10dd2814aa0c93d7531781cb318052d3f683160c9644f83f93e7d20108ac3b60 WHIRLPOOL 79b44dac05f8ca5e10809f7af1e9d0d1f1f5a2c7009698aa5dd33260a362c75b7e7f09cf535d58b6510f355ff5dfb193f2a0c7d14ef913caa4a0d5b099ef3a5b
diff --git a/sci-libs/shapelib/files/fix-shapelib-test.diff b/sci-libs/shapelib/files/fix-shapelib-test.diff
new file mode 100644
index 000000000000..859a5838047b
--- /dev/null
+++ b/sci-libs/shapelib/files/fix-shapelib-test.diff
@@ -0,0 +1,30 @@
+--- makeshape.sh.orig 2003-04-07 15:03:22.000000000 +0200
++++ makeshape.sh 2009-09-06 11:31:37.000000000 +0200
+@@ -5,17 +5,17 @@
+ # should display in ARCView II.
+ #
+
+-shpcreate test polygon
+-dbfcreate test.dbf -s Description 30 -n TestInt 6 0 -n TestDouble 16 5
++./shpcreate test polygon
++./dbfcreate test.dbf -s Description 30 -n TestInt 6 0 -n TestDouble 16 5
+
+-shpadd test 0 0 100 0 100 100 0 100 0 0 + 20 20 20 30 30 30 20 20
+-dbfadd test.dbf "Square with triangle missing" 1.5 2.5
++./shpadd test 0 0 100 0 100 100 0 100 0 0 + 20 20 20 30 30 30 20 20
++./dbfadd test.dbf "Square with triangle missing" 1.5 2.5
+
+-shpadd test 150 150 160 150 180 170 150 150
+-dbfadd test.dbf "Smaller triangle" 100 1000.25
++./shpadd test 150 150 160 150 180 170 150 150
++./dbfadd test.dbf "Smaller triangle" 100 1000.25
+
+-shpadd test 150 150 160 150 180 170 150 150
+-dbfadd test.dbf "" "" ""
++./shpadd test 150 150 160 150 180 170 150 150
++./dbfadd test.dbf "" "" ""
+
+-shpdump test.shp
+-dbfdump test.dbf
++./shpdump test.shp
++./dbfdump test.dbf
diff --git a/sci-libs/shapelib/files/makefile-fix.patch b/sci-libs/shapelib/files/makefile-fix.patch
new file mode 100644
index 000000000000..f30bbfc2d215
--- /dev/null
+++ b/sci-libs/shapelib/files/makefile-fix.patch
@@ -0,0 +1,9 @@
+--- Makefile.orig 2009-10-17 23:37:30.307257014 -0700
++++ Makefile 2009-10-17 23:38:25.914190883 -0700
+@@ -1,6 +1,7 @@
+
+ #LINKOPT = /usr/local/lib/libdbmalloc.a
++LINKOPT = $(LDFLAGS)
+ CFLAGS = -g
+
+ default: all
diff --git a/sci-libs/shapelib/files/shapelib-1.3.0-respect-user.patch b/sci-libs/shapelib/files/shapelib-1.3.0-respect-user.patch
new file mode 100644
index 000000000000..04963108ec42
--- /dev/null
+++ b/sci-libs/shapelib/files/shapelib-1.3.0-respect-user.patch
@@ -0,0 +1,118 @@
+ Makefile | 41 ++++++++++++++++++++---------------------
+ 1 file changed, 20 insertions(+), 21 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0c41d8a..4149412 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,8 +1,9 @@
+
+-PREFIX = /usr/local
+-CFLAGS = -g -Wall -fPIC
++PREFIX ?= /usr/localxs
++CFLAGS ?= -g -Wall -fPIC
+ #CFLAGS = -g -DUSE_CPL
+ #CC = g++
++AR ?= ar
+
+ LIBOBJ = shpopen.o dbfopen.o safileio.o shptree.o
+ SHPBIN = shpcreate shpadd shpdump shprewind dbfcreate dbfadd dbfdump \
+@@ -10,7 +11,7 @@ SHPBIN = shpcreate shpadd shpdump shprewind dbfcreate dbfadd dbfdump \
+
+ default: all
+
+-all: $(SHPBIN) shptest lib
++all: $(SHPBIN) lib
+
+ shpopen.o: shpopen.c shapefil.h
+ $(CC) $(CFLAGS) -c shpopen.c
+@@ -25,46 +26,46 @@ safileio.o: safileio.c shapefil.h
+ $(CC) $(CFLAGS) -c safileio.c
+
+ shpcreate: shpcreate.c shpopen.o safileio.o
+- $(CC) $(CFLAGS) shpcreate.c shpopen.o safileio.o $(LINKOPT) -o shpcreate
++ $(CC) $(CFLAGS) $(LDFLAGS) shpcreate.c shpopen.o safileio.o -o shpcreate
+
+ shpadd: shpadd.c shpopen.o safileio.o
+- $(CC) $(CFLAGS) shpadd.c shpopen.o safileio.o $(LINKOPT) -o shpadd
++ $(CC) $(CFLAGS) $(LDFLAGS) shpadd.c shpopen.o safileio.o -o shpadd
+
+ shpdump: shpdump.c shpopen.o safileio.o
+- $(CC) $(CFLAGS) shpdump.c shpopen.o safileio.o $(LINKOPT) -o shpdump
++ $(CC) $(CFLAGS) $(LDFLAGS) shpdump.c shpopen.o safileio.o -o shpdump
+
+ shprewind: shprewind.c shpopen.o safileio.o
+- $(CC) $(CFLAGS) shprewind.c shpopen.o safileio.o $(LINKOPT) -o shprewind
++ $(CC) $(CFLAGS) $(LDFLAGS) shprewind.c shpopen.o safileio.o -o shprewind
+
+ dbfcreate: dbfcreate.c dbfopen.o safileio.o
+- $(CC) $(CFLAGS) dbfcreate.c dbfopen.o safileio.o $(LINKOPT) -o dbfcreate
++ $(CC) $(CFLAGS) $(LDFLAGS) dbfcreate.c dbfopen.o safileio.o -o dbfcreate
+
+ dbfadd: dbfadd.c dbfopen.o safileio.o
+- $(CC) $(CFLAGS) dbfadd.c dbfopen.o safileio.o $(LINKOPT) -o dbfadd
++ $(CC) $(CFLAGS) $(LDFLAGS) dbfadd.c dbfopen.o safileio.o -o dbfadd
+
+ dbfdump: dbfdump.c dbfopen.o safileio.o
+- $(CC) $(CFLAGS) dbfdump.c dbfopen.o safileio.o $(LINKOPT) -o dbfdump
++ $(CC) $(CFLAGS) $(LDFLAGS) dbfdump.c dbfopen.o safileio.o -o dbfdump
+
+ shptest: shptest.c shpopen.o safileio.o
+- $(CC) $(CFLAGS) shptest.c shpopen.o safileio.o $(LINKOPT) -o shptest
++ $(CC) $(CFLAGS) $(LDFLAGS) shptest.c shpopen.o safileio.o -o shptest
+
+ shputils: shputils.c shpopen.o safileio.o dbfopen.o
+- $(CC) $(CFLAGS) shputils.c shpopen.o safileio.o dbfopen.o $(LINKOPT) -o shputils
++ $(CC) $(CFLAGS) $(LDFLAGS) shputils.c shpopen.o safileio.o dbfopen.o -o shputils
+
+ shptreedump: shptreedump.c shptree.o shpopen.o safileio.o
+- $(CC) $(CFLAGS) shptreedump.c shptree.o shpopen.o safileio.o $(LINKOPT) \
++ $(CC) $(CFLAGS) $(LDFLAGS) shptreedump.c shptree.o shpopen.o safileio.o \
+ -o shptreedump
+
+ clean:
+ rm -f *.o shptest $(SHPBIN) libshp.a
+
+-test: test2 test3
++test: shptest test2 test3
+
+ #
+ # Note this stream only works if example data is accessable.
+ # Fetch ftp://gdal.velocet.ca/pub/outgoing/shape_eg_data.zip
+ #
+-test1:
++test1: shptest
+ @./stream1.sh > s1.out
+ @if test "`diff s1.out stream1.out`" = '' ; then \
+ echo "******* Stream 1 Succeeded *********"; \
+@@ -74,7 +75,7 @@ test1:
+ diff s1.out stream1.out; \
+ fi
+
+-test2:
++test2: shptest
+ @./stream2.sh > s2.out
+ @if test "`diff s2.out stream2.out`" = '' ; then \
+ echo "******* Stream 2 Succeeded *********"; \
+@@ -85,7 +86,7 @@ test2:
+ diff s2.out stream2.out; \
+ fi
+
+-test3:
++test3: shptest
+ @./makeshape.sh > s3.out
+ @if test "`diff s3.out stream3.out`" = '' ; then \
+ echo "******* Stream 3 Succeeded *********"; \
+@@ -97,10 +98,8 @@ test3:
+ fi
+
+
+-lib: libshp.a
+-
+-libshp.a: $(LIBOBJ)
+- ar r libshp.a $(LIBOBJ)
++lib: $(LIBOBJ)
++ $(AR) r libshp.a $(LIBOBJ)
+
+ lib_install: libshp.a
+ cp libshp.a $(PREFIX)/lib
diff --git a/sci-libs/shapelib/files/stdlib_include_fix.patch b/sci-libs/shapelib/files/stdlib_include_fix.patch
new file mode 100644
index 000000000000..ce0b575e1b62
--- /dev/null
+++ b/sci-libs/shapelib/files/stdlib_include_fix.patch
@@ -0,0 +1,30 @@
+--- shpcreate.c.orig 2009-09-15 20:09:39.641422056 -0700
++++ shpcreate.c 2009-09-15 20:20:31.310673754 -0700
+@@ -51,6 +51,7 @@
+ static char rcsid[] =
+ "$Id$";
+
++#include <stdlib.h>
+ #include "shapefil.h"
+
+ int main( int argc, char ** argv )
+--- shpdump.c.orig 2009-09-15 20:09:47.615421028 -0700
++++ shpdump.c 2009-09-15 20:20:29.654673421 -0700
+@@ -67,6 +67,7 @@
+ static char rcsid[] =
+ "$Id$";
+
++#include <stdlib.h>
+ #include "shapefil.h"
+
+ int main( int argc, char ** argv )
+--- shprewind.c.orig 2009-09-15 20:09:58.193422322 -0700
++++ shprewind.c 2009-09-15 20:20:26.954542660 -0700
+@@ -43,6 +43,7 @@
+ *
+ */
+
++#include <stdlib.h>
+ #include "shapefil.h"
+
+ int main( int argc, char ** argv )
diff --git a/sci-libs/shapelib/metadata.xml b/sci-libs/shapelib/metadata.xml
new file mode 100644
index 000000000000..6ecd4996da1e
--- /dev/null
+++ b/sci-libs/shapelib/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+ <longdescription>Shapelib is for working with ESRI shape files, a format used by the commercial ArcInfo GIS package.</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/shapelib/shapelib-1.3.0-r1.ebuild b/sci-libs/shapelib/shapelib-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..3dd5a923dcb0
--- /dev/null
+++ b/sci-libs/shapelib/shapelib-1.3.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils toolchain-funcs multilib versionator
+
+DESCRIPTION="Library for manipulating ESRI Shapefiles"
+HOMEPAGE="http://shapelib.maptools.org/"
+SRC_URI="http://download.osgeo.org/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND=""
+RDEPEND=""
+
+static_to_shared() {
+ local libstatic=${1}; shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname $(get_version_component_range 1-2))
+ local libdir=$(dirname ${libstatic})
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ [[ $(get_version_component_count) -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(get_major_version))
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-respect-user.patch
+ tc-export CC AR
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS} -fPIC" lib
+ static_to_shared lib*.a
+ rm *.o *.a
+ emake
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ dobin shp{create,dump,add} dbf{create,dump,add}
+ insinto /usr/include/libshp
+ doins shapefil.h
+ use test && dobin shptest
+ dolib.so lib*$(get_libname)*
+ dodoc ChangeLog README*
+ use static-libs && dolib.a lib*.a
+}
diff --git a/sci-libs/shogun/Manifest b/sci-libs/shogun/Manifest
new file mode 100644
index 000000000000..11c82bf05c0e
--- /dev/null
+++ b/sci-libs/shogun/Manifest
@@ -0,0 +1,6 @@
+DIST shogun-1.1.0.tar.bz2 3485714 SHA256 9f69638f0bc18995358c38cd6eed6437e6b90c1fceab7c6e64c9739b7e6cc40b SHA512 853168e3d68ad02ef543391b78c51682d004af46acddfa09a76b41e373e27199fc9be0598892207e116a82f24437e3f1c0dc97c3e28ca32879594fbe112bd157 WHIRLPOOL dd044ff2cc9fd9376b80f1efd9bbcf901b11765a2f85eb2325ddd640ea547e513df8c9da548634e49758ef124147666f86b6b4082e118c6d35ef2d5010527cf9
+DIST shogun-2.0.0.tar.bz2 4106437 SHA256 b18e30515b9f4432d02602d0dd66dbc57c70a46f71636275071afaee94e245ee SHA512 e7c8d515afbcb3198aade32d2962e8d94b669b9c79ddbcd7425f04bbb0379803f7353c50ba8897356842cddb401d303fefaf8a7f9dd6a2e751e176deba1e46f1 WHIRLPOOL aa9ef89f28acc012ee2894c4ff6858f7bf01585d02160d5b2df33159c7c87593ea352833765a7a78cc0ed16fd10713d285eb711606f0e3771ec685778f703570
+DIST shogun-3.2.0.tar.bz2 4217245 SHA256 bc416b615ed90aef80c58a30546c5e2da779347bebb8742ecf11657073fc8f72 SHA512 7c420da7bf10c8971954964bce4dc13a8f64c6ff2a0976293f54947414ad2fe7171b1747cef3e2ceb969cf936d8fe862e940582f642cd2367897cda3191b186b WHIRLPOOL bce007c01ebee0e225d5cf858e042561a540416b349015ac566cce82b77096e8206b2f9e51572d9ee8149651a39aa30d6438b28d37ba43eb5aba593b10c5e497
+DIST shogun-data-0.3.tar.bz2 126676026 SHA256 34272e3f5e6b6989a4941b925ab3a9cd1525d73180681884e948a673aff4ef89 SHA512 92c7e7dae1df5a7a79428a7f2116b1d9d825a37d4145edfdff1fb7b707853eab19ffe848c4ae2bc2338a93373e78c7cae4087df260411a9576b031e7a6f0de95 WHIRLPOOL 24987580c967b05e61ee5402fe30701cabe17d7ffb29b4966ff0abd0d03e197b928f018e617e254395c6939f93de3e397f5ce7df7c3d4ae7dfe4e782c345fe85
+DIST shogun-data-0.4.tar.bz2 127377123 SHA256 103ef944c7211f64957833cd6ace85e32629d73ef286273424e239fa454ecfcc SHA512 c178f6d5d8e4b6b6a94b74da5c133b01e83a1d4c7bf5d0fd66b4812b259934dbc998cfc1ef64f19b17b5099e8c389b8e359e69f1cc1bef6b82b940dc97cac46d WHIRLPOOL cef5d84f342523bad8b810fa3018669e9cd838c7c45bb37b8e7308dce448dc9b98f9aa6716aa724d64746539ef9c041a71cd2f3a1af71ed1077d276a192573d5
+DIST shogun-data-0.8.tar.bz2 261905079 SHA256 a2a0c8ccd754f0b893d97d77cfb60e25fcdb4e7033731434fb07e5483514a047 SHA512 9ea48706aae5ca116e8cf3507d1fcd06e24a8384abe6f2ebaf3c81735237d3beceee26ce5af97b85af24409eb47da684f7e7a56c0800a82c40ed214e6382978f WHIRLPOOL 3a3120a8e982c90c670ec0c206635abdcb152ae5f312172ec58ae21e1ee11f15c406b382bd3b8e8a63300302290590b83a977bd4d90375160ceb8ae516409c12
diff --git a/sci-libs/shogun/files/shogun-1.1.0-as-needed.patch b/sci-libs/shogun/files/shogun-1.1.0-as-needed.patch
new file mode 100644
index 000000000000..5d365472c2ce
--- /dev/null
+++ b/sci-libs/shogun/files/shogun-1.1.0-as-needed.patch
@@ -0,0 +1,48 @@
+diff -Nur src.orig/configure src/configure
+--- src.orig/configure 2012-08-04 12:58:58.230092977 -0700
++++ src/configure 2012-08-04 13:30:14.441859756 -0700
+@@ -4470,7 +4470,8 @@
+ COMPFLAGS_C_R="$COMPFLAGS_C_R `R CMD config CPICFLAGS`"
+ COMPFLAGS_CPP_R="$COMPFLAGS_CPP_R `R CMD config CXXPICFLAGS`"
+ INCLUDES_R="$INCLUDES_R `R CMD config --cppflags`"
+- LINKFLAGS_R="$LINKFLAGS_R `R CMD config --ldflags` `R CMD config DYLIB_LDFLAGS`"
++ PRELINKFLAGS_R="$PRELINKFLAGS_R `R CMD config DYLIB_LDFLAGS`"
++ LINKFLAGS_R="$LINKFLAGS_R `R CMD config --ldflags`"
+ fi
+
+
+diff -Nur src.orig/Makefile.template src/Makefile.template
+--- src.orig/Makefile.template 2012-08-04 12:58:58.229092986 -0700
++++ src/Makefile.template 2012-08-04 13:00:21.340525955 -0700
+@@ -515,7 +515,7 @@
+ else
+ $(TEMPLATE_TARGET): .depend $(OBJFILES) $(SRCFILES) $(HEADERFILES) $(OTHERDEPS)
+ $(LINK) $(PRELINKFLAGS) $(shell find $(SRCDIR) -name "*.$(EXT_OBJ_CPP)" -o \
+- -name "*.$(EXT_OBJ_C)" 2>/dev/null) $(LINKFLAGS) -o $@ $(POSTLINKFLAGS)
++ -name "*.$(EXT_OBJ_C)" 2>/dev/null) $(LINKFLAGS) $(POSTLINKFLAGS) -o $@
+ @$(POSTLINKCMD) $@
+ @$(LIBSYMLINKCMD)
+ endif
+@@ -530,18 +530,18 @@
+ ($(LIBRARY_PATH)=$(CONFIGPATH)/../shogun R --no-save)
+
+ $(PRE_LIB_SWIG_TEMPLATE)%${EXT_LIB_SWIG_TEMPLATE}: %$(EXT_OBJ_SWIG)
+- $(LINK) $(LINKFLAGS) -o $@ $^ $(POSTLINKFLAGS)
++ $(LINK) $(LINKFLAGS) $^ $(POSTLINKFLAGS) -o $@
+
+ %${EXT_OBJ_SWIG}: %$(EXT_SRC_SWIG)
+- $(COMP_CPP) $(COMPFLAGS_SWIG_CPP) $(DEFINES) -c $(INCLUDES) -o $@ $<
++ $(COMP_CPP) $(COMPFLAGS_SWIG_CPP) $(DEFINES) -c $(INCLUDES) $< -o $@
+
+ %.$(EXT_OBJ_CPP): %.$(EXT_SRC_CPP)
+- $(COMP_CPP) $(COMPFLAGS_CPP) $(DEFINES) -c $(INCLUDES) -o $@ $<
++ $(COMP_CPP) $(COMPFLAGS_CPP) $(DEFINES) -c $(INCLUDES) $< -o $@
+ @test -f $*.$(EXT_CPP_TMP) && test "$(SRCDIR)" != "." \
+ && rm -f $< || true
+
+ %.$(EXT_OBJ_C): %.$(EXT_SRC_C)
+- $(COMP_C) $(COMPFLAGS_C) $(DEFINES) -c $(INCLUDES) -o $@ $<
++ $(COMP_C) $(COMPFLAGS_C) $(DEFINES) -c $(INCLUDES) $< -o $@
+
+ %.$(EXT_SRC_CPP): %.$(EXT_CPP_TMP) %.$(EXT_CPP_SH) $(HEADERFILES)
+ @echo "generating $@ from $*.$(EXT_CPP_TMP) by running $*.$(EXT_CPP_SH)"
diff --git a/sci-libs/shogun/files/shogun-1.1.0-respect-ldflags.patch b/sci-libs/shogun/files/shogun-1.1.0-respect-ldflags.patch
new file mode 100644
index 000000000000..60753606cdb8
--- /dev/null
+++ b/sci-libs/shogun/files/shogun-1.1.0-respect-ldflags.patch
@@ -0,0 +1,12 @@
+diff -Nur src.orig/configure src/configure
+--- src.orig/configure 2012-06-12 00:57:14.000000000 +0100
++++ src/configure 2012-06-12 18:13:26.000000000 +0100
+@@ -164,7 +164,7 @@
+ DEFINES="-DSWIG_TYPE_TABLE=shogun -DSHOGUN"
+ DEFINES_SWIG=
+ PRELINKFLAGS=
+-LINKFLAGS=
++LINKFLAGS="$LDFLAGS -lpthread"
+ POSTLINKFLAGS=
+
+ INCLUDES_STATIC_INTERFACES=
diff --git a/sci-libs/shogun/files/shogun-1.1.0-test-readline.patch b/sci-libs/shogun/files/shogun-1.1.0-test-readline.patch
new file mode 100644
index 000000000000..90a18b7efa14
--- /dev/null
+++ b/sci-libs/shogun/files/shogun-1.1.0-test-readline.patch
@@ -0,0 +1,11 @@
+diff -Nur src.orig/configure src/configure
+--- src.orig/configure 2012-06-12 00:57:14.000000000 +0100
++++ src/configure 2012-06-12 18:19:56.000000000 +0100
+@@ -4598,6 +4598,7 @@
+ if test "$_readline" = yes || test "$_readline" = auto;
+ then
+ cat > $TMPC << EOF
++#include <stdio.h>
+ #include <readline/readline.h>
+ int main(void) { return 0; }
+ EOF
diff --git a/sci-libs/shogun/files/shogun-1.1.0-test-snappy.patch b/sci-libs/shogun/files/shogun-1.1.0-test-snappy.patch
new file mode 100644
index 000000000000..5d112d861b71
--- /dev/null
+++ b/sci-libs/shogun/files/shogun-1.1.0-test-snappy.patch
@@ -0,0 +1,13 @@
+diff -Nur src.orig/configure src/configure
+--- src.orig/configure 2012-06-12 00:57:14.000000000 +0100
++++ src/configure 2012-06-12 18:03:33.000000000 +0100
+@@ -3512,7 +3512,8 @@
+ size_t input_length = (size_t) argc;
+ char* output = new char[snappy::MaxCompressedLength(input_length)];
+ size_t output_length;
+- RawCompress(input, input_length, output, &output_length);
++ char *input;
++ snappy::RawCompress(input, input_length, output, &output_length);
+ delete [] output;
+ return int(output_length);
+ }
diff --git a/sci-libs/shogun/files/shogun-3.2.0-atlas.patch b/sci-libs/shogun/files/shogun-3.2.0-atlas.patch
new file mode 100644
index 000000000000..a4f5e1c77d77
--- /dev/null
+++ b/sci-libs/shogun/files/shogun-3.2.0-atlas.patch
@@ -0,0 +1,22 @@
+ cmake/FindAtlas.cmake | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/FindAtlas.cmake b/cmake/FindAtlas.cmake
+index 13f092d..8c2dd2f 100644
+--- a/cmake/FindAtlas.cmake
++++ b/cmake/FindAtlas.cmake
+@@ -20,10 +20,10 @@ if(ATLAS_LAPACK)
+ endif()
+ unset(CMAKE_REQUIRED_LIBRARIES CACHE)
+ else()
+- find_file(ATLAS_LAPACK liblapack.so.3 PATHS /usr/lib/atlas /usr/lib64/atlas)
+- find_library(ATLAS_LAPACK NAMES lapack)
+- set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES} ${ATLAS_CBLAS})
+- check_library_exists("${ATLAS_LAPACK}" clapack_dpotrf "" FOUND_CLAPACK)
++ # find_file(ATLAS_LAPACK liblapack.so.3 PATHS /usr/lib/atlas /usr/lib64/atlas)
++ # find_library(ATLAS_LAPACK NAMES lapack)
++ # set(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES} ${ATLAS_CBLAS})
++ check_library_exists("${ATLAS_LIBRARIES}" clapack_dpotrf "" FOUND_CLAPACK)
+ if(NOT FOUND_CLAPACK)
+ unset(ATLAS_LAPACK CACHE)
+ endif()
diff --git a/sci-libs/shogun/metadata.xml b/sci-libs/shogun/metadata.xml
new file mode 100644
index 000000000000..d0c30a0c09fb
--- /dev/null
+++ b/sci-libs/shogun/metadata.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ SHOGUN - is a new machine learning toolbox with focus on large
+ scale kernel methods and especially on Support Vector Machines
+ (SVM) with focus to bioinformatics. It provides a generic SVM
+ object interfacing to several different SVM implementations. Each
+ of the SVMs can be combined with a variety of the many kernels
+ implemented. It can deal with weighted linear combination of a
+ number of sub-kernels, each of which not necessarily working on the
+ same domain, where an optimal sub-kernel weighting can be learned
+ using Multiple Kernel Learning. Apart from SVM 2-class
+ classification and regression problems, a number of linear methods
+ like Linear Discriminant Analysis (LDA), Linear Programming Machine
+ (LPM), (Kernel) Perceptrons and also algorithms to train hidden
+ markov models are implemented. The input feature-objects can be
+ dense, sparse or strings and of type int/short/double/char and can
+ be converted into different feature types. Chains of preprocessors
+ (e.g. substracting the mean) can be attached to each feature object
+ allowing for on-the-fly pre-processing.
+</longdescription>
+ <use>
+ <flag name="arpack">Enable support for <pkg>sci-libs/arpack</pkg></flag>
+ <flag name="eigen">Enable support for matrix package <pkg>dev-cpp/eigen</pkg></flag>
+ <flag name="glpk">Enable support for <pkg>sci-mathematics/glpk</pkg></flag>
+ <flag name="json">Enable support for parsing JSON format</flag>
+ <flag name="lpsolve">Enable support for Linear Programming Solver</flag>
+ <flag name="nlopt">Enable support non linear optimization from
+ <pkg>sci-libs/nlopt</pkg></flag>
+ <flag name="R">Enable support for <pkg>dev-lang/R</pkg></flag>
+ <flag name="octave">Enable support for <pkg>sci-mathematics/octave</pkg></flag>
+ <flag name="snappy">Enable support for snappy compression</flag>
+ <flag name="superlu">Enable support for <pkg>sci-libs/superlu</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/shogun/shogun-1.1.0.ebuild b/sci-libs/shogun/shogun-1.1.0.ebuild
new file mode 100644
index 000000000000..477d86067fb8
--- /dev/null
+++ b/sci-libs/shogun/shogun-1.1.0.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib versionator toolchain-funcs java-pkg-opt-2
+
+MYPV=$(get_version_component_range 1-2)
+MYPD=${PN}-data-0.3
+
+DESCRIPTION="Large Scale Machine Learning Toolbox"
+HOMEPAGE="http://shogun-toolbox.org/"
+SRC_URI="ftp://shogun-toolbox.org/shogun/releases/${MYPV}/sources/${P}.tar.bz2
+ test? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )
+ examples? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )"
+
+LICENSE="GPL-3 free-noncomm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack bzip2 doc examples glpk gzip hdf5 json lapack lpsolve mono lua lzma
+ lzo java R ruby octave python readline snappy static-libs superlu test xml"
+
+RDEPEND="
+ sci-libs/gsl
+ sys-libs/zlib
+ arpack? ( sci-libs/arpack )
+ bzip2? ( app-arch/bzip2 )
+ glpk? ( sci-mathematics/glpk )
+ gzip? ( app-arch/gzip )
+ hdf5? ( sci-libs/hdf5 )
+ java? ( >=virtual/jdk-1.5 )
+ json? ( dev-libs/json-c )
+ lapack? ( virtual/cblas virtual/lapack )
+ lpsolve? ( sci-mathematics/lpsolve )
+ lua? ( dev-lang/lua )
+ lzo? ( dev-libs/lzo )
+ mono? ( dev-lang/mono )
+ octave? ( sci-mathematics/octave[hdf5=] )
+ python? ( dev-python/numpy )
+ R? ( dev-lang/R )
+ readline? ( sys-libs/readline )
+ ruby? ( >=dev-ruby/narray-0.6.0.1-r2 )
+ snappy? ( app-arch/snappy )
+ superlu? ( sci-libs/superlu )
+ xml? ( dev-libs/libxml2 )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ java? ( dev-lang/swig dev-java/ant )
+ octave? ( dev-lang/swig )
+ python? ( dev-lang/swig test? ( sci-libs/scipy ) )
+ ruby? ( dev-lang/swig )"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-respect-ldflags.patch \
+ "${FILESDIR}"/${P}-test-snappy.patch \
+ "${FILESDIR}"/${P}-test-readline.patch \
+ "${FILESDIR}"/${P}-as-needed.patch
+
+ # dist-packages is only for debian
+ # remove exagarated optimizations (-O9 does not exist...)
+ # use gentoo lapack framework
+ sed -i \
+ -e 's/dist-packages/site-packages/g' \
+ -e '/^COMP_OPTS=/d' \
+ -e "s:-llapack -lcblas:$($(tc-getPKG_CONFIG) --libs cblas lapack):g" \
+ configure || die
+
+ # disable ldconfig which violates sandbox
+ # install in gentoo java standard paths
+ sed -i \
+ -e '/ldconfig/d' \
+ -e '/share\/java/d' \
+ -e '/jni/d' \
+ Makefile.template || die
+}
+
+src_configure() {
+ # define interfaces to shogun library to build
+ local x iface
+ for x in java lua octave python ruby ; do
+ use ${x} && iface="${iface}${x}_modular,"
+ done
+ use mono && iface="${iface}csharp_modular,"
+ use R && iface="${iface}r_modular,"
+ if use static-libs; then
+ iface="${iface}cmdline_static,"
+ use octave && iface="${iface}octave_static,"
+ use python && iface="${iface}python_static,"
+ use R && iface="${iface}r_static,"
+ use octave && use python && use R && iface="${iface}elwms_static,"
+ fi
+ iface="${iface%,}"
+
+ # gentoo bug #302621
+ use hdf5 && has_version sci-libs/hdf5[mpi] && export CXX=mpicxx CC=mpicc
+
+ ./configure \
+ --disable-cpudetection \
+ --destdir="${ED}" \
+ --prefix="${EPREFIX}/usr" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --target="${CTARGET}" \
+ --interfaces=${iface} \
+ $(use_enable arpack) \
+ $(use_enable bzip2) \
+ $(use_enable doc doxygen) \
+ $(use_enable glpk) \
+ $(use_enable gzip) \
+ $(use_enable hdf5) \
+ $(use_enable json) \
+ $(use_enable lapack) \
+ $(use_enable lpsolve) \
+ $(use_enable lzma) \
+ $(use_enable lzo) \
+ $(use_enable readline) \
+ $(use_enable snappy) \
+ $(use_enable static-libs static) \
+ $(use_enable superlu) \
+ $(use_enable xml) || die
+}
+
+src_compile() {
+ emake
+ use doc && emake -C ../doc
+}
+
+src_test() {
+ use lapack || return
+ ln -s ../../${MYPD}/* ../data/
+ emake DESTDIR="${ED}" install
+ # disable because very long and buggy dynamic paths (assumed install)
+ # emake tests
+ emake -C shogun check-examples
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
+ if use java; then
+ java-pkg_dojar interfaces/java_modular/shogun.jar
+ java-pkg_doso interfaces/java_modular/libmodshogun.so
+ fi
+
+ use doc && dohtml -r ../doc/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ emake -C ../examples clean && doins -r ../examples
+ insinto /usr/share/doc/${PF}/data
+ doins -r "${WORKDIR}"/${MYPD}/*
+ fi
+}
diff --git a/sci-libs/shogun/shogun-2.0.0.ebuild b/sci-libs/shogun/shogun-2.0.0.ebuild
new file mode 100644
index 000000000000..8e26b7fb77e0
--- /dev/null
+++ b/sci-libs/shogun/shogun-2.0.0.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib versionator toolchain-funcs java-pkg-opt-2
+
+MYPV=$(get_version_component_range 1-2)
+MYPD=${PN}-data-0.4
+
+DESCRIPTION="Large Scale Machine Learning Toolbox"
+HOMEPAGE="http://shogun-toolbox.org/"
+SRC_URI="ftp://shogun-toolbox.org/shogun/releases/${MYPV}/sources/${P}.tar.bz2
+ test? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )
+ examples? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )"
+
+LICENSE="GPL-3 free-noncomm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack bzip2 doc eigen examples glpk gzip hdf5 json lapack lpsolve mono lua lzma
+ lzo nlopt java R ruby octave python readline smp snappy static-libs superlu test xml"
+
+RDEPEND="
+ sci-libs/gsl
+ sys-libs/zlib
+ arpack? ( sci-libs/arpack )
+ bzip2? ( app-arch/bzip2 )
+ eigen? ( >=dev-cpp/eigen-3 )
+ glpk? ( sci-mathematics/glpk )
+ gzip? ( app-arch/gzip )
+ hdf5? ( sci-libs/hdf5 )
+ java? ( >=virtual/jdk-1.5 )
+ json? ( dev-libs/json-c )
+ lapack? ( virtual/cblas virtual/lapack )
+ lpsolve? ( sci-mathematics/lpsolve )
+ lua? ( dev-lang/lua )
+ lzo? ( dev-libs/lzo )
+ mono? ( dev-lang/mono )
+ nlopt? ( sci-libs/nlopt )
+ octave? ( sci-mathematics/octave[hdf5=] )
+ python? ( dev-python/numpy )
+ R? ( dev-lang/R )
+ readline? ( sys-libs/readline )
+ ruby? ( >=dev-ruby/narray-0.6.0.1-r2 )
+ snappy? ( app-arch/snappy )
+ superlu? ( sci-libs/superlu )
+ xml? ( dev-libs/libxml2 )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ java? ( >=dev-lang/swig-2.0.4 dev-java/ant )
+ octave? ( >=dev-lang/swig-2.0.4 )
+ python? ( >=dev-lang/swig-2.0.4 test? ( sci-libs/scipy ) )
+ ruby? ( >=dev-lang/swig-2.0.4 )"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.1.0-respect-ldflags.patch \
+ "${FILESDIR}"/${PN}-1.1.0-test-readline.patch \
+ "${FILESDIR}"/${PN}-1.1.0-as-needed.patch
+
+ # dist-packages is only for debian
+ # remove exagarated optimizations (-O9 does not exist...)
+ # use gentoo lapack framework
+ sed -i \
+ -e 's/dist-packages/site-packages/g' \
+ -e '/^COMP_OPTS=/d' \
+ -e "s:-llapack -lcblas:$($(tc-getPKG_CONFIG) --libs cblas lapack):g" \
+ configure || die
+
+ # disable ldconfig which violates sandbox
+ # install in gentoo java standard paths
+ sed -i \
+ -e '/ldconfig/d' \
+ -e '/share\/java/d' \
+ -e '/jni/d' \
+ -e 's/OCTAVE_LOADPATH/OCTAVE_PATH/g' \
+ Makefile.template || die
+}
+
+src_configure() {
+ # define interfaces to shogun library to build
+ local x iface
+ for x in java lua octave python ruby ; do
+ use ${x} && iface="${iface}${x}_modular,"
+ done
+ use mono && iface="${iface}csharp_modular,"
+ use R && iface="${iface}r_modular,"
+ if use static-libs; then
+ iface="${iface}cmdline_static,"
+ use octave && iface="${iface}octave_static,"
+ use python && iface="${iface}python_static,"
+ use R && iface="${iface}r_static,"
+ use octave && use python && use R && iface="${iface}elwms_static,"
+ fi
+ iface="${iface%,}"
+
+ # gentoo bug #302621
+ use hdf5 && has_version sci-libs/hdf5[mpi] && export CXX=mpicxx CC=mpicc
+ ./configure \
+ --disable-cpudetection \
+ --destdir="${D}" \
+ --prefix="${EPREFIX}/usr" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --target="${CTARGET}" \
+ --interfaces=${iface} \
+ $(use_enable arpack) \
+ $(use_enable bzip2) \
+ $(use_enable doc doxygen) \
+ $(use_enable eigen eigen3) \
+ $(use_enable glpk) \
+ $(use_enable gzip) \
+ $(use_enable hdf5) \
+ $(use_enable json) \
+ $(use_enable lapack) \
+ $(use_enable lpsolve) \
+ $(use_enable lzma) \
+ $(use_enable lzo) \
+ $(use_enable nlopt) \
+ $(use_enable readline) \
+ $(use_enable smp hmm-parallel) \
+ $(use_enable snappy) \
+ $(use_enable static-libs static) \
+ $(use_enable superlu) \
+ $(use_enable xml) || die
+}
+
+src_compile() {
+ emake
+ use doc && emake -C ../doc
+}
+
+src_test() {
+ use lapack || return
+ ln -s ../../${MYPD}/* ../data/
+ emake DESTDIR="${D}" install
+ # disable because very long
+ # emake tests
+ emake -C shogun check-examples
+}
+
+src_install() {
+ default
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a
+ if use java; then
+ java-pkg_dojar interfaces/java_modular/shogun.jar
+ java-pkg_doso interfaces/java_modular/libmodshogun.so
+ fi
+
+ use doc && dohtml -r ../doc/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ emake -C ../examples clean && doins -r ../examples
+ insinto /usr/share/doc/${PF}/data
+ doins -r "${WORKDIR}"/${MYPD}/*
+ fi
+}
diff --git a/sci-libs/shogun/shogun-3.2.0.ebuild b/sci-libs/shogun/shogun-3.2.0.ebuild
new file mode 100644
index 000000000000..51cfb508525e
--- /dev/null
+++ b/sci-libs/shogun/shogun-3.2.0.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4} )
+
+inherit cmake-utils multilib python-single-r1 toolchain-funcs versionator
+
+MYPV=$(get_version_component_range 1-2)
+MYPD=${PN}-data-0.8
+
+DESCRIPTION="Large Scale Machine Learning Toolbox"
+HOMEPAGE="http://shogun-toolbox.org/"
+SRC_URI="
+ ftp://shogun-toolbox.org/shogun/releases/${MYPV}/sources/${P}.tar.bz2
+ test? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )
+ examples? ( ftp://shogun-toolbox.org/shogun/data/${MYPD}.tar.bz2 )"
+
+LICENSE="GPL-3 free-noncomm"
+SLOT="0/16"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples lua mono octave python R ruby static-libs test"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )
+ "
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/gzip:=
+ app-arch/lzma:=
+ app-arch/snappy:=
+ dev-libs/lzo:=
+ >=dev-cpp/eigen-3.1
+ dev-libs/json-c:=
+ dev-libs/libxml2:=
+ dev-libs/protobuf:=
+ net-misc/curl:=
+ sci-libs/arpack:=
+ sci-libs/arprec:=
+ sci-libs/colpack:=
+ sci-libs/hdf5:=
+ sci-libs/nlopt:=
+ sci-mathematics/glpk:=
+ sci-mathematics/lpsolve:=
+ sys-libs/readline
+ sys-libs/zlib:=
+ virtual/blas
+ virtual/cblas
+ virtual/lapack
+ lua? ( dev-lang/lua )
+ mono? ( dev-lang/mono )
+ octave? ( sci-mathematics/octave[hdf5] )
+ python? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ R? ( dev-lang/R )
+ ruby? ( dev-ruby/narray )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen[dot] )
+ lua? ( >=dev-lang/swig-2.0.4 )
+ mono? ( >=dev-lang/swig-2.0.4 )
+ octave? ( >=dev-lang/swig-2.0.4 )
+ python? ( >=dev-lang/swig-2.0.4 test? ( sci-libs/scipy ) )
+ R? ( >=dev-lang/swig-2.0.4 )
+ ruby? ( >=dev-lang/swig-2.0.4 )
+ test? (
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-cpp/gmock
+ )"
+
+# javamodular needs jblas (painful to package properly)
+# permodular work in progress (as 3.2.0)
+# could actually support multiple pythons, multiple rubys
+# feel free to do work for it
+
+PATCHES=(
+ "${FILESDIR}"/${P}-atlas.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ export ATLAS_LIBRARY="$($(tc-getPKG_CONFIG) --libs cblas lapack)"
+ export CBLAS_LIBRARY="$($(tc-getPKG_CONFIG) --libs cblas)"
+ export ATLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas cblas lapack)"
+ export LAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=OFF
+ -DBUNDLE_ARPREC=OFF
+ -DBUNDLE_COLPACK=OFF
+ -DBUNDLE_EIGEN=OFF
+ -DBUNDLE_JSON=OFF
+ -DBUNDLE_NLOPT=OFF
+ -DENABLE_COVERAGE=OFF
+ -DJavaModular=OFF
+ -DPerlModular=OFF
+ -DLIB_INSTALL_DIR=$(get_libdir)
+ $(cmake-utils_use lua LuaModular)
+ $(cmake-utils_use mono CSharpModular)
+ $(cmake-utils_use octave OctaveModular)
+ $(cmake-utils_use octave OctaveStatic)
+ $(cmake-utils_use python PythonModular)
+ $(cmake-utils_use python PythonStatic)
+ $(cmake-utils_use R RModular)
+ $(cmake-utils_use R RStatic)
+ $(cmake-utils_use ruby RubyModular)
+ $(cmake-utils_use test ENABLE_TESTING)
+ )
+ cmake-utils_src_configure
+ # gentoo bug #302621
+ has_version sci-libs/hdf5[mpi] && export CXX=mpicxx CC=mpicc
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && emake -C doc
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dohtml -r doc/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ emake -C examples clean
+ doins -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}/data
+ doins -r "${WORKDIR}"/${MYPD}/*
+
+ fi
+}
diff --git a/sci-libs/silo/Manifest b/sci-libs/silo/Manifest
new file mode 100644
index 000000000000..2171a5f48826
--- /dev/null
+++ b/sci-libs/silo/Manifest
@@ -0,0 +1,2 @@
+DIST silo-4.10.2.tar.gz 13135900 SHA256 3af87e5f0608a69849c00eb7c73b11f8422fa36903dd14610584506e7f68e638 SHA512 8cd1340ed641c8be77f310b286da344e2fed7ae469ed7bebf5deebaa1a369ca91c283b38eae2c57b7ad046f65343cfaa56a1c07b6c8b07b79aad69c4e5617f6e WHIRLPOOL 6be4da792fb8845749790874315a67495510a1f7112ad879a62e040ec9b1176063bf55ce6612a5dd7a3158efdbb11e5e33a270ae37a061d2354d836ee8dc0569
+DIST silo-4.9.1.tar.gz 12038537 SHA256 4908eb77577e26948aedee5976deedc3d2c1fd01b6fc5bd9cb61772cbbe2a56e SHA512 512e16ec6bd62deb3596d918895a0c82606a9f519345e4c4abd1a19eb40172576b70313472b75ae4183ee9d86a0f19443504f232ca6e633b1652f9d547927b83 WHIRLPOOL 7cd875ce28bac86cbe68e931d95cf5543671aa7142ab672f5bdc23da9467eb6b755b2e8f06bb2871686aa01e835a5495697a454bcb36153adf86be09735219d9
diff --git a/sci-libs/silo/files/silo-4.10.2-qtlibs.patch b/sci-libs/silo/files/silo-4.10.2-qtlibs.patch
new file mode 100644
index 000000000000..e8fc4284cac0
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.10.2-qtlibs.patch
@@ -0,0 +1,66 @@
+diff -ru silo-4.9.1-old/configure silo-4.9.1-new/configure
+--- silo-4.9.1-old/configure 2014-01-18 23:19:15.755030306 +0100
++++ silo-4.9.1-new/configure 2014-01-18 23:20:52.595031159 +0100
+@@ -27503,7 +27503,7 @@
+ ax_qt_lib="`ls $ax_qt_lib_dir/libQt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | sed s@[.].*@@`"
+ fi
+- ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # Use cached value or do search, starting with suggestions from
+ # the command line
+@@ -27577,7 +27577,7 @@
+ ax_qt_lib="`ls $ax_qt_lib_dir/libQt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | sed s@[.].*@@`"
+ fi
+- ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # There is no valid definition for $QTDIR as Trolltech likes to see it
+ ax_qt_dir=
+@@ -27589,7 +27589,7 @@
+ ax_qt_lib="`ls $ax_qt_lib_dir/libQt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | sed s@[.].*@@`"
+ fi
+- ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # Normally, when there is no traditional Trolltech installation,
+ # the library is installed in a place where the linker finds it
+@@ -27607,7 +27607,7 @@
+ # See if we find the library without any special options.
+ # Don't add top $LIBS permanently yet
+ ax_save_LIBS="$LIBS"
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ ax_qt_LIBS="$LIBS"
+ ax_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="-I$ax_qt_include_dir -I$ax_qt_include_dir/Qt -I$ax_qt_include_dir/QtCore -I$ax_qt_include_dir/QtGui"
+@@ -27668,7 +27668,7 @@
+ # That did not work. Try the multi-threaded version
+ echo "Non-critical error, please neglect the above." >&5
+ ax_qt_lib=qt-mt
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -27726,7 +27726,7 @@
+ # That did not work. Try the OpenGL version
+ echo "Non-critical error, please neglect the above." >&5
+ ax_qt_lib=qt-gl
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -27809,7 +27809,7 @@
+ fi
+ done
+ # Try with that one
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
diff --git a/sci-libs/silo/files/silo-4.10.2-tests.patch b/sci-libs/silo/files/silo-4.10.2-tests.patch
new file mode 100644
index 000000000000..2e0a52191d0e
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.10.2-tests.patch
@@ -0,0 +1,11 @@
+--- tests/Makefile.in.old 2014-07-24 07:25:53.464381420 +0200
++++ tests/Makefile.in 2014-07-24 07:26:14.951048323 +0200
+@@ -169,7 +169,7 @@
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(ioperf_stdio_la_LDFLAGS) $(LDFLAGS) -o $@
+ rocket_silo_la_LIBADD =
+-am_rocket_silo_la_OBJECTS = rocket_silo.lo
++am_rocket_silo_la_OBJECTS = rocket_silo.lo ../src/.libs/libsilo.la
+ rocket_silo_la_OBJECTS = $(am_rocket_silo_la_OBJECTS)
+ rocket_silo_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
diff --git a/sci-libs/silo/files/silo-4.9.1-qtlibs.patch b/sci-libs/silo/files/silo-4.9.1-qtlibs.patch
new file mode 100644
index 000000000000..e8fc4284cac0
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.9.1-qtlibs.patch
@@ -0,0 +1,66 @@
+diff -ru silo-4.9.1-old/configure silo-4.9.1-new/configure
+--- silo-4.9.1-old/configure 2014-01-18 23:19:15.755030306 +0100
++++ silo-4.9.1-new/configure 2014-01-18 23:20:52.595031159 +0100
+@@ -27503,7 +27503,7 @@
+ ax_qt_lib="`ls $ax_qt_lib_dir/libQt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | sed s@[.].*@@`"
+ fi
+- ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # Use cached value or do search, starting with suggestions from
+ # the command line
+@@ -27577,7 +27577,7 @@
+ ax_qt_lib="`ls $ax_qt_lib_dir/libQt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | sed s@[.].*@@`"
+ fi
+- ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # There is no valid definition for $QTDIR as Trolltech likes to see it
+ ax_qt_dir=
+@@ -27589,7 +27589,7 @@
+ ax_qt_lib="`ls $ax_qt_lib_dir/libQt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | sed s@[.].*@@`"
+ fi
+- ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # Normally, when there is no traditional Trolltech installation,
+ # the library is installed in a place where the linker finds it
+@@ -27607,7 +27607,7 @@
+ # See if we find the library without any special options.
+ # Don't add top $LIBS permanently yet
+ ax_save_LIBS="$LIBS"
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ ax_qt_LIBS="$LIBS"
+ ax_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="-I$ax_qt_include_dir -I$ax_qt_include_dir/Qt -I$ax_qt_include_dir/QtCore -I$ax_qt_include_dir/QtGui"
+@@ -27668,7 +27668,7 @@
+ # That did not work. Try the multi-threaded version
+ echo "Non-critical error, please neglect the above." >&5
+ ax_qt_lib=qt-mt
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -27726,7 +27726,7 @@
+ # That did not work. Try the OpenGL version
+ echo "Non-critical error, please neglect the above." >&5
+ ax_qt_lib=qt-gl
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -27809,7 +27809,7 @@
+ fi
+ done
+ # Try with that one
+- LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
++ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lQtCore -lQtGui -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
diff --git a/sci-libs/silo/files/silo-4.9.1-tests.patch b/sci-libs/silo/files/silo-4.9.1-tests.patch
new file mode 100644
index 000000000000..2e0a52191d0e
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.9.1-tests.patch
@@ -0,0 +1,11 @@
+--- tests/Makefile.in.old 2014-07-24 07:25:53.464381420 +0200
++++ tests/Makefile.in 2014-07-24 07:26:14.951048323 +0200
+@@ -169,7 +169,7 @@
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(ioperf_stdio_la_LDFLAGS) $(LDFLAGS) -o $@
+ rocket_silo_la_LIBADD =
+-am_rocket_silo_la_OBJECTS = rocket_silo.lo
++am_rocket_silo_la_OBJECTS = rocket_silo.lo ../src/.libs/libsilo.la
+ rocket_silo_la_OBJECTS = $(am_rocket_silo_la_OBJECTS)
+ rocket_silo_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
diff --git a/sci-libs/silo/metadata.xml b/sci-libs/silo/metadata.xml
new file mode 100644
index 000000000000..ec7712e93a24
--- /dev/null
+++ b/sci-libs/silo/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cluster</herd>
+ <longdescription>
+ Silo is a library for reading and writing a wide variety of
+ scientific data to binary, disk files. The files Silo produces and
+ the data within them can be easily shared and exchanged between
+ wholly independently developed applications running on disparate
+ computing platforms.
+ </longdescription>
+ <use>
+ <flag name="silex">Build silex data browser</flag>
+ </use>
+ <maintainer>
+ <email>slis@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/silo/silo-4.10.2.ebuild b/sci-libs/silo/silo-4.10.2.ebuild
new file mode 100644
index 000000000000..7831e3a03bb1
--- /dev/null
+++ b/sci-libs/silo/silo-4.10.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A mesh and field I/O library and scientific database"
+HOMEPAGE="https://wci.llnl.gov/simulation/computer-codes/silo"
+SRC_URI="https://wci.llnl.gov/content/assets/docs/simulation/computer-codes/${PN}/${P}/${P}.tar.gz"
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+IUSE="hdf5 +silex static-libs qt4 test"
+
+REQUIRED_USE="silex? ( qt4 )"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5 )
+ qt4? ( dev-qt/qtgui:4 )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-qtlibs.patch"
+ epatch "${FILESDIR}/${P}-tests.patch"
+}
+
+src_configure() {
+ econf \
+ --enable-install-lite-headers \
+ --enable-shared \
+ $(use_enable silex silex ) \
+ $(use_enable static-libs static ) \
+ $(use_with qt4 Qt-lib-dir "${EPREFIX}"/usr/lib${LIB_LOCATION_SUFFIX}/qt4 ) \
+ $(use_with qt4 Qt-include-dir "${EPREFIX}"/usr/include/qt4 ) \
+ $(use_with hdf5 hdf5 ${EPREFIX}"/usr/include,${EPREFIX}"/usr/lib${LIB_LOCATION_SUFFIX} )
+}
diff --git a/sci-libs/silo/silo-4.9.1.ebuild b/sci-libs/silo/silo-4.9.1.ebuild
new file mode 100644
index 000000000000..001ea1169aa4
--- /dev/null
+++ b/sci-libs/silo/silo-4.9.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="A mesh and field I/O library and scientific database"
+HOMEPAGE="https://wci.llnl.gov/codes/${PN}"
+SRC_URI="https://wci.llnl.gov/codes/${PN}/${P}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+IUSE="hdf5 +silex static-libs qt4 test"
+
+REQUIRED_USE="silex? ( qt4 )"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5 )
+ qt4? ( dev-qt/qtgui:4 )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-qtlibs.patch"
+ epatch "${FILESDIR}/${P}-tests.patch"
+}
+
+src_configure() {
+ econf \
+ --enable-install-lite-headers \
+ --enable-shared \
+ $(use_enable silex silex ) \
+ $(use_enable static-libs static ) \
+ $(use_with qt4 Qt-lib-dir "${EPREFIX}"/usr/lib${LIB_LOCATION_SUFFIX}/qt4 ) \
+ $(use_with qt4 Qt-include-dir "${EPREFIX}"/usr/include/qt4 ) \
+ $(use_with hdf5 hdf5 ${EPREFIX}"/usr/include,${EPREFIX}"/usr/lib${LIB_LOCATION_SUFFIX} )
+}
diff --git a/sci-libs/spooles/Manifest b/sci-libs/spooles/Manifest
new file mode 100644
index 000000000000..955b1ef9e1ea
--- /dev/null
+++ b/sci-libs/spooles/Manifest
@@ -0,0 +1 @@
+DIST spooles.2.2.tgz 4510271 SHA256 a84559a0e987a1e423055ef4fdf3035d55b65bbe4bf915efaa1a35bef7f8c5dd SHA512 440146b4abf81d8e66a7c57e839b06b11c7753e16d40ae67f80255d6d5dc9fb43b4fd549326c405a8f3009223fcb0f6997090b3649029c323c732b0759944d19 WHIRLPOOL e0fef7bb5786bd467e07ab3aba4444f2e3da3aa82a6faaf308a340344cf045676cf5b5c339e35510e6306749a5f31f12647e8c9ce888bc2fb20314e2e63f586b
diff --git a/sci-libs/spooles/files/Make.inc.in b/sci-libs/spooles/files/Make.inc.in
new file mode 100644
index 000000000000..1557f9fe979e
--- /dev/null
+++ b/sci-libs/spooles/files/Make.inc.in
@@ -0,0 +1,9 @@
+.POSIX:
+THREAD_LIBS = -lpthread
+CC = @CC@
+AR = @AR@
+RANLIB = @RANLIB@
+ARFLAGS = rv
+.c.a :
+ $(CC) $(CFLAGS) -c $<
+ $(AR) $(ARFLAGS) $@ $*.o
diff --git a/sci-libs/spooles/files/spooles-2.2-I2Ohash-64bit.patch b/sci-libs/spooles/files/spooles-2.2-I2Ohash-64bit.patch
new file mode 100644
index 000000000000..0f608da2afc8
--- /dev/null
+++ b/sci-libs/spooles/files/spooles-2.2-I2Ohash-64bit.patch
@@ -0,0 +1,28 @@
+--- spooles-2.2/I2Ohash/src/util.c~ 1998-05-30 18:45:12.000000000 -0400
++++ spooles-2.2/I2Ohash/src/util.c 2008-06-28 20:56:49.000000000 -0400
+@@ -39,9 +39,10 @@
+ */
+ loc1 = (key1 + 1) % hashtable->nlist ;
+ loc2 = (key2 + 1) % hashtable->nlist ;
+-loc = (loc1*loc2) % hashtable->nlist ;
++long int loc3 = (long int)loc1*(long int)loc2 % hashtable->nlist ;
++loc =(int) loc3;
+ #if MYDEBUG > 0
+-fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
++fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %ld, loc = %d", loc1, loc2, loc3, loc) ;
+ fflush(stdout) ;
+ #endif
+ /*
+@@ -158,9 +159,10 @@
+ #endif
+ loc1 = (key1 + 1) % hashtable->nlist ;
+ loc2 = (key2 + 1) % hashtable->nlist ;
+-loc = (loc1*loc2) % hashtable->nlist ;
++long int loc3 = (long int)loc1*(long int)loc2 % hashtable->nlist ;
++loc =(int) loc3;
+ #if MYDEBUG > 0
+-fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
++fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %ld, loc = %d", loc1, loc2, loc3, loc) ;
+ fflush(stdout) ;
+ #endif
+ /*
diff --git a/sci-libs/spooles/files/spooles-2.2-formats.patch b/sci-libs/spooles/files/spooles-2.2-formats.patch
new file mode 100644
index 000000000000..080574e730d0
--- /dev/null
+++ b/sci-libs/spooles/files/spooles-2.2-formats.patch
@@ -0,0 +1,17 @@
+--- SolveMap/src/setup.c.orig 2011-03-05 18:08:51.000000000 +0000
++++ SolveMap/src/setup.c 2011-03-05 18:16:50.000000000 +0000
+@@ -28,12 +28,12 @@
+ ---------------
+ */
+ if ( solvemap == NULL ) {
+- fprintf(stderr, "\n fatal error in SolveMap_forwardSetup(%p,%d)"
++ fprintf(stderr, "\n fatal error in SolveMap_forwardSetup"
+ "\n solvemap is NULL\n") ;
+ exit(-1) ;
+ }
+ if ( myid < 0 || myid >= solvemap->nproc ) {
+- fprintf(stderr, "\n fatal error in SolveMap_forwardSetup(%p,%d)"
++ fprintf(stderr, "\n fatal error in SolveMap_forwardSetup"
+ "\n myid %d, solvemap->nproc %d\n", myid, solvemap->nproc) ;
+ exit(-1) ;
+ }
diff --git a/sci-libs/spooles/files/spooles-2.2-makefiles.patch b/sci-libs/spooles/files/spooles-2.2-makefiles.patch
new file mode 100644
index 000000000000..4af8e083736c
--- /dev/null
+++ b/sci-libs/spooles/files/spooles-2.2-makefiles.patch
@@ -0,0 +1,47 @@
+--- MPI/makefile~ 1998-12-17 15:47:44.000000000 +0000
++++ MPI/makefile 2008-02-26 00:10:57.000000000 +0000
+@@ -2,7 +2,7 @@
+ cd drivers ; make drivers
+
+ lib :
+- cd src ; make spoolesMPI.a
++ cd src ; make makeLib
+
+ clean :
+ cd src ; make clean
+--- MPI/src/makefile~ 1998-12-16 21:54:41.000000000 +0000
++++ MPI/src/makefile 2008-02-26 00:08:16.000000000 +0000
+@@ -42,3 +42,8 @@
+
+ clean :
+ - rm -f *.a *.o
++
++makeLib :
++ perl ../../makeLib > makeG
++ make -f makeG
++ rm -f makeG
+--- MT/makefile~ 1998-12-17 15:47:48.000000000 +0000
++++ MT/makefile 2008-02-26 00:12:43.000000000 +0000
+@@ -2,7 +2,7 @@
+ cd drivers ; make drivers
+
+ lib :
+- cd src ; make spoolesMT.a
++ cd src ; make makeLib
+
+ clean :
+ cd src ; make clean
+--- makeLib~ 2011-03-05 16:44:12.000000000 +0000
++++ makeLib 2011-03-05 17:46:58.000000000 +0000
+@@ -70,8 +70,8 @@
+ .c.o :
+ $(PURIFY) $(CC) -c $(CFLAGS) $*.c -o $(OBJ)_$*.o
+
+-../../spooles.a : ${OBJ_FILES}
+- $(AR) $(ARFLAGS) ../../spooles.a $(OBJ)_*.o
++../../libspooles.a : ${OBJ_FILES}
++ $(AR) $(ARFLAGS) ../../libspooles.a $(OBJ)_*.o
+ rm -f $(OBJ)_*.o
+- $(RANLIB) ../../spooles.a
++ $(RANLIB) ../../libspooles.a
+ EOF
diff --git a/sci-libs/spooles/metadata.xml b/sci-libs/spooles/metadata.xml
new file mode 100644
index 000000000000..38223c0500b5
--- /dev/null
+++ b/sci-libs/spooles/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang='en'>
+ SPOOLES is a library for solving sparse real and complex linear
+ systems of equations, written in the C language using object
+ oriented design. At present, there is the following functionality:
+ 1. Compute multiple minimum degree, generalized nested dissection
+ and multisection orderings of matrices with symmetric structure.
+ 2. Factor and solve square linear systems of equations with
+ symmetric structure, with or without pivoting for stability.
+ 3. Factor and solve overdetermined full rank systems of equations
+ using a multifrontal QR factorization.
+ 4. Solve square linear systems using a variety of Krylov iterative
+ methods. The preconditioner is a drop tolerance factorization,
+ with or without pivoting for stability.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/spooles/spooles-2.2.ebuild b/sci-libs/spooles/spooles-2.2.ebuild
new file mode 100644
index 000000000000..3950a6621db2
--- /dev/null
+++ b/sci-libs/spooles/spooles-2.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils toolchain-funcs versionator flag-o-matic
+
+MYP=${PN}.${PV}
+
+DESCRIPTION="SParse Object Oriented Linear Equations Solver"
+HOMEPAGE="http://www.netlib.org/linalg/spooles"
+SRC_URI="http://www.netlib.org/linalg/${PN}/${MYP}.tgz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="mpi static-libs threads"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+make_shared_lib() {
+ local soname=$(basename "${1%.a}").so.$(get_major_version)
+ einfo "Making ${soname}"
+ ${2:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname="${soname}" \
+ -Wl,--whole-archive "${1}" -Wl,--no-whole-archive \
+ -o $(dirname "${1}")/"${soname}" || return 1
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-I2Ohash-64bit.patch
+ epatch "${FILESDIR}"/${P}-makefiles.patch
+ epatch "${FILESDIR}"/${P}-formats.patch
+ find . -name makefile -exec \
+ sed -i -e 's:make:$(MAKE):g' '{}' \;
+ sed -e "s/@CC@/$(tc-getCC)/" \
+ -e "s/@AR@/$(tc-getAR)/" \
+ -e "s/@RANLIB@/$(tc-getRANLIB)/" \
+ "${FILESDIR}"/Make.inc.in > Make.inc || die
+}
+
+src_compile () {
+ append-flags -fPIC
+ emake lib
+ use threads && emake -C MT lib
+ use mpi && emake -C MPI CC=mpicc lib
+ make_shared_lib libspooles.a $(use mpi && echo mpicc) || die "shared lib failed"
+ if use static-libs; then
+ filter-flags -fPIC
+ emake clean
+ emake lib
+ use threads && emake -C MT lib
+ use mpi && emake -C MPI CC=mpicc lib
+ fi
+}
+
+src_install () {
+ dolib.so libspooles.so.2
+ dosym libspooles.so.2 /usr/$(get_libdir)/libspooles.so
+ use static-libs && dolib.a libspooles.a
+ find . -name '*.h' -print0 | \
+ xargs -0 -n1 --replace=headerfile install -D headerfile tmp/headerfile
+ insinto /usr/include/${PN}
+ doins -r tmp/*
+}
diff --git a/sci-libs/spqr/Manifest b/sci-libs/spqr/Manifest
new file mode 100644
index 000000000000..fb960f2911d5
--- /dev/null
+++ b/sci-libs/spqr/Manifest
@@ -0,0 +1,2 @@
+DIST SPQR-1.2.3.tar.gz 1090017 SHA256 43c31708d4de9fbb59c00ef8c2a2df98cdf2aa1dd16887d6f4f5090df2f63abf
+DIST spqr-1.3.1.tar.bz2 1115795 SHA256 e0872ca214b347caaea28a9e6b947c980d052e92f14b3e76a3876f4df024e620 SHA512 1c7644da2bb7a14b9bc26066b84355626ce5d7c396afe5ce496ae72a5ef54431dc817178bfe7dd69ddf586b661c44066ee0850c91dba846a32787d52607749bf WHIRLPOOL 451c53c6f9501a180f3d611d28cb001a7a7a21122a9885b5e32d11fca52d5ebe36eb5a64dc880c5904806ed0f8d52d12122d4778b2cd380f06f88f8f4a4ff466
diff --git a/sci-libs/spqr/files/spqr-1.2.3-autotools.patch b/sci-libs/spqr/files/spqr-1.2.3-autotools.patch
new file mode 100644
index 000000000000..be5d15f188c3
--- /dev/null
+++ b/sci-libs/spqr/files/spqr-1.2.3-autotools.patch
@@ -0,0 +1,203 @@
+--- Demo/Makefile.am 1969-12-31 19:00:00.000000000 -0500
++++ Demo/Makefile.am 2009-10-22 23:42:08.000000000 -0400
+@@ -0,0 +1,78 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++
++LDADD = $(top_builddir)/Source/libspqr.la \
++ $(CHOLMOD_LIBS) $(AMD_LIBS) $(CAMD_LIBS) \
++ $(COLAMD_LIBS) $(CCOLAMD_LIBS) \
++ $(METIS_LIBS) $(BLAS_LIBS) $(LAPACK_LIBS) $(TBB_LIBS)
++
++check_PROGRAMS = \
++ qrsimple qrsimplec \
++ qrdemo qrdemoc
++
++qrsimple_SOURCES = qrsimple.cpp
++qrsimplec = qrsimplec.c
++qrsimplec_CFLAGS = -ansi
++qrdemo_SOURCES = qrdemo.cpp
++qrdemoc_SOURCES = qrdemoc.c
++qrdemoc_CFLAGS = -ansi
++
++
++check-local: $(check_PROGRAMS)
++ ./qrsimple < $(top_srcdir)/Matrix/ash219.mtx || exit 1
++ ./qrsimplec < $(top_srcdir)/Matrix/ash219.mtx || exit 1
++ ./qrsimple < $(top_srcdir)/Matrix/west0067.mtx || exit 1
++ ./qrsimplec < $(top_srcdir)/Matrix/west0067.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/a2.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/r2.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/a04.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/a2.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/west0067.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/c2.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/a0.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/lfat5b.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/bfwa62.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/LFAT5.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/b1_ss.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/bcspwr01.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/lpi_galenet.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/lpi_itest6.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/ash219.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/a4.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/s32.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/c32.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/lp_share1b.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/a1.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/GD06_theory.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/GD01_b.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/Tina_AskCal_perm.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/Tina_AskCal.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/GD98_a.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/Ragusa16.mtx || exit 1
++ ./qrdemo < $(top_srcdir)/Matrix/young1c.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/a2.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/r2.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/a04.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/a2.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/west0067.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/c2.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/a0.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/lfat5b.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/bfwa62.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/LFAT5.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/b1_ss.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/bcspwr01.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/lpi_galenet.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/lpi_itest6.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/ash219.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/a4.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/s32.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/c32.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/lp_share1b.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/a1.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/GD06_theory.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/GD01_b.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/Tina_AskCal_perm.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/Tina_AskCal.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/GD98_a.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/Ragusa16.mtx || exit 1
++ ./qrdemoc < $(top_srcdir)/Matrix/young1c.mtx || exit 1
+--- Include/Makefile.am 1969-12-31 19:00:00.000000000 -0500
++++ Include/Makefile.am 2009-10-22 23:42:08.000000000 -0400
+@@ -0,0 +1,5 @@
++include_HEADERS = \
++ spqr.hpp \
++ SuiteSparseQR_C.h \
++ SuiteSparseQR_definitions.h \
++ SuiteSparseQR.hpp
+--- Makefile.am 1969-12-31 19:00:00.000000000 -0500
++++ Makefile.am 2009-10-22 23:42:08.000000000 -0400
+@@ -0,0 +1,2 @@
++SUBDIRS = Include Source Demo
++EXTRA_DIST = README.txt
+--- Source/Makefile.am 1969-12-31 19:00:00.000000000 -0500
++++ Source/Makefile.am 2009-10-22 23:43:03.000000000 -0400
+@@ -0,0 +1,48 @@
++AM_CPPFLAGS=-I$(top_srcdir)/Include
++
++lib_LTLIBRARIES = libspqr.la
++
++libspqr_la_SOURCES = \
++ spqr_rmap.cpp \
++ SuiteSparseQR_C.cpp \
++ SuiteSparseQR_expert.cpp \
++ spqr_parallel.cpp \
++ spqr_kernel.cpp \
++ spqr_analyze.cpp \
++ spqr_assemble.cpp \
++ spqr_cpack.cpp \
++ spqr_csize.cpp \
++ spqr_fcsize.cpp \
++ spqr_debug.cpp \
++ spqr_front.cpp \
++ spqr_factorize.cpp \
++ spqr_freenum.cpp \
++ spqr_freesym.cpp \
++ spqr_freefac.cpp \
++ spqr_fsize.cpp \
++ spqr_maxcolnorm.cpp \
++ spqr_rconvert.cpp \
++ spqr_rcount.cpp \
++ spqr_rhpack.cpp \
++ spqr_rsolve.cpp \
++ spqr_stranspose1.cpp \
++ spqr_stranspose2.cpp \
++ spqr_hpinv.cpp \
++ spqr_1fixed.cpp \
++ spqr_1colamd.cpp \
++ SuiteSparseQR.cpp \
++ spqr_1factor.cpp \
++ spqr_cumsum.cpp \
++ spqr_shift.cpp \
++ spqr_happly.cpp \
++ spqr_panel.cpp \
++ spqr_happly_work.cpp \
++ SuiteSparseQR_qmult.cpp \
++ spqr_trapezoidal.cpp \
++ spqr_larftb.cpp \
++ spqr_append.cpp \
++ spqr_type.cpp \
++ spqr_tol.cpp
++
++libspqr_la_CPPFLAGS = $(AM_CPPFLAGS) $(METIS_CFLAGS) $(TBB_CFLAGS) $(LAPACK_CFLAGS)
++libspqr_la_LIBADD = $(METIS_LIBS) $(TBB_LIBS) $(LAPACK_LIBS)
+--- configure.ac 1969-12-31 19:00:00.000000000 -0500
++++ configure.ac 2009-10-22 23:42:32.000000000 -0400
+@@ -0,0 +1,55 @@
++AC_PREREQ(2.59)
++AC_INIT(spqr, 1.2, davis@cise.ufl.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_SRCDIR([Source/spqr_kernel.cpp])
++AM_INIT_AUTOMAKE([foreign])
++
++AC_PROG_LIBTOOL
++AC_PROG_CXX
++AC_LANG(C++)
++
++AC_CHECK_LIB(m, sqrt)
++AC_CHECK_LIB(lapack,zlarft_)
++AC_CHECK_HEADERS(UFconfig.h)
++AC_CHECK_HEADERS(cholmod.h)
++AC_CHECK_LIB(cholmod, cholmod_solve, [], \
++ [AC_MSG_ERROR([Cannot find libcholmod])])
++
++AC_ARG_WITH(metis,
++ [AC_HELP_STRING([--with-metis],
++ [Use METIS for partitioning])],
++ [with_metis=$withval],
++ [with_metis="yes"])
++if test x$with_metis = xyes; then
++ PKG_PROG_PKG_CONFIG
++ if test -n "$PKG_CONFIG"; then
++ PKG_CHECK_MODULES([metis], [metis])
++ else
++ AC_CHECK_HEADERS(metis.h)
++ AC_CHECK_LIB(metis, METIS_NodeND, [METIS_LIBS=-lmetis], \
++ [AC_MSG_ERROR([Cannot find libmetis])])
++ fi
++ AC_DEFINE(NPARTITION)
++fi
++AM_CONDITIONAL([METIS], [test x$with_metis = xyes])
++
++AC_ARG_WITH(tbb,
++ [AC_HELP_STRING([--with-tbb],
++ [Use Intel Threading Building Block for multithreading])],
++ [with_tbb=$withval],
++ [with_tbb="yes"])
++if test x$with_tbb = xyes; then
++ AC_CHECK_HEADERS(tbb/task.h)
++ TBB_CFLAGS=""
++ TBB_LIBS="-ltbb"
++ AC_SUBST(TBB_CFLAGS)
++ AC_SUBST(TBB_LIBS)
++ AC_DEFINE(HAVE_TBB)
++fi
++AM_CONDITIONAL([WITH_TBB], [test x$with_tbb = xyes])
++
++AC_CONFIG_FILES([Makefile
++ Source/Makefile
++ Include/Makefile
++ Demo/Makefile])
++AC_OUTPUT
diff --git a/sci-libs/spqr/metadata.xml b/sci-libs/spqr/metadata.xml
new file mode 100644
index 000000000000..ed49aa297db1
--- /dev/null
+++ b/sci-libs/spqr/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ SuiteSparseQR is an implementation of the multifrontal sparse QR
+ factorization method. Parallelism is exploited both in the BLAS and
+ across different frontal matrices using Intel's Threading Building
+ Blocks. It can obtain a substantial fraction of the theoretical
+ peak performance of a multicore computer.
+</longdescription>
+<use>
+ <flag name='metis'>Use <pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg> for partitioning</flag>
+ <flag name='tbb'>Enable multithreading with the Intel Threads
+ Building Block <pkg>dev-cpp/tbb</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/spqr/spqr-1.2.3-r1.ebuild b/sci-libs/spqr/spqr-1.2.3-r1.ebuild
new file mode 100644
index 000000000000..a6e06c500526
--- /dev/null
+++ b/sci-libs/spqr/spqr-1.2.3-r1.ebuild
@@ -0,0 +1,40 @@
+# 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
+
+MY_PN=SPQR
+DESCRIPTION="Multithreaded multifrontal sparse QR factorization library"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/SPQR"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc metis static-libs tbb"
+RDEPEND="sci-libs/cholmod[supernodal(+)]
+ tbb? ( dev-cpp/tbb )
+ metis? ( >=sci-libs/cholmod-1.7.0-r1[metis] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( README.txt Doc/ChangeLog )
+PATCHES=( "${FILESDIR}"/${P}-autotools.patch )
+
+S="${WORKDIR}/${MY_PN}"
+
+src_configure() {
+ myeconfargs+=(
+ $(use_with metis)
+ $(use_with tbb)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && doins Doc/*.pdf
+}
diff --git a/sci-libs/spqr/spqr-1.3.1.ebuild b/sci-libs/spqr/spqr-1.3.1.ebuild
new file mode 100644
index 000000000000..d9b63939f485
--- /dev/null
+++ b/sci-libs/spqr/spqr-1.3.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Multithreaded multifrontal sparse QR factorization library"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/SPQR"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc metis static-libs tbb"
+RDEPEND="
+ virtual/lapack
+ >=sci-libs/cholmod-2[metis?]
+ tbb? ( dev-cpp/tbb )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+src_configure() {
+ local myeconfargs+=(
+ $(use_with doc)
+ $(use_with metis partition)
+ $(use_with tbb)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/spr/Manifest b/sci-libs/spr/Manifest
new file mode 100644
index 000000000000..442894b6c355
--- /dev/null
+++ b/sci-libs/spr/Manifest
@@ -0,0 +1 @@
+DIST SPR-3.3.2.tar.gz 2512059 SHA256 e0ab1d690c11556f5c67a991398bf04c58d456febfcc98402fc58ae3dbd9a1ff SHA512 5fc5cd90de87385ac2bc6c4b7f54be2fe5e1548c2c5b9fbd4fd9958f443bd25233b59b773186dc3c38efdfb90b622420f1a0ab585937df75e7ed049500a59a9d WHIRLPOOL b938140ea12777435ae10417d1b7f8718aa4b5d6db97f0be5b3ff478a452d770e337a0610353705a359c376b5bee1cf89d975daa0dc42e60fd2a0cc38a051323
diff --git a/sci-libs/spr/files/spr-3.3.2-autotools.patch b/sci-libs/spr/files/spr-3.3.2-autotools.patch
new file mode 100644
index 000000000000..d04d1806dda8
--- /dev/null
+++ b/sci-libs/spr/files/spr-3.3.2-autotools.patch
@@ -0,0 +1,169 @@
+diff -Nur SPR-3.3.2.orig/configure.ac SPR-3.3.2/configure.ac
+--- SPR-3.3.2.orig/configure.ac 2011-03-29 05:52:30.000000000 +0100
++++ SPR-3.3.2/configure.ac 2011-05-04 00:48:43.000000000 +0100
+@@ -35,9 +35,6 @@
+ AC_FUNC_STAT
+ AC_CHECK_FUNCS([gettimeofday pow sqrt])
+
+-## Default compiler flags
+-DEFAULTCXXFLAGS="-O4"
+-
+ ## ROOT installation
+ AC_ARG_VAR([ROOTPATH], [path to ROOT installation])
+ AC_ARG_WITH([root], AC_HELP_STRING([--with-root], [path to ROOT installation]),
+@@ -97,7 +94,6 @@
+ ## Test ROOT libs
+ AC_MSG_CHECKING([ROOT libraries])
+ if test -f ${ROOTLIBPATH}/libCore.so; then
+- DEFAULTCXXFLAGS="-O2"
+ AC_MSG_RESULT([using ROOT libraries in $ROOTLIBPATH])
+ else
+ AC_MSG_WARN([ROOT libraries not found under $ROOTLIBPATH... disabling ROOT])
+@@ -117,16 +113,6 @@
+ ################################
+
+
+-## Set default compiler flags if CXXFLAGS not defined
+-if test -z "$CXXFLAGS"; then
+- CXXFLAGS=$DEFAULTCXXFLAGS
+-fi
+-
+-
+-AM_CXXFLAGS="-ansi -pedantic"
+-AC_SUBST(AM_CPPFLAGS)
+-AC_SUBST(AM_CXXFLAGS)
+-AC_SUBST(CXXFLAGS)
+
+ AC_CONFIG_FILES(Makefile)
+ AC_CONFIG_FILES(math/Makefile)
+diff -Nur SPR-3.3.2.orig/data/Makefile.am SPR-3.3.2/data/Makefile.am
+--- SPR-3.3.2.orig/data/Makefile.am 2011-03-29 05:52:30.000000000 +0100
++++ SPR-3.3.2/data/Makefile.am 2011-03-29 05:54:19.000000000 +0100
+@@ -1,4 +1,5 @@
+-dist_data_DATA = \
++
++pkgdata_DATA = \
+ discrete_square.pat gausscorr_uniform_2d_train.pat \
+ gauss2_uniform_2d_train.pat trainRoot.pat \
+ gauss2_uniform_2d_valid.pat triangle_square_00_train.pat \
+@@ -9,4 +10,4 @@
+ lambda-test.pat cmc.data \
+ gauss2_uniform_2d_train_root.pat mlp_root.pat \
+ tmva_root.pat cleveland.data \
+-samplematrixindicator.cfg
+\ No newline at end of file
++samplematrixindicator.cfg
+diff -Nur SPR-3.3.2.orig/src/Makefile.am SPR-3.3.2/src/Makefile.am
+--- SPR-3.3.2.orig/src/Makefile.am 2011-03-29 05:52:30.000000000 +0100
++++ SPR-3.3.2/src/Makefile.am 2011-05-04 00:45:22.000000000 +0100
+@@ -1,20 +1,14 @@
+ lib_LTLIBRARIES = libSPR.la
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)
+-AM_LDFLAGS = -L/usr/lib -L$(top_srcdir)/src
+-AM_LIBS = -lSPR
+-APPLDADD = -lSPR
++
+ if WITH_ROOT
+- AM_CXXFLAGS += $(ROOTCXXFLAGS) -O2
++ AM_CXXFLAGS = $(ROOTCXXFLAGS)
+ AM_CPPFLAGS += $(ROOTCPPFLAGS) -DSPRROOTTUPLE
+- AM_LDFLAGS += $(ROOTLDFLAGS)
+- AM_LIBS += $(ROOTLIBS)
+- APPLDADD += $(ROOTLIBS)
+-else
+- AM_CXXFLAGS += -O4
++ AM_LDFLAGS = $(ROOTLDFLAGS)
+ endif
+
+-libSPR_la_LIBADD = $(top_srcdir)/math/libSPRmath.la
++libSPR_la_LIBADD = $(top_srcdir)/math/libSPRmath.la $(ROOTLIBS)
+ libSPR_la_SOURCES = \
+ SprDataMoments.cc SprDecisionTree.cc \
+ SprFisher.cc SprFomCalculator.cc \
+@@ -60,81 +54,52 @@
+ #####################################################################
+
+
++LDADD = libSPR.la
+
+-noinst_PROGRAMS = exampleBootstrapVarianceEst exampleCorrTest \
++check_PROGRAMS = exampleBootstrapVarianceEst exampleCorrTest \
+ exampleUserCuts exampleMatrixTest
+
+ exampleBootstrapVarianceEst_SOURCES = exampleBootstrapVarianceEst.cc
+-exampleBootstrapVarianceEst_LDADD = $(APPLDADD)
+ exampleCorrTest_SOURCES = exampleCorrTest.cc
+-exampleCorrTest_LDADD = $(APPLDADD)
+ exampleMatrixTest_SOURCES = exampleMatrixTest.cc
+-exampleMatrixTest_LDADD = $(APPLDADD)
+
+ bin_PROGRAMS = SprFisherLogitApp SprDecisionTreeApp SprExploratoryAnalysisApp \
+ SprMultiClassApp SprGoFDecisionTreeApp SprAdaBoostBinarySplitApp \
+ SprRBFNetApp SprAdaBoostDecisionTreeApp SprStdBackpropApp \
+ SprCombinerApp SprBaggerDecisionTreeApp SprBumpHunterApp \
+ SprInteractiveAnalysisApp SprOutputAnalyzerApp SprOutputWriterApp \
+- SprBoosterApp SprBaggerApp exampleUserCuts \
++ SprBoosterApp SprBaggerApp \
+ SprVariableImportanceApp SprIOTestApp SprAddBaggersApp \
+ SprTransformationApp SprSplitterApp SprAddNRemoveRApp \
+ SprGEPApp SprCrossValidatorApp SprAddColumnsForMCLApp \
+ SprIndicatorMatrixApp
+
+ SprFisherLogitApp_SOURCES = SprFisherLogitApp.cc
+-SprFisherLogitApp_LDADD = $(APPLDADD)
+ SprDecisionTreeApp_SOURCES = SprDecisionTreeApp.cc
+-SprDecisionTreeApp_LDADD = $(APPLDADD)
+ SprExploratoryAnalysisApp_SOURCES = SprExploratoryAnalysisApp.cc
+-SprExploratoryAnalysisApp_LDADD = $(APPLDADD)
+ SprMultiClassApp_SOURCES = SprMultiClassApp.cc
+-SprMultiClassApp_LDADD = $(APPLDADD)
+ SprGoFDecisionTreeApp_SOURCES = SprGoFDecisionTreeApp.cc
+-SprGoFDecisionTreeApp_LDADD = $(APPLDADD)
+ SprAdaBoostBinarySplitApp_SOURCES = SprAdaBoostBinarySplitApp.cc
+-SprAdaBoostBinarySplitApp_LDADD = $(APPLDADD)
+ SprRBFNetApp_SOURCES = SprRBFNetApp.cc
+-SprRBFNetApp_LDADD = $(APPLDADD)
+ SprAdaBoostDecisionTreeApp_SOURCES = SprAdaBoostDecisionTreeApp.cc
+-SprAdaBoostDecisionTreeApp_LDADD = $(APPLDADD)
+ SprStdBackpropApp_SOURCES = SprStdBackpropApp.cc
+-SprStdBackpropApp_LDADD = $(APPLDADD)
+ SprCombinerApp_SOURCES = SprCombinerApp.cc
+-SprCombinerApp_LDADD = $(APPLDADD)
+ SprBaggerDecisionTreeApp_SOURCES = SprBaggerDecisionTreeApp.cc
+-SprBaggerDecisionTreeApp_LDADD = $(APPLDADD)
+ SprBumpHunterApp_SOURCES = SprBumpHunterApp.cc
+-SprBumpHunterApp_LDADD = $(APPLDADD)
+ SprInteractiveAnalysisApp_SOURCES = SprInteractiveAnalysisApp.cc
+-SprInteractiveAnalysisApp_LDADD = $(APPLDADD)
+ SprOutputAnalyzerApp_SOURCES = SprOutputAnalyzerApp.cc
+-SprOutputAnalyzerApp_LDADD = $(APPLDADD)
+ SprOutputWriterApp_SOURCES = SprOutputWriterApp.cc
+-SprOutputWriterApp_LDADD = $(APPLDADD)
+ SprBoosterApp_SOURCES = SprBoosterApp.cc
+-SprBoosterApp_LDADD = $(APPLDADD)
+ SprBaggerApp_SOURCES = SprBaggerApp.cc
+-SprBaggerApp_LDADD = $(APPLDADD)
+ exampleUserCuts_SOURCES = exampleUserCuts.cc
+-exampleUserCuts_LDADD = $(APPLDADD)
+ SprVariableImportanceApp_SOURCES = SprVariableImportanceApp.cc
+-SprVariableImportanceApp_LDADD = $(APPLDADD)
+ SprIOTestApp_SOURCES = SprIOTestApp.cc
+-SprIOTestApp_LDADD = $(APPLDADD)
+ SprAddBaggersApp_SOURCES = SprAddBaggersApp.cc
+-SprAddBaggersApp_LDADD = $(APPLDADD)
+ SprTransformationApp_SOURCES = SprTransformationApp.cc
+-SprTransformationApp_LDADD = $(APPLDADD)
+ SprSplitterApp_SOURCES = SprSplitterApp.cc
+-SprSplitterApp_LDADD = $(APPLDADD)
+ SprAddNRemoveRApp_SOURCES = SprAddNRemoveRApp.cc
+-SprAddNRemoveRApp_LDADD = $(APPLDADD)
+ SprGEPApp_SOURCES = SprGEPApp.cc
+-SprGEPApp_LDADD = $(APPLDADD)
+ SprCrossValidatorApp_SOURCES = SprCrossValidatorApp.cc
+-SprCrossValidatorApp_LDADD = $(APPLDADD)
+ SprAddColumnsForMCLApp_SOURCES = SprAddColumnsForMCLApp.cc
+-SprAddColumnsForMCLApp_LDADD = $(APPLDADD)
+ SprIndicatorMatrixApp_SOURCES = SprIndicatorMatrixApp.cc
+-SprIndicatorMatrixApp_LDADD = $(APPLDADD)
++
diff --git a/sci-libs/spr/files/spr-3.3.2-gcc46.patch b/sci-libs/spr/files/spr-3.3.2-gcc46.patch
new file mode 100644
index 000000000000..715d2ab21ede
--- /dev/null
+++ b/sci-libs/spr/files/spr-3.3.2-gcc46.patch
@@ -0,0 +1,33 @@
+diff -Nur SPR-3.3.2.orig/src/SprAddBaggersApp.cc SPR-3.3.2/src/SprAddBaggersApp.cc
+--- SPR-3.3.2.orig/src/SprAddBaggersApp.cc 2011-03-29 05:52:30.000000000 +0100
++++ SPR-3.3.2/src/SprAddBaggersApp.cc 2011-05-04 00:58:45.000000000 +0100
+@@ -6,6 +6,7 @@
+ #include "StatPatternRecognition/SprClassifierReader.hh"
+ #include "StatPatternRecognition/SprStringParser.hh"
+
++#include <cstdio>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <iostream>
+diff -Nur SPR-3.3.2.orig/src/SprAddColumnsForMCLApp.cc SPR-3.3.2/src/SprAddColumnsForMCLApp.cc
+--- SPR-3.3.2.orig/src/SprAddColumnsForMCLApp.cc 2011-03-29 05:52:30.000000000 +0100
++++ SPR-3.3.2/src/SprAddColumnsForMCLApp.cc 2011-05-04 00:59:02.000000000 +0100
+@@ -4,6 +4,7 @@
+ #include "StatPatternRecognition/SprMultiClassReader.hh"
+ #include "StatPatternRecognition/SprTrainedMultiClassLearner.hh"
+
++#include <cstdio>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <iostream>
+diff -Nur SPR-3.3.2.orig/src/SprIndicatorMatrixApp.cc SPR-3.3.2/src/SprIndicatorMatrixApp.cc
+--- SPR-3.3.2.orig/src/SprIndicatorMatrixApp.cc 2011-03-29 05:52:30.000000000 +0100
++++ SPR-3.3.2/src/SprIndicatorMatrixApp.cc 2011-05-04 00:59:31.000000000 +0100
+@@ -4,6 +4,7 @@
+ #include "StatPatternRecognition/SprIndicatorMatrix.hh"
+ #include "StatPatternRecognition/SprConfig.hh"
+
++#include <cstdio>
+ #include <iostream>
+ #include <string>
+ #include <unistd.h>
diff --git a/sci-libs/spr/metadata.xml b/sci-libs/spr/metadata.xml
new file mode 100644
index 000000000000..a4c1fdcaaea5
--- /dev/null
+++ b/sci-libs/spr/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-physics</herd>
+ <longdescription lang="en">
+ The package implements a variety of tools for categorization of
+ multivariate data such as boosted decision trees, bagging and
+ random forest, bump hunting, a multi-class learner and others.
+ It is used mostly in High Energy Physics.
+ </longdescription>
+ <use>
+ <flag name="root">Add <pkg>sci-physics/root</pkg> graphics and i/o
+ support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">statpatrec</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/spr/spr-3.3.2.ebuild b/sci-libs/spr/spr-3.3.2.ebuild
new file mode 100644
index 000000000000..dad4d53b9e76
--- /dev/null
+++ b/sci-libs/spr/spr-3.3.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils autotools
+
+MYP=SPR-${PV}
+
+DESCRIPTION="Statistical analysis and machine learning library"
+HOMEPAGE="http://statpatrec.sourceforge.net/"
+SRC_URI="mirror://sourceforge/statpatrec/${MYP}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="root static-libs"
+
+DEPEND="root? ( sci-physics/root )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MYP}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-autotools.patch \
+ "${FILESDIR}"/${P}-gcc46.patch
+ rm aclocal.m4 || die
+ eautoreconf
+ cp data/gauss* src/
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with root)
+}
diff --git a/sci-libs/ssm/Manifest b/sci-libs/ssm/Manifest
new file mode 100644
index 000000000000..c7b6701dbda6
--- /dev/null
+++ b/sci-libs/ssm/Manifest
@@ -0,0 +1,2 @@
+DIST ssm-1.1.tar.gz 376302 SHA256 975e4e67838d2b44d1c66edff2f7b7802696e80e68bd5238ad0d23834a4583e9 SHA512 04cf1e302a7010d6e038d21f446b6c58afa654a89614963347ed83e858ab24e32d428b241de7e845f53c69c5cd81570d307a57ae5a4a1de3e1db6c835c9ee997 WHIRLPOOL d799c8b681d340fcad389f2e79967c9c7cb0fe21bdb73441eb600669c988cfcf59dba0945831fe8c0b6c2ef64538689bb194044ca8402d1bc9ca2f7c6babe03d
+DIST ssm-1.4.tar.gz 424785 SHA256 ea1a57d019bd69ab04e1b7c4faa2f8451584474a6fc16285c2211ef9f53b2704 SHA512 93b55c544eaf651544bb664b65701c081aa6e77707aaf680c1489b129f89598d9a9c348d2fae86cd6e7b3e97bfd26c3abe16220633da4b570c983dbceec8b15a WHIRLPOOL 1a4c5b49102ac7bab732d17d3381e2f0ecc2e85902121f93e47c4be624e9009dce1f727441229f842267882b042ebe7315a42a7e3ade6d8f67ed8031e65eed92
diff --git a/sci-libs/ssm/files/ssm-1.1-mmdb.patch b/sci-libs/ssm/files/ssm-1.1-mmdb.patch
new file mode 100644
index 000000000000..6e80ed35723d
--- /dev/null
+++ b/sci-libs/ssm/files/ssm-1.1-mmdb.patch
@@ -0,0 +1,27 @@
+--- configure.ac_orig 2011-02-25 16:20:48.000000000 -0800
++++ configure.ac 2011-02-25 16:21:19.000000000 -0800
+@@ -27,8 +27,10 @@
+ AC_STRUCT_TM
+
+ dnl Check for MMDB.
+-AM_PATH_MMDB([echo Found mmdb], [echo Error locating necessary mmdb; exit 1])
+-
++# AM_PATH_MMDB([echo Found mmdb], [echo Error locating necessary mmdb; exit 1])
++PKG_CHECK_MODULES(MMDB, mmdb >= 1.23)
++AC_SUBST(MMDB_CFLAGS)
++AC_SUBST(MMDB_LIBS)
+
+ # Checks for library functions.
+ AC_FUNC_STRTOD
+--- src/Makefile.am_orig 2007-09-03 13:58:00.000000000 -0700
++++ src/Makefile.am 2008-11-10 01:38:24.000000000 -0800
+@@ -5,7 +5,8 @@
+
+ lib_LTLIBRARIES = libssm.la
+
+-INCLUDES = $(MMDB_CXXFLAGS)
++AM_CPPFLAGS = @MMDB_CFLAGS@
++LIBS = @MMDB_LIBS@
+
+ libssm_h_sources = ss_csia.h ss_graph.h ssm_align.h ssm_superpose.h ss_vxedge.h
+
diff --git a/sci-libs/ssm/files/ssm-1.1-pc.patch b/sci-libs/ssm/files/ssm-1.1-pc.patch
new file mode 100644
index 000000000000..c018bc029eb9
--- /dev/null
+++ b/sci-libs/ssm/files/ssm-1.1-pc.patch
@@ -0,0 +1,19 @@
+ ssm.pc.in | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/ssm.pc.in b/ssm.pc.in
+index c5f8a6a..a6ac635 100644
+--- a/ssm.pc.in
++++ b/ssm.pc.in
+@@ -1,7 +1,7 @@
+-prefix=@SSM_PREFIX@
+-exec_prefix=@SSM_PREFIX@
+-libdir=@SSM_PREFIX@/lib
+-includedir=@SSM_PREFIX@/include
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@/ssm
+
+ Name: ssm
+ Description: Macromolecular superposition library
diff --git a/sci-libs/ssm/metadata.xml b/sci-libs/ssm/metadata.xml
new file mode 100644
index 000000000000..089c2128c1d7
--- /dev/null
+++ b/sci-libs/ssm/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <use>
+ <flag name="ccp4">Link superpose with libccp4</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">ssm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/ssm/ssm-1.1.ebuild b/sci-libs/ssm/ssm-1.1.ebuild
new file mode 100644
index 000000000000..983d4e03c007
--- /dev/null
+++ b/sci-libs/ssm/ssm-1.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils
+
+DESCRIPTION="A macromolecular coordinate superposition library"
+HOMEPAGE="https://launchpad.net/ssm"
+SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND=">=sci-libs/mmdb-1.23:0"
+RDEPEND="${DEPEND}
+ !<sci-libs/ccp4-libs-6.1.3-r10"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-mmdb.patch \
+ "${FILESDIR}"/${P}-pc.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
diff --git a/sci-libs/ssm/ssm-1.4.ebuild b/sci-libs/ssm/ssm-1.4.ebuild
new file mode 100644
index 000000000000..9e3ef49d7d62
--- /dev/null
+++ b/sci-libs/ssm/ssm-1.4.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="A macromolecular coordinate superposition library"
+HOMEPAGE="https://launchpad.net/ssm"
+SRC_URI="ftp://ftp.ccp4.ac.uk/opensource/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0/2"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ccp4 static-libs"
+
+DEPEND="
+ >=sci-libs/mmdb-1.23:2
+ ccp4? ( >=sci-libs/ccp4-libs-6.1.3-r10 )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myeconfargs=( $(use_enable ccp4) )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/starparse/Manifest b/sci-libs/starparse/Manifest
new file mode 100644
index 000000000000..96c1a511585f
--- /dev/null
+++ b/sci-libs/starparse/Manifest
@@ -0,0 +1 @@
+DIST starparse-1.0.tar.bz2 5466370 SHA256 0ff25bb00c9481136bd060660340a44095902e17d75cc11d749ace597b5f4c61 SHA512 47e862258281a3faa506d4eb573a2819a9f5b1cb16828c4951d5d23bbfa8877d9b737ca0b33136dcf8ae0e96ecc9d310ba65a5b7cf1fe18ab8beb092f2342e9a WHIRLPOOL 6bb9a9c5b60888045d64b8890c278c97f80b4abb95678f6db166d23c744ac106f0db3913f77e4bda958c8edf8a51f0f7bcd6a93790fe2691081ec231b2ff11cb
diff --git a/sci-libs/starparse/files/starparse-1.0-guile1.8.patch b/sci-libs/starparse/files/starparse-1.0-guile1.8.patch
new file mode 100644
index 000000000000..1d6e176b079e
--- /dev/null
+++ b/sci-libs/starparse/files/starparse-1.0-guile1.8.patch
@@ -0,0 +1,60 @@
+--- src/guile-binding.c
++++ src/guile-binding.c
+@@ -61,10 +61,10 @@
+ char* filter_string = NULL;
+ char* fname = "-";
+
+- if (SCM_NFALSEP(filter_string_scm))
++ if (scm_is_true(filter_string_scm))
+ filter_string = scm_to_locale_string(filter_string_scm);
+
+- if (SCM_NFALSEP(fname_scm))
++ if (scm_is_true(fname_scm))
+ fname = scm_to_locale_string(fname_scm);
+
+ ship_item_cb = ship_item_scm;
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -6,13 +6,10 @@
+ libstarparse_la_SOURCES =\
+ parser.y lexer.l starparse.h
+
+-libstarparse_la_CFLAGS =
+-libstarparse_la_LDFLAGS =
+-
+ if ENABLE_GUILE
+ libstarparse_la_SOURCES += guile-binding.c guile-compat.h
+-libstarparse_la_CFLAGS += @GUILE_CFLAGS@
+-libstarparse_la_LDFLAGS += @GUILE_LDFLAGS@ -lpthread
++libstarparse_la_CFLAGS = @GUILE_CFLAGS@
++libstarparse_la_LIBADD = @GUILE_LIBS@ -lpthread
+ endif
+
+
+--- configure.ac
++++ configure.ac
+@@ -10,18 +10,13 @@
+
+ AM_INIT_AUTOMAKE
+
+-AC_ARG_ENABLE(guile,
++AC_ARG_ENABLE([guile],
+ AS_HELP_STRING([--enable-guile],
+- [build bindings for guile scheme interpreter]),
+- USE_GUILE=$enable_guile,
+- USE_GUILE=yes) # default value
+-
+-if test "x$USE_GUILE" = "xyes";
+-then
+- GUILE_FLAGS
+-fi
+-
+-AM_CONDITIONAL(ENABLE_GUILE, test "x$USE_GUILE" = "xyes")
++ [build bindings for guile scheme interpreter]))
++AS_IF([test "x$enable_guile" = "xyes"], [
++ PKG_CHECK_MODULES([GUILE], [guile-1.8])
++])
++AM_CONDITIONAL(ENABLE_GUILE, test "x$enable_guile" = "xyes")
+
+ AC_CONFIG_FILES([Makefile
+ starparse-env
diff --git a/sci-libs/starparse/metadata.xml b/sci-libs/starparse/metadata.xml
new file mode 100644
index 000000000000..51fdedab1b38
--- /dev/null
+++ b/sci-libs/starparse/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+</pkgmetadata>
diff --git a/sci-libs/starparse/starparse-1.0-r1.ebuild b/sci-libs/starparse/starparse-1.0-r1.ebuild
new file mode 100644
index 000000000000..44d8c220fedf
--- /dev/null
+++ b/sci-libs/starparse/starparse-1.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+DESCRIPTION="Library for parsing NMR star files (peak-list format) and CIF files"
+HOMEPAGE="http://burrow-owl.sourceforge.net/"
+#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+# Created from rev 19 @ http://oregonstate.edu/~benisong/software/projects/starparse/releases/1.0
+SRC_URI="http://dev.gentooexperimental.org/~jlec/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="guile static-libs test"
+
+REQUIRED_USE="test? ( guile )"
+
+RDEPEND="guile? ( dev-scheme/guile:12 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${P}-guile1.8.patch )
+
+src_configure() {
+ local myeconfargs=( $(use_enable guile) )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/suitesparse/metadata.xml b/sci-libs/suitesparse/metadata.xml
new file mode 100644
index 000000000000..196e8deea834
--- /dev/null
+++ b/sci-libs/suitesparse/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ SuiteSparse is a suite of sparse matrix libraries from University of
+ Florida Computer Science Department. Currently, this includes:
+ * AMD: symmetric approximate minimum degree
+ * BTF: permutation to block triangular form
+ * CAMD: symmetric approximate minimum degree
+ * CCOLAMD: constrained column approximate minimum degree
+ * COLAMD: column approximate minimum degree
+ * CHOLMOD: sparse supernodal Cholesky factorization and update/downdate
+ * CSparse: a concise sparse matrix package
+ * CXSparse: an extended version of CSparse
+ * KLU: sparse LU factorization, for circuit simulation
+ * LDL: a simple LDL^T factorization
+ * SPQR: multifrontal sparse QT factorization
+ * UMFPACK: sparse multifrontal LU factorization
+ * SuiteSparse_config: common configuration for all but CSparse
+ The Gentoo package does not include the suitesparse MATLAB tools from
+ upstream, from the packages above and the following MATLAB-only packages:
+ * RBio: MATLAB toolbox for reading/writing sparse matrices
+ * LINFACTOR: solve Ax=b using LU or CHOL
+ * MESHND: 2D and 3D mesh generation and nested dissection
+ * SSMULT: sparse matrix times sparse matrix
+</longdescription>
+<use>
+ <flag name="cuda">Enable nvidia cuda toolkit for speeding up computations</flag>
+ <flag name="metis">Enable the Partition module to cholmod using <pkg>sci-libs/metis</pkg></flag>
+ <flag name='tbb'>Enable multithreading with the Intel Threads Building Block <pkg>dev-cpp/tbb</pkg></flag>
+</use>
+</pkgmetadata>
diff --git a/sci-libs/suitesparse/suitesparse-4.0.2.ebuild b/sci-libs/suitesparse/suitesparse-4.0.2.ebuild
new file mode 100644
index 000000000000..7f6ff7d09978
--- /dev/null
+++ b/sci-libs/suitesparse/suitesparse-4.0.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Meta package for a suite of sparse matrix tools"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/SuiteSparse/"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc metis tbb lapack"
+DEPEND=""
+RDEPEND="
+ >=sci-libs/suitesparseconfig-${PV}
+ >=sci-libs/amd-2.3.1[doc?]
+ >=sci-libs/btf-1.2.0
+ >=sci-libs/camd-2.3.1[doc?]
+ >=sci-libs/ccolamd-2.8.0
+ >=sci-libs/cholmod-2.0.1[cuda?,doc?,metis?,lapack?]
+ >=sci-libs/colamd-2.3.1
+ >=sci-libs/cxsparse-3.1.1
+ >=sci-libs/klu-1.2.0[doc?]
+ >=sci-libs/ldl-2.0.4[doc?]
+ >=sci-libs/spqr-1.3.1[doc?,metis?,tbb?]
+ >=sci-libs/umfpack-5.6.1[doc?,cholmod]"
diff --git a/sci-libs/suitesparse/suitesparse-4.2.1.ebuild b/sci-libs/suitesparse/suitesparse-4.2.1.ebuild
new file mode 100644
index 000000000000..1166cc785807
--- /dev/null
+++ b/sci-libs/suitesparse/suitesparse-4.2.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Meta package for a suite of sparse matrix tools"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/SuiteSparse/"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc metis tbb lapack"
+DEPEND=""
+RDEPEND="
+ >=sci-libs/suitesparseconfig-${PV}
+ >=sci-libs/amd-2.3.1[doc?]
+ >=sci-libs/btf-1.2.0
+ >=sci-libs/camd-2.3.1[doc?]
+ >=sci-libs/ccolamd-2.8.0
+ >=sci-libs/cholmod-2.1.2[cuda?,doc?,metis?,lapack?]
+ >=sci-libs/colamd-2.3.1
+ >=sci-libs/cxsparse-3.1.2
+ >=sci-libs/klu-1.2.0[doc?]
+ >=sci-libs/ldl-2.0.4[doc?]
+ >=sci-libs/spqr-1.3.1[doc?,metis?,tbb?]
+ >=sci-libs/umfpack-5.6.2[doc?,cholmod]"
diff --git a/sci-libs/suitesparseconfig/Manifest b/sci-libs/suitesparseconfig/Manifest
new file mode 100644
index 000000000000..550295d1a9c7
--- /dev/null
+++ b/sci-libs/suitesparseconfig/Manifest
@@ -0,0 +1 @@
+DIST suitesparseconfig-4.2.1.tar.bz2 256308 SHA256 cccdd13c8ddf8efdbe738ccd147ed16ef73c6e8d327d825714af5b7aca1d7611 SHA512 2363f8adb962d1f932b4390ac54e7203b5eec6005f9275dc155a4b178fd5259ddd42dc34c663a4c82546452c0f1e05619522567a69be1a58efc5d032b6d7a61d WHIRLPOOL 6e26494c6f6d798893cb807e34243d9cd13454a95fcd61fb2c7545ac392a3177d3b01170990f9a749e0d9bebf95ea7476d39b8f9c5d3d0715715e962e26bd771
diff --git a/sci-libs/suitesparseconfig/metadata.xml b/sci-libs/suitesparseconfig/metadata.xml
new file mode 100644
index 000000000000..eff9fe58d9d2
--- /dev/null
+++ b/sci-libs/suitesparseconfig/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ SuiteSparse_config is a set of configuration files for the SuiteSparse matrix libraries
+ from CISE at University of Florida. It contains some headers and makefiles.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/suitesparseconfig/suitesparseconfig-4.2.1.ebuild b/sci-libs/suitesparseconfig/suitesparseconfig-4.2.1.ebuild
new file mode 100644
index 000000000000..cb474363a980
--- /dev/null
+++ b/sci-libs/suitesparseconfig/suitesparseconfig-4.2.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Common configurations for all packages in suitesparse"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/SuiteSparse_config"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
diff --git a/sci-libs/superlu/Manifest b/sci-libs/superlu/Manifest
new file mode 100644
index 000000000000..377b0a7e7d15
--- /dev/null
+++ b/sci-libs/superlu/Manifest
@@ -0,0 +1 @@
+DIST superlu_4.3.tar.gz 2876631 SHA256 7aa08e75fba6b242aef20f10a31d7e052ad74ad29384e68d41a61d1d642f18da SHA512 5c13da47b79160be14719f62ccdf5d59142a172e25a988fa340eaeb001a64d7f45ba39e675cb7aa3571bec52cb3a7cda0bb7a708c9608184ba6251edb7990e8c WHIRLPOOL 034d924a736d101497df13f4f69d96b9e375c78a207df1615a7d22b639e24d755e9cb16e952c57ee8eece8d4ea7aa9f9d0576aaaee19ae0b0898698973864c15
diff --git a/sci-libs/superlu/files/superlu-4.3-autotools.patch b/sci-libs/superlu/files/superlu-4.3-autotools.patch
new file mode 100644
index 000000000000..c5aae0159344
--- /dev/null
+++ b/sci-libs/superlu/files/superlu-4.3-autotools.patch
@@ -0,0 +1,584 @@
+ EXAMPLE/Makefile | 68 +++++++++---------
+ FORTRAN/Makefile | 14 ++--
+ Makefile.am | 4 +
+ SRC/Makefile.am | 110 +++++++++++++++++++++++++++++
+ ax_blas.m4 | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 16 ++++
+ superlu.pc.in | 13 ++++
+ 7 files changed, 385 insertions(+), 41 deletions(-)
+
+diff --git a/EXAMPLE/Makefile b/EXAMPLE/Makefile
+index c286ded..37950dc 100644
+--- a/EXAMPLE/Makefile
++++ b/EXAMPLE/Makefile
+@@ -1,4 +1,3 @@
+-include ../make.inc
+
+ #######################################################################
+ # This makefile creates the example programs for the linear equation
+@@ -32,7 +31,9 @@ include ../make.inc
+ #
+ #######################################################################
+
+-HEADER = ../SRC
++HEADER = $(shell pkg-config --cflags superlu)
++LIBS = $(shell pkg-config --libs superlu)
++CDEFS = -DAdd_
+
+ SLINEXM = slinsol.o
+ SLINEXM1 = slinsol1.o
+@@ -67,7 +68,6 @@ ZLINXEXM2 = zlinsolx2.o
+ ZITSOL = zitersol.o zfgmr.o
+ ZITSOL1 = zitersol1.o zfgmr.o
+
+-
+ all: single double complex complex16
+
+ single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 sitersol sitersol1
+@@ -77,97 +77,97 @@ complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 citersol citersol1
+ complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zitersol zitersol1
+
+ slinsol: $(SLINEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SLINEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SLINEXM) $(LIBS) -o $@
+
+ slinsol1: $(SLINEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SLINEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SLINEXM1) $(LIBS) -o $@
+
+ slinsolx: $(SLINXEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SLINXEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SLINXEXM) $(LIBS) -o $@
+
+ slinsolx1: $(SLINXEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SLINXEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SLINXEXM1) $(LIBS) -o $@
+
+ slinsolx2: $(SLINXEXM2) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SLINXEXM2) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SLINXEXM2) $(LIBS) -o $@
+
+ sitersol: $(SITSOL) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SITSOL) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SITSOL) $(LIBS) -o $@
+
+ sitersol1: $(SITSOL1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SITSOL1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SITSOL1) $(LIBS) -o $@
+
+ dlinsol: $(DLINEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(DLINEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(DLINEXM) $(LIBS) -o $@
+
+ dlinsol1: $(DLINEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(DLINEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(DLINEXM1) $(LIBS) -o $@
+
+ dlinsolx: $(DLINXEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(DLINXEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(DLINXEXM) $(LIBS) -o $@
+
+ dlinsolx1: $(DLINXEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(DLINXEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(DLINXEXM1) $(LIBS) -o $@
+
+ dlinsolx2: $(DLINXEXM2) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(DLINXEXM2) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(DLINXEXM2) $(LIBS) -o $@
+
+ superlu: $(SUPERLUEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(SUPERLUEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(SUPERLUEXM) $(LIBS) -o $@
+
+ ditersol: $(DITSOL) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(DITSOL) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(DITSOL) $(LIBS) -o $@
+
+ ditersol1: $(DITSOL1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(DITSOL1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(DITSOL1) $(LIBS) -o $@
+
+ clinsol: $(CLINEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(CLINEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(CLINEXM) $(LIBS) -o $@
+
+ clinsol1: $(CLINEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(CLINEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(CLINEXM1) $(LIBS) -o $@
+
+ clinsolx: $(CLINXEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(CLINXEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(CLINXEXM) $(LIBS) -o $@
+
+ clinsolx1: $(CLINXEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(CLINXEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(CLINXEXM1) $(LIBS) -o $@
+
+ clinsolx2: $(CLINXEXM2) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(CLINXEXM2) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(CLINXEXM2) $(LIBS) -o $@
+
+ citersol: $(CITSOL) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(CITSOL) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(CITSOL) $(LIBS) -o $@
+
+ citersol1: $(CITSOL1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(CITSOL1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(CITSOL1) $(LIBS) -o $@
+
+ zlinsol: $(ZLINEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(ZLINEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(ZLINEXM) $(LIBS) -o $@
+
+ zlinsol1: $(ZLINEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(ZLINEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(ZLINEXM1) $(LIBS) -o $@
+
+ zlinsolx: $(ZLINXEXM) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(ZLINXEXM) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(ZLINXEXM) $(LIBS) -o $@
+
+ zlinsolx1: $(ZLINXEXM1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(ZLINXEXM1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(ZLINXEXM1) $(LIBS) -o $@
+
+ zlinsolx2: $(ZLINXEXM2) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(ZLINXEXM2) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(ZLINXEXM2) $(LIBS) -o $@
+
+ zitersol: $(ZITSOL) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(ZITSOL) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAGS) $(ZITSOL) $(LIBS) -o $@
+
+ zitersol1: $(ZITSOL1) $(SUPERLULIB)
+- $(LOADER) $(LOADOPTS) $(ZITSOL1) $(LIBS) -lm -o $@
++ $(LD) $(LDFLAG) $(ZITSOL1) $(LIBS) -o $@
+
+ .c.o:
+- $(CC) $(CFLAGS) $(CDEFS) -I$(HEADER) -c $< $(VERBOSE)
++ $(CC) $(CFLAGS) $(CDEFS) $(HEADER) -c $< $(VERBOSE)
+
+ .f.o:
+- $(FORTRAN) $(FFLAGS) -c $< $(VERBOSE)
++ $(FC) $(FFLAGS) -c $< $(VERBOSE)
+
+ clean:
+ rm -f *.o *linsol *linsol1 *linsolx *linsolx1 *linsolx2 \
+diff --git a/FORTRAN/Makefile b/FORTRAN/Makefile
+index 23671a7..54da751 100644
+--- a/FORTRAN/Makefile
++++ b/FORTRAN/Makefile
+@@ -1,12 +1,12 @@
+-include ../make.inc
++#include ../make.inc
+
+ #######################################################################
+ # This makefile creates the Fortran example interface to use the
+ # C routines in SuperLU.
+ #######################################################################
+
+-HEADER = ../SRC
+-LIBS = $(SUPERLULIB) $(BLASLIB) -lm
++HEADER = $(shell pkg-config --cflags superlu)
++LIBS = $(shell pkg-config --libs superlu)
+
+ # double real
+ F77EXM = f77_main.o hbcode1.o c_fortran_dgssv.o
+@@ -17,19 +17,19 @@ ZF77EXM = z_f77_main.o zhbcode1.o c_fortran_zgssv.o
+ all: f77exm zf77exm
+
+ f77exm: $(F77EXM) $(SUPERLULIB)
+- $(FORTRAN) $(LOADOPTS) $(F77EXM) $(LIBS) -o $@
++ $(FC) $(LDFLAGS) $(F77EXM) $(LIBS) -o $@
+
+ zf77exm: $(ZF77EXM) $(SUPERLULIB)
+ $(FORTRAN) $(LOADOPTS) $(ZF77EXM) $(LIBS) -o $@
+
+ c_fortran_zgssv.o: c_fortran_zgssv.c
+- $(CC) $(CFLAGS) $(CDEFS) -I$(HEADER) -c $< $(VERBOSE)
++ $(CC) $(CFLAGS) $(CDEFS) $(HEADER) -c $< $(VERBOSE)
+
+ .c.o:
+- $(CC) $(CFLAGS) $(CDEFS) -I$(HEADER) -c $< $(VERBOSE)
++ $(CC) $(CFLAGS) $(CDEFS) $(HEADER) -c $< $(VERBOSE)
+
+ .f.o:
+- $(FORTRAN) $(FFLAGS) -c $< $(VERBOSE)
++ $(FC) $(FFLAGS) -c $< $(VERBOSE)
+
+ clean:
+ rm -f *.o f77exm zf77exm
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..7e51046
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,4 @@
++SUBDIRS = SRC
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = superlu.pc
+diff --git a/SRC/Makefile.am b/SRC/Makefile.am
+new file mode 100644
+index 0000000..748e5e9
+--- /dev/null
++++ b/SRC/Makefile.am
+@@ -0,0 +1,110 @@
++AM_CPPFLAGS = -DAdd_
++
++### headers
++noinst_HEADERS = \
++ colamd.h \
++ html_mainpage.h
++
++src_includedir = $(includedir)/superlu
++src_include_HEADERS = \
++ slu_cdefs.h \
++ slu_ddefs.h \
++ slu_sdefs.h \
++ slu_zdefs.h \
++ slu_Cnames.h \
++ slu_dcomplex.h \
++ slu_scomplex.h \
++ slu_util.h \
++ superlu_enum_consts.h \
++ supermatrix.h
++
++### LAPACK
++LAAUX = lsame.c xerbla.c
++SLASRC = slacon.c
++DLASRC = dlacon.c
++CLASRC = clacon.c scsum1.c icmax1.c
++ZLASRC = zlacon.c dzsum1.c izmax1.c
++
++
++##################################
++# Do not optimize these routines #
++##################################
++CFLAGS_SAV=@CFLAGS@
++CFLAGS=
++noinst_LTLIBRARIES = libnoopt.la
++libnoopt_la_SOURCES = slamch.c dlamch.c superlu_timer.c
++libnoopt_la_CFLAGS = -O0
++
++### SuperLU
++ALLAUX = util.c memory.c get_perm_c.c mmd.c \
++ sp_coletree.c sp_preorder.c sp_ienv.c relax_snode.c \
++ heap_relax_snode.c colamd.c \
++ ilu_relax_snode.c ilu_heap_relax_snode.c mark_relax.c \
++ mc64ad.f qselect.f
++
++SLUSRC = \
++ sgssv.c sgssvx.c \
++ ssp_blas2.c ssp_blas3.c sgscon.c \
++ slangs.c sgsequ.c slaqgs.c spivotgrowth.c \
++ sgsrfs.c sgstrf.c sgstrs.c scopy_to_ucol.c \
++ ssnode_dfs.c ssnode_bmod.c \
++ spanel_dfs.c spanel_bmod.c sreadhb.c \
++ scolumn_dfs.c scolumn_bmod.c spivotL.c spruneL.c \
++ smemory.c sutil.c smyblas2.c \
++ sgsisx.c sgsitrf.c sldperm.c \
++ ilu_sdrop_row.c ilu_ssnode_dfs.c \
++ ilu_scolumn_dfs.c ilu_spanel_dfs.c ilu_scopy_to_ucol.c \
++ ilu_spivotL.c sdiagonal.c
++
++DLUSRC = \
++ dgssv.c dgssvx.c \
++ dsp_blas2.c dsp_blas3.c dgscon.c \
++ dlangs.c dgsequ.c dlaqgs.c dpivotgrowth.c \
++ dgsrfs.c dgstrf.c dgstrs.c dcopy_to_ucol.c \
++ dsnode_dfs.c dsnode_bmod.c \
++ dpanel_dfs.c dpanel_bmod.c dreadhb.c \
++ dcolumn_dfs.c dcolumn_bmod.c dpivotL.c dpruneL.c \
++ dmemory.c dutil.c dmyblas2.c \
++ dgsisx.c dgsitrf.c \
++ dldperm.c \
++ ilu_ddrop_row.c ilu_dsnode_dfs.c \
++ ilu_dcolumn_dfs.c ilu_dpanel_dfs.c ilu_dcopy_to_ucol.c \
++ ilu_dpivotL.c ddiagonal.c
++
++CLUSRC = \
++ scomplex.c cgssv.c cgssvx.c csp_blas2.c csp_blas3.c cgscon.c \
++ clangs.c cgsequ.c claqgs.c cpivotgrowth.c \
++ cgsrfs.c cgstrf.c cgstrs.c ccopy_to_ucol.c \
++ csnode_dfs.c csnode_bmod.c \
++ cpanel_dfs.c cpanel_bmod.c creadhb.c \
++ ccolumn_dfs.c ccolumn_bmod.c cpivotL.c cpruneL.c \
++ cmemory.c cutil.c cmyblas2.c \
++ cgsisx.c cgsitrf.c cldperm.c \
++ ilu_cdrop_row.c ilu_csnode_dfs.c \
++ ilu_ccolumn_dfs.c ilu_cpanel_dfs.c ilu_ccopy_to_ucol.c \
++ ilu_cpivotL.c cdiagonal.c
++
++ZLUSRC = \
++ dcomplex.c zgssv.c zgssvx.c zsp_blas2.c zsp_blas3.c zgscon.c \
++ zlangs.c zgsequ.c zlaqgs.c zpivotgrowth.c \
++ zgsrfs.c zgstrf.c zgstrs.c zcopy_to_ucol.c \
++ zsnode_dfs.c zsnode_bmod.c \
++ zpanel_dfs.c zpanel_bmod.c zreadhb.c \
++ zcolumn_dfs.c zcolumn_bmod.c zpivotL.c zpruneL.c \
++ zmemory.c zutil.c zmyblas2.c \
++ zgsisx.c zgsitrf.c zldperm.c \
++ ilu_zdrop_row.c ilu_zsnode_dfs.c \
++ ilu_zcolumn_dfs.c ilu_zpanel_dfs.c ilu_zcopy_to_ucol.c \
++ ilu_zpivotL.c zdiagonal.c
++
++lib_LTLIBRARIES = libsuperlu.la
++libsuperlu_la_SOURCES = \
++ $(NOOPTAUX) \
++ $(ALLAUX) $(LAAUX) \
++ $(SLUSRC) $(SLASRC) \
++ $(DLUSRC) $(DLASRC) \
++ $(CLUSRC) $(CLASRC) \
++ $(ZLUSRC) $(ZLASRC)
++libsuperlu_la_CFLAGS = $(CFLAGS_SAV)
++libsuperlu_la_LIBADD = $(BLAS_LIBS) libnoopt.la
++libsuperlu_la_LDFLAGS = -no-undefined -version-info 4:2:0
+diff --git a/ax_blas.m4 b/ax_blas.m4
+new file mode 100644
+index 0000000..e4f96cb
+--- /dev/null
++++ b/ax_blas.m4
+@@ -0,0 +1,201 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_blas.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro looks for a library that implements the BLAS linear-algebra
++# interface (see http://www.netlib.org/blas/). On success, it sets the
++# BLAS_LIBS output variable to hold the requisite library linkages.
++#
++# To link with BLAS, you should link with:
++#
++# $BLAS_LIBS $LIBS $FLIBS
++#
++# in that order. FLIBS is the output variable of the
++# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by AX_BLAS), and is
++# sometimes necessary in order to link with F77 libraries. Users will also
++# need to use AC_F77_DUMMY_MAIN (see the autoconf manual), for the same
++# reason.
++#
++# Many libraries are searched for, from ATLAS to CXML to ESSL. The user
++# may also use --with-blas=<lib> in order to use some specific BLAS
++# library <lib>. In order to link successfully, however, be aware that you
++# will probably need to use the same Fortran compiler (which can be set
++# via the F77 env. var.) as was used to compile the BLAS library.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a BLAS library is
++# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is
++# not found. If ACTION-IF-FOUND is not specified, the default action will
++# define HAVE_BLAS.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 11
++
++AU_ALIAS([ACX_BLAS], [AX_BLAS])
++AC_DEFUN([AX_BLAS], [
++AC_PREREQ(2.50)
++AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS])
++ax_blas_ok=no
++
++AC_ARG_WITH(blas,
++ [AS_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])
++case $with_blas in
++ yes | "") ;;
++ no) ax_blas_ok=disable ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;;
++ *) BLAS_LIBS="-l$with_blas" ;;
++esac
++
++# Get fortran linker names of BLAS functions to check for.
++AC_F77_FUNC(sgemm)
++AC_F77_FUNC(dgemm)
++
++ax_blas_save_LIBS="$LIBS"
++LIBS="$LIBS $FLIBS"
++
++# First, check BLAS_LIBS environment variable
++if test $ax_blas_ok = no; then
++if test "x$BLAS_LIBS" != x; then
++ save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
++ AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS])
++ AC_TRY_LINK_FUNC($sgemm, [ax_blas_ok=yes], [BLAS_LIBS=""])
++ AC_MSG_RESULT($ax_blas_ok)
++ LIBS="$save_LIBS"
++fi
++fi
++
++# BLAS linked to by default? (happens on some supercomputers)
++if test $ax_blas_ok = no; then
++ save_LIBS="$LIBS"; LIBS="$LIBS"
++ AC_MSG_CHECKING([if $sgemm is being linked in already])
++ AC_TRY_LINK_FUNC($sgemm, [ax_blas_ok=yes])
++ AC_MSG_RESULT($ax_blas_ok)
++ LIBS="$save_LIBS"
++fi
++
++# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(atlas, ATL_xerbla,
++ [AC_CHECK_LIB(f77blas, $sgemm,
++ [AC_CHECK_LIB(cblas, cblas_dgemm,
++ [ax_blas_ok=yes
++ BLAS_LIBS="-lcblas -lf77blas -latlas"],
++ [], [-lf77blas -latlas])],
++ [], [-latlas])])
++fi
++
++# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(dgemm, $dgemm,
++ [AC_CHECK_LIB(sgemm, $sgemm,
++ [ax_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"],
++ [], [-lblas])],
++ [], [-lblas])])
++fi
++
++# BLAS in Intel MKL library?
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(mkl, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lmkl"])
++fi
++
++# BLAS in Apple vecLib library?
++if test $ax_blas_ok = no; then
++ save_LIBS="$LIBS"; LIBS="-framework vecLib $LIBS"
++ AC_MSG_CHECKING([for $sgemm in -framework vecLib])
++ AC_TRY_LINK_FUNC($sgemm, [ax_blas_ok=yes;BLAS_LIBS="-framework vecLib"])
++ AC_MSG_RESULT($ax_blas_ok)
++ LIBS="$save_LIBS"
++fi
++
++# BLAS in Alpha CXML library?
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(cxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-lcxml"])
++fi
++
++# BLAS in Alpha DXML library? (now called CXML, see above)
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(dxml, $sgemm, [ax_blas_ok=yes;BLAS_LIBS="-ldxml"])
++fi
++
++# BLAS in Sun Performance library?
++if test $ax_blas_ok = no; then
++ if test "x$GCC" != xyes; then # only works with Sun CC
++ AC_CHECK_LIB(sunmath, acosp,
++ [AC_CHECK_LIB(sunperf, $sgemm,
++ [BLAS_LIBS="-xlic_lib=sunperf -lsunmath"
++ ax_blas_ok=yes],[],[-lsunmath])])
++ fi
++fi
++
++# BLAS in SCSL library? (SGI/Cray Scientific Library)
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(scs, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lscs"])
++fi
++
++# BLAS in SGIMATH library?
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(complib.sgimath, $sgemm,
++ [ax_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"])
++fi
++
++# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(essl, $sgemm,
++ [ax_blas_ok=yes; BLAS_LIBS="-lessl -lblas"],
++ [], [-lblas $FLIBS])])
++fi
++
++# Generic BLAS library?
++if test $ax_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm, [ax_blas_ok=yes; BLAS_LIBS="-lblas"])
++fi
++
++AC_SUBST(BLAS_LIBS)
++
++LIBS="$ax_blas_save_LIBS"
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$ax_blas_ok" = xyes; then
++ ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1])
++ :
++else
++ ax_blas_ok=no
++ $2
++fi
++])dnl AX_BLAS
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..f6707be
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,16 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(superlu, 4.3, xsli@lbl.gov)
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_HEADER([config.h])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_PROG_F77
++sinclude(ax_blas.m4)
++AX_BLAS
++if test x"$BLAS_LIBS" = x; then
++ AC_MSG_ERROR([Cannot find blas libraries])
++fi
++AC_CHECK_LIB([m], [floor])
++AC_CONFIG_FILES([Makefile SRC/Makefile superlu.pc])
++AC_OUTPUT
+diff --git a/superlu.pc.in b/superlu.pc.in
+new file mode 100644
+index 0000000..7bf9942
+--- /dev/null
++++ b/superlu.pc.in
+@@ -0,0 +1,13 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Sparse LU factorization library
++Version: @PACKAGE_VERSION@
++URL: http://crd.lbl.gov/~xiaoye/SuperLU/
++Libs: -L${libdir} -lsuperlu
++Libs.private: -lm @FLIBS@
++Requires: blas
++Cflags: -I${includedir}/superlu
diff --git a/sci-libs/superlu/files/superlu-4.3-format-security.patch b/sci-libs/superlu/files/superlu-4.3-format-security.patch
new file mode 100644
index 000000000000..809408a166ab
--- /dev/null
+++ b/sci-libs/superlu/files/superlu-4.3-format-security.patch
@@ -0,0 +1,16 @@
+ SRC/util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SRC/util.c b/SRC/util.c
+index 858fbbc..c038ccf 100644
+--- a/SRC/util.c
++++ b/SRC/util.c
+@@ -29,7 +29,7 @@
+
+ void superlu_abort_and_exit(char* msg)
+ {
+- fprintf(stderr, msg);
++ fprintf(stderr, "%s", msg);
+ exit (-1);
+ }
+
diff --git a/sci-libs/superlu/metadata.xml b/sci-libs/superlu/metadata.xml
new file mode 100644
index 000000000000..e43161f47979
--- /dev/null
+++ b/sci-libs/superlu/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ SuperLU is a general purpose library for the direct solution of large,
+ sparse, nonsymmetric systems of linear equations on high performance
+ machines. The library is written in C and is callable from either C or
+ Fortran. The library routines will perform an LU decomposition with
+ partial pivoting and triangular system solves through forward and back
+ substitution. The LU factorization routines can handle non-square
+ matrices but the triangular solves are performed only for square
+ matrices. The matrix columns may be preordered (before factorization)
+ either through library or user supplied routines. This preordering for
+ sparsity is completely separate from the factorization. Working
+ precision iterative refinement subroutines are provided for improved
+ backward stability. Routines are also provided to equilibrate the
+ system, estimate the condition number, calculate the relative backward
+ error, and estimate error bounds for the refined solutions.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/superlu/superlu-4.3-r1.ebuild b/sci-libs/superlu/superlu-4.3-r1.ebuild
new file mode 100644
index 000000000000..7a41f73b5ff7
--- /dev/null
+++ b/sci-libs/superlu/superlu-4.3-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=true
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+inherit autotools-utils fortran-2 toolchain-funcs multilib
+
+MY_PN=SuperLU
+
+DESCRIPTION="Sparse LU factorization library"
+HOMEPAGE="http://crd.lbl.gov/~xiaoye/SuperLU/"
+SRC_URI="${HOMEPAGE}/${PN}_${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs test"
+
+RDEPEND="
+ virtual/blas"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( app-shells/tcsh )"
+
+S="${WORKDIR}/${MY_PN}_${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ )
+
+src_prepare() {
+ unset VERBOSE
+ sed \
+ -e "s:= ar:= $(tc-getAR):g" \
+ -e "s:= ranlib:= $(tc-getRANLIB):g" \
+ -i make.inc || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=( --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" )
+ autotools-utils_src_configure
+ rm EXAMPLE/*itersol1 || die
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/TESTING
+ emake -j1 \
+ CC="$(tc-getCC)" \
+ FORTRAN="$(tc-getFC)" \
+ LOADER="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ FFLAGS="${FFLAGS}" \
+ LOADOPTS="${LDFLAGS}" \
+ BLASLIB="$($(tc-getPKG_CONFIG) --libs blas)" \
+ SUPERLULIB="${S}/SRC/.libs/libsuperlu$(get_libname)" \
+ LD_LIBRARY_PATH="${S}/SRC/.libs" \
+ DYLD_LIBRARY_PATH="${S}/SRC/.libs"
+}
+
+src_install() {
+ autotools-utils_src_install
+ use doc && dodoc DOC/ug.pdf && dohtml DOC/html/*
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r EXAMPLE FORTRAN
+ fi
+}
diff --git a/sci-libs/szip/Manifest b/sci-libs/szip/Manifest
new file mode 100644
index 000000000000..2fce8df4e79d
--- /dev/null
+++ b/sci-libs/szip/Manifest
@@ -0,0 +1 @@
+DIST szip-2.1.tar.gz 383219 SHA256 9c03d79597f4c25a4a5fc10dbe912e4112394f805f8d9af52fc5c9fe15dbbdc7
diff --git a/sci-libs/szip/metadata.xml b/sci-libs/szip/metadata.xml
new file mode 100644
index 000000000000..a1d93197140d
--- /dev/null
+++ b/sci-libs/szip/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The Consultative Committee on Space Data Systems (CCSDS) has adopted
+ the extended-Rice algorithm for international standards for space
+ applications. Szip is reported to provide fast and effective
+ compression, specifically for the EOS data generated by the NASA
+ Earth Observatory System (EOS). It was originally developed at
+ University of New Mexico (UNM) and integrated with HDF4 by UNM
+ researchers and developers. It can be used for HDF 5 as well.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/szip/szip-2.1-r1.ebuild b/sci-libs/szip/szip-2.1-r1.ebuild
new file mode 100644
index 000000000000..3141afd70686
--- /dev/null
+++ b/sci-libs/szip/szip-2.1-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools-utils
+
+DESCRIPTION="Extended-Rice lossless compression algorithm implementation"
+HOMEPAGE="http://www.hdfgroup.org/doc_resource/SZIP/"
+SRC_URI="ftp://ftp.hdfgroup.org/lib-external/${PN}/${PV}/src/${P}.tar.gz"
+LICENSE="szip"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+IUSE="static-libs"
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+DOCS=( RELEASE.txt HISTORY.txt examples/example.c )
diff --git a/sci-libs/szip/szip-2.1.ebuild b/sci-libs/szip/szip-2.1.ebuild
new file mode 100644
index 000000000000..465dcbd944c6
--- /dev/null
+++ b/sci-libs/szip/szip-2.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="Implementation of the extended-Rice lossless compression algorithm"
+HOMEPAGE="http://www.hdfgroup.org/doc_resource/SZIP/"
+SRC_URI="ftp://ftp.hdfgroup.org/lib-external/${PN}/${PV}/src/${P}.tar.gz"
+LICENSE="szip"
+
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
+
+IUSE=""
+DEPEND=""
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc RELEASE.txt HISTORY.txt
+ insinto /usr/share/doc/${PF}/
+ emake -C examples clean || die
+ doins -r examples
+}
diff --git a/sci-libs/ta-lib/Manifest b/sci-libs/ta-lib/Manifest
new file mode 100644
index 000000000000..93139d354547
--- /dev/null
+++ b/sci-libs/ta-lib/Manifest
@@ -0,0 +1 @@
+DIST ta-lib-0.4.0-src.tar.gz 1330299 SHA256 9ff41efcb1c011a4b4b6dfc91610b06e39b1d7973ed5d4dee55029a0ac4dc651
diff --git a/sci-libs/ta-lib/files/ta-lib-0.4.0-asneeded.patch b/sci-libs/ta-lib/files/ta-lib-0.4.0-asneeded.patch
new file mode 100644
index 000000000000..10183938e667
--- /dev/null
+++ b/sci-libs/ta-lib/files/ta-lib-0.4.0-asneeded.patch
@@ -0,0 +1,83 @@
+ src/Makefile.am | 2 +-
+ src/Makefile.in | 2 +-
+ src/ta_abstract/Makefile.am | 8 ++++----
+ src/ta_common/Makefile.am | 6 +++---
+ src/ta_func/Makefile.am | 6 +++---
+ 5 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 12bc5b6..b1a0c6b 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -8,7 +8,7 @@ libta_lib_la_SOURCES =
+ libta_lib_la_LIBADD = \
+ ta_abstract/libta_abstract.la \
+ ta_func/libta_func.la \
+- ta_common/libta_common.la
++ ta_common/libta_common.la -lm
+
+ libta_lib_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION)
+
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 489b44a..ef1f506 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -56,7 +56,7 @@ am_libta_lib_la_OBJECTS =
+ libta_lib_la_OBJECTS = $(am_libta_lib_la_OBJECTS)
+ libta_lib_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(libta_lib_la_LDFLAGS) $(LDFLAGS) -o $@
++ $(libta_lib_la_LDFLAGS) $(LDFLAGS) -lm -o $@
+ DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+diff --git a/src/ta_abstract/Makefile.am b/src/ta_abstract/Makefile.am
+index cba69bb..4411234 100644
+--- a/src/ta_abstract/Makefile.am
++++ b/src/ta_abstract/Makefile.am
+@@ -38,12 +38,12 @@ libta_abstract_gc_la_SOURCES = $(libta_abstract_la_SOURCES)
+ libta_abstract_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION)
+ libta_abstract_gc_la_LDFLAGS = $(libta_abstract_la_LDFLAGS)
+
+-libta_abstract_la_CPPFLAGS = -I../ta_common/ -Iframes/
++libta_abstract_la_CPPFLAGS = -I$(top_srcdir)/src/ta_common/ -Iframes/
+
+ # The 'gc' version is a minimal version used to just to compile gen_code
+ libta_abstract_gc_la_CPPFLAGS = -DTA_GEN_CODE $(libta_abstract_la_CPPFLAGS)
+
+ libta_abstractdir=$(includedir)/ta-lib/
+-libta_abstract_HEADERS = ../../include/ta_defs.h \
+- ../../include/ta_libc.h \
+- ../../include/ta_abstract.h
++libta_abstract_HEADERS = $(top_srcdir)/include/ta_defs.h \
++ $(top_srcdir)/include/ta_libc.h \
++ $(top_srcdir)/include/ta_abstract.h
+diff --git a/src/ta_common/Makefile.am b/src/ta_common/Makefile.am
+index 9454490..3e59bd8 100644
+--- a/src/ta_common/Makefile.am
++++ b/src/ta_common/Makefile.am
+@@ -9,7 +9,7 @@ libta_common_la_SOURCES = ta_global.c \
+ libta_common_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION)
+
+ libta_commondir=$(includedir)/ta-lib/
+-libta_common_HEADERS = ../../include/ta_defs.h \
+- ../../include/ta_libc.h \
+- ../../include/ta_common.h
++libta_common_HEADERS = $(top_builddir)/include/ta_defs.h \
++ $(top_builddir)/include/ta_libc.h \
++ $(top_builddir)/include/ta_common.h
+
+diff --git a/src/ta_func/Makefile.am b/src/ta_func/Makefile.am
+index 030a516..299baf9 100644
+--- a/src/ta_func/Makefile.am
++++ b/src/ta_func/Makefile.am
+@@ -165,6 +165,6 @@ libta_func_la_SOURCES = ta_utility.c \
+ libta_func_la_LDFLAGS = -version-info $(TALIB_LIBRARY_VERSION)
+
+ libta_funcdir=$(includedir)/ta-lib/
+-libta_func_HEADERS = ../../include/ta_defs.h \
+- ../../include/ta_libc.h \
+- ../../include/ta_func.h
++libta_func_HEADERS = $(top_builddir)/include/ta_defs.h \
++ $(top_builddir)/include/ta_libc.h \
++ $(top_builddir)/include/ta_func.h
diff --git a/sci-libs/ta-lib/metadata.xml b/sci-libs/ta-lib/metadata.xml
new file mode 100644
index 000000000000..b9f230905f0b
--- /dev/null
+++ b/sci-libs/ta-lib/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">ta-lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/ta-lib/ta-lib-0.4.0.ebuild b/sci-libs/ta-lib/ta-lib-0.4.0.ebuild
new file mode 100644
index 000000000000..47926c34bd39
--- /dev/null
+++ b/sci-libs/ta-lib/ta-lib-0.4.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+DESCRIPTION="Technical Analysis Library for analyzing financial markets trends"
+HOMEPAGE="http://www.ta-lib.org/"
+SRC_URI="mirror://sourceforge/ta-lib/${P}-src.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+S="${WORKDIR}"/${PN}
+
+PATCHES=( "${FILESDIR}"/${P}-asneeded.patch )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_test() {
+ ewarn "Note: this testsuite will fail without an active internet connection."
+ "${S}"/src/tools/ta_regtest/ta_regtest || die "Failed testsuite."
+}
diff --git a/sci-libs/tamu_anova/Manifest b/sci-libs/tamu_anova/Manifest
new file mode 100644
index 000000000000..e9a78529f417
--- /dev/null
+++ b/sci-libs/tamu_anova/Manifest
@@ -0,0 +1 @@
+DIST tamu_anova-0.2.1.tar.gz 220803 SHA256 2583bd33bb9243709a5f44ad07677a8362bcca8816bd19f452eb4e3e375c213a SHA512 e4e65997d8ca57b5ad1c0001abbe41652fa86f8b8e9e00aa53d8079062e028baee67436408997d96d87c85801c48e1c87f40dfe291d387cd94dcefd61a52c477 WHIRLPOOL 56367f9fb331ff4502850ecafa99b331f8298859aa7dbf5a30c5d7ddbc5a900692c2fd454493de5601f60f0b9545c3c3fed04869e85667859cc84ba1fa8e345e
diff --git a/sci-libs/tamu_anova/files/0.2.1-gentoo.patch b/sci-libs/tamu_anova/files/0.2.1-gentoo.patch
new file mode 100644
index 000000000000..4d4c1f4a0af1
--- /dev/null
+++ b/sci-libs/tamu_anova/files/0.2.1-gentoo.patch
@@ -0,0 +1,35 @@
+diff --git a/Makefile.am b/Makefile.am
+index 6b11b79..ba5fac3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,11 +1,11 @@
+-inst_LIBRARIES = libtamuanova.a
++lib_LTLIBRARIES = libtamuanova.la
+ pkginclude_HEADERS = tamu_anova.h
+-libtamuanova_a_SOURCES = anova_1.c anova_2.c
+-instdir = /usr/lib/
++libtamuanova_la_SOURCES = anova_1.c anova_2.c
++libtamuanova_la_LIBADD = $(GSL_LIBS)
+
+ TESTS = $(check_PROGRAMS)
+ check_PROGRAMS = test
+-test_LDADD = libtamuanova.a -lgsl -lgslcblas -lm
++test_LDADD = libtamuanova.la $(GSL_LIBS) -lm
+ test_SOURCES = test.c
+
+ CLEANFILES = test.dat
+diff --git a/configure.ac b/configure.ac
+index 7008594..1f161c3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7,6 +7,10 @@ AM_INIT_AUTOMAKE([gnu no-dependencies])
+ AC_CONFIG_HEADER([config.h])
+
+ AC_PROG_MAKE_SET
++AC_PROG_LIBTOOL
++PKG_PROG_PKG_CONFIG
++
++PKG_CHECK_MODULES(GSL, [ gsl ])
+
+ dnl Check for which system.
+ AC_CANONICAL_HOST
diff --git a/sci-libs/tamu_anova/files/tamu_anova-0.2.1-texinfo5.1.patch b/sci-libs/tamu_anova/files/tamu_anova-0.2.1-texinfo5.1.patch
new file mode 100644
index 000000000000..f0c0570fc46d
--- /dev/null
+++ b/sci-libs/tamu_anova/files/tamu_anova-0.2.1-texinfo5.1.patch
@@ -0,0 +1,39 @@
+ fdl.texi | 2 +-
+ tamu_anova.texi | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/fdl.texi b/fdl.texi
+index 006dec7..6d8114a 100644
+--- a/fdl.texi
++++ b/fdl.texi
+@@ -403,7 +403,7 @@ number of this License, you may choose any version ever published (not
+ as a draft) by the Free Software Foundation.
+ @end enumerate
+
+-@unnumberedsubsec ADDENDUM: How to use this License for your documents
++@unnumberedsec ADDENDUM: How to use this License for your documents
+
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
+diff --git a/tamu_anova.texi b/tamu_anova.texi
+index 8d4cd5b..5fba0e5 100644
+--- a/tamu_anova.texi
++++ b/tamu_anova.texi
+@@ -177,7 +177,7 @@ that the first effect is the fixed effect, while the second effect is the random
+ @section Structures
+ @b{One way table}
+
+-@deftypefn {struct tamu_anova_table}
++@deftypefn {Structures} struct tamu_anova_table
+ @code{struct tamu_anova_table@{
+ long df_tr, df_err, df_tot;
+ double SSTr, SSE, SST, MSTr, MSE, F, p;@};
+@@ -185,7 +185,7 @@ that the first effect is the fixed effect, while the second effect is the random
+ @end deftypefn
+ @*
+ @b{Two way table}
+-@deftypefn {struct tamu_anova_table_twoway}
++@deftypefn {Structures} struct tamu_anova_table_twoway
+ @code{struct tamu_anova_table_twoway @{
+ long
+ dfA, dfB, dfAB, dfT, dfE;
diff --git a/sci-libs/tamu_anova/metadata.xml b/sci-libs/tamu_anova/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/tamu_anova/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/tamu_anova/tamu_anova-0.2.1.ebuild b/sci-libs/tamu_anova/tamu_anova-0.2.1.ebuild
new file mode 100644
index 000000000000..2c604fe8e644
--- /dev/null
+++ b/sci-libs/tamu_anova/tamu_anova-0.2.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=yes
+
+inherit autotools-utils
+
+DESCRIPTION="ANOVA Extensions to the GNU Scientific Library"
+HOMEPAGE="http://www.stat.tamu.edu/~aredd/tamuanova/"
+SRC_URI="http://www.stat.tamu.edu/~aredd/tamuanova/${PN}-0.2.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-2"
+IUSE="static-libs"
+
+RDEPEND="sci-libs/gsl"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}-0.2
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-gentoo.patch
+ "${FILESDIR}"/${P}-texinfo5.1.patch
+ )
diff --git a/sci-libs/taucs/Manifest b/sci-libs/taucs/Manifest
new file mode 100644
index 000000000000..447878c1192f
--- /dev/null
+++ b/sci-libs/taucs/Manifest
@@ -0,0 +1 @@
+DIST taucs-2.2.tgz 1573863 SHA256 fc13dae767db5e9035b1ce63036a16d3a260aad784f461e073f1150a078a77e4 SHA512 d8652de2da343dfd19c4278ac99313bcb577d976decdd3bd3875f0c9576832605b787feaef916eb4e82f22907c8bd029125c2ae56c827639e4d535ad62f20fcf WHIRLPOOL 6c789d98e0919a0e9fb4e7f002e16c8af8006ede9d25fc4a8416c5f7dd3f4bfcce7159edac6febba975d286c87d5564e551df9aa495ce253f450631210c499ab
diff --git a/sci-libs/taucs/files/taucs-2.2-no-test-cilk.patch b/sci-libs/taucs/files/taucs-2.2-no-test-cilk.patch
new file mode 100644
index 000000000000..68ecc3bf94b6
--- /dev/null
+++ b/sci-libs/taucs/files/taucs-2.2-no-test-cilk.patch
@@ -0,0 +1,20 @@
+--- testscript.orig 2012-07-06 19:42:51.000000000 +0100
++++ testscript 2012-07-06 19:43:17.000000000 +0100
+@@ -12,17 +12,6 @@
+ ulimit -s >> testscript.log
+ echo '==============' >> testscript.log
+ echo =============== >> testscript.log
+-echo = test_cilk_snmf = >> testscript.log
+-. ./configure in=progs/test_cilk_snmf.c $*
+-echo last conf is $TAUCS_LASTCONF >> testscript.log
+-make -f build/${TAUCS_LASTCONF}/makefile
+-if bin/${TAUCS_LASTCONF}/test_cilk_snmf >> testscript.log ; then
+-echo = TEST PASSED test_cilk_snmf >> testscript.log
+-else
+-echo = TEST FAILED test_cilk_snmf >> testscript.log
+-fi
+-echo =============== >> testscript.log
+-echo =============== >> testscript.log
+ echo = test_complex = >> testscript.log
+ . ./configure in=progs/test_complex.c $*
+ echo last conf is $TAUCS_LASTCONF >> testscript.log
diff --git a/sci-libs/taucs/metadata.xml b/sci-libs/taucs/metadata.xml
new file mode 100644
index 000000000000..88936f30d0b8
--- /dev/null
+++ b/sci-libs/taucs/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ TAUCS is a C library of sparse linear solvers.
+ The current version of the library (1.0) includes the following
+ functionality:
+
+ * Multifrontal Supernodal Cholesky Factorization.
+ * Left-Looking Supernodal Cholesky Factorization.
+ * Drop-Tolerance Incomplete-Cholesky Factorization.
+ * Out-of-Core, Left-Looking Supernodal Sparse Cholesky Factorization.
+ * Out-of-Core Sparse LU with Partial Pivoting Factor and Solve.
+ * Ordering Codes and Interfaces to Existing Ordering Codes.
+ * Multilevel-Support-Graph Preconditioners.
+ * Matrix Operations.
+ * Matrix Input/Output.
+ * Matrix Generators.
+ * Iterative Solvers.
+ * Vaidya's Preconditioners.
+ * Recursive Vaidya's Preconditioners.
+ * Multilevel-Support-Graph Preconditioners.
+ * Utility Routines
+</longdescription>
+ <use>
+ <flag name="cilk">Enable multithreading using <pkg>dev-lang/cilk</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/taucs/taucs-2.2.ebuild b/sci-libs/taucs/taucs-2.2.ebuild
new file mode 100644
index 000000000000..0581af618f6a
--- /dev/null
+++ b/sci-libs/taucs/taucs-2.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 toolchain-funcs
+
+DESCRIPTION="C library of sparse linear solvers"
+HOMEPAGE="http://www.tau.ac.il/~stoledo/taucs/"
+SRC_URI="http://www.tau.ac.il/~stoledo/${PN}/${PV}/${PN}.tgz -> ${P}.tgz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+IUSE="cilk doc static-libs"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ || ( sci-libs/metis sci-libs/parmetis )
+ cilk? ( dev-lang/cilk )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ # test with cilk has memory leaks
+ epatch "${FILESDIR}"/${P}-no-test-cilk.patch
+}
+
+src_configure() {
+ cat > config/linux_shared.mk <<-EOF
+ FC=$(tc-getFC)
+ CC=$(tc-getCC)
+ LD=$(tc-getFC)
+ CFLAGS=${CFLAGS} -fPIC
+ FFLAGS=${FFLAGS} -fPIC
+ LDFLAGS=${LDFLAGS} -fPIC
+ LIBBLAS=$($(tc-getPKG_CONFIG) --libs blas)
+ LIBLAPACK=$($(tc-getPKG_CONFIG) --libs lapack)
+ LIBF77=
+ EOF
+
+ echo "LIBMETIS=$($(tc-getPKG_CONFIG) --libs metis)" >> config/linux_shared.mk
+ # no cat <<EOF because -o has a trailing space
+ if use cilk; then
+ echo "CILKC=cilkc" >> config/linux_shared.mk
+ echo "CILKFLAGS=-O2 -I${EPREFIX}/usr/include/cilk -fPIC" >> config/linux_shared.mk
+ echo "CILKOUTFLG=-o " >> config/linux_shared.mk
+ fi
+ sed -e 's/ -fPIC//g' \
+ config/linux_shared.mk \
+ > config/linux_static.mk || die
+}
+
+src_compile() {
+ # not autotools configure
+ if use static-libs; then
+ ./configure variant=_static || die
+ emake
+ fi
+ ./configure variant=_shared || die
+ emake
+
+ cd lib/linux_shared
+ $(tc-getFC) ${LDFLAGS} -shared -Wl,-soname=libtaucs.so.1 \
+ -Wl,--whole-archive libtaucs.a -Wl,--no-whole-archive \
+ $($(tc-getPKG_CONFIG) --libs blas lapack metis) \
+ -o libtaucs.so.1.0.0 \
+ || die "shared lib linking failed"
+}
+
+src_test() {
+ LD_LIBRARY_PATH=lib/linux_shared \
+ ./testscript variant=_shared || die "compile test failed"
+ if grep -q FAILED testscript.log; then
+ eerror "Test failed. See ${S}/testscript.log"
+ die "test failed"
+ fi
+}
+
+src_install() {
+ use static-libs && dolib.a lib/linux_static/libtaucs.a
+ ln -s libtaucs.so.1.0.0 lib/linux_shared/libtaucs.so.1
+ ln -s libtaucs.so.1 lib/linux_shared/libtaucs.so
+ dolib.so lib/linux_shared/libtaucs.so*
+
+ insinto /usr/include
+ doins build/*/*.h src/*.h
+
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/tnt/Manifest b/sci-libs/tnt/Manifest
new file mode 100644
index 000000000000..a5b07731205e
--- /dev/null
+++ b/sci-libs/tnt/Manifest
@@ -0,0 +1,3 @@
+DIST tnt120doc.zip 115063 SHA256 a3ca1327815c79cf9c12d432120d2cb2100748c18aac55e58338b8b8e56116c8
+DIST tnt126.zip 28784 SHA256 93c7cdd116a6faeb679890a52d5b513055388c7faaac74beea570f8f2edbd7e4
+DIST tnt_3_0_12.zip 50166 SHA256 479609bbc249e91c00392597fc48387fed8431471615c02826a8a0545673f3af SHA512 3be00d37880ffc191022db13993c3946e913e92409cef1ff5f53b74cab5ea09782d131056d89bcbd0990939967b5d93ebe93e8a7db956be2fb9e8a7356dafbfd WHIRLPOOL 10050d4eb1869e74779bc3aeee0000c1847e89cbb42f480fc479c280657d734c892429245d5ff271785dd656778c2c3bc0a762b9c92b137f60bd5ea6c094a89f
diff --git a/sci-libs/tnt/metadata.xml b/sci-libs/tnt/metadata.xml
new file mode 100644
index 000000000000..9ccc7507adaa
--- /dev/null
+++ b/sci-libs/tnt/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ The Template Numerical Toolkit (TNT) is a collection of interfaces and
+ reference implementations of numerical objects useful for scientific
+ computing in C++. The toolkit defines interfaces for basic data
+ structures, such as multidimensional arrays and sparse matrices, commonly
+ used in numerical applications. The goal of this package is to provide
+ reusable software components that address many of the portability and
+ maintenance problems with C++ codes.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/tnt/tnt-1.2.6.ebuild b/sci-libs/tnt/tnt-1.2.6.ebuild
new file mode 100644
index 000000000000..ee0bb59337cf
--- /dev/null
+++ b/sci-libs/tnt/tnt-1.2.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit versionator
+
+MYP="${PN}$(replace_all_version_separators '')"
+DOCPV=120
+
+DESCRIPTION="Template Numerical Toolkit: C++ headers for array and matrices"
+HOMEPAGE="http://math.nist.gov/tnt/"
+SRC_URI="http://math.nist.gov/tnt/${MYP}.zip
+ doc? ( http://math.nist.gov/tnt/${PN}${DOCPV}doc.zip )"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="doc"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /usr/include
+ doins *.h
+ use doc && dohtml html/*
+}
diff --git a/sci-libs/tnt/tnt-3.0.12.ebuild b/sci-libs/tnt/tnt-3.0.12.ebuild
new file mode 100644
index 000000000000..3be46d9b8c83
--- /dev/null
+++ b/sci-libs/tnt/tnt-3.0.12.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit versionator
+
+MYP="${PN}_$(replace_all_version_separators '_')"
+
+DESCRIPTION="Template Numerical Toolkit: C++ headers for array and matrices"
+HOMEPAGE="http://math.nist.gov/tnt/"
+SRC_URI="http://math.nist.gov/tnt/${MYP}.zip"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+S="${WORKDIR}/${PN}"
+
+src_install() {
+ insinto /usr/include
+ doins *.h
+}
diff --git a/sci-libs/torch/Manifest b/sci-libs/torch/Manifest
new file mode 100644
index 000000000000..adf9f600ade4
--- /dev/null
+++ b/sci-libs/torch/Manifest
@@ -0,0 +1,2 @@
+DIST Torch3doc.tgz 1622648 SHA256 c8ff336cf1af89755ed226ca1211f335d5e8a716d0c2fef18aa34afa2a148822
+DIST Torch3src.tgz 775622 SHA256 f3ae3b951bd2d966d804f273f7607af6044c06861a01143f661efac2bb15f3bd SHA512 86de7e3b1e95e21424cf2c8b8e92155073cf6b7e755442640acaeb52747d06baff2c37c369eb6c107df41e3f8ce9abe203184fd8acc12f4ef9207079122a632a WHIRLPOOL a2d979e269deb35f68cd41cd5fabcfcfc64cbc377de5c952f62c823c428698a67639fa4e4106f356c21a92773a0ed5950d07a7db660924f54fd9921088a42462
diff --git a/sci-libs/torch/files/3.1-prll.patch b/sci-libs/torch/files/3.1-prll.patch
new file mode 100644
index 000000000000..02193c310bc4
--- /dev/null
+++ b/sci-libs/torch/files/3.1-prll.patch
@@ -0,0 +1,40 @@
+diff --git a/Makefile b/Makefile
+index 8771305..a39977f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,10 +5,19 @@ include Makefile_options_$(OS)
+ SUBDIRS := core
+ SUBDIRS += $(PACKAGES)
+
+-all:
+- @echo ">>> Try to compile Torch <<<"
+- @for subdir in ${SUBDIRS} ; do ( cd $$subdir ; ${MAKE} $@) || exit 10 ; done
+- @echo ">> !!! Ok !!! <<<"
++.PHONY: subdirs $(SUBDIRS)
++
++core: $(PACKAGES)
++
++all: subdirs
++
++subdirs: $(SUBDIRS)
++
++$(SUBDIRS):
++ @\mkdir -p $(OBJS_DIR)
++ @\mkdir -p $(LIBS_DIR)
++ $(MAKE) -C $@ depend
++ $(MAKE) -C $@
+
+ clean:
+ @echo ">>> Atomise all <<<"
+diff --git a/core/Makefile b/core/Makefile
+index 588d366..42b8a11 100644
+--- a/core/Makefile
++++ b/core/Makefile
+@@ -11,6 +11,7 @@ all: $(LIBTORCH)
+ $(LIBTORCH): $(OBJS)
+ @echo "Archiving..."
+ @$(AR) $(LIBTORCH) $(OBJS)
++ @ranlib $(LIBTORCH)
+
+ $(OBJS_DIR)/%.o: %.cc
+ @echo $<
diff --git a/sci-libs/torch/metadata.xml b/sci-libs/torch/metadata.xml
new file mode 100644
index 000000000000..954994e844ff
--- /dev/null
+++ b/sci-libs/torch/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription>
+ Torch is a machine-learning library, written in simple C++.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/torch/torch-3.1.ebuild b/sci-libs/torch/torch-3.1.ebuild
new file mode 100644
index 000000000000..12805a6e4d8f
--- /dev/null
+++ b/sci-libs/torch/torch-3.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Machine-learning library, written in simple C++"
+HOMEPAGE="http://www.torch.ch/"
+SRC_URI="http://www.torch.ch/archives/Torch${PV%.1}src.tgz
+ doc? ( http://www.torch.ch/archives/Torch3doc.tgz )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+S=${WORKDIR}/Torch${PV%.1}
+
+TORCH_PACKAGES="convolutions datasets decoder distributions gradients kernels matrix nonparametrics speech"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-prll.patch
+}
+
+src_compile() {
+ local shalldebug="OPT"
+ use debug && shalldebug="DBG"
+ # -malign-double makes no sense on a 64-bit arch
+ use amd64 || extraflags="-malign-double"
+ cp config/Makefile_options_Linux .
+ sed -i \
+ -e "s:^PACKAGES.*:PACKAGES = ${TORCH_PACKAGES}:" \
+ -e "s:^DEBUG.*:DEBUG = ${shalldebug}:" \
+ -e "s:^CFLAGS_OPT_FLOAT.*:CFLAGS_OPT_FLOAT = ${CXXFLAGS} -ffast-math ${extraflags} -fPIC:" \
+ -e "s:g++:$(tc-getCXX):g" \
+ Makefile_options_Linux || die
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ dolib.a lib/*/*.a
+ insinto /usr/include/torch
+ for directory in core ${TORCH_PACKAGES}; do
+ doins ${directory}/*.h
+ done
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+
+ use doc && dodoc "${WORKDIR}"/docs/*pdf \
+ && dohtml -r "${WORKDIR}"/docs/manual/*
+}
diff --git a/sci-libs/torch/torch-3.ebuild b/sci-libs/torch/torch-3.ebuild
new file mode 100644
index 000000000000..e7cf73a0ef11
--- /dev/null
+++ b/sci-libs/torch/torch-3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit toolchain-funcs multilib
+
+DESCRIPTION="machine-learning library, written in simple C++"
+HOMEPAGE="http://www.torch.ch/"
+SRC_URI="http://www.torch.ch/archives/Torch${PV}src.tgz
+ doc? ( http://www.torch.ch/archives/Torch3doc.tgz )"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="x86 ~amd64"
+IUSE="doc debug"
+
+DEPEND=""
+
+S=${WORKDIR}/Torch${PV}
+
+torch_packages="convolutions datasets decoder distributions gradients kernels matrix nonparametrics speech"
+
+src_compile() {
+ local shalldebug="OPT"
+ use debug && shalldebug="DBG"
+ # -malign-double makes no sense on a 64-bit arch
+ use amd64 || extraflags="-malign-double"
+ cp config/Makefile_options_Linux .
+ sed -i \
+ -e "s:^PACKAGES.*:PACKAGES = ${torch_packages}:" \
+ -e "s:^DEBUG.*:DEBUG = ${shalldebug}:" \
+ -e "s:^CFLAGS_OPT_FLOAT.*:CFLAGS_OPT_FLOAT = -Wall ${CFLAGS} -ffast-math ${extraflags}:" \
+ Makefile_options_Linux
+
+ make depend
+ emake || die "emake failed"
+}
+
+src_install() {
+ dolib lib/*/*.a
+ dodir /usr/include/torch
+ insinto /usr/include/torch
+ for directory in core ${torch_packages}; do
+ doins ${directory}/*.h
+ done
+ # prepare the options Makefile
+ sed -i \
+ -e "s:^LIBS_DIR.*:LIBS_DIR=/usr/$(get_libdir):" \
+ -e 's|^INCS := .*|INCS := -I /usr/include/torch $(MYINCS)|' \
+ -e '/^INCS +=/c\\' \
+ Makefile_options_Linux
+ dodir /usr/share/${PN}
+ insinto /usr/share/${PN}
+ doins Makefile_options_Linux
+ dodir /usr/share/doc/${PF}
+ insinto /usr/share/doc/${PF}
+ cp -pPR examples "${D}"/usr/share/doc/${PF}
+ cd "${D}"/usr/share/doc/${PF}
+ sed -i \
+ -e 's|^TORCHDIR.*|TORCHDIR := /usr/share/torch|' \
+ -e '/MAKE/c\\' -e '/VERSION_KEY/c\\' \
+ examples/*/Makefile
+ for ex in examples/*/Makefile; do
+ echo -e '\t$(CC) $(CFLAGS_$(MODE)) $(INCS) -o $@ $< $(LIBS)' >> ${ex}
+ done
+ if use doc; then
+ cd "${WORKDIR}"/docs
+ doins *.pdf
+ dohtml -r manual/.
+ fi
+}
diff --git a/sci-libs/udunits/Manifest b/sci-libs/udunits/Manifest
new file mode 100644
index 000000000000..8324d588775e
--- /dev/null
+++ b/sci-libs/udunits/Manifest
@@ -0,0 +1,2 @@
+DIST udunits-2.1.15.tar.gz 1056530 SHA256 9f89196c3ffa5a4edebb944e17b38c7b20dc16b546311ea54272494b3c4b036d
+DIST udunits-2.1.24.tar.gz 1059344 SHA256 2e5fa4583031b26404a68167b38a11773872486f3c342fdde1e48c52a86e0ed0 SHA512 71af2aa62300dd6a2c58318d75cb9182433a208e28446725334a3a80195ebdae77aebe66e6c4e12b53b675501cf3295de2960d1e8beb1496a547d4eed0cde98e WHIRLPOOL 3c0bf81216553c00d1d37c6f5542496385d9b3cde2b14683e0fe6aaf85f62b50f49923e2239f2616635a53a7c4df9070db1001c7261b00cd51751a99c8870104
diff --git a/sci-libs/udunits/files/udunits-2.1.15-autotools.patch b/sci-libs/udunits/files/udunits-2.1.15-autotools.patch
new file mode 100644
index 000000000000..31c67656a815
--- /dev/null
+++ b/sci-libs/udunits/files/udunits-2.1.15-autotools.patch
@@ -0,0 +1,61 @@
+diff --git a/Makefile.am b/Makefile.am
+index 728e587..3c84c1b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,11 +6,11 @@
+ #
+ ## Process this file with automake to produce Makefile.in
+ if COND_EXPAT
+- SUBDIRS = expat lib prog
++ SUBDIRS = lib prog
+ else
+ SUBDIRS = lib prog
+ endif
+-DIST_SUBDIRS = expat lib prog test
++DIST_SUBDIRS = lib prog test
+ info_TEXINFOS = udunits2.texi
+ udunits2_TEXINFOS = success.texi failure.texi make.texi
+ EXTRA_DIST = \
+diff --git a/configure.ac b/configure.ac
+index 097f6eb..091e673 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,7 +13,7 @@ AC_INIT(UDUNITS, 2.1.15, support-udunits@unidata.ucar.edu)
+ AC_CONFIG_SRCDIR([lib/converter.c])
+ AC_CONFIG_AUX_DIR([.])
+ AM_INIT_AUTOMAKE([foreign subdir-objects])
+-AC_CONFIG_HEADERS([config.h expat/expat_config.h])
++AC_CONFIG_HEADERS([config.h])
+
+ CFLAGS_COVERAGE=''
+ LIBS_COVERAGE=''
+@@ -37,7 +37,7 @@ AC_ARG_ENABLE([debug],
+ CFLAGS="-g${CFLAGS:+ $CFLAGS}"
+ debug=true ;;
+ no)
+- CFLAGS="-O${CFLAGS:+ $CFLAGS}"
++ CFLAGS="${CFLAGS:+ $CFLAGS}"
+ debug=false ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;;
+ esac],
+@@ -110,20 +110,12 @@ AM_CONDITIONAL([HAVE_CUNIT], [test "$LD_CUNIT"])
+ AC_C_CONST
+ AC_TYPE_SIZE_T
+
+-# Needed for the Expat subpackage:
+-AC_C_BIGENDIAN([byteorder=4321], [byteorder=1234])
+-AC_DEFINE_UNQUOTED([BYTEORDER], [$byteorder],
+- [Define to 4321 for big-endian and 1234 for little-endian])
+-AC_DEFINE([XML_CONTEXT_BYTES], 1024,
+- [How much context to retain around the current parse point.])
+-
+ # Checks for library functions.
+ AC_CHECK_FUNCS([floor memmove memset modf pow strcasecmp strdup strpbrk])
+
+ AC_PROG_LIBTOOL
+
+ AC_CONFIG_FILES([Makefile
+- expat/Makefile
+ lib/Makefile
+ lib/xmlFailures/Makefile
+ lib/xmlSuccesses/Makefile
diff --git a/sci-libs/udunits/metadata.xml b/sci-libs/udunits/metadata.xml
new file mode 100644
index 000000000000..2a1bd399d6d4
--- /dev/null
+++ b/sci-libs/udunits/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription>
+ This is the Unidata Units library, which supports conversion of unit
+ specifications between formatted and binary forms, arithmetic
+ manipulation of unit specifications, and conversion of values between
+ compatible scales of measurement.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/udunits/udunits-2.1.15.ebuild b/sci-libs/udunits/udunits-2.1.15.ebuild
new file mode 100644
index 000000000000..459e324adfbd
--- /dev/null
+++ b/sci-libs/udunits/udunits-2.1.15.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils fortran-2 autotools
+
+DESCRIPTION="Library for manipulating units of physical quantities"
+HOMEPAGE="http://www.unidata.ucar.edu/packages/udunits/"
+SRC_URI="ftp://ftp.unidata.ucar.edu/pub/udunits/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="UCAR-Unidata"
+IUSE="doc"
+KEYWORDS="alpha amd64 ~hppa ~mips ppc ~sparc x86"
+
+RDEPEND="dev-libs/expat"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # respect user's flags, compile with system libexpat
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ rm -rf expat
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc CHANGE_LOG ANNOUNCEMENT
+ doinfo udunits2.info prog/udunits2prog.info
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins udunits2.html udunits2.pdf
+ doins prog/udunits2prog.html prog/udunits2prog.pdf
+ fi
+}
diff --git a/sci-libs/udunits/udunits-2.1.24.ebuild b/sci-libs/udunits/udunits-2.1.24.ebuild
new file mode 100644
index 000000000000..27dce58b20f5
--- /dev/null
+++ b/sci-libs/udunits/udunits-2.1.24.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 autotools
+
+DESCRIPTION="Library for manipulating units of physical quantities"
+HOMEPAGE="http://www.unidata.ucar.edu/packages/udunits/"
+SRC_URI="ftp://ftp.unidata.ucar.edu/pub/udunits/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="UCAR-Unidata"
+IUSE="doc static-libs"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-libs/expat"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # respect user's flags, compile with system libexpat
+ epatch "${FILESDIR}"/${PN}-2.1.15-autotools.patch
+ rm -rf expat
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ dodoc CHANGE_LOG ANNOUNCEMENT
+ doinfo udunits2.info prog/udunits2prog.info
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins udunits2.html udunits2.pdf
+ doins prog/udunits2prog.html prog/udunits2prog.pdf
+ fi
+}
diff --git a/sci-libs/ufconfig/Manifest b/sci-libs/ufconfig/Manifest
new file mode 100644
index 000000000000..dc703c8ad8ff
--- /dev/null
+++ b/sci-libs/ufconfig/Manifest
@@ -0,0 +1,4 @@
+DIST UFconfig-3.5.0.tar.gz 8001 SHA256 32614de9acc4aec534e41d61201d805e4c353cb23cce9c715f8cf2cb078378c1
+DIST UFconfig-3.6.1.tar.gz 8163 SHA256 7640438363114c250ed24bc5d7afa9810f4b082b3f1a02bb445d2e4cafc6b3bf
+DIST UFconfig-3.7.0.tar.gz 8557 SHA256 2f6b7bd0d01502586d11cc1f262ba41599b33eeb070dd637a53ec600a3e98215 SHA512 f5aa3723484e05a889434e12fc85521d378430b18d707d7d8807c755ea7046aa28854f8bcb459a42e8764a82f07597b73183a9c7ef070a4b376e76b475cb8d24 WHIRLPOOL 27f4a75705342b9cc5fe7f0444b8e6b0d55a3a30572b904887479d8e16d50100fbecdc0ef8c6dfd78776d4fa848dc0e592a9abbf448c357b96e290f296f6e512
+DIST UFconfig-3.7.1.tar.gz 8523 SHA256 0ea8bb484400dc16096cfd6c2bc2d735c5f9587f0fba889ed162e29ce6a73530 SHA512 a9d562205b6d047d8064d6f61e4f9fdb782774637f0522abef6031e8633c7372db108c69b48098e8b41ffdf786ce7bda0d8df9a3dee634dfb11b5e6073996a22 WHIRLPOOL c3fe66c4fe35866c6c7605c156b957f2ecb07d4d5ae3ba8685fa5c4dbd45e4fc71ed1c02b62bbbebdf95bf9be3a51cbcb416d6c2836c413493016b61d89da7f8
diff --git a/sci-libs/ufconfig/metadata.xml b/sci-libs/ufconfig/metadata.xml
new file mode 100644
index 000000000000..51caebda07d3
--- /dev/null
+++ b/sci-libs/ufconfig/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+UFconfig is a set of configuration files for the SuiteSparse matrix libraries
+from CISE at University of Florida. It contains some headers and
+makefiles.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/ufconfig/ufconfig-3.5.0.ebuild b/sci-libs/ufconfig/ufconfig-3.5.0.ebuild
new file mode 100644
index 000000000000..6cfed5e96706
--- /dev/null
+++ b/sci-libs/ufconfig/ufconfig-3.5.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit multilib toolchain-funcs
+
+MY_PN=UFconfig
+DESCRIPTION="Common configuration scripts for the SuiteSparse libraries"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/UFconfig"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+DEPEND=""
+
+S="${WORKDIR}/${MY_PN}"
+
+src_compile() {
+ echo "$(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo"
+ $(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo || die
+ echo "$(tc-getCC) ${LDFLAGS} -shared -Wl,-soname,libufconfig.so.${PV} -o libufconfig.so.${PV} UFconfig.lo"
+ $(tc-getCC) ${LDFLAGS} -shared -Wl,-soname,libufconfig.so.${PV} -o libufconfig.so.${PV} UFconfig.lo || die
+ if use static-libs; then
+ echo "$(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o"
+ $(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o || die
+ echo "$(tc-getAR) libufconfig.a UFconfig.o"
+ $(tc-getAR) cr libufconfig.a UFconfig.o
+ fi
+}
+
+src_install() {
+ dolib.so libufconfig.so.${PV} || die
+ dosym libufconfig.so.${PV} /usr/$(get_libdir)/libufconfig.so
+ if use static-libs; then
+ dolib.a libufconfig.a || die
+ fi
+ insinto /usr/include
+ doins UFconfig.h || die
+ dodoc README.txt || die
+}
diff --git a/sci-libs/ufconfig/ufconfig-3.6.1.ebuild b/sci-libs/ufconfig/ufconfig-3.6.1.ebuild
new file mode 100644
index 000000000000..e8d80dc53a3b
--- /dev/null
+++ b/sci-libs/ufconfig/ufconfig-3.6.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit multilib toolchain-funcs
+
+MY_PN=UFconfig
+DESCRIPTION="Common configuration scripts for the SuiteSparse libraries"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/UFconfig"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="static-libs"
+DEPEND=""
+
+S="${WORKDIR}/${MY_PN}"
+
+src_compile() {
+ echo "$(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo"
+ $(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo || die
+ echo "$(tc-getCC) ${LDFLAGS} -shared -Wl,-soname,libufconfig.so.${PV} -o libufconfig.so.${PV} UFconfig.lo"
+ $(tc-getCC) ${LDFLAGS} -shared -Wl,-soname,libufconfig.so.${PV} -o libufconfig.so.${PV} UFconfig.lo || die
+ if use static-libs; then
+ echo "$(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o"
+ $(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o || die
+ echo "$(tc-getAR) libufconfig.a UFconfig.o"
+ $(tc-getAR) cr libufconfig.a UFconfig.o
+ fi
+}
+
+src_install() {
+ dolib.so libufconfig.so.${PV}
+ dosym libufconfig.so.${PV} /usr/$(get_libdir)/libufconfig.so
+ use static-libs && dolib.a libufconfig.a
+ insinto /usr/include
+ doins UFconfig.h
+ dodoc README.txt
+}
diff --git a/sci-libs/ufconfig/ufconfig-3.7.0.ebuild b/sci-libs/ufconfig/ufconfig-3.7.0.ebuild
new file mode 100644
index 000000000000..faaa3b798807
--- /dev/null
+++ b/sci-libs/ufconfig/ufconfig-3.7.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit multilib toolchain-funcs
+
+MY_PN=UFconfig
+DESCRIPTION="Common configuration scripts for the SuiteSparse libraries"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/UFconfig"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="static-libs"
+DEPEND=""
+
+S="${WORKDIR}/${MY_PN}"
+
+src_compile() {
+ echo "$(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo"
+ $(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo || die
+ local sharedlink="-shared -Wl,-soname,libufconfig$(get_libname ${PV})"
+ [[ ${CHOST} == *-darwin* ]] && \
+ sharedlink="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libufconfig$(get_libname ${PV})"
+ echo "$(tc-getCC) ${LDFLAGS} ${sharedlink} -o libufconfig$(get_libname ${PV}) UFconfig.lo"
+ $(tc-getCC) ${LDFLAGS} ${sharedlink} -o libufconfig$(get_libname ${PV}) UFconfig.lo || die
+ if use static-libs; then
+ echo "$(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o"
+ $(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o || die
+ echo "$(tc-getAR) libufconfig.a UFconfig.o"
+ $(tc-getAR) cr libufconfig.a UFconfig.o
+ fi
+}
+
+src_install() {
+ dolib.so libufconfig$(get_libname ${PV})
+ dosym libufconfig$(get_libname ${PV}) /usr/$(get_libdir)/libufconfig$(get_libname)
+ use static-libs && dolib.a libufconfig.a
+ insinto /usr/include
+ doins UFconfig.h
+ dodoc README.txt
+}
diff --git a/sci-libs/ufconfig/ufconfig-3.7.1.ebuild b/sci-libs/ufconfig/ufconfig-3.7.1.ebuild
new file mode 100644
index 000000000000..9f3e82eb8710
--- /dev/null
+++ b/sci-libs/ufconfig/ufconfig-3.7.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit multilib toolchain-funcs
+
+MY_PN=UFconfig
+DESCRIPTION="Common configuration scripts for the SuiteSparse libraries"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/UFconfig"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="static-libs"
+DEPEND=""
+
+S="${WORKDIR}/${MY_PN}"
+
+src_compile() {
+ echo "$(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo"
+ $(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo || die
+ local sharedlink="-shared -Wl,-soname,libufconfig$(get_libname ${PV})"
+ [[ ${CHOST} == *-darwin* ]] && \
+ sharedlink="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libufconfig$(get_libname ${PV})"
+ echo "$(tc-getCC) ${LDFLAGS} ${sharedlink} -o libufconfig$(get_libname ${PV}) UFconfig.lo"
+ $(tc-getCC) ${LDFLAGS} ${sharedlink} -o libufconfig$(get_libname ${PV}) UFconfig.lo || die
+ if use static-libs; then
+ echo "$(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o"
+ $(tc-getCC) ${CFLAGS} -c UFconfig.c -o UFconfig.o || die
+ echo "$(tc-getAR) libufconfig.a UFconfig.o"
+ $(tc-getAR) cr libufconfig.a UFconfig.o
+ fi
+}
+
+src_install() {
+ dolib.so libufconfig$(get_libname ${PV})
+ dosym libufconfig$(get_libname ${PV}) /usr/$(get_libdir)/libufconfig$(get_libname)
+ use static-libs && dolib.a libufconfig.a
+ insinto /usr/include
+ doins UFconfig.h
+ dodoc README.txt
+}
diff --git a/sci-libs/umfpack/Manifest b/sci-libs/umfpack/Manifest
new file mode 100644
index 000000000000..a647f1ef2276
--- /dev/null
+++ b/sci-libs/umfpack/Manifest
@@ -0,0 +1,2 @@
+DIST UMFPACK-5.2.0.tar.gz 1122066 SHA256 cdf1061c551625f7d572f6f887bad978b4e0e90c6e448a08013ba72c95691c1c SHA512 cd9186ae4feb5c935883ec149c7cdccce980d383bcec33a40d96bd3bc7e0a10ea9d80e678eb689f5eb495acdd320bbee97593a06d1211f05a0ec4a188045939d WHIRLPOOL 9a790a8f5170f0b42bbc75e75c8a2ff851c697276be4865f8edb6e33842df7d78bece6f115eed599c3b64fd489d68a51d4899c98ded683d4ed8edbb3151dfd70
+DIST umfpack-5.6.2.tar.bz2 780204 SHA256 bac722dd5e715c3312ebe7927c05df2e19bc2a29d7e4ab57d0a98330d03164ed SHA512 7b206235e837e84885c871322c1f0d4378a048008d9c110bd96204e9bc1bd9c72c6909da513fd78b6225fddc7b91e1ceebf1a5147e99943b3f0fff48682403dc WHIRLPOOL fe5069dbbd4b21a3569ae8d81d55feb789b06f7afb4c39be67101fca65e601ac49a4ed455c7e85d7a5504d2f50ff18ec67c3bc02dd3d9635dea4200ffcaad4f5
diff --git a/sci-libs/umfpack/files/umfpack-5.2.0-autotools.patch b/sci-libs/umfpack/files/umfpack-5.2.0-autotools.patch
new file mode 100644
index 000000000000..ae8734311c20
--- /dev/null
+++ b/sci-libs/umfpack/files/umfpack-5.2.0-autotools.patch
@@ -0,0 +1,531 @@
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-01-29 18:25:24.000000000 +0000
+@@ -0,0 +1,2 @@
++SUBDIRS = Source Include Demo
++EXTRA_DIST = README.txt
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-01-29 18:25:24.000000000 +0000
+@@ -0,0 +1,21 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(umfpack, 5.2.0, davis@cise.ufl.edu)
++AC_CONFIG_SRCDIR([Source/umf_solve.c])
++AC_CONFIG_HEADER([config.h])
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_F77
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++sinclude(acx_blas.m4)
++ACX_BLAS
++if test x"$BLAS_LIBS" = x; then
++ AC_MSG_ERROR([Cannot find blas libraries])
++fi
++AC_CHECK_LIB(amd, amd_aat)
++AC_CONFIG_FILES([Source/Makefile
++ Include/Makefile
++ Demo/Makefile
++ Makefile])
++AC_OUTPUT
+--- acx_blas.m4 1970-01-01 01:00:00.000000000 +0100
++++ acx_blas.m4 2008-01-29 18:25:24.000000000 +0000
+@@ -0,0 +1,191 @@
++##### http://autoconf-archive.cryp.to/acx_blas.html
++#
++# SYNOPSIS
++#
++# ACX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro looks for a library that implements the BLAS
++# linear-algebra interface (see http://www.netlib.org/blas/). On
++# success, it sets the BLAS_LIBS output variable to hold the
++# requisite library linkages.
++#
++# To link with BLAS, you should link with:
++#
++# $BLAS_LIBS $LIBS $FLIBS
++#
++# in that order. FLIBS is the output variable of the
++# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by ACX_BLAS), and
++# is sometimes necessary in order to link with F77 libraries. Users
++# will also need to use AC_F77_DUMMY_MAIN (see the autoconf manual),
++# for the same reason.
++#
++# Many libraries are searched for, from ATLAS to CXML to ESSL. The
++# user may also use --with-blas=<lib> in order to use some specific
++# BLAS library <lib>. In order to link successfully, however, be
++# aware that you will probably need to use the same Fortran compiler
++# (which can be set via the F77 env. var.) as was used to compile the
++# BLAS library.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a BLAS
++# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
++# run it if it is not found. If ACTION-IF-FOUND is not specified, the
++# default action will define HAVE_BLAS.
++#
++# This macro requires autoconf 2.50 or later.
++#
++# LAST MODIFICATION
++#
++# 2007-07-29
++#
++# COPYLEFT
++#
++# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu>
++#
++# This program is free software: you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation, either version 3 of the
++# License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright
++# owner gives unlimited permission to copy, distribute and modify the
++# configure scripts that are the output of Autoconf when processing
++# the Macro. You need not follow the terms of the GNU General Public
++# License when using or distributing such scripts, even though
++# portions of the text of the Macro appear in them. The GNU General
++# Public License (GPL) does govern all other use of the material that
++# constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the
++# Autoconf Macro released by the Autoconf Macro Archive. When you
++# make and distribute a modified version of the Autoconf Macro, you
++# may extend this special exception to the GPL to apply to your
++# modified version as well.
++
++AC_DEFUN([ACX_BLAS], [
++AC_PREREQ(2.50)
++AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS])
++acx_blas_ok=no
++
++AC_ARG_WITH(blas,
++ [AC_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])
++case $with_blas in
++ yes | "") ;;
++ no) acx_blas_ok=disable ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;;
++ *) BLAS_LIBS="-l$with_blas" ;;
++esac
++
++# Get fortran linker names of BLAS functions to check for.
++AC_F77_FUNC(sgemm)
++AC_F77_FUNC(dgemm)
++
++acx_blas_save_LIBS="$LIBS"
++LIBS="$LIBS $FLIBS"
++
++# First, check BLAS_LIBS environment variable
++if test $acx_blas_ok = no; then
++if test "x$BLAS_LIBS" != x; then
++ save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
++ AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS])
++ AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes], [BLAS_LIBS=""])
++ AC_MSG_RESULT($acx_blas_ok)
++ LIBS="$save_LIBS"
++fi
++fi
++
++# BLAS linked to by default? (happens on some supercomputers)
++if test $acx_blas_ok = no; then
++ save_LIBS="$LIBS"; LIBS="$LIBS"
++ AC_CHECK_FUNC($sgemm, [acx_blas_ok=yes])
++ LIBS="$save_LIBS"
++fi
++
++# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(atlas, ATL_xerbla,
++ [AC_CHECK_LIB(f77blas, $sgemm,
++ [AC_CHECK_LIB(cblas, cblas_dgemm,
++ [acx_blas_ok=yes
++ BLAS_LIBS="-lcblas -lf77blas -latlas"],
++ [], [-lf77blas -latlas])],
++ [], [-latlas])])
++fi
++
++# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(dgemm, $dgemm,
++ [AC_CHECK_LIB(sgemm, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"],
++ [], [-lblas])],
++ [], [-lblas])])
++fi
++
++# BLAS in Alpha CXML library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(cxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-lcxml"])
++fi
++
++# BLAS in Alpha DXML library? (now called CXML, see above)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(dxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-ldxml"])
++fi
++
++# BLAS in Sun Performance library?
++if test $acx_blas_ok = no; then
++ if test "x$GCC" != xyes; then # only works with Sun CC
++ AC_CHECK_LIB(sunmath, acosp,
++ [AC_CHECK_LIB(sunperf, $sgemm,
++ [BLAS_LIBS="-xlic_lib=sunperf -lsunmath"
++ acx_blas_ok=yes],[],[-lsunmath])])
++ fi
++fi
++
++# BLAS in SCSL library? (SGI/Cray Scientific Library)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(scs, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lscs"])
++fi
++
++# BLAS in SGIMATH library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(complib.sgimath, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"])
++fi
++
++# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(essl, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lessl -lblas"],
++ [], [-lblas $FLIBS])])
++fi
++
++# Generic BLAS library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas"])
++fi
++
++AC_SUBST(BLAS_LIBS)
++
++LIBS="$acx_blas_save_LIBS"
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$acx_blas_ok" = xyes; then
++ ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1])
++ :
++else
++ acx_blas_ok=no
++ $2
++fi
++])dnl ACX_BLAS
+--- Include/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Include/Makefile.am 2008-01-29 18:25:24.000000000 +0000
+@@ -0,0 +1,34 @@
++include_HEADERS = \
++ umfpack.h \
++ umfpack_col_to_triplet.h \
++ umfpack_defaults.h \
++ umfpack_free_numeric.h \
++ umfpack_free_symbolic.h \
++ umfpack_get_determinant.h \
++ umfpack_get_lunz.h \
++ umfpack_get_numeric.h \
++ umfpack_get_symbolic.h \
++ umfpack_global.h \
++ umfpack_load_numeric.h \
++ umfpack_load_symbolic.h \
++ umfpack_numeric.h \
++ umfpack_qsymbolic.h \
++ umfpack_report_control.h \
++ umfpack_report_info.h \
++ umfpack_report_matrix.h \
++ umfpack_report_numeric.h \
++ umfpack_report_perm.h \
++ umfpack_report_status.h \
++ umfpack_report_symbolic.h \
++ umfpack_report_triplet.h \
++ umfpack_report_vector.h \
++ umfpack_save_numeric.h \
++ umfpack_save_symbolic.h \
++ umfpack_scale.h \
++ umfpack_solve.h \
++ umfpack_symbolic.h \
++ umfpack_tictoc.h \
++ umfpack_timer.h \
++ umfpack_transpose.h \
++ umfpack_triplet_to_col.h \
++ umfpack_wsolve.h
+--- Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Source/Makefile.am 2008-01-29 18:25:24.000000000 +0000
+@@ -0,0 +1,221 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++lib_LTLIBRARIES = libumfpack.la
++
++# non-user-callable umf_*.[ch] files:
++UMFCH = umf_assemble umf_blas3_update umf_build_tuples umf_create_element \
++ umf_dump umf_extend_front umf_garbage_collection umf_get_memory \
++ umf_init_front umf_kernel umf_kernel_init umf_kernel_wrapup \
++ umf_local_search umf_lsolve umf_ltsolve umf_mem_alloc_element \
++ umf_mem_alloc_head_block umf_mem_alloc_tail_block \
++ umf_mem_free_tail_block umf_mem_init_memoryspace \
++ umf_report_vector umf_row_search umf_scale_column \
++ umf_set_stats umf_solve umf_symbolic_usage umf_transpose \
++ umf_tuple_lengths umf_usolve umf_utsolve umf_valid_numeric \
++ umf_valid_symbolic umf_grow_front umf_start_front umf_2by2 \
++ umf_store_lu umf_scale
++
++# non-user-callable umf_*.[ch] files, int/UF_long versions only (no real/complex):
++UMFINT = umf_analyze umf_apply_order umf_colamd umf_free umf_fsize \
++ umf_is_permutation umf_malloc umf_realloc umf_report_perm \
++ umf_singletons
++
++# non-user-callable, created from umf_ltsolve.c, umf_utsolve.c,
++# umf_triplet.c, and umf_assemble.c , with int/UF_long and real/complex versions:
++UMF_CREATED = umf_lhsolve umf_uhsolve umf_triplet_map_nox \
++ umf_triplet_nomap_x umf_triplet_nomap_nox umf_triplet_map_x \
++ umf_assemble_fixq umf_store_lu_drop
++
++# non-user-callable, int/UF_long and real/complex versions:
++UMF = $(UMF_CREATED) $(UMFCH)
++
++# user-callable umfpack_*.[ch] files (int/UF_long and real/complex):
++UMFPACK = umfpack_col_to_triplet umfpack_defaults umfpack_free_numeric \
++ umfpack_free_symbolic umfpack_get_numeric umfpack_get_lunz \
++ umfpack_get_symbolic umfpack_get_determinant umfpack_numeric \
++ umfpack_qsymbolic umfpack_report_control umfpack_report_info \
++ umfpack_report_matrix umfpack_report_numeric umfpack_report_perm \
++ umfpack_report_status umfpack_report_symbolic umfpack_report_triplet \
++ umfpack_report_vector umfpack_solve umfpack_symbolic \
++ umfpack_transpose umfpack_triplet_to_col umfpack_scale \
++ umfpack_load_numeric umfpack_save_numeric \
++ umfpack_load_symbolic umfpack_save_symbolic
++
++# user-callable, created from umfpack_solve.c (umfpack_wsolve.h exists, though):
++# with int/UF_long and real/complex versions:
++UMFPACKW = umfpack_wsolve
++
++USER = $(UMFPACKW) $(UMFPACK)
++
++# user-callable, only one version for int/UF_long, real/complex, *.[ch] files:
++GENERIC = umfpack_timer umfpack_tictoc umfpack_global
++
++
++#-------------------------------------------------------------------------------
++# object files for each version
++#-------------------------------------------------------------------------------
++
++DI = $(addsuffix .lo, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER)))
++DL = $(addsuffix .lo, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER)))
++ZI = $(addsuffix .lo, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER)))
++ZL = $(addsuffix .lo, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER)))
++II = $(addsuffix .lo, $(subst umf_,umf_i_,$(UMFINT)))
++LL = $(addsuffix .lo, $(subst umf_,umf_l_,$(UMFINT)))
++GN = $(addsuffix .lo, $(subst umfpack_,umfpack_gn_,$(GENERIC)))
++
++#-------------------------------------------------------------------------------
++# compile each int and UF_long routine (with no real/complex version)
++#-------------------------------------------------------------------------------
++
++umf_i_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++umf_l_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the DI version
++#-------------------------------------------------------------------------------
++
++umf_di_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++umf_di_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_di_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_di_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -DDO_MAP -c $< -o $@
++
++umf_di_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -DDO_VALUES -c $< -o $@
++
++umf_di_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++umf_di_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DDINT -DFIXQ -c $< -o $@
++
++umf_di_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DDINT -DDROP -c $< -o $@
++
++umfpack_di_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DDINT -DWSOLVE -c $< -o $@
++
++umfpack_di_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DDINT -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the DL version
++#-------------------------------------------------------------------------------
++
++umf_dl_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++umf_dl_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_dl_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_dl_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDO_MAP -c $< -o $@
++
++umf_dl_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDO_VALUES -c $< -o $@
++
++umf_dl_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++umf_dl_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DDLONG -DFIXQ -c $< -o $@
++
++umf_dl_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DDLONG -DDROP -c $< -o $@
++
++umfpack_dl_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DDLONG -DWSOLVE -c $< -o $@
++
++umfpack_dl_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DDLONG -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the ZI version
++#-------------------------------------------------------------------------------
++
++umf_zi_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DZINT -c $< -o $@
++
++umf_zi_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_zi_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_zi_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -DDO_MAP -c $< -o $@
++
++umf_zi_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -DDO_VALUES -c $< -o $@
++
++umf_zi_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZINT -c $< -o $@
++
++umf_zi_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DZINT -DFIXQ -c $< -o $@
++
++umf_zi_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DZINT -DDROP -c $< -o $@
++
++umfpack_zi_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DZINT -DWSOLVE -c $< -o $@
++
++umfpack_zi_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DZINT -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# compile each routine in the ZL version
++#-------------------------------------------------------------------------------
++
++umf_zl_%.lo: umf_%.c $(INC)
++ $(LTCOMPILE) -DZLONG -c $< -o $@
++
++umf_zl_%hsolve.lo: umf_%tsolve.c $(INC)
++ $(LTCOMPILE) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
++
++umf_zl_triplet_map_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
++
++umf_zl_triplet_map_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDO_MAP -c $< -o $@
++
++umf_zl_triplet_nomap_x.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDO_VALUES -c $< -o $@
++
++umf_zl_triplet_nomap_nox.lo: umf_triplet.c $(INC)
++ $(LTCOMPILE) -DZLONG -c $< -o $@
++
++umf_zl_assemble_fixq.lo: umf_assemble.c $(INC)
++ $(LTCOMPILE) -DZLONG -DFIXQ -c $< -o $@
++
++umf_zl_store_lu_drop.lo: umf_store_lu.c $(INC)
++ $(LTCOMPILE) -DZLONG -DDROP -c $< -o $@
++
++umfpack_zl_wsolve.lo: umfpack_solve.c $(INC)
++ $(LTCOMPILE) -DZLONG -DWSOLVE -c $< -o $@
++
++umfpack_zl_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -DZLONG -c $< -o $@
++
++#-------------------------------------------------------------------------------
++# Create the generic routines (GN) using a generic rule
++#-------------------------------------------------------------------------------
++
++umfpack_gn_%.lo: umfpack_%.c $(INC)
++ $(LTCOMPILE) -c $< -o $@
++
++
++libumfpack_la_SOURCES =
++libumfpack_la_LIBADD = $(BLAS_LIBS) -lamd -lm \
++ $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
+--- Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Demo/Makefile.am 2008-01-29 18:38:19.000000000 +0000
+@@ -0,0 +1,44 @@
++AM_CPPFLAGS = -I$(top_srcdir)/Include
++LDADD = $(top_builddir)/Source/libumfpack.la
++
++check_PROGRAMS = umfpack_simple \
++ umfpack_di_demo \
++ umfpack_dl_demo \
++ umfpack_zi_demo \
++ umfpack_zl_demo
++
++umfpack_%_demo.c: umfpack_xx_demo.c umfpack_%_demo.sed
++ - sed -f umfpack_$*_demo.sed < umfpack_xx_demo.c > umfpack_$*_demo.c
++
++umfpack_simple_SOURCES = umfpack_simple.c
++umfpack_di_demo_SOURCES = umfpack_di_demo.c
++umfpack_dl_demo_SOURCES = umfpack_dl_demo.c
++umfpack_zi_demo_SOURCES = umfpack_zi_demo.c
++umfpack_zl_demo_SOURCES = umfpack_zl_demo.c
++
++check-local: $(check_PROGRAMS)
++ @total=0; failed=0; \
++ ./umfpack_simple; \
++ if [ "x$$?" = "x0" ]; then \
++ echo "Test umfpack_simple PASSED."; \
++ else \
++ echo "Test umfpack_simple FAILED!!!"; \
++ failed=$$(($$failed + 1)); \
++ fi; \
++ total=$$(($$total + 1)); \
++ for i in *demo; do \
++ echo "--- Testing $$i ---"; \
++ ./$$i$(EXEEXT) > my_$$i.out; \
++ diff $$i.out my_$$i.out; \
++ if [ "x$$?" = "x0" ]; then \
++ echo "Test \`$$i' PASSED."; \
++ else \
++ echo "Test \`$$i' FAILED!!!"; \
++ failed=$$(($$failed + 1)); \
++ fi; \
++ total=$$(($$total + 1)); \
++ done; \
++ if [ $$failed -gt 0 ]; then \
++ echo "*** ERROR: $$failed/$$total tests failed!!!"; \
++ echo "Please check the failures before reporting"; \
++ fi
diff --git a/sci-libs/umfpack/metadata.xml b/sci-libs/umfpack/metadata.xml
new file mode 100644
index 000000000000..5900c94fd527
--- /dev/null
+++ b/sci-libs/umfpack/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ UMFPACK is a set of routines for solving unsymmetric sparse linear
+ systems, Ax=b, using the Unsymmetric MultiFrontal method.
+ Includes a C-callable interface, and a Fortran-callable interface.
+ MATLAB routines are not included in the Gentoo package.
+</longdescription>
+ <use>
+ <flag name="cholmod">Use <pkg>sci-libs/cholmod</pkg> for matrix
+ ordering</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/umfpack/umfpack-5.2.0.ebuild b/sci-libs/umfpack/umfpack-5.2.0.ebuild
new file mode 100644
index 000000000000..b180f981da12
--- /dev/null
+++ b/sci-libs/umfpack/umfpack-5.2.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit autotools eutils fortran-2 toolchain-funcs
+
+MY_PN=UMFPACK
+
+DESCRIPTION="Unsymmetric multifrontal sparse LU factorization library"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/umfpack"
+SRC_URI="http://www.cise.ufl.edu/research/sparse/${PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 sparc x86"
+IUSE="doc"
+
+RDEPEND="
+ virtual/blas
+ sci-libs/ufconfig
+ sci-libs/amd"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_PN}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README.txt Doc/ChangeLog || die "dodoc failed"
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins Doc/*.pdf || die "doins failed"
+ fi
+}
diff --git a/sci-libs/umfpack/umfpack-5.6.2.ebuild b/sci-libs/umfpack/umfpack-5.6.2.ebuild
new file mode 100644
index 000000000000..d87d4b281210
--- /dev/null
+++ b/sci-libs/umfpack/umfpack-5.6.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils toolchain-funcs
+
+DESCRIPTION="Unsymmetric multifrontal sparse LU factorization library"
+HOMEPAGE="http://www.cise.ufl.edu/research/sparse/umfpack"
+SRC_URI="http://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ~mips ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+IUSE="doc +cholmod static-libs"
+
+RDEPEND="
+ >=sci-libs/amd-1.3
+ sci-libs/suitesparseconfig
+ virtual/blas
+ cholmod? ( >=sci-libs/cholmod-2[-minimal] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+
+src_configure() {
+ local myeconfargs=(
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ $(use_with doc)
+ $(use_with cholmod)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/vecmath-objectclub/Manifest b/sci-libs/vecmath-objectclub/Manifest
new file mode 100644
index 000000000000..cf61c0e78819
--- /dev/null
+++ b/sci-libs/vecmath-objectclub/Manifest
@@ -0,0 +1 @@
+DIST vecmath1.2-1.14.tar.gz 75291 SHA256 d32c53e48471d7de1d097fe199a3df765472cc8d872315d4caf9934833573c93 SHA512 b61c60c4c8341327a7494475da380685220a6ecf193f4005bbe9ac2b9c98b5f587607c136ac8ba19425ba57c9d19d2994c1f474ca4cfa3f5a06cebb7d1c5c020 WHIRLPOOL 0139c64265398e8a603b05fe255c791265c401e0e7477d9690346fb784b6e04b86b051d39559ea7beaadbe1d097cf0579b2fb7952466948c84833c0a5e110160
diff --git a/sci-libs/vecmath-objectclub/metadata.xml b/sci-libs/vecmath-objectclub/metadata.xml
new file mode 100644
index 000000000000..1be81e8d9011
--- /dev/null
+++ b/sci-libs/vecmath-objectclub/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<maintainer>
+ <email>je_fro@gentoo.org</email>
+ <name>Jeff Gardner</name>
+</maintainer>
+<longdescription lang="en">
+ This is unofficial implementation(java source code) of the
+ javax.vecmath package specified in the Java(TM) 3D API 1.2
+ The package includes classes for 3-space vector/point, 4-space vector,
+ 4x4, 3x3 matrix, quaternion, axis-angle combination and etc. which are
+ often utilized for computer graphics mathematics. Most of the classes
+ have single and double precision versions. Generic matrices' LU and SV
+ decomposition are also there.
+</longdescription>
+</pkgmetadata>
+
diff --git a/sci-libs/vecmath-objectclub/vecmath-objectclub-1.14.ebuild b/sci-libs/vecmath-objectclub/vecmath-objectclub-1.14.ebuild
new file mode 100644
index 000000000000..d8352c0862c4
--- /dev/null
+++ b/sci-libs/vecmath-objectclub/vecmath-objectclub-1.14.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit java-pkg-2
+
+MY_PN="${PN/-objectclub/1.2}"
+
+DESCRIPTION="Unofficial free implementation of Sun javax.vecmath by Kenji Hiranabe"
+HOMEPAGE="http://www.objectclub.jp/download/vecmath_e"
+SRC_URI="http://www.objectclub.jp/download/files/vecmath/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=">=virtual/jdk-1.4"
+RDEPEND=">=virtual/jre-1.4"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_prepare() {
+ mkdir classes
+}
+
+src_compile() {
+ find javax/ -name "*.java" > "${T}/src.list"
+ ejavac -d "${S}/classes" "@${T}/src.list"
+
+ cd classes
+ jar -cf "${S}"/${PN}.jar * || die "failed to create jar"
+}
+
+src_install() {
+ java-pkg_dojar ${PN}.jar
+ dodoc README
+}
diff --git a/sci-libs/voro++/Manifest b/sci-libs/voro++/Manifest
new file mode 100644
index 000000000000..9d998aa8da46
--- /dev/null
+++ b/sci-libs/voro++/Manifest
@@ -0,0 +1 @@
+DIST voro++-0.4.6.tar.gz 809124 SHA256 ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e SHA512 aa8c73d7634bb4ec4c0a7d4d18c0df07511ef975338f2517e6f0ec65de56bac10397adccf1c0e13439d29d096b7cb9b4540d7cfc191a1662f15dc0c3c1ff77c1 WHIRLPOOL 120643681c2def042f8446b8da1fa674a4e94354e830f7867a92d3ecdcdf00ede8aacdf8a015717583fdfd3054abcb861cdd12c182a94756000828a514673c79
diff --git a/sci-libs/voro++/files/voro++-0.4.6-cmake.patch b/sci-libs/voro++/files/voro++-0.4.6-cmake.patch
new file mode 100644
index 000000000000..375d58f6474e
--- /dev/null
+++ b/sci-libs/voro++/files/voro++-0.4.6-cmake.patch
@@ -0,0 +1,141 @@
+Index: CMakeLists.txt
+===================================================================
+--- CMakeLists.txt (revision 0)
++++ CMakeLists.txt (working copy)
+@@ -0,0 +1,109 @@
++cmake_minimum_required(VERSION 2.6)
++
++project(voro++)
++
++set(PROJECT_VERSION "0.4.6")
++set(SOVERSION 0)
++
++# Cmake modules/macros are in a subdirectory to keep this file cleaner
++set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules)
++
++if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
++ #release comes with -O3 by default
++ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
++endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
++
++enable_language(CXX)
++
++######################################################################
++# compiler tests
++# these need ot be done early (before further tests).
++#####################################################################
++
++include(CheckCXXCompilerFlag)
++
++########################################################################
++# User input options #
++########################################################################
++option(BUILD_SHARED_LIBS "Build shared libs" ON)
++if (NOT DEFINED LIB)
++ set(LIB "lib")
++endif(NOT DEFINED LIB)
++if (NOT DEFINED MAN)
++ set(MAN "share/man")
++endif(NOT DEFINED MAN)
++if (NOT DEFINED DATA)
++ set(DATA "share/voro++")
++endif(NOT DEFINED DATA)
++
++########################################################################
++#Find external packages
++########################################################################
++find_package(Doxygen)
++
++########################################################################
++# Basic system tests (standard libraries, headers, functions, types) #
++########################################################################
++include(CheckIncludeFileCXX)
++foreach(HEADER cmath cstdio cstdlib cstring ctime fstream iostream queue vector)
++ check_include_file_cxx(${HEADER} FOUND_${HEADER})
++ if(NOT FOUND_${HEADER})
++ message(FATAL_ERROR "Could not find needed header - ${HEADER}")
++ endif(NOT FOUND_${HEADER})
++endforeach(HEADER)
++
++set(MATH_LIBRARIES "m" CACHE STRING "math library")
++mark_as_advanced( MATH_LIBRARIES )
++include(CheckLibraryExists)
++foreach(FUNC sqrt)
++ check_library_exists(${MATH_LIBRARIES} ${FUNC} "" FOUND_${FUNC}_${MATH_LIBRARIES})
++ if(NOT FOUND_${FUNC}_${MATH_LIBRARIES})
++ message(FATAL_ERROR "Could not find needed math function - ${FUNC}")
++ endif(NOT FOUND_${FUNC}_${MATH_LIBRARIES})
++endforeach(FUNC)
++
++######################################
++# Include the following subdirectory #
++######################################
++
++file(GLOB VORO_SOURCES src/*.cc)
++file(GLOB NOT_VORO_SOURCES src/v_base_wl.cc src/cmd_line.cc src/voro++.cc)
++list(REMOVE_ITEM VORO_SOURCES ${NOT_VORO_SOURCES})
++add_library(voro++ ${VORO_SOURCES})
++set_target_properties(voro++ PROPERTIES
++ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/src"
++ SOVERSION ${SOVERSION})
++install(TARGETS voro++ LIBRARY DESTINATION ${LIB} ARCHIVE DESTINATION ${LIB})
++
++add_executable(cmd_line src/cmd_line.cc)
++target_link_libraries(cmd_line voro++)
++#cannot have two target with the same name
++set_target_properties(cmd_line PROPERTIES OUTPUT_NAME voro++
++ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/src")
++install(TARGETS cmd_line RUNTIME DESTINATION bin)
++
++#for voto++.hh
++include_directories(${CMAKE_SOURCE_DIR}/src)
++file(GLOB EXAMPLE_SOURCES examples/*/*.cc)
++foreach(SOURCE ${EXAMPLE_SOURCES})
++ string(REGEX REPLACE "^.*/([^/]*)\\.cc$" "\\1" PROGNAME "${SOURCE}")
++ if (NOT PROGNAME STREQUAL ellipsoid) #ellipsoid is broken
++ string(REGEX REPLACE "^.*/(examples/.*)/${PROGNAME}\\.cc$" "\\1" DIRNAME "${SOURCE}")
++ add_executable(${PROGNAME} ${SOURCE})
++ target_link_libraries(${PROGNAME} voro++)
++ set_target_properties(${PROGNAME} PROPERTIES
++ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${DIRNAME}" )
++ endif()
++endforeach(SOURCE)
++
++file(GLOB_RECURSE VORO_HEADERS src/*.hh)
++install(FILES ${VORO_HEADERS} DESTINATION include/voro++)
++install(FILES ${CMAKE_SOURCE_DIR}/man/voro++.1 DESTINATION ${MAN}/man1)
++
++if (DOXYGEN_FOUND)
++ add_custom_target(help COMMAND ${DOXYGEN_EXECUTABLE} src/Doxyfile
++ COMMENT "Build doxygen documentation")
++endif (DOXYGEN_FOUND)
++
++configure_file(${CMAKE_MODULE_PATH}/cmake_uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY)
++add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+Index: CMakeModules/cmake_uninstall.cmake.in
+===================================================================
+--- CMakeModules/cmake_uninstall.cmake.in (revision 0)
++++ CMakeModules/cmake_uninstall.cmake.in (working copy)
+@@ -0,0 +1,22 @@
++IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
++ MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
++ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
++
++FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
++STRING(REGEX REPLACE "\n" ";" files "${files}")
++FOREACH(file ${files})
++ MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
++ IF(EXISTS "$ENV{DESTDIR}${file}")
++ EXEC_PROGRAM(
++ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
++ OUTPUT_VARIABLE rm_out
++ RETURN_VALUE rm_retval
++ )
++ IF(NOT "${rm_retval}" STREQUAL 0)
++ MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
++ ENDIF(NOT "${rm_retval}" STREQUAL 0)
++ ELSE(EXISTS "$ENV{DESTDIR}${file}")
++ MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
++ ENDIF(EXISTS "$ENV{DESTDIR}${file}")
++ENDFOREACH(file)
++
diff --git a/sci-libs/voro++/metadata.xml b/sci-libs/voro++/metadata.xml
new file mode 100644
index 000000000000..897aa2e6b59a
--- /dev/null
+++ b/sci-libs/voro++/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+</pkgmetadata>
diff --git a/sci-libs/voro++/voro++-0.4.6-r1.ebuild b/sci-libs/voro++/voro++-0.4.6-r1.ebuild
new file mode 100644
index 000000000000..66cddec3a202
--- /dev/null
+++ b/sci-libs/voro++/voro++-0.4.6-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils multilib
+
+DESCRIPTION="A 3D Voronoi cell software library"
+HOMEPAGE="http://math.lbl.gov/voro++/"
+SRC_URI="${HOMEPAGE}/download/dir/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+src_configure() {
+ mycmakeargs=( -DLIB=$(get_libdir) )
+ cmake-utils_src_configure
+}
diff --git a/sci-libs/votca-tools/Manifest b/sci-libs/votca-tools/Manifest
new file mode 100644
index 000000000000..bd63ba2e1ef2
--- /dev/null
+++ b/sci-libs/votca-tools/Manifest
@@ -0,0 +1,3 @@
+DIST votca-tools-1.2.2.tar.gz 987104 SHA256 26eb8b97944844cecbfeb4609091af223c5b912696492bda8347b8f98ad543be
+DIST votca-tools-1.2.2_pristine.tar.gz 85442 SHA256 23e53ea7d462ced18dde8a5795c4e1dc8c05084c18deb50663023c270314eb28 SHA512 5245e9fdeaedc28fca211378f088636720c83511592a6e34b92f07d465692c7d2305a40ee111726a9ddf2d11e82a8f34ee9c3345e151780276d7679149857e7d WHIRLPOOL b792be3c2e2dc935b7ecbb40740fdba33afafe22ae0249b18eda36826c98f38345c7cc6513fe72db31ba53f61e7b93fbc1459ceec76b2959f774ba035cf63c60
+DIST votca-tools-1.2.4_pristine.tar.gz 84836 SHA256 acb5545c7cbdf8f8dbad6645f553e90e5dfa979e5f662f56696f73fc5a957c55 SHA512 65e780cbedf9b9001f3d704d7d45a8272cd995f21cea7a31a446a0e040c803994ff9aea2a884a2c5c972cef9b980434cb8e2bbcef8b96cfb31e178d95ddb0f45 WHIRLPOOL a8a341349ac3d36b9f331c57cfcc62c1995ca71fcec035dab098438cbbc1a2c6a80ed50d048e8673333af352723352a2af9aed41411e43e4d9e40cfbedf362ca
diff --git a/sci-libs/votca-tools/metadata.xml b/sci-libs/votca-tools/metadata.xml
new file mode 100644
index 000000000000..aaf7c9f0baec
--- /dev/null
+++ b/sci-libs/votca-tools/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>ottxor@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <use>
+ <flag name='system-boost'>Use system boost (<pkg>dev-libs/boost</pkg>) instead of bundled one</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">votca</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/votca-tools/votca-tools-1.2.2.ebuild b/sci-libs/votca-tools/votca-tools-1.2.2.ebuild
new file mode 100644
index 000000000000..fa163223a0d2
--- /dev/null
+++ b/sci-libs/votca-tools/votca-tools-1.2.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit cmake-utils eutils multilib
+
+if [ "${PV}" != "9999" ]; then
+ SRC_URI="system-boost? ( http://votca.googlecode.com/files/${PF}_pristine.tar.gz )
+ !system-boost? ( http://votca.googlecode.com/files/${PF}.tar.gz )"
+ RESTRICT="primaryuri"
+else
+ SRC_URI=""
+ inherit mercurial
+ EHG_REPO_URI="https://tools.votca.googlecode.com/hg"
+fi
+
+DESCRIPTION="Votca tools library"
+HOMEPAGE="http://www.votca.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-macos"
+IUSE="doc +fftw +gsl sqlite +system-boost"
+
+RDEPEND="fftw? ( sci-libs/fftw:3.0 )
+ dev-libs/expat
+ gsl? ( sci-libs/gsl )
+ system-boost? ( dev-libs/boost )
+ sqlite? ( dev-db/sqlite:3 )"
+
+DEPEND="${RDEPEND}
+ doc? ( || ( <app-doc/doxygen-1.7.6.1[-nodot] >=app-doc/doxygen-1.7.6.1[dot] ) )
+ >=app-text/txt2tags-2.5
+ virtual/pkgconfig"
+
+src_prepare() {
+ use gsl || ewarn "Disabling gsl will lead to reduced functionality"
+ use fftw || ewarn "Disabling fftw will lead to reduced functionality"
+
+ #remove bundled libs
+ if use system-boost; then
+ rm -rf src/libboost
+ fi
+}
+
+src_configure() {
+ mycmakeargs=(
+ $(cmake-utils_use system-boost EXTERNAL_BOOST)
+ $(cmake-utils_use_with gsl GSL)
+ $(cmake-utils_use_with fftw FFTW)
+ $(cmake-utils_use_with sqlite SQLITE3)
+ -DWITH_RC_FILES=OFF
+ -DLIB=$(get_libdir)
+ )
+ cmake-utils_src_configure || die
+}
+
+src_install() {
+ DOCS=(${CMAKE_BUILD_DIR}/CHANGELOG NOTICE)
+ cmake-utils_src_install || die
+ if use doc; then
+ cd "${CMAKE_BUILD_DIR}" || die
+ cd share/doc || die
+ doxygen || die
+ dohtml -r html/* || die
+ fi
+}
diff --git a/sci-libs/votca-tools/votca-tools-1.2.4.ebuild b/sci-libs/votca-tools/votca-tools-1.2.4.ebuild
new file mode 100644
index 000000000000..5c6668aaf1bb
--- /dev/null
+++ b/sci-libs/votca-tools/votca-tools-1.2.4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit cmake-utils eutils multilib
+
+if [ "${PV}" != "9999" ]; then
+ SRC_URI="http://downloads.votca.googlecode.com/hg/${P}_pristine.tar.gz"
+else
+ SRC_URI=""
+ inherit mercurial
+ EHG_REPO_URI="https://tools.votca.googlecode.com/hg"
+fi
+
+DESCRIPTION="Votca tools library"
+HOMEPAGE="http://www.votca.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-macos"
+IUSE="doc +fftw +gsl sqlite"
+
+RDEPEND="fftw? ( sci-libs/fftw:3.0 )
+ dev-libs/expat
+ gsl? ( sci-libs/gsl )
+ dev-libs/boost:=
+ sqlite? ( dev-db/sqlite:3 )"
+
+DEPEND="${RDEPEND}
+ doc? ( || ( <app-doc/doxygen-1.7.6.1[-nodot] >=app-doc/doxygen-1.7.6.1[dot] ) )
+ >=app-text/txt2tags-2.5
+ virtual/pkgconfig"
+
+DOCS=( NOTICE )
+
+src_configure() {
+ mycmakeargs=(
+ $(cmake-utils_use_with gsl GSL)
+ $(cmake-utils_use_with fftw FFTW)
+ $(cmake-utils_use_with sqlite SQLITE3)
+ -DEXTERNAL_BOOST=ON
+ -DWITH_RC_FILES=OFF
+ -DLIB=$(get_libdir)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use doc; then
+ cd "${CMAKE_BUILD_DIR}" || die
+ cd share/doc || die
+ doxygen || die
+ dohtml -r html/*
+ fi
+}
diff --git a/sci-libs/vtk/Manifest b/sci-libs/vtk/Manifest
new file mode 100644
index 000000000000..9e64a2fff0be
--- /dev/null
+++ b/sci-libs/vtk/Manifest
@@ -0,0 +1,6 @@
+DIST VTK-6.1.0.tar.gz 27608882 SHA256 bd7df10a479606d529a8b71f466c44a2bdd11fd534c62ce0aa44fad91883fa34 SHA512 3ab922166502348e5cdd68e14dbf4717c0405c9d8881c04aa8be8f95d8516af39cd02aaca5171c6de8af1b462ca386399b7a87a843ec62999f0f32c11788a2dc WHIRLPOOL e387390efdc8cd2e413524794786369ba8a2bfe788913dfb161b82d9bc041e15ed5585286bebe38f955d1def3043481303d3bc74c648bbf5bf856e212ac9950c
+DIST VTKData-6.1.0.tar.gz 94452190 SHA256 aba27ac05d721e36b9424131f1d0f673448f2b31aac34e9e74590fdf208ad0c7 SHA512 4e23cc3de3b81a852458849f2bd4dfe2e84e9df4f77f5f0d4ac249b04a7f74144a483a91876bd748bb90685d1943071e9b36fce8dd618376621bc37e63365e65 WHIRLPOOL 1ee803055e3bbf0c8150807a77efce81406c8a512c40644c5ccc35279cb1098bb8f0382b5f2bb01f483c8a38a4e81ee70ed39145c52b4375a0545919faee2a28
+DIST VTKLargeData-6.1.0.tar.gz 166019220 SHA256 d8985508ff2b7fbfbae0aadedfbe2b293640cf6441d3cce41da5c3f591c96d4c SHA512 3663a124c16448882ad3aef0fb15f55f438863ba2176106803ad9c6fb561325accd74f2675d8b6e1de791babfa8b992e516d87640efedda4a6daeb5affc2cf3f WHIRLPOOL db62af365a5c1d71b209d21578184ff1ee7a5913aefd7e5729b7dc555bdd20a8f070ed83051387634bf6a9fc1141ab68a291ec0d557602fa5802e3e6020b7ae1
+DIST vtk-6.0.0.tar.gz 24170173 SHA256 426df543cffeacf21154dddcd2a6efbd91a586570a07a0db4c426d3e0acd10e4 SHA512 ac238e2d228df4fc4d324826b8729af9ab3274039d5abf834f013fb4deaddc116ba2b1b24fb93aaf4b1bfc4bb321d19bc05566883cf3db1f982c9650d77583e8 WHIRLPOOL b8619e254f97392dae01b8e2376bd70a07ce21504580d29844fcf1ab5621d85ba12bfd6047b4f90afd2b648d8b6c17e4ce5d789d6e1f84b5a4f847de5ee376b9
+DIST vtkDocHtml-6.0.0.tar.gz 204228463 SHA256 f5324c4c197b0cacd19bf1e5721bb012d753d49526e224d9f2dd7412f34e4434 SHA512 b6d5660f3ae6046c63b22b613cab6822f45f6b30a09522277e32f941c75dc48e8c92abc4d7f02b17e3f4d8e625de6dce7f000acc79e2d588a13d1577c139291a WHIRLPOOL b951c4ee62639c6bada2e02c2fceddbdb730c76d80c61a6ed013d8d9878b78a697158f41f53d68b5d62e4baa1f9ecb88e2437490da7610970622a40ecb14db1f
+DIST vtkDocHtml-6.1.0.tar.gz 230827905 SHA256 e35d0f5b7905e5c827d8daa71ee61b14dc080445efad91f97583a2b9303c1813 SHA512 fcae74a65157d87b39a162facdecbb0ab0a9b95b9f2555ed2b15d635b82034bfc62181eea441caf0b1edbe036b792a8231d409908b943398ce7f662c149d3a60 WHIRLPOOL bc1714223259953a605612c0da124ece60604989458b7de5cf24b37d0f4c339f50c07a13d899f218364e61a35f8e1ace126eda5e83acbc3fe4930b041df0f55d
diff --git a/sci-libs/vtk/files/vtk-5.10.1-ffmpeg-1.patch b/sci-libs/vtk/files/vtk-5.10.1-ffmpeg-1.patch
new file mode 100644
index 000000000000..2cefb12591a5
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.10.1-ffmpeg-1.patch
@@ -0,0 +1,49 @@
+https://bugs.gentoo.org/show_bug.cgi?id=450464
+
+Index: VTK5.10.1/IO/vtkFFMPEGWriter.cxx
+===================================================================
+--- VTK5.10.1.orig/IO/vtkFFMPEGWriter.cxx
++++ VTK5.10.1/IO/vtkFFMPEGWriter.cxx
+@@ -192,13 +192,6 @@ int vtkFFMPEGWriterInternal::Start()
+ c->bit_rate_tolerance = this->Writer->GetBitRateTolerance();
+ }
+
+- //apply the chosen parameters
+- if (av_set_parameters(this->avFormatContext, NULL) < 0)
+- {
+- vtkGenericWarningMacro (<< "Invalid output format parameters." );
+- return 0;
+- }
+-
+ //manufacture a codec with the chosen parameters
+ AVCodec *codec = avcodec_find_encoder(c->codec_id);
+ if (!codec)
+@@ -259,14 +252,17 @@ int vtkFFMPEGWriterInternal::Start()
+
+
+ //Finally, open the file and start it off.
+- if (url_fopen(&this->avFormatContext->pb, this->avFormatContext->filename, URL_WRONLY) < 0)
++ if (avio_open(&this->avFormatContext->pb, this->avFormatContext->filename, AVIO_FLAG_WRITE) < 0)
+ {
+ vtkGenericWarningMacro (<< "Could not open " << this->Writer->GetFileName() << "." );
+ return 0;
+ }
+ this->openedFile = 1;
+
+- av_write_header(this->avFormatContext);
++ if(avformat_write_header(this->avFormatContext, NULL) < 0) {
++ vtkGenericWarningMacro (<< "Failed to write header." );
++ return 0;
++ }
+ return 1;
+ }
+
+@@ -391,7 +387,7 @@ void vtkFFMPEGWriterInternal::End()
+ #ifdef VTK_FFMPEG_OLD_URL_FCLOSE
+ url_fclose(&this->avFormatContext->pb);
+ #else
+- url_fclose(this->avFormatContext->pb);
++ avio_close(this->avFormatContext->pb);
+ #endif
+ this->openedFile = 0;
+ }
diff --git a/sci-libs/vtk/files/vtk-5.10.1-libav-9.patch b/sci-libs/vtk/files/vtk-5.10.1-libav-9.patch
new file mode 100644
index 000000000000..eb7b71c5ec9e
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.10.1-libav-9.patch
@@ -0,0 +1,117 @@
+diff -burN VTK5.10.1.old/IO/vtkFFMPEGWriter.cxx VTK5.10.1/IO/vtkFFMPEGWriter.cxx
+--- VTK5.10.1.old/IO/vtkFFMPEGWriter.cxx 2013-05-25 01:26:52.768954436 +0200
++++ VTK5.10.1/IO/vtkFFMPEGWriter.cxx 2013-05-25 11:13:53.112672449 +0200
+@@ -60,9 +60,6 @@
+
+ AVStream *avStream;
+
+- unsigned char *codecBuf;
+- int codecBufSize;
+-
+ AVFrame *rgbInput;
+ AVFrame *yuvOutput;
+
+@@ -83,7 +80,6 @@
+
+ this->avStream = NULL;
+
+- this->codecBuf = NULL;
+ this->rgbInput = NULL;
+ this->yuvOutput = NULL;
+
+@@ -140,7 +136,7 @@
+ strcpy(this->avFormatContext->filename, this->Writer->GetFileName());
+
+ //create a stream for that file
+- this->avStream = av_new_stream(this->avFormatContext, 0);
++ this->avStream = avformat_new_stream(this->avFormatContext, NULL);
+ if (!this->avStream)
+ {
+ vtkGenericWarningMacro (<< "Could not create video stream.");
+@@ -199,7 +195,7 @@
+ vtkGenericWarningMacro (<< "Codec not found." );
+ return 0;
+ }
+- if (avcodec_open(c, codec) < 0)
++ if (avcodec_open2(c, codec, NULL) < 0)
+ {
+ vtkGenericWarningMacro (<< "Could not open codec.");
+ return 0;
+@@ -207,15 +203,6 @@
+
+ //create buffers for the codec to work with.
+
+- //working compression space
+- this->codecBufSize = 2*c->width*c->height*4; //hopefully this is enough
+- this->codecBuf = new unsigned char[this->codecBufSize];
+- if (!this->codecBuf)
+- {
+- vtkGenericWarningMacro (<< "Could not make codec working space." );
+- return 0;
+- }
+-
+ //for the output of the writer's input...
+ this->rgbInput = avcodec_alloc_frame();
+ if (!this->rgbInput)
+@@ -316,38 +303,24 @@
+ return 0;
+ }
+ #endif
+-
++ AVPacket pkt = { 0 };
++ int got_frame;
+
+ //run the encoder
+- int toAdd = avcodec_encode_video(cc,
+- this->codecBuf,
+- this->codecBufSize,
+- this->yuvOutput);
++ int ret = avcodec_encode_video2(cc,
++ &pkt,
++ this->yuvOutput,
++ &got_frame);
+
+ //dump the compressed result to file
+- if (toAdd)
++ if (got_frame)
+ {
+- //create an avpacket to output the compressed result
+- AVPacket pkt;
+- av_init_packet(&pkt);
+-
+- //to do playback at actual recorded rate, this will need more work
+- pkt.pts = cc->coded_frame->pts;
+- //pkt.dts = ?; not dure what decompression time stamp should be
+- pkt.data = this->codecBuf;
+- pkt.size = toAdd;
+ pkt.stream_index = this->avStream->index;
+- if (cc->coded_frame->key_frame) //treat keyframes well
+- {
+- pkt.flags |= AV_PKT_FLAG_KEY;
+- }
+- pkt.duration = 0; //presentation duration in time_base units or 0 if NA
+- pkt.pos = -1; //byte position in stream or -1 if NA
+
+- toAdd = av_write_frame(this->avFormatContext, &pkt);
++ ret = av_write_frame(this->avFormatContext, &pkt);
+ }
+
+- if (toAdd) //should not have anything left over
++ if (ret < 0) //should not have anything left over
+ {
+ vtkGenericWarningMacro (<< "Problem encoding frame." );
+ return 0;
+@@ -373,12 +346,6 @@
+ this->rgbInput = NULL;
+ }
+
+- if (this->codecBuf)
+- {
+- av_free(this->codecBuf);
+- this->codecBuf = NULL;
+- }
+-
+ if (this->avFormatContext)
+ {
+ if (this->openedFile)
+Binary files VTK5.10.1.old/IO/.vtkFFMPEGWriter.cxx.swp and VTK5.10.1/IO/.vtkFFMPEGWriter.cxx.swp differ
diff --git a/sci-libs/vtk/files/vtk-5.10.1-tcl8.6.patch b/sci-libs/vtk/files/vtk-5.10.1-tcl8.6.patch
new file mode 100644
index 000000000000..ed7ec08c2ea7
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.10.1-tcl8.6.patch
@@ -0,0 +1,57 @@
+ Common/vtkTclUtil.cxx | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/Common/vtkTclUtil.cxx b/Common/vtkTclUtil.cxx
+index 390b0a4..2b7bccb 100644
+--- a/Common/vtkTclUtil.cxx
++++ b/Common/vtkTclUtil.cxx
+@@ -21,6 +21,12 @@
+ #include <string>
+ #include <vtksys/SystemTools.hxx>
+
++#if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 6)
++#define vtkTclGetErrorLine(m) (m->errorLine)
++#else
++#define vtkTclGetErrorLine(m) (Tcl_GetErrorLine(m))
++#endif
++
+ extern "C"
+ {
+ #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION >= 4)
+@@ -490,13 +496,15 @@ VTKTCL_EXPORT void vtkTclVoidFunc(void *arg)
+ vtkGenericWarningMacro("Error returned from vtk/tcl callback:\n" <<
+ arg2->command << endl <<
+ Tcl_GetVar(arg2->interp,(char *)("errorInfo"),0) <<
+- " at line number " << arg2->interp->errorLine);
++ " at line number " <<
++ vtkTclGetErrorLine(arg2->interp));
+ }
+ else
+ {
+ vtkGenericWarningMacro("Error returned from vtk/tcl callback:\n" <<
+ arg2->command << endl <<
+- " at line number " << arg2->interp->errorLine);
++ " at line number " <<
++ vtkTclGetErrorLine(arg2->interp));
+ }
+ }
+ }
+@@ -723,14 +731,15 @@ void vtkTclCommand::Execute(vtkObject *, unsigned long, void *)
+ vtkGenericWarningMacro("Error returned from vtk/tcl callback:\n" <<
+ this->StringCommand << endl <<
+ Tcl_GetVar(this->Interp,(char *)("errorInfo"),0) <<
+- " at line number " << this->Interp->errorLine);
++ " at line number " <<
++ vtkTclGetErrorLine(this->Interp));
+ }
+ else
+ {
+ vtkGenericWarningMacro("Error returned from vtk/tcl callback:\n" <<
+ this->StringCommand << endl <<
+- " at line number " <<
+- this->Interp->errorLine);
++ " at line number " <<
++ vtkTclGetErrorLine(this->Interp));
+ }
+ }
+ else if (res == -1)
diff --git a/sci-libs/vtk/files/vtk-5.2.0-tcl-install.patch b/sci-libs/vtk/files/vtk-5.2.0-tcl-install.patch
new file mode 100644
index 000000000000..c7da78678825
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.2.0-tcl-install.patch
@@ -0,0 +1,12 @@
+diff -Naur VTK/CMakeLists.txt VTK.new/CMakeLists.txt
+--- VTK/CMakeLists.txt 2008-05-13 17:50:09.000000000 -0400
++++ VTK.new/CMakeLists.txt 2008-10-05 10:34:42.000000000 -0400
+@@ -182,7 +182,7 @@
+ # Compute the proper location for installing the Tcl package. This
+ # must be a fixed relative path below the library install location and
+ # is therefore not settable by parent projects.
+-SET(VTK_INSTALL_TCL_DIR ${VTK_INSTALL_LIB_DIR})
++SET(VTK_INSTALL_TCL_DIR ${VTK_INSTALL_PACKAGE_DIR})
+
+ IF(NOT VTK_INSTALL_JAVA_DIR)
+ SET(VTK_INSTALL_JAVA_DIR ${VTK_INSTALL_PACKAGE_DIR}/java)
diff --git a/sci-libs/vtk/files/vtk-5.4.2-boost-property_map.patch b/sci-libs/vtk/files/vtk-5.4.2-boost-property_map.patch
new file mode 100644
index 000000000000..90c6d6a1fed3
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.4.2-boost-property_map.patch
@@ -0,0 +1,194 @@
+diff --git a/Infovis/Testing/Cxx/TestBoostAdapter.cxx b/Infovis/Testing/Cxx/TestBoostAdapter.cxx
+index 6af2855..484a9e0 100644
+--- a/Infovis/Testing/Cxx/TestBoostAdapter.cxx
++++ b/Infovis/Testing/Cxx/TestBoostAdapter.cxx
+@@ -36,8 +36,8 @@
+ #include <boost/graph/strong_components.hpp>
+ #include <boost/graph/dijkstra_shortest_paths.hpp>
+ #include <boost/graph/transitive_closure.hpp>
+-#include <boost/property_map.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+
+ #include "vtkGraph.h"
+ #include "vtkBoostGraphAdapter.h"
+diff --git a/Infovis/vtkBoostBiconnectedComponents.cxx b/Infovis/vtkBoostBiconnectedComponents.cxx
+index 6799dd0..dd759d5 100644
+--- a/Infovis/vtkBoostBiconnectedComponents.cxx
++++ b/Infovis/vtkBoostBiconnectedComponents.cxx
+@@ -32,7 +32,7 @@
+ #include "vtkGraph.h"
+ #include "vtkBoostGraphAdapter.h"
+ #include <boost/graph/biconnected_components.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/version.hpp>
+ #include <vtksys/stl/vector>
+ #include <vtksys/stl/utility>
+diff --git a/Infovis/vtkBoostBrandesCentrality.cxx b/Infovis/vtkBoostBrandesCentrality.cxx
+index e214a72..443c039 100644
+--- a/Infovis/vtkBoostBrandesCentrality.cxx
++++ b/Infovis/vtkBoostBrandesCentrality.cxx
+@@ -36,7 +36,7 @@
+
+ #include <boost/graph/adjacency_list.hpp>
+ #include <boost/graph/betweenness_centrality.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+
+ using namespace boost;
+
+diff --git a/Infovis/vtkBoostBreadthFirstSearch.cxx b/Infovis/vtkBoostBreadthFirstSearch.cxx
+index 7fab585..6e56a7c 100644
+--- a/Infovis/vtkBoostBreadthFirstSearch.cxx
++++ b/Infovis/vtkBoostBreadthFirstSearch.cxx
+@@ -46,8 +46,8 @@
+
+ #include <boost/graph/visitors.hpp>
+ #include <boost/graph/breadth_first_search.hpp>
+-#include <boost/property_map.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ #include <vtksys/stl/utility> // for pair
+diff --git a/Infovis/vtkBoostBreadthFirstSearchTree.cxx b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+index 5c64516..64ee7b5 100644
+--- a/Infovis/vtkBoostBreadthFirstSearchTree.cxx
++++ b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+@@ -39,7 +39,7 @@
+ #include "vtkTree.h"
+
+ #include <boost/graph/breadth_first_search.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ using namespace boost;
+diff --git a/Infovis/vtkBoostConnectedComponents.cxx b/Infovis/vtkBoostConnectedComponents.cxx
+index 69e9d8f..c88f4ab 100644
+--- a/Infovis/vtkBoostConnectedComponents.cxx
++++ b/Infovis/vtkBoostConnectedComponents.cxx
+@@ -33,7 +33,7 @@
+
+ #include "vtkBoostGraphAdapter.h"
+ #include <boost/graph/strong_components.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+
+ using namespace boost;
+
+diff --git a/Infovis/vtkBoostKruskalMinimumSpanningTree.cxx b/Infovis/vtkBoostKruskalMinimumSpanningTree.cxx
+index b0c89de..7ea3aa9 100644
+--- a/Infovis/vtkBoostKruskalMinimumSpanningTree.cxx
++++ b/Infovis/vtkBoostKruskalMinimumSpanningTree.cxx
+@@ -40,7 +40,7 @@ PURPOSE. See the above copyright notice for more information.
+ #include "vtkTree.h"
+
+ #include <boost/graph/kruskal_min_spanning_tree.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ using namespace boost;
+diff --git a/Infovis/vtkBoostPrimMinimumSpanningTree.cxx b/Infovis/vtkBoostPrimMinimumSpanningTree.cxx
+index 935d0f7..48716fd 100644
+--- a/Infovis/vtkBoostPrimMinimumSpanningTree.cxx
++++ b/Infovis/vtkBoostPrimMinimumSpanningTree.cxx
+@@ -39,7 +39,7 @@ PURPOSE. See the above copyright notice for more information.
+ #include "vtkTree.h"
+
+ #include <boost/graph/prim_minimum_spanning_tree.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ using namespace boost;
+diff --git a/Infovis/vtkTreeLayoutStrategy.cxx b/Infovis/vtkTreeLayoutStrategy.cxx
+index 6efa586..222afe9 100644
+--- a/Infovis/vtkTreeLayoutStrategy.cxx
++++ b/Infovis/vtkTreeLayoutStrategy.cxx
+@@ -375,8 +375,8 @@ void vtkTreeLayoutStrategy::PrintSelf(ostream& os, vtkIndent indent)
+ #include "vtkTreeToBoostAdapter.h"
+ #include <boost/graph/visitors.hpp>
+ #include <boost/graph/depth_first_search.hpp>
+-#include <boost/property_map.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ using namespace boost;
+diff --git a/Parallel/vtkPBGLBreadthFirstSearch.cxx b/Parallel/vtkPBGLBreadthFirstSearch.cxx
+index 2b4681b..eebeaa9 100644
+--- a/Parallel/vtkPBGLBreadthFirstSearch.cxx
++++ b/Parallel/vtkPBGLBreadthFirstSearch.cxx
+@@ -50,8 +50,8 @@
+ #include <boost/graph/distributed/breadth_first_search.hpp>
+ #include <boost/parallel/algorithm.hpp>
+ #include <boost/graph/visitors.hpp>
+-#include <boost/property_map.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ #include <vtksys/stl/utility> // for pair
+diff --git a/Parallel/vtkPBGLGraphAdapter.h b/Parallel/vtkPBGLGraphAdapter.h
+index 7b467b0..bacfd3a 100644
+--- a/Parallel/vtkPBGLGraphAdapter.h
++++ b/Parallel/vtkPBGLGraphAdapter.h
+@@ -31,7 +31,7 @@
+ #include <boost/graph/distributed/mpi_process_group.hpp>
+ #include <boost/graph/properties.hpp>
+ #include <boost/graph/parallel/container_traits.hpp>
+-#include <boost/parallel/local_property_map.hpp>
++#include <boost/property_map/parallel/local_property_map.hpp>
+ #include <boost/serialization/base_object.hpp>
+ #include <boost/functional/hash.hpp>
+ //ETX
+diff --git a/Parallel/vtkPBGLMinimumSpanningTree.cxx b/Parallel/vtkPBGLMinimumSpanningTree.cxx
+index da4647e..f9c3229 100644
+--- a/Parallel/vtkPBGLMinimumSpanningTree.cxx
++++ b/Parallel/vtkPBGLMinimumSpanningTree.cxx
+@@ -48,8 +48,8 @@
+ #include <boost/graph/distributed/dehne_gotz_min_spanning_tree.hpp>
+ #include <boost/graph/distributed/vertex_list_adaptor.hpp>
+ #include <boost/parallel/global_index_map.hpp>
+-#include <boost/property_map.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ #include <vtksys/stl/utility> // for pair
+diff --git a/Parallel/vtkPBGLShortestPaths.cxx b/Parallel/vtkPBGLShortestPaths.cxx
+index 074143f..8517304 100644
+--- a/Parallel/vtkPBGLShortestPaths.cxx
++++ b/Parallel/vtkPBGLShortestPaths.cxx
+@@ -49,8 +49,8 @@
+
+ #include <boost/graph/distributed/delta_stepping_shortest_paths.hpp>
+ #include <boost/parallel/algorithm.hpp>
+-#include <boost/property_map.hpp>
+-#include <boost/vector_property_map.hpp>
++#include <boost/property_map/property_map.hpp>
++#include <boost/property_map/vector_property_map.hpp>
+
+ #include <vtksys/stl/utility> // for pair
+
+diff --git a/Parallel/vtkPBGLVertexColoring.cxx b/Parallel/vtkPBGLVertexColoring.cxx
+index 9aa87a0..301a245 100644
+--- a/Parallel/vtkPBGLVertexColoring.cxx
++++ b/Parallel/vtkPBGLVertexColoring.cxx
+@@ -47,7 +47,7 @@
+
+ #include <boost/graph/distributed/boman_et_al_graph_coloring.hpp>
+ #include <boost/parallel/algorithm.hpp>
+-#include <boost/property_map.hpp>
++#include <boost/property_map/property_map.hpp>
+
+ #include <vtksys/stl/utility> // for pair
+
diff --git a/sci-libs/vtk/files/vtk-5.4.2-cg-path.patch b/sci-libs/vtk/files/vtk-5.4.2-cg-path.patch
new file mode 100644
index 000000000000..53d43ee804b9
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.4.2-cg-path.patch
@@ -0,0 +1,35 @@
+diff -Naur VTK/CMake/FindCg.cmake VTK.new/CMake/FindCg.cmake
+--- VTK/CMake/FindCg.cmake 2005-10-04 11:25:51.000000000 -0400
++++ VTK.new/CMake/FindCg.cmake 2009-07-17 14:10:30.000000000 -0400
+@@ -82,6 +82,7 @@
+ FIND_PROGRAM( CG_COMPILER cgc
+ /usr/bin
+ /usr/local/bin
++ /opt/nvidia-cg-toolkit/bin
+ DOC "The Cg Compiler"
+ )
+ GET_FILENAME_COMPONENT(CG_COMPILER_DIR "${CG_COMPILER}" PATH)
+@@ -89,6 +90,7 @@
+ FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
+ /usr/include
+ /usr/local/include
++ /opt/nvidia-cg-toolkit/include
+ ${CG_COMPILER_SUPER_DIR}/include
+ DOC "The directory where Cg/cg.h resides"
+ )
+@@ -98,6 +100,7 @@
+ /usr/lib
+ /usr/local/lib64
+ /usr/local/lib
++ /opt/nvidia-cg-toolkit/lib
+ ${CG_COMPILER_SUPER_DIR}/lib64
+ ${CG_COMPILER_SUPER_DIR}/lib
+ DOC "The Cg runtime library"
+@@ -108,6 +111,7 @@
+ /usr/lib
+ /usr/local/lib64
+ /usr/local/lib
++ /opt/nvidia-cg-toolkit/lib
+ ${CG_COMPILER_SUPER_DIR}/lib64
+ ${CG_COMPILER_SUPER_DIR}/lib
+ DOC "The Cg runtime library"
diff --git a/sci-libs/vtk/files/vtk-5.4.2-libpng14.patch b/sci-libs/vtk/files/vtk-5.4.2-libpng14.patch
new file mode 100644
index 000000000000..1f12ae92658d
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.4.2-libpng14.patch
@@ -0,0 +1,20 @@
+--- IO/vtkPNGReader.cxx
++++ IO/vtkPNGReader.cxx
+@@ -116,7 +116,7 @@
+ // minimum of a byte per pixel
+ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
+ {
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ }
+
+ // add alpha if any alpha found
+@@ -225,7 +225,7 @@
+ // minimum of a byte per pixel
+ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
+ {
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ }
+
+ // add alpha if any alpha found
diff --git a/sci-libs/vtk/files/vtk-5.6.0-R.patch b/sci-libs/vtk/files/vtk-5.6.0-R.patch
new file mode 100644
index 000000000000..1327121c20c6
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.0-R.patch
@@ -0,0 +1,57 @@
+diff --git a/CMake/FindR.cmake b/CMake/FindR.cmake
+index ee49570..c830db0 100644
+--- a/CMake/FindR.cmake
++++ b/CMake/FindR.cmake
+@@ -18,13 +18,12 @@ IF (R_COMMAND)
+ ENDIF (R_COMMAND)
+ SET(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE})
+
+-FIND_PATH(R_INCLUDE_DIR R.h PATHS /usr/local/lib /usr/local/lib64 PATH_SUFFIXES R/include DOC "Path to file R.h")
++FIND_PATH(R_INCLUDE_DIR R.h PATHS /usr/lib /usr/lib64 PATH_SUFFIXES R/include DOC "Path to file R.h")
+ FIND_LIBRARY(R_LIBRARY_BASE R PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "R library (example libR.a, libR.dylib, etc.).")
+-FIND_LIBRARY(R_LIBRARY_BLAS Rblas PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "Rblas library (example libRblas.a, libRblas.dylib, etc.).")
+-FIND_LIBRARY(R_LIBRARY_LAPACK Rlapack PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "Rlapack library (example libRlapack.a, libRlapack.dylib, etc.).")
++FIND_LIBRARY(R_LIBRARY_MATH Rmath PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "Rmath library (example libRmath.a, libRmath.dylib, etc.).")
+ FIND_LIBRARY(R_LIBRARY_READLINE readline DOC "(Optional) system readline library. Only required if the R libraries were build with readline support.")
+
+-SET(R_LIBRARIES ${R_LIBRARY_BASE} ${R_LIBRARY_BLAS} ${R_LIBRARY_LAPACK} ${R_LIBRARY_BASE})
++SET(R_LIBRARIES ${R_LIBRARY_BASE} ${R_LIBRARY_MATH} ${R_LIBRARY_BASE})
+ IF (R_LIBRARY_READLINE)
+ SET(R_LIBRARIES ${R_LIBRARIES} ${R_LIBRARY_READLINE})
+ ENDIF (R_LIBRARY_READLINE)
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9d4e881..1a828a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1054,8 +1054,18 @@ IF(VTK_WRAP_JAVA)
+ ENDIF(JAVA_AWT_LIBRARY)
+ ENDIF(VTK_WRAP_JAVA)
+
++IF(VTK_USE_GNU_R)
++ FIND_PACKAGE(R)
++ENDIF(VTK_USE_GNU_R)
+
+-
++IF(VTK_USE_BOOST)
++ if (VTK_USE_PARALLEL_BGL)
++ FIND_PACKAGE(Boost 1.39.0 REQUIRED
++ COMPONENTS mpi serialization filesystem system graph_parallel)
++ else (VTK_USE_PARALLEL_BGL)
++ FIND_PACKAGE(Boost REQUIRED)
++ endif (VTK_USE_PARALLEL_BGL)
++ENDIF(VTK_USE_BOOST)
+ #-----------------------------------------------------------------------------
+ # The entire VTK tree should use the same include path.
+
+diff --git a/Graphics/vtkRInterface.cxx b/Graphics/vtkRInterface.cxx
+index 324e845..56a4869 100644
+--- a/Graphics/vtkRInterface.cxx
++++ b/Graphics/vtkRInterface.cxx
+@@ -23,6 +23,7 @@
+ #undef HAVE_UINTPTR_T
+ #ifdef HAVE_VTK_UINTPTR_T
+ #define HAVE_UINTPTR_T HAVE_VTK_UINTPTR_T
++#include <stdint.h>
+ #endif
+
+ #include "vtkInformation.h"
diff --git a/sci-libs/vtk/files/vtk-5.6.0-boost-property_map.patch b/sci-libs/vtk/files/vtk-5.6.0-boost-property_map.patch
new file mode 100644
index 000000000000..9319378acb1a
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.0-boost-property_map.patch
@@ -0,0 +1,13 @@
+diff --git a/Infovis/vtkTreeLayoutStrategy.cxx b/Infovis/vtkTreeLayoutStrategy.cxx
+index 4a764ea..74d0b53 100644
+--- a/Infovis/vtkTreeLayoutStrategy.cxx
++++ b/Infovis/vtkTreeLayoutStrategy.cxx
+@@ -388,7 +388,7 @@ void vtkTreeLayoutStrategy::PrintSelf(ostream& os, vtkIndent indent)
+ #include "vtkTreeToBoostAdapter.h"
+ #include <boost/graph/visitors.hpp>
+ #include <boost/graph/depth_first_search.hpp>
+-#include <boost/property_map.hpp>
++#include <boost/property_map/property_map.hpp>
+ #include <boost/pending/queue.hpp>
+
+ using namespace boost;
diff --git a/sci-libs/vtk/files/vtk-5.6.0-cg-path.patch b/sci-libs/vtk/files/vtk-5.6.0-cg-path.patch
new file mode 100644
index 000000000000..984bf5008497
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.0-cg-path.patch
@@ -0,0 +1,36 @@
+diff --git a/CMake/FindCg.cmake b/CMake/FindCg.cmake
+index ceb41de..5eb6003 100644
+--- a/CMake/FindCg.cmake
++++ b/CMake/FindCg.cmake
+@@ -82,6 +82,7 @@ ELSE (APPLE)
+ FIND_PROGRAM( CG_COMPILER cgc
+ /usr/bin
+ /usr/local/bin
++ /opt/nvidia-cg-toolkit/bin
+ DOC "The Cg Compiler"
+ )
+ GET_FILENAME_COMPONENT(CG_COMPILER_DIR "${CG_COMPILER}" PATH)
+@@ -89,6 +90,7 @@ ELSE (APPLE)
+ FIND_PATH( CG_INCLUDE_PATH Cg/cg.h
+ /usr/include
+ /usr/local/include
++ /opt/nvidia-cg-toolkit/include
+ ${CG_COMPILER_SUPER_DIR}/include
+ DOC "The directory where Cg/cg.h resides"
+ )
+@@ -98,6 +100,7 @@ ELSE (APPLE)
+ /usr/lib
+ /usr/local/lib64
+ /usr/local/lib
++ /opt/nvidia-cg-toolkit/lib
+ ${CG_COMPILER_SUPER_DIR}/lib64
+ ${CG_COMPILER_SUPER_DIR}/lib
+ DOC "The Cg runtime library"
+@@ -108,6 +111,7 @@ ELSE (APPLE)
+ /usr/lib
+ /usr/local/lib64
+ /usr/local/lib
++ /opt/nvidia-cg-toolkit/lib
+ ${CG_COMPILER_SUPER_DIR}/lib64
+ ${CG_COMPILER_SUPER_DIR}/lib
+ DOC "The Cg runtime library"
diff --git a/sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch b/sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch
new file mode 100644
index 000000000000..2b600c067bc9
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.0-ffmpeg.patch
@@ -0,0 +1,42 @@
+ CMake/vtkFFMPEGTestAvAlloc.cxx | 2 +-
+ CMake/vtkFFMPEGTestURLFClose.cxx | 2 +-
+ IO/vtkFFMPEGWriter.cxx | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMake/vtkFFMPEGTestAvAlloc.cxx b/CMake/vtkFFMPEGTestAvAlloc.cxx
+index ad691e3..1025c22 100644
+--- a/CMake/vtkFFMPEGTestAvAlloc.cxx
++++ b/CMake/vtkFFMPEGTestAvAlloc.cxx
+@@ -1,6 +1,6 @@
+ extern "C" {
+ #ifdef HAS_OLD_HEADER
+-# include <ffmpeg/avformat.h>
++# include <libavformat/avformat.h>
+ #else
+ # include <libavformat/avformat.h>
+ #endif
+diff --git a/CMake/vtkFFMPEGTestURLFClose.cxx b/CMake/vtkFFMPEGTestURLFClose.cxx
+index 0bf4314..8c1df58 100644
+--- a/CMake/vtkFFMPEGTestURLFClose.cxx
++++ b/CMake/vtkFFMPEGTestURLFClose.cxx
+@@ -1,6 +1,6 @@
+ extern "C" {
+ #ifdef HAS_OLD_HEADER
+-# include <ffmpeg/avformat.h>
++# include <libavformat/avformat.h>
+ #else
+ # include <libavformat/avformat.h>
+ #endif
+diff --git a/IO/vtkFFMPEGWriter.cxx b/IO/vtkFFMPEGWriter.cxx
+index b109c08..e056418 100644
+--- a/IO/vtkFFMPEGWriter.cxx
++++ b/IO/vtkFFMPEGWriter.cxx
+@@ -22,7 +22,7 @@
+
+ extern "C" {
+ #ifdef VTK_FFMPEG_HAS_OLD_HEADER
+-# include <ffmpeg/avformat.h>
++# include <libavformat/avformat.h>
+ #else
+ # include <libavformat/avformat.h>
+ #endif
diff --git a/sci-libs/vtk/files/vtk-5.6.0-libpng14.patch b/sci-libs/vtk/files/vtk-5.6.0-libpng14.patch
new file mode 100644
index 000000000000..db1f87d3afb2
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.0-libpng14.patch
@@ -0,0 +1,22 @@
+diff --git a/IO/vtkPNGReader.cxx b/IO/vtkPNGReader.cxx
+index d1f5c2f..0bf00e4 100644
+--- a/IO/vtkPNGReader.cxx
++++ b/IO/vtkPNGReader.cxx
+@@ -116,7 +116,7 @@ void vtkPNGReader::ExecuteInformation()
+ // minimum of a byte per pixel
+ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
+ {
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ }
+
+ // add alpha if any alpha found
+@@ -225,7 +225,7 @@ void vtkPNGReaderUpdate2(vtkPNGReader *self, OT *outPtr,
+ // minimum of a byte per pixel
+ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
+ {
+- png_set_gray_1_2_4_to_8(png_ptr);
++ png_set_expand_gray_1_2_4_to_8(png_ptr);
+ }
+
+ // add alpha if any alpha found
diff --git a/sci-libs/vtk/files/vtk-5.6.0-odbc.patch b/sci-libs/vtk/files/vtk-5.6.0-odbc.patch
new file mode 100644
index 000000000000..be24af11ac33
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.0-odbc.patch
@@ -0,0 +1,12 @@
+diff -Naur CMake/FindODBC.cmake.orig CMake/FindODBC.cmake
+--- CMake/FindODBC.cmake.orig 2008-10-08 13:51:36.000000000 -0400
++++ CMake/FindODBC.cmake 2010-01-21 22:11:26.000000000 -0500
+@@ -30,7 +30,7 @@
+ )
+
+ FIND_LIBRARY( ODBC_LIBRARY
+- NAMES iodbc unixodbc
++ NAMES iodbc unixodbc odbc
+ PATHS
+ /usr/lib
+ /usr/lib/odbc
diff --git a/sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch b/sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch
new file mode 100644
index 000000000000..34ec528854a7
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.1-ffmpeg.patch
@@ -0,0 +1,42 @@
+ CMake/vtkFFMPEGTestAvAlloc.cxx | 2 +-
+ CMake/vtkFFMPEGTestURLFClose.cxx | 2 +-
+ IO/vtkFFMPEGWriter.cxx | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMake/vtkFFMPEGTestAvAlloc.cxx b/CMake/vtkFFMPEGTestAvAlloc.cxx
+index ad691e3..32489d5 100644
+--- a/CMake/vtkFFMPEGTestAvAlloc.cxx
++++ b/CMake/vtkFFMPEGTestAvAlloc.cxx
+@@ -1,6 +1,6 @@
+ extern "C" {
+ #ifdef HAS_OLD_HEADER
+-# include <ffmpeg/avformat.h>
++# include <libavformat/avformat.h>
+ #else
+ # include <libavformat/avformat.h>
+ #endif
+diff --git a/CMake/vtkFFMPEGTestURLFClose.cxx b/CMake/vtkFFMPEGTestURLFClose.cxx
+index 0bf4314..1c10a93 100644
+--- a/CMake/vtkFFMPEGTestURLFClose.cxx
++++ b/CMake/vtkFFMPEGTestURLFClose.cxx
+@@ -1,6 +1,6 @@
+ extern "C" {
+ #ifdef HAS_OLD_HEADER
+-# include <ffmpeg/avformat.h>
++# include <libavformat/avformat.h>
+ #else
+ # include <libavformat/avformat.h>
+ #endif
+diff --git a/IO/vtkFFMPEGWriter.cxx b/IO/vtkFFMPEGWriter.cxx
+index 52673ef..ffbb78f 100644
+--- a/IO/vtkFFMPEGWriter.cxx
++++ b/IO/vtkFFMPEGWriter.cxx
+@@ -22,7 +22,7 @@
+
+ extern "C" {
+ #ifdef VTK_FFMPEG_HAS_OLD_HEADER
+-# include <ffmpeg/avformat.h>
++# include <libavformat/avformat.h>
+ #else
+ # include <libavformat/avformat.h>
+ #endif
diff --git a/sci-libs/vtk/files/vtk-5.6.1-gcc-46.patch b/sci-libs/vtk/files/vtk-5.6.1-gcc-46.patch
new file mode 100644
index 000000000000..263e24f69b3d
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.1-gcc-46.patch
@@ -0,0 +1,29 @@
+ Common/vtkPythonUtil.cxx | 2 ++
+ Utilities/vtkmetaio/metaUtils.cxx | 1 +
+ 2 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/Common/vtkPythonUtil.cxx b/Common/vtkPythonUtil.cxx
+index 7bc7660..d218e0d 100644
+--- a/Common/vtkPythonUtil.cxx
++++ b/Common/vtkPythonUtil.cxx
+@@ -31,6 +31,8 @@
+ #include <vtkstd/map>
+ #include <vtkstd/string>
+
++#include <cstddef>
++
+ // Silent warning like
+ // "dereferencing type-punned pointer will break strict-aliasing rules"
+ // it happens because this kind of expression: (long *)&ptr
+diff --git a/Utilities/vtkmetaio/metaUtils.cxx b/Utilities/vtkmetaio/metaUtils.cxx
+index 08d3e8d..bbcc9ec 100644
+--- a/Utilities/vtkmetaio/metaUtils.cxx
++++ b/Utilities/vtkmetaio/metaUtils.cxx
+@@ -37,6 +37,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <string>
++#include <cstddef>
+
+ #if defined (__BORLANDC__) && (__BORLANDC__ >= 0x0580)
+ #include <mem.h>
diff --git a/sci-libs/vtk/files/vtk-5.6.1-libav-0.8.patch b/sci-libs/vtk/files/vtk-5.6.1-libav-0.8.patch
new file mode 100644
index 000000000000..523919d6f676
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.1-libav-0.8.patch
@@ -0,0 +1,66 @@
+Description: Upstream changes introduced in version 5.6.1-6.1
+ This patch has been created by dpkg-source during the package build.
+ Here's the last changelog entry, hopefully it gives details on why
+ those changes were made:
+ .
+ vtk (5.6.1-6.1) unstable; urgency=low
+ .
+ [ Michael Schutte ]
+ * Non-maintainer upload.
+ * Remove absolute paths to required libraries from
+ /usr/lib/vtk-5.6/VTKLibraryDepends.cmake after building, closes:
+ #506992. Due to the multiarch transition, the original behavior
+ frequently causes reverse build-deps to FTBFS. This change should
+ probably be reverted once all required libraries are multiarched.
+ .
+ [ Steve M. Robbins ]
+ * Override lintian diagnostic about embedded libraries ftgl and sqlite.
+ * IO/vtkFFMPEGWriter.cxx: Applied fix from #638246 to build with libav
+ 0.7.
+ .
+ The person named in the Author field signed this changelog entry.
+Author: Steve M. Robbins <smr@debian.org>
+Bug-Debian: http://bugs.debian.org/506992
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: http://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+--- vtk-5.6.1.orig/IO/vtkFFMPEGWriter.cxx
++++ vtk-5.6.1/IO/vtkFFMPEGWriter.cxx
+@@ -123,7 +123,7 @@ int vtkFFMPEGWriterInternal::Start()
+ }
+
+ //choose avi media file format
+- this->avOutputFormat = guess_format("avi", NULL, NULL);
++ this->avOutputFormat = av_guess_format("avi", NULL, NULL);
+ if (!this->avOutputFormat)
+ {
+ vtkGenericWarningMacro (<< "Could not open the avi media file format.");
+@@ -150,7 +150,7 @@ int vtkFFMPEGWriterInternal::Start()
+ //Set up the codec.
+ AVCodecContext *c = this->avStream->codec;
+ c->codec_id = (CodecID)this->avOutputFormat->video_codec;
+- c->codec_type = CODEC_TYPE_VIDEO;
++ c->codec_type = AVMEDIA_TYPE_VIDEO;
+ c->width = this->Dim[0];
+ c->height = this->Dim[1];
+ c->pix_fmt = PIX_FMT_YUVJ420P;
+@@ -329,7 +329,7 @@ int vtkFFMPEGWriterInternal::Write(vtkIm
+ pkt.stream_index = this->avStream->index;
+ if (cc->coded_frame->key_frame) //treat keyframes well
+ {
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ }
+ pkt.duration = 0; //presentation duration in time_base units or 0 if NA
+ pkt.pos = -1; //byte position in stream or -1 if NA
diff --git a/sci-libs/vtk/files/vtk-5.6.1-libpng15.patch b/sci-libs/vtk/files/vtk-5.6.1-libpng15.patch
new file mode 100644
index 000000000000..5bb5cbfb8cd6
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.6.1-libpng15.patch
@@ -0,0 +1,22 @@
+http://bugs.gentoo.org/378393
+
+--- VTK/IO/vtkPNGWriter.cxx
++++ VTK/IO/vtkPNGWriter.cxx
+@@ -147,7 +147,7 @@
+ void vtkPNGWriteErrorFunction(png_structp png_ptr,
+ png_const_charp vtkNotUsed(error_msg))
+ {
+- longjmp(png_ptr->jmpbuf, 1);
++ longjmp(png_jmpbuf(png_ptr), 1);
+ }
+ }
+
+@@ -223,7 +223,7 @@
+ png_init_io(png_ptr, this->TempFP);
+ png_set_error_fn(png_ptr, png_ptr,
+ vtkPNGWriteErrorFunction, vtkPNGWriteWarningFunction);
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ fclose(this->TempFP);
+ this->SetErrorCode(vtkErrorCode::OutOfDiskSpaceError);
diff --git a/sci-libs/vtk/files/vtk-5.8.0-R.patch b/sci-libs/vtk/files/vtk-5.8.0-R.patch
new file mode 100644
index 000000000000..ce6dcde59e9d
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.8.0-R.patch
@@ -0,0 +1,45 @@
+diff --git a/CMake/FindR.cmake b/CMake/FindR.cmake
+index ee49570..c830db0 100644
+--- a/CMake/FindR.cmake
++++ b/CMake/FindR.cmake
+@@ -18,13 +18,12 @@ IF (R_COMMAND)
+ ENDIF (R_COMMAND)
+ SET(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE})
+
+-FIND_PATH(R_INCLUDE_DIR R.h PATHS /usr/local/lib /usr/local/lib64 PATH_SUFFIXES R/include DOC "Path to file R.h")
++FIND_PATH(R_INCLUDE_DIR R.h PATHS /usr/lib /usr/lib64 PATH_SUFFIXES R/include DOC "Path to file R.h")
+ FIND_LIBRARY(R_LIBRARY_BASE R PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "R library (example libR.a, libR.dylib, etc.).")
+-FIND_LIBRARY(R_LIBRARY_BLAS Rblas PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "Rblas library (example libRblas.a, libRblas.dylib, etc.).")
+-FIND_LIBRARY(R_LIBRARY_LAPACK Rlapack PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "Rlapack library (example libRlapack.a, libRlapack.dylib, etc.).")
++FIND_LIBRARY(R_LIBRARY_MATH Rmath PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "Rmath library (example libRmath.a, libRmath.dylib, etc.).")
+ FIND_LIBRARY(R_LIBRARY_READLINE readline DOC "(Optional) system readline library. Only required if the R libraries were build with readline support.")
+
+-SET(R_LIBRARIES ${R_LIBRARY_BASE} ${R_LIBRARY_BLAS} ${R_LIBRARY_LAPACK} ${R_LIBRARY_BASE})
++SET(R_LIBRARIES ${R_LIBRARY_BASE} ${R_LIBRARY_MATH} ${R_LIBRARY_BASE})
+ IF (R_LIBRARY_READLINE)
+ SET(R_LIBRARIES ${R_LIBRARIES} ${R_LIBRARY_READLINE})
+ ENDIF (R_LIBRARY_READLINE)
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9d4e881..1a828a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1054,8 +1054,18 @@ IF(VTK_WRAP_JAVA)
+ ENDIF(JAVA_AWT_LIBRARY)
+ ENDIF(VTK_WRAP_JAVA)
+
++IF(VTK_USE_GNU_R)
++ FIND_PACKAGE(R)
++ENDIF(VTK_USE_GNU_R)
+
+-
++IF(VTK_USE_BOOST)
++ if (VTK_USE_PARALLEL_BGL)
++ FIND_PACKAGE(Boost 1.39.0 REQUIRED
++ COMPONENTS mpi serialization filesystem system graph_parallel)
++ else (VTK_USE_PARALLEL_BGL)
++ FIND_PACKAGE(Boost REQUIRED)
++ endif (VTK_USE_PARALLEL_BGL)
++ENDIF(VTK_USE_BOOST)
+ #-----------------------------------------------------------------------------
+ # The entire VTK tree should use the same include path.
+
diff --git a/sci-libs/vtk/files/vtk-5.8.0-boost.patch b/sci-libs/vtk/files/vtk-5.8.0-boost.patch
new file mode 100644
index 000000000000..30a0e9a4c606
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-5.8.0-boost.patch
@@ -0,0 +1,39 @@
+diff --git a/Infovis/vtkBoostBreadthFirstSearchTree.cxx b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+index c789f6b..13e7cb6 100644
+--- a/Infovis/vtkBoostBreadthFirstSearchTree.cxx
++++ b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+@@ -47,6 +47,21 @@ using namespace boost;
+ vtkStandardNewMacro(vtkBoostBreadthFirstSearchTree);
+
+
++#if BOOST_VERSION >= 104800 // Boost 1.48.x
++namespace {
++ vtkIdType unwrap_edge_id(vtkEdgeType const &e) {
++ return e.Id;
++ }
++ vtkIdType unwrap_edge_id(boost::detail::reverse_graph_edge_descriptor<vtkEdgeType> const &e) {
++# if BOOST_VERSION == 104800
++ return e.underlying_desc.Id;
++# else
++ return e.underlying_descx.Id;
++# endif
++ }
++}
++#endif
++
+ // Redefine the bfs visitor, the only visitor we
+ // are using is the tree_edge visitor.
+ template <typename IdMap>
+@@ -95,7 +106,12 @@ public:
+
+ // Copy the vertex and edge data from the graph to the tree.
+ tree->GetVertexData()->CopyData(graph->GetVertexData(), v, tree_v);
++#if BOOST_VERSION < 104800 // Boost 1.48.x
+ tree->GetEdgeData()->CopyData(graph->GetEdgeData(), e.Id, tree_e.Id);
++#else
++ tree->GetEdgeData()->CopyData(graph->GetEdgeData(),
++ unwrap_edge_id(e), tree_e.Id);
++#endif
+ }
+
+ private:
diff --git a/sci-libs/vtk/files/vtk-6.0.0-cg-path.patch b/sci-libs/vtk/files/vtk-6.0.0-cg-path.patch
new file mode 100644
index 000000000000..c83a06b2f3e9
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.0.0-cg-path.patch
@@ -0,0 +1,16 @@
+ Utilities/MaterialLibrary/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Utilities/MaterialLibrary/CMakeLists.txt b/Utilities/MaterialLibrary/CMakeLists.txt
+index 330a189..ede97be 100644
+--- a/Utilities/MaterialLibrary/CMakeLists.txt
++++ b/Utilities/MaterialLibrary/CMakeLists.txt
+@@ -116,7 +116,7 @@ MACRO(get_modules modules prefix files )
+ ENDMACRO(get_modules)
+
+ SET(CMD_DEP ProcessShader)
+-SET(CMD ProcessShader)
++SET(CMD ./ProcessShader.sh)
+
+ IF (VTK_USE_CG_SHADERS)
+ # Create the Cg library.
diff --git a/sci-libs/vtk/files/vtk-6.0.0-install.patch b/sci-libs/vtk/files/vtk-6.0.0-install.patch
new file mode 100644
index 000000000000..a97755ab69ff
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.0.0-install.patch
@@ -0,0 +1,19 @@
+diff -up VTK6.0.0/CMake/vtkModuleTop.cmake.install VTK6.0.0/CMake/vtkModuleTop.cmake
+--- VTK6.0.0/CMake/vtkModuleTop.cmake.install 2013-06-12 13:47:10.000000000 -0600
++++ VTK6.0.0/CMake/vtkModuleTop.cmake 2013-07-12 16:15:15.706008475 -0600
+@@ -330,10 +330,15 @@ if (NOT VTK_INSTALL_NO_DEVELOPMENT)
+ CMake/pythonmodules.h.in
+ CMake/UseVTK.cmake
+ CMake/FindTCL.cmake
++ CMake/TopologicalSort.cmake
+ CMake/vtkTclTkMacros.cmake
+ CMake/vtk-forward.c.in
+ CMake/vtkForwardingExecutable.cmake
++ CMake/vtkGroups.cmake
+ CMake/vtkJavaWrapping.cmake
++ CMake/vtkMakeInstantiator.cmake
++ CMake/vtkMakeInstantiator.cxx.in
++ CMake/vtkMakeInstantiator.h.in
+ CMake/vtkModuleAPI.cmake
+ CMake/vtkModuleHeaders.cmake.in
+ CMake/vtkModuleInfo.cmake.in
diff --git a/sci-libs/vtk/files/vtk-6.0.0-netcdf.patch b/sci-libs/vtk/files/vtk-6.0.0-netcdf.patch
new file mode 100644
index 000000000000..df0ef94890f7
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.0.0-netcdf.patch
@@ -0,0 +1,75 @@
+diff -up VTK/IO/NetCDF/CMakeLists.txt.netcdf VTK/IO/NetCDF/CMakeLists.txt
+--- VTK/IO/NetCDF/CMakeLists.txt.netcdf 2013-01-28 14:44:35.000000000 -0700
++++ VTK/IO/NetCDF/CMakeLists.txt 2013-01-28 15:40:00.825176295 -0700
+@@ -10,5 +10,5 @@ set(Module_SRCS
+
+ vtk_module_library(vtkIONetCDF ${Module_SRCS})
+
+-target_link_libraries(vtkIONetCDF vtkNetCDF_cxx)
++target_link_libraries(vtkIONetCDF netcdf_c++ netcdf)
+ set_target_properties(vtkIONetCDF PROPERTIES LINK_INTERFACE_LIBRARIES "")
+diff -up VTK/IO/ParallelNetCDF/CMakeLists.txt.netcdf VTK/IO/ParallelNetCDF/CMakeLists.txt
+--- VTK/IO/ParallelNetCDF/CMakeLists.txt.netcdf 2013-01-28 14:44:35.000000000 -0700
++++ VTK/IO/ParallelNetCDF/CMakeLists.txt 2013-01-28 15:40:00.825176295 -0700
+@@ -8,4 +8,4 @@ set(Module_SRCS
+
+ vtk_module_library(vtkIOParallelNetCDF ${Module_SRCS})
+
+-target_link_libraries(vtkIOParallelNetCDF vtkNetCDF_cxx)
++target_link_libraries(vtkIOParallelNetCDF netcdf)
+diff -up VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt.netcdf VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt
+--- VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt.netcdf 2013-01-28 14:44:36.000000000 -0700
++++ VTK/ThirdParty/exodusII/vtkexodusII/CMakeLists.txt 2013-01-28 15:40:27.534030910 -0700
+@@ -241,7 +241,7 @@ ENDIF(APPLE)
+
+
+ VTK_ADD_LIBRARY(vtkexoIIc ${cbind_SRCS})
+-TARGET_LINK_LIBRARIES(vtkexoIIc vtkNetCDF)
++TARGET_LINK_LIBRARIES(vtkexoIIc netcdf)
+
+ #INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
+
+diff -up VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf VTK/ThirdParty/netcdf/CMakeLists.txt
+--- VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf 2013-01-28 14:44:36.000000000 -0700
++++ VTK/ThirdParty/netcdf/CMakeLists.txt 2013-01-28 15:40:00.825176295 -0700
+@@ -1,8 +1,12 @@
+ set(vtknetcdf_THIRD_PARTY 1)
+-set(vtknetcdf_LIBRARIES vtkNetCDF vtkNetCDF_cxx)
+-set(vtknetcdf_INCLUDE_DIRS
+- ${vtknetcdf_SOURCE_DIR}/vtknetcdf/include
+- ${vtknetcdf_BINARY_DIR}/vtknetcdf
+- )
++if(NOT VTK_USE_SYSTEM_NETCDF)
++ set(vtknetcdf_LIBRARIES vtkNetCDF vtkNetCDF_cxx)
++ set(vtknetcdf_INCLUDE_DIRS
++ ${vtknetcdf_SOURCE_DIR}/vtknetcdf/include
++ ${vtknetcdf_BINARY_DIR}/vtknetcdf
++ )
++ add_subdirectory(vtknetcdf)
++else(NOT VTK_USE_SYSTEM_NETCDF)
++ set(vtknetcdf_LIBRARIES netcdf)
++endif()
+ vtk_module_export_info()
+-add_subdirectory(vtknetcdf)
+diff -up VTK/ThirdParty/netcdf/vtk_netcdfcpp.h.netcdf VTK/ThirdParty/netcdf/vtk_netcdfcpp.h
+--- VTK/ThirdParty/netcdf/vtk_netcdfcpp.h.netcdf 2013-01-28 14:44:36.000000000 -0700
++++ VTK/ThirdParty/netcdf/vtk_netcdfcpp.h 2013-01-28 15:40:00.826176289 -0700
+@@ -16,6 +16,6 @@
+ #define __vtk_netcdfcpp_h
+
+ /* Use the netcdf library configured for VTK. */
+-#include <vtknetcdf/cxx/netcdfcpp.h>
++#include <netcdfcpp.h>
+
+ #endif
+diff -up VTK/ThirdParty/netcdf/vtk_netcdf.h.netcdf VTK/ThirdParty/netcdf/vtk_netcdf.h
+--- VTK/ThirdParty/netcdf/vtk_netcdf.h.netcdf 2013-01-28 14:44:36.000000000 -0700
++++ VTK/ThirdParty/netcdf/vtk_netcdf.h 2013-01-28 15:40:00.826176289 -0700
+@@ -16,6 +16,6 @@
+ #define __vtk_netcdf_h
+
+ /* Use the netcdf library configured for VTK. */
+-#include <vtknetcdf/include/netcdf.h>
++#include <netcdf.h>
+
+ #endif
diff --git a/sci-libs/vtk/files/vtk-6.0.0-system.patch b/sci-libs/vtk/files/vtk-6.0.0-system.patch
new file mode 100644
index 000000000000..3e5762fe5d46
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.0.0-system.patch
@@ -0,0 +1,27 @@
+diff -up VTK6.0.0/CMake/vtkModuleMacros.cmake.system VTK6.0.0/CMake/vtkModuleMacros.cmake
+--- VTK6.0.0/CMake/vtkModuleMacros.cmake.system 2013-06-12 13:47:10.000000000 -0600
++++ VTK6.0.0/CMake/vtkModuleMacros.cmake 2013-12-27 20:59:39.548152746 -0700
+@@ -613,7 +613,7 @@ macro(vtk_module_third_party _pkg)
+ message(FATAL_ERROR "Cannot specify both LIBRARIES and NO_LIBRARIES")
+ endif()
+
+- option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" OFF)
++ option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" ${VTK_USE_SYSTEM_LIBRARIES})
+ mark_as_advanced(VTK_USE_SYSTEM_${_upper})
+
+ if(VTK_USE_SYSTEM_${_upper})
+diff -up VTK6.0.0/CMakeLists.txt.system VTK6.0.0/CMakeLists.txt
+--- VTK6.0.0/CMakeLists.txt.system 2013-06-12 13:47:10.000000000 -0600
++++ VTK6.0.0/CMakeLists.txt 2013-12-27 20:59:39.548152746 -0700
+@@ -107,6 +107,11 @@ set(VTK_INSTALL_INCLUDE_DIR_CM24 ${VTK_I
+ set(VTK_INSTALL_DOXYGEN_DIR_CM24 ${VTK_INSTALL_DATA_DIR}/doxygen)
+
+ #-----------------------------------------------------------------------------
++# Do we try to use system libraries by default?
++OPTION(VTK_USE_SYSTEM_LIBRARIES "Use the system's libraries by default." OFF)
++MARK_AS_ADVANCED(VTK_USE_SYSTEM_LIBRARIES)
++
++#-----------------------------------------------------------------------------
+ # The third party macros are still used in one or two third party builds.
+ include(vtkThirdParty)
+
diff --git a/sci-libs/vtk/files/vtk-6.0.0-vtkpython.patch b/sci-libs/vtk/files/vtk-6.0.0-vtkpython.patch
new file mode 100644
index 000000000000..f310479e8ab8
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.0.0-vtkpython.patch
@@ -0,0 +1,12 @@
+diff -up VTK6.0.0/Wrapping/Python/CMakeLists.txt.vtkpython VTK6.0.0/Wrapping/Python/CMakeLists.txt
+--- VTK6.0.0/Wrapping/Python/CMakeLists.txt.vtkpython 2013-06-12 13:47:10.000000000 -0600
++++ VTK6.0.0/Wrapping/Python/CMakeLists.txt 2013-07-26 16:44:19.954295281 -0600
+@@ -371,3 +371,8 @@ endif()
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in
+ ${CMAKE_CURRENT_BINARY_DIR}/setup.py @ONLY IMMEDIATE)
++
++if(NOT VTK_INSTALL_NO_RUNTIME AND NOT VTK_INSTALL_NO_PYTHON)
++ install(TARGETS vtkpython ${VTKPYTHON_EXECUTABLE}
++ DESTINATION ${VTK_INSTALL_RUNTIME_DIR})
++endif()
diff --git a/sci-libs/vtk/files/vtk-6.1.0-freetype.patch b/sci-libs/vtk/files/vtk-6.1.0-freetype.patch
new file mode 100644
index 000000000000..b7d3e409cde1
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-freetype.patch
@@ -0,0 +1,22 @@
+--- a/ParaView-v4.2.0-source/VTK/Rendering/FreeType/vtkFreeTypeTools.cxx_orig 2014-12-23 09:25:35.000000000 +0100
++++ b/ParaView-v4.2.0-source/VTK/Rendering/FreeType/vtkFreeTypeTools.cxx 2014-12-24 09:40:31.886953389 +0100
+@@ -1185,7 +1185,7 @@
+ if (bitmap)
+ {
+ metaData.ascent = std::max(bitmapGlyph->top - 1, metaData.ascent);
+- metaData.descent = std::min(-(bitmap->rows - (bitmapGlyph->top - 1)),
++ metaData.descent = std::min(-(static_cast<int>(bitmap->rows) - (bitmapGlyph->top - 1)),
+ metaData.descent);
+ }
+ ++heightString;
+@@ -1952,8 +1952,8 @@
+ if (bitmap)
+ {
+ bbox[0] = std::min(bbox[0], pen[0] + bitmapGlyph->left);
+- bbox[1] = std::max(bbox[1], pen[0] + bitmapGlyph->left + bitmap->width);
+- bbox[2] = std::min(bbox[2], pen[1] + bitmapGlyph->top - 1 - bitmap->rows);
++ bbox[1] = std::max(bbox[1], pen[0] + bitmapGlyph->left + static_cast<int>(bitmap->width));
++ bbox[2] = std::min(bbox[2], pen[1] + bitmapGlyph->top - 1 - static_cast<int>(bitmap->rows));
+ bbox[3] = std::max(bbox[3], pen[1] + bitmapGlyph->top - 1);
+ }
+ else
diff --git a/sci-libs/vtk/files/vtk-6.1.0-glext.patch b/sci-libs/vtk/files/vtk-6.1.0-glext.patch
new file mode 100644
index 000000000000..b5529a5fc3d5
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-glext.patch
@@ -0,0 +1,13 @@
+diff -up VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h.glext VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h
+--- VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h.glext 2014-01-22 08:55:41.000000000 -0700
++++ VTK-6.1.0/Rendering/OpenGL/vtkOpenGL.h 2014-11-19 10:27:12.349345199 -0700
+@@ -19,7 +19,8 @@
+ #include "vtkConfigure.h"
+
+ // To prevent gl.h to include glext.h provided by the system
+-#define GL_GLEXT_LEGACY
++// https://bugzilla.redhat.com/show_bug.cgi?id=1138466
++// #define GL_GLEXT_LEGACY
+ #if defined(__APPLE__) && (defined(VTK_USE_CARBON) || defined(VTK_USE_COCOA))
+ # include <OpenGL/gl.h> // Include OpenGL API.
+ #else
diff --git a/sci-libs/vtk/files/vtk-6.1.0-install.patch b/sci-libs/vtk/files/vtk-6.1.0-install.patch
new file mode 100644
index 000000000000..27c6c3adfee9
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-install.patch
@@ -0,0 +1,19 @@
+diff -up VTK-6.1.0/CMake/vtkModuleTop.cmake.install VTK-6.1.0/CMake/vtkModuleTop.cmake
+--- VTK-6.1.0/CMake/vtkModuleTop.cmake.install 2014-01-23 19:12:04.922871103 -0700
++++ VTK-6.1.0/CMake/vtkModuleTop.cmake 2014-01-23 19:14:33.002645155 -0700
+@@ -330,11 +330,15 @@ if (NOT VTK_INSTALL_NO_DEVELOPMENT)
+ CMake/pythonmodules.h.in
+ CMake/UseVTK.cmake
+ CMake/FindTCL.cmake
++ CMake/TopologicalSort.cmake
+ CMake/vtkTclTkMacros.cmake
+ CMake/vtk-forward.c.in
++ CMake/vtkGroups.cmake
+ CMake/vtkForwardingExecutable.cmake
+ CMake/vtkJavaWrapping.cmake
+ CMake/vtkMakeInstantiator.cmake
++ CMake/vtkMakeInstantiator.cxx.in
++ CMake/vtkMakeInstantiator.h.in
+ CMake/vtkModuleAPI.cmake
+ CMake/vtkModuleHeaders.cmake.in
+ CMake/vtkModuleInfo.cmake.in
diff --git a/sci-libs/vtk/files/vtk-6.1.0-memset.patch b/sci-libs/vtk/files/vtk-6.1.0-memset.patch
new file mode 100644
index 000000000000..362022edf16d
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-memset.patch
@@ -0,0 +1,147 @@
+From ef22d3d69421581b33bc0cd94b647da73b61ba96 Mon Sep 17 00:00:00 2001
+From: Anton Gladky <gladk@debian.org>
+Date: Fri, 30 May 2014 23:16:26 +0200
+Subject: [PATCH] Fix compilation by gcc-4.9
+
+VTK fails to build during compilation by gcc-4.9 with the
+following message:
+
+CMakeFiles/vtkFiltersParallelMPI.dir/vtkDistributedDataFilter.cxx.o: In
+function `memset':
+/usr/include/x86_64-linux-gnu/bits/string3.h:81: warning: memset used
+with constant zero length parameter; this could be due to transposed
+parameters
+collect2: error: ld returned 1 exit status
+
+This patch sets if-condition before all "memsets" in
+vtkDistributedDataFilter and checkes, whether the number
+of bytes to be set by memset is more than 0 to escape this
+error.
+---
+ Filters/ParallelMPI/vtkDistributedDataFilter.cxx | 48 ++++++++++++++++++------
+ 1 file changed, 37 insertions(+), 11 deletions(-)
+
+diff --git a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
+index 3c1ff30..df4b5d3 100644
+--- a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
++++ b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
+@@ -1091,7 +1091,10 @@ vtkDataSet *vtkDistributedDataFilter::TestFixTooFewInputFiles(vtkDataSet *input)
+ vtkIdType cellsPerNode = numTotalCells / nprocs;
+
+ vtkIdList **sendCells = new vtkIdList * [ nprocs ];
+- memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++
++ if (sizeof(vtkIdList *) * nprocs > 0) {
++ memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++ }
+
+ if (numConsumers == nprocs - 1)
+ {
+@@ -1582,7 +1585,9 @@ vtkFloatArray **
+ // Exchange int arrays
+
+ float **recvArrays = new float * [nprocs];
+- memset(recvArrays, 0, sizeof(float *) * nprocs);
++ if (sizeof(float *) * nprocs > 0) {
++ memset(recvArrays, 0, sizeof(float *) * nprocs);
++ }
+
+ if (sendSize[me] > 0) // sent myself an array
+ {
+@@ -1703,7 +1708,9 @@ vtkIdTypeArray **
+ // Exchange int arrays
+
+ vtkIdType **recvArrays = new vtkIdType * [nprocs];
+- memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++ if (sizeof(vtkIdType *) * nprocs > 0) {
++ memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++ }
+
+ if (sendSize[me] > 0) // sent myself an array
+ {
+@@ -2807,7 +2814,9 @@ void vtkDistributedDataFilter::AddConstantUnsignedCharPointArray(
+
+ unsigned char *vals = new unsigned char [npoints];
+
+- memset(vals, val, npoints);
++ if (npoints > 0) {
++ memset(vals, val, npoints);
++ }
+
+ vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New();
+ Array->SetName(arrayName);
+@@ -2827,7 +2836,9 @@ void vtkDistributedDataFilter::AddConstantUnsignedCharCellArray(
+
+ unsigned char *vals = new unsigned char [ncells];
+
+- memset(vals, val, ncells);
++ if (ncells > 0) {
++ memset(vals, val, ncells);
++ }
+
+ vtkUnsignedCharArray *Array = vtkUnsignedCharArray::New();
+ Array->SetName(arrayName);
+@@ -3026,7 +3037,9 @@ int vtkDistributedDataFilter::AssignGlobalNodeIds(vtkUnstructuredGrid *grid)
+ vtkIdType nGridPoints = grid->GetNumberOfPoints();
+
+ vtkIdType *numPointsOutside = new vtkIdType [nprocs];
+- memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++ if (sizeof(vtkIdType) * nprocs > 0) {
++ memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++ }
+
+ vtkIdTypeArray *globalIds = vtkIdTypeArray::New();
+ globalIds->SetNumberOfValues(nGridPoints);
+@@ -3108,10 +3121,16 @@ int vtkDistributedDataFilter::AssignGlobalNodeIds(vtkUnstructuredGrid *grid)
+ // global ID back?
+
+ vtkFloatArray **ptarrayOut = new vtkFloatArray * [nprocs];
+- memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++
++ if (sizeof(vtkFloatArray *) * nprocs > 0) {
++ memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++ }
+
+ vtkIdTypeArray **localIds = new vtkIdTypeArray * [nprocs];
+- memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++
++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++ memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ }
+
+ vtkIdType *next = new vtkIdType [nprocs];
+ vtkIdType *next3 = new vtkIdType [nprocs];
+@@ -3286,7 +3305,9 @@ vtkIdTypeArray **vtkDistributedDataFilter::FindGlobalPointIds(
+ {
+ // There are no cells in my assigned region
+
+- memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++ memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ }
+
+ return gids;
+ }
+@@ -3491,7 +3512,10 @@ vtkIdTypeArray **vtkDistributedDataFilter::MakeProcessLists(
+ std::multimap<int, int>::iterator mapIt;
+
+ vtkIdTypeArray **processList = new vtkIdTypeArray * [nprocs];
+- memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++
++ if (sizeof (vtkIdTypeArray *) * nprocs > 0) {
++ memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++ }
+
+ for (int i=0; i<nprocs; i++)
+ {
+@@ -3581,7 +3605,9 @@ vtkIdTypeArray **vtkDistributedDataFilter::GetGhostPointIds(
+ vtkIdType numPoints = grid->GetNumberOfPoints();
+
+ vtkIdTypeArray **ghostPtIds = new vtkIdTypeArray * [nprocs];
+- memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ if (sizeof(vtkIdTypeArray *) * nprocs) {
++ memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++ }
+
+ if (numPoints < 1)
+ {
diff --git a/sci-libs/vtk/files/vtk-6.1.0-netcdf.patch b/sci-libs/vtk/files/vtk-6.1.0-netcdf.patch
new file mode 100644
index 000000000000..e6f8b6431720
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-netcdf.patch
@@ -0,0 +1,29 @@
+diff -up VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf VTK/ThirdParty/netcdf/CMakeLists.txt
+--- VTK/ThirdParty/netcdf/CMakeLists.txt.netcdf 2013-12-27 20:29:11.644289659 -0700
++++ VTK/ThirdParty/netcdf/CMakeLists.txt 2013-12-27 20:33:48.071895769 -0700
+@@ -1,10 +1,18 @@
+-vtk_module_third_party(NetCDF
+- LIBRARIES vtkNetCDF vtkNetCDF_cxx
+- INCLUDE_DIRS
+- ${CMAKE_CURRENT_SOURCE_DIR}/vtknetcdf/include
+- ${CMAKE_CURRENT_BINARY_DIR}/vtknetcdf
+- COMPONENTS C CXX
+- )
++if(NOT VTK_USE_SYSTEM_NETCDF)
++ vtk_module_third_party(NetCDF
++ LIBRARIES vtkNetCDF vtkNetCDF_cxx
++ INCLUDE_DIRS
++ ${CMAKE_CURRENT_SOURCE_DIR}/vtknetcdf/include
++ ${CMAKE_CURRENT_BINARY_DIR}/vtknetcdf
++ COMPONENTS C CXX
++ )
++else(NOT VTK_USE_SYSTEM_NETCDF)
++ vtk_module_third_party(NetCDF
++ LIBRARIES vtkNetCDF netcdf
++ COMPONENTS C CXX
++ )
++endif()
++
+
+ #Configure the top cpp header to switch between system and internal
+ #netcdf just like vtk_module_third_party does for the c header.
diff --git a/sci-libs/vtk/files/vtk-6.1.0-system.patch b/sci-libs/vtk/files/vtk-6.1.0-system.patch
new file mode 100644
index 000000000000..c75d544447ea
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-system.patch
@@ -0,0 +1,27 @@
+diff -up VTK/CMake/vtkModuleMacros.cmake.system VTK/CMake/vtkModuleMacros.cmake
+--- VTK/CMake/vtkModuleMacros.cmake.system 2013-12-24 19:17:43.000000000 -0700
++++ VTK/CMake/vtkModuleMacros.cmake 2013-12-27 20:28:22.375573277 -0700
+@@ -682,7 +682,7 @@ macro(vtk_module_third_party _pkg)
+ message(FATAL_ERROR "Cannot specify both LIBRARIES and NO_LIBRARIES")
+ endif()
+
+- option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" OFF)
++ option(VTK_USE_SYSTEM_${_upper} "Use system-installed ${_pkg}" ${VTK_USE_SYSTEM_LIBRARIES})
+ mark_as_advanced(VTK_USE_SYSTEM_${_upper})
+
+ if(VTK_USE_SYSTEM_${_upper})
+diff -up VTK/CMakeLists.txt.system VTK/CMakeLists.txt
+--- VTK/CMakeLists.txt.system 2013-12-27 20:28:22.374573241 -0700
++++ VTK/CMakeLists.txt 2013-12-27 20:28:48.118669708 -0700
+@@ -132,6 +132,11 @@ if (CMAKE_CROSSCOMPILING AND NOT COMPILE
+ endif()
+
+ #-----------------------------------------------------------------------------
++# Do we try to use system libraries by default?
++OPTION(VTK_USE_SYSTEM_LIBRARIES "Use the system's libraries by default." OFF)
++MARK_AS_ADVANCED(VTK_USE_SYSTEM_LIBRARIES)
++
++#-----------------------------------------------------------------------------
+ # The third party macros are still used in one or two third party builds.
+ include(vtkThirdParty)
+
diff --git a/sci-libs/vtk/files/vtk-6.1.0-web.patch b/sci-libs/vtk/files/vtk-6.1.0-web.patch
new file mode 100644
index 000000000000..a85f2cd99640
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-6.1.0-web.patch
@@ -0,0 +1,25 @@
+From 58373b120db6d51c6d5eace38447cdb45ff858d1 Mon Sep 17 00:00:00 2001
+From: Patric Schmitz <patric.schmitz@rwth-aachen.de>
+Date: Tue, 28 Oct 2014 16:24:22 +0100
+Subject: [PATCH] Include vtkPythonPackages in Web/JavaScript/CMakeLists.txt
+
+Change-Id: Ie7bffa19bdaa78c5b090c886e50c1af76e2aadee
+---
+ Web/Applications/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Web/Applications/CMakeLists.txt b/Web/Applications/CMakeLists.txt
+index c9e7ad3..b4c9a60 100644
+--- a/Web/Applications/CMakeLists.txt
++++ b/Web/Applications/CMakeLists.txt
+@@ -12,6 +12,7 @@ set(WEB_APPLICATIONS
+
+ set(WEB_APPS_DEPENDS)
+
++include(vtkPythonPackages) # for copy_files_recursive
+ foreach(_app ${WEB_APPLICATIONS})
+ file(MAKE_DIRECTORY "${VTK_WWW_DIR}/apps/${_app}")
+
+--
+2.2.1
+
diff --git a/sci-libs/vtk/metadata.xml b/sci-libs/vtk/metadata.xml
new file mode 100644
index 000000000000..50ec9f78c323
--- /dev/null
+++ b/sci-libs/vtk/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <herd>java</herd>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <use>
+ <flag name="all-modules">Build all modules</flag>
+ <flag name="boost">Add support for boost</flag>
+ <flag name="cg">Use nvidia's cg shaders</flag>
+ <flag name="gdal">Support for gdal formated data</flag>
+ <flag name="imaging">Building Imaging modules</flag>
+ <flag name="json">Support for json formated data</flag>
+ <flag name="kaapi">Use <pkg>sci-libs/xkaapi</pkg> to handle smp support</flag>
+ <flag name="offscreen">Offscreen rendering through OSMesa</flag>
+ <flag name="rendering">Building Redering modules</flag>
+ <flag name="tbb">Use <pkg>dev-cpp/tbb</pkg> to handle smp support</flag>
+ <flag name="views">Building Views modules</flag>
+ <flag name="web">Install web component</flag>
+ <flag name="xdmf2">Support for xdmf2 formated data</flag>
+ <flag name="R">Enable support for dev-lang/R</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/vtk/vtk-6.0.0.ebuild b/sci-libs/vtk/vtk-6.0.0.ebuild
new file mode 100644
index 000000000000..4ad7b2863cac
--- /dev/null
+++ b/sci-libs/vtk/vtk-6.0.0.ebuild
@@ -0,0 +1,323 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+CMAKE_MAKEFILE_GENERATOR=ninja
+
+inherit eutils flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils versionator toolchain-funcs cmake-utils virtualx
+
+# Short package version
+SPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="http://www.vtk.org/"
+SRC_URI="
+ http://www.${PN}.org/files/release/${SPV}/${P/_rc/.rc}.tar.gz
+ doc? ( http://www.${PN}.org/files/release/${SPV}/${PN}DocHtml-${PV}.tar.gz )"
+
+LICENSE="BSD LGPL-2"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="
+ aqua boost cg doc examples imaging ffmpeg java mpi mysql odbc
+ offscreen postgres python qt4 rendering test theora tk tcl
+ video_cards_nvidia views R +X"
+
+REQUIRED_USE="
+ java? ( qt4 )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ tcl? ( rendering )
+ test? ( python )
+ tk? ( tcl )
+ ^^ ( X aqua offscreen )"
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/libxml2:2
+ media-libs/freetype
+ media-libs/libpng:0
+ media-libs/mesa
+ media-libs/libtheora
+ media-libs/tiff:0
+ sci-libs/exodusii
+ sci-libs/hdf5:=
+ sci-libs/netcdf-cxx:3
+ sys-libs/zlib
+ virtual/jpeg:0
+ virtual/opengl
+ >=x11-libs/gl2ps-1.3.8
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXt
+ boost? ( >=dev-libs/boost-1.40.0[mpi?] )
+ cg? ( media-gfx/nvidia-cg-toolkit )
+ examples? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ sci-libs/vtkdata
+ )
+ ffmpeg? ( virtual/ffmpeg )
+ java? ( >=virtual/jre-1.5:* )
+ mpi? ( virtual/mpi[cxx,romio] )
+ mysql? ( virtual/mysql )
+ odbc? ( dev-db/unixODBC )
+ offscreen? ( media-libs/mesa[osmesa] )
+ postgres? ( dev-db/postgresql:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/sip[${PYTHON_USEDEP}]
+ )
+ qt4? (
+ dev-qt/designer:4
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ dev-qt/qtsql:4
+ dev-qt/qtwebkit:4
+ python? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+ )
+ tcl? ( dev-lang/tcl:0= )
+ tk? ( dev-lang/tk:0= )
+ video_cards_nvidia? ( media-video/nvidia-settings )
+ R? ( dev-lang/R )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5 )
+ test? ( sci-libs/vtkdata )"
+
+S="${WORKDIR}"/VTK${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cg-path.patch
+ "${FILESDIR}"/${P}-install.patch
+ "${FILESDIR}"/${P}-system.patch
+ "${FILESDIR}"/${P}-netcdf.patch
+ "${FILESDIR}"/${P}-vtkpython.patch
+ )
+
+RESTRICT=test
+
+pkg_setup() {
+ use java && java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+
+ append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE
+}
+
+src_prepare() {
+ sed \
+ -e 's:libproj4:libproj:g' \
+ -e 's:lib_proj.h:lib_abi.h:g' \
+ -i CMake/FindLIBPROJ4.cmake || die
+
+ local x
+ for x in expat freetype gl2ps hdf5 jpeg libxml2 netcdf oggtheora png tiff zlib; do
+ rm -r ThirdParty/${x}/vtk${x} || die
+ done
+
+ if use examples || use test; then
+ # Replace relative path ../../../VTKData with
+ # otherwise it will break on symlinks.
+ grep -rl '\.\./\.\./\.\./\.\./VTKData' . | xargs \
+ sed \
+ -e "s|\.\./\.\./\.\./\.\./VTKData|${EPREFIX}/usr/share/vtk/data|g" \
+ -e "s|\.\./\.\./\.\./\.\./\.\./VTKData|${EPREFIX}/usr/share/vtk/data|g" \
+ -i || die
+ fi
+
+ use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # general configuration
+ local mycmakeargs=(
+ -Wno-dev
+# -DCMAKE_SKIP_RPATH=YES
+ -DVTK_DIR="${S}"
+ -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir)
+ -DVTK_DATA_ROOT:PATH="${EPREFIX}/usr/share/${PN}/data"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DVTK_CUSTOM_LIBRARY_SUFFIX=""
+ -DBUILD_SHARED_LIBS=ON
+ -DVTK_USE_SYSTEM_EXPAT=ON
+ -DVTK_USE_SYSTEM_FREETYPE=ON
+ -DVTK_USE_SYSTEM_FreeType=ON
+ -DVTK_USE_SYSTEM_GL2PS=ON
+ -DVTK_USE_SYSTEM_HDF5=ON
+ -DVTK_USE_SYSTEM_JPEG=ON
+ -DVTK_USE_SYSTEM_LIBPROJ4=OFF
+# -DLIBPROJ4_DIR="${EPREFIX}/usr"
+ -DVTK_USE_SYSTEM_LIBXML2=ON
+ -DVTK_USE_SYSTEM_LibXml2=ON
+ -DVTK_USE_SYSTEM_NETCDF=ON
+ -DVTK_USE_SYSTEM_OGGTHEORA=ON
+ -DVTK_USE_SYSTEM_PNG=ON
+ -DVTK_USE_SYSTEM_TIFF=ON
+# -DVTK_USE_SYSTEM_XDMF2=ON
+ -DVTK_USE_SYSTEM_ZLIB=ON
+ -DVTK_USE_SYSTEM_LIBRARIES=ON
+ -DVTK_USE_GL2PS=ON
+ -DVTK_USE_PARALLEL=ON
+ )
+
+ mycmakeargs+=(
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON
+ -DVTK_Group_StandAlone=ON
+ )
+
+ mycmakeargs+=(
+ $(cmake-utils_use_build doc DOCUMENTATION)
+ $(cmake-utils_use_build examples EXAMPLES)
+ $(cmake-utils_use_build test TESTING)
+ $(cmake-utils_use_build test VTK_BUILD_ALL_MODULES_FOR_TESTS)
+ $(cmake-utils_use doc DOCUMENTATION_HTML_HELP)
+ $(cmake-utils_use imaging VTK_Group_Imaging)
+ $(cmake-utils_use mpi VTK_Group_MPI)
+ $(cmake-utils_use qt4 VTK_Group_Qt)
+ $(cmake-utils_use rendering VTK_Group_Rendering)
+ $(cmake-utils_use tk VTK_Group_Tk)
+ $(cmake-utils_use views VTK_Group_Views)
+ $(cmake-utils_use java VTK_WRAP_JAVA)
+ $(cmake-utils_use python VTK_WRAP_PYTHON)
+ $(cmake-utils_use python VTK_WRAP_PYTHON_SIP)
+ $(cmake-utils_use tcl VTK_WRAP_TCL)
+# -DVTK_BUILD_ALL_MODULES=ON
+ )
+
+ mycmakeargs+=(
+ $(cmake-utils_use boost VTK_USE_BOOST)
+ $(cmake-utils_use cg VTK_USE_CG_SHADERS)
+ $(cmake-utils_use odbc VTK_USE_ODBC)
+ $(cmake-utils_use offscreen VTK_USE_OFFSCREEN)
+ $(cmake-utils_use offscreen VTK_OPENGL_HAS_OSMESA)
+ $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER)
+ $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER)
+ $(cmake-utils_use video_cards_nvidia VTK_USE_NVCONTROL)
+ $(cmake-utils_use R Module_vtkFiltersStatisticsGnuR)
+ $(cmake-utils_use X VTK_USE_X)
+ )
+
+ # Apple stuff, does it really work?
+ mycmakeargs+=( $(cmake-utils_use aqua VTK_USE_COCOA) )
+
+ if use java; then
+# local _ejavahome=${EPREFIX}/etc/java-config-2/current-system-vm
+#
+# mycmakeargs+=(
+# -DJAVAC=${EPREFIX}/usr/bin/javac
+# -DJAVAC=$(java-config -c)
+# -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include
+# -DJAVA_INCLUDE_PATH:PATH=${JAVA_HOME}/include
+# -DJAVA_INCLUDE_PATH2:PATH=${JAVA_HOME}/include/linux
+# )
+#
+ if [ "${ARCH}" == "amd64" ]; then
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/${ARCH}/libjawt.so;${JAVA_HOME}/jre/lib/${ARCH}/xawt/libmawt.so" )
+ else
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/i386/libjawt.so;${JAVA_HOME}/jre/lib/i386/xawt/libmawt.so" )
+ fi
+ fi
+ if use python; then
+ mycmakeargs+=(
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ -DSIP_PYQT_DIR="${EPREFIX}/usr/share/sip"
+ -DSIP_INCLUDE_DIR="$(python_get_includedir)"
+ -DVTK_PYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DVTK_PYTHON_LIBRARY="$(python_get_library_path)"
+ -DVTK_PYTHON_SETUP_ARGS:STRING="--prefix=${PREFIX} --root=${D}"
+ )
+ fi
+
+ if use qt4; then
+ mycmakeargs+=(
+ -DVTK_USE_QVTK=ON
+ -DVTK_USE_QVTK_OPENGL=ON
+ -DVTK_USE_QVTK_QTOPENGL=ON
+ -DQT_WRAP_CPP=ON
+ -DQT_WRAP_UI=ON
+ -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt4/plugins/designer
+ -DDESIRED_QT_VERSION=4
+ -DQT_MOC_EXECUTABLE="$(qt4_get_bindir)/moc"
+ -DQT_UIC_EXECUTABLE="$(qt4_get_bindir)/uic"
+ -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt4"
+ -DQT_QMAKE_EXECUTABLE="$(qt4_get_bindir)/qmake"
+ )
+ fi
+
+ if use R; then
+ mycmakeargs+=(
+# -DR_LIBRARY_BLAS=$($(tc-getPKG_CONFIG) --libs blas)
+# -DR_LIBRARY_LAPACK=$($(tc-getPKG_CONFIG) --libs lapack)
+ -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so
+ -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so
+ )
+ fi
+
+ cmake-utils_src_configure
+
+ cat >> "${BUILD_DIR}"/Utilities/MaterialLibrary/ProcessShader.sh <<- EOF
+ #!${EPREFIX}/bin/bash
+
+ export LD_LIBRARY_PATH="${BUILD_DIR}"/lib
+ "${BUILD_DIR}"/bin/vtkProcessShader \$@
+ EOF
+ chmod 750 "${BUILD_DIR}"/Utilities/MaterialLibrary/ProcessShader.sh || die
+}
+
+src_test() {
+ local tcllib
+ ln -sf "${BUILD_DIR}"/lib "${BUILD_DIR}"/lib/Release || die
+ for tcllib in "${BUILD_DIR}"/lib/lib*TCL*so; do
+ ln -sf $(basename "${tcllib}").1 "${tcllib/.so/-${SPV}.so}" || die
+ done
+ export LD_LIBRARY_PATH="${BUILD_DIR}"/lib:"${JAVA_HOME}"/jre/lib/${ARCH}/:"${JAVA_HOME}"/jre/lib/${ARCH}/xawt/
+ local VIRTUALX_COMMAND="cmake-utils_src_test"
+# local VIRTUALX_COMMAND="cmake-utils_src_test -R Java"
+# local VIRTUALX_COMMAND="cmake-utils_src_test -I 364,365"
+ virtualmake
+}
+
+src_install() {
+ # install docs
+ HTML_DOCS=( "${S}"/README.html )
+
+ cmake-utils_src_install
+
+ use java && java-pkg_regjar "${ED}"/usr/$(get_libdir)/${PN}.jar
+
+ if use tcl; then
+ # install Tcl docs
+ docinto vtk_tcl
+ dodoc "${S}"/Wrapping/Tcl/README
+ fi
+
+ # install examples
+ if use examples; then
+ insinto /usr/share/${PN}
+ mv -v Examples examples || die
+ doins -r examples
+ fi
+
+ #install big docs
+ if use doc; then
+ cd "${WORKDIR}"/html || die
+ rm -f *.md5 || die "Failed to remove superfluous hashes"
+ einfo "Installing API docs. This may take some time."
+ insinto "/usr/share/doc/${PF}/api-docs"
+ doins -r ./*
+ fi
+
+ # environment
+ cat >> "${T}"/40${PN} <<- EOF
+ VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data
+ VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV}
+ VTKHOME=${EPREFIX}/usr
+ EOF
+ doenvd "${T}"/40${PN}
+}
diff --git a/sci-libs/vtk/vtk-6.1.0-r1.ebuild b/sci-libs/vtk/vtk-6.1.0-r1.ebuild
new file mode 100644
index 000000000000..ba8425895d4f
--- /dev/null
+++ b/sci-libs/vtk/vtk-6.1.0-r1.ebuild
@@ -0,0 +1,389 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+CMAKE_MAKEFILE_GENERATOR=ninja
+WEBAPP_OPTIONAL=yes
+WEBAPP_MANUAL_SLOT=yes
+
+inherit eutils flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils versionator toolchain-funcs cmake-utils virtualx webapp
+
+# Short package version
+SPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="http://www.vtk.org/"
+SRC_URI="
+ http://www.${PN}.org/files/release/${SPV}/VTK-${PV}.tar.gz
+ doc? ( http://www.${PN}.org/files/release/${SPV}/${PN}DocHtml-${PV}.tar.gz )
+ test? (
+ http://www.${PN}.org/files/release/${SPV}/VTKData-${PV}.tar.gz
+ http://www.${PN}.org/files/release/${SPV}/VTKLargeData-${PV}.tar.gz
+ )
+ "
+
+LICENSE="BSD LGPL-2"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="
+ all-modules aqua boost cg doc examples imaging ffmpeg gdal java json kaapi mpi
+ mysql odbc offscreen postgres python qt4 rendering smp tbb test theora tk tcl
+ video_cards_nvidia views web xdmf2 R +X"
+
+REQUIRED_USE="
+ all-modules? ( python xdmf2 )
+ java? ( qt4 )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ tcl? ( rendering )
+ smp? ( ^^ ( kaapi tbb ) )
+ test? ( python )
+ tk? ( tcl )
+ web? ( python )
+ ^^ ( X aqua offscreen )
+ "
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/jsoncpp
+ dev-libs/libxml2:2
+ >=media-libs/freetype-2.5.4
+ media-libs/libpng:0
+ media-libs/mesa
+ media-libs/libtheora
+ media-libs/tiff:0
+ sci-libs/exodusii
+ sci-libs/hdf5:=
+ sci-libs/netcdf-cxx:3
+ sys-libs/zlib
+ virtual/jpeg:0
+ virtual/opengl
+ >=x11-libs/gl2ps-1.3.8
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXt
+ boost? ( >=dev-libs/boost-1.40.0[mpi?] )
+ cg? ( media-gfx/nvidia-cg-toolkit )
+ examples? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ sci-libs/vtkdata
+ )
+ ffmpeg? ( virtual/ffmpeg )
+ gdal? ( sci-libs/gdal )
+ java? ( >=virtual/jre-1.5:* )
+ kaapi? ( <sci-libs/xkaapi-3 )
+ mpi? (
+ virtual/mpi[cxx,romio]
+ python? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
+ mysql? ( virtual/mysql )
+ odbc? ( dev-db/unixODBC )
+ offscreen? ( media-libs/mesa[osmesa] )
+ postgres? ( dev-db/postgresql:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/sip[${PYTHON_USEDEP}]
+ )
+ )
+ qt4? (
+ dev-qt/designer:4
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ dev-qt/qtsql:4
+ dev-qt/qtwebkit:4
+ python? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+ )
+ tbb? ( dev-cpp/tbb )
+ tcl? ( dev-lang/tcl:0= )
+ tk? ( dev-lang/tk:0= )
+ video_cards_nvidia? ( media-video/nvidia-settings )
+ web? (
+ ${WEBAPP_DEPEND}
+ python? (
+ dev-python/autobahn[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ )
+ )
+ xdmf2? ( sci-libs/xdmf2 )
+ R? ( dev-lang/R )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5 )"
+
+S="${WORKDIR}"/VTK-${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-freetype.patch
+ "${FILESDIR}"/${P}-install.patch
+ "${FILESDIR}"/${P}-system.patch
+ "${FILESDIR}"/${P}-netcdf.patch
+ "${FILESDIR}"/${P}-web.patch
+ "${FILESDIR}"/${P}-glext.patch
+ "${FILESDIR}"/${P}-memset.patch
+ )
+
+RESTRICT=test
+
+pkg_setup() {
+ use java && java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+ use web && webapp_pkg_setup
+
+ append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE
+}
+
+src_prepare() {
+ sed \
+ -e 's:libproj4:libproj:g' \
+ -e 's:lib_proj.h:lib_abi.h:g' \
+ -i CMake/FindLIBPROJ4.cmake || die
+
+ local x
+ # missing: VPIC alglib exodusII freerange ftgl libproj4 mrmpi sqlite utf8 verdict xmdf2 xmdf3
+ for x in expat freetype gl2ps hdf5 jpeg jsoncpp libxml2 netcdf oggtheora png tiff zlib; do
+ ebegin "Dropping bundled ${x}"
+ rm -r ThirdParty/${x}/vtk${x} || die
+ eend $?
+ done
+ rm -r \
+ ThirdParty/AutobahnPython/autobahn \
+ ThirdParty/Twisted/twisted \
+ ThirdParty/ZopeInterface/zope \
+ || die
+
+ use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+
+ if use mpi; then
+ export CC=mpicc
+ export CXX=mpicxx
+ export FC=mpif90
+ export F90=mpif90
+ export F77=mpif77
+ fi
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # general configuration
+ local mycmakeargs=(
+ -Wno-dev
+# -DCMAKE_SKIP_RPATH=YES
+ -DVTK_DIR="${S}"
+ -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir)
+ -DVTK_DATA_ROOT:PATH="${EPREFIX}/usr/share/${PN}/data"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DVTK_CUSTOM_LIBRARY_SUFFIX=""
+ -DBUILD_SHARED_LIBS=ON
+ -DVTK_USE_SYSTEM_AUTOBAHN=ON
+ -DVTK_USE_SYSTEM_EXPAT=ON
+ -DVTK_USE_SYSTEM_FREETYPE=ON
+ -DVTK_USE_SYSTEM_FreeType=ON
+ -DVTK_USE_SYSTEM_GL2PS=ON
+ -DVTK_USE_SYSTEM_HDF5=ON
+ -DVTK_USE_SYSTEM_JPEG=ON
+ -DVTK_USE_SYSTEM_LIBPROJ4=OFF
+# -DLIBPROJ4_DIR="${EPREFIX}/usr"
+ -DVTK_USE_SYSTEM_LIBXML2=ON
+ -DVTK_USE_SYSTEM_LibXml2=ON
+ -DVTK_USE_SYSTEM_NETCDF=ON
+ -DVTK_USE_SYSTEM_OGGTHEORA=ON
+ -DVTK_USE_SYSTEM_PNG=ON
+ -DVTK_USE_SYSTEM_TIFF=ON
+ -DVTK_USE_SYSTEM_TWISTED=ON
+ -DVTK_USE_SYSTEM_XDMF2=OFF
+ -DVTK_USE_SYSTEM_XDMF3=OFF
+ -DVTK_USE_SYSTEM_ZLIB=ON
+ -DVTK_USE_SYSTEM_ZOPE=ON
+ -DVTK_USE_SYSTEM_LIBRARIES=ON
+ -DVTK_USE_GL2PS=ON
+ -DVTK_USE_LARGE_DATA=ON
+ -DVTK_USE_PARALLEL=ON
+ )
+
+ mycmakeargs+=(
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON
+ -DVTK_Group_StandAlone=ON
+ )
+
+ mycmakeargs+=(
+ $(cmake-utils_use_build doc DOCUMENTATION)
+ $(cmake-utils_use_build examples EXAMPLES)
+ $(cmake-utils_use_build test VTK_BUILD_ALL_MODULES_FOR_TESTS)
+ $(cmake-utils_use all-modules VTK_BUILD_ALL_MODULES)
+ $(cmake-utils_use doc DOCUMENTATION_HTML_HELP)
+ $(cmake-utils_use imaging VTK_Group_Imaging)
+ $(cmake-utils_use mpi VTK_Group_MPI)
+ $(cmake-utils_use qt4 VTK_Group_Qt)
+ $(cmake-utils_use rendering VTK_Group_Rendering)
+ $(cmake-utils_use tk VTK_Group_Tk)
+ $(cmake-utils_use views VTK_Group_Views)
+ $(cmake-utils_use web VTK_Group_Web)
+ $(cmake-utils_use web VTK_WWW_DIR="${ED}/${MY_HTDOCSDIR}")
+ $(cmake-utils_use java VTK_WRAP_JAVA)
+ $(cmake-utils_use python VTK_WRAP_PYTHON)
+ $(cmake-utils_use python VTK_WRAP_PYTHON_SIP)
+ $(cmake-utils_use tcl VTK_WRAP_TCL)
+ )
+
+ mycmakeargs+=(
+ $(cmake-utils_use boost VTK_USE_BOOST)
+ $(cmake-utils_use cg VTK_USE_CG_SHADERS)
+ $(cmake-utils_use odbc VTK_USE_ODBC)
+ $(cmake-utils_use offscreen VTK_USE_OFFSCREEN)
+ $(cmake-utils_use offscreen VTK_OPENGL_HAS_OSMESA)
+ $(cmake-utils_use smp vtkFiltersSMP)
+ $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER)
+ $(cmake-utils_use video_cards_nvidia VTK_USE_NVCONTROL)
+ $(cmake-utils_use R Module_vtkFiltersStatisticsGnuR)
+ $(cmake-utils_use X VTK_USE_X)
+ )
+
+ # IO
+ mycmakeargs+=(
+ $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER)
+ $(cmake-utils_use gdal Module_vtkIOGDAL)
+ $(cmake-utils_use json Module_vtkIOGeoJSON)
+ $(cmake-utils_use xdmf2 Module_vtkIOXdmf2)
+ )
+ # Apple stuff, does it really work?
+ mycmakeargs+=( $(cmake-utils_use aqua VTK_USE_COCOA) )
+
+ if use examples || use test; then
+ mycmakeargs+=( -DBUILD_TESTING=ON )
+ fi
+
+ if use kaapi; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Kaapi" )
+ elif use tbb; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" )
+ else
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" )
+ fi
+
+ if use java; then
+# local _ejavahome=${EPREFIX}/etc/java-config-2/current-system-vm
+#
+# mycmakeargs+=(
+# -DJAVAC=${EPREFIX}/usr/bin/javac
+# -DJAVAC=$(java-config -c)
+# -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include
+# -DJAVA_INCLUDE_PATH:PATH=${JAVA_HOME}/include
+# -DJAVA_INCLUDE_PATH2:PATH=${JAVA_HOME}/include/linux
+# )
+#
+ if [ "${ARCH}" == "amd64" ]; then
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/${ARCH}/libjawt.so;${JAVA_HOME}/jre/lib/${ARCH}/xawt/libmawt.so" )
+ else
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/i386/libjawt.so;${JAVA_HOME}/jre/lib/i386/xawt/libmawt.so" )
+ fi
+ fi
+ if use python; then
+ mycmakeargs+=(
+ -DVTK_INSTALL_PYTHON_MODULE_DIR="$(python_get_sitedir)"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ -DSIP_PYQT_DIR="${EPREFIX}/usr/share/sip"
+ -DSIP_INCLUDE_DIR="$(python_get_includedir)"
+ -DVTK_PYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DVTK_PYTHON_LIBRARY="$(python_get_library_path)"
+ -DVTK_PYTHON_SETUP_ARGS:STRING="--prefix=${PREFIX} --root=${D}"
+ )
+ fi
+
+ if use qt4; then
+ mycmakeargs+=(
+ -DVTK_USE_QVTK=ON
+ -DVTK_USE_QVTK_OPENGL=ON
+ -DVTK_USE_QVTK_QTOPENGL=ON
+ -DQT_WRAP_CPP=ON
+ -DQT_WRAP_UI=ON
+ -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt4/plugins/designer
+ -DDESIRED_QT_VERSION=4
+ -DVTK_QT_VERSION=4
+ -DQT_MOC_EXECUTABLE="$(qt4_get_bindir)/moc"
+ -DQT_UIC_EXECUTABLE="$(qt4_get_bindir)/uic"
+ -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt4"
+ -DQT_QMAKE_EXECUTABLE="$(qt4_get_bindir)/qmake"
+ )
+ fi
+
+ if use R; then
+ mycmakeargs+=(
+# -DR_LIBRARY_BLAS=$($(tc-getPKG_CONFIG) --libs blas)
+# -DR_LIBRARY_LAPACK=$($(tc-getPKG_CONFIG) --libs lapack)
+ -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so
+ -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local tcllib
+ ln -sf "${BUILD_DIR}"/lib "${BUILD_DIR}"/lib/Release || die
+ for tcllib in "${BUILD_DIR}"/lib/lib*TCL*so; do
+ ln -sf $(basename "${tcllib}").1 "${tcllib/.so/-${SPV}.so}" || die
+ done
+ export LD_LIBRARY_PATH="${BUILD_DIR}"/lib:"${JAVA_HOME}"/jre/lib/${ARCH}/:"${JAVA_HOME}"/jre/lib/${ARCH}/xawt/
+ local VIRTUALX_COMMAND="cmake-utils_src_test"
+# local VIRTUALX_COMMAND="cmake-utils_src_test -R Java"
+# local VIRTUALX_COMMAND="cmake-utils_src_test -I 364,365"
+ virtualmake
+}
+
+src_install() {
+ use web && webapp_src_preinst
+ # install docs
+ HTML_DOCS=( "${S}"/README.html )
+
+ cmake-utils_src_install
+
+ use java && java-pkg_regjar "${ED}"/usr/$(get_libdir)/${PN}.jar
+
+ if use tcl; then
+ # install Tcl docs
+ docinto vtk_tcl
+ dodoc "${S}"/Wrapping/Tcl/README
+ fi
+
+ # install examples
+ if use examples; then
+ insinto /usr/share/${PN}
+ mv -v Examples examples || die
+ doins -r examples
+ fi
+
+ #install big docs
+ if use doc; then
+ cd "${WORKDIR}"/html || die
+ rm -f *.md5 || die "Failed to remove superfluous hashes"
+ einfo "Installing API docs. This may take some time."
+ docinto html
+ dodoc -r ./*
+ fi
+
+ # environment
+ cat >> "${T}"/40${PN} <<- EOF
+ VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data
+ VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV}
+ VTKHOME=${EPREFIX}/usr
+ EOF
+ doenvd "${T}"/40${PN}
+
+ use web && webapp_src_install
+}
+
+# webapp.eclass exports these but we want it optional #534036
+pkg_postinst() {
+ use web && webapp_pkg_postinst
+}
+
+pkg_prerm() {
+ use web && webapp_pkg_prerm
+}
diff --git a/sci-libs/vtk/vtk-6.1.0.ebuild b/sci-libs/vtk/vtk-6.1.0.ebuild
new file mode 100644
index 000000000000..d6e71e1eb2b9
--- /dev/null
+++ b/sci-libs/vtk/vtk-6.1.0.ebuild
@@ -0,0 +1,379 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+CMAKE_MAKEFILE_GENERATOR=ninja
+WEBAPP_OPTIONAL=yes
+WEBAPP_MANUAL_SLOT=yes
+
+inherit eutils flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils versionator toolchain-funcs cmake-utils virtualx webapp
+
+# Short package version
+SPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="http://www.vtk.org/"
+SRC_URI="
+ http://www.${PN}.org/files/release/${SPV}/VTK-${PV}.tar.gz
+ doc? ( http://www.${PN}.org/files/release/${SPV}/${PN}DocHtml-${PV}.tar.gz )
+ test? (
+ http://www.${PN}.org/files/release/${SPV}/VTKData-${PV}.tar.gz
+ http://www.${PN}.org/files/release/${SPV}/VTKLargeData-${PV}.tar.gz
+ )
+ "
+
+LICENSE="BSD LGPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="
+ all-modules aqua boost cg doc examples imaging ffmpeg gdal java json kaapi mpi
+ mysql odbc offscreen postgres python qt4 rendering smp tbb test theora tk tcl
+ video_cards_nvidia views web xdmf2 R +X"
+
+REQUIRED_USE="
+ all-modules? ( python xdmf2 )
+ java? ( qt4 )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ tcl? ( rendering )
+ smp? ( ^^ ( kaapi tbb ) )
+ test? ( python )
+ tk? ( tcl )
+ web? ( python )
+ ^^ ( X aqua offscreen )
+ "
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/libxml2:2
+ >=media-libs/freetype-2.5.4
+ media-libs/libpng:0
+ media-libs/mesa
+ media-libs/libtheora
+ media-libs/tiff:0
+ sci-libs/exodusii
+ sci-libs/hdf5:=
+ sci-libs/netcdf-cxx:3
+ sys-libs/zlib
+ virtual/jpeg:0
+ virtual/opengl
+ >=x11-libs/gl2ps-1.3.8
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libXt
+ boost? ( >=dev-libs/boost-1.40.0[mpi?] )
+ cg? ( media-gfx/nvidia-cg-toolkit )
+ examples? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ sci-libs/vtkdata
+ )
+ ffmpeg? ( virtual/ffmpeg )
+ gdal? ( sci-libs/gdal )
+ java? ( >=virtual/jre-1.5:* )
+ kaapi? ( <sci-libs/xkaapi-3 )
+ mpi? (
+ virtual/mpi[cxx,romio]
+ python? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
+ mysql? ( virtual/mysql )
+ odbc? ( dev-db/unixODBC )
+ offscreen? ( media-libs/mesa[osmesa] )
+ postgres? ( dev-db/postgresql:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/sip[${PYTHON_USEDEP}]
+ )
+ )
+ qt4? (
+ dev-qt/designer:4
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ dev-qt/qtsql:4
+ dev-qt/qtwebkit:4
+ python? ( dev-python/PyQt4[${PYTHON_USEDEP}] )
+ )
+ tbb? ( dev-cpp/tbb )
+ tcl? ( dev-lang/tcl:0= )
+ tk? ( dev-lang/tk:0= )
+ video_cards_nvidia? ( media-video/nvidia-settings )
+ web? (
+ ${WEBAPP_DEPEND}
+ python? (
+ dev-python/autobahn[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ )
+ )
+ xdmf2? ( sci-libs/xdmf2 )
+ R? ( dev-lang/R )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ java? ( >=virtual/jdk-1.5 )"
+
+S="${WORKDIR}"/VTK-${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-freetype.patch
+ "${FILESDIR}"/${P}-install.patch
+ "${FILESDIR}"/${P}-system.patch
+ "${FILESDIR}"/${P}-netcdf.patch
+ "${FILESDIR}"/${P}-web.patch
+ "${FILESDIR}"/${P}-glext.patch
+ )
+
+RESTRICT=test
+
+pkg_setup() {
+ use java && java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+ use web && webapp_pkg_setup
+
+ append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE
+}
+
+src_prepare() {
+ sed \
+ -e 's:libproj4:libproj:g' \
+ -e 's:lib_proj.h:lib_abi.h:g' \
+ -i CMake/FindLIBPROJ4.cmake || die
+
+ local x
+ # missing: VPIC alglib exodusII freerange ftgl libproj4 mrmpi sqlite utf8 verdict xmdf2 xmdf3
+ for x in expat freetype gl2ps hdf5 jpeg jsoncpp libxml2 netcdf oggtheora png tiff zlib; do
+ ebegin "Dropping bundled ${x}"
+ rm -r ThirdParty/${x}/vtk${x} || die
+ eend $?
+ done
+ rm -r \
+ ThirdParty/AutobahnPython/autobahn \
+ ThirdParty/Twisted/twisted \
+ ThirdParty/ZopeInterface/zope \
+ || die
+
+ use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+
+ if use mpi; then
+ export CC=mpicc
+ export CXX=mpicxx
+ export FC=mpif90
+ export F90=mpif90
+ export F77=mpif77
+ fi
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ # general configuration
+ local mycmakeargs=(
+ -Wno-dev
+# -DCMAKE_SKIP_RPATH=YES
+ -DVTK_DIR="${S}"
+ -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir)
+ -DVTK_DATA_ROOT:PATH="${EPREFIX}/usr/share/${PN}/data"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DVTK_CUSTOM_LIBRARY_SUFFIX=""
+ -DBUILD_SHARED_LIBS=ON
+ -DVTK_USE_SYSTEM_AUTOBAHN=ON
+ -DVTK_USE_SYSTEM_EXPAT=ON
+ -DVTK_USE_SYSTEM_FREETYPE=ON
+ -DVTK_USE_SYSTEM_FreeType=ON
+ -DVTK_USE_SYSTEM_GL2PS=ON
+ -DVTK_USE_SYSTEM_HDF5=ON
+ -DVTK_USE_SYSTEM_JPEG=ON
+ -DVTK_USE_SYSTEM_LIBPROJ4=OFF
+# -DLIBPROJ4_DIR="${EPREFIX}/usr"
+ -DVTK_USE_SYSTEM_LIBXML2=ON
+ -DVTK_USE_SYSTEM_LibXml2=ON
+ -DVTK_USE_SYSTEM_NETCDF=ON
+ -DVTK_USE_SYSTEM_OGGTHEORA=ON
+ -DVTK_USE_SYSTEM_PNG=ON
+ -DVTK_USE_SYSTEM_TIFF=ON
+ -DVTK_USE_SYSTEM_TWISTED=ON
+ -DVTK_USE_SYSTEM_XDMF2=OFF
+ -DVTK_USE_SYSTEM_XDMF3=OFF
+ -DVTK_USE_SYSTEM_ZLIB=ON
+ -DVTK_USE_SYSTEM_ZOPE=ON
+ -DVTK_USE_SYSTEM_LIBRARIES=ON
+ -DVTK_USE_GL2PS=ON
+ -DVTK_USE_LARGE_DATA=ON
+ -DVTK_USE_PARALLEL=ON
+ -DVTK_INSTALL_NO_DEVELOPMENT=ON
+ )
+
+ mycmakeargs+=(
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON
+ -DVTK_Group_StandAlone=ON
+ )
+
+ mycmakeargs+=(
+ $(cmake-utils_use_build doc DOCUMENTATION)
+ $(cmake-utils_use_build examples EXAMPLES)
+ $(cmake-utils_use_build test VTK_BUILD_ALL_MODULES_FOR_TESTS)
+ $(cmake-utils_use all-modules VTK_BUILD_ALL_MODULES)
+ $(cmake-utils_use doc DOCUMENTATION_HTML_HELP)
+ $(cmake-utils_use imaging VTK_Group_Imaging)
+ $(cmake-utils_use mpi VTK_Group_MPI)
+ $(cmake-utils_use qt4 VTK_Group_Qt)
+ $(cmake-utils_use rendering VTK_Group_Rendering)
+ $(cmake-utils_use tk VTK_Group_Tk)
+ $(cmake-utils_use views VTK_Group_Views)
+ $(cmake-utils_use web VTK_Group_Web)
+ $(cmake-utils_use web VTK_WWW_DIR="${ED}/${MY_HTDOCSDIR}")
+ $(cmake-utils_use java VTK_WRAP_JAVA)
+ $(cmake-utils_use python VTK_WRAP_PYTHON)
+ $(cmake-utils_use python VTK_WRAP_PYTHON_SIP)
+ $(cmake-utils_use tcl VTK_WRAP_TCL)
+ )
+
+ mycmakeargs+=(
+ $(cmake-utils_use boost VTK_USE_BOOST)
+ $(cmake-utils_use cg VTK_USE_CG_SHADERS)
+ $(cmake-utils_use odbc VTK_USE_ODBC)
+ $(cmake-utils_use offscreen VTK_USE_OFFSCREEN)
+ $(cmake-utils_use offscreen VTK_OPENGL_HAS_OSMESA)
+ $(cmake-utils_use smp vtkFiltersSMP)
+ $(cmake-utils_use theora VTK_USE_OGGTHEORA_ENCODER)
+ $(cmake-utils_use video_cards_nvidia VTK_USE_NVCONTROL)
+ $(cmake-utils_use R Module_vtkFiltersStatisticsGnuR)
+ $(cmake-utils_use X VTK_USE_X)
+ )
+
+ # IO
+ mycmakeargs+=(
+ $(cmake-utils_use ffmpeg VTK_USE_FFMPEG_ENCODER)
+ $(cmake-utils_use gdal Module_vtkIOGDAL)
+ $(cmake-utils_use json Module_vtkIOGeoJSON)
+ $(cmake-utils_use xdmf2 Module_vtkIOXdmf2)
+ )
+ # Apple stuff, does it really work?
+ mycmakeargs+=( $(cmake-utils_use aqua VTK_USE_COCOA) )
+
+ if use examples || use test; then
+ mycmakeargs+=( -DBUILD_TESTING=ON )
+ fi
+
+ if use kaapi; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Kaapi" )
+ elif use tbb; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" )
+ else
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" )
+ fi
+
+ if use java; then
+# local _ejavahome=${EPREFIX}/etc/java-config-2/current-system-vm
+#
+# mycmakeargs+=(
+# -DJAVAC=${EPREFIX}/usr/bin/javac
+# -DJAVAC=$(java-config -c)
+# -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include
+# -DJAVA_INCLUDE_PATH:PATH=${JAVA_HOME}/include
+# -DJAVA_INCLUDE_PATH2:PATH=${JAVA_HOME}/include/linux
+# )
+#
+ if [ "${ARCH}" == "amd64" ]; then
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/${ARCH}/libjawt.so;${JAVA_HOME}/jre/lib/${ARCH}/xawt/libmawt.so" )
+ else
+ mycmakeargs+=( -DJAVA_AWT_LIBRARY="${JAVA_HOME}/jre/lib/i386/libjawt.so;${JAVA_HOME}/jre/lib/i386/xawt/libmawt.so" )
+ fi
+ fi
+ if use python; then
+ mycmakeargs+=(
+ -DVTK_INSTALL_PYTHON_MODULE_DIR="$(python_get_sitedir)"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ -DSIP_PYQT_DIR="${EPREFIX}/usr/share/sip"
+ -DSIP_INCLUDE_DIR="$(python_get_includedir)"
+ -DVTK_PYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DVTK_PYTHON_LIBRARY="$(python_get_library_path)"
+ -DVTK_PYTHON_SETUP_ARGS:STRING="--prefix=${PREFIX} --root=${D}"
+ )
+ fi
+
+ if use qt4; then
+ mycmakeargs+=(
+ -DVTK_USE_QVTK=ON
+ -DVTK_USE_QVTK_OPENGL=ON
+ -DVTK_USE_QVTK_QTOPENGL=ON
+ -DQT_WRAP_CPP=ON
+ -DQT_WRAP_UI=ON
+ -DVTK_INSTALL_QT_DIR=/$(get_libdir)/qt4/plugins/designer
+ -DDESIRED_QT_VERSION=4
+ -DVTK_QT_VERSION=4
+ -DQT_MOC_EXECUTABLE="$(qt4_get_bindir)/moc"
+ -DQT_UIC_EXECUTABLE="$(qt4_get_bindir)/uic"
+ -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt4"
+ -DQT_QMAKE_EXECUTABLE="$(qt4_get_bindir)/qmake"
+ )
+ fi
+
+ if use R; then
+ mycmakeargs+=(
+# -DR_LIBRARY_BLAS=$($(tc-getPKG_CONFIG) --libs blas)
+# -DR_LIBRARY_LAPACK=$($(tc-getPKG_CONFIG) --libs lapack)
+ -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so
+ -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local tcllib
+ ln -sf "${BUILD_DIR}"/lib "${BUILD_DIR}"/lib/Release || die
+ for tcllib in "${BUILD_DIR}"/lib/lib*TCL*so; do
+ ln -sf $(basename "${tcllib}").1 "${tcllib/.so/-${SPV}.so}" || die
+ done
+ export LD_LIBRARY_PATH="${BUILD_DIR}"/lib:"${JAVA_HOME}"/jre/lib/${ARCH}/:"${JAVA_HOME}"/jre/lib/${ARCH}/xawt/
+ local VIRTUALX_COMMAND="cmake-utils_src_test"
+# local VIRTUALX_COMMAND="cmake-utils_src_test -R Java"
+# local VIRTUALX_COMMAND="cmake-utils_src_test -I 364,365"
+ virtualmake
+}
+
+src_install() {
+ use web && webapp_src_preinst
+ # install docs
+ HTML_DOCS=( "${S}"/README.html )
+
+ cmake-utils_src_install
+
+ use java && java-pkg_regjar "${ED}"/usr/$(get_libdir)/${PN}.jar
+
+ if use tcl; then
+ # install Tcl docs
+ docinto vtk_tcl
+ dodoc "${S}"/Wrapping/Tcl/README
+ fi
+
+ # install examples
+ if use examples; then
+ insinto /usr/share/${PN}
+ mv -v Examples examples || die
+ doins -r examples
+ fi
+
+ #install big docs
+ if use doc; then
+ cd "${WORKDIR}"/html || die
+ rm -f *.md5 || die "Failed to remove superfluous hashes"
+ einfo "Installing API docs. This may take some time."
+ docinto html
+ dodoc -r ./*
+ fi
+
+ # environment
+ cat >> "${T}"/40${PN} <<- EOF
+ VTK_DATA_ROOT=${EPREFIX}/usr/share/${PN}/data
+ VTK_DIR=${EPREFIX}/usr/$(get_libdir)/${PN}-${SPV}
+ VTKHOME=${EPREFIX}/usr
+ EOF
+ doenvd "${T}"/40${PN}
+
+ use web && webapp_src_install
+}
diff --git a/sci-libs/vtkdata/Manifest b/sci-libs/vtkdata/Manifest
new file mode 100644
index 000000000000..56ad96ee0fe4
--- /dev/null
+++ b/sci-libs/vtkdata/Manifest
@@ -0,0 +1,2 @@
+DIST VTKData-6.1.0.tar.gz 94452190 SHA256 aba27ac05d721e36b9424131f1d0f673448f2b31aac34e9e74590fdf208ad0c7 SHA512 4e23cc3de3b81a852458849f2bd4dfe2e84e9df4f77f5f0d4ac249b04a7f74144a483a91876bd748bb90685d1943071e9b36fce8dd618376621bc37e63365e65 WHIRLPOOL 1ee803055e3bbf0c8150807a77efce81406c8a512c40644c5ccc35279cb1098bb8f0382b5f2bb01f483c8a38a4e81ee70ed39145c52b4375a0545919faee2a28
+DIST vtkdata-6.0.0.tar.gz 99106820 SHA256 d5cb638804cc09838e05876f1701d2e9cf7aa3a5c63885da7c2ddf52b2fbb04d SHA512 b76eb8389047de1b74c585b8a3064d499758886f8e44063cb0d73fdc29b1a7cfbb1926bca869ccfbfaada3cffbb74a78a01fa081fd230002af7c4d79aa8a90af WHIRLPOOL 213a9ad270cf528cdfd9b601eaceba185d8388f629023fcd59603324539251c55c34685943122c07efd4e8b54217686399d9ec9d4e6e2780f33fcb510b148dc6
diff --git a/sci-libs/vtkdata/metadata.xml b/sci-libs/vtkdata/metadata.xml
new file mode 100644
index 000000000000..5ef07a39e7e1
--- /dev/null
+++ b/sci-libs/vtkdata/metadata.xml
@@ -0,0 +1,8 @@
+<?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>
+</pkgmetadata>
diff --git a/sci-libs/vtkdata/vtkdata-6.0.0.ebuild b/sci-libs/vtkdata/vtkdata-6.0.0.ebuild
new file mode 100644
index 000000000000..d72f22fbdb53
--- /dev/null
+++ b/sci-libs/vtkdata/vtkdata-6.0.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator
+
+DESCRIPTION="Example data file for VTK"
+HOMEPAGE="http://www.vtk.org"
+SRC_URI="http://www.vtk.org/files/release/$(get_version_component_range 1-2)/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RESTRICT="binchecks strip"
+
+RDEPEND="!<sci-libs/vtk-6"
+
+S="${WORKDIR}"/VTKDATA${PV}
+
+src_install() {
+ insinto /usr/share/vtk/data
+ doins -r *
+}
diff --git a/sci-libs/vtkdata/vtkdata-6.1.0.ebuild b/sci-libs/vtkdata/vtkdata-6.1.0.ebuild
new file mode 100644
index 000000000000..62f885eab3ca
--- /dev/null
+++ b/sci-libs/vtkdata/vtkdata-6.1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit versionator
+
+DESCRIPTION="Example data file for VTK"
+HOMEPAGE="http://www.vtk.org"
+SRC_URI="http://www.vtk.org/files/release/$(get_version_component_range 1-2)/VTKData-${PV}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RESTRICT="binchecks strip"
+
+RDEPEND="!<sci-libs/vtk-6"
+
+S="${WORKDIR}"/VTK-${PV}
+
+src_install() {
+ insinto /usr/share/vtk/data
+ doins -r .ExternalData
+}
diff --git a/sci-libs/xdmf2/Manifest b/sci-libs/xdmf2/Manifest
new file mode 100644
index 000000000000..711a97cf8bbb
--- /dev/null
+++ b/sci-libs/xdmf2/Manifest
@@ -0,0 +1 @@
+DIST xdmf2-1.0_p141226.tar.xz 267096 SHA256 9738bfb5d9ae92b885d1543f02ca4ad34f8eb71e6a697980465f40bba7dcf7c5 SHA512 031b947ccd942c39cb40504e939f03bc9e3190ae1a7baf8325809decf70a040e860b43d5bc9debfcf2f3838f5f0d7a9c77c92561c89fc0d632306e140b136db9 WHIRLPOOL f6698badae43d1710ee4642139ff6bc3ecd11424c1d1b72a09a4de2c10edaafd213f0b0773fba133067607c6eba08b39f38d82eef3bf94e709c8dd3257ca09ab
diff --git a/sci-libs/xdmf2/files/xdmf2-1.0_p141226-module.patch b/sci-libs/xdmf2/files/xdmf2-1.0_p141226-module.patch
new file mode 100644
index 000000000000..c337ca62f73a
--- /dev/null
+++ b/sci-libs/xdmf2/files/xdmf2-1.0_p141226-module.patch
@@ -0,0 +1,13 @@
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cef5909..46bcb88 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -346,4 +346,4 @@ endif(NOT XDMF_BUILD_CORE_ONLY)
+
+ xdmf_create_config_file(${PROJECT_NAME})
+ install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+- DESTINATION ${CMAKE_INSTALL_PREFIX})
++ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules/)
diff --git a/sci-libs/xdmf2/metadata.xml b/sci-libs/xdmf2/metadata.xml
new file mode 100644
index 000000000000..7bc6ee8ea837
--- /dev/null
+++ b/sci-libs/xdmf2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/xdmf2/xdmf2-1.0_p141226-r1.ebuild b/sci-libs/xdmf2/xdmf2-1.0_p141226-r1.ebuild
new file mode 100644
index 000000000000..d9979c53bd6c
--- /dev/null
+++ b/sci-libs/xdmf2/xdmf2-1.0_p141226-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils multilib python-single-r1
+
+DESCRIPTION="eXtensible Data Model and Format"
+HOMEPAGE="http://xdmf.org/index.php/Main_Page"
+SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+SLOT="0"
+LICENSE="VTK"
+KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
+IUSE="doc python test"
+
+RDEPEND="
+ sci-libs/hdf5:=
+ dev-libs/libxml2:2
+ python? ( ${PYTHON_DEPS} )
+ "
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ python? ( dev-lang/swig:0 )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-module.patch )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup && python_export
+}
+
+src_prepare() {
+ if use python; then
+ local _site=$(python_get_sitedir)
+ sed \
+ -e "/DESTINATION/s:python:${_site##${EPREFIX}/usr/$(get_libdir)/}:g" \
+ -i CMakeLists.txt || die
+ fi
+
+ sed \
+ -e "/DESTINATION/s:lib:$(get_libdir):g" \
+ -e "/INSTALL/s:lib:$(get_libdir):g" \
+ -i CMakeLists.txt core/CMakeLists.txt || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use doc XDMF_BUILD_DOCUMENTATION)
+ $(cmake-utils_use_build test TESTING)
+ $(cmake-utils_use python XDMF_WRAP_PYTHON)
+# $(cmake-utils_use java XDMF_WRAP_JAVA)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ dosym XdmfConfig.cmake /usr/share/cmake/Modules/${PN}Config.cmake
+}
diff --git a/sci-libs/xdrfile/Manifest b/sci-libs/xdrfile/Manifest
new file mode 100644
index 000000000000..de3e93aad2ea
--- /dev/null
+++ b/sci-libs/xdrfile/Manifest
@@ -0,0 +1 @@
+DIST xdrfile-1.1.1.tar.gz 378942 SHA256 4a2c8c7626dc3bdce45a6165d15d092cea85f39dfce0d176695d98ab3e6b4047 SHA512 bff06b08e547b956825f9b16a55fe93d07ff0c529426b892fd4b39be538774aa06facffc68994215e22e36edfa5642674653022da0762ca7cd1b7bc654112868 WHIRLPOOL d71a6a33334dfed2cd9e6036128cced52afbc215d608263086f50484a1dd4571568d66cd3d81e509ea5e1e55940755cb90846fc9f359035be6cfd13d46f3b8d4
diff --git a/sci-libs/xdrfile/metadata.xml b/sci-libs/xdrfile/metadata.xml
new file mode 100644
index 000000000000..b2558d8c6282
--- /dev/null
+++ b/sci-libs/xdrfile/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-chemistry</herd>
+ <maintainer>
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sci-libs/xdrfile/xdrfile-1.1.1.ebuild b/sci-libs/xdrfile/xdrfile-1.1.1.ebuild
new file mode 100644
index 000000000000..187ea5f25686
--- /dev/null
+++ b/sci-libs/xdrfile/xdrfile-1.1.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED="fortran"
+
+inherit autotools-multilib fortran-2
+
+DESCRIPTION="Library to read gromacs trajectory and topology files"
+HOMEPAGE="http://www.gromacs.org/Developer_Zone/Programming_Guide/XTC_Library"
+SRC_URI="ftp://ftp.gromacs.org/pub/contrib/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="fortran static-libs"
+
+src_configure() {
+ local myeconfargs=( $(use_enable fortran) )
+
+ autotools-multilib_src_configure
+}
diff --git a/sci-libs/xgks-pmel/Manifest b/sci-libs/xgks-pmel/Manifest
new file mode 100644
index 000000000000..4347b2de6ae9
--- /dev/null
+++ b/sci-libs/xgks-pmel/Manifest
@@ -0,0 +1 @@
+DIST xgks-pmel-2.5.5.tar.gz 1006581 SHA256 43a198aaa4d9497597e9253be19afc60d9dedda63a1fbcd718f77454d27adbb4
diff --git a/sci-libs/xgks-pmel/files/aclocal.patch b/sci-libs/xgks-pmel/files/aclocal.patch
new file mode 100644
index 000000000000..48d44d747647
--- /dev/null
+++ b/sci-libs/xgks-pmel/files/aclocal.patch
@@ -0,0 +1,146 @@
+--- port/aclocal.m4.orig 2009-04-26 13:33:51.434402251 -0700
++++ port/aclocal.m4 2009-04-26 13:43:33.466651210 -0700
+@@ -582,26 +582,6 @@
+ ])])
+
+
+-# Check for ncdump(1)
+-#
+-define([UC_PROG_NCDUMP], [dnl
+-AC_PROGRAM_CHECK(NCDUMP, ncdump, ncdump, UC_ABSPATH($exec_prefix)/ncdump)dnl
+-if test `which "$NCDUMP" | wc -w` != 1; then
+- UC_NEED_VALUE(NCDUMP, [netCDF lister], /usr/local/unidata/bin/ncdump)dnl
+-fi
+-])
+-
+-
+-# Check for ncgen(1)
+-#
+-define([UC_PROG_NCGEN], [dnl
+-AC_PROGRAM_CHECK(NCGEN, ncgen, ncgen, UC_ABSPATH($exec_prefix)/ncgen)dnl
+-if test `which "$NCGEN" | wc -w` != 1; then
+- UC_NEED_VALUE(NCGEN, [netCDF generator], /usr/local/unidata/bin/ncgen)dnl
+-fi
+-])
+-
+-
+ # Test a script.
+ #
+ define([UC_TEST_SCRIPT],
+@@ -719,16 +699,6 @@
+ ])
+
+
+-# Check for McIDAS library.
+-#
+-define([UC_LIB_MCIDAS], [dnl
+-echo checking for MCIDAS library
+-UC_TEST_LIB(LD_MCIDAS, /home/mcidas/lib /home/mcidasd/lib, mcidas, McIDAS, dnl
+- -L/home/mcidas/lib -lmcidas)dnl
+-AC_PROVIDE([$0])dnl
+-])
+-
+-
+ # Check for X11 library.
+ #
+ define([UC_LIB_X11], [dnl
+@@ -745,77 +715,6 @@
+ define([UC_X11], [AC_REQUIRE([UC_CPP_X11])AC_REQUIRE([UC_LIB_X11])])
+
+
+-# Check for netCDF header-file directory.
+-#
+-define([UC_CPP_NETCDF], [dnl
+-echo checking for netCDF header-file
+-UC_TEST_DIR(CPP_NETCDF, UC_ABSPATH($prefix/[[[include]]]), netcdf.h,
+- [netCDF [[include]]-directory], [-I/usr/local/unidata/[[include]]])dnl
+-CPP_NETCDF=`case ${CPP_NETCDF} in -I*) echo ${CPP_NETCDF};; *) echo -I${CPP_NETCDF-};; esac`
+-AC_PROVIDE([$0])dnl
+-])
+-
+-
+-# Check for netCDF library.
+-#
+-define([UC_LIB_NETCDF], [dnl
+-echo checking for netCDF library
+-UC_TEST_LIB(LD_NETCDF, UC_ABSPATH($prefix/lib), netcdf,
+- netCDF, -L/usr/local/unidata/lib -lnetcdf)dnl
+-AC_PROVIDE([$0])dnl
+-])
+-
+-
+-# Check for netCDF implementation (header file and library).
+-#
+-define([UC_NETCDF], [AC_REQUIRE([UC_CPP_NETCDF])AC_REQUIRE([UC_LIB_NETCDF])])
+-
+-
+-# Check for netCDF operators library.
+-#
+-define([UC_LIB_NCOPERS], [dnl
+-echo checking for netCDF operators library
+-UC_TEST_LIB(LD_NCOPERS, UC_ABSPATH($prefix/lib), ncopers,
+- netCDF-operators, [-L/usr/local/unidata/lib -lncopers])dnl
+-AC_PROVIDE([$0])dnl
+-])
+-
+-
+-# Check for LDM header-file directory.
+-#
+-define([UC_CPP_LDM], [dnl
+-echo checking for LDM header-file
+-UC_TEST_DIR(CPP_LDM, UC_ABSPATH($prefix/[[[include]]]) dnl
+- UC_ABSPATH($prefix/../[[[include]]]) dnl
+- UC_ABSPATH($prefix/../ldm/[[[include]]]), ldm.h,
+- [LDM [[include]]-directory], [-I/usr/local/unidata/[[include]]])dnl
+-CPP_LDM=`case ${CPP_LDM} in -I*) echo ${CPP_LDM};; *) echo -I${CPP_LDM-};; esac`
+-if test -z "$CPP_LDM"; then
+- UC_NEED_VALUE(CPP_LDM, [LDM include directory], -I/home/ldm/include)dnl
+-fi
+-AC_PROVIDE([$0])dnl
+-])
+-
+-
+-# Check for LDM library.
+-#
+-define([UC_LIB_LDM], [dnl
+-echo checking for LDM library
+-UC_TEST_LIB(LD_LDM, UC_ABSPATH($prefix/lib) dnl
+- UC_ABSPATH($prefix/../lib) UC_ABSPATH($prefix/../ldm/lib), ldm,
+- LDM, -L/usr/local/unidata/lib -lldm)dnl
+-if test -z "$LD_LDM"; then
+- UC_NEED_VALUE(LD_LDM, [LDM library], -L/home/ldm/lib -lldm)dnl
+-fi
+-AC_PROVIDE([$0])dnl
+-])
+-
+-
+-# Check for LDM implementation (header file and library).
+-#
+-define([UC_LDM], [AC_REQUIRE([UC_CPP_LDM])AC_REQUIRE([UC_LIB_LDM])])
+-
+-
+ # Check for udres(3) library.
+ #
+ define([UC_LIB_UDRES], [dnl
+--- port/configure.in.orig 2009-04-26 13:34:08.430308009 -0700
++++ port/configure.in 2009-04-26 13:44:26.218430537 -0700
+@@ -24,8 +24,6 @@
+ UC_PROG_FORTC
+ UC_PROG_NEQN
+ UC_PROG_TBL
+-UC_PROG_NCDUMP
+-UC_PROG_NCGEN
+ UC_PROG_INSTALL
+
+ UC_UDPOSIX
+--- port/master.mk.in.orig 2009-04-26 13:34:18.848400960 -0700
++++ port/master.mk.in 2009-04-26 13:45:03.187651071 -0700
+@@ -19,8 +19,6 @@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ FC = @FC@
+-NCDUMP = @NCDUMP@
+-NCGEN = @NCGEN@
+ NEQN = @NEQN@
+ OS = @OS@
+ SHELL = /bin/sh
diff --git a/sci-libs/xgks-pmel/metadata.xml b/sci-libs/xgks-pmel/metadata.xml
new file mode 100644
index 000000000000..07c81cc7a968
--- /dev/null
+++ b/sci-libs/xgks-pmel/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+ <longdescription>
+XGKS is a level 2C implementation of the ANSI Graphical Kernel System (GKS) for
+X-windows, with a C and Fortran interface. This version has support for PMEL's
+Ferret visualization tool.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/xgks-pmel/xgks-pmel-2.5.5.ebuild b/sci-libs/xgks-pmel/xgks-pmel-2.5.5.ebuild
new file mode 100644
index 000000000000..c5a3dadd8e51
--- /dev/null
+++ b/sci-libs/xgks-pmel/xgks-pmel-2.5.5.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 toolchain-funcs multilib
+
+DESCRIPTION="PMEL fork of XGKS, an X11-based version of the ANSI Graphical Kernel System"
+HOMEPAGE="http://www.gentoogeek.org/viewvc/Linux/xgks-pmel/"
+SRC_URI="http://www.gentoogeek.org/files/${P}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+ x11-libs/libX11"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ sys-apps/groff"
+
+src_prepare() {
+ epatch "${FILESDIR}"/aclocal.patch
+}
+
+src_configure() {
+ sed -i -e "s:lib64:$(get_libdir):g" port/master.mk.in \
+ fontdb/Makefile.in || die
+
+ CFLAGS=${CFLAGS} LD_X11='-L/usr/$(get_libdir) -lX11' \
+ FC=$(tc-getFC) CC=$(tc-getCC) OS=linux \
+ ./configure --prefix=/usr --exec_prefix=/usr/bin \
+ || die
+}
+
+src_compile() {
+ sed -i -e "s:port/all port/install:port/all:g" Makefile \
+ || die
+
+ # Fails parallel build, bug #295724
+ emake -j1
+
+ cd src/fortran
+ emake -j1
+}
+
+src_install() {
+ cd "${S}"/progs
+
+ for tool in {defcolors,font,mi,pline,pmark}; do
+ newbin ${tool} xgks-${tool}
+ done
+
+ cd "${S}"
+ dolib.a src/lib/libxgks.a
+
+ dodoc COPYRIGHT HISTORY INSTALL README
+ doman doc/{xgks.3,xgks_synop.3}
+ if use doc; then
+ newdoc doc/binding/cbinding.me cbinding
+ newdoc doc/userdoc/userdoc.me userdoc
+ insinto /usr/share/doc/${P}/examples
+ doins progs/{hanoi.c,star.c}
+ fi
+
+ insinto /usr/include/xgks
+ doins src/lib/gks*.h
+ doins src/lib/gksm/gksm*.h
+ doins src/fortran/f*.h
+ doins src/lib/w*.h
+ doins src/lib/{input.h,metafile.h,polylines.h,polymarkers.h,text.h}
+
+ insinto /usr/include
+ doins src/lib/xgks.h
+ doins port/udposix.h
+
+ insinto /usr/share/xgksfonts
+ doins fontdb/{[1-9],*.gksfont}
+}
diff --git a/sci-libs/xkaapi/Manifest b/sci-libs/xkaapi/Manifest
new file mode 100644
index 000000000000..abbdae443e9b
--- /dev/null
+++ b/sci-libs/xkaapi/Manifest
@@ -0,0 +1,3 @@
+DIST xkaapi-2.1.tar.gz 2916405 SHA256 76e6cdb0ce3746bf00a93d45a9bb1843700b52e85ff1f74ecc0bfc838a9ba42e SHA512 5d4db7576d449b086677bcc686595da773da2c0db155aa0d0039f57fb379bfc166a35b139992416a3f44bdbccbf9f48688b3d3050eea77a258f2a395d7867b26 WHIRLPOOL 488918d2a6528e9e084fd30a42784bc8b48660369838022965408bf1838413caeb9a6c42aa5551a83ed6041badad4b08094bc9952e545e61eaf5348539a504c9
+DIST xkaapi-2.2.tar.gz 2858464 SHA256 a2f7e17abfad3a9fe4a48ff49e9f88ca6c995924bdccddc085f6fdb7a289a578 SHA512 1be98c4e3c50cf198ec3522c7ccbe7757464889b32fb39e53447548fc2975e727fb2b68b25ae99c367b155588b1ab2181e3280d099ceb991929aa2f0e9c83f0c WHIRLPOOL 737c05986cc0c2139e3ecb9763edfe39084416f44db5579e8047d4a9134dc45fdeae134885cd88077299d180bdba111197baa50f7965a768aa8b6dab0a48a77c
+DIST xkaapi-3.0.3.tar.gz 1535482 SHA256 4f37264a1e1fc21249b48923a49debcb88078034364b29996f28be1cc42588e5 SHA512 28fb02a73269e55eec90b5c2c82e4ade3bfb24d55a1f61ac6bf47da4c7e2d864cfa1389772baca9ebef4f24b3373fb6971f3fe98a4d232187e9d29a88110eda1 WHIRLPOOL 0e64d51710eada51912bbc48620fdec2e242b1de5803877ae6f22d8790b3dbc2cd3cf3a27d07489a6e10737a9e35724cc6f304973c79a14d6a4082037f50f7ab
diff --git a/sci-libs/xkaapi/files/xkaapi-2.1-ffi.patch b/sci-libs/xkaapi/files/xkaapi-2.1-ffi.patch
new file mode 100644
index 000000000000..485b6c21a969
--- /dev/null
+++ b/sci-libs/xkaapi/files/xkaapi-2.1-ffi.patch
@@ -0,0 +1,24 @@
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2be95ec..13e876b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1034,12 +1034,12 @@ dnl -----------------------------------------------------------------------
+
+ dnl we need to always configure imported-soft/libffi in order to be able
+ dnl to run "make dist"
+-#if test x"$use_ffi" = xinternal; then
++if test x"$use_ffi" = xinternal; then
+ mkdir -p "imported-soft/libffi"
+ AC_CONFIG_SUBDIRS([imported-soft/libffi])
+-#else
+-# AC_MSG_NOTICE([Not compiling embedded copy of libffi])
+-#fi
++else
++ AC_MSG_NOTICE([Not compiling embedded copy of libffi])
++fi
+
+ dnl -----------------------------------------------------------------------
+ dnl Dependencies between libs
diff --git a/sci-libs/xkaapi/files/xkaapi-2.1-flags.patch b/sci-libs/xkaapi/files/xkaapi-2.1-flags.patch
new file mode 100644
index 000000000000..a22cabf9e4dd
--- /dev/null
+++ b/sci-libs/xkaapi/files/xkaapi-2.1-flags.patch
@@ -0,0 +1,39 @@
+ configure.ac | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c3364aa..2a734fe 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,6 +82,9 @@ AC_PROG_F77
+ dnl ----------------------------------------------------------------
+ dnl Disable default flag for compilation
+ dnl ----------------------------------------------------------------
++CPPFLAGS_gentoo="${CPPFLAGS}"
++CFLAGS_gentoo="${CFLAGS}"
++CXXFLAGS_gentoo="${CXXFLAGS}"
+ CPPFLAGS=""
+ CFLAGS=""
+ CXXFLAGS=""
+@@ -407,7 +410,7 @@ AC_ARG_ENABLE([mode],[AS_HELP_STRING([--enable-mode],
+ [choose special compilation mode (debug, release)])],[],
+ [enable_mode=default]
+ )
+-clean_default_flags
++clean_default_flags=no
+ AS_CASE([$enable_mode],
+ [default], [dnl
+ AM_CPPFLAGS="$AM_CPPFLAGS"
+@@ -428,6 +431,12 @@ AS_CASE([$enable_mode],
+ AM_CFLAGS="$AM_CFLAGS -O3 -DNDEBUG"
+ AM_CXXFLAGS="$AM_CXXFLAGS -O3 -DNDEBUG"
+ clean_default_flags=yes
++ ], [gentoo], [dnl
++ AC_MSG_NOTICE([Using gentoo compile mode])
++ AM_CPPFLAGS="$AM_CPPFLAGS ${CPPFLAGS_gentoo}"
++ AM_CFLAGS="$AM_CFLAGS -DNDEBUG ${CFLAGS_gentoo}"
++ AM_CXXFLAGS="$AM_CXXFLAGS -DNDEBUG ${CXXFLAGS_gentoo}"
++ clean_default_flags=yes
+ ], [dnl
+ AC_MSG_ERROR([Unknown compilation mode '$enable_mode'. Aborting.])
+ ])
diff --git a/sci-libs/xkaapi/files/xkaapi-3.0.3-flags.patch b/sci-libs/xkaapi/files/xkaapi-3.0.3-flags.patch
new file mode 100644
index 000000000000..0fdad94cb9b9
--- /dev/null
+++ b/sci-libs/xkaapi/files/xkaapi-3.0.3-flags.patch
@@ -0,0 +1,31 @@
+ configure.ac | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c3364aa..2a734fe 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,6 +82,9 @@ AC_PROG_F77
+ dnl ----------------------------------------------------------------
+ dnl Disable default flag for compilation
+ dnl ----------------------------------------------------------------
++CPPFLAGS_gentoo="${CPPFLAGS}"
++CFLAGS_gentoo="${CFLAGS}"
++CXXFLAGS_gentoo="${CXXFLAGS}"
+ CPPFLAGS=""
+ CFLAGS=""
+ CXXFLAGS=""
+@@ -428,6 +431,13 @@ AS_CASE([$enable_mode],
+ AM_CXXFLAGS="$AM_CXXFLAGS -O3 -DNDEBUG"
+ clean_default_flags=yes
+ AM_CONDITIONAL([KAAPI_USE_DEBUG], [test "$enable_mode" = truc ])
++ ], [gentoo], [dnl
++ AC_MSG_NOTICE([Using gentoo compile mode])
++ AM_CPPFLAGS="$AM_CPPFLAGS ${CPPFLAGS_gentoo}"
++ AM_CFLAGS="$AM_CFLAGS -DNDEBUG ${CFLAGS_gentoo}"
++ AM_CXXFLAGS="$AM_CXXFLAGS -DNDEBUG ${CXXFLAGS_gentoo}"
++ clean_default_flags=yes
++ AM_CONDITIONAL([KAAPI_USE_DEBUG], [test "$enable_mode" = gentoo ])
+ ], [dnl
+ AC_MSG_ERROR([Unknown compilation mode '$enable_mode'. Aborting.])
+ ])
diff --git a/sci-libs/xkaapi/metadata.xml b/sci-libs/xkaapi/metadata.xml
new file mode 100644
index 000000000000..49f365fd7720
--- /dev/null
+++ b/sci-libs/xkaapi/metadata.xml
@@ -0,0 +1,12 @@
+<?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>
+ <use>
+ <flag name="blas">Kaapi BLAS tasks for PLASMA</flag>
+ <flag name="gpu">Build library for gpu threading</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/xkaapi/xkaapi-2.1.ebuild b/sci-libs/xkaapi/xkaapi-2.1.ebuild
new file mode 100644
index 000000000000..bebd02623457
--- /dev/null
+++ b/sci-libs/xkaapi/xkaapi-2.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils fortran-2
+
+UPSTREAM_NO=32735
+
+DESCRIPTION="Kernel for Adaptative, Asynchronous Parallel and Interactive programming"
+HOMEPAGE="http://kaapi.gforge.inria.fr"
+SRC_URI="https://gforge.inria.fr/frs/download.php/${UPSTREAM_NO}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="CeCILL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="blas cxx fortran gpu openmp static-libs"
+
+RDEPEND="
+ sys-apps/hwloc
+ virtual/libffi
+"
+DEPEND="${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flags.patch
+ "${FILESDIR}"/${P}-ffi.patch
+ )
+
+src_prepare() {
+ sed \
+ -e 's:-Werror::g' \
+ -i tests/testsuite* tests/*/*.am || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-mode=gentoo
+ --enable-api-kaapic
+ --enable-api-quark
+ --with-ccache=no
+ --enable-hwloc
+ --with-libffi="${EPREFIX}"/usr
+ --enable-target$(usex gpu gpu mt)
+ $(use_enable fortran api-kaapif)
+ $(use_enable cxx api-kaapixx)
+ $(use_enable blas kblas)
+ $(use_enable openmp libkomp)
+# $(use_with plasma "${EPREFIX}"/usr)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/xkaapi/xkaapi-2.2.ebuild b/sci-libs/xkaapi/xkaapi-2.2.ebuild
new file mode 100644
index 000000000000..6a279eb34726
--- /dev/null
+++ b/sci-libs/xkaapi/xkaapi-2.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils fortran-2
+
+UPSTREAM_NO=33666
+
+DESCRIPTION="Kernel for Adaptative, Asynchronous Parallel and Interactive programming"
+HOMEPAGE="http://kaapi.gforge.inria.fr"
+SRC_URI="https://gforge.inria.fr/frs/download.php/${UPSTREAM_NO}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="CeCILL-2"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="blas cxx fortran gpu openmp static-libs"
+
+RDEPEND="
+ sys-apps/hwloc
+ virtual/libffi
+"
+DEPEND="${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1-flags.patch
+ "${FILESDIR}"/${PN}-2.1-ffi.patch
+ )
+
+src_prepare() {
+ sed \
+ -e 's:-Werror::g' \
+ -i tests/testsuite* tests/*/*.am || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-mode=gentoo
+ --enable-api-kaapic
+ --enable-api-quark
+ --with-ccache=no
+ --enable-hwloc
+ --with-libffi="${EPREFIX}"/usr
+ --enable-target$(usex gpu gpu mt)
+ $(use_enable fortran api-kaapif)
+ $(use_enable cxx api-kaapixx)
+ $(use_enable blas kblas)
+ $(use_enable openmp libkomp)
+# $(use_with plasma "${EPREFIX}"/usr)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/xkaapi/xkaapi-3.0.3.ebuild b/sci-libs/xkaapi/xkaapi-3.0.3.ebuild
new file mode 100644
index 000000000000..222238c06f66
--- /dev/null
+++ b/sci-libs/xkaapi/xkaapi-3.0.3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+AUTOTOOLS_AUTORECONF=true
+
+inherit autotools-utils fortran-2
+
+UPSTREAM_NO=34360
+
+DESCRIPTION="Kernel for Adaptative, Asynchronous Parallel and Interactive programming"
+HOMEPAGE="http://kaapi.gforge.inria.fr"
+SRC_URI="https://gforge.inria.fr/frs/download.php/${UPSTREAM_NO}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="CeCILL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cxx fortran openmp static-libs"
+
+RDEPEND="
+ sys-apps/hwloc
+ virtual/libffi
+"
+DEPEND="${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flags.patch
+ )
+
+src_prepare() {
+ sed \
+ -e 's:-Werror::g' \
+ -i tests/testsuite* tests/*/*.am || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-mode=gentoo
+ --enable-api-quark
+ --with-ccache=no
+ $(use_enable fortran api-kaapif)
+ $(use_enable cxx api-kaapixx)
+ $(use_enable openmp libkomp)
+# $(use_with plasma "${EPREFIX}"/usr)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/xylib/Manifest b/sci-libs/xylib/Manifest
new file mode 100644
index 000000000000..122b4885d625
--- /dev/null
+++ b/sci-libs/xylib/Manifest
@@ -0,0 +1,2 @@
+DIST xylib-1.1.tar.bz2 288366 SHA256 eb201ec9eca9ba84547fb590839e6e9177ca252eb8edb4b10785ff506c27bddb SHA512 d9952274fc4adb62aa7dab0d86dbb702d907caa954c68db1924284cc0304066ad8dac94571ecd1b764587655d30ac3fb1cae2307bb9e102ca564594a597a9c3f WHIRLPOOL feeb1a3383307daf191620efd7865a8e7370a4cdb118e96652e3fbcba0cdd74c38922a9a708994830d1aa317181a4c21fd98b9a04cd1a680710c264cede0aae2
+DIST xylib-1.2.tar.bz2 297167 SHA256 8a32a0f201e47c8f0665da44af6a1eac0aa06aa9bb61a7bd226bb723e9aebebf SHA512 16eaa4b37014914c75ca3d0188aaf236c342887c03e233a9bb770412b3bb16da6779ab82c8acd66677d98ada75537c77d1abad723defd33dbe6eda78c6c88b91 WHIRLPOOL 4e7f0edf250767c9f5dc1cbec5a9a09f9b56097f872e37af444c3401fd78788b8b1674a01517c509fb7ce4a8813a520a8cb4759427d8be53cdb5c2d4d3554d03
diff --git a/sci-libs/xylib/metadata.xml b/sci-libs/xylib/metadata.xml
new file mode 100644
index 000000000000..1280bae966fe
--- /dev/null
+++ b/sci-libs/xylib/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ xylib is a portable C++ library for reading files that contain x-y
+ data from powder diffraction, spectroscopy or other experimental
+ methods. It supports many formats.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">xylib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/xylib/xylib-1.1.ebuild b/sci-libs/xylib/xylib-1.1.ebuild
new file mode 100644
index 000000000000..cbe1e8818de0
--- /dev/null
+++ b/sci-libs/xylib/xylib-1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+DESCRIPTION="Experimental x-y data reading library"
+HOMEPAGE="http://www.unipress.waw.pl/fityk/xylib/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 static-libs zlib"
+
+RDEPEND="
+ dev-libs/boost
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with bzip2 bzlib) \
+ $(use_with zlib)
+}
diff --git a/sci-libs/xylib/xylib-1.2.ebuild b/sci-libs/xylib/xylib-1.2.ebuild
new file mode 100644
index 000000000000..1e9dd1d5f5d1
--- /dev/null
+++ b/sci-libs/xylib/xylib-1.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="Experimental x-y data reading library"
+HOMEPAGE="http://www.unipress.waw.pl/fityk/xylib/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 static-libs zlib"
+
+RDEPEND="
+ dev-libs/boost
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with bzip2 bzlib)
+ $(use_with zlib)
+ )
+ autotools-utils_src_configure
+}