summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/HighFive/HighFive-2.8.0.ebuild62
-rw-r--r--sci-libs/HighFive/Manifest1
-rw-r--r--sci-libs/HighFive/metadata.xml15
-rw-r--r--sci-libs/NNPACK/Manifest1
-rw-r--r--sci-libs/NNPACK/NNPACK-2020.12.22-r2.ebuild57
-rw-r--r--sci-libs/NNPACK/files/NNPACK-2020.12.22-gentoo.patch149
-rw-r--r--sci-libs/NNPACK/metadata.xml11
-rw-r--r--sci-libs/QNNPACK/Manifest1
-rw-r--r--sci-libs/QNNPACK/QNNPACK-2019.08.28.ebuild46
-rw-r--r--sci-libs/QNNPACK/files/QNNPACK-2019.08.28-gentoo.patch130
-rw-r--r--sci-libs/QNNPACK/metadata.xml11
-rw-r--r--sci-libs/Rtree/Manifest1
-rw-r--r--sci-libs/Rtree/Rtree-0.8.3_p20180802.ebuild28
-rw-r--r--sci-libs/Rtree/metadata.xml9
-rw-r--r--sci-libs/Shapely/Manifest2
-rw-r--r--sci-libs/Shapely/Shapely-1.6.4_p2-r1.ebuild55
-rw-r--r--sci-libs/Shapely/Shapely-1.7.0.ebuild34
-rw-r--r--sci-libs/Shapely/files/Shapely-1.6.4_p2-test_operations.patch17
-rw-r--r--sci-libs/Shapely/metadata.xml21
-rw-r--r--sci-libs/ViSP/Manifest2
-rw-r--r--sci-libs/ViSP/ViSP-3.3.0.ebuild111
-rw-r--r--sci-libs/ViSP/ViSP-3.5.0.ebuild111
-rw-r--r--sci-libs/ViSP/metadata.xml2
-rw-r--r--sci-libs/XNNPACK/Manifest2
-rw-r--r--sci-libs/XNNPACK/XNNPACK-2022.02.17-r1.ebuild82
-rw-r--r--sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild84
-rw-r--r--sci-libs/XNNPACK/files/XNNPACK-2022.02.17-gentoo.patch12
-rw-r--r--sci-libs/XNNPACK/metadata.xml17
-rw-r--r--sci-libs/adolc/Manifest3
-rw-r--r--sci-libs/adolc/adolc-2.4.1.ebuild38
-rw-r--r--sci-libs/adolc/adolc-2.6.3-r1.ebuild56
-rw-r--r--sci-libs/adolc/adolc-2.7.2.ebuild36
-rw-r--r--sci-libs/adolc/adolc-9999.ebuild36
-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.6.2-dash.patch146
-rw-r--r--sci-libs/adolc/metadata.xml4
-rw-r--r--sci-libs/alglib/Manifest2
-rw-r--r--sci-libs/alglib/alglib-3.10.0-r1.ebuild33
-rw-r--r--sci-libs/alglib/alglib-3.17.0.ebuild35
-rw-r--r--sci-libs/alglib/files/alglib-3.10.0-disable-minlm-test.patch16
-rw-r--r--sci-libs/alglib/metadata.xml54
-rw-r--r--sci-libs/amd/Manifest2
-rw-r--r--sci-libs/amd/amd-2.3.1.ebuild28
-rw-r--r--sci-libs/amd/amd-2.4.6-r1.ebuild43
-rw-r--r--sci-libs/amd/amd-2.4.6.ebuild27
-rw-r--r--sci-libs/amd/amd-3.0.3.ebuild67
-rw-r--r--sci-libs/amd/files/amd-2.4.6-dash_doc.patch16
-rw-r--r--sci-libs/amd/metadata.xml7
-rw-r--r--sci-libs/arborx/Manifest1
-rw-r--r--sci-libs/arborx/arborx-1.4.1-r1.ebuild44
-rw-r--r--sci-libs/arborx/metadata.xml20
-rw-r--r--sci-libs/armadillo/Manifest5
-rw-r--r--sci-libs/armadillo/armadillo-12.4.0-r1.ebuild136
-rw-r--r--sci-libs/armadillo/armadillo-12.8.2.ebuild136
-rw-r--r--sci-libs/armadillo/armadillo-8.300.2.ebuild144
-rw-r--r--sci-libs/armadillo/armadillo-9.800.3.ebuild147
-rw-r--r--sci-libs/armadillo/armadillo-9.850.1.ebuild148
-rw-r--r--sci-libs/armadillo/files/armadillo-12.0.1-extratests.patch12
-rw-r--r--sci-libs/armadillo/metadata.xml42
-rw-r--r--sci-libs/arpack/Manifest6
-rw-r--r--sci-libs/arpack/arpack-3.1.5.ebuild64
-rw-r--r--sci-libs/arpack/arpack-3.4.0.ebuild59
-rw-r--r--sci-libs/arpack/arpack-3.5.0.ebuild59
-rw-r--r--sci-libs/arpack/arpack-3.9.1.ebuild72
-rw-r--r--sci-libs/arpack/arpack-9999.ebuild29
-rw-r--r--sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch42
-rw-r--r--sci-libs/arpack/metadata.xml4
-rw-r--r--sci-libs/arprec/Manifest1
-rw-r--r--sci-libs/arprec/arprec-2.2.18.ebuild80
-rw-r--r--sci-libs/arprec/files/arprec-2.2.18-fix-c++14.patch13
-rw-r--r--sci-libs/arprec/files/arprec-2.2.18-gold.patch15
-rw-r--r--sci-libs/arprec/metadata.xml5
-rw-r--r--sci-libs/atlas/atlas-3.10.2.ebuild6
-rw-r--r--sci-libs/atlas/metadata.xml4
-rw-r--r--sci-libs/avogadrolibs/Manifest10
-rw-r--r--sci-libs/avogadrolibs/avogadrolibs-1.91.0_pre20180415.ebuild86
-rw-r--r--sci-libs/avogadrolibs/avogadrolibs-1.93.0.ebuild90
-rw-r--r--sci-libs/avogadrolibs/avogadrolibs-1.95.1-r1.ebuild94
-rw-r--r--sci-libs/avogadrolibs/avogadrolibs-1.97.0.ebuild93
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-0.7.2-6464.patch16
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180406-unbundle-jsoncpp.patch143
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180406-underlinking.patch18
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180415-qt-5.11b3.patch93
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-1.93.0-fix_AvogadroLibsConfig.patch11
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-1.95.1-tests.patch13
-rw-r--r--sci-libs/avogadrolibs/files/avogadrolibs-1.95.1-usability_backport.patch81
-rw-r--r--sci-libs/avogadrolibs/metadata.xml5
-rw-r--r--sci-libs/beagle/beagle-3.0.3-r1.ebuild57
-rw-r--r--sci-libs/beagle/beagle-3.0.3-r2.ebuild56
-rw-r--r--sci-libs/beagle/metadata.xml2
-rw-r--r--sci-libs/blas-reference/Manifest3
-rw-r--r--sci-libs/blas-reference/blas-reference-20070226-r4.ebuild69
-rw-r--r--sci-libs/blas-reference/blas-reference-20151113-r1.ebuild89
-rw-r--r--sci-libs/blas-reference/blas-reference-20161223.ebuild96
-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-r14
-rw-r--r--sci-libs/blas-reference/files/lapack-reference-3.6.0-fix-build-system.patch92
-rw-r--r--sci-libs/blas-reference/files/lapack-reference-3.7.0-fix-build-system.patch56
-rw-r--r--sci-libs/blas-reference/metadata.xml17
-rw-r--r--sci-libs/blis/Manifest3
-rw-r--r--sci-libs/blis/blis-0.5.2.ebuild108
-rw-r--r--sci-libs/blis/blis-0.6.0.ebuild107
-rw-r--r--sci-libs/blis/blis-0.9.0.ebuild113
-rw-r--r--sci-libs/blis/files/blis-0.5.2-blas-provider.patch13
-rw-r--r--sci-libs/blis/files/blis-0.5.2-gh313.patch187
-rw-r--r--sci-libs/blis/files/blis-0.5.2-rpath.patch13
-rw-r--r--sci-libs/blis/files/blis-0.6.0-rpath.patch13
-rw-r--r--sci-libs/blis/files/blis-0.8.1-pkg-config.patch9
-rw-r--r--sci-libs/blis/files/blis-0.9.0-rpath.patch15
-rw-r--r--sci-libs/blis/metadata.xml5
-rw-r--r--sci-libs/bliss/Manifest2
-rw-r--r--sci-libs/bliss/bliss-0.73-r1.ebuild48
-rw-r--r--sci-libs/bliss/bliss-0.73-r2.ebuild49
-rw-r--r--sci-libs/bliss/bliss-0.77-r1.ebuild31
-rw-r--r--sci-libs/bliss/bliss-0.77.ebuild28
-rw-r--r--sci-libs/bliss/files/bliss-0.73-autotools.patch99
-rw-r--r--sci-libs/bliss/files/bliss-0.73-clang.patch11
-rw-r--r--sci-libs/bliss/files/bliss-0.73-error.patch471
-rw-r--r--sci-libs/bliss/files/bliss-0.73-rehn.patch74
-rw-r--r--sci-libs/bliss/files/bliss-0.73.1.in55
-rw-r--r--sci-libs/bliss/files/bliss-0.77-install.patch32
-rw-r--r--sci-libs/bliss/files/bliss-0.77-libbliss-underlinking.patch16
-rw-r--r--sci-libs/bliss/metadata.xml2
-rw-r--r--sci-libs/bmrblib/Manifest2
-rw-r--r--sci-libs/bmrblib/bmrblib-1.0.3.ebuild17
-rw-r--r--sci-libs/bmrblib/bmrblib-1.0.4.ebuild17
-rw-r--r--sci-libs/bmrblib/metadata.xml16
-rw-r--r--sci-libs/branca/Manifest2
-rw-r--r--sci-libs/branca/branca-0.7.0-r2.ebuild36
-rw-r--r--sci-libs/branca/branca-0.7.1.ebuild36
-rw-r--r--sci-libs/branca/files/branca-0.6.0-test.patch12
-rw-r--r--sci-libs/branca/metadata.xml16
-rw-r--r--sci-libs/brial/Manifest2
-rw-r--r--sci-libs/brial/brial-1.2.12.ebuild36
-rw-r--r--sci-libs/brial/brial-1.2.8.ebuild39
-rw-r--r--sci-libs/brial/metadata.xml6
-rw-r--r--sci-libs/btf/Manifest1
-rw-r--r--sci-libs/btf/btf-1.2.6.ebuild19
-rw-r--r--sci-libs/btf/btf-2.0.3.ebuild28
-rw-r--r--sci-libs/btf/metadata.xml5
-rw-r--r--sci-libs/buddy/buddy-2.4-r1.ebuild21
-rw-r--r--sci-libs/buddy/metadata.xml4
-rw-r--r--sci-libs/caffe2/Manifest2
-rw-r--r--sci-libs/caffe2/caffe2-2.1.2-r7.ebuild283
-rw-r--r--sci-libs/caffe2/caffe2-2.2.2.ebuild269
-rw-r--r--sci-libs/caffe2/files/caffe2-1.12.0-glog-0.6.0.patch29
-rw-r--r--sci-libs/caffe2/files/caffe2-1.13.0-install-dirs.patch121
-rw-r--r--sci-libs/caffe2/files/caffe2-1.13.1-tensorpipe.patch10
-rw-r--r--sci-libs/caffe2/files/caffe2-2.0.0-cudnn_include_fix.patch12
-rw-r--r--sci-libs/caffe2/files/caffe2-2.0.0-gcc13.patch41
-rw-r--r--sci-libs/caffe2/files/caffe2-2.1.1-cudaExtra.patch28
-rw-r--r--sci-libs/caffe2/files/caffe2-2.1.1-gentoo.patch188
-rw-r--r--sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch15
-rw-r--r--sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch12
-rw-r--r--sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch68
-rw-r--r--sci-libs/caffe2/files/caffe2-2.2.1-gentoo.patch195
-rw-r--r--sci-libs/caffe2/metadata.xml28
-rw-r--r--sci-libs/camd/Manifest2
-rw-r--r--sci-libs/camd/camd-2.3.1.ebuild28
-rw-r--r--sci-libs/camd/camd-2.4.6-r1.ebuild41
-rw-r--r--sci-libs/camd/camd-2.4.6.ebuild25
-rw-r--r--sci-libs/camd/camd-3.0.3.ebuild59
-rw-r--r--sci-libs/camd/files/camd-2.4.6-dash_doc.patch16
-rw-r--r--sci-libs/camd/metadata.xml7
-rw-r--r--sci-libs/cantera/Manifest2
-rw-r--r--sci-libs/cantera/cantera-2.4.0-r4.ebuild131
-rw-r--r--sci-libs/cantera/cantera-2.4.0-r5.ebuild131
-rw-r--r--sci-libs/cantera/cantera-3.0.0-r1.ebuild144
-rw-r--r--sci-libs/cantera/files/cantera-3.0.0_enable_python-3.12.patch75
-rw-r--r--sci-libs/cantera/files/cantera-3.0.0_env.patch37
-rw-r--r--sci-libs/cantera/files/cantera_2.4.0_env.patch73
-rw-r--r--sci-libs/cantera/files/cantera_2.4.0_env_python_install.patch17
-rw-r--r--sci-libs/cantera/files/cantera_2.4.0_env_python_install_prefix.patch17
-rw-r--r--sci-libs/cantera/files/cantera_2.4.0_sundials4.patch207
-rw-r--r--sci-libs/cantera/metadata.xml11
-rw-r--r--sci-libs/cartopy/Manifest3
-rw-r--r--sci-libs/cartopy/cartopy-0.18.0.ebuild65
-rw-r--r--sci-libs/cartopy/cartopy-0.18.0_beta1.ebuild65
-rw-r--r--sci-libs/cartopy/cartopy-0.23.0.ebuild87
-rw-r--r--sci-libs/cartopy/files/cartopy-0.23.0-backport-test-fixes.patch13
-rw-r--r--sci-libs/cartopy/metadata.xml6
-rw-r--r--sci-libs/cbflib/Manifest1
-rw-r--r--sci-libs/cbflib/cbflib-0.9.3.3.ebuild58
-rw-r--r--sci-libs/cbflib/files/cbflib-0.9.3.3-unbundle.patch181
-rw-r--r--sci-libs/cbflib/metadata.xml22
-rw-r--r--sci-libs/cblas-reference/Manifest3
-rw-r--r--sci-libs/cblas-reference/cblas-reference-20030223-r6.ebuild66
-rw-r--r--sci-libs/cblas-reference/cblas-reference-20151113-r2.ebuild93
-rw-r--r--sci-libs/cblas-reference/cblas-reference-20161223.ebuild93
-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/files/eselect.cblas.reference-r28
-rw-r--r--sci-libs/cblas-reference/files/lapack-reference-3.6.0-fix-build-system.patch124
-rw-r--r--sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch56
-rw-r--r--sci-libs/cblas-reference/metadata.xml18
-rw-r--r--sci-libs/ccfits/Manifest1
-rw-r--r--sci-libs/ccfits/ccfits-2.4-r1.ebuild48
-rw-r--r--sci-libs/ccfits/ccfits-2.5.ebuild21
-rw-r--r--sci-libs/ccfits/metadata.xml2
-rw-r--r--sci-libs/ccolamd/Manifest1
-rw-r--r--sci-libs/ccolamd/ccolamd-2.9.6.ebuild17
-rw-r--r--sci-libs/ccolamd/ccolamd-3.0.3.ebuild39
-rw-r--r--sci-libs/ccolamd/metadata.xml7
-rw-r--r--sci-libs/cdd+/cdd+-077a.ebuild28
-rw-r--r--sci-libs/cdd+/files/cdd+-077a-gcc-5.patch4
-rw-r--r--sci-libs/cdd+/files/cdd+-077a-gcc11-dynamic-exceptions.patch71
-rw-r--r--sci-libs/cdd+/files/cdd+-077a-gentoo.patch4
-rw-r--r--sci-libs/cdd+/files/cdd+-077a-headers.patch36
-rw-r--r--sci-libs/cdd+/files/cdd+-077a-qa-const-char.patch8
-rw-r--r--sci-libs/cdd+/metadata.xml23
-rw-r--r--sci-libs/cddlib/Manifest2
-rw-r--r--sci-libs/cddlib/cddlib-094j.ebuild53
-rw-r--r--sci-libs/cddlib/cddlib-094m-r1.ebuild62
-rw-r--r--sci-libs/cddlib/cddlib-094m-r2.ebuild62
-rw-r--r--sci-libs/cddlib/metadata.xml6
-rw-r--r--sci-libs/cdf/Manifest34
-rw-r--r--sci-libs/cdf/cdf-3.4.1.ebuild122
-rw-r--r--sci-libs/cdf/cdf-3.5.0.2.ebuild122
-rw-r--r--sci-libs/cdf/cdf-3.8.0-r1.ebuild139
-rw-r--r--sci-libs/cdf/cdf-3.9.0.ebuild148
-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/files/cdf-3.8.0-respect-flags.patch96
-rw-r--r--sci-libs/cdf/files/cdf-3.9.0-respect-flags.patch85
-rw-r--r--sci-libs/cdf/metadata.xml26
-rw-r--r--sci-libs/ceres-solver/Manifest3
-rw-r--r--sci-libs/ceres-solver/ceres-solver-1.14.0.ebuild101
-rw-r--r--sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild102
-rw-r--r--sci-libs/ceres-solver/ceres-solver-2.2.0-r1.ebuild109
-rw-r--r--sci-libs/ceres-solver/files/ceres-solver-2.0.0-system-mathjax.patch10
-rw-r--r--sci-libs/ceres-solver/metadata.xml4
-rw-r--r--sci-libs/cfitsio/Manifest6
-rw-r--r--sci-libs/cfitsio/cfitsio-3.360.ebuild56
-rw-r--r--sci-libs/cfitsio/cfitsio-3.410.ebuild58
-rw-r--r--sci-libs/cfitsio/cfitsio-3.490.ebuild75
-rw-r--r--sci-libs/cfitsio/cfitsio-4.0.0.ebuild73
-rw-r--r--sci-libs/cfitsio/cfitsio-4.1.0-r1.ebuild87
-rw-r--r--sci-libs/cfitsio/cfitsio-4.1.0.ebuild83
-rw-r--r--sci-libs/cfitsio/cfitsio-4.2.0.ebuild87
-rw-r--r--sci-libs/cfitsio/files/cfitsio-3.490-ldflags.patch14
-rw-r--r--sci-libs/cfitsio/files/cfitsio-3.490-pkgconfig.patch20
-rw-r--r--sci-libs/cfitsio/files/cfitsio-3.490-system-zlib.patch60
-rw-r--r--sci-libs/cfitsio/files/cfitsio-4.0.0-pkgconfig.patch20
-rw-r--r--sci-libs/cfitsio/files/cfitsio-4.0.0-system-zlib.patch50
-rw-r--r--sci-libs/cfitsio/files/cfitsio-4.1.0-pkgconfig.patch19
-rw-r--r--sci-libs/cfitsio/files/cfitsio-4.1.0-system-zlib.patch53
-rw-r--r--sci-libs/cfitsio/files/cfitsio-4.2.0-pkgconfig.patch19
-rw-r--r--sci-libs/cfitsio/files/cfitsio-4.2.0-system-zlib.patch53
-rw-r--r--sci-libs/cfitsio/metadata.xml13
-rw-r--r--sci-libs/cgcode/cgcode-1.0-r2.ebuild32
-rw-r--r--sci-libs/cgcode/files/1.0-gentoo.patch6
-rw-r--r--sci-libs/cgcode/metadata.xml2
-rw-r--r--sci-libs/cgnslib/Manifest4
-rw-r--r--sci-libs/cgnslib/cgnslib-3.3.0.ebuild78
-rw-r--r--sci-libs/cgnslib/cgnslib-3.4.0.ebuild77
-rw-r--r--sci-libs/cgnslib/cgnslib-4.3.0-r2.ebuild96
-rw-r--r--sci-libs/cgnslib/cgnslib-4.4.0-r1.ebuild96
-rw-r--r--sci-libs/cgnslib/metadata.xml4
-rw-r--r--sci-libs/cholmod/Manifest3
-rw-r--r--sci-libs/cholmod/cholmod-2.1.2.ebuild63
-rw-r--r--sci-libs/cholmod/cholmod-3.0.13.ebuild39
-rw-r--r--sci-libs/cholmod/cholmod-3.0.14.ebuild78
-rw-r--r--sci-libs/cholmod/cholmod-4.0.3.ebuild92
-rw-r--r--sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch20
-rw-r--r--sci-libs/cholmod/files/cholmod-3.0.14-fix-CUDA.patch109
-rw-r--r--sci-libs/cholmod/metadata.xml22
-rw-r--r--sci-libs/cifparse-obj/Manifest1
-rw-r--r--sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild52
-rw-r--r--sci-libs/cifparse-obj/cifparse-obj-7.105.ebuild10
-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/cifparse-obj-7.025-strncasecmp-declaration.patch16
-rw-r--r--sci-libs/cifparse-obj/metadata.xml2
-rw-r--r--sci-libs/clapack/clapack-3.2.1-r8.ebuild28
-rw-r--r--sci-libs/clapack/metadata.xml4
-rw-r--r--sci-libs/clashscore-db/clashscore-db-3.17-r1.ebuild20
-rw-r--r--sci-libs/clashscore-db/clashscore-db-3.17.ebuild22
-rw-r--r--sci-libs/clashscore-db/metadata.xml2
-rw-r--r--sci-libs/clblas/Manifest2
-rw-r--r--sci-libs/clblas/clblas-2.10.ebuild102
-rw-r--r--sci-libs/clblas/clblas-2.12-r2.ebuild80
-rw-r--r--sci-libs/clblas/files/clblas-2.10-disable-multilib-cflags.patch20
-rw-r--r--sci-libs/clblas/files/clblas-2.10-fix-blas-dot-calls.patch59
-rw-r--r--sci-libs/clblas/files/clblas-2.10-fix-pthread-linkage.patch18
-rw-r--r--sci-libs/clblas/files/clblas-2.10-use-boost-dynamic-libs.patch16
-rw-r--r--sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch24
-rw-r--r--sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch26
-rw-r--r--sci-libs/clblas/files/clblas-2.12-fix-doxygen-output-dir.patch (renamed from sci-libs/clblas/files/clblas-2.10-fix-doxygen-output-dir.patch)0
-rw-r--r--sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch18
-rw-r--r--sci-libs/clblas/files/clblas-2.12-reproducible-build.patch17
-rw-r--r--sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch16
-rw-r--r--sci-libs/clblas/files/clblas-2.12-use-system-mathjax.patch (renamed from sci-libs/clblas/files/clblas-2.10-use-system-mathjax.patch)0
-rw-r--r--sci-libs/clblas/metadata.xml2
-rw-r--r--sci-libs/clblast/Manifest2
-rw-r--r--sci-libs/clblast/clblast-0.10.0.ebuild68
-rw-r--r--sci-libs/clblast/clblast-1.5.2-r1.ebuild66
-rw-r--r--sci-libs/clblast/clblast-1.5.2.ebuild61
-rw-r--r--sci-libs/clblast/files/level2_xtrsv.patch14
-rw-r--r--sci-libs/clblast/files/level3_xtrsv.patch14
-rw-r--r--sci-libs/clblast/metadata.xml5
-rw-r--r--sci-libs/cln/Manifest2
-rw-r--r--sci-libs/cln/cln-1.3.3.ebuild56
-rw-r--r--sci-libs/cln/cln-1.3.4.ebuild56
-rw-r--r--sci-libs/cln/cln-1.3.6.ebuild12
-rw-r--r--sci-libs/cln/files/cln-1.3.2-arm.patch13
-rw-r--r--sci-libs/cln/metadata.xml4
-rw-r--r--sci-libs/cminpack/Manifest2
-rw-r--r--sci-libs/cminpack/cminpack-1.3.5.ebuild34
-rw-r--r--sci-libs/cminpack/cminpack-1.3.8.ebuild35
-rw-r--r--sci-libs/cminpack/files/cminpack-1.3.5-underlinking.patch10
-rw-r--r--sci-libs/cminpack/files/cminpack-1.3.8-cmake.patch10
-rw-r--r--sci-libs/cminpack/metadata.xml2
-rw-r--r--sci-libs/cmpfit/Manifest2
-rw-r--r--sci-libs/cmpfit/cmpfit-1.2-r1.ebuild38
-rw-r--r--sci-libs/cmpfit/cmpfit-1.4.ebuild32
-rw-r--r--sci-libs/cmpfit/metadata.xml2
-rw-r--r--sci-libs/coinhsl/Manifest1
-rw-r--r--sci-libs/coinhsl/coinhsl-2014.01.10.ebuild32
-rw-r--r--sci-libs/coinhsl/metadata.xml2
-rw-r--r--sci-libs/coinor-alps/Manifest3
-rw-r--r--sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild67
-rw-r--r--sci-libs/coinor-alps/coinor-alps-1.5.4.ebuild62
-rw-r--r--sci-libs/coinor-alps/coinor-alps-1.5.7.ebuild51
-rw-r--r--sci-libs/coinor-alps/metadata.xml5
-rw-r--r--sci-libs/coinor-bcp/Manifest2
-rw-r--r--sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild59
-rw-r--r--sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild60
-rw-r--r--sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch36
-rw-r--r--sci-libs/coinor-bcp/metadata.xml5
-rw-r--r--sci-libs/coinor-bcps/Manifest2
-rw-r--r--sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild57
-rw-r--r--sci-libs/coinor-bcps/coinor-bcps-0.94.5.ebuild57
-rw-r--r--sci-libs/coinor-bcps/metadata.xml5
-rw-r--r--sci-libs/coinor-blis/Manifest2
-rw-r--r--sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild58
-rw-r--r--sci-libs/coinor-blis/coinor-blis-0.94.8.ebuild59
-rw-r--r--sci-libs/coinor-blis/metadata.xml5
-rw-r--r--sci-libs/coinor-bonmin/Manifest2
-rw-r--r--sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild62
-rw-r--r--sci-libs/coinor-bonmin/coinor-bonmin-1.8.8.ebuild55
-rw-r--r--sci-libs/coinor-bonmin/metadata.xml10
-rw-r--r--sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild6
-rw-r--r--sci-libs/coinor-cbc/metadata.xml2
-rw-r--r--sci-libs/coinor-cgl/coinor-cgl-0.60.3.ebuild6
-rw-r--r--sci-libs/coinor-cgl/metadata.xml2
-rw-r--r--sci-libs/coinor-clp/coinor-clp-1.17.6-r1.ebuild146
-rw-r--r--sci-libs/coinor-clp/coinor-clp-1.17.6.ebuild6
-rw-r--r--sci-libs/coinor-clp/files/coinor-clp-1.17.6-remove-extern-C-for-MPI.patch18
-rw-r--r--sci-libs/coinor-clp/metadata.xml2
-rw-r--r--sci-libs/coinor-couenne/Manifest2
-rw-r--r--sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild59
-rw-r--r--sci-libs/coinor-couenne/coinor-couenne-0.5.8-r1.ebuild61
-rw-r--r--sci-libs/coinor-couenne/files/coinor-couenne-0.5.8-fix-build-with-gcc11.patch46
-rw-r--r--sci-libs/coinor-couenne/metadata.xml5
-rw-r--r--sci-libs/coinor-cppad/Manifest3
-rw-r--r--sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild51
-rw-r--r--sci-libs/coinor-cppad/coinor-cppad-20140519-r1.ebuild59
-rw-r--r--sci-libs/coinor-cppad/coinor-cppad-20140519.ebuild51
-rw-r--r--sci-libs/coinor-cppad/coinor-cppad-20210000.5-r1.ebuild73
-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/files/coinor-cppad-20210000.5-pkgconfig.patch26
-rw-r--r--sci-libs/coinor-cppad/metadata.xml12
-rw-r--r--sci-libs/coinor-csdp/Manifest2
-rw-r--r--sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild101
-rw-r--r--sci-libs/coinor-csdp/coinor-csdp-6.2.0.ebuild117
-rw-r--r--sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch63
-rw-r--r--sci-libs/coinor-csdp/metadata.xml2
-rw-r--r--sci-libs/coinor-dip/Manifest2
-rw-r--r--sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild58
-rw-r--r--sci-libs/coinor-dip/coinor-dip-0.95.0-r2.ebuild61
-rw-r--r--sci-libs/coinor-dip/metadata.xml5
-rw-r--r--sci-libs/coinor-dylp/coinor-dylp-1.10.4.ebuild6
-rw-r--r--sci-libs/coinor-dylp/metadata.xml2
-rw-r--r--sci-libs/coinor-flopcpp/Manifest2
-rw-r--r--sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild66
-rw-r--r--sci-libs/coinor-flopcpp/coinor-flopcpp-1.2.5.ebuild50
-rw-r--r--sci-libs/coinor-flopcpp/metadata.xml5
-rw-r--r--sci-libs/coinor-mp/Manifest2
-rw-r--r--sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild60
-rw-r--r--sci-libs/coinor-mp/coinor-mp-1.8.4.ebuild43
-rw-r--r--sci-libs/coinor-mp/metadata.xml7
-rw-r--r--sci-libs/coinor-netlib/Manifest2
-rw-r--r--sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild19
-rw-r--r--sci-libs/coinor-netlib/coinor-netlib-1.2.9.ebuild13
-rw-r--r--sci-libs/coinor-netlib/metadata.xml9
-rw-r--r--sci-libs/coinor-os/coinor-os-2.10.1.ebuild16
-rw-r--r--sci-libs/coinor-os/metadata.xml2
-rw-r--r--sci-libs/coinor-osi/coinor-osi-0.108.6.ebuild6
-rw-r--r--sci-libs/coinor-osi/metadata.xml2
-rw-r--r--sci-libs/coinor-sample/coinor-sample-1.2.12.ebuild4
-rw-r--r--sci-libs/coinor-sample/metadata.xml2
-rw-r--r--sci-libs/coinor-smi/Manifest2
-rw-r--r--sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild71
-rw-r--r--sci-libs/coinor-smi/coinor-smi-0.96.1.ebuild53
-rw-r--r--sci-libs/coinor-smi/metadata.xml5
-rw-r--r--sci-libs/coinor-symphony/Manifest2
-rw-r--r--sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild87
-rw-r--r--sci-libs/coinor-symphony/coinor-symphony-5.6.17.ebuild78
-rw-r--r--sci-libs/coinor-symphony/metadata.xml5
-rw-r--r--sci-libs/coinor-utils/Manifest1
-rw-r--r--sci-libs/coinor-utils/coinor-utils-2.11.4.ebuild6
-rw-r--r--sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild105
-rw-r--r--sci-libs/coinor-utils/files/coinor-utils-2.11.9-drop-register.patch71
-rw-r--r--sci-libs/coinor-utils/metadata.xml2
-rw-r--r--sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild10
-rw-r--r--sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch24
-rw-r--r--sci-libs/coinor-vol/metadata.xml2
-rw-r--r--sci-libs/colamd/Manifest2
-rw-r--r--sci-libs/colamd/colamd-2.8.0.ebuild20
-rw-r--r--sci-libs/colamd/colamd-2.9.6.ebuild17
-rw-r--r--sci-libs/colamd/colamd-3.0.3.ebuild39
-rw-r--r--sci-libs/colamd/metadata.xml7
-rw-r--r--sci-libs/colpack/colpack-1.0.10.ebuild31
-rw-r--r--sci-libs/colpack/metadata.xml2
-rw-r--r--sci-libs/composable-kernel/Manifest2
-rw-r--r--sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild83
-rw-r--r--sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch19
-rw-r--r--sci-libs/composable-kernel/metadata.xml15
-rw-r--r--sci-libs/cqrlib/Manifest2
-rw-r--r--sci-libs/cqrlib/cqrlib-1.1.3.ebuild58
-rw-r--r--sci-libs/cqrlib/cqrlib-1.1.4.ebuild50
-rw-r--r--sci-libs/cqrlib/files/1.0.6-gentoo.patch101
-rw-r--r--sci-libs/cqrlib/files/1.1.4-build.patch331
-rw-r--r--sci-libs/cqrlib/files/1.1.4-libtool.patch105
-rw-r--r--sci-libs/cqrlib/metadata.xml3
-rw-r--r--sci-libs/cxsparse/Manifest1
-rw-r--r--sci-libs/cxsparse/cxsparse-3.2.0.ebuild19
-rw-r--r--sci-libs/cxsparse/cxsparse-4.0.3.ebuild98
-rw-r--r--sci-libs/cxsparse/metadata.xml5
-rw-r--r--sci-libs/datasets/Manifest1
-rw-r--r--sci-libs/datasets/datasets-2.18.0-r1.ebuild86
-rw-r--r--sci-libs/datasets/files/datasets-2.17.1-tests.patch364
-rw-r--r--sci-libs/datasets/metadata.xml12
-rw-r--r--sci-libs/dcmtk/Manifest5
-rw-r--r--sci-libs/dcmtk/dcmtk-3.6.3.ebuild92
-rw-r--r--sci-libs/dcmtk/dcmtk-3.6.4-r1.ebuild87
-rw-r--r--sci-libs/dcmtk/dcmtk-3.6.5.ebuild88
-rw-r--r--sci-libs/dcmtk/dcmtk-3.6.7-r1.ebuild91
-rw-r--r--sci-libs/dcmtk/dcmtk-3.6.8.ebuild94
-rw-r--r--sci-libs/dcmtk/files/dcmtk-3.6.3-dcmqrdb-cfg.patch87
-rw-r--r--sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch29
-rw-r--r--sci-libs/dcmtk/files/dcmtk-3.6.3-nostrip.patch171
-rw-r--r--sci-libs/dcmtk/files/dcmtk-3.6.8-docdir.patch12
-rw-r--r--sci-libs/dcmtk/metadata.xml6
-rw-r--r--sci-libs/dealii/Manifest12
-rw-r--r--sci-libs/dealii/dealii-9.1.1.ebuild155
-rw-r--r--sci-libs/dealii/dealii-9.2.0.ebuild160
-rw-r--r--sci-libs/dealii/dealii-9.4.2-r1.ebuild182
-rw-r--r--sci-libs/dealii/dealii-9.5.2-r1.ebuild178
-rw-r--r--sci-libs/dealii/dealii-9999.ebuild79
-rw-r--r--sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch59
-rw-r--r--sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch28
-rw-r--r--sci-libs/dealii/metadata.xml21
-rw-r--r--sci-libs/djbfft/djbfft-0.76-r2.ebuild67
-rw-r--r--sci-libs/djbfft/djbfft-0.76-r3.ebuild74
-rw-r--r--sci-libs/djbfft/files/djbfft-0.76-headers.patch20
-rw-r--r--sci-libs/djbfft/files/djbfft-0.76-tc-directly.patch22
-rw-r--r--sci-libs/djbfft/metadata.xml4
-rw-r--r--sci-libs/dlib/Manifest4
-rw-r--r--sci-libs/dlib/dlib-19.16-r1.ebuild106
-rw-r--r--sci-libs/dlib/dlib-19.24.2.ebuild106
-rw-r--r--sci-libs/dlib/dlib-19.24.ebuild106
-rw-r--r--sci-libs/dlib/dlib-19.9.ebuild77
-rw-r--r--sci-libs/dlib/metadata.xml2
-rw-r--r--sci-libs/dmlc-core/Manifest1
-rw-r--r--sci-libs/dmlc-core/dmlc-core-0.5.ebuild105
-rw-r--r--sci-libs/dmlc-core/dmlc-core-0_p20170719-r1.ebuild105
-rw-r--r--sci-libs/dmlc-core/dmlc-core-0_p20170719.ebuild98
-rw-r--r--sci-libs/dmlc-core/metadata.xml2
-rw-r--r--sci-libs/dsdp/dsdp-5.8-r3.ebuild90
-rw-r--r--sci-libs/dsdp/dsdp-5.8-r4.ebuild89
-rw-r--r--sci-libs/dsdp/metadata.xml4
-rw-r--r--sci-libs/eccodes/Manifest3
-rw-r--r--sci-libs/eccodes/eccodes-2.16.0.ebuild79
-rw-r--r--sci-libs/eccodes/eccodes-2.18.0.ebuild97
-rw-r--r--sci-libs/eccodes/metadata.xml7
-rw-r--r--sci-libs/evaluate/Manifest1
-rw-r--r--sci-libs/evaluate/evaluate-0.4.0-r3.ebuild52
-rw-r--r--sci-libs/evaluate/files/evaluate-0.4.0-tests.patch220
-rw-r--r--sci-libs/evaluate/metadata.xml12
-rw-r--r--sci-libs/exodusii/exodusii-6.09-r1.ebuild56
-rw-r--r--sci-libs/exodusii/exodusii-6.09.ebuild57
-rw-r--r--sci-libs/exodusii/metadata.xml12
-rw-r--r--sci-libs/fcl/Manifest2
-rw-r--r--sci-libs/fcl/fcl-0.5.0.ebuild41
-rw-r--r--sci-libs/fcl/fcl-0.6.1-r1.ebuild72
-rw-r--r--sci-libs/fcl/fcl-9999.ebuild65
-rw-r--r--sci-libs/fcl/metadata.xml13
-rw-r--r--sci-libs/fetk/fetk-1.5.ebuild13
-rw-r--r--sci-libs/fetk/metadata.xml30
-rw-r--r--sci-libs/fflas-ffpack/Manifest1
-rw-r--r--sci-libs/fflas-ffpack/fflas-ffpack-2.4.3-r3.ebuild73
-rw-r--r--sci-libs/fflas-ffpack/fflas-ffpack-2.4.3.ebuild62
-rw-r--r--sci-libs/fflas-ffpack/fflas-ffpack-2.5.0-r1.ebuild57
-rw-r--r--sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-internal-linking.patch70
-rw-r--r--sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-pc-libdir.patch21
-rw-r--r--sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-fabi-version.patch31
-rw-r--r--sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-echelon.patch39
-rw-r--r--sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-fgesv.patch37
-rw-r--r--sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-blaslapack.patch75
-rw-r--r--sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-no-test-fsyr2k.patch30
-rw-r--r--sci-libs/fflas-ffpack/metadata.xml6
-rw-r--r--sci-libs/fftw/Manifest4
-rw-r--r--sci-libs/fftw/fftw-2.1.5-r9.ebuild137
-rw-r--r--sci-libs/fftw/fftw-3.3.10.ebuild159
-rw-r--r--sci-libs/fftw/fftw-3.3.6_p2.ebuild181
-rw-r--r--sci-libs/fftw/fftw-3.3.8-r1.ebuild186
-rw-r--r--sci-libs/fftw/fftw-3.3.8.ebuild182
-rw-r--r--sci-libs/fftw/fftw-9999.ebuild89
-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-parallel-tests.patch105
-rw-r--r--sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch21
-rw-r--r--sci-libs/fftw/metadata.xml9
-rw-r--r--sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch81
-rw-r--r--sci-libs/flann/files/flann-1.9.1-system-lz4-pkgconfig.patch38
-rw-r--r--sci-libs/flann/flann-1.9.1-r3.ebuild94
-rw-r--r--sci-libs/flann/flann-1.9.1-r6.ebuild94
-rw-r--r--sci-libs/flann/flann-9999.ebuild92
-rw-r--r--sci-libs/flann/metadata.xml5
-rw-r--r--sci-libs/foxi/Manifest1
-rw-r--r--sci-libs/foxi/files/foxi-2021.05.27-gentoo.patch73
-rw-r--r--sci-libs/foxi/foxi-2021.05.27.ebuild24
-rw-r--r--sci-libs/foxi/metadata.xml11
-rw-r--r--sci-libs/fplll/Manifest4
-rw-r--r--sci-libs/fplll/fplll-4.0.4.ebuild32
-rw-r--r--sci-libs/fplll/fplll-5.3.2.ebuild29
-rw-r--r--sci-libs/fplll/fplll-5.3.3.ebuild29
-rw-r--r--sci-libs/fplll/fplll-5.4.5.ebuild29
-rw-r--r--sci-libs/fplll/metadata.xml9
-rw-r--r--sci-libs/galib/Manifest1
-rw-r--r--sci-libs/galib/files/galib-2.4.7-Wformat-security.patch79
-rw-r--r--sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch65
-rw-r--r--sci-libs/galib/files/galib-2.4.7-fix-c++14.patch85
-rw-r--r--sci-libs/galib/galib-2.4.7-r1.ebuild54
-rw-r--r--sci-libs/galib/galib-2.4.7-r2.ebuild44
-rw-r--r--sci-libs/galib/metadata.xml2
-rw-r--r--sci-libs/gamer/gamer-1.5-r2.ebuild63
-rw-r--r--sci-libs/gamer/metadata.xml2
-rw-r--r--sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild6
-rw-r--r--sci-libs/gaul-devel/metadata.xml4
-rw-r--r--sci-libs/gdal/Manifest5
-rw-r--r--sci-libs/gdal/files/gdal-2.2.3-soname.patch54
-rw-r--r--sci-libs/gdal/files/gdal-2.3.0-curl.patch15
-rw-r--r--sci-libs/gdal/files/gdal-3.0.2-complete.patch84
-rw-r--r--sci-libs/gdal/files/gdal-3.0.2-datadir.patch69
-rw-r--r--sci-libs/gdal/files/gdal-3.0.4-poppler-20.08.patch42
-rw-r--r--sci-libs/gdal/files/gdal-3.6.4-abseil-cpp-20230125.2-c++17.patch12
-rw-r--r--sci-libs/gdal/files/gdal-3.7.0-zlib-OF.patch51
-rw-r--r--sci-libs/gdal/files/gdal-3.8.0-java21.patch20
-rw-r--r--sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-1.patch22
-rw-r--r--sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-2.patch27
-rw-r--r--sci-libs/gdal/gdal-3.0.4-r1.ebuild304
-rw-r--r--sci-libs/gdal/gdal-3.8.0-r1.ebuild288
-rw-r--r--sci-libs/gdal/gdal-3.8.5.ebuild286
-rw-r--r--sci-libs/gdal/metadata.xml8
-rw-r--r--sci-libs/geos/Manifest6
-rw-r--r--sci-libs/geos/files/geos-3.11.1-gcc-13.patch111
-rw-r--r--sci-libs/geos/files/geos-3.11.2-gcc-13.patch38
-rw-r--r--sci-libs/geos/geos-3.11.0.ebuild46
-rw-r--r--sci-libs/geos/geos-3.11.1.ebuild50
-rw-r--r--sci-libs/geos/geos-3.11.2.ebuild55
-rw-r--r--sci-libs/geos/geos-3.12.0.ebuild51
-rw-r--r--sci-libs/geos/geos-3.12.1.ebuild51
-rw-r--r--sci-libs/geos/geos-3.8.1.ebuild52
-rw-r--r--sci-libs/geos/metadata.xml39
-rw-r--r--sci-libs/gerris/files/gerris-20131206-respect-NM.patch12
-rw-r--r--sci-libs/gerris/files/gerris-20131206-slibtool.patch119
-rw-r--r--sci-libs/gerris/gerris-20131206-r1.ebuild23
-rw-r--r--sci-libs/gerris/metadata.xml2
-rw-r--r--sci-libs/getdata/Manifest2
-rw-r--r--sci-libs/getdata/files/getdata-0.11.0-bashisms-configure.patch66
-rw-r--r--sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch12
-rw-r--r--sci-libs/getdata/files/getdata-0.9.0-remove-python-test.patch13
-rw-r--r--sci-libs/getdata/getdata-0.11.0-r2.ebuild71
-rw-r--r--sci-libs/getdata/getdata-0.11.0.ebuild60
-rw-r--r--sci-libs/getdata/getdata-0.9.0-r3.ebuild72
-rw-r--r--sci-libs/getdata/metadata.xml5
-rw-r--r--sci-libs/ginkgo/Manifest3
-rw-r--r--sci-libs/ginkgo/files/ginkgo-1.1.1-set_soname.patch14
-rw-r--r--sci-libs/ginkgo/files/ginkgo-1.6.0-disable_automagic_dependencies.patch24
-rw-r--r--sci-libs/ginkgo/files/ginkgo-1.6.0-fix_type_mismatch.patch12
-rw-r--r--sci-libs/ginkgo/ginkgo-1.1.1-r1.ebuild60
-rw-r--r--sci-libs/ginkgo/ginkgo-1.4.0-r3.ebuild57
-rw-r--r--sci-libs/ginkgo/ginkgo-1.6.0.ebuild62
-rw-r--r--sci-libs/ginkgo/ginkgo-9999.ebuild60
-rw-r--r--sci-libs/ginkgo/metadata.xml5
-rw-r--r--sci-libs/givaro/Manifest1
-rw-r--r--sci-libs/givaro/files/givaro-4.1.1-fix-pc-libdir.patch21
-rw-r--r--sci-libs/givaro/files/givaro-4.1.1-gcc-10.patch36
-rw-r--r--sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch23
-rw-r--r--sci-libs/givaro/files/givaro-4.2.0-configure.ac-fix-a-bashism.patch32
-rw-r--r--sci-libs/givaro/files/givaro-4.2.0-cstdint.patch46
-rw-r--r--sci-libs/givaro/files/givaro-4.2.0-gcc14.patch31
-rw-r--r--sci-libs/givaro/givaro-4.1.1-r3.ebuild60
-rw-r--r--sci-libs/givaro/givaro-4.1.1.ebuild54
-rw-r--r--sci-libs/givaro/givaro-4.2.0.ebuild54
-rw-r--r--sci-libs/givaro/metadata.xml6
-rw-r--r--sci-libs/gklib/Manifest1
-rw-r--r--sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch13
-rw-r--r--sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch51
-rw-r--r--sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild32
-rw-r--r--sci-libs/gklib/metadata.xml11
-rw-r--r--sci-libs/gloo/Manifest1
-rw-r--r--sci-libs/gloo/files/gloo-2022.05.18-gentoo.patch94
-rw-r--r--sci-libs/gloo/files/gloo-2023.01.17-cuda.patch13
-rw-r--r--sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch19
-rw-r--r--sci-libs/gloo/gloo-2023.07.19.ebuild67
-rw-r--r--sci-libs/gloo/metadata.xml15
-rw-r--r--sci-libs/gmsh/Manifest3
-rw-r--r--sci-libs/gmsh/files/gmsh-4.11.1-metis-5-2.patch19
-rw-r--r--sci-libs/gmsh/files/gmsh-4.11.1_gcc13_fix_cstdint_include.patch29
-rw-r--r--sci-libs/gmsh/files/gmsh-4.9.5-opencascade.patch20
-rw-r--r--sci-libs/gmsh/gmsh-4.11.1-r2.ebuild138
-rw-r--r--sci-libs/gmsh/gmsh-4.12.2-r1.ebuild137
-rw-r--r--sci-libs/gmsh/gmsh-4.4.1.ebuild76
-rw-r--r--sci-libs/gmsh/metadata.xml21
-rw-r--r--sci-libs/gsl/Manifest7
-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-2.7.1-configure-clang16.patch26
-rw-r--r--sci-libs/gsl/gsl-1.16.ebuild107
-rw-r--r--sci-libs/gsl/gsl-2.4.ebuild112
-rw-r--r--sci-libs/gsl/gsl-2.5-r1.ebuild58
-rw-r--r--sci-libs/gsl/gsl-2.5.ebuild112
-rw-r--r--sci-libs/gsl/gsl-2.7.1-r2.ebuild61
-rw-r--r--sci-libs/gsl/metadata.xml8
-rw-r--r--sci-libs/gts/files/gts-20111025-autotools.patch56
-rw-r--r--sci-libs/gts/files/gts-20121130-autotools.patch32
-rw-r--r--sci-libs/gts/gts-20121130.ebuild63
-rw-r--r--sci-libs/gts/metadata.xml2
-rw-r--r--sci-libs/h5hut/h5hut-1.99.13-r1.ebuild40
-rw-r--r--sci-libs/h5hut/h5hut-1.99.13.ebuild38
-rw-r--r--sci-libs/h5hut/metadata.xml6
-rw-r--r--sci-libs/h5part/h5part-1.6.6-r1.ebuild28
-rw-r--r--sci-libs/h5part/h5part-1.6.6.ebuild28
-rw-r--r--sci-libs/h5part/metadata.xml6
-rw-r--r--sci-libs/hdf/Manifest4
-rw-r--r--sci-libs/hdf/files/0001-simply-do-not-build-the-mfhdf-tools-ncgen-ncdump.patch30
-rw-r--r--sci-libs/hdf/files/hdf-4.2.11-enable-fortran-shared.patch35
-rw-r--r--sci-libs/hdf/files/hdf-4.2.11-fix-examples-dir.patch120
-rw-r--r--sci-libs/hdf/files/hdf-4.2.11-fix-szip-detection.patch27
-rw-r--r--sci-libs/hdf/files/hdf-4.2.13-fix-xdr-configure.patch13
-rw-r--r--sci-libs/hdf/files/hdf-4.2.13-linux-tirpc.patch29
-rw-r--r--sci-libs/hdf/files/hdf-4.2.15-enable-fortran-shared.patch37
-rw-r--r--sci-libs/hdf/files/hdf-4.2.15-fix-rpch-location.patch13
-rw-r--r--sci-libs/hdf/files/hdf4-c99.patch371
-rw-r--r--sci-libs/hdf/hdf-4.2.11.ebuild66
-rw-r--r--sci-libs/hdf/hdf-4.2.13-r1.ebuild73
-rw-r--r--sci-libs/hdf/hdf-4.2.13.ebuild70
-rw-r--r--sci-libs/hdf/hdf-4.2.15-r2.ebuild92
-rw-r--r--sci-libs/hdf/metadata.xml5
-rw-r--r--sci-libs/hdf5/Manifest5
-rw-r--r--sci-libs/hdf5/files/hdf5-1.12.2-configure-clang16.patch30
-rw-r--r--sci-libs/hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch20
-rw-r--r--sci-libs/hdf5/files/hdf5-1.12.2-no-strip-symbols.patch16
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.2-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch28
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.2-0002-Disable-forced-stripping.patch31
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.2-0003-Drop-broken-Werror-stripping.patch37
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch28
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch31
-rw-r--r--sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch65
-rw-r--r--sci-libs/hdf5/hdf5-1.10.5-r1.ebuild14
-rw-r--r--sci-libs/hdf5/hdf5-1.10.5.ebuild101
-rw-r--r--sci-libs/hdf5/hdf5-1.12.2-r4.ebuild117
-rw-r--r--sci-libs/hdf5/hdf5-1.12.2-r6.ebuild119
-rw-r--r--sci-libs/hdf5/hdf5-1.14.1.ebuild115
-rw-r--r--sci-libs/hdf5/hdf5-1.14.2.ebuild116
-rw-r--r--sci-libs/hdf5/hdf5-1.14.3-r1.ebuild119
-rw-r--r--sci-libs/hdf5/hdf5-1.14.4_p2.ebuild119
-rw-r--r--sci-libs/hdf5/metadata.xml33
-rw-r--r--sci-libs/hipBLAS/Manifest3
-rw-r--r--sci-libs/hipBLAS/hipBLAS-5.1.3.ebuild44
-rw-r--r--sci-libs/hipBLAS/hipBLAS-5.4.2.ebuild35
-rw-r--r--sci-libs/hipBLAS/hipBLAS-5.7.1.ebuild36
-rw-r--r--sci-libs/hipBLAS/metadata.xml18
-rw-r--r--sci-libs/hipCUB/Manifest2
-rw-r--r--sci-libs/hipCUB/files/hipCUB-4.3.0-add-memory-header.patch12
-rw-r--r--sci-libs/hipCUB/hipCUB-5.1.3.ebuild71
-rw-r--r--sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild55
-rw-r--r--sci-libs/hipCUB/metadata.xml21
-rw-r--r--sci-libs/hipFFT/Manifest2
-rw-r--r--sci-libs/hipFFT/files/hipFFT-4.3.0-add-complex-header.patch11
-rw-r--r--sci-libs/hipFFT/files/hipFFT-5.0.2-remove-git-dependency.patch35
-rw-r--r--sci-libs/hipFFT/files/hipFFT-5.1.3-gentoo-install-locations.patch29
-rw-r--r--sci-libs/hipFFT/files/hipFFT-5.1.3_hip-config.patch90
-rw-r--r--sci-libs/hipFFT/files/hipFFT-5.7.1_hip-config.patch40
-rw-r--r--sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild44
-rw-r--r--sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild42
-rw-r--r--sci-libs/hipFFT/metadata.xml19
-rw-r--r--sci-libs/hipRAND/Manifest2
-rw-r--r--sci-libs/hipRAND/hipRAND-5.6.0-r1.ebuild36
-rw-r--r--sci-libs/hipRAND/hipRAND-5.7.1.ebuild36
-rw-r--r--sci-libs/hipRAND/metadata.xml15
-rw-r--r--sci-libs/hipSOLVER/Manifest1
-rw-r--r--sci-libs/hipSOLVER/hipSOLVER-5.7.1.ebuild35
-rw-r--r--sci-libs/hipSOLVER/metadata.xml19
-rw-r--r--sci-libs/hipSPARSE/Manifest21
-rw-r--r--sci-libs/hipSPARSE/files/hipSPARSE-5.0.2-remove-matrices-unpacking.patch126
-rw-r--r--sci-libs/hipSPARSE/hipSPARSE-5.1.3-r1.ebuild99
-rw-r--r--sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild98
-rw-r--r--sci-libs/hipSPARSE/metadata.xml19
-rw-r--r--sci-libs/htslib/Manifest4
-rw-r--r--sci-libs/htslib/htslib-1.10.2.ebuild51
-rw-r--r--sci-libs/htslib/htslib-1.17.ebuild52
-rw-r--r--sci-libs/htslib/htslib-1.19.1.ebuild52
-rw-r--r--sci-libs/htslib/htslib-1.9.ebuild45
-rw-r--r--sci-libs/htslib/metadata.xml16
-rw-r--r--sci-libs/huggingface_hub/Manifest2
-rw-r--r--sci-libs/huggingface_hub/huggingface_hub-0.20.3.ebuild31
-rw-r--r--sci-libs/huggingface_hub/huggingface_hub-0.21.4.ebuild31
-rw-r--r--sci-libs/huggingface_hub/metadata.xml12
-rw-r--r--sci-libs/hypre/Manifest6
-rw-r--r--sci-libs/hypre/hypre-2.14.0.ebuild107
-rw-r--r--sci-libs/hypre/hypre-2.18.0.ebuild101
-rw-r--r--sci-libs/hypre/hypre-2.18.2.ebuild100
-rw-r--r--sci-libs/hypre/hypre-2.20.0.ebuild108
-rw-r--r--sci-libs/hypre/hypre-2.21.0.ebuild109
-rw-r--r--sci-libs/hypre/hypre-2.24.0.ebuild109
-rw-r--r--sci-libs/hypre/metadata.xml5
-rw-r--r--sci-libs/ideep/Manifest2
-rw-r--r--sci-libs/ideep/files/ideep-3.1.1-20230825.patch36
-rw-r--r--sci-libs/ideep/ideep-3.1.1.ebuild22
-rw-r--r--sci-libs/ideep/ideep-3.3.2.ebuild20
-rw-r--r--sci-libs/ideep/metadata.xml11
-rw-r--r--sci-libs/idlcoyote/idlcoyote-20161220.ebuild3
-rw-r--r--sci-libs/idlcoyote/idlcoyote-99999999.ebuild3
-rw-r--r--sci-libs/idlcoyote/metadata.xml2
-rw-r--r--sci-libs/idlmarkwardt/Manifest1
-rw-r--r--sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild24
-rw-r--r--sci-libs/idlmarkwardt/idlmarkwardt-20160319-r1.ebuild21
-rw-r--r--sci-libs/idlmarkwardt/idlmarkwardt-20160319.ebuild24
-rw-r--r--sci-libs/idlmarkwardt/metadata.xml2
-rw-r--r--sci-libs/ignition-common/Manifest3
-rw-r--r--sci-libs/ignition-common/files/ffmpeg5.patch28
-rw-r--r--sci-libs/ignition-common/files/ffmpeg6.patch40
-rw-r--r--sci-libs/ignition-common/ignition-common-3.14.2.ebuild47
-rw-r--r--sci-libs/ignition-common/ignition-common-3.17.0.ebuild47
-rw-r--r--sci-libs/ignition-common/ignition-common-3.5.0.ebuild40
-rw-r--r--sci-libs/ignition-common/metadata.xml2
-rw-r--r--sci-libs/ignition-fuel-tools/Manifest2
-rw-r--r--sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.1.0.ebuild42
-rw-r--r--sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.9.1.ebuild44
-rw-r--r--sci-libs/ignition-fuel-tools/metadata.xml2
-rw-r--r--sci-libs/ignition-math/Manifest4
-rw-r--r--sci-libs/ignition-math/files/includes.patch12
-rw-r--r--sci-libs/ignition-math/ignition-math-4.0.0-r1.ebuild22
-rw-r--r--sci-libs/ignition-math/ignition-math-6.14.0.ebuild25
-rw-r--r--sci-libs/ignition-math/ignition-math-6.15.1.ebuild25
-rw-r--r--sci-libs/ignition-math/ignition-math-6.4.0.ebuild26
-rw-r--r--sci-libs/ignition-math/metadata.xml2
-rw-r--r--sci-libs/iml/iml-1.0.5.ebuild7
-rw-r--r--sci-libs/iml/metadata.xml2
-rw-r--r--sci-libs/inchi/Manifest2
-rw-r--r--sci-libs/inchi/files/inchi-1.03-shared.patch5
-rw-r--r--sci-libs/inchi/files/inchi-1.04-static.patch26
-rw-r--r--sci-libs/inchi/inchi-1.04-r1.ebuild64
-rw-r--r--sci-libs/inchi/inchi-1.04.ebuild73
-rw-r--r--sci-libs/inchi/inchi-1.06-r1.ebuild75
-rw-r--r--sci-libs/inchi/metadata.xml5
-rw-r--r--sci-libs/indilib/Manifest5
-rw-r--r--sci-libs/indilib/files/indilib-2.0.7-fix-system-httplib.patch32
-rw-r--r--sci-libs/indilib/indilib-1.7.5.ebuild52
-rw-r--r--sci-libs/indilib/indilib-1.8.3.ebuild56
-rw-r--r--sci-libs/indilib/indilib-1.8.5.ebuild56
-rw-r--r--sci-libs/indilib/indilib-2.0.6.ebuild85
-rw-r--r--sci-libs/indilib/indilib-2.0.7.ebuild87
-rw-r--r--sci-libs/indilib/metadata.xml5
-rw-r--r--sci-libs/io_lib/Manifest1
-rw-r--r--sci-libs/io_lib/io_lib-1.14.7.ebuild37
-rw-r--r--sci-libs/io_lib/metadata.xml17
-rw-r--r--sci-libs/ipopt/Manifest4
-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/ipopt-3.12.12.ebuild92
-rw-r--r--sci-libs/ipopt/ipopt-3.14.4.ebuild76
-rw-r--r--sci-libs/ipopt/metadata.xml28
-rw-r--r--sci-libs/itpp/files/itpp-4.3.1-use-GNUInstallDirs.patch116
-rw-r--r--sci-libs/itpp/itpp-4.3.1-r1.ebuild59
-rw-r--r--sci-libs/itpp/itpp-4.3.1-r2.ebuild40
-rw-r--r--sci-libs/itpp/metadata.xml4
-rw-r--r--sci-libs/jama/metadata.xml2
-rw-r--r--sci-libs/jiwer/Manifest1
-rw-r--r--sci-libs/jiwer/files/jiwer-3.0.1-tests.patch31
-rw-r--r--sci-libs/jiwer/jiwer-3.0.3.ebuild27
-rw-r--r--sci-libs/jiwer/metadata.xml12
-rw-r--r--sci-libs/keras-applications/Manifest1
-rw-r--r--sci-libs/keras-applications/keras-applications-1.0.7.ebuild20
-rw-r--r--sci-libs/keras-applications/keras-applications-1.0.8-r2.ebuild18
-rw-r--r--sci-libs/keras-applications/keras-applications-1.0.8.ebuild20
-rw-r--r--sci-libs/keras-applications/metadata.xml2
-rw-r--r--sci-libs/keras-preprocessing/Manifest3
-rw-r--r--sci-libs/keras-preprocessing/keras-preprocessing-1.0.9.ebuild22
-rw-r--r--sci-libs/keras-preprocessing/keras-preprocessing-1.1.0.ebuild22
-rw-r--r--sci-libs/keras-preprocessing/keras-preprocessing-1.1.2-r1.ebuild23
-rw-r--r--sci-libs/keras-preprocessing/metadata.xml2
-rw-r--r--sci-libs/kim-api/Manifest2
-rw-r--r--sci-libs/kim-api/kim-api-2.1.3-r1.ebuild18
-rw-r--r--sci-libs/kim-api/kim-api-2.2.1.ebuild17
-rw-r--r--sci-libs/kim-api/metadata.xml2
-rw-r--r--sci-libs/kineto/Manifest1
-rw-r--r--sci-libs/kineto/files/kineto-0.4.0-gcc13.patch10
-rw-r--r--sci-libs/kineto/files/kineto-0.4.0_p20231031-gentoo.patch74
-rw-r--r--sci-libs/kineto/kineto-0.4.0_p20231127.ebuild51
-rw-r--r--sci-libs/kineto/metadata.xml11
-rw-r--r--sci-libs/kissfft/Manifest1
-rw-r--r--sci-libs/kissfft/files/kissfft-131.1.0-cmake.patch26
-rw-r--r--sci-libs/kissfft/files/kissfft-131.1.0-cross.patch30
-rw-r--r--sci-libs/kissfft/kissfft-131.1.0-r1.ebuild63
-rw-r--r--sci-libs/kissfft/kissfft-131.1.0.ebuild62
-rw-r--r--sci-libs/kissfft/kissfft-9999.ebuild63
-rw-r--r--sci-libs/kissfft/metadata.xml15
-rw-r--r--sci-libs/klu/Manifest1
-rw-r--r--sci-libs/klu/files/klu-1.3.9-dash_doc.patch25
-rw-r--r--sci-libs/klu/klu-1.3.9-r2.ebuild45
-rw-r--r--sci-libs/klu/klu-1.3.9.ebuild27
-rw-r--r--sci-libs/klu/klu-2.0.3.ebuild65
-rw-r--r--sci-libs/klu/metadata.xml5
-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-r14
-rw-r--r--sci-libs/lapack-reference/files/lapack-reference-3.2.1-parallel-make.patch112
-rw-r--r--sci-libs/lapack-reference/files/lapack-reference-3.6.0-fix-build-system.patch92
-rw-r--r--sci-libs/lapack-reference/files/lapack-reference-3.7.0-fix-build-system.patch56
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.2.1-r4.ebuild100
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.6.0.ebuild90
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.7.0.ebuild97
-rw-r--r--sci-libs/lapack-reference/metadata.xml19
-rw-r--r--sci-libs/lapack/Manifest3
-rw-r--r--sci-libs/lapack/files/lapack-3.12.0-correct-64bit-interface.patch38
-rw-r--r--sci-libs/lapack/files/lapack-3.12.0-test-summary.patch21
-rw-r--r--sci-libs/lapack/lapack-3.11.ebuild112
-rw-r--r--sci-libs/lapack/lapack-3.12.0-r1.ebuild119
-rw-r--r--sci-libs/lapack/lapack-3.12.0.ebuild112
-rw-r--r--sci-libs/lapack/lapack-3.8.0-r1.ebuild92
-rw-r--r--sci-libs/lapack/lapack-3.8.0.ebuild91
-rw-r--r--sci-libs/lapack/metadata.xml5
-rw-r--r--sci-libs/ldl/Manifest1
-rw-r--r--sci-libs/ldl/ldl-2.2.6.ebuild6
-rw-r--r--sci-libs/ldl/ldl-3.0.3.ebuild62
-rw-r--r--sci-libs/ldl/metadata.xml5
-rw-r--r--sci-libs/lemon/lemon-1.3.1-r2.ebuild96
-rw-r--r--sci-libs/lemon/lemon-1.3.1.ebuild90
-rw-r--r--sci-libs/lemon/metadata.xml2
-rw-r--r--sci-libs/levmar/levmar-2.6-r1.ebuild49
-rw-r--r--sci-libs/levmar/levmar-2.6.ebuild48
-rw-r--r--sci-libs/levmar/metadata.xml4
-rw-r--r--sci-libs/libaec/Manifest5
-rw-r--r--sci-libs/libaec/libaec-0.3.2.ebuild35
-rw-r--r--sci-libs/libaec/libaec-1.0.0.ebuild35
-rw-r--r--sci-libs/libaec/libaec-1.0.1.ebuild28
-rw-r--r--sci-libs/libaec/libaec-1.0.2.ebuild28
-rw-r--r--sci-libs/libaec/libaec-1.0.6.ebuild44
-rw-r--r--sci-libs/libaec/metadata.xml2
-rw-r--r--sci-libs/libbraiding/Manifest2
-rw-r--r--sci-libs/libbraiding/libbraiding-1.0.ebuild28
-rw-r--r--sci-libs/libbraiding/libbraiding-1.2.ebuild21
-rw-r--r--sci-libs/libbraiding/metadata.xml6
-rw-r--r--sci-libs/libbufr/Manifest1
-rw-r--r--sci-libs/libbufr/files/libbufr-000405-makefile.patch80
-rw-r--r--sci-libs/libbufr/libbufr-000405.ebuild196
-rw-r--r--sci-libs/libbufr/metadata.xml12
-rw-r--r--sci-libs/libccd/Manifest1
-rw-r--r--sci-libs/libccd/libccd-2.0.ebuild59
-rw-r--r--sci-libs/libccd/libccd-2.1.ebuild14
-rw-r--r--sci-libs/libccd/libccd-9999.ebuild14
-rw-r--r--sci-libs/libccd/metadata.xml4
-rw-r--r--sci-libs/libcerf/Manifest2
-rw-r--r--sci-libs/libcerf/libcerf-1.17.ebuild16
-rw-r--r--sci-libs/libcerf/libcerf-1.5.ebuild25
-rw-r--r--sci-libs/libcerf/metadata.xml2
-rw-r--r--sci-libs/libcifpp/Manifest6
-rw-r--r--sci-libs/libcifpp/libcifpp-5.1.1.ebuild38
-rw-r--r--sci-libs/libcifpp/libcifpp-5.1.2.ebuild38
-rw-r--r--sci-libs/libcifpp/libcifpp-5.2.2.ebuild38
-rw-r--r--sci-libs/libcifpp/metadata.xml10
-rw-r--r--sci-libs/libcmatrix/Manifest1
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch40
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.11.0-gcc5.2.patch16
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch80
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch12
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch16
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch227
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.2.1-minuit2.patch14
-rw-r--r--sci-libs/libcmatrix/files/libcmatrix-3.9.0-atlas.patch24
-rw-r--r--sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild59
-rw-r--r--sci-libs/libcmatrix/metadata.xml8
-rw-r--r--sci-libs/libdap/Manifest2
-rw-r--r--sci-libs/libdap/files/libdap-3.18.1-disable-broken-tests.patch18
-rw-r--r--sci-libs/libdap/files/libdap-3.18.1-disable-cache-test.patch22
-rw-r--r--sci-libs/libdap/files/libdap-3.18.1-disable-dmr-tests.patch31
-rw-r--r--sci-libs/libdap/files/libdap-3.18.1-disable-net-tests.patch33
-rw-r--r--sci-libs/libdap/files/libdap-3.18.1-fix-buildsystem.patch20
-rw-r--r--sci-libs/libdap/files/libdap-3.18.1-fix-c++14.patch100
-rw-r--r--sci-libs/libdap/files/libdap-3.20.9-disable-net-tests.patch26
-rw-r--r--sci-libs/libdap/libdap-3.18.1.ebuild55
-rw-r--r--sci-libs/libdap/libdap-3.20.9.ebuild58
-rw-r--r--sci-libs/libdap/metadata.xml2
-rw-r--r--sci-libs/libecpint/Manifest1
-rw-r--r--sci-libs/libecpint/libecpint-1.0.6-r1.ebuild34
-rw-r--r--sci-libs/libecpint/metadata.xml17
-rw-r--r--sci-libs/libexcelformat/files/libexcelformat-101016-Wliteral-suffix.patch13
-rw-r--r--sci-libs/libexcelformat/libexcelformat-101016-r1.ebuild26
-rw-r--r--sci-libs/libexcelformat/libexcelformat-101016.ebuild28
-rw-r--r--sci-libs/libexcelformat/metadata.xml2
-rw-r--r--sci-libs/libgenome/Manifest1
-rw-r--r--sci-libs/libgenome/files/libgenome-1.3-fix-c++14.patch30
-rw-r--r--sci-libs/libgenome/libgenome-1.3-r1.ebuild39
-rw-r--r--sci-libs/libgenome/metadata.xml8
-rw-r--r--sci-libs/libgeodecomp/Manifest2
-rw-r--r--sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20201009-mpi.patch (renamed from sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200420-mpi.patch)0
-rw-r--r--sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20201009-opencv.patch186
-rw-r--r--sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200420.ebuild82
-rw-r--r--sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20201009.ebuild85
-rw-r--r--sci-libs/libgeodecomp/metadata.xml12
-rw-r--r--sci-libs/libgeotiff/Manifest2
-rw-r--r--sci-libs/libgeotiff/files/libgeotiff-1.5.1-proj-6.2-tests.patch57
-rw-r--r--sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch120
-rw-r--r--sci-libs/libgeotiff/libgeotiff-1.5.1-r1.ebuild60
-rw-r--r--sci-libs/libgeotiff/libgeotiff-1.7.1-r3.ebuild53
-rw-r--r--sci-libs/libgeotiff/metadata.xml5
-rw-r--r--sci-libs/libghemical/metadata.xml14
-rw-r--r--sci-libs/libh2o/libh2o-0.2.1-r1.ebuild10
-rw-r--r--sci-libs/libh2o/libh2o-9999.ebuild37
-rw-r--r--sci-libs/libh2o/metadata.xml6
-rw-r--r--sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild9
-rw-r--r--sci-libs/libh2oxx/libh2oxx-9999.ebuild38
-rw-r--r--sci-libs/libh2oxx/metadata.xml6
-rw-r--r--sci-libs/libhomfly/Manifest1
-rw-r--r--sci-libs/libhomfly/libhomfly-1.02.6.ebuild29
-rw-r--r--sci-libs/libhomfly/metadata.xml24
-rw-r--r--sci-libs/libigl/Manifest1
-rw-r--r--sci-libs/libigl/libigl-2.5.0.ebuild57
-rw-r--r--sci-libs/libigl/metadata.xml18
-rw-r--r--sci-libs/libint/Manifest3
-rw-r--r--sci-libs/libint/files/libint-1.1.6-as-needed.patch17
-rw-r--r--sci-libs/libint/libint-1.1.6.ebuild27
-rw-r--r--sci-libs/libint/libint-2.0.5.ebuild60
-rw-r--r--sci-libs/libint/libint-2.6.0-r5.ebuild69
-rw-r--r--sci-libs/libint/libint-2.9.0.ebuild74
-rw-r--r--sci-libs/libint/metadata.xml4
-rw-r--r--sci-libs/libmems/Manifest1
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-boost-1.62-type-traits.patch15
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-boost.patch120
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-broken-constness.patch24
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-build.patch29
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-fix-c++14.patch18
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-format-security.patch16
-rw-r--r--sci-libs/libmems/files/libmems-1.6_p1-gcc-4.7.patch71
-rw-r--r--sci-libs/libmems/libmems-1.6_p1-r3.ebuild59
-rw-r--r--sci-libs/libmems/libmems-9999.ebuild31
-rw-r--r--sci-libs/libmems/metadata.xml8
-rw-r--r--sci-libs/libmuscle/libmuscle-3.7-r3.ebuild40
-rw-r--r--sci-libs/libmuscle/libmuscle-3.7-r4.ebuild47
-rw-r--r--sci-libs/libmuscle/metadata.xml2
-rw-r--r--sci-libs/libnova/files/libnova-0.16.0-slibtool.patch26
-rw-r--r--sci-libs/libnova/libnova-0.16.0.ebuild10
-rw-r--r--sci-libs/libnova/metadata.xml4
-rw-r--r--sci-libs/liborigin/Manifest2
-rw-r--r--sci-libs/liborigin/files/liborigin-3.0.0-buildsystem.patch166
-rw-r--r--sci-libs/liborigin/files/liborigin-3.0.0-missing-header.patch38
-rw-r--r--sci-libs/liborigin/files/liborigin-3.0.0-no-exit-calls.patch89
-rw-r--r--sci-libs/liborigin/files/liborigin-3.0.0-no-standard-streams.patch210
-rw-r--r--sci-libs/liborigin/files/liborigin-3.0.1-missing-header.patch24
-rw-r--r--sci-libs/liborigin/files/liborigin-3.0.1_p20210828-buildsystem.patch70
-rw-r--r--sci-libs/liborigin/liborigin-3.0.0.ebuild55
-rw-r--r--sci-libs/liborigin/liborigin-3.0.1_p20210828-r1.ebuild55
-rw-r--r--sci-libs/liborigin/metadata.xml6
-rw-r--r--sci-libs/libpdb++/metadata.xml2
-rw-r--r--sci-libs/libpdb/libpdb-991112-r1.ebuild4
-rw-r--r--sci-libs/libpdb/metadata.xml2
-rw-r--r--sci-libs/libqalculate/Manifest11
-rw-r--r--sci-libs/libqalculate/files/libqalculate-0.9.9-readline.patch13
-rw-r--r--sci-libs/libqalculate/files/libqalculate-4.5.0-tests.patch81
-rw-r--r--sci-libs/libqalculate/libqalculate-0.9.9.ebuild66
-rw-r--r--sci-libs/libqalculate/libqalculate-2.2.0.ebuild61
-rw-r--r--sci-libs/libqalculate/libqalculate-2.8.1.ebuild64
-rw-r--r--sci-libs/libqalculate/libqalculate-3.2.0-r1.ebuild64
-rw-r--r--sci-libs/libqalculate/libqalculate-4.5.0.ebuild83
-rw-r--r--sci-libs/libqalculate/libqalculate-4.6.1.ebuild79
-rw-r--r--sci-libs/libqalculate/libqalculate-4.7.0.ebuild79
-rw-r--r--sci-libs/libqalculate/libqalculate-4.8.0.ebuild79
-rw-r--r--sci-libs/libqalculate/libqalculate-4.8.1.ebuild79
-rw-r--r--sci-libs/libqalculate/libqalculate-5.0.0.ebuild79
-rw-r--r--sci-libs/libqalculate/libqalculate-5.0.0b.ebuild81
-rw-r--r--sci-libs/libqalculate/metadata.xml11
-rw-r--r--sci-libs/libsc/Manifest4
-rw-r--r--sci-libs/libsc/files/libsc-2.3-autoconf_lua_version.patch64
-rw-r--r--sci-libs/libsc/files/libsc-2.3.6-override_soname.patch13
-rw-r--r--sci-libs/libsc/files/libsc-2.8.5-do_not_compile_zlib-ng.patch57
-rw-r--r--sci-libs/libsc/files/libsc-2.8.5-fix_build_system.patch25
-rw-r--r--sci-libs/libsc/files/libsc-2.8.5-fix_cmake_path.patch33
-rw-r--r--sci-libs/libsc/files/libsc-2.8.5-set_version.patch49
-rw-r--r--sci-libs/libsc/files/libsc-2.8.5-use_zlib-ng_symbols.patch135
-rw-r--r--sci-libs/libsc/libsc-2.0.ebuild93
-rw-r--r--sci-libs/libsc/libsc-2.2.ebuild93
-rw-r--r--sci-libs/libsc/libsc-2.3.6.ebuild100
-rw-r--r--sci-libs/libsc/libsc-2.8.5-r3.ebuild72
-rw-r--r--sci-libs/libsc/libsc-9999.ebuild93
-rw-r--r--sci-libs/libsc/metadata.xml6
-rw-r--r--sci-libs/libsemigroups/Manifest1
-rw-r--r--sci-libs/libsemigroups/libsemigroups-2.7.3.ebuild27
-rw-r--r--sci-libs/libsemigroups/metadata.xml48
-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/files/libsigrok-0.5.2-check-0.15.patch26
-rw-r--r--sci-libs/libsigrok/files/libsigrok-0.5.2-ruby-swig-docs.patch63
-rw-r--r--sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch11
-rw-r--r--sci-libs/libsigrok/libsigrok-0.3.0.ebuild65
-rw-r--r--sci-libs/libsigrok/libsigrok-0.5.2-r3.ebuild154
-rw-r--r--sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild156
-rw-r--r--sci-libs/libsigrok/libsigrok-0.5.2.ebuild177
-rw-r--r--sci-libs/libsigrok/libsigrok-9999.ebuild57
-rw-r--r--sci-libs/libsigrok/metadata.xml6
-rw-r--r--sci-libs/libsigrokdecode/libsigrokdecode-0.5.3-r2.ebuild54
-rw-r--r--sci-libs/libsigrokdecode/libsigrokdecode-0.5.3.ebuild55
-rw-r--r--sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild23
-rw-r--r--sci-libs/libsigrokdecode/metadata.xml2
-rw-r--r--sci-libs/libspatialindex/Manifest1
-rw-r--r--sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch15
-rw-r--r--sci-libs/libspatialindex/files/libspatialindex-1.9.3-use-system-gtest.patch12
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.8.5-r1.ebuild40
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild44
-rw-r--r--sci-libs/libspatialindex/libspatialindex-1.9.3.ebuild33
-rw-r--r--sci-libs/libspatialindex/metadata.xml3
-rw-r--r--sci-libs/libsvm/Manifest4
-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/files/libsvm-3.25-makefile.patch49
-rw-r--r--sci-libs/libsvm/files/libsvm-3.25-openmp.patch34
-rw-r--r--sci-libs/libsvm/files/libsvm-3.30-makefile.patch44
-rw-r--r--sci-libs/libsvm/libsvm-3.22.ebuild117
-rw-r--r--sci-libs/libsvm/libsvm-3.24.ebuild118
-rw-r--r--sci-libs/libsvm/libsvm-3.25-r1.ebuild115
-rw-r--r--sci-libs/libsvm/libsvm-3.30.ebuild117
-rw-r--r--sci-libs/libsvm/metadata.xml2
-rw-r--r--sci-libs/libticables2/Manifest2
-rw-r--r--sci-libs/libticables2/libticables2-1.3.3-r1.ebuild48
-rw-r--r--sci-libs/libticables2/libticables2-1.3.4.ebuild48
-rw-r--r--sci-libs/libticables2/metadata.xml4
-rw-r--r--sci-libs/libticalcs2/Manifest1
-rw-r--r--sci-libs/libticalcs2/files/0001-libticalcs-fix-erroneous-bashism-in-configure-script.patch39
-rw-r--r--sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild40
-rw-r--r--sci-libs/libticalcs2/libticalcs2-1.1.9-r1.ebuild56
-rw-r--r--sci-libs/libticalcs2/libticalcs2-1.1.9.ebuild45
-rw-r--r--sci-libs/libticalcs2/metadata.xml4
-rw-r--r--sci-libs/libticonv/Manifest1
-rw-r--r--sci-libs/libticonv/libticonv-1.1.4.ebuild37
-rw-r--r--sci-libs/libticonv/metadata.xml4
-rw-r--r--sci-libs/libtifiles2/Manifest1
-rw-r--r--sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild47
-rw-r--r--sci-libs/libtifiles2/libtifiles2-1.1.7-r1.ebuild47
-rw-r--r--sci-libs/libtifiles2/libtifiles2-1.1.7.ebuild45
-rw-r--r--sci-libs/libtifiles2/metadata.xml4
-rw-r--r--sci-libs/libxc/Manifest4
-rw-r--r--sci-libs/libxc/libxc-2.1.3.ebuild56
-rw-r--r--sci-libs/libxc/libxc-2.2.3.ebuild56
-rw-r--r--sci-libs/libxc/libxc-3.0.0.ebuild56
-rw-r--r--sci-libs/libxc/libxc-5.1.7.ebuild41
-rw-r--r--sci-libs/libxc/metadata.xml28
-rw-r--r--sci-libs/linbox/Manifest1
-rw-r--r--sci-libs/linbox/files/linbox-1.7.0-hardened-testfails.patch22
-rw-r--r--sci-libs/linbox/linbox-1.6.3-r2.ebuild118
-rw-r--r--sci-libs/linbox/linbox-1.6.3.ebuild93
-rw-r--r--sci-libs/linbox/linbox-1.7.0.ebuild111
-rw-r--r--sci-libs/linbox/metadata.xml12
-rw-r--r--sci-libs/linux-gpib-modules/Manifest4
-rw-r--r--sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.0-kernel53.patch37
-rw-r--r--sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.2-returntype.patch50
-rw-r--r--sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-depmod.patch21
-rw-r--r--sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-kernel-6.4.patch27
-rw-r--r--sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.0.ebuild73
-rw-r--r--sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.2.ebuild73
-rw-r--r--sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.3.ebuild69
-rw-r--r--sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild62
-rw-r--r--sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5.ebuild69
-rw-r--r--sci-libs/linux-gpib-modules/metadata.xml2
-rw-r--r--sci-libs/linux-gpib/Manifest6
-rw-r--r--sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild178
-rw-r--r--sci-libs/linux-gpib/linux-gpib-4.3.2.ebuild178
-rw-r--r--sci-libs/linux-gpib/linux-gpib-4.3.3.ebuild178
-rw-r--r--sci-libs/linux-gpib/linux-gpib-4.3.5.ebuild181
-rw-r--r--sci-libs/linux-gpib/metadata.xml2
-rw-r--r--sci-libs/lis/Manifest1
-rw-r--r--sci-libs/lis/files/lis-2.1.3-autotools.patch431
-rw-r--r--sci-libs/lis/lis-1.6.5-r1.ebuild61
-rw-r--r--sci-libs/lis/lis-1.6.5.ebuild65
-rw-r--r--sci-libs/lis/lis-2.1.3.ebuild62
-rw-r--r--sci-libs/lis/metadata.xml2
-rw-r--r--sci-libs/lmfit/Manifest5
-rw-r--r--sci-libs/lmfit/files/lmfit-7.0-cmake.patch66
-rw-r--r--sci-libs/lmfit/files/lmfit-8.2.2-cmake.patch85
-rw-r--r--sci-libs/lmfit/files/lmfit-9.0-cmake.patch50
-rw-r--r--sci-libs/lmfit/lmfit-5.1.ebuild24
-rw-r--r--sci-libs/lmfit/lmfit-6.4.ebuild24
-rw-r--r--sci-libs/lmfit/lmfit-7.0.ebuild25
-rw-r--r--sci-libs/lmfit/lmfit-8.2.2.ebuild25
-rw-r--r--sci-libs/lmfit/lmfit-9.0-r1.ebuild20
-rw-r--r--sci-libs/lmfit/metadata.xml2
-rw-r--r--sci-libs/lrslib/Manifest2
-rw-r--r--sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch100
-rw-r--r--sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch184
-rw-r--r--sci-libs/lrslib/lrslib-062.ebuild50
-rw-r--r--sci-libs/lrslib/lrslib-071b-r1.ebuild61
-rw-r--r--sci-libs/lrslib/lrslib-071b.ebuild58
-rw-r--r--sci-libs/lrslib/metadata.xml2
-rw-r--r--sci-libs/m4ri/Manifest1
-rw-r--r--sci-libs/m4ri/files/m4ri-20200115-libm_underlinking.patch76
-rw-r--r--sci-libs/m4ri/files/m4ri-20200115-memory_violation.patch87
-rw-r--r--sci-libs/m4ri/m4ri-20200115.ebuild57
-rw-r--r--sci-libs/m4ri/m4ri-20200125.ebuild12
-rw-r--r--sci-libs/m4ri/metadata.xml8
-rw-r--r--sci-libs/m4rie/files/m4rie-20200115-link-libm.patch27
-rw-r--r--sci-libs/m4rie/m4rie-20200115-r1.ebuild41
-rw-r--r--sci-libs/m4rie/m4rie-20200115.ebuild31
-rw-r--r--sci-libs/m4rie/metadata.xml8
-rw-r--r--sci-libs/magma/Manifest2
-rw-r--r--sci-libs/magma/magma-1.4.0.ebuild124
-rw-r--r--sci-libs/magma/magma-1.4.1.ebuild124
-rw-r--r--sci-libs/magma/metadata.xml18
-rw-r--r--sci-libs/mathgl/Manifest3
-rw-r--r--sci-libs/mathgl/files/mathgl-2.4.1-mutex.patch16
-rw-r--r--sci-libs/mathgl/files/mathgl-libharu2.4.patch25
-rw-r--r--sci-libs/mathgl/mathgl-2.4.1-r2.ebuild188
-rw-r--r--sci-libs/mathgl/mathgl-8.0.1-r1.ebuild145
-rw-r--r--sci-libs/mathgl/metadata.xml4
-rw-r--r--sci-libs/matio/Manifest2
-rw-r--r--sci-libs/matio/matio-1.5.17.ebuild46
-rw-r--r--sci-libs/matio/matio-1.5.23.ebuild53
-rw-r--r--sci-libs/matio/metadata.xml4
-rw-r--r--sci-libs/mc/mc-1.5.ebuild80
-rw-r--r--sci-libs/mc/metadata.xml2
-rw-r--r--sci-libs/med/Manifest2
-rw-r--r--sci-libs/med/files/med-3.3.1-cmake-fortran.patch21
-rw-r--r--sci-libs/med/files/med-3.3.1-disable-python-compile.patch17
-rw-r--r--sci-libs/med/files/med-4.0.0-0001-doc-html.doc-Makefile.am-install-into-htmldir.patch50
-rw-r--r--sci-libs/med/files/med-4.0.0-cmakelist.patch59
-rw-r--r--sci-libs/med/files/med-4.0.0-installdoc.patch15
-rw-r--r--sci-libs/med/files/med-4.1.0-0001-Gentoo-specific-Adjust-install-path-for-build-dir.patch26
-rw-r--r--sci-libs/med/files/med-4.1.0-0002-Re-add-option-for-building-Fortran-library.patch39
-rw-r--r--sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.12.patch117
-rw-r--r--sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.14.patch117
-rw-r--r--sci-libs/med/med-4.0.0-r1.ebuild118
-rw-r--r--sci-libs/med/med-4.0.0-r2.ebuild117
-rw-r--r--sci-libs/med/med-4.1.1-r1.ebuild114
-rw-r--r--sci-libs/med/med-4.1.1-r3.ebuild109
-rw-r--r--sci-libs/med/metadata.xml15
-rw-r--r--sci-libs/metadata.xml3
-rw-r--r--sci-libs/metis/Manifest3
-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-remove-GKlib-O3.patch11
-rw-r--r--sci-libs/metis/files/metis-5.1.0-shared-GKlib.patch21
-rw-r--r--sci-libs/metis/files/metis-5.2.1-add-gklib-as-required.patch15
-rw-r--r--sci-libs/metis/files/metis-5.2.1-multilib.patch19
-rw-r--r--sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch47
-rw-r--r--sci-libs/metis/metadata.xml11
-rw-r--r--sci-libs/metis/metis-4.0.3-r1.ebuild35
-rw-r--r--sci-libs/metis/metis-4.0.3-r2.ebuild39
-rw-r--r--sci-libs/metis/metis-5.1.0-r4.ebuild64
-rw-r--r--sci-libs/metis/metis-5.2.1-r2.ebuild94
-rw-r--r--sci-libs/minfx/Manifest1
-rw-r--r--sci-libs/minfx/metadata.xml13
-rw-r--r--sci-libs/minfx/minfx-1.0.11.ebuild17
-rw-r--r--sci-libs/minuit/metadata.xml2
-rw-r--r--sci-libs/minuit/minuit-5.34.14.ebuild4
-rw-r--r--sci-libs/miopen/Manifest3
-rw-r--r--sci-libs/miopen/files/miopen-4.2.0-disable-no-inline-boost.patch14
-rw-r--r--sci-libs/miopen/files/miopen-4.2.0-gcc11-numeric_limits.patch14
-rw-r--r--sci-libs/miopen/files/miopen-4.3.0-enable-test.patch31
-rw-r--r--sci-libs/miopen/files/miopen-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch17
-rw-r--r--sci-libs/miopen/files/miopen-5.0.2-strip-xnack-in-flags.patch20
-rw-r--r--sci-libs/miopen/files/miopen-5.1.3-avoid-metadata-error-for-vanilla-clang.patch183
-rw-r--r--sci-libs/miopen/files/miopen-5.1.3-deprecate-clang-ocl.patch55
-rw-r--r--sci-libs/miopen/files/miopen-5.1.3-gfx1031.patch375
-rw-r--r--sci-libs/miopen/files/miopen-5.1.3-include-array.patch12
-rw-r--r--sci-libs/miopen/files/miopen-5.1.3-no-strip.patch17
-rw-r--r--sci-libs/miopen/files/miopen-5.7.1-fix-miopendriver-gemm.patch74
-rw-r--r--sci-libs/miopen/metadata.xml18
-rw-r--r--sci-libs/miopen/miopen-5.1.3-r1.ebuild109
-rw-r--r--sci-libs/miopen/miopen-5.7.1-r1.ebuild122
-rw-r--r--sci-libs/mkl-rt/Manifest1
-rw-r--r--sci-libs/mkl-rt/metadata.xml29
-rw-r--r--sci-libs/mkl-rt/mkl-rt-2019.4.243.ebuild81
-rw-r--r--sci-libs/mkl/Manifest10
-rw-r--r--sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch18
-rw-r--r--sci-libs/mkl/files/mkl-dynamic-ilp64-iomp.pc10
-rw-r--r--sci-libs/mkl/files/mkl-dynamic-ilp64-seq.pc10
-rw-r--r--sci-libs/mkl/files/mkl-dynamic-lp64-iomp.pc10
-rw-r--r--sci-libs/mkl/files/mkl-dynamic-lp64-seq.pc10
-rw-r--r--sci-libs/mkl/files/mkl-sdl-ilp64.pc9
-rw-r--r--sci-libs/mkl/files/mkl-sdl-lp64.pc9
-rw-r--r--sci-libs/mkl/files/mkl-static-ilp64-iomp.pc10
-rw-r--r--sci-libs/mkl/files/mkl-static-ilp64-seq.pc10
-rw-r--r--sci-libs/mkl/files/mkl-static-lp64-iomp.pc10
-rw-r--r--sci-libs/mkl/files/mkl-static-lp64-seq.pc10
-rw-r--r--sci-libs/mkl/metadata.xml9
-rw-r--r--sci-libs/mkl/mkl-10.0.5.025-r1.ebuild366
-rw-r--r--sci-libs/mkl/mkl-2020.4.304.ebuild233
-rw-r--r--sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild125
-rw-r--r--sci-libs/mkl/mkl-2023.0.0.25398.ebuild128
-rw-r--r--sci-libs/mpfi/Manifest2
-rw-r--r--sci-libs/mpfi/metadata.xml4
-rw-r--r--sci-libs/mpfi/mpfi-1.5.3.ebuild30
-rw-r--r--sci-libs/mpfi/mpfi-1.5.4.ebuild35
-rw-r--r--sci-libs/mpir/Manifest3
-rw-r--r--sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch145
-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/files/mpir-2.7.2-ABI-multilib.patch145
-rw-r--r--sci-libs/mpir/files/mpir-2.7.2-sed-backport.patch16
-rw-r--r--sci-libs/mpir/metadata.xml21
-rw-r--r--sci-libs/mpir/mpir-2.6.0-r2.ebuild63
-rw-r--r--sci-libs/mpir/mpir-2.7.2.ebuild74
-rw-r--r--sci-libs/mpir/mpir-3.0.0.ebuild77
-rw-r--r--sci-libs/mumps/Manifest2
-rw-r--r--sci-libs/mumps/metadata.xml2
-rw-r--r--sci-libs/mumps/mumps-5.1.2.ebuild186
-rw-r--r--sci-libs/mumps/mumps-5.3.5-r1.ebuild219
-rw-r--r--sci-libs/nanoflann/Manifest2
-rw-r--r--sci-libs/nanoflann/metadata.xml4
-rw-r--r--sci-libs/nanoflann/nanoflann-1.2.3.ebuild35
-rw-r--r--sci-libs/nanoflann/nanoflann-1.3.2.ebuild33
-rw-r--r--sci-libs/nanoflann/nanoflann-9999.ebuild26
-rw-r--r--sci-libs/neartree/files/CMakeLists.txt12
-rw-r--r--sci-libs/neartree/metadata.xml2
-rw-r--r--sci-libs/neartree/neartree-5.1.1.ebuild24
-rw-r--r--sci-libs/nemesis/metadata.xml26
-rw-r--r--sci-libs/nemesis/nemesis-6.09.ebuild22
-rw-r--r--sci-libs/netcdf-cxx/Manifest4
-rw-r--r--sci-libs/netcdf-cxx/files/netcdf-cxx-4.2-config.patch28
-rw-r--r--sci-libs/netcdf-cxx/files/netcdf-cxx-4.3.1-slibtool.patch42
-rw-r--r--sci-libs/netcdf-cxx/metadata.xml2
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild26
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.2-r301.ebuild36
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.2.1-r1.ebuild36
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild36
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.3.0.ebuild32
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.3.1-r1.ebuild38
-rw-r--r--sci-libs/netcdf-cxx/netcdf-cxx-4.3.1.ebuild42
-rw-r--r--sci-libs/netcdf-fortran/Manifest6
-rw-r--r--sci-libs/netcdf-fortran/metadata.xml2
-rw-r--r--sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild37
-rw-r--r--sci-libs/netcdf-fortran/netcdf-fortran-4.4.2.ebuild38
-rw-r--r--sci-libs/netcdf-fortran/netcdf-fortran-4.4.3.ebuild40
-rw-r--r--sci-libs/netcdf-fortran/netcdf-fortran-4.5.4-r1.ebuild45
-rw-r--r--sci-libs/netcdf-fortran/netcdf-fortran-4.5.4.ebuild48
-rw-r--r--sci-libs/netcdf-fortran/netcdf-fortran-4.6.1.ebuild47
-rw-r--r--sci-libs/netcdf/Manifest3
-rw-r--r--sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch145
-rw-r--r--sci-libs/netcdf/files/netcdf-4.7.4-big-endian-test.patch16
-rw-r--r--sci-libs/netcdf/metadata.xml8
-rw-r--r--sci-libs/netcdf/netcdf-4.3.2-r1.ebuild59
-rw-r--r--sci-libs/netcdf/netcdf-4.6.1-r1.ebuild54
-rw-r--r--sci-libs/netcdf/netcdf-4.6.1.ebuild54
-rw-r--r--sci-libs/netcdf/netcdf-4.9.2-r1.ebuild103
-rw-r--r--sci-libs/netcdf/netcdf-4.9.2.ebuild74
-rw-r--r--sci-libs/nfft/Manifest2
-rw-r--r--sci-libs/nfft/metadata.xml6
-rw-r--r--sci-libs/nfft/nfft-3.3.2.ebuild49
-rw-r--r--sci-libs/nfft/nfft-3.5.2.ebuild45
-rw-r--r--sci-libs/nlopt/Manifest2
-rw-r--r--sci-libs/nlopt/metadata.xml29
-rw-r--r--sci-libs/nlopt/nlopt-2.6.2-r1.ebuild109
-rw-r--r--sci-libs/nlopt/nlopt-2.7.1-r1.ebuild112
-rw-r--r--sci-libs/nlopt/nlopt-2.7.1-r2.ebuild112
-rw-r--r--sci-libs/numkit/Manifest1
-rw-r--r--sci-libs/numkit/metadata.xml3
-rw-r--r--sci-libs/numkit/numkit-1.1.2-r1.ebuild22
-rw-r--r--sci-libs/numkit/numkit-1.1.2.ebuild33
-rw-r--r--sci-libs/numkit/numkit-1.2.3.ebuild26
-rw-r--r--sci-libs/o2scl/metadata.xml4
-rw-r--r--sci-libs/o2scl/o2scl-0.920.ebuild12
-rw-r--r--sci-libs/oc/metadata.xml2
-rw-r--r--sci-libs/oc/oc-2.0-r1.ebuild44
-rw-r--r--sci-libs/oc/oc-2.0.ebuild33
-rw-r--r--sci-libs/oce/Manifest1
-rw-r--r--sci-libs/oce/files/oce-0.18.3-test-fix.patch13
-rw-r--r--sci-libs/oce/metadata.xml22
-rw-r--r--sci-libs/oce/oce-0.18.3-r2.ebuild78
-rw-r--r--sci-libs/octomap/Manifest3
-rw-r--r--sci-libs/octomap/files/qglqt5.patch231
-rw-r--r--sci-libs/octomap/metadata.xml4
-rw-r--r--sci-libs/octomap/octomap-1.9.0.ebuild93
-rw-r--r--sci-libs/octomap/octomap-1.9.5.ebuild84
-rw-r--r--sci-libs/octomap/octomap-1.9.8.ebuild81
-rw-r--r--sci-libs/octomap/octomap-9999.ebuild91
-rw-r--r--sci-libs/ogdi/files/ogdi-4.1.0-c99-conversions.patch21
-rw-r--r--sci-libs/ogdi/metadata.xml3
-rw-r--r--sci-libs/ogdi/ogdi-4.1.0-r1.ebuild69
-rw-r--r--sci-libs/ogdi/ogdi-4.1.0.ebuild60
-rw-r--r--sci-libs/onnx/Manifest2
-rw-r--r--sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch11
-rw-r--r--sci-libs/onnx/files/onnx-1.14.1-musl.patch11
-rw-r--r--sci-libs/onnx/metadata.xml11
-rw-r--r--sci-libs/onnx/onnx-1.14.1-r2.ebuild64
-rw-r--r--sci-libs/onnx/onnx-1.15.0-r1.ebuild63
-rw-r--r--sci-libs/openblas/Manifest3
-rw-r--r--sci-libs/openblas/files/dont-clobber-fflags.patch31
-rw-r--r--sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch40
-rw-r--r--sci-libs/openblas/files/shared-blas-lapack.patch137
-rw-r--r--sci-libs/openblas/metadata.xml7
-rw-r--r--sci-libs/openblas/openblas-0.3.25-r1.ebuild197
-rw-r--r--sci-libs/openblas/openblas-0.3.26.ebuild197
-rw-r--r--sci-libs/openblas/openblas-0.3.9-r1.ebuild141
-rw-r--r--sci-libs/opencascade/Manifest7
-rw-r--r--sci-libs/opencascade/files/opencascade-7.4.0-find-qt.patch85
-rw-r--r--sci-libs/opencascade/files/opencascade-7.4.0-fix-install.patch133
-rw-r--r--sci-libs/opencascade/files/opencascade-7.4.0.env.in103
-rw-r--r--sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch40
-rw-r--r--sci-libs/opencascade/files/opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch43
-rw-r--r--sci-libs/opencascade/files/opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch34
-rw-r--r--sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch51
-rw-r--r--sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch33
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch19
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-avoid-pre-stripping-binaries.patch34
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-build-against-vtk-9.2.patch36
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-fix-installation-of-cmake-config-files.patch33
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-jemalloc-lib-type.patch27
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-musl.patch97
-rw-r--r--sci-libs/opencascade/files/opencascade-7.7.0-tbb-detection.patch53
-rw-r--r--sci-libs/opencascade/files/opencascade-7.8.0-cmake-min-version.patch14
-rw-r--r--sci-libs/opencascade/files/opencascade-7.8.0-jemalloc-noexcept.patch13
-rw-r--r--sci-libs/opencascade/files/opencascade-7.8.0-tests.patch19
-rw-r--r--sci-libs/opencascade/files/opencascade-7.8.1-vtk_components.patch24
-rw-r--r--sci-libs/opencascade/files/opencascade.env.in102
-rw-r--r--sci-libs/opencascade/metadata.xml42
-rw-r--r--sci-libs/opencascade/opencascade-7.4.0-r2.ebuild145
-rw-r--r--sci-libs/opencascade/opencascade-7.6.3-r2.ebuild171
-rw-r--r--sci-libs/opencascade/opencascade-7.7.0-r2.ebuild178
-rw-r--r--sci-libs/opencascade/opencascade-7.7.2-r1.ebuild362
-rw-r--r--sci-libs/opencascade/opencascade-7.8.1.ebuild376
-rw-r--r--sci-libs/opencascade/opencascade-9999.ebuild376
-rw-r--r--sci-libs/openlibm/Manifest4
-rw-r--r--sci-libs/openlibm/metadata.xml16
-rw-r--r--sci-libs/openlibm/openlibm-0.5.4.ebuild23
-rw-r--r--sci-libs/openlibm/openlibm-0.7.0.ebuild23
-rw-r--r--sci-libs/openlibm/openlibm-0.7.5.ebuild33
-rw-r--r--sci-libs/openlibm/openlibm-0.8.0.ebuild35
-rw-r--r--sci-libs/orocos-bfl/metadata.xml2
-rw-r--r--sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild45
-rw-r--r--sci-libs/orocos_kdl/Manifest3
-rw-r--r--sci-libs/orocos_kdl/metadata.xml2
-rw-r--r--sci-libs/orocos_kdl/orocos_kdl-1.3.1-r1.ebuild72
-rw-r--r--sci-libs/orocos_kdl/orocos_kdl-1.4.0.ebuild72
-rw-r--r--sci-libs/orocos_kdl/orocos_kdl-1.5.1.ebuild73
-rw-r--r--sci-libs/orocos_kdl/orocos_kdl-9999.ebuild87
-rw-r--r--sci-libs/p4est/Manifest7
-rw-r--r--sci-libs/p4est/files/p4est-2.3-fix_aclocal.patch12
-rw-r--r--sci-libs/p4est/files/p4est-2.3.6-override_soname.patch13
-rw-r--r--sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch24
-rw-r--r--sci-libs/p4est/files/p4est-2.8.5-fix_cmake_path.patch44
-rw-r--r--sci-libs/p4est/files/p4est-2.8.5-set_version.patch49
-rw-r--r--sci-libs/p4est/metadata.xml4
-rw-r--r--sci-libs/p4est/p4est-2.0.ebuild119
-rw-r--r--sci-libs/p4est/p4est-2.2.ebuild119
-rw-r--r--sci-libs/p4est/p4est-2.3.6.ebuild122
-rw-r--r--sci-libs/p4est/p4est-2.8.5-r3.ebuild74
-rw-r--r--sci-libs/p4est/p4est-9999.ebuild119
-rw-r--r--sci-libs/parmetis/Manifest2
-rw-r--r--sci-libs/parmetis/files/parmetis-4.0.3-01-cmake-paths.patch37
-rw-r--r--sci-libs/parmetis/files/parmetis-4.0.3-02-unbundle-metis.patch10
-rw-r--r--sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch31
-rw-r--r--sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch47
-rw-r--r--sci-libs/parmetis/metadata.xml23
-rw-r--r--sci-libs/parmetis/parmetis-4.0.3-r1.ebuild157
-rw-r--r--sci-libs/parmetis/parmetis-4.0.3-r2.ebuild78
-rw-r--r--sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild82
-rw-r--r--sci-libs/pastix/Manifest2
-rw-r--r--sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch47
-rw-r--r--sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch15
-rw-r--r--sci-libs/pastix/files/pastix-5.2.3-MPI-3.0.patch139
-rw-r--r--sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch170
-rw-r--r--sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch424
-rw-r--r--sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch64
-rw-r--r--sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch12
-rw-r--r--sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch11
-rw-r--r--sci-libs/pastix/metadata.xml11
-rw-r--r--sci-libs/pastix/pastix-5.2.2.22-r1.ebuild127
-rw-r--r--sci-libs/pastix/pastix-5.2.3.ebuild15
-rw-r--r--sci-libs/pastix/pastix-6.0.3.ebuild87
-rw-r--r--sci-libs/pcl/Manifest2
-rw-r--r--sci-libs/pcl/files/pcl-1.12.1-allow-configuration-of-install-dirs.patch32
-rw-r--r--sci-libs/pcl/files/pcl-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch22
-rw-r--r--sci-libs/pcl/metadata.xml3
-rw-r--r--sci-libs/pcl/pcl-1.11.0.ebuild84
-rw-r--r--sci-libs/pcl/pcl-1.14.0.ebuild116
-rw-r--r--sci-libs/pcl/pcl-9999.ebuild80
-rw-r--r--sci-libs/pdal/Manifest2
-rw-r--r--sci-libs/pdal/files/pdal-2.4.3-fix-gdal37.patch37
-rw-r--r--sci-libs/pdal/metadata.xml23
-rw-r--r--sci-libs/pdal/pdal-2.5.3-r1.ebuild61
-rw-r--r--sci-libs/pdal/pdal-2.6.2.ebuild69
-rw-r--r--sci-libs/pgplot/metadata.xml4
-rw-r--r--sci-libs/pgplot/pgplot-5.2.2-r7.ebuild41
-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.xml8
-rw-r--r--sci-libs/plotmm/plotmm-0.1.2.ebuild58
-rw-r--r--sci-libs/plplot/Manifest1
-rw-r--r--sci-libs/plplot/files/plplot-5.12.0-safe-string.patch20
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-ieee.patch19
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-multiarch.patch56
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch166
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-ocaml.patch43
-rw-r--r--sci-libs/plplot/files/plplot-5.9.6-python.patch13
-rw-r--r--sci-libs/plplot/metadata.xml2
-rw-r--r--sci-libs/plplot/plplot-5.15.0-r1.ebuild290
-rw-r--r--sci-libs/plplot/plplot-5.15.0_p6.ebuild296
-rw-r--r--sci-libs/primegen/files/primegen-0.97-main-rettype.patch13
-rw-r--r--sci-libs/primegen/files/primegen-0.97-man.patch4
-rw-r--r--sci-libs/primegen/files/primegen-0.97-missing-headers.patch20
-rw-r--r--sci-libs/primegen/files/primegen-0.97-respect-ar-ranlib.patch18
-rw-r--r--sci-libs/primegen/metadata.xml2
-rw-r--r--sci-libs/primegen/primegen-0.97-r2.ebuild25
-rw-r--r--sci-libs/primegen/primegen-0.97-r3.ebuild58
-rw-r--r--sci-libs/profnet/metadata.xml2
-rw-r--r--sci-libs/profnet/profnet-1.0.22.ebuild22
-rw-r--r--sci-libs/profphd-utils/metadata.xml2
-rw-r--r--sci-libs/profphd-utils/profphd-utils-1.0.10-r1.ebuild12
-rw-r--r--sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild32
-rw-r--r--sci-libs/proj/Manifest7
-rw-r--r--sci-libs/proj/files/proj-geotiff.patch33
-rw-r--r--sci-libs/proj/metadata.xml12
-rw-r--r--sci-libs/proj/proj-7.0.1.ebuild53
-rw-r--r--sci-libs/proj/proj-9.2.1-r1.ebuild83
-rw-r--r--sci-libs/proj/proj-9.3.0-r1.ebuild83
-rw-r--r--sci-libs/punc/metadata.xml2
-rw-r--r--sci-libs/punc/punc-1.5.ebuild73
-rw-r--r--sci-libs/pyshp/Manifest3
-rw-r--r--sci-libs/pyshp/metadata.xml3
-rw-r--r--sci-libs/pyshp/pyshp-1.2.0.ebuild27
-rw-r--r--sci-libs/pyshp/pyshp-2.1.0.ebuild25
-rw-r--r--sci-libs/pyshp/pyshp-2.3.1-r2.ebuild29
-rw-r--r--sci-libs/pyshp/pyshp-9999.ebuild27
-rw-r--r--sci-libs/pytorch/Manifest2
-rw-r--r--sci-libs/pytorch/files/pytorch-1.13.0-setup.patch11
-rw-r--r--sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch13
-rw-r--r--sci-libs/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch32
-rw-r--r--sci-libs/pytorch/files/pytorch-2.0.0-global-dlopen.patch20
-rw-r--r--sci-libs/pytorch/files/pytorch-2.1.1-dontbuildagain.patch17
-rw-r--r--sci-libs/pytorch/files/pytorch-2.1.1-emptyso.patch13
-rw-r--r--sci-libs/pytorch/files/pytorch-2.2.1-emptyso.patch13
-rw-r--r--sci-libs/pytorch/metadata.xml11
-rw-r--r--sci-libs/pytorch/pytorch-2.1.2-r1.ebuild66
-rw-r--r--sci-libs/pytorch/pytorch-2.2.2.ebuild66
-rw-r--r--sci-libs/qd/Manifest3
-rw-r--r--sci-libs/qd/files/qd-2.3.17-fix-build-system.patch179
-rw-r--r--sci-libs/qd/files/qd-2.3.22-fix-build-system.patch177
-rw-r--r--sci-libs/qd/metadata.xml3
-rw-r--r--sci-libs/qd/qd-2.3.17.ebuild51
-rw-r--r--sci-libs/qd/qd-2.3.22.ebuild51
-rw-r--r--sci-libs/qd/qd-2.3.23.ebuild41
-rw-r--r--sci-libs/qfits/metadata.xml2
-rw-r--r--sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch29
-rw-r--r--sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch4
-rw-r--r--sci-libs/qrupdate/metadata.xml5
-rw-r--r--sci-libs/qrupdate/qrupdate-1.1.2-r1.ebuild45
-rw-r--r--sci-libs/qrupdate/qrupdate-1.1.2-r2.ebuild53
-rw-r--r--sci-libs/rocBLAS/Manifest5
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-4.3.0-fix-glibc-2.32-and-above.patch25
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.0.2-change-default-Tensile-library-dir.patch47
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.0.2-cpp_lib_filesystem.patch50
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.0.2-unbundle-Tensile.patch25
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.4.2-add-missing-header.patch14
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.4.2-cpp_lib_filesystem.patch24
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.4.2-link-cblas.patch12
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.4.2-unbundle-Tensile.patch26
-rw-r--r--sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch132
-rw-r--r--sci-libs/rocBLAS/metadata.xml22
-rw-r--r--sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild114
-rw-r--r--sci-libs/rocBLAS/rocBLAS-5.4.2-r3.ebuild107
-rw-r--r--sci-libs/rocBLAS/rocBLAS-5.7.1-r2.ebuild111
-rw-r--r--sci-libs/rocFFT/Manifest2
-rw-r--r--sci-libs/rocFFT/files/rocFFT-4.2.0-add-functional-header.patch12
-rw-r--r--sci-libs/rocFFT/files/rocFFT-5.0.2-add-math-header.patch12
-rw-r--r--sci-libs/rocFFT/files/rocFFT-5.1.3-add-stdexcept-header.patch11
-rw-r--r--sci-libs/rocFFT/files/rocFFT-5.1.3-unbundle-sqlite.patch67
-rw-r--r--sci-libs/rocFFT/files/rocFFT-5.7.1-fix-rocm-link-path.patch14
-rw-r--r--sci-libs/rocFFT/metadata.xml19
-rw-r--r--sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild145
-rw-r--r--sci-libs/rocFFT/rocFFT-5.7.1-r2.ebuild160
-rw-r--r--sci-libs/rocPRIM/Manifest2
-rw-r--r--sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch29
-rw-r--r--sci-libs/rocPRIM/metadata.xml18
-rw-r--r--sci-libs/rocPRIM/rocPRIM-5.1.3.ebuild74
-rw-r--r--sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild79
-rw-r--r--sci-libs/rocRAND/Manifest4
-rw-r--r--sci-libs/rocRAND/files/rocRAND-5.1.3_no-symlink.patch38
-rw-r--r--sci-libs/rocRAND/files/rocRAND-5.1.3_stdint-gcc13.patch33
-rw-r--r--sci-libs/rocRAND/files/rocRAND-5.4.2_stdint-gcc13.patch59
-rw-r--r--sci-libs/rocRAND/files/rocRAND-5.7.1_fix_generator_alignment.patch16
-rw-r--r--sci-libs/rocRAND/metadata.xml18
-rw-r--r--sci-libs/rocRAND/rocRAND-5.1.3.ebuild79
-rw-r--r--sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild63
-rw-r--r--sci-libs/rocRAND/rocRAND-5.7.1.ebuild68
-rw-r--r--sci-libs/rocSOLVER/Manifest3
-rw-r--r--sci-libs/rocSOLVER/files/rocSOLVER-4.2.0-add-stdint-header.patch12
-rw-r--r--sci-libs/rocSOLVER/files/rocSOLVER-5.0.2-libfmt8.patch173
-rw-r--r--sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch34
-rw-r--r--sci-libs/rocSOLVER/metadata.xml22
-rw-r--r--sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild78
-rw-r--r--sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild68
-rw-r--r--sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild67
-rw-r--r--sci-libs/rocSPARSE/Manifest26
-rw-r--r--sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-enable-gfx1031.patch13
-rw-r--r--sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-incorrect-assert.patch34
-rw-r--r--sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-matrices-unpacking.patch42
-rw-r--r--sci-libs/rocSPARSE/metadata.xml18
-rw-r--r--sci-libs/rocSPARSE/rocSPARSE-5.1.3-r1.ebuild136
-rw-r--r--sci-libs/rocSPARSE/rocSPARSE-5.7.1-r2.ebuild141
-rw-r--r--sci-libs/rocThrust/Manifest2
-rw-r--r--sci-libs/rocThrust/files/rocThrust-4.0-operator_new.patch29
-rw-r--r--sci-libs/rocThrust/metadata.xml17
-rw-r--r--sci-libs/rocThrust/rocThrust-5.1.3.ebuild74
-rw-r--r--sci-libs/rocThrust/rocThrust-5.7.1.ebuild76
-rw-r--r--sci-libs/rocWMMA/Manifest1
-rw-r--r--sci-libs/rocWMMA/files/rocWMMA-5.7.1-use-system-googletest.patch25
-rw-r--r--sci-libs/rocWMMA/metadata.xml15
-rw-r--r--sci-libs/rocWMMA/rocWMMA-5.7.1.ebuild56
-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.ebuild38
-rw-r--r--sci-libs/rosetta-fragments/Manifest1
-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.ebuild62
-rw-r--r--sci-libs/rtabmap/Manifest4
-rw-r--r--sci-libs/rtabmap/files/boost173.patch13
-rw-r--r--sci-libs/rtabmap/files/ocv.patch24
-rw-r--r--sci-libs/rtabmap/files/ocv4.patch23
-rw-r--r--sci-libs/rtabmap/files/pcl111.patch49
-rw-r--r--sci-libs/rtabmap/files/vtk.patch12
-rw-r--r--sci-libs/rtabmap/files/yamlcpp.patch21
-rw-r--r--sci-libs/rtabmap/metadata.xml2
-rw-r--r--sci-libs/rtabmap/rtabmap-0.19.3-r1.ebuild65
-rw-r--r--sci-libs/rtabmap/rtabmap-0.19.7.ebuild69
-rw-r--r--sci-libs/rtabmap/rtabmap-0.20.23.ebuild68
-rw-r--r--sci-libs/rtabmap/rtabmap-0.21.3.ebuild66
-rw-r--r--sci-libs/rtabmap/rtabmap-9999.ebuild20
-rw-r--r--sci-libs/rtree/Manifest1
-rw-r--r--sci-libs/rtree/metadata.xml21
-rw-r--r--sci-libs/rtree/rtree-1.0.0.ebuild30
-rw-r--r--sci-libs/safetensors/Manifest40
-rw-r--r--sci-libs/safetensors/metadata.xml12
-rw-r--r--sci-libs/safetensors/safetensors-0.3.3.ebuild105
-rw-r--r--sci-libs/scalapack/Manifest2
-rw-r--r--sci-libs/scalapack/files/scalapack-2.0.2-libdir.patch45
-rw-r--r--sci-libs/scalapack/metadata.xml2
-rw-r--r--sci-libs/scalapack/scalapack-2.0.2-r1.ebuild70
-rw-r--r--sci-libs/scalapack/scalapack-2.1.0-r1.ebuild84
-rw-r--r--sci-libs/scalapack/scalapack-2.1.0.ebuild71
-rw-r--r--sci-libs/scikits/Manifest1
-rw-r--r--sci-libs/scikits/metadata.xml12
-rw-r--r--sci-libs/scikits/scikits-0.1-r1.ebuild34
-rw-r--r--sci-libs/scikits/scikits-0.1-r2.ebuild34
-rw-r--r--sci-libs/scikits_image/Manifest1
-rw-r--r--sci-libs/scikits_image/metadata.xml22
-rw-r--r--sci-libs/scikits_image/scikits_image-0.13.0-r1.ebuild58
-rw-r--r--sci-libs/scikits_learn/Manifest4
-rw-r--r--sci-libs/scikits_learn/files/scikits_learn-0.18.1-system-cblas.patch32
-rw-r--r--sci-libs/scikits_learn/files/scikits_learn-0.20.2-fix-cdfast.patch42
-rw-r--r--sci-libs/scikits_learn/metadata.xml17
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.19.0-r1.ebuild107
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.20.2.ebuild109
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.20.4.ebuild109
-rw-r--r--sci-libs/scikits_learn/scikits_learn-0.22.2_p1.ebuild79
-rw-r--r--sci-libs/scikits_optimization/Manifest1
-rw-r--r--sci-libs/scikits_optimization/metadata.xml14
-rw-r--r--sci-libs/scikits_optimization/scikits_optimization-0.3-r1.ebuild31
-rw-r--r--sci-libs/scikits_timeseries/Manifest2
-rw-r--r--sci-libs/scikits_timeseries/metadata.xml18
-rw-r--r--sci-libs/scikits_timeseries/scikits_timeseries-0.91.3-r2.ebuild47
-rw-r--r--sci-libs/scipy-python2/Manifest2
-rw-r--r--sci-libs/scipy-python2/metadata.xml23
-rw-r--r--sci-libs/scipy-python2/scipy-python2-1.1.0.ebuild128
-rw-r--r--sci-libs/scipy-python2/scipy-python2-1.2.3.ebuild129
-rw-r--r--sci-libs/scipy/Manifest15
-rw-r--r--sci-libs/scipy/metadata.xml27
-rw-r--r--sci-libs/scipy/scipy-1.1.0.ebuild148
-rw-r--r--sci-libs/scipy/scipy-1.4.1.ebuild154
-rw-r--r--sci-libs/scipy/scipy-1.5.0.ebuild154
-rw-r--r--sci-libs/scipy/scipy-1.5.1.ebuild154
-rw-r--r--sci-libs/scipy/scipy-1.5.2.ebuild160
-rw-r--r--sci-libs/scotch/Manifest4
-rw-r--r--sci-libs/scotch/files/scotch-5.1.12b-as-needed.patch112
-rw-r--r--sci-libs/scotch/files/scotch-6.0.4-as-needed.patch128
-rw-r--r--sci-libs/scotch/files/scotch-6.0.4-flex-2.6.3-fix.patch33
-rw-r--r--sci-libs/scotch/metadata.xml8
-rw-r--r--sci-libs/scotch/scotch-5.1.12b.ebuild157
-rw-r--r--sci-libs/scotch/scotch-6.0.4-r2.ebuild172
-rw-r--r--sci-libs/scotch/scotch-6.1.2.ebuild174
-rw-r--r--sci-libs/scotch/scotch-7.0.1-r1.ebuild174
-rw-r--r--sci-libs/seqeval/Manifest1
-rw-r--r--sci-libs/seqeval/files/seqeval-1.2.2-gentoo.patch10
-rw-r--r--sci-libs/seqeval/metadata.xml12
-rw-r--r--sci-libs/seqeval/seqeval-1.2.2-r3.ebuild42
-rw-r--r--sci-libs/shapelib/metadata.xml3
-rw-r--r--sci-libs/shapelib/shapelib-1.5.0.ebuild4
-rw-r--r--sci-libs/shogun/Manifest2
-rw-r--r--sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch24
-rw-r--r--sci-libs/shogun/files/shogun-5.0.0-fix-buildsystem.patch72
-rw-r--r--sci-libs/shogun/metadata.xml32
-rw-r--r--sci-libs/shogun/shogun-5.0.0-r1.ebuild167
-rw-r--r--sci-libs/silo/Manifest3
-rw-r--r--sci-libs/silo/files/silo-4.10.2-mpiposix.patch53
-rw-r--r--sci-libs/silo/files/silo-4.10.2-qt5.patch44
-rw-r--r--sci-libs/silo/files/silo-4.10.2-qtlibs.patch78
-rw-r--r--sci-libs/silo/files/silo-4.10.2-tests.patch11
-rw-r--r--sci-libs/silo/files/silo-4.11-hdf5.patch46
-rw-r--r--sci-libs/silo/files/silo-4.11-qtbindir.patch43
-rw-r--r--sci-libs/silo/files/silo-4.11-test-disable-largefile.patch23
-rw-r--r--sci-libs/silo/files/silo-4.11-tests.patch26
-rw-r--r--sci-libs/silo/files/silo-4.11-testsuite-python-write.patch27
-rw-r--r--sci-libs/silo/files/silo-4.11-widgets.patch11
-rw-r--r--sci-libs/silo/files/silo-4.11.1-gcc14-tests.patch45
-rw-r--r--sci-libs/silo/metadata.xml6
-rw-r--r--sci-libs/silo/silo-4.10.2-r1.ebuild41
-rw-r--r--sci-libs/silo/silo-4.11-r2.ebuild58
-rw-r--r--sci-libs/silo/silo-4.11.1-r1.ebuild63
-rw-r--r--sci-libs/spglib/metadata.xml4
-rw-r--r--sci-libs/spqr/Manifest1
-rw-r--r--sci-libs/spqr/metadata.xml5
-rw-r--r--sci-libs/spqr/spqr-2.0.9-r3.ebuild41
-rw-r--r--sci-libs/spqr/spqr-2.0.9.ebuild33
-rw-r--r--sci-libs/spqr/spqr-3.0.3.ebuild121
-rw-r--r--sci-libs/spr/metadata.xml2
-rw-r--r--sci-libs/spr/spr-3.3.2-r2.ebuild46
-rw-r--r--sci-libs/spr/spr-3.3.2.ebuild39
-rw-r--r--sci-libs/stellarsolver/Manifest1
-rw-r--r--sci-libs/stellarsolver/files/stellarsolver-2.5-compiler-warning.patch26
-rw-r--r--sci-libs/stellarsolver/files/stellarsolver-2.5-qsort-warning.patch291
-rw-r--r--sci-libs/stellarsolver/metadata.xml15
-rw-r--r--sci-libs/stellarsolver/stellarsolver-2.5-r1.ebuild37
-rw-r--r--sci-libs/stellarsolver/stellarsolver-2.5.ebuild34
-rw-r--r--sci-libs/suitesparse/metadata.xml5
-rw-r--r--sci-libs/suitesparse/suitesparse-5.4.0.ebuild6
-rw-r--r--sci-libs/suitesparseconfig/Manifest1
-rw-r--r--sci-libs/suitesparseconfig/metadata.xml7
-rw-r--r--sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild6
-rw-r--r--sci-libs/suitesparseconfig/suitesparseconfig-7.0.0.ebuild42
-rw-r--r--sci-libs/sundials/Manifest9
-rw-r--r--sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch9
-rw-r--r--sci-libs/sundials/files/sundials-4.0.2-fix-license-install-path.patch16
-rw-r--r--sci-libs/sundials/files/sundials-4.1.0-fix-license-install-path.patch16
-rw-r--r--sci-libs/sundials/files/sundials-5.0.0-fix-license-install-path.patch16
-rw-r--r--sci-libs/sundials/files/sundials-5.1.0-fix-license-install-path.patch16
-rw-r--r--sci-libs/sundials/files/sundials-5.2.0-fix-license-install-path.patch15
-rw-r--r--sci-libs/sundials/files/sundials-5.8.0-fix-license-install-path.patch29
-rw-r--r--sci-libs/sundials/metadata.xml42
-rw-r--r--sci-libs/sundials/sundials-3.2.1.ebuild77
-rw-r--r--sci-libs/sundials/sundials-4.0.2.ebuild73
-rw-r--r--sci-libs/sundials/sundials-4.1.0.ebuild73
-rw-r--r--sci-libs/sundials/sundials-5.0.0.ebuild69
-rw-r--r--sci-libs/sundials/sundials-5.1.0.ebuild70
-rw-r--r--sci-libs/sundials/sundials-5.2.0.ebuild70
-rw-r--r--sci-libs/sundials/sundials-5.8.0.ebuild123
-rw-r--r--sci-libs/sundials/sundials-6.2.0.ebuild125
-rw-r--r--sci-libs/sundials/sundials-6.5.0.ebuild123
-rw-r--r--sci-libs/superlu/Manifest3
-rw-r--r--sci-libs/superlu/files/superlu-4.3-autotools.patch34
-rw-r--r--sci-libs/superlu/files/superlu-4.3-format-security.patch5
-rw-r--r--sci-libs/superlu/files/superlu-5.2.1-no-implicits.patch153
-rw-r--r--sci-libs/superlu/files/superlu-5.2.1-pkgconfig.patch29
-rw-r--r--sci-libs/superlu/files/superlu-5.2.2-no-internal-blas.patch17
-rw-r--r--sci-libs/superlu/metadata.xml2
-rw-r--r--sci-libs/superlu/superlu-4.3-r1.ebuild74
-rw-r--r--sci-libs/superlu/superlu-4.3-r2.ebuild89
-rw-r--r--sci-libs/superlu/superlu-4.3-r3.ebuild86
-rw-r--r--sci-libs/superlu/superlu-5.2.1-r1.ebuild69
-rw-r--r--sci-libs/superlu/superlu-5.3.0.ebuild55
-rw-r--r--sci-libs/superlu_mt/files/superlu_mt-3.1-fix-predefs.patch22
-rw-r--r--sci-libs/superlu_mt/metadata.xml2
-rw-r--r--sci-libs/superlu_mt/superlu_mt-3.1-r1.ebuild107
-rw-r--r--sci-libs/superlu_mt/superlu_mt-3.1.ebuild103
-rw-r--r--sci-libs/symengine/Manifest3
-rw-r--r--sci-libs/symengine/files/symengine-0.11.1-flint-3.patch41
-rw-r--r--sci-libs/symengine/files/symengine-0.7.0-cmake-build-type.patch25
-rw-r--r--sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch68
-rw-r--r--sci-libs/symengine/metadata.xml6
-rw-r--r--sci-libs/symengine/symengine-0.11.1.ebuild105
-rw-r--r--sci-libs/symengine/symengine-0.5.0-r1.ebuild81
-rw-r--r--sci-libs/symengine/symengine-0.6.0.ebuild81
-rw-r--r--sci-libs/symmetrica/metadata.xml8
-rw-r--r--sci-libs/symmetrica/symmetrica-3.0.1-r1.ebuild24
-rw-r--r--sci-libs/symmetrica/symmetrica-3.0.1.ebuild24
-rw-r--r--sci-libs/szip/Manifest2
-rw-r--r--sci-libs/szip/metadata.xml2
-rw-r--r--sci-libs/szip/szip-2.1-r2.ebuild30
-rw-r--r--sci-libs/szip/szip-2.1.1.ebuild30
-rw-r--r--sci-libs/ta-lib/files/ta-lib-0.4.0-slibtool.patch92
-rw-r--r--sci-libs/ta-lib/metadata.xml2
-rw-r--r--sci-libs/ta-lib/ta-lib-0.4.0-r1.ebuild46
-rw-r--r--sci-libs/tamu_anova/metadata.xml2
-rw-r--r--sci-libs/taucs/files/taucs-2.2-no-test-cilk.patch20
-rw-r--r--sci-libs/taucs/files/taucs-2.2-respect-ar.patch22
-rw-r--r--sci-libs/taucs/metadata.xml54
-rw-r--r--sci-libs/taucs/taucs-2.2-r1.ebuild82
-rw-r--r--sci-libs/taucs/taucs-2.2.ebuild93
-rw-r--r--sci-libs/tensorflow-estimator/Manifest7
-rw-r--r--sci-libs/tensorflow-estimator/metadata.xml16
-rw-r--r--sci-libs/tensorflow-estimator/tensorflow-estimator-1.15.1.ebuild59
-rw-r--r--sci-libs/tensorflow-estimator/tensorflow-estimator-2.0.1.ebuild69
-rw-r--r--sci-libs/tensorflow-estimator/tensorflow-estimator-2.1.ebuild69
-rw-r--r--sci-libs/tensorflow-estimator/tensorflow-estimator-2.2.0-r1.ebuild74
-rw-r--r--sci-libs/tensorflow/Manifest44
-rw-r--r--sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch38
-rw-r--r--sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0002-systemlibs-unbundle-functools32.patch61
-rw-r--r--sci-libs/tensorflow/files/tensorflow-2.1.0-cuda_10.2_support_bin2c.patch12
-rw-r--r--sci-libs/tensorflow/metadata.xml18
-rw-r--r--sci-libs/tensorflow/tensorflow-1.15.0.ebuild360
-rw-r--r--sci-libs/tensorflow/tensorflow-2.0.0.ebuild359
-rw-r--r--sci-libs/tensorflow/tensorflow-2.1.0.ebuild366
-rw-r--r--sci-libs/tensorflow/tensorflow-2.2.0.ebuild378
-rw-r--r--sci-libs/tensorpipe/Manifest1
-rw-r--r--sci-libs/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch10
-rw-r--r--sci-libs/tensorpipe/files/tensorpipe-2022.05.13-musl.patch10
-rw-r--r--sci-libs/tensorpipe/metadata.xml11
-rw-r--r--sci-libs/tensorpipe/tensorpipe-2022.05.13-r1.ebuild43
-rw-r--r--sci-libs/tnt/metadata.xml2
-rw-r--r--sci-libs/tokenizers/Manifest420
-rw-r--r--sci-libs/tokenizers/files/tokenizers-0.15.2-test.patch39
-rw-r--r--sci-libs/tokenizers/metadata.xml11
-rw-r--r--sci-libs/tokenizers/tokenizers-0.14.1-r1.ebuild335
-rw-r--r--sci-libs/tokenizers/tokenizers-0.15.2-r1.ebuild344
-rw-r--r--sci-libs/transformers/Manifest1
-rw-r--r--sci-libs/transformers/metadata.xml12
-rw-r--r--sci-libs/transformers/transformers-4.36.2.ebuild36
-rw-r--r--sci-libs/trilinos/Manifest6
-rw-r--r--sci-libs/trilinos/metadata.xml20
-rw-r--r--sci-libs/trilinos/trilinos-12.14.1.ebuild211
-rw-r--r--sci-libs/trilinos/trilinos-12.18.1.ebuild217
-rw-r--r--sci-libs/trilinos/trilinos-14.4.0.ebuild259
-rw-r--r--sci-libs/trilinos/trilinos-15.0.0.ebuild250
-rw-r--r--sci-libs/udunits/Manifest3
-rw-r--r--sci-libs/udunits/files/udunits-2.1.15-autotools.patch61
-rw-r--r--sci-libs/udunits/metadata.xml2
-rw-r--r--sci-libs/udunits/udunits-2.1.24-r1.ebuild40
-rw-r--r--sci-libs/udunits/udunits-2.2.20.ebuild32
-rw-r--r--sci-libs/udunits/udunits-2.2.28.ebuild34
-rw-r--r--sci-libs/ufconfig/metadata.xml10
-rw-r--r--sci-libs/ufconfig/ufconfig-3.7.1.ebuild28
-rw-r--r--sci-libs/umfpack/Manifest1
-rw-r--r--sci-libs/umfpack/metadata.xml7
-rw-r--r--sci-libs/umfpack/umfpack-5.7.9.ebuild20
-rw-r--r--sci-libs/umfpack/umfpack-6.1.0.ebuild62
-rw-r--r--sci-libs/volk/Manifest3
-rw-r--r--sci-libs/volk/metadata.xml5
-rw-r--r--sci-libs/volk/volk-2.3.0-r1.ebuild43
-rw-r--r--sci-libs/volk/volk-3.1.0.ebuild58
-rw-r--r--sci-libs/volk/volk-3.1.2.ebuild58
-rw-r--r--sci-libs/volk/volk-9999.ebuild58
-rw-r--r--sci-libs/voro++/files/voro++-0.4.6-cmake.patch60
-rw-r--r--sci-libs/voro++/metadata.xml2
-rw-r--r--sci-libs/voro++/voro++-0.4.6-r1.ebuild17
-rw-r--r--sci-libs/votca-tools/Manifest7
-rw-r--r--sci-libs/votca-tools/files/197.patch27
-rw-r--r--sci-libs/votca-tools/metadata.xml15
-rw-r--r--sci-libs/votca-tools/votca-tools-1.4.1.ebuild59
-rw-r--r--sci-libs/votca-tools/votca-tools-1.4.ebuild59
-rw-r--r--sci-libs/votca-tools/votca-tools-1.5.1.ebuild57
-rw-r--r--sci-libs/votca-tools/votca-tools-1.5.ebuild57
-rw-r--r--sci-libs/votca-tools/votca-tools-1.6.1.ebuild44
-rw-r--r--sci-libs/votca-tools/votca-tools-1.6.ebuild44
-rw-r--r--sci-libs/votca-tools/votca-tools-1.6_rc1.ebuild46
-rw-r--r--sci-libs/votca-tools/votca-tools-9999.ebuild44
-rw-r--r--sci-libs/vtk/Manifest22
-rw-r--r--sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch14
-rw-r--r--sci-libs/vtk/files/vtk-8.2.0-fno-common.patch40
-rw-r--r--sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch16
-rw-r--r--sci-libs/vtk/files/vtk-8.2.0-py38.patch175
-rw-r--r--sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch37
-rw-r--r--sci-libs/vtk/files/vtk-9.2.2-VTKm-respect-user-CXXFLAGS.patch81
-rw-r--r--sci-libs/vtk/files/vtk-9.2.2-link-with-glut-library-for-freeglut.patch18
-rw-r--r--sci-libs/vtk/files/vtk-9.2.2-vtkGeometryFilter-add-missing-mutex-header-file.patch20
-rw-r--r--sci-libs/vtk/files/vtk-9.2.5-Add-include-cstdint-to-compile-with-gcc-13.patch30
-rw-r--r--sci-libs/vtk/files/vtk-9.2.5-Fix-compilation-error-with-CUDA-12.patch21
-rw-r--r--sci-libs/vtk/files/vtk-9.2.5-More-include-cstdint-to-compile-with-gcc13.patch33
-rw-r--r--sci-libs/vtk/files/vtk-9.2.5-pegtl-3.x.patch136
-rw-r--r--sci-libs/vtk/files/vtk-9.2.6-Java21.patch17
-rw-r--r--sci-libs/vtk/files/vtk-9.3.0-fix-Java-error-with-integer-enum-overloads.patch51
-rw-r--r--sci-libs/vtk/files/vtk-9.3.0-java.patch11
-rw-r--r--sci-libs/vtk/files/vtk-9.3.0-opencascade-7.8.0.patch31
-rw-r--r--sci-libs/vtk/files/vtk-9.3.0-opencascade.patch17
-rw-r--r--sci-libs/vtk/files/vtk-9.3.0-pdal-2.6.0.patch77
-rw-r--r--sci-libs/vtk/files/vtk-9.3.0-too-many-initializer-values.patch20
-rw-r--r--sci-libs/vtk/metadata.xml28
-rw-r--r--sci-libs/vtk/vtk-8.2.0.ebuild345
-rw-r--r--sci-libs/vtk/vtk-9.2.5.ebuild746
-rw-r--r--sci-libs/vtk/vtk-9.2.6-r1.ebuild747
-rw-r--r--sci-libs/vtk/vtk-9.3.0.ebuild914
-rw-r--r--sci-libs/xdmf2/metadata.xml2
-rw-r--r--sci-libs/xdmf2/xdmf2-1.0_p141226-r4.ebuild6
-rw-r--r--sci-libs/xdrfile/Manifest2
-rw-r--r--sci-libs/xdrfile/metadata.xml12
-rw-r--r--sci-libs/xdrfile/xdrfile-1.1.1.ebuild23
-rw-r--r--sci-libs/xdrfile/xdrfile-1.1.4.ebuild23
-rw-r--r--sci-libs/xgks-pmel/metadata.xml10
-rw-r--r--sci-libs/xgks-pmel/xgks-pmel-2.5.5.ebuild8
-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.ebuild57
-rw-r--r--sci-libs/xkaapi/xkaapi-2.2.ebuild57
-rw-r--r--sci-libs/xkaapi/xkaapi-3.0.3.ebuild51
-rw-r--r--sci-libs/xylib/Manifest2
-rw-r--r--sci-libs/xylib/metadata.xml11
-rw-r--r--sci-libs/xylib/xylib-1.2.ebuild30
-rw-r--r--sci-libs/xylib/xylib-1.6-r1.ebuild43
-rw-r--r--sci-libs/xylib/xylib-1.6.ebuild42
1825 files changed, 48140 insertions, 41780 deletions
diff --git a/sci-libs/HighFive/HighFive-2.8.0.ebuild b/sci-libs/HighFive/HighFive-2.8.0.ebuild
new file mode 100644
index 000000000000..066cfc924888
--- /dev/null
+++ b/sci-libs/HighFive/HighFive-2.8.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DEPEND="app-text/doxygen[dot]"
+DOCS_DIR="doc"
+
+inherit cmake docs
+
+DESCRIPTION="Header-only C++ interface for libhdf5"
+HOMEPAGE="https://github.com/BlueBrain/HighFive"
+SRC_URI="https://github.com/BlueBrain/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="amd64 ~x86"
+LICENSE="Boost-1.0"
+SLOT="0"
+IUSE="mpi test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-libs/hdf5[mpi?]
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-cpp/catch-3.4.0:0
+ dev-libs/boost
+ dev-cpp/eigen
+ media-libs/opencv
+ )
+"
+
+DOCS=( {README,CHANGELOG}.md )
+
+src_configure() {
+ default
+ local mycmakeargs=(
+ -DHIGHFIVE_PARALLEL_HDF5=$(usex mpi)
+
+ -DHIGHFIVE_USE_BOOST=$(usex test)
+ -DHIGHFIVE_USE_EIGEN=$(usex test)
+ -DHIGHFIVE_USE_OPENCV=$(usex test)
+ -DHIGHFIVE_USE_XTENSOR=OFF
+
+ -DHIGHFIVE_EXAMPLES=$(usex test)
+ -DHIGHFIVE_UNIT_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ default
+ use test && cmake_src_compile
+ use doc && doxygen_compile
+}
+
+src_test() {
+ # Set -j1 to prevent race
+ cmake_src_test -j1
+}
diff --git a/sci-libs/HighFive/Manifest b/sci-libs/HighFive/Manifest
new file mode 100644
index 000000000000..9221bdc0fef9
--- /dev/null
+++ b/sci-libs/HighFive/Manifest
@@ -0,0 +1 @@
+DIST HighFive-2.8.0.tar.gz 538050 BLAKE2B ad856be95365c6d94add457d76366e0a3143fd09bbb6354048f896e16f5445d1037367eaaeaa233a3b5f9c45d2a2611173e051d2bd9e7aff4a3472665d96ec7f SHA512 cabcf8f1507b4466b7438249a813ea36de5e5d220c5caf7656312e24dbe09042bf9573388ca7c3caa22f71bd3b8106923710f9459127f87c341e2b0ab953eede
diff --git a/sci-libs/HighFive/metadata.xml b/sci-libs/HighFive/metadata.xml
new file mode 100644
index 000000000000..988d62f71f0e
--- /dev/null
+++ b/sci-libs/HighFive/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>torokhov-s-a@yandex.ru</email>
+ <name>Sergey Torokhov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">BlueBrain/HighFive</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/NNPACK/Manifest b/sci-libs/NNPACK/Manifest
new file mode 100644
index 000000000000..6a84565ed7c2
--- /dev/null
+++ b/sci-libs/NNPACK/Manifest
@@ -0,0 +1 @@
+DIST NNPACK-2020.12.22.tar.gz 219318 BLAKE2B 6b6619c8a706ef9630f20fda1e276314b2ef7f6c9aed26836a48bdaa0ae198a86383e68b04c651f37c07d34e400bc54b5daa75b06fc18cdb0a9c55e2cb33bbe1 SHA512 f0b261e8698b412d12dd739e5d0cf71c284965ae28da735ae22814a004358ba3ecaea6cd26fa17b594c0245966b7dd2561c1e05c6cbf0592fd7b85ea0f21eb37
diff --git a/sci-libs/NNPACK/NNPACK-2020.12.22-r2.ebuild b/sci-libs/NNPACK/NNPACK-2020.12.22-r2.ebuild
new file mode 100644
index 000000000000..0a02ea5ce21e
--- /dev/null
+++ b/sci-libs/NNPACK/NNPACK-2020.12.22-r2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit cmake python-any-r1
+
+CommitId=c07e3a0400713d546e0dea2d5466dd22ea389c73
+
+DESCRIPTION="acceleration package for neural network computations"
+HOMEPAGE="https://github.com/Maratyszcza/NNPACK/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=test
+RESTRICT="test" # consuming too much CPU
+
+RDEPEND="
+ dev-libs/pthreadpool
+ dev-libs/cpuinfo
+"
+DEPEND="${RDEPEND}
+ dev-libs/FP16
+ dev-libs/FXdiv
+ dev-libs/psimd
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? ( dev-cpp/gtest )
+ $(python_gen_any_dep '
+ dev-python/PeachPy[${PYTHON_USEDEP}]
+ ')
+"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+python_check_deps() {
+ python_has_version "dev-python/PeachPy[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ sed -i -e "/-O/d" CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/NNPACK/files/NNPACK-2020.12.22-gentoo.patch b/sci-libs/NNPACK/files/NNPACK-2020.12.22-gentoo.patch
new file mode 100644
index 000000000000..82064d5171c1
--- /dev/null
+++ b/sci-libs/NNPACK/files/NNPACK-2020.12.22-gentoo.patch
@@ -0,0 +1,149 @@
+--- a/CMakeLists.txt 2022-05-17 20:26:04.765047673 +0200
++++ b/CMakeLists.txt 2022-05-17 20:27:51.513583722 +0200
+@@ -123,7 +123,7 @@
+ CACHE PATH "Confu-style dependencies binary directory")
+
+ IF(NNPACK_BACKEND STREQUAL "x86-64")
+- IF(NOT DEFINED PYTHON_SIX_SOURCE_DIR)
++ IF(FALSE)
+ MESSAGE(STATUS "Downloading six (Python package) to ${CONFU_DEPENDENCIES_SOURCE_DIR}/six (define PYTHON_SIX_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadSix.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/six-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -133,7 +133,7 @@
+ SET(PYTHON_SIX_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/six" CACHE STRING "six (Python package) source directory")
+ ENDIF()
+
+- IF(NOT DEFINED PYTHON_ENUM_SOURCE_DIR)
++ IF(FALSE)
+ IF(${PYTHON_VERSION_STRING} VERSION_LESS 3.4)
+ # ---[ Python < 3.4 does not natively support enums, and needs a polyfill
+ MESSAGE(STATUS "Downloading enum (Python package) to ${CONFU_DEPENDENCIES_SOURCE_DIR}/enum (define PYTHON_ENUM_SOURCE_DIR to avoid it)")
+@@ -148,7 +148,7 @@
+ ENDIF()
+ ENDIF()
+
+- IF(NOT DEFINED PYTHON_PEACHPY_SOURCE_DIR)
++ IF(FALSE)
+ # ---[ PeachPy requires Opcodes for installation
+ IF(NOT DEFINED PYTHON_OPCODES_SOURCE_DIR)
+ MESSAGE(STATUS "Downloading opcodes (Python package) to ${CONFU_DEPENDENCIES_SOURCE_DIR}/opcodes (define PYTHON_OPCODES_SOURCE_DIR to avoid it)")
+@@ -177,7 +177,7 @@
+ ENDIF()
+ ENDIF()
+
+-IF(NOT DEFINED CPUINFO_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading cpuinfo to ${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo (define CPUINFO_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadCpuinfo.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -187,7 +187,7 @@
+ SET(CPUINFO_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo" CACHE STRING "cpuinfo source directory")
+ ENDIF()
+
+-IF(NOT DEFINED FP16_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading FP16 to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16 (define FP16_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadFP16.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -197,7 +197,7 @@
+ SET(FP16_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16" CACHE STRING "FP16 source directory")
+ ENDIF()
+
+-IF(NOT DEFINED FXDIV_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading FXdiv to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv (define FXDIV_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -207,7 +207,7 @@
+ SET(FXDIV_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv" CACHE STRING "FXdiv source directory")
+ ENDIF()
+
+-IF(NOT DEFINED PSIMD_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -217,7 +217,7 @@
+ SET(PSIMD_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd" CACHE STRING "PSimd source directory")
+ ENDIF()
+
+-IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading pthreadpool to ${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool (define PTHREADPOOL_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadPThreadPool.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -227,7 +227,7 @@
+ SET(PTHREADPOOL_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ ENDIF()
+
+-IF(NNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -496,7 +496,7 @@
+ TARGET_INCLUDE_DIRECTORIES(nnpack_reference_layers PUBLIC include)
+
+ # ---[ Configure cpuinfo
+-IF(NOT TARGET cpuinfo)
++IF(FALSE)
+ SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "")
+@@ -508,7 +508,7 @@
+ TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo)
+
+ # ---[ Configure pthreadpool
+-IF(NOT TARGET pthreadpool)
++IF(FALSE)
+ SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
+ SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -525,7 +525,7 @@
+ TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC pthreadpool)
+
+ # ---[ Configure FXdiv
+-IF(NOT TARGET fxdiv)
++IF(FALSE)
+ SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -532,18 +532,16 @@
+ "${FXDIV_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(nnpack PRIVATE fxdiv)
+
+ # ---[ Configure psimd
+-IF(NOT TARGET psimd)
++IF(FALSE)
+ ADD_SUBDIRECTORY(
+ "${PSIMD_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(nnpack PRIVATE psimd)
+
+ # ---[ Configure FP16
+-IF(NOT TARGET fp16)
++IF(FALSE)
+ SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -550,8 +548,6 @@
+ "${FP16_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(nnpack PRIVATE fp16)
+-TARGET_LINK_LIBRARIES(nnpack_reference_layers PUBLIC fp16)
+
+ INSTALL(TARGETS nnpack
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+@@ -560,7 +560,7 @@
+
+ IF(NNPACK_BUILD_TESTS)
+ # ---[ Build google test
+- IF(NOT TARGET gtest)
++ IF(FALSE)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ ADD_SUBDIRECTORY(
+ "${GOOGLETEST_SOURCE_DIR}"
diff --git a/sci-libs/NNPACK/metadata.xml b/sci-libs/NNPACK/metadata.xml
new file mode 100644
index 000000000000..654ce634d4a8
--- /dev/null
+++ b/sci-libs/NNPACK/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Maratyszcza/NNPACK</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/QNNPACK/Manifest b/sci-libs/QNNPACK/Manifest
new file mode 100644
index 000000000000..bd09babe05a3
--- /dev/null
+++ b/sci-libs/QNNPACK/Manifest
@@ -0,0 +1 @@
+DIST QNNPACK-2019.08.28.tar.gz 205600 BLAKE2B f174051cba9e3307633f0b12326a37d8fde23562d47e09d3c078350146439094ca6cb2f032cf3aa4af40e5968ee16b8847241f787f7c84ea501124e0528fb82d SHA512 437a835acfedae851a9a8572fa6eea9854dcb8bcca499bc4a2582314e44f5f199778e857932da4aecf943bea7cb2eb5b1c41d4b4ca6075bddbe0f18b2c7b9127
diff --git a/sci-libs/QNNPACK/QNNPACK-2019.08.28.ebuild b/sci-libs/QNNPACK/QNNPACK-2019.08.28.ebuild
new file mode 100644
index 000000000000..11fde064e65b
--- /dev/null
+++ b/sci-libs/QNNPACK/QNNPACK-2019.08.28.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=7d2a4e9931a82adc3814275b6219a03e24e36b4c
+
+DESCRIPTION="Quantized Neural Networks PACKage"
+HOMEPAGE="https://github.com/pytorch/QNNPACK/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="static-libs test"
+
+RDEPEND="
+ dev-libs/cpuinfo
+ dev-libs/pthreadpool
+"
+DEPEND="${RDEPEND}
+ dev-libs/FP16
+ dev-libs/FXdiv
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DQNNPACK_BUILD_BENCHMARKS=OFF
+ -DQNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ -DQNNPACK_LIBRARY_TYPE=$(usex static-libs static shared)
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/QNNPACK/files/QNNPACK-2019.08.28-gentoo.patch b/sci-libs/QNNPACK/files/QNNPACK-2019.08.28-gentoo.patch
new file mode 100644
index 000000000000..46dbcc14f720
--- /dev/null
+++ b/sci-libs/QNNPACK/files/QNNPACK-2019.08.28-gentoo.patch
@@ -0,0 +1,130 @@
+--- a/CMakeLists.txt 2022-05-18 22:04:51.143871114 +0200
++++ b/CMakeLists.txt 2022-05-18 22:05:11.998576858 +0200
+@@ -57,7 +57,7 @@
+ SET(CLOG_SOURCE_DIR "${PROJECT_SOURCE_DIR}/deps/clog")
+ ENDIF()
+
+-IF(NOT DEFINED CPUINFO_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading cpuinfo to ${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo (define CPUINFO_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadCpuinfo.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -67,7 +67,7 @@
+ SET(CPUINFO_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/cpuinfo" CACHE STRING "cpuinfo source directory")
+ ENDIF()
+
+-IF(NOT DEFINED FP16_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading FP16 to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16 (define FP16_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadFP16.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -77,7 +77,7 @@
+ SET(FP16_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fp16" CACHE STRING "FP16 source directory")
+ ENDIF()
+
+-IF(NOT DEFINED FXDIV_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading FXdiv to ${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv (define FXDIV_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -87,7 +87,7 @@
+ SET(FXDIV_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/fxdiv" CACHE STRING "FXdiv source directory")
+ ENDIF()
+
+-IF(NOT DEFINED PSIMD_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -97,7 +97,7 @@
+ SET(PSIMD_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd" CACHE STRING "PSimd source directory")
+ ENDIF()
+
+-IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading pthreadpool to ${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool (define PTHREADPOOL_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadPThreadPool.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -107,7 +107,7 @@
+ SET(PTHREADPOOL_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ ENDIF()
+
+-IF(QNNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
++IF(FALSE)
+ MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
+ CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
+ EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+@@ -272,7 +272,7 @@
+ SET_TARGET_PROPERTIES(qnnpack PROPERTIES PUBLIC_HEADER include/qnnpack.h)
+
+ # ---[ Configure clog
+-IF(NOT TARGET clog)
++IF(FALSE)
+ SET(CLOG_BUILD_TESTS OFF CACHE BOOL "")
+ SET(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
+ ADD_SUBDIRECTORY(
+@@ -284,7 +284,7 @@
+ TARGET_LINK_LIBRARIES(qnnpack PRIVATE clog)
+
+ # ---[ Configure cpuinfo
+-IF(NOT TARGET cpuinfo)
++IF(FALSE)
+ SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
+ SET(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "")
+@@ -296,7 +296,7 @@
+ TARGET_LINK_LIBRARIES(qnnpack PRIVATE cpuinfo)
+
+ # ---[ Configure pthreadpool
+-IF(NOT TARGET pthreadpool)
++IF(FALSE)
+ SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
+ SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -312,7 +312,7 @@
+ ENDIF()
+
+ # ---[ Configure FXdiv
+-IF(NOT TARGET fxdiv)
++IF(FALSE)
+ SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -319,18 +319,16 @@
+ "${FXDIV_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/fxdiv")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(qnnpack PRIVATE fxdiv)
+
+ # ---[ Configure psimd
+-IF(NOT TARGET psimd)
++IF(FALSE)
+ ADD_SUBDIRECTORY(
+ "${PSIMD_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(qnnpack PRIVATE psimd)
+
+ # ---[ Configure FP16
+-IF(NOT TARGET fp16)
++IF(FALSE)
+ SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
+ SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
+ ADD_SUBDIRECTORY(
+@@ -337,7 +335,6 @@
+ "${FP16_SOURCE_DIR}"
+ "${CONFU_DEPENDENCIES_BINARY_DIR}/fp16")
+ ENDIF()
+-TARGET_LINK_LIBRARIES(qnnpack PRIVATE fp16)
+
+ INSTALL(TARGETS qnnpack
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+@@ -347,7 +347,7 @@
+ # ---[ QNNPACK unit tests
+ IF(QNNPACK_BUILD_TESTS)
+ # ---[ Build google test
+- IF(NOT TARGET gtest)
++ IF(FALSE)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ ADD_SUBDIRECTORY(
+ "${GOOGLETEST_SOURCE_DIR}"
diff --git a/sci-libs/QNNPACK/metadata.xml b/sci-libs/QNNPACK/metadata.xml
new file mode 100644
index 000000000000..2187de2a666b
--- /dev/null
+++ b/sci-libs/QNNPACK/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/QNNPACK</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/Rtree/Manifest b/sci-libs/Rtree/Manifest
deleted file mode 100644
index d91680ac67b7..000000000000
--- a/sci-libs/Rtree/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Rtree-0.8.3_p20180802.tar.gz 48893 BLAKE2B bd0745e8e5051a772c2d50fe35712dc661737f32f6af382579dbbffc7467c21ef73bbeb794489da9891e50497b6f8775b1a670185453d54881e6dc8496fef539 SHA512 10c35a1d00369b3a30c486830d7cecdae6bd9bbc2ab9ea7f398227bc46b116783b1486cc75759eb27d7b25439400cbc39b55e6f58c686caec45bbc8436c6067c
diff --git a/sci-libs/Rtree/Rtree-0.8.3_p20180802.ebuild b/sci-libs/Rtree/Rtree-0.8.3_p20180802.ebuild
deleted file mode 100644
index 0832cb96d361..000000000000
--- a/sci-libs/Rtree/Rtree-0.8.3_p20180802.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit distutils-r1
-
-EGIT_COMMIT_HASH="c6437a8ae182cb58aef1d0a4465bfc0c6f75b273"
-
-DESCRIPTION="R-Tree spatial index for Python GIS"
-HOMEPAGE="https://github.com/Toblerity/rtree"
-SRC_URI="https://github.com/Toblerity/rtree/archive/${EGIT_COMMIT_HASH}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sci-libs/libspatialindex"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/rtree-${EGIT_COMMIT_HASH}"
-
-python_test() {
- pytest -vv || die
-}
diff --git a/sci-libs/Rtree/metadata.xml b/sci-libs/Rtree/metadata.xml
deleted file mode 100644
index f78d3bff8f54..000000000000
--- a/sci-libs/Rtree/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">Toblerity/rtree</remote-id>
- <remote-id type="pypi">Rtree</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/Shapely/Manifest b/sci-libs/Shapely/Manifest
deleted file mode 100644
index 4fab9715505e..000000000000
--- a/sci-libs/Shapely/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST Shapely-1.6.4.post2.tar.gz 225745 BLAKE2B 96e995db6dd1464bac7c2562efdc7f298a5f23c388e44f334db685b1cfa1025ff403db870e11328977a267483726504e03b6d7c47fe4234a3a5966a13b2b7311 SHA512 027c816ef2104f654569ca658b52b87c60e5ba6a45927fcc51c23dd1922f3f9f7fdcea3601160b0a999e39611617142833ccac790777093be8b96a0d9083f78f
-DIST Shapely-1.7.0.tar.gz 281419 BLAKE2B 1a4e84104f21d2f5a5eb810883a89deb20fd47cf146efed884994786364b29bb5a194b063a50ae21842c07c335cbbee0c3d1a1e4ff4e43e0d083080fe33815ac SHA512 4d944fc6727e11d004ef7ba0325c159aa5ae03043f17b029ab0a399d6dcd361c4d299ad864a045a99b0229e333d5b42634bc6fd1ed94b914b7cf58fb886af2de
diff --git a/sci-libs/Shapely/Shapely-1.6.4_p2-r1.ebuild b/sci-libs/Shapely/Shapely-1.6.4_p2-r1.ebuild
deleted file mode 100644
index 236a29449e75..000000000000
--- a/sci-libs/Shapely/Shapely-1.6.4_p2-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit distutils-r1
-
-DESCRIPTION="Geometric objects, predicates, and operations"
-HOMEPAGE="https://pypi.org/project/Shapely/"
-
-MY_PV="$(ver_cut 1-3).post$(ver_cut 5)"
-
-if [[ ${PV} == "9999" ]] ; then
- inherit git-r3
- SRC_URI=""
- EGIT_REPO_URI="https://github.com/Toblerity/${PN}.git"
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${PN}-${MY_PV}.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="test"
-
-BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
- >=sci-libs/geos-3.3"
-DEPEND="${RDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=( "${FILESDIR}/${P}-test_operations.patch" ) # bug 701624
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-python_prepare_all() {
- # fix install path for Cython definition file
- sed -i \
- -e "s|\(data_files.*\)'shapely'|\1'share/shapely'|" \
- setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- distutils_install_for_testing
- cd "${TEST_DIR}/lib" || die
- cp -r "${S}/tests" . || die
- py.test tests || die
-}
diff --git a/sci-libs/Shapely/Shapely-1.7.0.ebuild b/sci-libs/Shapely/Shapely-1.7.0.ebuild
deleted file mode 100644
index 83aed726c948..000000000000
--- a/sci-libs/Shapely/Shapely-1.7.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..8} )
-
-inherit distutils-r1
-
-DESCRIPTION="Geometric objects, predicates, and operations"
-HOMEPAGE="https://pypi.org/project/Shapely/ https://github.com/Toblerity/Shapely"
-SRC_URI="https://github.com/Toblerity/Shapely/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- >=sci-libs/geos-3.3
-"
-
-BDEPEND="${RDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-distutils_enable_sphinx docs dev-python/matplotlib
-
-python_test() {
- distutils_install_for_testing
- ${EPYTHON} -m pytest tests || die "tests failed under ${EPYTHON}"
-}
diff --git a/sci-libs/Shapely/files/Shapely-1.6.4_p2-test_operations.patch b/sci-libs/Shapely/files/Shapely-1.6.4_p2-test_operations.patch
deleted file mode 100644
index a9213a333765..000000000000
--- a/sci-libs/Shapely/files/Shapely-1.6.4_p2-test_operations.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Description: Mark test_operations as xfail.
- # Intersection
- > self.assertIsInstance(point.intersection(Point(-1, -1)),
- GeometryCollection)
- E AssertionError: <shapely.geometry.point.Point object at 0xffffb6e2c250> is not an instance of <class 'shapely.geometry.collection.GeometryCollection'>
-Author: Bas Couwenberg <sebastic@debian.org>
-
---- a/tests/test_operations.py
-+++ b/tests/test_operations.py
-@@ -7,6 +7,7 @@ from shapely.geos import TopologicalErro
-
- class OperationsTestCase(unittest.TestCase):
-
-+ @pytest.mark.xfail(reason="Intersection: Point is not an instance of GeometryCollection")
- def test_operations(self):
- point = Point(0.0, 0.0)
-
diff --git a/sci-libs/Shapely/metadata.xml b/sci-libs/Shapely/metadata.xml
deleted file mode 100644
index fba577d3fb03..000000000000
--- a/sci-libs/Shapely/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>expeditioneer@gentoo.org</email>
- <name>Dennis Lamm</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription>
- Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects.
- It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.
- Shapely is not concerned with data formats or coordinate systems, but can be readily integrated with packages that are.
- </longdescription>
- <upstream>
- <remote-id type="github">Toblerity/Shapely</remote-id>
- <remote-id type="pypi">Shapely</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/ViSP/Manifest b/sci-libs/ViSP/Manifest
index 45275696255a..57dbe3855179 100644
--- a/sci-libs/ViSP/Manifest
+++ b/sci-libs/ViSP/Manifest
@@ -1 +1 @@
-DIST visp-3.3.0.tar.gz 60822186 BLAKE2B 559698af352b4eac227ab2cdb8d66be31c04d2e2ac2d30ce07cef5022501162211ff9bfc9ed4970ac8b825321b8fc34241a6ca7a29b3d78fb70fa79ac429f7ab SHA512 f96b017353240e63059ef1e514a64198b6a50b95b5a08405c16e99589fd2110071e2d558921a674e538f9cdea07fde8e653ca630e3c12c38bf91f7a83057afe2
+DIST visp-3.5.0.tar.gz 52005297 BLAKE2B a429c07c8d80e8790bdd72bf27b777c79784173cc8be2539656c1cfbc111e35b3f80207a866fe3aaca536033af9e9d5006bf7e10a56cef5655aa9615a674c5ac SHA512 5a968a78c8ed2c48da71fa3def482b84fd73961f012e82ea1d7dd9b7b14336be5596ac9fc1bdf16414793d2399431bbc4306710d31b62946e6b2c03f692751b8
diff --git a/sci-libs/ViSP/ViSP-3.3.0.ebuild b/sci-libs/ViSP/ViSP-3.3.0.ebuild
deleted file mode 100644
index 7b2cda09c8a4..000000000000
--- a/sci-libs/ViSP/ViSP-3.3.0.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Visual Servoing Platform: visual tracking and visual servoing library"
-HOMEPAGE="https://visp.inria.fr/"
-SRC_URI="http://gforge.inria.fr/frs/download.php/latestfile/475/visp-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/3.3"
-KEYWORDS="~amd64 ~arm"
-IUSE="
- +coin demos +dmtx doc examples gsl ieee1394 jpeg motif ogre
- opencv pcl png test tutorials usb v4l X xml +zbar zlib
- cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3
-"
-REQUIRED_USE="motif? ( coin )"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- coin? (
- >=media-libs/coin-4
- virtual/opengl
- )
- dmtx? ( media-libs/libdmtx )
- gsl? ( sci-libs/gsl )
- ieee1394? ( media-libs/libdc1394 )
- jpeg? ( virtual/jpeg:0 )
- motif? ( media-libs/SoXt )
- ogre? (
- dev-games/ogre[ois(+)]
- dev-libs/boost:=[threads]
- )
- opencv? ( media-libs/opencv:=[contribdnn(+)] )
- pcl? ( sci-libs/pcl:= )
- 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="${COMMON_DEPEND}
- v4l? ( virtual/os-headers )"
-RDEPEND="${COMMON_DEPEND}
- demos? ( sci-misc/ViSP-images )"
-BDEPEND="
- virtual/pkgconfig
- test? ( sci-misc/ViSP-images )
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- virtual/latex-base
- )"
-
-S="${WORKDIR}/visp-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.2.0-ocv.patch"
- "${FILESDIR}/${PN}-3.0.1-opencv.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- "-DBUILD_JAVA=OFF"
- "-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_COIN3D=$(usex coin ON OFF)"
- "-DUSE_DC1394=$(usex ieee1394 ON OFF)"
- "-DUSE_DMTX=$(usex dmtx ON OFF)"
- "-DUSE_GSL=$(usex gsl ON OFF)"
- "-DUSE_JPEG=$(usex jpeg ON OFF)"
- "-DUSE_PNG=$(usex png ON OFF)"
- "-DUSE_LIBUSB_1=$(usex usb ON OFF)"
- "-DUSE_OGRE=$(usex ogre ON OFF)"
- "-DUSE_OIS=$(usex ogre ON OFF)"
- "-DUSE_OPENCV=$(usex opencv ON OFF)"
- "-DUSE_PCL=$(usex pcl ON OFF)"
- "-DUSE_SOQT=OFF"
- "-DUSE_SOXT=$(usex motif ON OFF)"
- "-DUSE_V4L2=$(usex v4l ON OFF)"
- "-DUSE_X11=$(usex X ON OFF)"
- "-DUSE_XML2=$(usex xml ON OFF)"
- "-DUSE_ZBAR=$(usex zbar ON OFF)"
- "-DUSE_ZLIB=$(usex zlib ON OFF)"
- "-DCOIN3D_INCLUDE_DIR=${EPREFIX:-${SYSROOT}}/usr/include/Coin4"
- "-DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)"
- "-DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)"
- "-DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 ON OFF)"
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use doc && cmake_src_compile visp_doc
-}
-
-src_install() {
- use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
- cmake_src_install
- if use tutorials ; then
- dodoc -r tutorial
- docompress -x /usr/share/doc/${PF}/tutorial
- fi
-}
diff --git a/sci-libs/ViSP/ViSP-3.5.0.ebuild b/sci-libs/ViSP/ViSP-3.5.0.ebuild
new file mode 100644
index 000000000000..5a7052834f6b
--- /dev/null
+++ b/sci-libs/ViSP/ViSP-3.5.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Visual Servoing Platform: visual tracking and visual servoing library"
+HOMEPAGE="https://visp.inria.fr/"
+SRC_URI="https://visp-doc.inria.fr/download/releases/visp-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/3.5"
+KEYWORDS="~amd64 ~arm"
+IUSE="
+ +coin demos +dmtx doc examples gsl ieee1394 jpeg motif ogre
+ opencv pcl png test tutorials usb v4l X xml +zbar zlib
+ cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3
+"
+REQUIRED_USE="motif? ( coin )"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ coin? (
+ >=media-libs/coin-4
+ virtual/opengl
+ )
+ dmtx? ( media-libs/libdmtx )
+ gsl? ( sci-libs/gsl:= )
+ ieee1394? ( media-libs/libdc1394:2= )
+ jpeg? ( virtual/jpeg:0 )
+ motif? ( media-libs/SoXt )
+ ogre? (
+ dev-games/ogre[ois(+)]
+ dev-libs/boost:=
+ )
+ opencv? ( media-libs/opencv:=[contribdnn(+)] )
+ pcl? ( sci-libs/pcl:= )
+ 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="${COMMON_DEPEND}
+ v4l? ( virtual/os-headers )"
+RDEPEND="${COMMON_DEPEND}
+ demos? ( sci-misc/ViSP-images )"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( sci-misc/ViSP-images )
+ doc? (
+ app-text/doxygen
+ media-gfx/graphviz
+ virtual/latex-base
+ )"
+
+S="${WORKDIR}/visp-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.2.0-ocv.patch"
+ "${FILESDIR}/${PN}-3.0.1-opencv.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_JAVA=OFF"
+ "-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_COIN3D=$(usex coin ON OFF)"
+ "-DUSE_DC1394=$(usex ieee1394 ON OFF)"
+ "-DUSE_DMTX=$(usex dmtx ON OFF)"
+ "-DUSE_GSL=$(usex gsl ON OFF)"
+ "-DUSE_JPEG=$(usex jpeg ON OFF)"
+ "-DUSE_PNG=$(usex png ON OFF)"
+ "-DUSE_LIBUSB_1=$(usex usb ON OFF)"
+ "-DUSE_OGRE=$(usex ogre ON OFF)"
+ "-DUSE_OIS=$(usex ogre ON OFF)"
+ "-DUSE_OPENCV=$(usex opencv ON OFF)"
+ "-DUSE_PCL=$(usex pcl ON OFF)"
+ "-DUSE_SOQT=OFF"
+ "-DUSE_SOXT=$(usex motif ON OFF)"
+ "-DUSE_V4L2=$(usex v4l ON OFF)"
+ "-DUSE_X11=$(usex X ON OFF)"
+ "-DUSE_XML2=$(usex xml ON OFF)"
+ "-DUSE_ZBAR=$(usex zbar ON OFF)"
+ "-DUSE_ZLIB=$(usex zlib ON OFF)"
+ "-DCOIN3D_INCLUDE_DIR=${EPREFIX:-${SYSROOT}}/usr/include/Coin4"
+ "-DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)"
+ "-DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)"
+ "-DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_src_compile visp_doc
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ cmake_src_install
+ if use tutorials ; then
+ dodoc -r tutorial
+ docompress -x /usr/share/doc/${PF}/tutorial
+ fi
+}
diff --git a/sci-libs/ViSP/metadata.xml b/sci-libs/ViSP/metadata.xml
index 15ed30656d81..db83f034312a 100644
--- a/sci-libs/ViSP/metadata.xml
+++ b/sci-libs/ViSP/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/sci-libs/XNNPACK/Manifest b/sci-libs/XNNPACK/Manifest
new file mode 100644
index 000000000000..f095db09ce21
--- /dev/null
+++ b/sci-libs/XNNPACK/Manifest
@@ -0,0 +1,2 @@
+DIST XNNPACK-2022.02.17.tar.gz 6761154 BLAKE2B 59be5d9efe6f46d22bc41d3152e6cd3103f6dfafd94cdf3229b86ecf44a46175c613760f3de35c98a24ccdec1783f205c1eceaf21133706fedd5f384529748eb SHA512 aacbe907bb2b7429143f4ec612881fb709fe37e7b3a7f4fd68193dee6bbe82e17d20b2c6f5a8025845a09f8269c1dfeaebfc5bd64ef196fa376d82ac9a44cb8f
+DIST XNNPACK-2022.12.22.tar.gz 8342018 BLAKE2B 50426a47121418ef00a29b390ab4bb28211c17faaa7f4eacbf3a363fc3511b8655687e7f7f93f13b06a72ff9bcbde033305372687b6f2df1e1d5abaa910fe8be SHA512 1742ad4de3aa1a67cd5a3cbf15d82afc2cc8569a2abac92542f748a440ef37fef4e9d9c302b7b2813e3176934b637c761c1c0956d20ab1ba28b280d9b121d91b
diff --git a/sci-libs/XNNPACK/XNNPACK-2022.02.17-r1.ebuild b/sci-libs/XNNPACK/XNNPACK-2022.02.17-r1.ebuild
new file mode 100644
index 000000000000..3f4751f7b98e
--- /dev/null
+++ b/sci-libs/XNNPACK/XNNPACK-2022.02.17-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=84b02ad55f089598aa42a557573dc4eb6f92f3ff
+
+DESCRIPTION="library of floating-point neural network inference operators"
+HOMEPAGE="https://github.com/google/XNNPACK/"
+SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+assembly jit +memopt +sparse static-libs test"
+
+RDEPEND="
+ dev-libs/cpuinfo
+ dev-libs/pthreadpool
+"
+DEPEND="${RDEPEND}
+ dev-libs/FP16
+ dev-libs/FXdiv
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ sed -i \
+ -e "/PRIVATE fp16)/d" \
+ -e "/PRIVATE fxdiv)/d" \
+ -e "/PRIVATE clog)/d" \
+ -e "/TARGET_LINK_LIBRARIES/s: fp16::" \
+ CMakeLists.txt \
+ || die
+ dropTest=(
+ "add-nd-test"
+ "subtract-nd-test"
+ "f32-velu-test"
+ "qc8-dwconv-minmax-fp32-test"
+ "qs8-dwconv-minmax-fp32-test"
+ "qs8-vadd-minmax-test"
+ "qs8-vaddc-minmax-test"
+ "qu8-dwconv-minmax-fp32-test"
+ "qu8-vadd-minmax-test"
+ "qu8-vaddc-minmax-test"
+ )
+ for id in ${dropTest[@]}
+ do
+ sed -i \
+ -e "/ADD_TEST(${id}/d" \
+ CMakeLists.txt \
+ || die
+ done
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DXNNPACK_BUILD_BENCHMARKS=OFF
+ -DXNNPACK_USE_SYSTEM_LIBS=ON
+ -DXNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ -DXNNPACK_LIBRARY_TYPE=$(usex static-libs static shared)
+ -DXNNPACK_ENABLE_ASSEMBLY=$(usex assembly ON OFF)
+ -DXNNPACK_ENABLE_JIT=$(usex jit ON OFF)
+ -DXNNPACK_ENABLE_MEMOPT=$(usex memopt ON OFF)
+ -DXNNPACK_ENABLE_SPARSE=$(usex sparse ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild b/sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild
new file mode 100644
index 000000000000..c30a840eaf57
--- /dev/null
+++ b/sci-libs/XNNPACK/XNNPACK-2022.12.22.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=51a987591a6fc9f0fc0707077f53d763ac132cbf
+
+DESCRIPTION="library of floating-point neural network inference operators"
+HOMEPAGE="https://github.com/google/XNNPACK/"
+SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+assembly jit +memopt +sparse static-libs test"
+
+RDEPEND="
+ dev-libs/cpuinfo
+ dev-libs/pthreadpool
+"
+DEPEND="${RDEPEND}
+ dev-libs/FP16
+ dev-libs/FXdiv
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.02.17-gentoo.patch
+)
+
+src_prepare() {
+ sed -i \
+ -e "/PRIVATE fp16)/d" \
+ -e "/PRIVATE fxdiv)/d" \
+ -e "/PRIVATE clog)/d" \
+ -e "/TARGET_LINK_LIBRARIES/s: fp16::" \
+ CMakeLists.txt \
+ || die
+ dropTest=(
+ "add-nd-test"
+ "subtract-nd-test"
+ "f32-velu-test"
+ "qc8-dwconv-minmax-fp32-test"
+ "qs8-dwconv-minmax-fp32-test"
+ "qs8-vadd-minmax-test"
+ "qs8-vaddc-minmax-test"
+ "qu8-dwconv-minmax-fp32-test"
+ "qu8-vadd-minmax-test"
+ "qu8-vaddc-minmax-test"
+ )
+ for id in ${dropTest[@]}
+ do
+ sed -i \
+ -e "/ADD_TEST(${id}/d" \
+ CMakeLists.txt \
+ || die
+ done
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DXNNPACK_BUILD_BENCHMARKS=OFF
+ -DXNNPACK_USE_SYSTEM_LIBS=ON
+ -DXNNPACK_BUILD_TESTS=$(usex test ON OFF)
+ -DXNNPACK_LIBRARY_TYPE=$(usex static-libs static shared)
+ -DXNNPACK_ENABLE_ASSEMBLY=$(usex assembly ON OFF)
+ -DXNNPACK_ENABLE_JIT=$(usex jit ON OFF)
+ -DXNNPACK_ENABLE_MEMOPT=$(usex memopt ON OFF)
+ -DXNNPACK_ENABLE_SPARSE=$(usex sparse ON OFF)
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ )
+
+ cmake_src_configure
+ cd "${BUILD_DIR}"
+}
diff --git a/sci-libs/XNNPACK/files/XNNPACK-2022.02.17-gentoo.patch b/sci-libs/XNNPACK/files/XNNPACK-2022.02.17-gentoo.patch
new file mode 100644
index 000000000000..f07ba08edf56
--- /dev/null
+++ b/sci-libs/XNNPACK/files/XNNPACK-2022.02.17-gentoo.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt 2022-05-10 08:26:00.636788471 +0200
++++ b/CMakeLists.txt 2022-05-10 08:26:57.097938381 +0200
+@@ -6696,9 +6696,6 @@
+ # ---[ Build google test
+ IF(NOT TARGET gtest)
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CMAKE_BINARY_DIR}/googletest")
+ ENDIF()
+
+ ADD_LIBRARY(gemm-microkernel-tester STATIC test/gemm-microkernel-tester.cc)
diff --git a/sci-libs/XNNPACK/metadata.xml b/sci-libs/XNNPACK/metadata.xml
new file mode 100644
index 000000000000..ddf909e2c6ee
--- /dev/null
+++ b/sci-libs/XNNPACK/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="assembly">Build with assembly micro-kernels</flag>
+ <flag name="jit">Build with JIT micro-kernels</flag>
+ <flag name="memopt">Build with optimized memory allocation scheme</flag>
+ <flag name="sparse">Build with graph rewriting for sparse inference</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">google/XNNPACK</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/adolc/Manifest b/sci-libs/adolc/Manifest
index e037c72c745b..2fa163cefb08 100644
--- a/sci-libs/adolc/Manifest
+++ b/sci-libs/adolc/Manifest
@@ -1,3 +1,2 @@
-DIST ADOL-C-2.4.1.tgz 2210414 BLAKE2B f9b1fd7f0e619d811b29e077e436697dc8b5a388568d73b2db602e57f97cbb690a5b47a55c722ae45cc28698dd19949eddb9d02e11c87383191e217f012519bb SHA512 5e5135ca587d159510bf77338fdff3d324f4d32c4ec6f8cf64ddc92253b427b8ee26a30bc1d83fe18121bbfdc7454c3536f58849c0c335e1b240e39d46acdccc
-DIST ADOL-C-2.6.3.tgz 2416928 BLAKE2B 74e575a1a919bc2787be0c29deaac4b503c077cb06efdba3f2382f21abf1ed53e8cb5f41729dc39f9188e44460fa137a09cffdb296b5f92131153795f36fa83a SHA512 e3c44b1f8ab5211a8a3c3163124e35b6d1e9551672ab4944d983dd3117f609d512c1b08c61e535dc4d50089295ee565bec07aaca67aa88b57b17bc3906573262
+DIST adolc-2.7.2-patches.tar.bz2 6227 BLAKE2B 6ed9ca3c3128233308b6f4a57d839ac668a031a4d48e612b79929541b496dff67e463197c3c5233bda459fba17422827df6c81fba986ea7fe2affbee2cb8cbf0 SHA512 b468753efbde773c5c7d7f0211abee049193d9b64405ae57a4a902a93a4c06e4f205f531aeee9f30d7dddef19243e1a76b77a8e8727d8e36ee3867f5990e2fbb
DIST adolc-2.7.2.tar.gz 2447479 BLAKE2B 0f871ce1dcb50bb14684e45e265cf45807f514dd3ca0dbaaedede2c7117d34cc5a34b0096a34c8ec37023e50aec7fd4be6561819d6297771e7f7fcaa7ba0e507 SHA512 b896650077367fd7388a6c5a40e5d8bb3f19af9e3bc5b067fd1d9a769809b77ccdfb5ef11ef481ab791c0f040401aaed0053cba55d4c2a3383c0d056122280f6
diff --git a/sci-libs/adolc/adolc-2.4.1.ebuild b/sci-libs/adolc/adolc-2.4.1.ebuild
deleted file mode 100644
index d8eda2e65133..000000000000
--- a/sci-libs/adolc/adolc-2.4.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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.6.3-r1.ebuild b/sci-libs/adolc/adolc-2.6.3-r1.ebuild
deleted file mode 100644
index f2f0193878e4..000000000000
--- a/sci-libs/adolc/adolc-2.6.3-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs eutils ltprune
-
-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/2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+boost mpi sparse static-libs"
-
-RDEPEND="
- boost? ( dev-libs/boost:0= )
- 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}"/${PN}-2.6.2-dash.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-advanced-branching \
- --enable-atrig-erf \
- $(use_enable mpi ampi) \
- $(use_enable sparse) \
- $(use_enable static-libs static) \
- $(use_with boost) \
- $(use_with sparse colpack "${EPREFIX}"/usr)
-}
-
-src_test() {
- emake test
-}
-
-src_install() {
- default
- use static-libs || prune_libtool_files --all
-}
diff --git a/sci-libs/adolc/adolc-2.7.2.ebuild b/sci-libs/adolc/adolc-2.7.2.ebuild
index dc6d88c74f35..f3cb7554fab1 100644
--- a/sci-libs/adolc/adolc-2.7.2.ebuild
+++ b/sci-libs/adolc/adolc-2.7.2.ebuild
@@ -1,38 +1,38 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools toolchain-funcs eutils
+inherit autotools toolchain-funcs
DESCRIPTION="Automatic differentiation system for C/C++"
HOMEPAGE="https://projects.coin-or.org/ADOL-C/"
-if [[ ${PV} = *9999* ]]; then
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/coin-or/ADOL-C"
- SRC_URI=""
- KEYWORDS=""
else
SRC_URI="https://github.com/coin-or/ADOL-C/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-2.7.2-patches.tar.bz2"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/ADOL-C-releases-${PV}"
fi
LICENSE="|| ( EPL-1.0 GPL-2 )"
SLOT="0/2"
-IUSE="+boost mpi sparse static-libs"
+IUSE="+boost mpi sparse"
RDEPEND="
- boost? ( dev-libs/boost:0= )
+ boost? ( dev-libs/boost:= )
mpi? ( sys-cluster/ampi:0= )
sparse? ( sci-libs/colpack:0= )"
DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/${PN}-2.5.0-no-colpack.patch
- "${FILESDIR}"/${PN}-2.5.0-pkgconfig-no-ldflags.patch
- "${FILESDIR}"/${PN}-2.6.2-dash.patch
+ "${WORKDIR}"/${PN}-2.5.0-no-colpack.patch
+ "${WORKDIR}"/${PN}-2.5.0-pkgconfig-no-ldflags.patch
+ "${WORKDIR}"/${PN}-2.6.2-dash.patch
+ "${WORKDIR}"/${P}-swig-python-configure.patch
)
src_prepare() {
@@ -41,21 +41,29 @@ src_prepare() {
}
src_configure() {
- econf \
+ # Disabling Python for now because swig build
+ # needs work. Revisit with >=2.7.3.
+ # https://bugs.gentoo.org/730750
+ # https://github.com/coin-or/ADOL-C/issues/20
+ # Can drop CONFIG_SHELL once fixed up dash/bashisms patch
+ CONFIG_SHELL="${BROOT}/bin/bash" econf \
+ --disable-python \
+ --disable-static \
--enable-advanced-branching \
--enable-atrig-erf \
$(use_enable mpi ampi) \
$(use_enable sparse) \
- $(use_enable static-libs static) \
$(use_with boost) \
$(use_with sparse colpack "${EPREFIX}"/usr)
}
src_test() {
+ # 'check' target is unrelated to checking lib works
+ # ('check' is more like distcheck)
emake test
}
src_install() {
default
- use static-libs || find "${D}" -name '*.la' -type f -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/adolc/adolc-9999.ebuild b/sci-libs/adolc/adolc-9999.ebuild
index dc6d88c74f35..1b2aae597128 100644
--- a/sci-libs/adolc/adolc-9999.ebuild
+++ b/sci-libs/adolc/adolc-9999.ebuild
@@ -1,61 +1,69 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools toolchain-funcs eutils
+inherit autotools toolchain-funcs
DESCRIPTION="Automatic differentiation system for C/C++"
HOMEPAGE="https://projects.coin-or.org/ADOL-C/"
-if [[ ${PV} = *9999* ]]; then
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/coin-or/ADOL-C"
- SRC_URI=""
- KEYWORDS=""
+ SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-2.7.2-patches.tar.bz2"
else
SRC_URI="https://github.com/coin-or/ADOL-C/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/ADOL-C-releases-${PV}"
fi
LICENSE="|| ( EPL-1.0 GPL-2 )"
SLOT="0/2"
-IUSE="+boost mpi sparse static-libs"
+IUSE="+boost mpi sparse"
RDEPEND="
- boost? ( dev-libs/boost:0= )
+ boost? ( dev-libs/boost:= )
mpi? ( sys-cluster/ampi:0= )
sparse? ( sci-libs/colpack:0= )"
DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/${PN}-2.5.0-no-colpack.patch
- "${FILESDIR}"/${PN}-2.5.0-pkgconfig-no-ldflags.patch
- "${FILESDIR}"/${PN}-2.6.2-dash.patch
+ "${WORKDIR}"/${PN}-2.5.0-no-colpack.patch
+ "${WORKDIR}"/${PN}-2.5.0-pkgconfig-no-ldflags.patch
+ "${WORKDIR}"/${PN}-2.6.2-dash.patch
)
+src_unpack() {
+ git-r3_src_unpack
+ default
+}
+
src_prepare() {
default
eautoreconf
}
src_configure() {
- econf \
+ # Can drop CONFIG_SHELL once fixed up dash/bashisms patch
+ CONFIG_SHELL="${BROOT}/bin/bash" econf \
+ --disable-python \
+ --disable-static \
--enable-advanced-branching \
--enable-atrig-erf \
$(use_enable mpi ampi) \
$(use_enable sparse) \
- $(use_enable static-libs static) \
$(use_with boost) \
$(use_with sparse colpack "${EPREFIX}"/usr)
}
src_test() {
+ # 'check' target is unrelated to checking lib works
+ # ('check' is more like distcheck)
emake test
}
src_install() {
default
- use static-libs || find "${D}" -name '*.la' -type f -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
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
deleted file mode 100644
index e3b5a4a2ca5f..000000000000
--- a/sci-libs/adolc/files/adolc-2.4.0-no-colpack.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-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
deleted file mode 100644
index 779890c8cf2b..000000000000
--- a/sci-libs/adolc/files/adolc-2.5.0-no-colpack.patch
+++ /dev/null
@@ -1,57 +0,0 @@
- 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
deleted file mode 100644
index 258f835ca9e8..000000000000
--- a/sci-libs/adolc/files/adolc-2.5.0-pkgconfig-no-ldflags.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/adolclib.pc.in 2014-05-21 09:09:10.060824555 -0700
-+++ b/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.6.2-dash.patch b/sci-libs/adolc/files/adolc-2.6.2-dash.patch
deleted file mode 100644
index b8d4fe5ad64d..000000000000
--- a/sci-libs/adolc/files/adolc-2.6.2-dash.patch
+++ /dev/null
@@ -1,146 +0,0 @@
---- a/configure.ac 2016-08-31 12:49:35.000000000 +0000
-+++ b/configure.ac 2017-03-04 00:58:02.354372332 +0000
-@@ -29,12 +29,12 @@
-
- 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"
-@@ -231,12 +231,12 @@
- 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
-
-@@ -254,7 +254,7 @@
- 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
-
-@@ -271,7 +271,7 @@
- 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
-
-@@ -288,7 +288,7 @@
- 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
-
-@@ -376,8 +376,8 @@
- [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"
-@@ -385,8 +385,8 @@
- 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
-@@ -402,8 +402,8 @@
- [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"
-@@ -411,8 +411,8 @@
- 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
-@@ -445,7 +445,7 @@
- ])
- 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
-
-@@ -614,7 +614,7 @@
- break
- fi
- done
--if test "x${pdir}" == "x/" ; then
-+if test "x${pdir}" = "x/" ; then
- writable=false
- fi
- if ! ${writable} ; then
-@@ -626,15 +626,6 @@
- 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 \
- "
- *****************************************************************************
-@@ -660,8 +651,6 @@
-
- *****************************************************************************
- "
--;;
--esac
- if test "x$enable_static" != "xno" ; then
- echo \
- " Linking a user program with a static ADOL-C library will always result
diff --git a/sci-libs/adolc/metadata.xml b/sci-libs/adolc/metadata.xml
index a8f7848ccb65..066d2b7c17ee 100644
--- a/sci-libs/adolc/metadata.xml
+++ b/sci-libs/adolc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,7 +10,7 @@
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>
+ </longdescription>
<use>
<flag name="boost">Use the boost allocator from <pkg>dev-libs/boost</pkg></flag>
<flag name="sparse">Add support for sparse matrix algebra with <pkg>sci-libs/colpack</pkg></flag>
diff --git a/sci-libs/alglib/Manifest b/sci-libs/alglib/Manifest
index acfb3c58921c..7b791354efa4 100644
--- a/sci-libs/alglib/Manifest
+++ b/sci-libs/alglib/Manifest
@@ -1 +1 @@
-DIST alglib-3.10.0.cpp.gpl.tgz 1991101 BLAKE2B 884b80becce676285b7bc1f26ed8917c4c82f53b41c0350dfc8bff6573e2e6f12183e82fc317b54a8021b1f931eb7d5b55944902d0816f7097fdc05632128bdc SHA512 f02b3db5ab8dee841f27186b6693997c4e6876e75310b0a31a04593dbcb41d300920404e32e7aecb39c8dd15e54cfee05b725caa27397a67b453f6e64cd1ef5e
+DIST alglib-3.17.0.cpp.gpl.tgz 3065026 BLAKE2B bc939568a6bfb5e2717995e31b9d7cb485885217ff8d15c2bea3185b1ef62536766f80e02d43999c016e24b10181bddd4ad4ff27611ab19ebcc778a5cb15d55e SHA512 0e4b943b03707950813aea707ae3569ce75a22216c9a4b256b646db16609995b3b63a958b0b8fbe3d7d623d5ac03efbe7c4b1589961f2ca9cdefbd7e1cc0c721
diff --git a/sci-libs/alglib/alglib-3.10.0-r1.ebuild b/sci-libs/alglib/alglib-3.10.0-r1.ebuild
deleted file mode 100644
index 234a3c9e71fa..000000000000
--- a/sci-libs/alglib/alglib-3.10.0-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils flag-o-matic
-
-DESCRIPTION="Numerical analysis and data processing library"
-HOMEPAGE="https://www.alglib.net/"
-SRC_URI="https://www.alglib.net/translator/re/${P}.cpp.gpl.tgz"
-
-SLOT="0/3.8"
-LICENSE="GPL-2+"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}"/cpp/
-
-PATCHES=( "${FILESDIR}/${P}-disable-minlm-test.patch" )
-
-src_prepare() {
- cp "${FILESDIR}"/CMakeLists.txt-3.8.2 CMakeLists.txt || die
- use x86 && append-cppflags -ffloat-store
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TEST=$(usex test)
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/alglib/alglib-3.17.0.ebuild b/sci-libs/alglib/alglib-3.17.0.ebuild
new file mode 100644
index 000000000000..cc63c323ff47
--- /dev/null
+++ b/sci-libs/alglib/alglib-3.17.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Numerical analysis and data processing library"
+HOMEPAGE="https://www.alglib.net/"
+SRC_URI="https://www.alglib.net/translator/re/${P}.cpp.gpl.tgz"
+S="${WORKDIR}"/cpp
+
+LICENSE="GPL-2+"
+SLOT="0/3.8"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ cp "${FILESDIR}"/CMakeLists.txt-3.8.2 CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # bug #862666
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ use x86 && append-cflags -ffloat-store
+
+ local mycmakeargs=(
+ -DBUILD_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/alglib/files/alglib-3.10.0-disable-minlm-test.patch b/sci-libs/alglib/files/alglib-3.10.0-disable-minlm-test.patch
deleted file mode 100644
index fc2dfae6c012..000000000000
--- a/sci-libs/alglib/files/alglib-3.10.0-disable-minlm-test.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: disable minlm test, because it fails sometimes on some platforms.
-Author: Anton Gladky <gladk@debian.org>
-Last-Update: 2015-05-29
-
-Index: cpp/tests/test_c.cpp
-===================================================================
---- cpp.orig/tests/test_c.cpp
-+++ cpp/tests/test_c.cpp
-@@ -93354,7 +93354,6 @@ _s_testrecord unittests[] =
- {"spline1d",testspline1d,_pexec_testspline1d},
- {"normestimator",testnormestimator,_pexec_testnormestimator},
- {"minqp",testminqp,_pexec_testminqp},
-- {"minlm",testminlm,_pexec_testminlm},
- {"lsfit",testlsfit,_pexec_testlsfit},
- {"parametric",testparametric,_pexec_testparametric},
- {"linlsqr",testlinlsqr,_pexec_testlinlsqr},
diff --git a/sci-libs/alglib/metadata.xml b/sci-libs/alglib/metadata.xml
index dc39a23a79e8..176cf7661da8 100644
--- a/sci-libs/alglib/metadata.xml
+++ b/sci-libs/alglib/metadata.xml
@@ -1,38 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</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:
+ 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)
+ * 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:
+ 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>
+ * 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
index 90c50c2fda23..fe9a4be11e6d 100644
--- a/sci-libs/amd/Manifest
+++ b/sci-libs/amd/Manifest
@@ -1,2 +1,2 @@
-DIST amd-2.3.1.tar.bz2 339970 BLAKE2B b84b7b690deb6a1fcfdbbec403a3e5267cd4e1cf851312a56bbd48ac92a732f789365e2191f6b74f49173bc6c008ebd5f6b528a99a9abdc6a2777f3a6a7305b8 SHA512 19b8c010e0f7a5a96e60fe52904b2b548fb89dfaf9d6f99184df955a732ec3edef04acff01a82a909e030c3bf78c9eccfe0c329731edb29f4b936507e39d885e
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST amd-2.4.6.tar.bz2 343925 BLAKE2B 296579d888b61e84ec798206fbb6f89fd923f0d762e84e7a1e2e2a5fb502f4822f89a2a4b631dc42fa829e845bf3980886185650e8de28774400e0c351805061 SHA512 6960a557e6c2f82ca2e68e48ddcb502e1527235a3ca34df2f5f7f63f0f12afacedb15fefe4a39768fe7a2c70308793544b5b24b6f2be2c6b934b0c0e0e796d57
diff --git a/sci-libs/amd/amd-2.3.1.ebuild b/sci-libs/amd/amd-2.3.1.ebuild
deleted file mode 100644
index 639c29bdc5bb..000000000000
--- a/sci-libs/amd/amd-2.3.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~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/amd-2.4.6-r1.ebuild b/sci-libs/amd/amd-2.4.6-r1.ebuild
new file mode 100644
index 000000000000..01cba33f2c7c
--- /dev/null
+++ b/sci-libs/amd/amd-2.4.6-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+inherit autotools fortran-2
+
+DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="doc fortran"
+
+BDEPEND="virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+DEPEND=">=sci-libs/suitesparseconfig-5.4.0"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.4.6-dash_doc.patch )
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable fortran) \
+ $(use_with doc)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/amd/amd-2.4.6.ebuild b/sci-libs/amd/amd-2.4.6.ebuild
deleted file mode 100644
index df845e67c57d..000000000000
--- a/sci-libs/amd/amd-2.4.6.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit fortran-2
-
-DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
-SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="doc fortran static-libs"
-
-BDEPEND="virtual/pkgconfig
- doc? ( virtual/latex-base )"
-DEPEND=">=sci-libs/suitesparseconfig-5.4.0"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- $(use_enable fortran) \
- $(use_with doc) \
- $(use_enable static-libs static)
-}
diff --git a/sci-libs/amd/amd-3.0.3.ebuild b/sci-libs/amd/amd-3.0.3.ebuild
new file mode 100644
index 000000000000..e135d6975e08
--- /dev/null
+++ b/sci-libs/amd/amd-3.0.3.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="fortran"
+inherit cmake-multilib fortran-2
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc fortran test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DNFORTRAN=$(usex fortran OFF ON)
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run demo files
+ local demofiles=(
+ amd_demo
+ amd_l_demo
+ amd_demo2
+ amd_simple
+ )
+ if use fortran; then
+ demofiles+=(
+ amd_f77simple
+ amd_f77demo
+ )
+ fi
+ for i in ${demofiles[@]}; do
+ ./"${i}" > "${i}.out" || die "failed to run test ${i}"
+ diff "${S}/Demo/${i}.out" "${i}.out" || die "failed testing ${i}"
+ done
+ einfo "All tests passed"
+}
+
+multilib_src_install() {
+ if use doc; then
+ pushd "${S}/Doc"
+ emake clean
+ rm -rf *.pdf
+ emake
+ popd
+ DOCS="${S}/Doc/*.pdf"
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/amd/files/amd-2.4.6-dash_doc.patch b/sci-libs/amd/files/amd-2.4.6-dash_doc.patch
new file mode 100644
index 000000000000..62d9071422ce
--- /dev/null
+++ b/sci-libs/amd/files/amd-2.4.6-dash_doc.patch
@@ -0,0 +1,16 @@
+diff --git a/Doc/Makefile.am b/Doc/Makefile.am
+index 44361ff..039b02f 100644
+--- a/Doc/Makefile.am
++++ b/Doc/Makefile.am
+@@ -1,9 +1,8 @@
+
+ AMD_UserGuide.pdf:
+- echo '\begin{verbatim}' > amd_h.tex
++ printf '\\begin{verbatim}\n' > amd_h.tex
+ expand -8 $(top_srcdir)/Include/amd.h >> amd_h.tex
+- echo '\end{verbatim}' >> amd_h.tex
+- -ln -s $(srcdir)/*.{tex,bib} .
++ printf '\\end{verbatim}\n' >> amd_h.tex
+ $(PDFLATEX) AMD_UserGuide
+ $(BIBTEX) AMD_UserGuide
+ $(PDFLATEX) AMD_UserGuide
diff --git a/sci-libs/amd/metadata.xml b/sci-libs/amd/metadata.xml
index 353c2f00738d..1ecd509a217e 100644
--- a/sci-libs/amd/metadata.xml
+++ b/sci-libs/amd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -9,5 +9,8 @@
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>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/arborx/Manifest b/sci-libs/arborx/Manifest
new file mode 100644
index 000000000000..4cf219e6a8a7
--- /dev/null
+++ b/sci-libs/arborx/Manifest
@@ -0,0 +1 @@
+DIST arborx-1.4.1.tar.gz 408999 BLAKE2B 83e172f89ac8ff82d4add40fd036457d9c563b44c11b15d86aa884dc03742f3e22a13cc4b6f068ef377fcd8e63d239f704dd1821772079d2f9f8c169b1f31fae SHA512 3799deed5eae1e6092c19a62894207ac0ccd81ba84c8d42734fa3d0e5a3fc9d6a8f7b1442d2203b06f4e251970569f67506d419fb6695039c11e78dfd740e565
diff --git a/sci-libs/arborx/arborx-1.4.1-r1.ebuild b/sci-libs/arborx/arborx-1.4.1-r1.ebuild
new file mode 100644
index 000000000000..84b2bc0e85a4
--- /dev/null
+++ b/sci-libs/arborx/arborx-1.4.1-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Library for performance portable algorithms for geometric search"
+HOMEPAGE="https://github.com/arborx/ArborX"
+
+SRC_URI="https://github.com/${PN}/ArborX/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+IUSE="mpi"
+
+RDEPEND="dev-libs/boost:=
+ mpi? ( virtual/mpi[cxx] )
+ sci-libs/trilinos"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/ArborX-${PV}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # replace hardcoded "lib/" directory:
+ sed -i -e "s#lib/#$(get_libdir)/#g" CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DARBORX_ENABLE_MPI="$(usex mpi)"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+}
diff --git a/sci-libs/arborx/metadata.xml b/sci-libs/arborx/metadata.xml
new file mode 100644
index 000000000000..0a701dff0e71
--- /dev/null
+++ b/sci-libs/arborx/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ ArborX is an open-source library designed to provide performance
+ portable algorithms for geometric search, similarly to nanoflann
+ and Boost Geometry.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">arborx/ArborX</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/armadillo/Manifest b/sci-libs/armadillo/Manifest
index 05da76241a0a..7a3a912b4672 100644
--- a/sci-libs/armadillo/Manifest
+++ b/sci-libs/armadillo/Manifest
@@ -1,3 +1,2 @@
-DIST armadillo-8.300.2.tar.xz 4593916 BLAKE2B 0cb9082d9452b43599dea810036a1cdcd8ef4ab6ce5b2bc7b9d9201f1f396666a2aecb81ffa62388e1ee3de9a8c7df083df594224af47e5df7ee4d3c2743d6cc SHA512 df069634db377e95e02dfca02312b082b34cab91bae0b1fd04a97339477074fc50c74f8adf92786ac6f0fc148044d527461617f382cc996523251b6d1287e41c
-DIST armadillo-9.800.3.tar.xz 4716468 BLAKE2B 4909cbcf1f8d6aedb366bb9b21784e865d9e68a3c833263d1c1df942e96ef679e31191ea9dbd8bcddab6086bd26c80915546c29dfdd16188f0d9e865e7b3c03f SHA512 6088f7254c54067421fcc0b69751c6d37ffe484474ab5955755fa5b3dd38ed4246e353701fb614c820d192675ec75f134e3bbb511a70612e4fbf133a89cacc21
-DIST armadillo-9.850.1.tar.xz 4715832 BLAKE2B 41256d8f54ec1f2d4f7cfdf58bd67e66cc2ffbe0f1daf259a4d76e0816d89708fa5528d57b244000393404108c8d0d613d03321f14e5653163d0c1cc6ec7e273 SHA512 b2b9f0290f8f39a687db71a02b127086d5ff22cee77fba5211da2ea8a8d8a5edc256b31b7fce8e98aa1955a84c63e488adcd22f8cd070015a6fcd4b4f1cb37c7
+DIST armadillo-12.4.0.tar.xz 6803968 BLAKE2B ca45b2284b5a31c745b2ad924235af24f855039cc81c3300c83e5e932ee4cda233731b53623303c1c739feae9b007f8f6309c09debe79923e3876e8145015152 SHA512 a9f8cd19384eed787787b9e189901a1800e6e1dd06917f4f13e8a215c83f317de3e5b0ae8625783f88d9a7b0ab25f5c7784ccf0493c08a9ee3ea7fdfbbe36195
+DIST armadillo-12.8.2.tar.xz 6996368 BLAKE2B 63876486dcd72359b243a2ae217de751a9033c7f3e6c8599ba195b52fb493dbc4b6ec7f804916d40cef0c726d3ad42752a5cfb6fd3919935cbdf20e59488e474 SHA512 33bfe6f1fae2ef18ec3286742264dedd67730e47b5187568cb2fbe951286a5a8534a4b577894cc44415887241a46afb25b3fcf2b249ef15f9b71045e98fd0132
diff --git a/sci-libs/armadillo/armadillo-12.4.0-r1.ebuild b/sci-libs/armadillo/armadillo-12.4.0-r1.ebuild
new file mode 100644
index 000000000000..8139c09c283a
--- /dev/null
+++ b/sci-libs/armadillo/armadillo-12.4.0-r1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs multilib
+
+DESCRIPTION="Streamlined C++ linear algebra library"
+HOMEPAGE="https://arma.sourceforge.net"
+SRC_URI="mirror://sourceforge/arma/${P}.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0/12"
+KEYWORDS="amd64 ~arm ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack blas doc examples lapack mkl superlu test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( arpack lapack superlu )"
+
+# atlas? ( sci-libs/atlas[lapack] )
+RDEPEND="
+ dev-libs/boost
+ arpack? ( sci-libs/arpack )
+ blas? ( virtual/blas )
+ lapack? ( virtual/lapack )
+ mkl? ( sci-libs/mkl )
+ superlu? ( >=sci-libs/superlu-5.2 )
+"
+DEPEND="${RDEPEND}
+ arpack? ( virtual/pkgconfig )
+ blas? ( virtual/pkgconfig )
+ lapack? ( virtual/pkgconfig )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-12.0.1-extratests.patch"
+)
+
+src_prepare() {
+ # avoid the automagic cmake macros...
+ sed -i -e 's/^ *include(ARMA_Find/# No automagic include(ARMA_Find/g' CMakeLists.txt || die
+
+ # ... except for mkl, since without a license it's hard to figure out what to do there
+ if use mkl; then
+ sed -i -e 's/^# No automagic include(ARMA_FindMKL)/include(ARMA_FindMKL)/g' CMakeLists.txt || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ )
+ if use arpack; then
+ mycmakeargs+=(
+ -DARPACK_FOUND=ON
+ -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
+ )
+ else
+ mycmakeargs+=(
+ -DARPACK_FOUND=OFF
+ )
+ 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)"
+ )
+ else
+ mycmakeargs+=(
+ -DBLAS_FOUND=OFF
+ )
+ fi
+ if use lapack; then
+ mycmakeargs+=(
+ -DLAPACK_FOUND=ON
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ else
+ mycmakeargs+=(
+ -DLAPACK_FOUND=OFF
+ )
+ fi
+ if use superlu; then
+ mycmakeargs+=(
+ -DSuperLU_FOUND=ON
+ -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)"
+ -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')"
+ )
+ else
+ mycmakeargs+=(
+ -DSuperLU_FOUND=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_src_test || die
+
+ pushd tests2 > /dev/null
+ emake \
+ CXX="$(tc-getCXX)" \
+ CXX_FLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
+ LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)"
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./main || die
+ emake clean
+ popd > /dev/null
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc README.md
+ use doc && dodoc *pdf *html
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sci-libs/armadillo/armadillo-12.8.2.ebuild b/sci-libs/armadillo/armadillo-12.8.2.ebuild
new file mode 100644
index 000000000000..28e8f7b4adc3
--- /dev/null
+++ b/sci-libs/armadillo/armadillo-12.8.2.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs multilib
+
+DESCRIPTION="Streamlined C++ linear algebra library"
+HOMEPAGE="https://arma.sourceforge.net"
+SRC_URI="mirror://sourceforge/arma/${P}.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0/12"
+KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="arpack blas doc examples lapack mkl superlu test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( arpack lapack superlu )"
+
+# atlas? ( sci-libs/atlas[lapack] )
+RDEPEND="
+ dev-libs/boost
+ arpack? ( sci-libs/arpack )
+ blas? ( virtual/blas )
+ lapack? ( virtual/lapack )
+ mkl? ( sci-libs/mkl )
+ superlu? ( >=sci-libs/superlu-5.2 )
+"
+DEPEND="${RDEPEND}
+ arpack? ( virtual/pkgconfig )
+ blas? ( virtual/pkgconfig )
+ lapack? ( virtual/pkgconfig )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-12.0.1-extratests.patch"
+)
+
+src_prepare() {
+ # avoid the automagic cmake macros...
+ sed -i -e 's/^ *include(ARMA_Find/# No automagic include(ARMA_Find/g' CMakeLists.txt || die
+
+ # ... except for mkl, since without a license it's hard to figure out what to do there
+ if use mkl; then
+ sed -i -e 's/^# No automagic include(ARMA_FindMKL)/include(ARMA_FindMKL)/g' CMakeLists.txt || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ )
+ if use arpack; then
+ mycmakeargs+=(
+ -DARPACK_FOUND=ON
+ -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
+ )
+ else
+ mycmakeargs+=(
+ -DARPACK_FOUND=OFF
+ )
+ 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)"
+ )
+ else
+ mycmakeargs+=(
+ -DBLAS_FOUND=OFF
+ )
+ fi
+ if use lapack; then
+ mycmakeargs+=(
+ -DLAPACK_FOUND=ON
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ else
+ mycmakeargs+=(
+ -DLAPACK_FOUND=OFF
+ )
+ fi
+ if use superlu; then
+ mycmakeargs+=(
+ -DSuperLU_FOUND=ON
+ -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)"
+ -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')"
+ )
+ else
+ mycmakeargs+=(
+ -DSuperLU_FOUND=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_src_test || die
+
+ pushd tests2 > /dev/null
+ emake \
+ CXX="$(tc-getCXX)" \
+ CXX_FLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
+ LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)"
+ LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./main || die
+ emake clean
+ popd > /dev/null
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc README.md
+ use doc && dodoc *pdf *html
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sci-libs/armadillo/armadillo-8.300.2.ebuild b/sci-libs/armadillo/armadillo-8.300.2.ebuild
deleted file mode 100644
index 1ff6d1fd7a2c..000000000000
--- a/sci-libs/armadillo/armadillo-8.300.2.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0/8"
-KEYWORDS="amd64 ~arm ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="arpack blas debug doc examples hdf5 lapack mkl superlu tbb test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( lapack )"
-
-# atlas? ( sci-libs/atlas[lapack] )
-
-RDEPEND="
- dev-libs/boost
- arpack? ( sci-libs/arpack )
- blas? ( virtual/blas )
- lapack? ( virtual/lapack )
- superlu? ( >=sci-libs/superlu-5.2 )
-"
-
-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)"
- -DARMA_EXTRA_DEBUG="$(usex debug)"
- -DARMA_USE_MKL_ALLOC="$(usex mkl)"
- -DARMA_USE_TBB_ALLOC="$(usex tbb)"
- )
- if use arpack; then
- mycmakeargs+=(
- -DARPACK_FOUND=ON
- -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
- )
- else
- mycmakeargs+=(
- -DARPACK_FOUND=OFF
- )
- 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)"
- )
- else
- mycmakeargs+=(
- -DBLAS_FOUND=OFF
- )
- fi
- if use hdf5; then
- mycmakeargs+=(
- -DHDF5_FOUND=ON
- -DHDF5_LIBRARIES="-lhdf5"
- )
- else
- mycmakeargs+=(
- -DHDF5_FOUND=OFF
- )
- fi
- if use lapack; then
- mycmakeargs+=(
- -DLAPACK_FOUND=ON
- -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
- )
- else
- mycmakeargs+=(
- -DLAPACK_FOUND=OFF
- )
- fi
- if use superlu; then
- mycmakeargs+=(
- -DSuperLU_FOUND=ON
- -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)"
- -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')"
- )
- else
- mycmakeargs+=(
- -DSuperLU_FOUND=OFF
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_test() {
- pushd examples > /dev/null
- emake \
- CXX="$(tc-getCXX)" \
- CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
- LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)"
- LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die
- emake clean
- popd > /dev/null
-}
-
-src_install() {
- cmake-utils_src_install
- dodoc README.txt
- use doc && dodoc *pdf *html
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins -r examples/*
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/sci-libs/armadillo/armadillo-9.800.3.ebuild b/sci-libs/armadillo/armadillo-9.800.3.ebuild
deleted file mode 100644
index ac58225faa5a..000000000000
--- a/sci-libs/armadillo/armadillo-9.800.3.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0/9"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="arpack blas doc examples hdf5 lapack mkl superlu test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( lapack )"
-
-# atlas? ( sci-libs/atlas[lapack] )
-
-RDEPEND="
- dev-libs/boost
- arpack? ( sci-libs/arpack )
- blas? ( virtual/blas )
- lapack? ( virtual/lapack )
- superlu? ( >=sci-libs/superlu-5.2 )
-"
-
-DEPEND="${RDEPEND}
- arpack? ( virtual/pkgconfig )
- blas? ( virtual/pkgconfig )
- hdf5? ( sci-libs/hdf5 )
- lapack? ( virtual/pkgconfig )
- mkl? ( sci-libs/mkl )
-"
-PDEPEND="${RDEPEND}
- hdf5? ( sci-libs/hdf5 )
- mkl? ( sci-libs/mkl )
-"
-
-src_prepare() {
- # avoid the automagic cmake macros...
- sed -i -e 's/^ *include(ARMA_Find/# No automagic include(ARMA_Find/g' CMakeLists.txt || die
-
- # ... except for mkl, since without a license it's hard to figure out what to do there
- if use mkl; then
- sed -i -e 's/^# No automagic include(ARMA_FindMKL)/include(ARMA_FindMKL)/g' CMakeLists.txt || die
- fi
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
- )
- if use arpack; then
- mycmakeargs+=(
- -DARPACK_FOUND=ON
- -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
- )
- else
- mycmakeargs+=(
- -DARPACK_FOUND=OFF
- )
- 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)"
- )
- else
- mycmakeargs+=(
- -DBLAS_FOUND=OFF
- )
- fi
- if use hdf5; then
- mycmakeargs+=(
- -DHDF5_FOUND=ON
- -DHDF5_LIBRARIES="-lhdf5"
- )
- else
- mycmakeargs+=(
- -DHDF5_FOUND=OFF
- )
- fi
- if use lapack; then
- mycmakeargs+=(
- -DLAPACK_FOUND=ON
- -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
- )
- else
- mycmakeargs+=(
- -DLAPACK_FOUND=OFF
- )
- fi
- if use superlu; then
- mycmakeargs+=(
- -DSuperLU_FOUND=ON
- -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)"
- -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')"
- )
- else
- mycmakeargs+=(
- -DSuperLU_FOUND=OFF
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_test() {
- pushd examples > /dev/null
- emake \
- CXX="$(tc-getCXX)" \
- CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
- LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)"
- LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die
- emake clean
- popd > /dev/null
-}
-
-src_install() {
- cmake-utils_src_install
- dodoc README.md
- use doc && dodoc *pdf *html
- if use examples; then
- docinto /usr/share/doc/${PF}/examples
- dodoc -r examples/*
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/sci-libs/armadillo/armadillo-9.850.1.ebuild b/sci-libs/armadillo/armadillo-9.850.1.ebuild
deleted file mode 100644
index 194ff0b166ac..000000000000
--- a/sci-libs/armadillo/armadillo-9.850.1.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0/9"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="arpack blas doc examples hdf5 lapack mkl superlu test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( lapack )"
-
-# atlas? ( sci-libs/atlas[lapack] )
-
-RDEPEND="
- dev-libs/boost
- arpack? ( sci-libs/arpack )
- blas? ( virtual/blas )
- lapack? ( virtual/lapack )
- superlu? ( >=sci-libs/superlu-5.2 )
-"
-
-DEPEND="${RDEPEND}
- arpack? ( virtual/pkgconfig )
- blas? ( virtual/pkgconfig )
- hdf5? ( sci-libs/hdf5 )
- lapack? ( virtual/pkgconfig )
- mkl? ( sci-libs/mkl )
-"
-PDEPEND="${RDEPEND}
- hdf5? ( sci-libs/hdf5 )
- mkl? ( sci-libs/mkl )
-"
-
-src_prepare() {
- # avoid the automagic cmake macros...
- sed -i -e 's/^ *include(ARMA_Find/# No automagic include(ARMA_Find/g' CMakeLists.txt || die
-
- # ... except for mkl, since without a license it's hard to figure out what to do there
- if use mkl; then
- sed -i -e 's/^# No automagic include(ARMA_FindMKL)/include(ARMA_FindMKL)/g' CMakeLists.txt || die
- fi
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
- )
- if use arpack; then
- mycmakeargs+=(
- -DARPACK_FOUND=ON
- -DARPACK_LIBRARY="$($(tc-getPKG_CONFIG) --libs arpack)"
- )
- else
- mycmakeargs+=(
- -DARPACK_FOUND=OFF
- )
- 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)"
- )
- else
- mycmakeargs+=(
- -DBLAS_FOUND=OFF
- )
- fi
- if use hdf5; then
- mycmakeargs+=(
- -DDETECT_HDF5=ON
- -DHDF5_LIBRARIES="-lhdf5"
- -DHDF5_INCLUDE_DIRS=/usr/include
- )
- else
- mycmakeargs+=(
- -DDETECT_HDF5=OFF
- )
- fi
- if use lapack; then
- mycmakeargs+=(
- -DLAPACK_FOUND=ON
- -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
- )
- else
- mycmakeargs+=(
- -DLAPACK_FOUND=OFF
- )
- fi
- if use superlu; then
- mycmakeargs+=(
- -DSuperLU_FOUND=ON
- -DSuperLU_LIBRARY="$($(tc-getPKG_CONFIG) --libs superlu)"
- -DSuperLU_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --cflags-only-I superlu | awk '{print $1}' | sed 's/-I//')"
- )
- else
- mycmakeargs+=(
- -DSuperLU_FOUND=OFF
- )
- fi
-
- cmake-utils_src_configure
-}
-
-src_test() {
- pushd examples > /dev/null
- emake \
- CXX="$(tc-getCXX)" \
- CXXFLAGS="-I../include ${CXXFLAGS} -DARMA_USE_BLAS -DARMA_USE_LAPACK" \
- LIB_FLAGS="-L.. -larmadillo $($(tc-getPKG_CONFIG) --libs blas lapack)"
- LD_LIBRARY_PATH="..:${LD_LIBRARY_PATH}" ./example1 || die
- emake clean
- popd > /dev/null
-}
-
-src_install() {
- cmake-utils_src_install
- dodoc README.md
- use doc && dodoc *pdf *html
- if use examples; then
- docinto /usr/share/doc/${PF}/examples
- dodoc -r examples/*
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/sci-libs/armadillo/files/armadillo-12.0.1-extratests.patch b/sci-libs/armadillo/files/armadillo-12.0.1-extratests.patch
new file mode 100644
index 000000000000..e677c4ab3069
--- /dev/null
+++ b/sci-libs/armadillo/files/armadillo-12.0.1-extratests.patch
@@ -0,0 +1,12 @@
+diff -ruN armadillo-12.0.1.orig/tests2/Makefile armadillo-12.0.1/tests2/Makefile
+--- armadillo-12.0.1.orig/tests2/Makefile 2016-06-16 18:26:01.000000000 +0200
++++ armadillo-12.0.1/tests2/Makefile 2023-04-02 16:32:47.256287438 +0200
+@@ -4,7 +4,7 @@
+ #LIB_FLAGS = -lopenblas -llapack
+
+ #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -O0
+-CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -Og
++#CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -Og
+ #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -Og -fopenmp
+ #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -Og -DARMA_DONT_USE_WRAPPER
+ #CXX_FLAGS = -std=c++11 -Wshadow -Wall -pedantic -Og -fsanitize=address -fsanitize=leak -fsanitize=undefined -fsanitize=bounds -fsanitize=bounds-strict -g
diff --git a/sci-libs/armadillo/metadata.xml b/sci-libs/armadillo/metadata.xml
index b2dad09a9172..08c60223686b 100644
--- a/sci-libs/armadillo/metadata.xml
+++ b/sci-libs/armadillo/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dilfridge@gentoo.org</email>
@@ -9,32 +9,28 @@
<name>Gentoo Science Project</name>
</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>
+ 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>
+ 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>
+ Use matrix allocation from the Intel MKL <pkg>sci-libs/mkl</pkg>
+ </flag>
<flag name="superlu">
- Use SuperLU for sparse linear equation solving
- <pkg>sci-libs/superlu</pkg>
- </flag>
+ Use SuperLU for sparse linear equation solving
+ <pkg>sci-libs/superlu</pkg>
+ </flag>
</use>
<upstream>
<remote-id type="sourceforge">arma</remote-id>
diff --git a/sci-libs/arpack/Manifest b/sci-libs/arpack/Manifest
index a95b29d82410..539d6ce2a204 100644
--- a/sci-libs/arpack/Manifest
+++ b/sci-libs/arpack/Manifest
@@ -1,5 +1 @@
-DIST arpack-3.4.0.tar.gz 942149 BLAKE2B 8c67a26b4c805e40475a23963e16624a112a0f5a243b9e7e346ae64f08d81a2ab0fd363e874ae3180a4ff4fcc1b7c039d432737b8efa7ea4d244976665d299ef SHA512 4577a960ed0783ed2c0eb5e1871c21b9e23e75fbbfa10da1584cd3716f2699c0d633bb0e2019c0aa8809917684ef18d32508b76cb1edfc62b1179d5bbc2b68ba
-DIST arpack-3.5.0.tar.gz 949853 BLAKE2B fa28090cd745983ee362ab17e0d9f5ab503ec8403f37d38d1263d25ff7849dead7feb10667707aabb3db6d76d9d33397de13cd65fab18a45e7aadd544525cc76 SHA512 67181c783e61d5d2214ccbfa0de8efd55148537feca30376760f7009995694f68c9fc14991306fa19ad67598497510b6e0d42b68dc56dd581dc2a798e3a4b369
-DIST arpack-ng_3.1.5.tar.gz 1516406 BLAKE2B 14dea27dbe7d17144871c62db58467642f4602ec479f63b1dcfe67e22b73b146691cb5bb01c90323507a65c499077d0fee3fec0a15c5d654ccca9d3f67975a06 SHA512 4876b0babb89bbcc39e92b63d4537b860e9cd0b8a188937d3ba815041b7261623cdac25c91c8bef20ebce4271f822307c492cf6c9f22ec3d740218405337a515
-DIST tutorial.ps.gz 105599 BLAKE2B 99570e6a0cc1c020b9c271e8ce1cc224f69ff5333cc818c10b063dc8ffbaf66a9f5c6ede99541b4212286d422146b1c4e332eba7e1635c99efa0e4c2620f0630 SHA512 a7b8fefd1a572ed477ae208d49094c1c65c9368990d12de9b3528e33fed546c947659f74e54a810d04154b4a1b0f9a94bcba4db0cf59d379e20786a261066aa4
-DIST ug.ps.gz 248543 BLAKE2B ac010aef470060636fa00360636ba093f0d24d219fa927c79fb1726b798160eda74fa8b4be6c7dff94f5759efcf30afa99ad310e7959115e028738beb8aa125d SHA512 3349117fb10b07207ffbab2ffa31b406d026855ea4c16e8649b14c7d70bc94e11b5730672e34acd654817799136d4bd76569ac50ec78d787df5582d18ed61328
+DIST arpack-3.9.1.tar.gz 1020208 BLAKE2B dd1b5b16cc5304bb16ab68055939c8f3c11f761eff69bcfc22b3cb9605b477929f54513649a7becb152e91275bfccdc868d3ccf464fb876732c7ec23a83fe71e SHA512 1ca590a8c4f75aa74402f9bd62e63851039687f4cb11afa8acb05fce1f22a512bff5fd1709ea85fdbea90b344fbbc01e3944c770b5ddc4d1aabc98ac334f78d2
diff --git a/sci-libs/arpack/arpack-3.1.5.ebuild b/sci-libs/arpack/arpack-3.1.5.ebuild
deleted file mode 100644
index e59f0f251e17..000000000000
--- a/sci-libs/arpack/arpack-3.1.5.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples mpi"
-
-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=(
- --disable-static
- --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/arpack-3.4.0.ebuild b/sci-libs/arpack/arpack-3.4.0.ebuild
deleted file mode 100644
index dfec8e3b0d4c..000000000000
--- a/sci-libs/arpack/arpack-3.4.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
-HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
-SRC_URI="
- https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${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 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples mpi"
-
-RDEPEND="
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[fortran] )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}-ng-${PV}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-
- econf \
- --disable-static \
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
- $(use_enable mpi)
-}
-
-src_install() {
- default
-
- dodoc DOCUMENTS/*.doc
- newdoc DOCUMENTS/README README.doc
- use doc && dodoc "${WORKDIR}"/*.ps
- if use examples; then
- dodoc -r EXAMPLES
- if use mpi; then
- docinto EXAMPLES/PARPACK
- dodoc -r PARPACK/EXAMPLES/MPI
- fi
- fi
-}
diff --git a/sci-libs/arpack/arpack-3.5.0.ebuild b/sci-libs/arpack/arpack-3.5.0.ebuild
deleted file mode 100644
index aced391f4b38..000000000000
--- a/sci-libs/arpack/arpack-3.5.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
-HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
-SRC_URI="
- https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${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 ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples mpi"
-
-RDEPEND="
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[fortran] )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}-ng-${PV}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-
- econf \
- --disable-static \
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
- $(use_enable mpi)
-}
-
-src_install() {
- default
-
- dodoc DOCUMENTS/*.doc
- newdoc DOCUMENTS/README README.doc
- use doc && dodoc "${WORKDIR}"/*.ps
- if use examples; then
- dodoc -r EXAMPLES
- if use mpi; then
- docinto EXAMPLES/PARPACK
- dodoc -r PARPACK/EXAMPLES/MPI
- fi
- fi
-}
diff --git a/sci-libs/arpack/arpack-3.9.1.ebuild b/sci-libs/arpack/arpack-3.9.1.ebuild
new file mode 100644
index 000000000000..fe8ac4dd7b91
--- /dev/null
+++ b/sci-libs/arpack/arpack-3.9.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
+HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/opencollab/arpack-ng"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+ S="${WORKDIR}/${PN}-ng-${PV}"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="examples mpi"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[fortran] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.9.1-bashism-configure.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/878139
+ # https://github.com/opencollab/arpack-ng/issues/451
+ #
+ # Only when building tests. Still this means we cannot test it.
+ filter-lto
+
+ econf \
+ --disable-static \
+ --enable-icb \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
+ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
+ $(use_enable mpi)
+}
+
+src_install() {
+ default
+
+ dodoc DOCUMENTS/*.doc
+ newdoc DOCUMENTS/README README.doc
+ if use examples; then
+ dodoc -r EXAMPLES
+ if use mpi; then
+ docinto EXAMPLES/PARPACK
+ dodoc -r PARPACK/EXAMPLES/MPI
+ fi
+ fi
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/arpack/arpack-9999.ebuild b/sci-libs/arpack/arpack-9999.ebuild
index eac5961625d4..97ecc817d3fc 100644
--- a/sci-libs/arpack/arpack-9999.ebuild
+++ b/sci-libs/arpack/arpack-9999.ebuild
@@ -1,21 +1,22 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools fortran-2 toolchain-funcs
+inherit autotools flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
+HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
if [[ ${PV} == *9999 ]]; then
- inherit git-r3
EGIT_REPO_URI="https://github.com/opencollab/arpack-ng"
+ inherit git-r3
else
SRC_URI="https://github.com/opencollab/${PN}-ng/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
S="${WORKDIR}/${PN}-ng-${PV}"
fi
-DESCRIPTION="Arnoldi package library to solve large scale eigenvalue problems"
-HOMEPAGE="http://www.caam.rice.edu/software/ARPACK/ https://github.com/opencollab/arpack-ng"
LICENSE="BSD"
SLOT="0"
IUSE="examples mpi"
@@ -23,7 +24,8 @@ IUSE="examples mpi"
RDEPEND="
virtual/blas
virtual/lapack
- mpi? ( virtual/mpi[fortran] )"
+ mpi? ( virtual/mpi[fortran] )
+"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
@@ -33,8 +35,16 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/878139
+ # https://github.com/opencollab/arpack-ng/issues/451
+ #
+ # Only when building tests. Still this means we cannot test it.
+ filter-lto
+
econf \
--disable-static \
+ --enable-icb \
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
--with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
$(use_enable mpi)
@@ -52,4 +62,7 @@ src_install() {
dodoc -r PARPACK/EXAMPLES/MPI
fi
fi
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch b/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch
new file mode 100644
index 000000000000..074a43b3ee1d
--- /dev/null
+++ b/sci-libs/arpack/files/arpack-3.9.1-bashism-configure.patch
@@ -0,0 +1,42 @@
+https://github.com/opencollab/arpack-ng/pull/441
+
+From a3beacc11e2acbe0baf8b301cb47938dcf01e71d Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Mon, 13 Nov 2023 02:38:46 +0000
+Subject: [PATCH] configure.ac: fix bashisms
+
+configure scripts need to be runnable with a POSIX-compliant /bin/sh.
+
+On many (but not all!) systems, /bin/sh is provided by Bash, so errors
+like this aren't spotted. Notably Debian defaults to /bin/sh provided
+by dash which doesn't tolerate such bashisms as '=='.
+
+This retains compatibility with bash.
+
+Fixes configure warnings/errors like:
+```
+checking for cheev_ in -llapack... yes
+./configure: 8590: test: x: unexpected operator
+checking how to print strings... printf
+```
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,7 +20,7 @@ dnl Check for LAPACK libraries
+ AX_LAPACK([], [AC_MSG_ERROR([cannot find LAPACK libraries])])
+
+ AC_ARG_VAR(INTERFACE64, [set to 1 to use the 64-bit integer interface (ILP64) for ARPACK, BLAS and LAPACK])
+-if test x"$INTERFACE64" == x"1"; then
++if test x"$INTERFACE64" = x"1"; then
+ AC_LANG_PUSH([Fortran 77])
+ AX_CHECK_COMPILE_FLAG(-fdefault-integer-8, FFLAGS="$FFLAGS -fdefault-integer-8",
+ AX_CHECK_COMPILE_FLAG(-i8, FFLAGS="$FFLAGS -i8",
+@@ -191,7 +191,7 @@ AS_IF([test x"$enable_mpi" != x"no"], [
+ ])
+
+ dnl TODO: this needs full re-write of parpack to support ILP64...
+-if test x"$INTERFACE64" == x"1"; then
++if test x"$INTERFACE64" = x"1"; then
+ if test x"$enable_mpi" != x"no"; then
+ AC_MSG_ERROR([Parallel arpack does not support ILP64.])
+ fi
+
diff --git a/sci-libs/arpack/metadata.xml b/sci-libs/arpack/metadata.xml
index c38e598bbdac..881f489f25e1 100644
--- a/sci-libs/arpack/metadata.xml
+++ b/sci-libs/arpack/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/arprec/Manifest b/sci-libs/arprec/Manifest
index f3d410c98815..0a2b22bfcab1 100644
--- a/sci-libs/arprec/Manifest
+++ b/sci-libs/arprec/Manifest
@@ -1,2 +1 @@
-DIST arprec-2.2.18.tar.gz 1751743 BLAKE2B de9a9a37bbe03357ad17d9d10d8bb42f73b9c9464643a35d4d1e209d049c205f967266dcae1af8972fc8c029f03053b298a4c85fdc48fb3f66d152aca8623a25 SHA512 372eb0a0c3aceac0d222679058f47c4d1037b5a51524b752b87f1b61c1b25101c34d4e56d9da45b4075ea7040dd59a597e0add4f34be902955dcf209423a6579
DIST arprec-2.2.19.tar.gz 1962133 BLAKE2B a2fccc1908e791fd4759e61ff52b180fcaccbfbfa831ee1beca9b22a1a745d17d21040974ffe02ea21397a2339c819a30cd93a247738564a2b433f7cef14c9e4 SHA512 97cf090398aa169e31711077efd26dc6da1f62291ab37b241b133634838bdd44743f85b86b861a3be18d2696ae9132afb6cd1871502bedb9cc17dfb63fde2632
diff --git a/sci-libs/arprec/arprec-2.2.18.ebuild b/sci-libs/arprec/arprec-2.2.18.ebuild
deleted file mode 100644
index 8c4069fcd8da..000000000000
--- a/sci-libs/arprec/arprec-2.2.18.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=90
-
-inherit autotools fortran-2
-
-DESCRIPTION="Arbitrary precision float arithmetics and functions"
-HOMEPAGE="https://crd-legacy.lbl.gov/~dhbailey/mpdist/"
-SRC_URI="https://crd.lbl.gov/~dhbailey/mpdist/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran qd static-libs"
-
-DEPEND="qd? ( sci-libs/qd[fortran=] )"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.2.18-fix-c++14.patch
- "${FILESDIR}"/${P}-gold.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4) fma) \
- $(use_enable fortran) \
- $(use_enable qd)
-}
-
-src_compile() {
- default
-
- if use fortran; then
- emake toolkit
- cd toolkit || die
- ./mathinit || die "mathinit failed"
- fi
-}
-
-src_install() {
- default
-
- if use fortran; then
- cd toolkit || die
-
- exeinto /usr/libexec/${PN}
- doexe mathtool
-
- insinto /usr/libexec/${PN}
- doins *.dat
-
- cat > mathtool.exe <<- _EOF_ || die
- #!/usr/bin/env sh
- cd "${EPREFIX}/usr/libexec/${PN}" && exec ./mathtool
- _EOF_
-
- newbin mathtool.exe mathtool
- newdoc README README.mathtool
- fi
-
- if ! use doc; then
- rm "${ED%/}"/usr/share/doc/${PF}/*.pdf || die
- fi
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/sci-libs/arprec/files/arprec-2.2.18-fix-c++14.patch b/sci-libs/arprec/files/arprec-2.2.18-fix-c++14.patch
deleted file mode 100644
index 680e921d6807..000000000000
--- a/sci-libs/arprec/files/arprec-2.2.18-fix-c++14.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix compiling with C++14, due to changed operator T* -> operator bool semantics.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=593872
-
---- a/src/write.cpp
-+++ b/src/write.cpp
-@@ -196,6 +196,6 @@
-
- string str = to_string(precision, width, expn_width,
- fmt, showpos, uppercase, fill);
-- return (s << str) != 0;
-+ return static_cast<bool>(s << str);
- }
-
diff --git a/sci-libs/arprec/files/arprec-2.2.18-gold.patch b/sci-libs/arprec/files/arprec-2.2.18-gold.patch
deleted file mode 100644
index 293b495f10a7..000000000000
--- a/sci-libs/arprec/files/arprec-2.2.18-gold.patch
+++ /dev/null
@@ -1,15 +0,0 @@
- fortran/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/fortran/Makefile.am b/fortran/Makefile.am
-index 8eb4d19..91a125c 100644
---- a/fortran/Makefile.am
-+++ b/fortran/Makefile.am
-@@ -4,6 +4,7 @@ LDADD = libarprec_f_main.la libarprecmod.la $(top_builddir)/src/libarprec.la $(F
-
- lib_LTLIBRARIES = libarprecmod.la libarprec_f_main.la
- libarprecmod_la_SOURCES = f_mp.cpp mp_mod.f mp_modm.f mp_modx.f
-+libarprecmod_la_LIBADD = $(top_builddir)/src/libarprec.la $(FCLIBS)
- libarprec_f_main_la_SOURCES = main.cpp
-
- if UPCASE_MODULE
diff --git a/sci-libs/arprec/metadata.xml b/sci-libs/arprec/metadata.xml
index a6a5b504b277..45204a1f3242 100644
--- a/sci-libs/arprec/metadata.xml
+++ b/sci-libs/arprec/metadata.xml
@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</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>
diff --git a/sci-libs/atlas/atlas-3.10.2.ebuild b/sci-libs/atlas/atlas-3.10.2.ebuild
index fcc3e5e0b331..6bddbb7be902 100644
--- a/sci-libs/atlas/atlas-3.10.2.ebuild
+++ b/sci-libs/atlas/atlas-3.10.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -10,13 +10,13 @@ inherit fortran-2 toolchain-funcs versionator
LAPACKP=lapack-3.6.0.tgz
DESCRIPTION="Automatically Tuned Linear Algebra Software"
-HOMEPAGE="http://math-atlas.sourceforge.net/"
+HOMEPAGE="https://math-atlas.sourceforge.net"
SRC_URI="mirror://sourceforge/math-atlas/${PN}${PV}.tar.bz2
fortran? ( lapack? ( http://www.netlib.org/lapack/${LAPACKP} ) )"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc fortran generic lapack static-libs threads"
RDEPEND=""
diff --git a/sci-libs/atlas/metadata.xml b/sci-libs/atlas/metadata.xml
index ac115a049487..7f7eebe3d1ee 100644
--- a/sci-libs/atlas/metadata.xml
+++ b/sci-libs/atlas/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -12,7 +12,7 @@
Subroutines (BLAS) for both c and F77 interfaces. It can also build
a subset of the linear algebra routine LAPACK library or the full
LAPACK using the reference LAPACK from Netlib.
-</longdescription>
+ </longdescription>
<use>
<flag name="generic">Build atlas assuming a fairly generic architecture (sse2 for x86, core2 for amd64)</flag>
</use>
diff --git a/sci-libs/avogadrolibs/Manifest b/sci-libs/avogadrolibs/Manifest
index e7bc6b930bca..5f4bfd4d93d3 100644
--- a/sci-libs/avogadrolibs/Manifest
+++ b/sci-libs/avogadrolibs/Manifest
@@ -1,4 +1,6 @@
-DIST avogadrolibs-1.91.0_pre20180415.tar.gz 2541101 BLAKE2B 526d2135af123d31220c8dd87351a35464e3dfd6b8d411d6dc9a6b3e74693090adfa3b61198a6a296eac99e6bbd67623f7aeda6a1752a09e3e3bcaa3df4d5008 SHA512 1cc646368f70523fcf20c6cf598025234162e0c81da64a3b5375c1691a6743f2aceb1f13230937bf9da045e725a23c1c89c8121e07b31ef9e2c7987b1feafccc
-DIST avogadrolibs-1.93.0.tar.gz 2735862 BLAKE2B b5d696f23aeeab27358ee390a30b2cf146e7119185a0d2e8d71b34d2744e534cd8b50b36d12928b5aa723118db470272b6428514593d64770d172c4bde730cf6 SHA512 1af220e5614cbd96656679c2879cb7f7c46acd135b4e6f2e5f8d0ba98601ce004e78f019a0a71c643f005451309bd194eb73eb9f66707685e5855b47e95f7eae
-DIST linux64-genXrdPattern 7480152 BLAKE2B dca8285c41aadfaa20c72f337e0f02db8ee07ce30c11ae84bf3aa7bd0b2220273d33f484d63f761d41a8946c6a0b77a0fb27906c480bcae01ae49b1531ae5cbb SHA512 538bde12e1e52600a21640d5907f43fcc853c6f3c111880f39eb238093e3d1358ccdfa1f45e944ec8b8e5ee3c2dff269cefe5334db5d73300e6ca327c95520b8
-DIST linux64-genXrdPattern-avogadrolibs-1.93.0 7480152 BLAKE2B dca8285c41aadfaa20c72f337e0f02db8ee07ce30c11ae84bf3aa7bd0b2220273d33f484d63f761d41a8946c6a0b77a0fb27906c480bcae01ae49b1531ae5cbb SHA512 538bde12e1e52600a21640d5907f43fcc853c6f3c111880f39eb238093e3d1358ccdfa1f45e944ec8b8e5ee3c2dff269cefe5334db5d73300e6ca327c95520b8
+DIST avogadrolibs-1.95.1.tar.gz 11015910 BLAKE2B 27cb43a22e489c0279e1ed912b1e81f3c850983f367ffb89bef3a63d11204cbf761f2bce6501988ed5ef9b21b44cc5194dad4367da3ae6af65efd0cec5e7d711 SHA512 b4734c732b1686eba74055c4834fef2f9fb66d4a67cd1199c84e81965c3f6e783911e7c7c8d09386c4ff9f1322bab91fe490d3606784ae49acf5531a65a58beb
+DIST avogadrolibs-1.97.0.tar.gz 11456702 BLAKE2B 2f9229a0525dc151ef636c4c101ea21d3713efb033f6a007c43689bfd078b07081d695bb3ec32715c3ccf9d67e7bb85a617a08eeb0e6fc8c80e479a3cb3f1553 SHA512 a0ad3ba294db5f0fff35087ff0f616fdcaefc7b4abfa470c9fd26326ad14f73e3584c18a7111b671998d8a23a50091307520f01f79295fc7ea52ae2d78716c7e
+DIST avogadrolibs-crystals-1.0.1.tar.gz 151829 BLAKE2B 0a1353392a4c087977452f50ffb7db0b2976a2993651b6f7e0df7a9ce6fa8f7960223cac2916dd9f667d37518b85606d73d05e86f7489193a6a609700fc60223 SHA512 c5d6500d8472807b8d2e62888e4a09279c6aeafec81bc4981edaa74e36724b1e7f0381250c79ad297f9f0331bcb5cd8a45fce3f13ad65b9870e901a6424c0650
+DIST avogadrolibs-molecules-1.0.0.tar.gz 206924 BLAKE2B 70eea3d5eb440ab2c7f29c56111f2b8cf780cc84983aa145bc4f2fe144c981978218333ba3c33cf1f620dd3180cca706dfa4e94ffaee6167f89bd3e372172218 SHA512 06891ea7ad3e65c5b0c0ad73ea01916478fcd13fd9ff0d6905d28159678a50371ba9fa2c1f68ef32604dee0c2165de29bd5d50ffbc345bfe752ef0bcb13126f2
+DIST linux64-genXrdPattern-avogadrolibs-1.95.1 7480152 BLAKE2B dca8285c41aadfaa20c72f337e0f02db8ee07ce30c11ae84bf3aa7bd0b2220273d33f484d63f761d41a8946c6a0b77a0fb27906c480bcae01ae49b1531ae5cbb SHA512 538bde12e1e52600a21640d5907f43fcc853c6f3c111880f39eb238093e3d1358ccdfa1f45e944ec8b8e5ee3c2dff269cefe5334db5d73300e6ca327c95520b8
+DIST linux64-genXrdPattern-avogadrolibs-1.97.0 7480152 BLAKE2B dca8285c41aadfaa20c72f337e0f02db8ee07ce30c11ae84bf3aa7bd0b2220273d33f484d63f761d41a8946c6a0b77a0fb27906c480bcae01ae49b1531ae5cbb SHA512 538bde12e1e52600a21640d5907f43fcc853c6f3c111880f39eb238093e3d1358ccdfa1f45e944ec8b8e5ee3c2dff269cefe5334db5d73300e6ca327c95520b8
diff --git a/sci-libs/avogadrolibs/avogadrolibs-1.91.0_pre20180415.ebuild b/sci-libs/avogadrolibs/avogadrolibs-1.91.0_pre20180415.ebuild
deleted file mode 100644
index f27d9ea8207e..000000000000
--- a/sci-libs/avogadrolibs/avogadrolibs-1.91.0_pre20180415.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-COMMIT=606debb5d7c2c4020478264c609f895584fc5e38
-inherit cmake-utils
-
-DESCRIPTION="Advanced molecule editor and visualizer 2 - libraries"
-HOMEPAGE="https://www.openchemistry.org/"
-SRC_URI="https://github.com/OpenChemistry/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz
- vtk? ( https://github.com/psavery/genXrdPattern/releases/download/1.0-static/linux64-genXrdPattern )"
-
-SLOT="0"
-LICENSE="BSD GPL-2+"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="archive doc hdf5 qt5 static-plugins test vtk"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="vtk? ( qt5 )"
-
-# TODO: Not yet packaged:
-# sci-libs/libmsym (https://github.com/mcodev31/libmsym)
-# sci-libs/spglib (https://atztogo.github.io/spglib/)
-RDEPEND="
- dev-libs/jsoncpp:=
- >=sci-chemistry/molequeue-0.7
- archive? ( app-arch/libarchive )
- hdf5? ( sci-libs/hdf5:= )
- qt5? (
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- media-libs/glew:0=
- virtual/opengl
- )
- vtk? ( sci-libs/vtk[qt5,views] )
-"
-DEPEND="${RDEPEND}
- dev-cpp/eigen:3
- qt5? ( dev-qt/linguist-tools:5 )
- test? ( dev-cpp/gtest )"
-
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.7.2-6464.patch
- "${FILESDIR}/"${PN}-1.91.0_pre20180406-underlinking.patch
- "${FILESDIR}/"${PN}-1.91.0_pre20180406-unbundle-jsoncpp.patch
- "${FILESDIR}/"${PN}-1.91.0_pre20180406-bundled-genxrdpattern.patch
- "${FILESDIR}/"${P}-qt-5.11b3.patch
-)
-
-src_unpack() {
- unpack ${P}.tar.gz
- if use vtk; then
- cp "${DISTDIR}"/linux64-genXrdPattern "${WORKDIR}/genXrdPattern" || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_PROTOCALL=OFF
- -DBUILD_GPL_PLUGINS=ON
- -DUSE_MOLEQUEUE=ON
- -DUSE_LIBMSYM=OFF
- -DUSE_LIBSPG=OFF
- -DUSE_PYTHON=OFF
- -DUSE_LIBARCHIVE=$(usex archive)
- -DBUILD_DOCUMENTATION=$(usex doc)
- -DUSE_HDF5=$(usex hdf5)
- -DENABLE_TRANSLATIONS=$(usex qt5)
- -DUSE_OPENGL=$(usex qt5)
- -DUSE_QT=$(usex qt5)
- -DBUILD_STATIC_PLUGINS=$(usex static-plugins)
- -DENABLE_TESTING=$(usex test)
- -DUSE_VTK=$(usex vtk)
- )
- use vtk && mycmakeargs+=(
- -DBUNDLED_GENXRDPATTERN="${WORKDIR}/genXrdPattern"
- )
-
- cmake-utils_src_configure
-}
diff --git a/sci-libs/avogadrolibs/avogadrolibs-1.93.0.ebuild b/sci-libs/avogadrolibs/avogadrolibs-1.93.0.ebuild
deleted file mode 100644
index a2872894639d..000000000000
--- a/sci-libs/avogadrolibs/avogadrolibs-1.93.0.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit cmake-utils flag-o-matic
-
-DESCRIPTION="Advanced molecule editor and visualizer 2 - libraries"
-HOMEPAGE="https://www.openchemistry.org/ https://github.com/OpenChemistry/avogadrolibs"
-SRC_URI="
- https://github.com/OpenChemistry/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- vtk? ( https://github.com/psavery/genXrdPattern/releases/download/1.0-static/linux64-genXrdPattern -> linux64-genXrdPattern-${P} )
-"
-
-SLOT="0"
-LICENSE="BSD GPL-2+"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-# static-plugins needs to be enabled until upstream fixes
-# https://github.com/OpenChemistry/avogadrolibs/issues/436
-#IUSE="archive doc hdf5 qt5 static-plugins test vtk"
-IUSE="archive doc hdf5 qt5 test vtk"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="vtk? ( qt5 )"
-
-# TODO: Not yet packaged:
-# sci-libs/libmsym (https://github.com/mcodev31/libmsym)
-# sci-libs/spglib (https://atztogo.github.io/spglib/)
-RDEPEND="
- dev-libs/jsoncpp:=
- >=sci-chemistry/molequeue-0.7
- sci-libs/spglib
- archive? ( app-arch/libarchive )
- hdf5? ( sci-libs/hdf5:= )
- qt5? (
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- media-libs/glew:0=
- virtual/opengl
- )
- vtk? ( sci-libs/vtk[qt5,views] )
-"
-DEPEND="${RDEPEND}
- dev-cpp/eigen:3
- qt5? ( dev-qt/linguist-tools:5 )
- test? ( dev-cpp/gtest )"
-
-PATCHES=(
- # https://github.com/OpenChemistry/avogadrolibs/issues/449
- "${FILESDIR}"/${PN}-1.93.0-fix_AvogadroLibsConfig.patch
- "${FILESDIR}/"${PN}-1.91.0_pre20180406-bundled-genxrdpattern.patch
-)
-
-src_unpack() {
- default
- if use vtk; then
- cp "${DISTDIR}"/linux64-genXrdPattern-${P} "${WORKDIR}/genXrdPattern" || die
- fi
-}
-
-src_configure() {
- # -DBUILD_STATIC_PLUGINS=$(usex static-plugins)
- local mycmakeargs=(
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
- -DUSE_PROTOCALL=OFF
- -DBUILD_GPL_PLUGINS=ON
- -DUSE_MOLEQUEUE=ON
- -DUSE_MMTF=OFF
- -DUSE_LIBMSYM=OFF
- -DUSE_SPGLIB=OFF
- -DUSE_PYTHON=OFF
- -DUSE_LIBARCHIVE=$(usex archive)
- -DBUILD_DOCUMENTATION=$(usex doc)
- -DUSE_HDF5=$(usex hdf5)
- -DENABLE_TRANSLATIONS=$(usex qt5)
- -DUSE_OPENGL=$(usex qt5)
- -DUSE_QT=$(usex qt5)
- -DBUILD_STATIC_PLUGINS=ON
- -DENABLE_TESTING=$(usex test)
- -DUSE_VTK=$(usex vtk)
- )
- use vtk && mycmakeargs+=(
- -DBUNDLED_GENXRDPATTERN="${WORKDIR}/genXrdPattern"
- )
-
- cmake-utils_src_configure
-}
diff --git a/sci-libs/avogadrolibs/avogadrolibs-1.95.1-r1.ebuild b/sci-libs/avogadrolibs/avogadrolibs-1.95.1-r1.ebuild
new file mode 100644
index 000000000000..330bb74633f7
--- /dev/null
+++ b/sci-libs/avogadrolibs/avogadrolibs-1.95.1-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Advanced molecule editor and visualizer 2 - libraries"
+HOMEPAGE="https://www.openchemistry.org/ https://github.com/OpenChemistry/avogadrolibs"
+SRC_URI="
+ https://github.com/OpenChemistry/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/OpenChemistry/molecules/archive/refs/tags/1.0.0.tar.gz -> ${PN}-molecules-1.0.0.tar.gz
+ https://github.com/OpenChemistry/crystals/archive/refs/tags/1.0.1.tar.gz -> ${PN}-crystals-1.0.1.tar.gz
+ vtk? ( https://github.com/psavery/genXrdPattern/releases/download/1.0-static/linux64-genXrdPattern -> linux64-genXrdPattern-${P} )"
+
+LICENSE="BSD GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="archive doc hdf5 qt5 test vtk"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vtk? ( qt5 )"
+
+# TODO: Not yet packaged:
+# sci-libs/libmsym (https://github.com/mcodev31/libmsym)
+RDEPEND="
+ >=sci-chemistry/molequeue-0.7
+ archive? ( app-arch/libarchive:= )
+ hdf5? ( sci-libs/hdf5:= )
+ qt5? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ media-libs/glew:0=
+ virtual/opengl
+ )
+ vtk? ( sci-libs/vtk[qt5,views] )"
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ test? ( dev-cpp/gtest )"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ qt5? ( dev-qt/linguist-tools:5 )"
+
+PATCHES=(
+ "${FILESDIR}/"${PN}-1.91.0_pre20180406-bundled-genxrdpattern.patch
+ "${FILESDIR}/"${PN}-1.95.1-tests.patch
+ "${FILESDIR}/"${PN}-1.95.1-usability_backport.patch
+)
+
+src_unpack() {
+ default
+
+ if use vtk; then
+ cp "${DISTDIR}"/linux64-genXrdPattern-${P} "${WORKDIR}/genXrdPattern" || die
+ fi
+
+ # hardcoded assumptions in
+ # avogadro/qtplugins/insertfragment/CMakeLists.txt
+ mv crystals-1.0.1 crystals || die
+ mv molecules-1.0.0 molecules || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_LIBARCHIVE=$(usex archive)
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DUSE_HDF5=$(usex hdf5)
+ -DENABLE_TRANSLATIONS=$(usex qt5)
+ -DUSE_OPENGL=$(usex qt5)
+ -DUSE_QT=$(usex qt5)
+ -DENABLE_TESTING=$(usex test)
+ -DUSE_VTK=$(usex vtk)
+ # disabled libraries
+ -DUSE_PYTHON=OFF
+ -DUSE_PROTOCALL=OFF
+ -DUSE_MMTF=OFF
+ -DUSE_LIBMSYM=OFF
+ # find_package(Spglib) completely broken
+ -DUSE_SPGLIB=OFF
+ )
+ use qt5 && mycmakeargs+=(
+ -DBUILD_GPL_PLUGINS=ON
+ -DBUILD_STATIC_PLUGINS=ON
+ -DOpenGL_GL_PREFERENCE=GLVND
+ )
+ use vtk && mycmakeargs+=(
+ -DBUNDLED_GENXRDPATTERN="${WORKDIR}/genXrdPattern"
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/avogadrolibs/avogadrolibs-1.97.0.ebuild b/sci-libs/avogadrolibs/avogadrolibs-1.97.0.ebuild
new file mode 100644
index 000000000000..6d9cb22617aa
--- /dev/null
+++ b/sci-libs/avogadrolibs/avogadrolibs-1.97.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Advanced molecule editor and visualizer 2 - libraries"
+HOMEPAGE="https://www.openchemistry.org/ https://github.com/OpenChemistry/avogadrolibs"
+SRC_URI="
+ https://github.com/OpenChemistry/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/OpenChemistry/molecules/archive/refs/tags/1.0.0.tar.gz -> ${PN}-molecules-1.0.0.tar.gz
+ https://github.com/OpenChemistry/crystals/archive/refs/tags/1.0.1.tar.gz -> ${PN}-crystals-1.0.1.tar.gz
+ vtk? ( https://github.com/psavery/genXrdPattern/releases/download/1.0-static/linux64-genXrdPattern -> linux64-genXrdPattern-${P} )"
+
+LICENSE="BSD GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="archive doc hdf5 qt5 test vtk"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vtk? ( qt5 )"
+
+# TODO: Not yet packaged:
+# sci-libs/libmsym (https://github.com/mcodev31/libmsym)
+RDEPEND="
+ >=sci-chemistry/molequeue-0.7
+ archive? ( app-arch/libarchive:= )
+ hdf5? ( sci-libs/hdf5:= )
+ qt5? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ media-libs/glew:0=
+ virtual/opengl
+ )
+ vtk? ( sci-libs/vtk[qt5,views] )"
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ test? ( dev-cpp/gtest )"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ qt5? ( dev-qt/linguist-tools:5 )"
+
+PATCHES=(
+ "${FILESDIR}/"${PN}-1.91.0_pre20180406-bundled-genxrdpattern.patch
+ "${FILESDIR}/"${PN}-1.95.1-tests.patch
+)
+
+src_unpack() {
+ default
+
+ if use vtk; then
+ cp "${DISTDIR}"/linux64-genXrdPattern-${P} "${WORKDIR}/genXrdPattern" || die
+ fi
+
+ # hardcoded assumptions in
+ # avogadro/qtplugins/insertfragment/CMakeLists.txt
+ mv crystals-1.0.1 crystals || die
+ mv molecules-1.0.0 molecules || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_LIBARCHIVE=$(usex archive)
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DUSE_HDF5=$(usex hdf5)
+ -DENABLE_TRANSLATIONS=$(usex qt5)
+ -DUSE_OPENGL=$(usex qt5)
+ -DUSE_QT=$(usex qt5)
+ -DENABLE_TESTING=$(usex test)
+ -DUSE_VTK=$(usex vtk)
+ # disabled libraries
+ -DUSE_PYTHON=OFF
+ -DUSE_PROTOCALL=OFF
+ -DUSE_MMTF=OFF
+ -DUSE_LIBMSYM=OFF
+ # find_package(Spglib) completely broken
+ -DUSE_SPGLIB=OFF
+ )
+ use qt5 && mycmakeargs+=(
+ -DBUILD_GPL_PLUGINS=ON
+ -DBUILD_STATIC_PLUGINS=ON
+ -DOpenGL_GL_PREFERENCE=GLVND
+ )
+ use vtk && mycmakeargs+=(
+ -DBUNDLED_GENXRDPATTERN="${WORKDIR}/genXrdPattern"
+ )
+
+ cmake_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
deleted file mode 100644
index f763c242cc48..000000000000
--- a/sci-libs/avogadrolibs/files/avogadrolibs-0.7.2-6464.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- 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/files/avogadrolibs-1.91.0_pre20180406-unbundle-jsoncpp.patch b/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180406-unbundle-jsoncpp.patch
deleted file mode 100644
index 3b5280cdc47e..000000000000
--- a/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180406-unbundle-jsoncpp.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 7e01a11dde25af75b21090fdaa2ca574ef703e53 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 8 Apr 2018 01:48:27 +0200
-Subject: [PATCH 1/2] Drop bogus jsoncpp.cpp include from spectra.cpp
-
----
- avogadro/qtplugins/spectra/spectra.cpp | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/avogadro/qtplugins/spectra/spectra.cpp b/avogadro/qtplugins/spectra/spectra.cpp
-index 043b52e..aa9c641 100644
---- a/avogadro/qtplugins/spectra/spectra.cpp
-+++ b/avogadro/qtplugins/spectra/spectra.cpp
-@@ -26,8 +26,6 @@
- #include <QtWidgets/QFileDialog>
- #include <avogadro/qtgui/molecule.h>
-
--#include <jsoncpp.cpp>
--
- namespace Avogadro {
- namespace QtPlugins {
-
---
-2.17.0
-
-
-From 52cd35662aa2094db77ab4002b7c44f3dab2802d Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 8 Apr 2018 02:00:30 +0200
-Subject: [PATCH 2/2] Use pkgconfig to find system-jsoncpp
-
----
- CMakeLists.txt | 5 ++++-
- avogadro/io/CMakeLists.txt | 4 ++--
- avogadro/qtplugins/importpqr/CMakeLists.txt | 4 ++--
- avogadro/qtplugins/plugindownloader/CMakeLists.txt | 4 ++--
- avogadro/qtplugins/spectra/CMakeLists.txt | 2 +-
- avogadro/quantumio/CMakeLists.txt | 4 ++--
- 6 files changed, 13 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7574fa0..7ce80b0 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -52,8 +52,11 @@ option(USE_PROTOCALL "Enable libraries that use ProtoCall" OFF)
- option(USE_MOLEQUEUE "Enable the MoleQueue dependent functionality" ON)
- option(USE_PYTHON "Use Python to wrap some of our API" OFF)
-
-+find_package(PkgConfig REQUIRED)
-+pkg_check_modules(JSONCPP jsoncpp)
-+
- add_subdirectory(utilities)
--add_subdirectory(thirdparty)
-+# add_subdirectory(thirdparty)
- add_subdirectory(avogadro)
-
- if(ENABLE_TESTING)
-diff --git a/avogadro/io/CMakeLists.txt b/avogadro/io/CMakeLists.txt
-index 1dd7967..10ddbb6 100644
---- a/avogadro/io/CMakeLists.txt
-+++ b/avogadro/io/CMakeLists.txt
-@@ -15,7 +15,7 @@ endif()
- # compilers that support that notion.
- include_directories(SYSTEM "${EIGEN3_INCLUDE_DIR}"
- "${AvogadroLibs_SOURCE_DIR}/thirdparty/pugixml"
-- "${AvogadroLibs_SOURCE_DIR}/thirdparty/jsoncpp")
-+ "${JSONCPP_INCLUDE_DIRS}")
-
- if(DEFINED AvogadroLibs_MEMORY_INCLUDE_DIRS)
- # The smart pointer classes just require headers.
-@@ -51,7 +51,7 @@ endif()
-
- avogadro_add_library(AvogadroIO ${HEADERS} ${SOURCES})
-
--target_link_libraries(AvogadroIO LINK_PUBLIC AvogadroCore LINK_PRIVATE jsoncpp)
-+target_link_libraries(AvogadroIO LINK_PUBLIC AvogadroCore LINK_PRIVATE ${JSONCPP_LIBRARIES})
- if(USE_HDF5)
- target_link_libraries(AvogadroIO LINK_PRIVATE ${HDF5_LIBRARIES})
- endif()
-diff --git a/avogadro/qtplugins/importpqr/CMakeLists.txt b/avogadro/qtplugins/importpqr/CMakeLists.txt
-index ee27da9..365c51a 100644
---- a/avogadro/qtplugins/importpqr/CMakeLists.txt
-+++ b/avogadro/qtplugins/importpqr/CMakeLists.txt
-@@ -1,4 +1,4 @@
--include_directories(SYSTEM "${AvogadroLibs_SOURCE_DIR}/thirdparty/jsoncpp")
-+include_directories(SYSTEM ${JSONCPP_INCLUDE_DIRS})
-
- # Extension
- set(importpqr_srcs
-@@ -17,4 +17,4 @@ avogadro_plugin(ImportPQR
- ""
- )
-
--target_link_libraries(ImportPQR LINK_PRIVATE ${Qt5Network_LIBRARIES} jsoncpp)
-+target_link_libraries(ImportPQR LINK_PRIVATE ${Qt5Network_LIBRARIES} ${JSONCPP_LIBRARIES})
-diff --git a/avogadro/qtplugins/plugindownloader/CMakeLists.txt b/avogadro/qtplugins/plugindownloader/CMakeLists.txt
-index 4b07a53..ab4c661 100644
---- a/avogadro/qtplugins/plugindownloader/CMakeLists.txt
-+++ b/avogadro/qtplugins/plugindownloader/CMakeLists.txt
-@@ -1,4 +1,4 @@
--include_directories(SYSTEM "${AvogadroLibs_SOURCE_DIR}/thirdparty/jsoncpp")
-+include_directories(SYSTEM ${JSONCPP_INCLUDE_DIRS})
-
- find_package(LibArchive REQUIRED)
- include_directories(SYSTEM ${LIBARCHIVE_INCLUDE_DIRS})
-@@ -20,4 +20,4 @@ avogadro_plugin(PluginDownloader
- )
-
- target_link_libraries(PluginDownloader LINK_PRIVATE ${Qt5Network_LIBRARIES}
-- ${LIBARCHIVE_LIBRARIES} jsoncpp)
-+ ${LIBARCHIVE_LIBRARIES} ${JSONCPP_LIBRARIES})
-diff --git a/avogadro/qtplugins/spectra/CMakeLists.txt b/avogadro/qtplugins/spectra/CMakeLists.txt
-index a2216b8..09d8fc9 100644
---- a/avogadro/qtplugins/spectra/CMakeLists.txt
-+++ b/avogadro/qtplugins/spectra/CMakeLists.txt
-@@ -1,4 +1,4 @@
--include_directories(SYSTEM "${AvogadroLibs_SOURCE_DIR}/thirdparty/jsoncpp")
-+include_directories(SYSTEM ${JSONCPP_INCLUDE_DIRS})
-
- set(plugin_srcs
- vibrationdialog.cpp
-diff --git a/avogadro/quantumio/CMakeLists.txt b/avogadro/quantumio/CMakeLists.txt
-index 15073e8..35fc766 100644
---- a/avogadro/quantumio/CMakeLists.txt
-+++ b/avogadro/quantumio/CMakeLists.txt
-@@ -2,7 +2,7 @@ find_package(Eigen3 REQUIRED)
- # Add as "system headers" to avoid warnings generated by them with
- # compilers that support that notion.
- include_directories(SYSTEM "${EIGEN3_INCLUDE_DIR}"
-- "${AvogadroLibs_SOURCE_DIR}/thirdparty/jsoncpp")
-+ ${JSONCPP_INCLUDE_DIRS})
-
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
-@@ -30,4 +30,4 @@ set(SOURCES
- )
-
- avogadro_add_library(AvogadroQuantumIO ${HEADERS} ${SOURCES})
--target_link_libraries(AvogadroQuantumIO LINK_PUBLIC AvogadroIO LINK_PRIVATE jsoncpp)
-+target_link_libraries(AvogadroQuantumIO LINK_PUBLIC AvogadroIO LINK_PRIVATE ${JSONCPP_LIBRARIES})
---
-2.17.0
-
diff --git a/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180406-underlinking.patch b/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180406-underlinking.patch
deleted file mode 100644
index f6f39c9e6b7b..000000000000
--- a/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180406-underlinking.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix underlinking problems in shared libraries.
-
---- a/avogadro/qtplugins/playertool/CMakeLists.txt
-+++ b/avogadro/qtplugins/playertool/CMakeLists.txt
-@@ -7,3 +7,5 @@
- ""
- playertool.qrc
- )
-+
-+target_link_libraries(PlayerTool LINK_PRIVATE Qt5OpenGL)
---- a/avogadro/qtplugins/qtaim/CMakeLists.txt
-+++ b/avogadro/qtplugins/qtaim/CMakeLists.txt
-@@ -34,3 +34,5 @@
-
- target_link_libraries(QTAIMScenePlugin
- LINK_PRIVATE AvogadroRendering ${Qt5Concurrent_LIBRARIES})
-+target_link_libraries(QTAIMExtension
-+ LINK_PRIVATE ${Qt5Concurrent_LIBRARIES})
diff --git a/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180415-qt-5.11b3.patch b/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180415-qt-5.11b3.patch
deleted file mode 100644
index 11816e438c28..000000000000
--- a/sci-libs/avogadrolibs/files/avogadrolibs-1.91.0_pre20180415-qt-5.11b3.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 03dd55beb878b5e15d891535a3c8b7ffa6133c92 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Tue, 17 Apr 2018 11:31:22 +0200
-Subject: [PATCH] Fix build with Qt 5.11_beta3 (dropping qt5_use_modules)
-
----
- avogadro/molequeue/CMakeLists.txt | 3 +--
- avogadro/qtgui/CMakeLists.txt | 3 +--
- avogadro/qtopengl/CMakeLists.txt | 3 +--
- avogadro/vtk/CMakeLists.txt | 3 +--
- tests/qtgui/CMakeLists.txt | 3 +--
- tests/qtopengl/CMakeLists.txt | 2 --
- 6 files changed, 5 insertions(+), 12 deletions(-)
-
-diff --git a/avogadro/molequeue/CMakeLists.txt b/avogadro/molequeue/CMakeLists.txt
-index 43a9195..37431cd 100644
---- a/avogadro/molequeue/CMakeLists.txt
-+++ b/avogadro/molequeue/CMakeLists.txt
-@@ -41,6 +41,5 @@ qt5_wrap_ui(UI_SOURCES ${UIS})
- list(APPEND SOURCES ${UI_SOURCES})
-
- avogadro_add_library(AvogadroMoleQueue ${HEADERS} ${SOURCES})
--qt5_use_modules(AvogadroMoleQueue Widgets Network)
- set_target_properties(AvogadroMoleQueue PROPERTIES AUTOMOC TRUE)
--target_link_libraries(AvogadroMoleQueue AvogadroQtGui MoleQueueClient)
-+target_link_libraries(AvogadroMoleQueue AvogadroQtGui MoleQueueClient Qt5::Widgets Qt5::Network)
-diff --git a/avogadro/qtgui/CMakeLists.txt b/avogadro/qtgui/CMakeLists.txt
-index e6cf8d3..3365261 100644
---- a/avogadro/qtgui/CMakeLists.txt
-+++ b/avogadro/qtgui/CMakeLists.txt
-@@ -99,5 +99,4 @@ qt5_add_resources(RC_SOURCES ${RCS})
- list(APPEND SOURCES ${RC_SOURCES})
-
- avogadro_add_library(AvogadroQtGui ${HEADERS} ${SOURCES})
--qt5_use_modules(AvogadroQtGui Widgets)
--target_link_libraries(AvogadroQtGui AvogadroIO)
-+target_link_libraries(AvogadroQtGui AvogadroIO Qt5::Widgets)
-diff --git a/avogadro/qtopengl/CMakeLists.txt b/avogadro/qtopengl/CMakeLists.txt
-index 354638c..28a473e 100644
---- a/avogadro/qtopengl/CMakeLists.txt
-+++ b/avogadro/qtopengl/CMakeLists.txt
-@@ -16,5 +16,4 @@ set(SOURCES
- )
-
- avogadro_add_library(AvogadroQtOpenGL ${HEADERS} ${SOURCES})
--qt5_use_modules(AvogadroQtOpenGL Widgets)
--target_link_libraries(AvogadroQtOpenGL AvogadroRendering AvogadroQtGui)
-+target_link_libraries(AvogadroQtOpenGL AvogadroRendering AvogadroQtGui Qt5::Widgets)
-diff --git a/avogadro/vtk/CMakeLists.txt b/avogadro/vtk/CMakeLists.txt
-index abac5a1..498529c 100644
---- a/avogadro/vtk/CMakeLists.txt
-+++ b/avogadro/vtk/CMakeLists.txt
-@@ -30,8 +30,7 @@ set(SOURCES
- )
-
- avogadro_add_library(AvogadroVtk ${HEADERS} ${SOURCES})
--qt5_use_modules(AvogadroVtk Widgets)
- set_target_properties(AvogadroVtk PROPERTIES AUTOMOC TRUE)
- target_link_libraries(AvogadroVtk AvogadroRendering AvogadroQtGui
- vtkRenderingOpenGL2 vtkGUISupportQt vtkRenderingVolumeOpenGL2
-- vtkRenderingFreeType vtkInteractionStyle)
-+ vtkRenderingFreeType vtkInteractionStyle Qt5::Widgets)
-diff --git a/tests/qtgui/CMakeLists.txt b/tests/qtgui/CMakeLists.txt
-index 1cfd51a..da08078 100644
---- a/tests/qtgui/CMakeLists.txt
-+++ b/tests/qtgui/CMakeLists.txt
-@@ -49,9 +49,8 @@ endforeach()
-
- # Add a single executable for all of our tests.
- add_executable(AvogadroQtGuiTests ${testSrcs})
--qt5_use_modules(AvogadroQtGuiTests Widgets Test)
- target_link_libraries(AvogadroQtGuiTests AvogadroQtGui AvogadroMoleQueue
-- MoleQueueClient ${GTEST_BOTH_LIBRARIES} ${EXTRA_LINK_LIB})
-+ MoleQueueClient ${GTEST_BOTH_LIBRARIES} ${EXTRA_LINK_LIB} Qt5::Widgets Qt5::Test)
-
- # Now add all of the tests, using the gtest_filter argument so that only those
- # cases are run in each test invocation.
-diff --git a/tests/qtopengl/CMakeLists.txt b/tests/qtopengl/CMakeLists.txt
-index 370f28f..60fc5ae 100644
---- a/tests/qtopengl/CMakeLists.txt
-+++ b/tests/qtopengl/CMakeLists.txt
-@@ -44,8 +44,6 @@ create_test_sourcelist(testDriver qtopengltests.cpp ${testSrcs})
-
- add_executable(AvogadroQtOpenGLTests ${testDriver})
-
--qt5_use_modules(AvogadroQtOpenGLTests OpenGL)
--
- target_link_libraries(AvogadroQtOpenGLTests
- AvogadroQtOpenGL
- vtkImagingCore
---
-2.17.0
-
diff --git a/sci-libs/avogadrolibs/files/avogadrolibs-1.93.0-fix_AvogadroLibsConfig.patch b/sci-libs/avogadrolibs/files/avogadrolibs-1.93.0-fix_AvogadroLibsConfig.patch
deleted file mode 100644
index 5eb316af9414..000000000000
--- a/sci-libs/avogadrolibs/files/avogadrolibs-1.93.0-fix_AvogadroLibsConfig.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/cmake/AvogadroLibsConfig.cmake.orig.in 2016-12-01 22:17:48.000000000 +0100
-+++ b/cmake/AvogadroLibsConfig.cmake.in 2017-03-11 20:39:36.462581381 +0100
-@@ -10,7 +10,7 @@
-
- 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/files/avogadrolibs-1.95.1-tests.patch b/sci-libs/avogadrolibs/files/avogadrolibs-1.95.1-tests.patch
new file mode 100644
index 000000000000..5feea804632e
--- /dev/null
+++ b/sci-libs/avogadrolibs/files/avogadrolibs-1.95.1-tests.patch
@@ -0,0 +1,13 @@
+exclude test that unconditionally requires sci-libs/spglib
+* https://bugs.gentoo.org/765811
+
+--- a/tests/core/CMakeLists.txt
++++ b/tests/core/CMakeLists.txt
+@@ -15,7 +15,6 @@
+ Molecule
+ Mutex
+ RingPerceiver
+- Spacegroup
+ Utilities
+ UnitCell
+ Variant
diff --git a/sci-libs/avogadrolibs/files/avogadrolibs-1.95.1-usability_backport.patch b/sci-libs/avogadrolibs/files/avogadrolibs-1.95.1-usability_backport.patch
new file mode 100644
index 000000000000..07a32023600e
--- /dev/null
+++ b/sci-libs/avogadrolibs/files/avogadrolibs-1.95.1-usability_backport.patch
@@ -0,0 +1,81 @@
+From 56c67fff7dd7ec84b2f2b5c2e5beaec13981e408 Mon Sep 17 00:00:00 2001
+From: Aritz Erkiaga <aerkiaga3@gmail.com>
+Date: Sat, 3 Sep 2022 16:54:55 +0200
+Subject: [PATCH 1/3] Fix erratic editing behavior
+
+Signed-off-by: Aritz Erkiaga <aerkiaga3@gmail.com>
+---
+ avogadro/qtgui/rwmolecule_undo.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/avogadro/qtgui/rwmolecule_undo.h b/avogadro/qtgui/rwmolecule_undo.h
+index de5bdd33..20768066 100644
+--- a/avogadro/qtgui/rwmolecule_undo.h
++++ b/avogadro/qtgui/rwmolecule_undo.h
+@@ -89,7 +89,7 @@ public:
+ {
+ assert(m_molecule.atomCount() == m_atomId);
+ if (m_usingPositions)
+- m_molecule.addAtom(m_atomicNumber, Vector3::Zero(), m_atomId);
++ m_molecule.addAtom(m_atomicNumber, Vector3::Zero(), m_atomUid);
+ else
+ m_molecule.addAtom(m_atomicNumber, m_atomUid);
+ m_molecule.layer().addAtom(m_layer, m_atomId);
+--
+2.34.1
+
+
+From 5159ea1a9629ad82130670767cc25c5065f9627c Mon Sep 17 00:00:00 2001
+From: Aritz Erkiaga <aerkiaga3@gmail.com>
+Date: Sat, 3 Sep 2022 16:55:26 +0200
+Subject: [PATCH 2/3] Fix Manipulator Tool not working at all
+
+Signed-off-by: Aritz Erkiaga <aerkiaga3@gmail.com>
+---
+ avogadro/qtplugins/manipulator/manipulator.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/avogadro/qtplugins/manipulator/manipulator.cpp b/avogadro/qtplugins/manipulator/manipulator.cpp
+index 19dc51ac..29559dd0 100644
+--- a/avogadro/qtplugins/manipulator/manipulator.cpp
++++ b/avogadro/qtplugins/manipulator/manipulator.cpp
+@@ -129,7 +129,7 @@ QUndoCommand* Manipulator::mouseMoveEvent(QMouseEvent* e)
+ Vector2f windowPos(e->localPos().x(), e->localPos().y());
+
+ if (mol->isSelectionEmpty() && m_object.type == Rendering::AtomType &&
+- m_object.molecule == mol) {
++ m_object.molecule == &m_molecule->molecule()) {
+ // translate single atom position
+ RWAtom atom = m_molecule->atom(m_object.index);
+ Vector3f oldPos(atom.position3d().cast<float>());
+--
+2.34.1
+
+
+From f38bfbc88f0722a66ab298ff26073874b5f73634 Mon Sep 17 00:00:00 2001
+From: Aritz Erkiaga <aerkiaga3@gmail.com>
+Date: Sat, 3 Sep 2022 16:55:59 +0200
+Subject: [PATCH 3/3] Fix Bond Centric Tool not working at all
+
+Signed-off-by: Aritz Erkiaga <aerkiaga3@gmail.com>
+---
+ avogadro/qtplugins/bondcentrictool/bondcentrictool.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/avogadro/qtplugins/bondcentrictool/bondcentrictool.cpp b/avogadro/qtplugins/bondcentrictool/bondcentrictool.cpp
+index 79112899..3a853057 100644
+--- a/avogadro/qtplugins/bondcentrictool/bondcentrictool.cpp
++++ b/avogadro/qtplugins/bondcentrictool/bondcentrictool.cpp
+@@ -342,8 +342,7 @@ QUndoCommand* BondCentricTool::mousePressEvent(QMouseEvent* e)
+ Rendering::Identifier ident = m_renderer->hit(e->pos().x(), e->pos().y());
+
+ // If no hits, return. Also ensure that the hit molecule is the one we expect.
+- const Core::Molecule* mol = &m_molecule->molecule();
+- if (!ident.isValid() || ident.molecule != mol)
++ if (!ident.isValid() || ident.molecule != &m_molecule->molecule())
+ return nullptr;
+
+ // If the hit is a left click on a bond, make it the selected bond and map
+--
+2.34.1
+
diff --git a/sci-libs/avogadrolibs/metadata.xml b/sci-libs/avogadrolibs/metadata.xml
index ff1789dfa774..672fc1a05040 100644
--- a/sci-libs/avogadrolibs/metadata.xml
+++ b/sci-libs/avogadrolibs/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-chemistry@gentoo.org</email>
@@ -7,7 +7,6 @@
</maintainer>
<use>
<flag name="archive">Enable archive support using <pkg>app-arch/libarchive</pkg></flag>
- <flag name="static-plugins">Build all plugins statically into main plugin modules</flag>
<flag name="vtk">Enable <pkg>sci-libs/vtk</pkg> support</flag>
</use>
<upstream>
diff --git a/sci-libs/beagle/beagle-3.0.3-r1.ebuild b/sci-libs/beagle/beagle-3.0.3-r1.ebuild
deleted file mode 100644
index 27431973b872..000000000000
--- a/sci-libs/beagle/beagle-3.0.3-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Open BEAGLE, a versatile EC/GA/GP framework"
-SRC_URI="mirror://sourceforge/beagle/${P}.tar.gz"
-HOMEPAGE="https://chgagne.github.io/beagle/"
-
-SLOT="0"
-LICENSE="LGPL-2.1"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc examples static-libs"
-
-RDEPEND="
- sys-libs/zlib
- !app-misc/beagle
- !dev-libs/libbeagle"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.0.3-gcc43.patch"
- "${FILESDIR}/${PN}-3.0.3-gcc47.patch"
- "${FILESDIR}/${PN}-3.0.3-fix-c++14.patch"
-)
-
-src_prepare() {
- default
- sed -e "s:@LIBS@:@LIBS@ -lpthread:" \
- -i PACC/Threading/Makefile.in || die
-}
-
-src_configure() {
- econf \
- --enable-optimization \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- use doc && emake doc
-}
-
-src_install() {
- use doc && local HTML_DOCS=( refman/. )
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/sci-libs/beagle/beagle-3.0.3-r2.ebuild b/sci-libs/beagle/beagle-3.0.3-r2.ebuild
new file mode 100644
index 000000000000..72dde6ac1f03
--- /dev/null
+++ b/sci-libs/beagle/beagle-3.0.3-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Open BEAGLE, a versatile EC/GA/GP framework"
+HOMEPAGE="https://chgagne.github.io/beagle/"
+SRC_URI="mirror://sourceforge/beagle/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples static-libs"
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-gcc43.patch"
+ "${FILESDIR}/${PN}-3.0.3-gcc47.patch"
+ "${FILESDIR}/${PN}-3.0.3-fix-c++14.patch"
+)
+
+src_prepare() {
+ default
+ sed -e "s:@LIBS@:& -lpthread:" -i PACC/Threading/Makefile.in || die
+
+ # fix build with C++17, bug #898274
+ sed -e "s/register //" -i PACC/Util/{MTRand.hpp,Tokenizer.cpp} || die
+}
+
+src_configure() {
+ econf \
+ --enable-optimization \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+ use doc && emake doc
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( refman/. )
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/sci-libs/beagle/metadata.xml b/sci-libs/beagle/metadata.xml
index ee5ba5812c39..61308c44d1d4 100644
--- a/sci-libs/beagle/metadata.xml
+++ b/sci-libs/beagle/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/blas-reference/Manifest b/sci-libs/blas-reference/Manifest
deleted file mode 100644
index 3ba967e04cec..000000000000
--- a/sci-libs/blas-reference/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST lapack-3.6.0.tgz 6792324 BLAKE2B 438f3376b63b38ef0fe70f6becac847816f3a11c01f5ab237dc0d941792ceb54dbd2f8dc22d56286f5dab3499289ed94e67521ea951a98973c9640abc294ad6c SHA512 bc50441d415ef8896dd7626d77c6104184b996e758704366288089f03d4c99d068e33153b0d13305310886017e5d2e716130f812a95cfcad36ef37fe20417ab8
-DIST lapack-3.7.0.tgz 7359812 BLAKE2B 20aa42e22d8c920d1360afe41ceec7b36f6cd5fbe43ca9d7848ef7cc45a64a0314cb1321941c1a7c03654f41e28ec805445882ded0ca0ea07674e70b66cba6b5 SHA512 e4f4c7d0ba8a096eeb813160c6dbcdd535647df6b2ad5beac9181908158956b31d1a9554ec9b9836fd44fe7404c1f377b297cbb20d744f20d70e357fd246c91b
-DIST lapack-lite-3.1.1.tgz 5332509 BLAKE2B 5a8ea98e9956f2bc1fc8dbb1ede18178d43d1f418e324f2798daf2197a2f7f7a1841ea0a0d68f1affa3c9c0a37b024f82222bd2fd6072ca827c70c9c441191c7 SHA512 492b932ef313339ce6b4e63ac8f778489e6870b0eb85f7b086f3c844e75f98e7f85382c7556dfa368ab8320b6f02d1df8ccfcb40b5c0b7c2d74518b7c309e75c
diff --git a/sci-libs/blas-reference/blas-reference-20070226-r4.ebuild b/sci-libs/blas-reference/blas-reference-20070226-r4.ebuild
deleted file mode 100644
index bd98acc71819..000000000000
--- a/sci-libs/blas-reference/blas-reference-20070226-r4.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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 arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-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}"/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}"
-}
-
-src_install() {
- default
- 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-20151113-r1.ebuild b/sci-libs/blas-reference/blas-reference-20151113-r1.ebuild
deleted file mode 100644
index d09263456c11..000000000000
--- a/sci-libs/blas-reference/blas-reference-20151113-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit eutils fortran-2 cmake-utils multilib flag-o-matic toolchain-funcs
-
-LPN=lapack
-LPV=3.6.0
-
-DESCRIPTION="Basic Linear Algebra Subprograms F77 reference implementations"
-HOMEPAGE="http://www.netlib.org/blas/"
-SRC_URI="http://www.netlib.org/${LPN}/${LPN}-${LPV}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc"
-
-RDEPEND="
- app-eselect/eselect-blas
- doc? ( app-doc/blas-docs )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${LPN}-${LPV}"
-PATCHES=( "${FILESDIR}/lapack-reference-${LPV}-fix-build-system.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- ESELECT_PROF=reference
-
- cp "${FILESDIR}"/eselect.blas.reference-r1 "${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() {
- local mycmakeargs=(
- -Wno-dev
- -DUSE_OPTIMIZED_BLAS=OFF
- -DCMAKE_Fortran_FLAGS="$(get_abi_CFLAGS) ${FCFLAGS}"
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS=ON
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile -C BLAS
-}
-
-src_test() {
- local BUILD_DIR="${WORKDIR}/${P}_build/BLAS"
- cmake-utils_src_test
-}
-
-src_install() {
- cmake-utils_src_install -C BLAS
-
- mkdir -p "${ED}/usr/$(get_libdir)/blas/reference" || die
- mv "${ED}/usr/$(get_libdir)"/lib* "${ED}/usr/$(get_libdir)/pkgconfig"/* \
- "${ED}/usr/$(get_libdir)/blas/reference" || die
- rmdir "${ED}/usr/$(get_libdir)/pkgconfig" || die
-
- 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-20161223.ebuild b/sci-libs/blas-reference/blas-reference-20161223.ebuild
deleted file mode 100644
index 8dda6cc4e151..000000000000
--- a/sci-libs/blas-reference/blas-reference-20161223.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit eutils fortran-2 cmake-utils multilib flag-o-matic toolchain-funcs
-
-LPN=lapack
-LPV=3.7.0
-
-DESCRIPTION="Basic Linear Algebra Subprograms F77 reference implementations"
-HOMEPAGE="http://www.netlib.org/blas/"
-SRC_URI="http://www.netlib.org/${LPN}/${LPN}-${LPV}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc"
-
-RDEPEND="
- app-eselect/eselect-blas
- doc? ( app-doc/blas-docs )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${LPN}-${LPV}"
-PATCHES=( "${FILESDIR}/lapack-reference-${LPV}-fix-build-system.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- ESELECT_PROF=reference
-
- cp "${FILESDIR}"/eselect.blas.reference-r1 "${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() {
- local mycmakeargs=(
- -Wno-dev
- -DUSE_OPTIMIZED_BLAS=OFF
- -DCMAKE_Fortran_FLAGS="$(get_abi_CFLAGS) ${FCFLAGS}"
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS=ON
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile -C BLAS
-}
-
-src_test() {
- local BUILD_DIR="${WORKDIR}/${P}_build/BLAS"
- cmake-utils_src_test
-}
-
-src_install() {
- cmake-utils_src_install -C BLAS
-
- mkdir -p "${ED}/usr/$(get_libdir)/blas/reference" || die
- mv "${ED}/usr/$(get_libdir)"/lib* "${ED}/usr/$(get_libdir)/pkgconfig"/* \
- "${ED}/usr/$(get_libdir)/blas/reference" || die
- if [[ ${CHOST} == *-darwin* ]] ; then
- # modify install_names accordingly, bug #605214
- local lib
- for lib in "${ED}"/usr/$(get_libdir)/blas/reference/*.dylib ; do
- install_name_tool -id "${lib#${D%/}}" "${lib}"
- done
- fi
- rmdir "${ED}/usr/$(get_libdir)/pkgconfig" || die
-
- 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/files/blas-reference-20070226-autotool.patch b/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch
deleted file mode 100644
index 8d8192fc0254..000000000000
--- a/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch
+++ /dev/null
@@ -1,243 +0,0 @@
---- 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
deleted file mode 100644
index 14190f41e7d5..000000000000
--- a/sci-libs/blas-reference/files/blas-reference-20070226-pkg-config.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-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
deleted file mode 100644
index edb10ddd10d9..000000000000
--- a/sci-libs/blas-reference/files/eselect.blas.reference
+++ /dev/null
@@ -1,4 +0,0 @@
-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-r1 b/sci-libs/blas-reference/files/eselect.blas.reference-r1
deleted file mode 100644
index f032181beb67..000000000000
--- a/sci-libs/blas-reference/files/eselect.blas.reference-r1
+++ /dev/null
@@ -1,4 +0,0 @@
-blas/reference/libblas.so /usr/@LIBDIR@/libblas.so
-blas/reference/libblas.so.3 /usr/@LIBDIR@/libblas.so.3
-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/lapack-reference-3.6.0-fix-build-system.patch b/sci-libs/blas-reference/files/lapack-reference-3.6.0-fix-build-system.patch
deleted file mode 100644
index 8661709d369b..000000000000
--- a/sci-libs/blas-reference/files/lapack-reference-3.6.0-fix-build-system.patch
+++ /dev/null
@@ -1,92 +0,0 @@
---- lapack-3.6.0/BLAS/blas.pc.in
-+++ lapack-3.6.0/BLAS/blas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: blas
- Description: Basic Linear Algebra Subprograms F77 reference implementations
---- lapack-3.6.0/BLAS/CMakeLists.txt
-+++ lapack-3.6.0/BLAS/CMakeLists.txt
-@@ -2,7 +2,7 @@
- if(BUILD_TESTING)
- add_subdirectory(TESTING)
- endif(BUILD_TESTING)
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/blas.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/CBLAS/cblas.pc.in
-+++ lapack-3.6.0/CBLAS/cblas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapacke
- Description: C Standard Interface to BLAS Linear Algebra PACKage
---- lapack-3.6.0/CBLAS/CMakeLists.txt
-+++ lapack-3.6.0/CBLAS/CMakeLists.txt
-@@ -71,7 +71,7 @@
- ${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/CMakeLists.txt
-+++ lapack-3.6.0/CMakeLists.txt
-@@ -333,7 +333,7 @@
- ${LAPACK_BINARY_DIR}/lapack-config.cmake @ONLY)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/LAPACKE/CMakeLists.txt
-+++ lapack-3.6.0/LAPACKE/CMakeLists.txt
-@@ -65,7 +65,7 @@
- endif(BUILD_TESTING)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/LAPACKE/lapacke.pc.in
-+++ lapack-3.6.0/LAPACKE/lapacke.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapacke
- Description: C Standard Interface to LAPACK Linear Algebra PACKage
---- lapack-3.6.0/lapack.pc.in
-+++ lapack-3.6.0/lapack.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapack
- Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
diff --git a/sci-libs/blas-reference/files/lapack-reference-3.7.0-fix-build-system.patch b/sci-libs/blas-reference/files/lapack-reference-3.7.0-fix-build-system.patch
deleted file mode 100644
index 70f7cb0ee926..000000000000
--- a/sci-libs/blas-reference/files/lapack-reference-3.7.0-fix-build-system.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/BLAS/blas.pc.in b/BLAS/blas.pc.in
-index 7fd6f1e..e52f3ad 100644
---- a/BLAS/blas.pc.in
-+++ b/BLAS/blas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: BLAS
- Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms
-diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in
-index 4a938fe..311aed9 100644
---- a/CBLAS/cblas.pc.in
-+++ b/CBLAS/cblas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: CBLAS
- Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms
-diff --git a/LAPACKE/lapacke.pc.in b/LAPACKE/lapacke.pc.in
-index 028f8da..dc092b1 100644
---- a/LAPACKE/lapacke.pc.in
-+++ b/LAPACKE/lapacke.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: LAPACKE
- Description: C Standard Interface to LAPACK Linear Algebra PACKage
-diff --git a/lapack.pc.in b/lapack.pc.in
-index 878efc2..2cca4c2 100644
---- a/lapack.pc.in
-+++ b/lapack.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: LAPACK
- Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
diff --git a/sci-libs/blas-reference/metadata.xml b/sci-libs/blas-reference/metadata.xml
deleted file mode 100644
index 1bde80743687..000000000000
--- a/sci-libs/blas-reference/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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/blis/Manifest b/sci-libs/blis/Manifest
index a251246c916c..feff64952906 100644
--- a/sci-libs/blis/Manifest
+++ b/sci-libs/blis/Manifest
@@ -1,2 +1 @@
-DIST blis-0.5.2.tar.gz 3502383 BLAKE2B b09fda20711086c8bde0d4efc3f3c9b0f6072e1ddb8bd2846465877f0353cced27548abe1239b6a042fe655e85e4b7b3c960322e39b2c733866b8e17777718bd SHA512 4f91a7834ef0ed39544dd21856814467416a222240050cca323917b0fc61b9201ae4dbd109aa687cdecb27ddee5d6bf4510ef023e1c1dc73599faef0482d3d04
-DIST blis-0.6.0.tar.gz 5107257 BLAKE2B cd589ad1216486e8bb0cf574cc096c1e1f2bb9587b182c2bcff44db322468d9f027323c0bf2d22ea0fabb1902dc047d2bf62253ef1c2797fc3de9ba53d7fc34a SHA512 74e9da5146f7986cbd11651d7cd0837562a1603c667b9e6d3f79b5057443de657b60d7463cb2d64daf3eff7d33fc05a64e6d8eb807f4cabe0c3121517924a206
+DIST blis-0.9.0.tar.gz 15078619 BLAKE2B f7c9632024e0adbba370a4077a7a47f05c54779ad6195b2ccda0950df8e784b8988b4338758ec2fabd424a69009010f8f02cbaef0eda1d74f6794127b43b4f70 SHA512 01e1990eefa4387839ac404089e4ffa32922ceaa30a1747c08a931c67706bcf29fed9d25e30c0faa36bba4f460821290e7973ed6b657d2cd95e126caaf853f81
diff --git a/sci-libs/blis/blis-0.5.2.ebuild b/sci-libs/blis/blis-0.5.2.ebuild
deleted file mode 100644
index 541964924991..000000000000
--- a/sci-libs/blis/blis-0.5.2.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-inherit python-any-r1
-
-DESCRIPTION="BLAS-like Library Instantiation Software Framework"
-HOMEPAGE="https://github.com/flame/blis"
-SRC_URI="https://github.com/flame/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-IUSE="openmp pthread serial static-libs eselect-ldso doc 64bit-index"
-REQUIRED_USE="?? ( openmp pthread serial ) ?? ( eselect-ldso 64bit-index )"
-
-RDEPEND="eselect-ldso? ( !app-eselect/eselect-cblas
- >=app-eselect/eselect-blas-0.2 )"
-
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-rpath.patch"
- "${FILESDIR}/${P}-blas-provider.patch"
- "${FILESDIR}/${P}-gh313.patch"
-)
-
-src_configure() {
- local BLIS_FLAGS=()
- local confname
- # determine flags
- if use openmp; then
- BLIS_FLAGS+=( -t openmp )
- elif use pthread; then
- BLIS_FLAGS+=( -t pthreads )
- else
- BLIS_FLAGS+=( -t no )
- fi
- use 64bit-index && BLIS_FLAGS+=( -b 64 -i 64 )
- # determine config name
- case "${ARCH}" in
- "x86" | "amd64")
- confname=auto ;;
- "ppc64")
- confname=generic ;;
- *)
- confname=generic ;;
- esac
- # This is not an autotools configure file. We don't use econf here.
- ./configure \
- --enable-verbose-make \
- --prefix="${BROOT}"/usr \
- --libdir="${BROOT}"/usr/$(get_libdir) \
- $(use_enable static-libs static) \
- --enable-blas \
- --enable-cblas \
- "${BLIS_FLAGS[@]}" \
- --enable-shared \
- $confname || die
-}
-
-src_compile() {
- DEB_LIBBLAS=libblas.so.3 DEB_LIBCBLAS=libcblas.so.3 \
- LDS_BLAS="${FILESDIR}"/blas.lds LDS_CBLAS="${FILESDIR}"/cblas.lds \
- default
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
- use doc && dodoc README.md docs/*.md
-
- if use eselect-ldso; then
- dodir /usr/$(get_libdir)/blas/blis
- insinto /usr/$(get_libdir)/blas/blis
- doins lib/*/lib{c,}blas.so.3
- dosym libblas.so.3 usr/$(get_libdir)/blas/blis/libblas.so
- dosym libcblas.so.3 usr/$(get_libdir)/blas/blis/libcblas.so
- fi
-}
-
-pkg_postinst() {
- use eselect-ldso || return
-
- local libdir=$(get_libdir) me="blis"
-
- # check blas
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- use eselect-ldso && eselect blas validate
-}
diff --git a/sci-libs/blis/blis-0.6.0.ebuild b/sci-libs/blis/blis-0.6.0.ebuild
deleted file mode 100644
index e77382db2157..000000000000
--- a/sci-libs/blis/blis-0.6.0.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-inherit python-any-r1
-
-DESCRIPTION="BLAS-like Library Instantiation Software Framework"
-HOMEPAGE="https://github.com/flame/blis"
-SRC_URI="https://github.com/flame/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-IUSE="openmp pthread serial static-libs eselect-ldso doc 64bit-index"
-REQUIRED_USE="?? ( openmp pthread serial ) ?? ( eselect-ldso 64bit-index )"
-
-RDEPEND="eselect-ldso? ( !app-eselect/eselect-cblas
- >=app-eselect/eselect-blas-0.2 )"
-
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-rpath.patch"
- "${FILESDIR}/${P}-blas-provider.patch"
-)
-
-src_configure() {
- local BLIS_FLAGS=()
- local confname
- # determine flags
- if use openmp; then
- BLIS_FLAGS+=( -t openmp )
- elif use pthread; then
- BLIS_FLAGS+=( -t pthreads )
- else
- BLIS_FLAGS+=( -t no )
- fi
- use 64bit-index && BLIS_FLAGS+=( -b 64 -i 64 )
- # determine config name
- case "${ARCH}" in
- "x86" | "amd64")
- confname=auto ;;
- "ppc64")
- confname=generic ;;
- *)
- confname=generic ;;
- esac
- # This is not an autotools configure file. We don't use econf here.
- ./configure \
- --enable-verbose-make \
- --prefix="${BROOT}"/usr \
- --libdir="${BROOT}"/usr/$(get_libdir) \
- $(use_enable static-libs static) \
- --enable-blas \
- --enable-cblas \
- "${BLIS_FLAGS[@]}" \
- --enable-shared \
- $confname || die
-}
-
-src_compile() {
- DEB_LIBBLAS=libblas.so.3 DEB_LIBCBLAS=libcblas.so.3 \
- LDS_BLAS="${FILESDIR}"/blas.lds LDS_CBLAS="${FILESDIR}"/cblas.lds \
- default
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
- use doc && dodoc README.md docs/*.md
-
- if use eselect-ldso; then
- dodir /usr/$(get_libdir)/blas/blis
- insinto /usr/$(get_libdir)/blas/blis
- doins lib/*/lib{c,}blas.so.3
- dosym libblas.so.3 usr/$(get_libdir)/blas/blis/libblas.so
- dosym libcblas.so.3 usr/$(get_libdir)/blas/blis/libcblas.so
- fi
-}
-
-pkg_postinst() {
- use eselect-ldso || return
-
- local libdir=$(get_libdir) me="blis"
-
- # check blas
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- use eselect-ldso && eselect blas validate
-}
diff --git a/sci-libs/blis/blis-0.9.0.ebuild b/sci-libs/blis/blis-0.9.0.ebuild
new file mode 100644
index 000000000000..171a0e9dacbe
--- /dev/null
+++ b/sci-libs/blis/blis-0.9.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit python-any-r1
+
+DESCRIPTION="BLAS-like Library Instantiation Software Framework"
+HOMEPAGE="https://github.com/flame/blis"
+SRC_URI="https://github.com/flame/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="doc eselect-ldso openmp pthread serial static-libs 64bit-index"
+REQUIRED_USE="
+ ?? ( openmp pthread serial )
+ ?? ( eselect-ldso 64bit-index )"
+
+DEPEND="
+ eselect-ldso? (
+ !app-eselect/eselect-cblas
+ >=app-eselect/eselect-blas-0.2
+ )"
+
+RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.6.0-blas-provider.patch
+ # to prevent QA Notice: pkg-config files with wrong LDFLAGS detected
+ "${FILESDIR}"/${PN}-0.8.1-pkg-config.patch
+ "${FILESDIR}"/${PN}-0.9.0-rpath.patch
+)
+
+src_configure() {
+ local BLIS_FLAGS=()
+ local confname
+ # determine flags
+ if use openmp; then
+ BLIS_FLAGS+=( -t openmp )
+ elif use pthread; then
+ BLIS_FLAGS+=( -t pthreads )
+ else
+ BLIS_FLAGS+=( -t no )
+ fi
+ use 64bit-index && BLIS_FLAGS+=( -b 64 -i 64 )
+ # determine config name
+ case "${ARCH}" in
+ "x86" | "amd64")
+ confname=auto ;;
+ "ppc64")
+ confname=generic ;;
+ *)
+ confname=generic ;;
+ esac
+ # This is not an autotools configure file. We don't use econf here.
+ ./configure \
+ --enable-verbose-make \
+ --prefix="${BROOT}"/usr \
+ --libdir="${BROOT}"/usr/$(get_libdir) \
+ $(use_enable static-libs static) \
+ --enable-blas \
+ --enable-cblas \
+ "${BLIS_FLAGS[@]}" \
+ --enable-shared \
+ $confname || die
+}
+
+src_compile() {
+ DEB_LIBBLAS=libblas.so.3 DEB_LIBCBLAS=libcblas.so.3 \
+ LDS_BLAS="${FILESDIR}"/blas.lds LDS_CBLAS="${FILESDIR}"/cblas.lds \
+ default
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/lib/haswell" emake check
+}
+
+src_install() {
+ default
+ use doc && dodoc README.md docs/*.md
+
+ if use eselect-ldso; then
+ insinto /usr/$(get_libdir)/blas/blis
+ doins lib/*/lib{c,}blas.so.3
+ dosym libblas.so.3 usr/$(get_libdir)/blas/blis/libblas.so
+ dosym libcblas.so.3 usr/$(get_libdir)/blas/blis/libcblas.so
+ fi
+}
+
+pkg_postinst() {
+ use eselect-ldso || return
+
+ local libdir=$(get_libdir) me="blis"
+
+ # check blas
+ eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ use eselect-ldso && eselect blas validate
+}
diff --git a/sci-libs/blis/files/blis-0.5.2-blas-provider.patch b/sci-libs/blis/files/blis-0.5.2-blas-provider.patch
deleted file mode 100644
index 5999f847929c..000000000000
--- a/sci-libs/blis/files/blis-0.5.2-blas-provider.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 2d31fee..7008682 100644
---- a/Makefile
-+++ b/Makefile
-@@ -659,6 +659,8 @@ else
- @$(LINKER) $(SOFLAGS) -o $(LIBBLIS_SO_OUTPUT_NAME) $? $(LDFLAGS)
- endif
- endif
-+ $(LINKER) $(SOFLAGS) -o $(BASE_LIB_PATH)/$(DEB_LIBBLAS) $? $(LDFLAGS) -Wl,--soname,$(DEB_LIBBLAS) -Wl,--version-script=$(LDS_BLAS)
-+ $(LINKER) $(SOFLAGS) -o $(BASE_LIB_PATH)/$(DEB_LIBCBLAS) $? $(LDFLAGS) -Wl,--soname,$(DEB_LIBCBLAS) -Wl,--version-script=$(LDS_CBLAS)
-
- # Local symlink for shared library.
- # NOTE: We use a '.loc' suffix to avoid filename collisions in case this
diff --git a/sci-libs/blis/files/blis-0.5.2-gh313.patch b/sci-libs/blis/files/blis-0.5.2-gh313.patch
deleted file mode 100644
index fab3a8a09ee3..000000000000
--- a/sci-libs/blis/files/blis-0.5.2-gh313.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-diff --git a/common.mk b/common.mk
-index 5513098a5..999df774b 100644
---- a/common.mk
-+++ b/common.mk
-@@ -118,7 +118,8 @@ get-noopt-cxxflags-for = $(strip $(CFLAGS_PRESET) \
- get-refinit-cflags-for = $(strip $(call load-var-for,COPTFLAGS,$(1)) \
- $(call get-noopt-cflags-for,$(1)) \
- -DBLIS_CNAME=$(1) \
-- $(BUILD_FLAGS) \
-+ $(BUILD_CPPFLAGS) \
-+ $(BUILD_SYMFLAGS) \
- )
-
- get-refkern-cflags-for = $(strip $(call load-var-for,CROPTFLAGS,$(1)) \
-@@ -126,23 +127,27 @@ get-refkern-cflags-for = $(strip $(call load-var-for,CROPTFLAGS,$(1)) \
- $(call get-noopt-cflags-for,$(1)) \
- $(COMPSIMDFLAGS) \
- -DBLIS_CNAME=$(1) \
-- $(BUILD_FLAGS) \
-+ $(BUILD_CPPFLAGS) \
-+ $(BUILD_SYMFLAGS) \
- )
-
- get-config-cflags-for = $(strip $(call load-var-for,COPTFLAGS,$(1)) \
- $(call get-noopt-cflags-for,$(1)) \
-- $(BUILD_FLAGS) \
-+ $(BUILD_CPPFLAGS) \
-+ $(BUILD_SYMFLAGS) \
- )
-
- get-frame-cflags-for = $(strip $(call load-var-for,COPTFLAGS,$(1)) \
- $(call get-noopt-cflags-for,$(1)) \
-- $(BUILD_FLAGS) \
-+ $(BUILD_CPPFLAGS) \
-+ $(BUILD_SYMFLAGS) \
- )
-
- get-kernel-cflags-for = $(strip $(call load-var-for,CKOPTFLAGS,$(1)) \
- $(call load-var-for,CKVECFLAGS,$(1)) \
- $(call get-noopt-cflags-for,$(1)) \
-- $(BUILD_FLAGS) \
-+ $(BUILD_CPPFLAGS) \
-+ $(BUILD_SYMFLAGS) \
- )
-
- # When compiling sandboxes, we use flags similar to those of general framework
-@@ -153,19 +158,24 @@ get-kernel-cflags-for = $(strip $(call load-var-for,CKOPTFLAGS,$(1)) \
- get-sandbox-c99flags-for = $(strip $(call load-var-for,COPTFLAGS,$(1)) \
- $(call get-noopt-cflags-for,$(1)) \
- $(CSBOXINCFLAGS) \
-- $(BUILD_FLAGS) \
-+ $(BUILD_CPPFLAGS) \
-+ $(BUILD_SYMFLAGS) \
- )
- get-sandbox-cxxflags-for = $(strip $(call load-var-for,COPTFLAGS,$(1)) \
- $(call get-noopt-cxxflags-for,$(1)) \
- $(CSBOXINCFLAGS) \
-- $(BUILD_FLAGS) \
-+ $(BUILD_CPPFLAGS) \
-+ $(BUILD_SYMFLAGS) \
- )
-
- # Define a separate function that will return appropriate flags for use by
- # applications that want to use the same basic flags as those used when BLIS
--# was compiled. (This is the same as get-frame-cflags-for(), except that it
--# omits the BUILD_FLAGS, which are exclusively for use when BLIS is being
--# compiled.)
-+# was compiled. (NOTE: This is the same as the $(get-frame-cflags-for ...)
-+# function, except that it omits two variables that contain flags exclusively
-+# for use when BLIS is being compiled/built: BUILD_CPPFLAGS, which contains a
-+# cpp macro that confirms that BLIS is being built; and BUILD_SYMFLAGS, which
-+# contains symbol export flags that are only needed when a shared library is
-+# being compiled/linked.)
- get-user-cflags-for = $(strip $(call load-var-for,COPTFLAGS,$(1)) \
- $(call get-noopt-cflags-for,$(1)) \
- )
-@@ -627,22 +637,26 @@ $(foreach c, $(CONFIG_LIST_FAM), $(eval $(call append-var-for,CPICFLAGS,$(c))))
-
- # --- Symbol exporting flags (shared libraries only) ---
-
-+# NOTE: These flags are only applied when building BLIS and not used by
-+# applications that import BLIS compilation flags via the
-+# $(get-user-cflags-for ...) function.
-+
- # Determine default export behavior / visibility of symbols for gcc.
- ifeq ($(CC_VENDOR),gcc)
- ifeq ($(IS_WIN),yes)
- ifeq ($(EXPORT_SHARED),all)
--CMISCFLAGS := -Wl,--export-all-symbols, -Wl,--enable-auto-import
-+BUILD_SYMFLAGS := -Wl,--export-all-symbols, -Wl,--enable-auto-import
- else # ifeq ($(EXPORT_SHARED),public)
--CMISCFLAGS := -Wl,--exclude-all-symbols
-+BUILD_SYMFLAGS := -Wl,--exclude-all-symbols
- endif
- else # ifeq ($(IS_WIN),no)
- ifeq ($(EXPORT_SHARED),all)
- # Export all symbols by default.
--CMISCFLAGS := -fvisibility=default
-+BUILD_SYMFLAGS := -fvisibility=default
- else # ifeq ($(EXPORT_SHARED),public)
- # Hide all symbols by default and export only those that have been annotated
- # as needing to be exported.
--CMISCFLAGS := -fvisibility=hidden
-+BUILD_SYMFLAGS := -fvisibility=hidden
- endif
- endif
- endif
-@@ -653,11 +667,11 @@ endif
- ifeq ($(CC_VENDOR),icc)
- ifeq ($(EXPORT_SHARED),all)
- # Export all symbols by default.
--CMISCFLAGS := -fvisibility=default
-+BUILD_SYMFLAGS := -fvisibility=default
- else # ifeq ($(EXPORT_SHARED),public)
- # Hide all symbols by default and export only those that have been annotated
- # as needing to be exported.
--CMISCFLAGS := -fvisibility=hidden
-+BUILD_SYMFLAGS := -fvisibility=hidden
- endif
- endif
-
-@@ -667,27 +681,25 @@ ifeq ($(IS_WIN),yes)
- ifeq ($(EXPORT_SHARED),all)
- # NOTE: clang on Windows does not appear to support exporting all symbols
- # by default, and therefore we ignore the value of EXPORT_SHARED.
--CMISCFLAGS :=
-+BUILD_SYMFLAGS :=
- else # ifeq ($(EXPORT_SHARED),public)
- # NOTE: The default behavior of clang on Windows is to hide all symbols
- # and only export functions and other declarations that have beenannotated
- # as needing to be exported.
--CMISCFLAGS :=
-+BUILD_SYMFLAGS :=
- endif
- else # ifeq ($(IS_WIN),no)
- ifeq ($(EXPORT_SHARED),all)
- # Export all symbols by default.
--CMISCFLAGS := -fvisibility=default
-+BUILD_SYMFLAGS := -fvisibility=default
- else # ifeq ($(EXPORT_SHARED),public)
- # Hide all symbols by default and export only those that have been annotated
- # as needing to be exported.
--CMISCFLAGS := -fvisibility=hidden
-+BUILD_SYMFLAGS := -fvisibility=hidden
- endif
- endif
- endif
-
--$(foreach c, $(CONFIG_LIST_FAM), $(eval $(call append-var-for,CMISCFLAGS,$(c))))
--
- # --- Language flags ---
-
- # Enable C99.
-@@ -1026,7 +1038,7 @@ VERS_DEF := -DBLIS_VERSION_STRING=\"$(VERSION)\"
- # Define a C preprocessor flag that is *only* defined when BLIS is being
- # compiled. (In other words, an application that #includes blis.h will not
- # get this cpp macro.)
--BUILD_FLAGS := -DBLIS_IS_BUILDING_LIBRARY
-+BUILD_CPPFLAGS := -DBLIS_IS_BUILDING_LIBRARY
-
-
-
-diff --git a/configure b/configure
-index 5b5695cd5..bb21671f0 100755
---- a/configure
-+++ b/configure
-@@ -152,13 +152,13 @@ print_usage()
- echo " functions and variables that belong to public APIs are"
- echo " exported in shared libraries. However, the user may"
- echo " instead export all symbols in BLIS, even those that were"
-- echo " intended for internal use only. Note Note that the public"
-- echo " APIs encompass all functions that almost any user would"
-- echo " ever want to call, including the BLAS/CBLAS compatibility"
-- echo " APIs as well as the basic and expert interfaces to the"
-- echo " typed and object APIs that are unique to BLIS. Also note"
-- echo " that changing this option to 'all' will have no effect in"
-- echo " some environments, such as when compiling with clang on"
-+ echo " intended for internal use only. Note that the public APIs"
-+ echo " encompass all functions that almost any user would ever"
-+ echo " want to call, including the BLAS/CBLAS compatibility APIs"
-+ echo " as well as the basic and expert interfaces to the typed"
-+ echo " and object APIs that are unique to BLIS. Also note that"
-+ echo " changing this option to 'all' will have no effect in some"
-+ echo " environments, such as when compiling with clang on"
- echo " Windows."
- echo " "
- echo " -t MODEL, --enable-threading[=MODEL], --disable-threading"
diff --git a/sci-libs/blis/files/blis-0.5.2-rpath.patch b/sci-libs/blis/files/blis-0.5.2-rpath.patch
deleted file mode 100644
index a8b5a46870d1..000000000000
--- a/sci-libs/blis/files/blis-0.5.2-rpath.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/common.mk b/common.mk
-index ef0acfb..e1ce31d 100644
---- a/common.mk
-+++ b/common.mk
-@@ -527,7 +527,7 @@ LIBBLIS_L := $(LIBBLIS_SO)
- LIBBLIS_LINK := $(LIBBLIS_SO_PATH)
- ifeq ($(IS_WIN),no)
- # For Linux and OS X: set rpath property of shared object.
--LDFLAGS += -Wl,-rpath,$(BASE_LIB_PATH)
-+#LDFLAGS += -Wl,-rpath,$(BASE_LIB_PATH)
- endif
- endif
- endif
diff --git a/sci-libs/blis/files/blis-0.6.0-rpath.patch b/sci-libs/blis/files/blis-0.6.0-rpath.patch
deleted file mode 100644
index a8b5a46870d1..000000000000
--- a/sci-libs/blis/files/blis-0.6.0-rpath.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/common.mk b/common.mk
-index ef0acfb..e1ce31d 100644
---- a/common.mk
-+++ b/common.mk
-@@ -527,7 +527,7 @@ LIBBLIS_L := $(LIBBLIS_SO)
- LIBBLIS_LINK := $(LIBBLIS_SO_PATH)
- ifeq ($(IS_WIN),no)
- # For Linux and OS X: set rpath property of shared object.
--LDFLAGS += -Wl,-rpath,$(BASE_LIB_PATH)
-+#LDFLAGS += -Wl,-rpath,$(BASE_LIB_PATH)
- endif
- endif
- endif
diff --git a/sci-libs/blis/files/blis-0.8.1-pkg-config.patch b/sci-libs/blis/files/blis-0.8.1-pkg-config.patch
new file mode 100644
index 000000000000..2e1f189422a3
--- /dev/null
+++ b/sci-libs/blis/files/blis-0.8.1-pkg-config.patch
@@ -0,0 +1,9 @@
+diff -Nur a/blis.pc.in b/blis.pc.in
+--- a/blis.pc.in 2021-11-29 13:23:43.692800836 +0800
++++ b/blis.pc.in 2021-11-29 13:25:52.150795803 +0800
+@@ -7,5 +7,4 @@
+ Description: BLAS-like Library Instantiation Software Framework
+ Version: @PACKAGE_VERSION@
+ Libs: -L${libdir} -lblis
+-Libs.private: @LDFLAGS@
+ Cflags: -I${includedir}/blis
diff --git a/sci-libs/blis/files/blis-0.9.0-rpath.patch b/sci-libs/blis/files/blis-0.9.0-rpath.patch
new file mode 100644
index 000000000000..9687a6c9428b
--- /dev/null
+++ b/sci-libs/blis/files/blis-0.9.0-rpath.patch
@@ -0,0 +1,15 @@
+diff -Nur a/common.mk b/common.mk
+--- a/common.mk 2022-09-29 16:54:14.414899248 +0800
++++ b/common.mk 2022-09-29 16:54:32.915666662 +0800
+@@ -591,9 +591,9 @@
+ LDFLAGS += -Wl,-rpath,@executable_path/../../../$(BASE_LIB_PATH)
+ else
+ # rpath for test_libblis.x
+-LDFLAGS += -Wl,-rpath,'$$ORIGIN/$(BASE_LIB_PATH)'
++#LDFLAGS += -Wl,-rpath,'$$ORIGIN/$(BASE_LIB_PATH)'
+ # rpath for BLAS tests
+-LDFLAGS += -Wl,-rpath,'$$ORIGIN/../../../$(BASE_LIB_PATH)'
++#LDFLAGS += -Wl,-rpath,'$$ORIGIN/../../../$(BASE_LIB_PATH)'
+ endif
+ endif
+ endif
diff --git a/sci-libs/blis/metadata.xml b/sci-libs/blis/metadata.xml
index 7fcaa00de866..c2cbc3c280d1 100644
--- a/sci-libs/blis/metadata.xml
+++ b/sci-libs/blis/metadata.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
<bugs-to>https://github.com/flame/blis/issues/</bugs-to>
<doc>https://github.com/flame/blis</doc>
+ <remote-id type="github">flame/blis</remote-id>
</upstream>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<name>Mo Zhou</name>
<email>lumin@debian.org</email>
</maintainer>
diff --git a/sci-libs/bliss/Manifest b/sci-libs/bliss/Manifest
index 827342cdd284..6a7b83ca6e7d 100644
--- a/sci-libs/bliss/Manifest
+++ b/sci-libs/bliss/Manifest
@@ -1 +1 @@
-DIST bliss-0.73.zip 94108 BLAKE2B 836184b31fa28db3328c21e7563366a93cf1645b02b96e185838e3c2513393b1d0a54783ca14c6d7f1a1d5055800bc3d7acde3c584e61e66c9ab93936824353b SHA512 30f505945c577d8bcb265a349f5bc9d4dcd96555fa3add285199cdd95ea2710f04409008ff06432daffab62c132e884845eae7f823191407906202862509e05d
+DIST bliss-0.77.zip 117888 BLAKE2B ce4b2fa568c5520fe41748bf59a493af1c33ec9cc0732aca5e5ba657ca726e118e26763355778e3def5716d62e7d3aceceb592ef67e5e148c250d3ffffab67d7 SHA512 d210f137e614bca7cf0d88851d0c62292bf479b687bca6a25d9e42661825f882a4ff8c74c96a965bd9d4f246a1bda6b90cef64894914e6f7b17db6bf4a8f4b17
diff --git a/sci-libs/bliss/bliss-0.73-r1.ebuild b/sci-libs/bliss/bliss-0.73-r1.ebuild
deleted file mode 100644
index de9e1f385274..000000000000
--- a/sci-libs/bliss/bliss-0.73-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-SRC_URI="http://www.tcs.hut.fi/Software/${PN}/${P}.zip"
-DESCRIPTION="Compute Automorphism Groups and Canonical Labelings of Graphs"
-HOMEPAGE="http://www.tcs.hut.fi/Software/bliss/"
-
-LICENSE="LGPL-3"
-SLOT="0/1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc gmp static-libs"
-
-RDEPEND="gmp? ( dev-libs/gmp:0= )"
-DEPEND="${RDEPEND}
- app-arch/unzip
- doc? ( app-doc/doxygen )"
-
-#patches from http://pkgs.fedoraproject.org/cgit/rpms/bliss.git/tree/
-PATCHES=(
- "${FILESDIR}"/${P}-error.patch
- "${FILESDIR}"/${P}-rehn.patch
- "${FILESDIR}"/${P}-autotools.patch
-)
-
-src_prepare() {
- default
- cp "${FILESDIR}/${P}.1.in" "${PN}.1.in" || die
- rm Makefile || die
- eautoreconf
-}
-
-src_configure() {
- econf $(use_with gmp) $(use_enable static-libs static)
-}
-
-src_compile() {
- emake all $(usex doc html "")
-}
-
-src_install() {
- default
- use static-libs || find "${ED}" -name '*.la' -delete
- use doc && dodoc -r html
-}
diff --git a/sci-libs/bliss/bliss-0.73-r2.ebuild b/sci-libs/bliss/bliss-0.73-r2.ebuild
deleted file mode 100644
index 9293ac0a67aa..000000000000
--- a/sci-libs/bliss/bliss-0.73-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-SRC_URI="http://www.tcs.hut.fi/Software/${PN}/${P}.zip"
-DESCRIPTION="Compute Automorphism Groups and Canonical Labelings of Graphs"
-HOMEPAGE="http://www.tcs.hut.fi/Software/bliss/"
-
-LICENSE="LGPL-3"
-SLOT="0/1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc gmp static-libs"
-
-RDEPEND="gmp? ( dev-libs/gmp:0= )"
-DEPEND="${RDEPEND}
- app-arch/unzip
- doc? ( app-doc/doxygen )"
-
-#patches from http://pkgs.fedoraproject.org/cgit/rpms/bliss.git/tree/
-PATCHES=(
- "${FILESDIR}"/${P}-error.patch
- "${FILESDIR}"/${P}-rehn.patch
- "${FILESDIR}"/${P}-clang.patch
- "${FILESDIR}"/${P}-autotools.patch
-)
-
-src_prepare() {
- default
- cp "${FILESDIR}/${P}.1.in" "${PN}.1.in" || die
- rm Makefile || die
- eautoreconf
-}
-
-src_configure() {
- econf $(use_with gmp) $(use_enable static-libs static)
-}
-
-src_compile() {
- emake all $(usex doc html "")
-}
-
-src_install() {
- default
- use static-libs || find "${ED}" -name '*.la' -delete
- use doc && dodoc -r html
-}
diff --git a/sci-libs/bliss/bliss-0.77-r1.ebuild b/sci-libs/bliss/bliss-0.77-r1.ebuild
new file mode 100644
index 000000000000..af5467295b07
--- /dev/null
+++ b/sci-libs/bliss/bliss-0.77-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+SRC_URI="https://users.aalto.fi/~tjunttil/${PN}/downloads/${P}.zip"
+DESCRIPTION="Compute Automorphism Groups and Canonical Labelings of Graphs"
+HOMEPAGE="https://users.aalto.fi/~tjunttil/bliss/index.html"
+
+LICENSE="LGPL-3"
+SLOT="0/1"
+KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="gmp"
+
+RDEPEND="gmp? ( dev-libs/gmp:0= )"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+PATCHES=(
+ "${FILESDIR}/${PN}-0.77-install.patch"
+ "${FILESDIR}/${PN}-0.77-libbliss-underlinking.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_GMP="$(usex gmp)"
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/bliss/bliss-0.77.ebuild b/sci-libs/bliss/bliss-0.77.ebuild
new file mode 100644
index 000000000000..1d14bb380cb3
--- /dev/null
+++ b/sci-libs/bliss/bliss-0.77.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+SRC_URI="https://users.aalto.fi/~tjunttil/${PN}/downloads/${P}.zip"
+DESCRIPTION="Compute Automorphism Groups and Canonical Labelings of Graphs"
+HOMEPAGE="https://users.aalto.fi/~tjunttil/bliss/index.html"
+
+LICENSE="LGPL-3"
+SLOT="0/1"
+KEYWORDS="amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="gmp"
+
+RDEPEND="gmp? ( dev-libs/gmp:0= )"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+PATCHES=( "${FILESDIR}/${PN}-0.77-install.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_GMP="$(usex gmp)"
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/bliss/files/bliss-0.73-autotools.patch b/sci-libs/bliss/files/bliss-0.73-autotools.patch
deleted file mode 100644
index efdbcb81b42a..000000000000
--- a/sci-libs/bliss/files/bliss-0.73-autotools.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Replace simple Makefile by autotools
-- allow shared library
-- parallel build
-- added pkg-config support
-
-Author: Christoph Junghans <junghans@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,32 @@
-+AC_PREREQ([2.65])
-+AC_INIT([bliss], [0.73], [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_gmp=no])
-+AS_IF([test "x$with_gmp" != 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_CONFIG_FILES([bliss.1])
-+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.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.73-clang.patch b/sci-libs/bliss/files/bliss-0.73-clang.patch
deleted file mode 100644
index 8a2e4bb6ca47..000000000000
--- a/sci-libs/bliss/files/bliss-0.73-clang.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./bliss.cc.orig 2020-07-10 10:34:44.946000000 -0600
-+++ ./bliss.cc 2020-07-10 10:35:36.076000000 -0600
-@@ -59,7 +59,7 @@
- else program_name = argv0;
- if(!program_name or *program_name == 0) program_name = "bliss";
-
-- fprintf(fp, "bliss version %s (compiled "__DATE__")\n", bliss::version);
-+ fprintf(fp, "bliss version %s (compiled %s)\n", bliss::version, __DATE__);
- fprintf(fp, "Copyright 2003-2015 Tommi Junttila\n");
- fprintf(fp,
- "\n"
diff --git a/sci-libs/bliss/files/bliss-0.73-error.patch b/sci-libs/bliss/files/bliss-0.73-error.patch
deleted file mode 100644
index cd0f5457219f..000000000000
--- a/sci-libs/bliss/files/bliss-0.73-error.patch
+++ /dev/null
@@ -1,471 +0,0 @@
---- ./bliss.cc.orig 2015-09-01 10:23:10.000000000 -0600
-+++ ./bliss.cc 2015-09-04 15:04:09.946602735 -0600
-@@ -276,13 +276,16 @@ main(const int argc, const char** argv)
- 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 @@ main(const int argc, const char** argv)
- 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);
---- ./bliss_C.cc.orig 2015-09-01 10:23:10.000000000 -0600
-+++ ./bliss_C.cc 2015-09-04 15:04:09.945602814 -0600
-@@ -131,7 +131,7 @@ BlissGraph *bliss_permute(BlissGraph *gr
- }
-
- extern "C"
--void
-+int
- bliss_find_automorphisms(BlissGraph *graph,
- void (*hook)(void *user_param,
- unsigned int n,
-@@ -142,7 +142,8 @@ bliss_find_automorphisms(BlissGraph *gra
- 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 @@ bliss_find_automorphisms(BlissGraph *gra
- stats->nof_generators = s.get_nof_generators();
- stats->max_level = s.get_max_level();
- }
-+ return 1;
- }
-
-
-@@ -173,7 +175,7 @@ bliss_find_canonical_labeling(BlissGraph
-
- 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();
---- ./bliss_C.h.orig 2015-09-01 10:23:10.000000000 -0600
-+++ ./bliss_C.h 2015-09-04 15:04:09.947602656 -0600
-@@ -156,6 +156,7 @@ unsigned int bliss_hash(BlissGraph *grap
- * 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 @@ BlissGraph *bliss_permute(BlissGraph *gr
- * 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 @@ bliss_find_automorphisms(BlissGraph *gra
- * 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,
---- ./defs.cc.orig 2015-09-01 10:23:12.000000000 -0600
-+++ ./defs.cc 2015-09-04 15:04:09.947602656 -0600
-@@ -32,7 +32,6 @@ fatal_error(const char* fmt, ...)
- vfprintf(stderr, fmt, ap);
- fprintf(stderr, "\nAborting!\n");
- va_end(ap);
-- exit(1);
- }
-
- }
---- ./graph.cc.orig 2015-09-01 10:23:10.000000000 -0600
-+++ ./graph.cc 2015-09-04 15:04:09.927604245 -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 @@ AbstractGraph::reset_permutation(unsigne
- *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;
--}
--
-
-
-
-@@ -618,7 +607,7 @@ typedef struct {
- } PathInfo;
-
-
--void
-+bool
- AbstractGraph::search(const bool canonical, Stats& stats)
- {
- const unsigned int N = get_nof_vertices();
-@@ -658,7 +647,7 @@ AbstractGraph::search(const bool canonic
- if(N == 0)
- {
- /* Nothing to do, return... */
-- return;
-+ return true;
- }
-
- /* Initialize the partition ... */
-@@ -696,10 +685,10 @@ AbstractGraph::search(const bool canonic
- */
- 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 +699,7 @@ AbstractGraph::search(const bool canonic
- update_labeling(best_path_labeling);
- /* Update statistics */
- stats.nof_leaf_nodes = 1;
-- return;
-+ return true;
- }
-
- /*
-@@ -718,20 +707,39 @@ AbstractGraph::search(const bool canonic
- */
- 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
-@@ -1203,8 +1211,10 @@ AbstractGraph::search(const bool canonic
-
- #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
-
- /*
-@@ -1596,8 +1606,10 @@ AbstractGraph::search(const bool canonic
-
- #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;
-@@ -1664,6 +1676,7 @@ AbstractGraph::search(const bool canonic
-
-
- _INTERNAL_ERROR();
-+ return false;
-
-
- handle_first_path_automorphism:
-@@ -1699,8 +1712,10 @@ AbstractGraph::search(const bool canonic
-
- #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)
-@@ -1747,12 +1762,13 @@ AbstractGraph::search(const bool canonic
- /* 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,
-@@ -1762,7 +1778,8 @@ AbstractGraph::find_automorphisms(Stats&
- report_hook = hook;
- report_user_param = user_param;
-
-- search(false, stats);
-+ if (!search(false, stats))
-+ return false;
-
- if(first_path_labeling)
- {
-@@ -1774,6 +1791,7 @@ AbstractGraph::find_automorphisms(Stats&
- free(best_path_labeling);
- best_path_labeling = 0;
- }
-+ return true;
- }
-
-
-@@ -1788,7 +1806,8 @@ AbstractGraph::canonical_form(Stats& sta
- report_hook = hook;
- report_user_param = user_param;
-
-- search(true, stats);
-+ if (!search(true, stats))
-+ return NULL;
-
- return best_path_labeling;
- }
-@@ -3479,15 +3498,17 @@ Digraph::initialize_certificate()
- * 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++)
-@@ -3506,7 +3527,7 @@ Digraph::is_automorphism(unsigned int* c
- ei++)
- edges2.insert(*ei);
- if(!(edges1 == edges2))
-- return false;
-+ return 0;
-
- edges1.clear();
- for(std::vector<unsigned int>::iterator ei = v1.edges_out.begin();
-@@ -3519,10 +3540,10 @@ Digraph::is_automorphism(unsigned int* c
- ei++)
- edges2.insert(*ei);
- if(!(edges1 == edges2))
-- return false;
-+ return 0;
- }
-
-- return true;
-+ return 1;
- }
-
- bool
-@@ -4337,8 +4358,10 @@ Graph*
- 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());
-@@ -5278,15 +5301,17 @@ Graph::initialize_certificate()
- *
- *-------------------------------------------------------------------------*/
-
--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++)
-@@ -5306,10 +5331,10 @@ Graph::is_automorphism(unsigned int* con
- edges2.insert(*ei);
-
- if(!(edges1 == edges2))
-- return false;
-+ return 0;
- }
-
-- return true;
-+ return 1;
- }
-
-
---- ./graph.hh.orig 2015-09-01 10:23:10.000000000 -0600
-+++ ./graph.hh 2015-09-04 15:09:17.261182632 -0600
-@@ -159,7 +159,7 @@ public:
- * 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;
-
-
- /** Activate/deactivate failure recording.
-@@ -211,8 +211,10 @@ public:
- * 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),
-@@ -232,6 +234,8 @@ public:
- * 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,
-@@ -436,7 +440,7 @@ protected:
- 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;
-@@ -450,7 +454,11 @@ protected:
- 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,
-@@ -634,7 +642,7 @@ protected:
-
- 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);
-@@ -875,7 +883,7 @@ protected:
-
- 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/files/bliss-0.73-rehn.patch b/sci-libs/bliss/files/bliss-0.73-rehn.patch
deleted file mode 100644
index f37eedb4a6bd..000000000000
--- a/sci-libs/bliss/files/bliss-0.73-rehn.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- ./graph.cc.orig 2015-09-04 15:04:09.927604245 -0600
-+++ ./graph.cc 2015-09-04 15:09:46.999819514 -0600
-@@ -597,16 +597,6 @@ public:
- };
-
-
--
--
--typedef struct {
-- unsigned int splitting_element;
-- unsigned int certificate_index;
-- unsigned int subcertificate_length;
-- UintSeqHash eqref_hash;
--} PathInfo;
--
--
- bool
- AbstractGraph::search(const bool canonical, Stats& stats)
- {
-@@ -753,7 +743,6 @@ AbstractGraph::search(const bool canonic
- initialize_certificate();
-
- std::vector<TreeNode> search_stack;
-- std::vector<PathInfo> first_path_info;
- std::vector<PathInfo> best_path_info;
-
- search_stack.clear();
-@@ -5477,7 +5466,7 @@ Graph::nucr_find_first_component(const u
- 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;
-
---- ./graph.hh.orig 2015-09-04 15:09:17.261182632 -0600
-+++ ./graph.hh 2015-09-04 15:09:47.001819355 -0600
-@@ -109,9 +109,12 @@ public:
- 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;
-
-
- /**
-@@ -524,7 +527,7 @@ protected:
- */
- unsigned int cr_component_elements;
-
--
-+ std::vector<PathInfo> first_path_info;
-
-
- };
-@@ -756,6 +759,10 @@ public:
- void set_splitting_heuristic(const SplittingHeuristic shs) {sh = shs; }
-
-
-+ /**
-+ * Get an information vector about the first path.
-+ */
-+ std::vector<PathInfo> get_first_path_info() { return first_path_info; }
- };
-
-
diff --git a/sci-libs/bliss/files/bliss-0.73.1.in b/sci-libs/bliss/files/bliss-0.73.1.in
deleted file mode 100644
index f652c3d1307a..000000000000
--- a/sci-libs/bliss/files/bliss-0.73.1.in
+++ /dev/null
@@ -1,55 +0,0 @@
-.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 --git a/sci-libs/bliss/files/bliss-0.77-install.patch b/sci-libs/bliss/files/bliss-0.77-install.patch
new file mode 100644
index 000000000000..caab14aa40f6
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.77-install.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 01ed093..cfdb0a6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -62,3 +62,27 @@ if(USE_GMP)
+ target_link_libraries(bliss-executable ${GMP_LIBRARIES})
+ endif(USE_GMP)
+ set_target_properties(bliss-executable PROPERTIES OUTPUT_NAME bliss)
++
++include(GNUInstallDirs)
++
++set(
++ BLISS_HEADERS
++ src/bliss_C.h
++ src/uintseqhash.hh
++ src/abstractgraph.hh
++ src/stats.hh
++ src/digraph.hh
++ src/defs.hh
++ src/heap.hh
++ src/graph.hh
++ src/partition.hh
++ src/kqueue.hh
++ src/utils.hh
++ src/orbit.hh
++ src/timer.hh
++ src/bignum.hh
++)
++
++install(TARGETS bliss-executable RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++install(TARGETS bliss LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(FILES ${BLISS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bliss)
diff --git a/sci-libs/bliss/files/bliss-0.77-libbliss-underlinking.patch b/sci-libs/bliss/files/bliss-0.77-libbliss-underlinking.patch
new file mode 100644
index 000000000000..faf04d7ae6e3
--- /dev/null
+++ b/sci-libs/bliss/files/bliss-0.77-libbliss-underlinking.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/922651
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cfdb0a6..e0fd51a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -51,6 +51,9 @@ endif(MSVC)
+ # Add the shared library
+ add_library(bliss SHARED ${BLISS_SOURCE_FILES})
+ set_property(TARGET bliss PROPERTY POSITION_INDEPENDENT_CODE 1)
++if(USE_GMP)
++ target_link_libraries(bliss ${GMP_LIBRARIES})
++endif(USE_GMP)
+
+ # Add the static library
+ add_library(bliss_static STATIC ${BLISS_SOURCE_FILES})
diff --git a/sci-libs/bliss/metadata.xml b/sci-libs/bliss/metadata.xml
index 9b3cd6685a18..9dea14695381 100644
--- a/sci-libs/bliss/metadata.xml
+++ b/sci-libs/bliss/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/bmrblib/Manifest b/sci-libs/bmrblib/Manifest
deleted file mode 100644
index d8adcfe96818..000000000000
--- a/sci-libs/bmrblib/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST bmrblib-1.0.3.tar.bz2 51246 BLAKE2B e2adc970523b33c88b73451b1c3d50c218e4600e0e1019bb6fa4dbae1c6a6737bcd1661bf68b6863a1199c46f3df1b0ba36c155efe1010152e120ccc23b034ab SHA512 b03ad9e4ca035439165ebd1b7ba93ede427b2a233a4179be4e8089db988f1dcdce68b1e97348fe22fe7f2c3827ed003b654e0674a4d16a9e32a8a7c255c4b248
-DIST bmrblib-1.0.4.tar.bz2 51211 BLAKE2B 4d901c085648971af0e271d5524d4fe0f0e085f9ab34cde4cbc2d7b17d1dd37ffd4051c219e769738a9eac8b11b6950c5575d1bd9b9193ef48a698560de3fd96 SHA512 579f3beaf343416c58b344a33ee94d42bcedba558b33c2b9f98662d2ffc685887617229b5f7e75acf61712fe4f03827ca4413bc08e3bd2e72f69d952310891e0
diff --git a/sci-libs/bmrblib/bmrblib-1.0.3.ebuild b/sci-libs/bmrblib/bmrblib-1.0.3.ebuild
deleted file mode 100644
index dbc65bf5220c..000000000000
--- a/sci-libs/bmrblib/bmrblib-1.0.3.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit distutils-r1
-
-DESCRIPTION="API abstracting the BioMagResBank (BMRB) NMR-STAR format"
-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/bmrblib-1.0.4.ebuild b/sci-libs/bmrblib/bmrblib-1.0.4.ebuild
deleted file mode 100644
index 90ffd725443b..000000000000
--- a/sci-libs/bmrblib/bmrblib-1.0.4.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit distutils-r1
-
-DESCRIPTION="API abstracting the BioMagResBank (BMRB) NMR-STAR format"
-HOMEPAGE="https://sourceforge.net/projects/bmrblib"
-SRC_URI="mirror://sourceforge/${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
deleted file mode 100644
index 22a1302e8122..000000000000
--- a/sci-libs/bmrblib/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-chemistry@gentoo.org</email>
- <name>Gentoo Chemistry Project</name>
- </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/branca/Manifest b/sci-libs/branca/Manifest
new file mode 100644
index 000000000000..ac0880603f09
--- /dev/null
+++ b/sci-libs/branca/Manifest
@@ -0,0 +1,2 @@
+DIST branca-0.7.0.tar.gz 42990 BLAKE2B b8de083b0b94d35dbb6df5d230e388832fe027d756767d24ae8091f25d9846ac1f2ae72799aa83583c99ec02d955c7f8cb80183f1543e503d0a802ce051acac5 SHA512 bfe6afd93752dda57e55ba7bdd433e079b51798056b2be8d9c19d4ccc4ed94cc95b733cabf0981c908887c1f8a96e16bd11cb1b495243ac91df4c1c1c1253282
+DIST branca-0.7.1.tar.gz 43005 BLAKE2B 2f2834d87e32ef5507273b14b1b8fcebc33d7eae49e0ffb8e834c540b1a329d177805ccbc1441cd522092d396ba98f69f3c8ab95254068d7b352e6f7df52c60d SHA512 70b6e361e93a01c319928890a40e3aa1e887e718b0736afe0a65bc45fe56fe6ca24a4c50db099066d84876cc8efd540a5cc14aa48607671ac068df3ae5124d29
diff --git a/sci-libs/branca/branca-0.7.0-r2.ebuild b/sci-libs/branca/branca-0.7.0-r2.ebuild
new file mode 100644
index 000000000000..530dc31506f2
--- /dev/null
+++ b/sci-libs/branca/branca-0.7.0-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_USE_PEP517=setuptools
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+inherit distutils-r1
+
+DESCRIPTION="spinoff from folium, host the non-map-specific features"
+HOMEPAGE="https://github.com/python-visualization/branca"
+SRC_URI="https://github.com/python-visualization/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.6.0-test.patch )
+
+RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-python/setuptools-scm
+ test? (
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+distutils_enable_sphinx docs/source \
+ dev-python/nbsphinx
+
+python_test() {
+ epytest -m 'not headless'
+}
diff --git a/sci-libs/branca/branca-0.7.1.ebuild b/sci-libs/branca/branca-0.7.1.ebuild
new file mode 100644
index 000000000000..530dc31506f2
--- /dev/null
+++ b/sci-libs/branca/branca-0.7.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_USE_PEP517=setuptools
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+inherit distutils-r1
+
+DESCRIPTION="spinoff from folium, host the non-map-specific features"
+HOMEPAGE="https://github.com/python-visualization/branca"
+SRC_URI="https://github.com/python-visualization/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.6.0-test.patch )
+
+RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-python/setuptools-scm
+ test? (
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+distutils_enable_sphinx docs/source \
+ dev-python/nbsphinx
+
+python_test() {
+ epytest -m 'not headless'
+}
diff --git a/sci-libs/branca/files/branca-0.6.0-test.patch b/sci-libs/branca/files/branca-0.6.0-test.patch
new file mode 100644
index 000000000000..e00b8a6cfc57
--- /dev/null
+++ b/sci-libs/branca/files/branca-0.6.0-test.patch
@@ -0,0 +1,12 @@
+--- a/setup.cfg 2023-02-09 09:15:07.186333281 +0100
++++ b/setup.cfg 2023-02-09 09:15:17.596181143 +0100
+@@ -1,9 +1,4 @@
+ [tool:pytest]
+-flake8-max-line-length = 105
+-flake8-ignore =
+- docs/* ALL
+- versioneer.py ALL
+- branca/_version.py ALL
+ markers =
+ headless: mark headless tests (deselect with '-m "not headless"')
+
diff --git a/sci-libs/branca/metadata.xml b/sci-libs/branca/metadata.xml
new file mode 100644
index 000000000000..cd3cdb1c212a
--- /dev/null
+++ b/sci-libs/branca/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <longdescription lang="en">
+ This library is a spinoff from folium, that would host the non-map-specific features.
+ It may become a HTML+JS generation library in the future.
+ It is based on Jinja2 only.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">python-visualization/branca</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/brial/Manifest b/sci-libs/brial/Manifest
index f3d47c7a9b98..4db498aa9d39 100644
--- a/sci-libs/brial/Manifest
+++ b/sci-libs/brial/Manifest
@@ -1 +1 @@
-DIST brial-1.2.8.tar.bz2 1228732 BLAKE2B f9bdfc9416381f3436c555861806a7ea4680e706729b6de9c2b06ea2908090b87b745fe5ce2d94ba9d5832a78067e4848f8ef113b7d8dc22557b6d95b7dad707 SHA512 a94acba140d976dd070b5214c537fb3dba89fc2309addc566b8f0a031328f2d4c2bb3c38c2cb5565c7ff2ca0c5f7f56ca120899d15c768887d3b61a18b3e05be
+DIST brial-1.2.12.tar.bz2 1259569 BLAKE2B bf9415b2980d76d00239eceea113d6dbb916f5dcec3bdecb05db0ad1988761e4d25ab9a0419c68a3b2501f1f9dc6e2d31418aea7c727cfd01f4ae76eea8f81e2 SHA512 c44902f0f935d614b8c2d437d6c895f650ff4b77501ac3ba035e21671719f4080c88a173819f8db8e8b7dda121736146d8388b70ad7cda75207a1b22b93f5af6
diff --git a/sci-libs/brial/brial-1.2.12.ebuild b/sci-libs/brial/brial-1.2.12.ebuild
new file mode 100644
index 000000000000..1a4d4a95fd64
--- /dev/null
+++ b/sci-libs/brial/brial-1.2.12.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="A C++ library for polynomials over boolean rings"
+HOMEPAGE="https://github.com/BRiAl/BRiAl"
+SRC_URI="https://github.com/BRiAl/BRiAl/releases/download/${PV}/${P}.tar.bz2"
+
+# The top-level license is GPL2+, but cudd/LICENSE is BSD.
+LICENSE="BSD GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="png"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="dev-libs/boost
+ sci-libs/m4ri[png=]"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ tc-export PKG_CONFIG
+
+ # with-boost-libdir added to deal with some rather quirky setups
+ # see https://github.com/cschwan/sage-on-gentoo/issues/551
+ econf \
+ --with-boost="${ESYSROOT}"/usr \
+ --with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/brial/brial-1.2.8.ebuild b/sci-libs/brial/brial-1.2.8.ebuild
deleted file mode 100644
index 69b0340dc6fe..000000000000
--- a/sci-libs/brial/brial-1.2.8.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A C++ library for polynomials over boolean rings"
-HOMEPAGE="https://github.com/BRiAl/BRiAl"
-SRC_URI="https://github.com/BRiAl/BRiAl/releases/download/${PV}/${P}.tar.bz2"
-
-# The top-level license is GPL2, but cudd/LICENSE is BSD.
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="png static-libs"
-
-BDEPEND="virtual/pkgconfig"
-DEPEND="dev-libs/boost
- sci-libs/m4ri[png=]"
-RDEPEND="${DEPEND}"
-
-pkg_setup(){
- tc-export PKG_CONFIG
-}
-
-src_configure(){
- # with-boost-libdir added to deal with some rather quirky setups
- # see https://github.com/cschwan/sage-on-gentoo/issues/551
- econf \
- --with-boost="${EPREFIX}"/usr \
- --with-boost-libdir="${EPREFIX}"/usr/$(get_libdir) \
- $(use_enable static-libs static)
-}
-
-src_install(){
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/brial/metadata.xml b/sci-libs/brial/metadata.xml
index 7bb93bb41ee3..e5158b9ea3e0 100644
--- a/sci-libs/brial/metadata.xml
+++ b/sci-libs/brial/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sci-libs/btf/Manifest b/sci-libs/btf/Manifest
index 61f58e3f7bdf..7489d0d176c8 100644
--- a/sci-libs/btf/Manifest
+++ b/sci-libs/btf/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST btf-1.2.6.tar.bz2 285699 BLAKE2B 4addeea7b9abe87281f826a67a8a372118579f498057c888008ac93da1cdbfcf8554af6e843d92a07989ff0b24f537588f933fcc33c97317f47536980e551531 SHA512 39c08ec9bf2a85915aeed040dc02c42c10adf5034c3797910dc7cb6942ac6e2ccea47cea4ab0c37e8ed3eb8eac8d2ce946d281c9ec643cccd282af7be5276960
diff --git a/sci-libs/btf/btf-1.2.6.ebuild b/sci-libs/btf/btf-1.2.6.ebuild
index 74a9c5ca9227..8ba08b047dd7 100644
--- a/sci-libs/btf/btf-1.2.6.ebuild
+++ b/sci-libs/btf/btf-1.2.6.ebuild
@@ -1,22 +1,27 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Algorithm for matrix permutation into block triangular form"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
LICENSE="LGPL-2.1+"
SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux"
-KEYWORDS="amd64 arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
-
-BDEPEND="virtual/pkgconfig"
DEPEND="sci-libs/suitesparseconfig"
RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
src_configure() {
- econf $(use_enable static-libs static)
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/btf/btf-2.0.3.ebuild b/sci-libs/btf/btf-2.0.3.ebuild
new file mode 100644
index 000000000000..f3d679bc9c50
--- /dev/null
+++ b/sci-libs/btf/btf-2.0.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Algorithm for matrix permutation into block triangular form"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/2"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/btf/metadata.xml b/sci-libs/btf/metadata.xml
index 979bbfcfd49d..9f70db2d6ffd 100644
--- a/sci-libs/btf/metadata.xml
+++ b/sci-libs/btf/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -11,4 +11,7 @@
its block upper triangular form (more precisely, it computes a
Dulmage-Mendelsohn decomposition).
</longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/buddy/buddy-2.4-r1.ebuild b/sci-libs/buddy/buddy-2.4-r1.ebuild
index c5dfddbbe1e1..004107ea6cf6 100644
--- a/sci-libs/buddy/buddy-2.4-r1.ebuild
+++ b/sci-libs/buddy/buddy-2.4-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit fortran-2
@@ -12,7 +12,7 @@ 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"
+IUSE="doc examples"
DOCS=( doc/tech.txt )
PATCHES=(
@@ -21,16 +21,21 @@ PATCHES=(
)
src_configure() {
- econf $(use_enable static-libs static)
+ econf --disable-static
}
src_install() {
default
-
- use doc && docinto ps && dodoc doc/*.ps
+ find "${ED}" -name '*.la' -delete || die
if use examples; then
- insinto /usr/share/${PN}/
- doins -r examples
+ find examples/ -name 'Makefile*' -delete || die
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ if use doc; then
+ docinto ps
+ dodoc doc/*.ps
fi
}
diff --git a/sci-libs/buddy/metadata.xml b/sci-libs/buddy/metadata.xml
index 2cbfbe4b7bfa..dd78bb900bcc 100644
--- a/sci-libs/buddy/metadata.xml
+++ b/sci-libs/buddy/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,7 +10,7 @@
vectorized BDD operations,dynamic variable reordering,automated
garbage collection,a C++ interface with automatic reference
counting,and much more.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">buddy</remote-id>
</upstream>
diff --git a/sci-libs/caffe2/Manifest b/sci-libs/caffe2/Manifest
new file mode 100644
index 000000000000..b72973ca6f63
--- /dev/null
+++ b/sci-libs/caffe2/Manifest
@@ -0,0 +1,2 @@
+DIST pytorch-2.1.2.tar.gz 116316469 BLAKE2B c5a55ee264bc3477d3556ba6376b5591117e992e56e0dd0c9ba93d12526e2727f7840f6f1e0730a38223b6492c9556840c4ebf22ffd220e97225c2abff303747 SHA512 a8961d78ad785b13c959a0612563a60e0de17a7c8bb9822ddea9a24072796354d07e81c47b6cc8761b21a6448845b088cf80e1661d9e889b0ed5474d3dc76756
+DIST pytorch-2.2.2.tar.gz 116367503 BLAKE2B 0be22f2ec4b9aac6f5e976664cae01facf07929a32565cd57d7cc5b2d9888e9ae71ca301853752fe8f31d174d04c9974eb9ed2f3d452360a50ccf024f200726a SHA512 7990e0f9484038c3458c0bda2c863bf2b19e56edab81fc5938c6e0f08b17558287f853bb67350e8cca8f42bec0f1d4ba0e94e50a145db8da44bdd4bd703d91d0
diff --git a/sci-libs/caffe2/caffe2-2.1.2-r7.ebuild b/sci-libs/caffe2/caffe2-2.1.2-r7.ebuild
new file mode 100644
index 000000000000..8198f516b251
--- /dev/null
+++ b/sci-libs/caffe2/caffe2-2.1.2-r7.ebuild
@@ -0,0 +1,283 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+ROCM_VERSION=5.7
+inherit python-single-r1 cmake cuda flag-o-matic prefix rocm
+
+MYPN=pytorch
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="A deep learning framework"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${MYP}.tar.gz"
+
+S="${WORKDIR}"/${MYP}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda distributed fbgemm ffmpeg gloo mkl mpi nnpack +numpy onednn openblas opencl opencv openmp qnnpack rocm tensorpipe xnnpack"
+RESTRICT="test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ffmpeg? ( opencv )
+ mpi? ( distributed )
+ tensorpipe? ( distributed )
+ distributed? ( tensorpipe )
+ gloo? ( distributed )
+ ?? ( cuda rocm )
+ rocm? ( || ( ${ROCM_REQUIRED_USE} ) )
+"
+
+# CUDA 12 not supported yet: https://github.com/pytorch/pytorch/issues/91122
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/gflags:=
+ >=dev-cpp/glog-0.5.0
+ dev-libs/cpuinfo
+ dev-libs/libfmt
+ dev-libs/protobuf:=
+ dev-libs/pthreadpool
+ dev-libs/sleef
+ virtual/lapack
+ >=sci-libs/onnx-1.12.0
+ <sci-libs/onnx-1.15.0
+ sci-libs/foxi
+ cuda? (
+ =dev-libs/cudnn-8*
+ >=dev-libs/cudnn-frontend-0.9.2:0/8
+ <dev-util/nvidia-cuda-toolkit-12.4.0:=[profiler]
+ )
+ fbgemm? ( >=dev-libs/FBGEMM-2023.11.02 )
+ ffmpeg? ( media-video/ffmpeg:= )
+ gloo? ( sci-libs/gloo[cuda?] )
+ mpi? ( virtual/mpi )
+ nnpack? ( sci-libs/NNPACK )
+ numpy? ( $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ') )
+ onednn? ( dev-libs/oneDNN )
+ opencl? ( virtual/opencl )
+ opencv? ( media-libs/opencv:= )
+ qnnpack? ( sci-libs/QNNPACK )
+ rocm? (
+ >=dev-util/hip-5.7
+ >=dev-libs/rccl-5.7[${ROCM_USEDEP}]
+ >=sci-libs/rocThrust-5.7[${ROCM_USEDEP}]
+ >=sci-libs/rocPRIM-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipBLAS-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipFFT-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipSPARSE-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipRAND-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipCUB-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipSOLVER-5.7[${ROCM_USEDEP}]
+ >=sci-libs/miopen-5.7[${ROCM_USEDEP}]
+ >=dev-util/roctracer-5.7[${ROCM_USEDEP}]
+ )
+ tensorpipe? ( sci-libs/tensorpipe[cuda?] )
+ xnnpack? ( >=sci-libs/XNNPACK-2022.12.22 )
+ mkl? ( sci-libs/mkl )
+ openblas? ( sci-libs/openblas )
+"
+DEPEND="
+ ${RDEPEND}
+ cuda? ( >=dev-libs/cutlass-3.1.0 )
+ onednn? ( sci-libs/ideep )
+ dev-libs/psimd
+ dev-libs/FP16
+ dev-libs/FXdiv
+ dev-libs/pocketfft
+ dev-libs/flatbuffers
+ >=sci-libs/kineto-0.4.0_p20231031
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ ')
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.1-gentoo.patch
+ "${FILESDIR}"/${PN}-1.13.0-install-dirs.patch
+ "${FILESDIR}"/${PN}-1.12.0-glog-0.6.0.patch
+ "${FILESDIR}"/${PN}-1.13.1-tensorpipe.patch
+ "${FILESDIR}"/${PN}-2.0.0-gcc13.patch
+ "${FILESDIR}"/${PN}-2.0.0-cudnn_include_fix.patch
+ "${FILESDIR}"/${PN}-2.1.1-cudaExtra.patch
+ "${FILESDIR}"/${PN}-2.1.2-fix-rpath.patch
+ "${FILESDIR}"/${PN}-2.1.2-fix-openmp-link.patch
+ "${FILESDIR}"/${PN}-2.1.2-rocm-fix-std-cpp17.patch
+)
+
+src_prepare() {
+ filter-lto #bug 862672
+ sed -i \
+ -e "/third_party\/gloo/d" \
+ cmake/Dependencies.cmake \
+ || die
+ cmake_src_prepare
+ pushd torch/csrc/jit/serialization || die
+ flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
+ popd
+ # prefixify the hardcoded paths, after all patches are applied
+ hprefixify \
+ aten/CMakeLists.txt \
+ caffe2/CMakeLists.txt \
+ cmake/Metal.cmake \
+ cmake/Modules/*.cmake \
+ cmake/Modules_CUDA_fix/FindCUDNN.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
+ cmake/public/LoadHIP.cmake \
+ cmake/public/cuda.cmake \
+ cmake/Dependencies.cmake \
+ torch/CMakeLists.txt \
+ CMakeLists.txt
+
+ if use rocm; then
+ sed -e "s:ROCM_PATH /opt/rocm:ROCM_PATH /usr:" \
+ -e "s:HIP_PATH \${ROCM_PATH}/hip:HIP_PATH /usr:" \
+ -e "s:\${HIP_PATH}/cmake:/usr/$(get_libdir)/cmake/hip:g" \
+ -e "s/HIP 1.0/HIP 1.0 REQUIRED/" \
+ -i cmake/public/LoadHIP.cmake || die
+
+ ebegin "HIPifying cuda sources"
+ ${EPYTHON} tools/amd_build/build_amd.py || die
+ eend $?
+ fi
+}
+
+src_configure() {
+ if use cuda && [[ -z ${TORCH_CUDA_ARCH_LIST} ]]; then
+ ewarn "WARNING: caffe2 is being built with its default CUDA compute capabilities: 3.5 and 7.0."
+ ewarn "These may not be optimal for your GPU."
+ ewarn ""
+ ewarn "To configure caffe2 with the CUDA compute capability that is optimal for your GPU,"
+ ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and re-emerge caffe2."
+ ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TORCH_CUDA_ARCH_LIST=7.5 3.5"
+ ewarn "For a Maxwell model GPU, an example value would be: TORCH_CUDA_ARCH_LIST=Maxwell"
+ ewarn ""
+ ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
+ ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
+ fi
+
+ local mycmakeargs=(
+ -DBUILD_CUSTOM_PROTOBUF=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ -DUSE_CCACHE=OFF
+ -DUSE_CUDA=$(usex cuda)
+ -DUSE_DISTRIBUTED=$(usex distributed)
+ -DUSE_MPI=$(usex mpi)
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=$(usex fbgemm)
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_GFLAGS=ON
+ -DUSE_GLOG=ON
+ -DUSE_GLOO=$(usex gloo)
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_LEVELDB=OFF
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MKLDNN=$(usex onednn)
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_QNNPACK=$(usex qnnpack)
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
+ -DUSE_TENSORPIPE=$(usex tensorpipe)
+ -DUSE_PYTORCH_QNNPACK=OFF
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENCV=$(usex opencv)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_ROCM=$(usex rocm)
+ -DUSE_SYSTEM_CPUINFO=ON
+ -DUSE_SYSTEM_PYBIND11=ON
+ -DUSE_UCC=OFF
+ -DUSE_VALGRIND=OFF
+ -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_ITT=OFF
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_GLOO=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_METAL=OFF
+
+ -Wno-dev
+ -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
+ -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ if use mkl; then
+ mycmakeargs+=(-DBLAS=MKL)
+ elif use openblas; then
+ mycmakeargs+=(-DBLAS=OpenBLAS)
+ else
+ mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
+ fi
+
+ if use cuda; then
+ addpredict "/dev/nvidiactl" # bug 867706
+ addpredict "/dev/char"
+
+ mycmakeargs+=(
+ -DUSE_CUDNN=ON
+ -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
+ -DBUILD_NVFUSER=ON
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ )
+ elif use rocm; then
+ export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
+
+ mycmakeargs+=(
+ -DBUILD_NVFUSER=ON
+ -DUSE_NCCL=ON
+ -DUSE_SYSTEM_NCCL=ON
+ )
+ fi
+
+ if use onednn; then
+ mycmakeargs+=(
+ -DUSE_MKLDNN=ON
+ -DMKLDNN_FOUND=ON
+ -DMKLDNN_LIBRARIES=dnnl
+ -DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
+ )
+ fi
+
+ cmake_src_configure
+
+ # do not rerun cmake and the build process in src_install
+ sed '/RERUN/,+1d' -i "${BUILD_DIR}"/build.ninja || die
+}
+
+src_install() {
+ cmake_src_install
+
+ insinto "/var/lib/${PN}"
+ doins "${BUILD_DIR}"/CMakeCache.txt
+
+ rm -rf python
+ mkdir -p python/torch/include || die
+ mv "${ED}"/usr/lib/python*/site-packages/caffe2 python/ || die
+ if use cuda || use rocm; then
+ mv "${ED}${S}"/nvfuser python/nvfuser || die
+ mv "${ED}"/usr/$(get_libdir)/nvfuser.so python/nvfuser/_C.so || die
+ fi
+ cp torch/version.py python/torch/ || die
+ python_domodule python/caffe2
+ python_domodule python/torch
+ ln -s ../../../../../include/torch \
+ "${D}$(python_get_sitedir)"/torch/include/torch || die # bug 923269
+ if use cuda || use rocm; then
+ python_domodule python/nvfuser
+ fi
+ rm -rf "${ED}${WORKDIR}"
+ find "${ED}" -empty -delete
+}
diff --git a/sci-libs/caffe2/caffe2-2.2.2.ebuild b/sci-libs/caffe2/caffe2-2.2.2.ebuild
new file mode 100644
index 000000000000..2af11a75be5e
--- /dev/null
+++ b/sci-libs/caffe2/caffe2-2.2.2.ebuild
@@ -0,0 +1,269 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+ROCM_VERSION=5.7
+inherit python-single-r1 cmake cuda flag-o-matic prefix rocm
+
+MYPN=pytorch
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="A deep learning framework"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${MYP}.tar.gz"
+
+S="${WORKDIR}"/${MYP}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda distributed fbgemm ffmpeg gloo mkl mpi nnpack +numpy onednn openblas opencl opencv openmp qnnpack rocm xnnpack"
+RESTRICT="test"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ffmpeg? ( opencv )
+ mpi? ( distributed )
+ gloo? ( distributed )
+ ?? ( cuda rocm )
+ rocm? ( || ( ${ROCM_REQUIRED_USE} ) )
+"
+
+# CUDA 12 not supported yet: https://github.com/pytorch/pytorch/issues/91122
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/gflags:=
+ >=dev-cpp/glog-0.5.0
+ dev-libs/cpuinfo
+ dev-libs/libfmt
+ dev-libs/protobuf:=
+ dev-libs/pthreadpool
+ dev-libs/sleef
+ virtual/lapack
+ >=sci-libs/onnx-1.12.0
+ <sci-libs/onnx-1.15.0
+ sci-libs/foxi
+ cuda? (
+ =dev-libs/cudnn-8*
+ >=dev-libs/cudnn-frontend-0.9.2:0/8
+ <dev-util/nvidia-cuda-toolkit-12.4.0:=[profiler]
+ )
+ fbgemm? ( >=dev-libs/FBGEMM-2023.12.01 )
+ ffmpeg? ( media-video/ffmpeg:= )
+ gloo? ( sci-libs/gloo[cuda?] )
+ mpi? ( virtual/mpi )
+ nnpack? ( sci-libs/NNPACK )
+ numpy? ( $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ') )
+ onednn? ( dev-libs/oneDNN )
+ opencl? ( virtual/opencl )
+ opencv? ( media-libs/opencv:= )
+ qnnpack? ( sci-libs/QNNPACK )
+ rocm? (
+ >=dev-util/hip-5.7
+ >=dev-libs/rccl-5.7[${ROCM_USEDEP}]
+ >=sci-libs/rocThrust-5.7[${ROCM_USEDEP}]
+ >=sci-libs/rocPRIM-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipBLAS-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipFFT-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipSPARSE-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipRAND-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipCUB-5.7[${ROCM_USEDEP}]
+ >=sci-libs/hipSOLVER-5.7[${ROCM_USEDEP}]
+ >=sci-libs/miopen-5.7[${ROCM_USEDEP}]
+ >=dev-util/roctracer-5.7[${ROCM_USEDEP}]
+ )
+ distributed? ( sci-libs/tensorpipe[cuda?] )
+ xnnpack? ( >=sci-libs/XNNPACK-2022.12.22 )
+ mkl? ( sci-libs/mkl )
+ openblas? ( sci-libs/openblas )
+"
+DEPEND="
+ ${RDEPEND}
+ cuda? ( >=dev-libs/cutlass-3.1.0 )
+ onednn? ( sci-libs/ideep )
+ dev-libs/psimd
+ dev-libs/FP16
+ dev-libs/FXdiv
+ dev-libs/pocketfft
+ dev-libs/flatbuffers
+ >=sci-libs/kineto-0.4.0_p20231031
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ ')
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.1-gentoo.patch
+ "${FILESDIR}"/${PN}-1.13.0-install-dirs.patch
+ "${FILESDIR}"/${PN}-1.12.0-glog-0.6.0.patch
+ "${FILESDIR}"/${PN}-1.13.1-tensorpipe.patch
+ "${FILESDIR}"/${PN}-2.0.0-gcc13.patch
+ "${FILESDIR}"/${PN}-2.0.0-cudnn_include_fix.patch
+ "${FILESDIR}"/${PN}-2.1.2-fix-rpath.patch
+ "${FILESDIR}"/${PN}-2.1.2-fix-openmp-link.patch
+ "${FILESDIR}"/${PN}-2.1.2-rocm-fix-std-cpp17.patch
+)
+
+src_prepare() {
+ filter-lto #bug 862672
+ sed -i \
+ -e "/third_party\/gloo/d" \
+ cmake/Dependencies.cmake \
+ || die
+ cmake_src_prepare
+ pushd torch/csrc/jit/serialization || die
+ flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
+ popd
+ # prefixify the hardcoded paths, after all patches are applied
+ hprefixify \
+ aten/CMakeLists.txt \
+ caffe2/CMakeLists.txt \
+ cmake/Metal.cmake \
+ cmake/Modules/*.cmake \
+ cmake/Modules_CUDA_fix/FindCUDNN.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
+ cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
+ cmake/public/LoadHIP.cmake \
+ cmake/public/cuda.cmake \
+ cmake/Dependencies.cmake \
+ torch/CMakeLists.txt \
+ CMakeLists.txt
+
+ if use rocm; then
+ sed -e "s:/opt/rocm:/usr:" \
+ -e "s:lib/cmake:$(get_libdir)/cmake:g" \
+ -e "s/HIP 1.0/HIP 1.0 REQUIRED/" \
+ -i cmake/public/LoadHIP.cmake || die
+
+ ebegin "HIPifying cuda sources"
+ ${EPYTHON} tools/amd_build/build_amd.py || die
+ eend $?
+ fi
+}
+
+src_configure() {
+ if use cuda && [[ -z ${TORCH_CUDA_ARCH_LIST} ]]; then
+ ewarn "WARNING: caffe2 is being built with its default CUDA compute capabilities: 3.5 and 7.0."
+ ewarn "These may not be optimal for your GPU."
+ ewarn ""
+ ewarn "To configure caffe2 with the CUDA compute capability that is optimal for your GPU,"
+ ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and re-emerge caffe2."
+ ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TORCH_CUDA_ARCH_LIST=7.5 3.5"
+ ewarn "For a Maxwell model GPU, an example value would be: TORCH_CUDA_ARCH_LIST=Maxwell"
+ ewarn ""
+ ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
+ ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
+ fi
+
+ local mycmakeargs=(
+ -DBUILD_CUSTOM_PROTOBUF=OFF
+ -DBUILD_SHARED_LIBS=ON
+
+ -DUSE_CCACHE=OFF
+ -DUSE_CUDA=$(usex cuda)
+ -DUSE_DISTRIBUTED=$(usex distributed)
+ -DUSE_MPI=$(usex mpi)
+ -DUSE_FAKELOWP=OFF
+ -DUSE_FBGEMM=$(usex fbgemm)
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_GFLAGS=ON
+ -DUSE_GLOG=ON
+ -DUSE_GLOO=$(usex gloo)
+ -DUSE_KINETO=OFF # TODO
+ -DUSE_LEVELDB=OFF
+ -DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
+ -DUSE_MKLDNN=$(usex onednn)
+ -DUSE_NNPACK=$(usex nnpack)
+ -DUSE_QNNPACK=$(usex qnnpack)
+ -DUSE_XNNPACK=$(usex xnnpack)
+ -DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
+ -DUSE_TENSORPIPE=$(usex distributed)
+ -DUSE_PYTORCH_QNNPACK=OFF
+ -DUSE_NUMPY=$(usex numpy)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENCV=$(usex opencv)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_ROCM=$(usex rocm)
+ -DUSE_SYSTEM_CPUINFO=ON
+ -DUSE_SYSTEM_PYBIND11=ON
+ -DUSE_UCC=OFF
+ -DUSE_VALGRIND=OFF
+ -DPYBIND11_PYTHON_VERSION="${EPYTHON#python}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_ITT=OFF
+ -DUSE_SYSTEM_PTHREADPOOL=ON
+ -DUSE_SYSTEM_FXDIV=ON
+ -DUSE_SYSTEM_FP16=ON
+ -DUSE_SYSTEM_GLOO=ON
+ -DUSE_SYSTEM_ONNX=ON
+ -DUSE_SYSTEM_SLEEF=ON
+ -DUSE_METAL=OFF
+
+ -Wno-dev
+ -DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
+ -DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ if use mkl; then
+ mycmakeargs+=(-DBLAS=MKL)
+ elif use openblas; then
+ mycmakeargs+=(-DBLAS=OpenBLAS)
+ else
+ mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
+ fi
+
+ if use cuda; then
+ addpredict "/dev/nvidiactl" # bug 867706
+ addpredict "/dev/char"
+ addpredict "/proc/self/task" # bug 926116
+
+ mycmakeargs+=(
+ -DUSE_CUDNN=ON
+ -DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
+ -DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ )
+ elif use rocm; then
+ export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
+
+ mycmakeargs+=(
+ -DUSE_NCCL=ON
+ -DUSE_SYSTEM_NCCL=ON
+ )
+ fi
+
+ if use onednn; then
+ mycmakeargs+=(
+ -DUSE_MKLDNN=ON
+ -DMKLDNN_FOUND=ON
+ -DMKLDNN_LIBRARIES=dnnl
+ -DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
+ )
+ fi
+
+ cmake_src_configure
+
+ # do not rerun cmake and the build process in src_install
+ sed '/RERUN/,+1d' -i "${BUILD_DIR}"/build.ninja || die
+}
+
+src_install() {
+ cmake_src_install
+
+ insinto "/var/lib/${PN}"
+ doins "${BUILD_DIR}"/CMakeCache.txt
+
+ rm -rf python
+ mkdir -p python/torch/include || die
+ mv "${ED}"/usr/lib/python*/site-packages/caffe2 python/ || die
+ cp torch/version.py python/torch/ || die
+ python_domodule python/caffe2
+ python_domodule python/torch
+ ln -s ../../../../../include/torch \
+ "${D}$(python_get_sitedir)"/torch/include/torch || die # bug 923269
+}
diff --git a/sci-libs/caffe2/files/caffe2-1.12.0-glog-0.6.0.patch b/sci-libs/caffe2/files/caffe2-1.12.0-glog-0.6.0.patch
new file mode 100644
index 000000000000..6c06d2cca654
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-1.12.0-glog-0.6.0.patch
@@ -0,0 +1,29 @@
+https://github.com/pytorch/pytorch/issues/58054
+
+--- a/c10/util/Logging.cpp
++++ b/c10/util/Logging.cpp
+@@ -192,23 +192,13 @@
+ google::GLOG_WARNING,
+ "The minimum log level that caffe2 will output.");
+
+-// Google glog's api does not have an external function that allows one to check
+-// if glog is initialized or not. It does have an internal function - so we are
+-// declaring it here. This is a hack but has been used by a bunch of others too
+-// (e.g. Torch).
+-namespace google {
+-namespace glog_internal_namespace_ {
+-bool IsGoogleLoggingInitialized();
+-} // namespace glog_internal_namespace_
+-} // namespace google
+-
+ namespace c10 {
+ namespace {
+
+ void initGoogleLogging(char const* name) {
+ #if !defined(_MSC_VER)
+ // This trick can only be used on UNIX platforms
+- if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized())
++ if (!::google::IsGoogleLoggingInitialized())
+ #endif
+ {
+ ::google::InitGoogleLogging(name);
diff --git a/sci-libs/caffe2/files/caffe2-1.13.0-install-dirs.patch b/sci-libs/caffe2/files/caffe2-1.13.0-install-dirs.patch
new file mode 100644
index 000000000000..299c9f88a173
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-1.13.0-install-dirs.patch
@@ -0,0 +1,121 @@
+--- a/c10/CMakeLists.txt
++++ b/c10/CMakeLists.txt
+@@ -112,7 +112,7 @@
+ # Note: for now, we will put all export path into one single Caffe2Targets group
+ # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
+ # individual libraries like libc10.so and libcaffe2.so are still self-contained.
+-install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib)
++install(TARGETS c10 EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h")
+--- a/c10/cuda/CMakeLists.txt
++++ b/c10/cuda/CMakeLists.txt
+@@ -64,7 +64,7 @@ add_subdirectory(test)
+ # Note: for now, we will put all export path into one single Caffe2Targets group
+ # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
+ # individual libraries like libc10.so and libcaffe2.so are still self-contained.
+-install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION lib)
++install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ foreach(file ${C10_CUDA_HEADERS})
+ get_filename_component( dir ${file} DIRECTORY )
+ install( FILES ${file} DESTINATION include/c10/cuda/${dir} )
+--- a/c10/hip/CMakeLists.txt
++++ b/c10/hip/CMakeLists.txt
+@@ -55,7 +55,7 @@ target_include_directories(
+ add_subdirectory(test)
+
+ # ---[ Installation
+-install(TARGETS c10_hip EXPORT Caffe2Targets DESTINATION lib)
++install(TARGETS c10_hip EXPORT Caffe2Targets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
+ DESTINATION include
+ FILES_MATCHING PATTERN "*.h")
+--- a/modules/detectron/CMakeLists.txt
++++ b/modules/detectron/CMakeLists.txt
+@@ -20,7 +20,7 @@
+ if(USE_MKLDNN)
+ target_link_libraries(caffe2_detectron_ops_gpu PRIVATE caffe2::mkldnn)
+ endif()
+- install(TARGETS caffe2_detectron_ops_gpu DESTINATION lib)
++ install(TARGETS caffe2_detectron_ops_gpu DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(MSVC)
+ install(FILES $<TARGET_PDB_FILE:caffe2_detectron_ops_gpu> DESTINATION lib OPTIONAL)
+ endif()
+@@ -37,7 +37,7 @@
+ target_link_libraries(caffe2_detectron_ops_hip PRIVATE caffe2::mkldnn)
+ endif()
+ target_link_libraries(caffe2_detectron_ops_hip PRIVATE torch)
+- install(TARGETS caffe2_detectron_ops_hip DESTINATION lib)
++ install(TARGETS caffe2_detectron_ops_hip DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ elseif(NOT IOS_PLATFORM)
+ add_library(caffe2_detectron_ops SHARED ${Detectron_CPU_SRCS})
+ if(HAVE_SOVERSION)
+@@ -49,7 +49,7 @@
+ if(USE_MKLDNN)
+ target_link_libraries(caffe2_detectron_ops PRIVATE caffe2::mkldnn)
+ endif()
+- install(TARGETS caffe2_detectron_ops DESTINATION lib)
++ install(TARGETS caffe2_detectron_ops DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(MSVC)
+ install(FILES $<TARGET_PDB_FILE:caffe2_detectron_ops> DESTINATION lib OPTIONAL)
+ endif()
+--- a/modules/module_test/CMakeLists.txt
++++ b/modules/module_test/CMakeLists.txt
+@@ -16,7 +16,7 @@ if(BUILD_TEST AND NOT BUILD_LITE_INTERPRETER)
+ VERSION ${TORCH_VERSION} SOVERSION ${TORCH_SOVERSION})
+ endif()
+ target_link_libraries(caffe2_module_test_dynamic torch_library)
+- install(TARGETS caffe2_module_test_dynamic DESTINATION lib)
++ install(TARGETS caffe2_module_test_dynamic DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(MSVC AND BUILD_SHARED_LIBS)
+ install(FILES $<TARGET_PDB_FILE:caffe2_module_test_dynamic> DESTINATION lib OPTIONAL)
+ endif()
+--- a/modules/observers/CMakeLists.txt
++++ b/modules/observers/CMakeLists.txt
+@@ -21,7 +21,7 @@ endif()
+ target_link_libraries(caffe2_observers PUBLIC torch_library)
+ target_include_directories(caffe2_observers PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
+ target_compile_options(caffe2_observers PRIVATE "-DCAFFE2_BUILD_OBSERVER_LIB")
+-install(TARGETS caffe2_observers DESTINATION lib)
++install(TARGETS caffe2_observers DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ caffe2_interface_library(caffe2_observers caffe2_observers_library)
+ if(MSVC AND BUILD_SHARED_LIBS)
+ install(FILES $<TARGET_PDB_FILE:caffe2_observers> DESTINATION lib OPTIONAL)
+--- a/modules/rocksdb/CMakeLists.txt
++++ b/modules/rocksdb/CMakeLists.txt
+@@ -63,7 +63,7 @@ add_library(caffe2_rocksdb ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb.cc)
+ target_link_libraries(caffe2_rocksdb PUBLIC torch_library)
+ target_link_libraries(caffe2_rocksdb PRIVATE ${RocksDB_LIBRARIES})
+ target_include_directories(caffe2_rocksdb PRIVATE ${RocksDB_INCLUDE_DIR})
+-install(TARGETS caffe2_rocksdb DESTINATION lib)
++install(TARGETS caffe2_rocksdb DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ # ---[ Last, Append the library to Caffe2_MODULES, if we are building with
+ # the main repo.
+--- a/test/cpp/c10d/CMakeLists.txt
++++ b/test/cpp/c10d/CMakeLists.txt
+@@ -51,7 +51,7 @@ if(USE_CUDA)
+ if(INSTALL_TEST)
+ install(TARGETS ProcessGroupNCCLTest DESTINATION bin)
+ install(TARGETS ProcessGroupNCCLErrorsTest DESTINATION bin)
+- install(TARGETS c10d_cuda_test DESTINATION lib)
++ install(TARGETS c10d_cuda_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+ endif()
+ if(USE_UCC AND USE_C10D_UCC)
+--- a/test/cpp/jit/CMakeLists.txt
++++ b/test/cpp/jit/CMakeLists.txt
+@@ -32,9 +32,9 @@ endif()
+ target_link_libraries(backend_with_compiler torch)
+
+ if(INSTALL_TEST)
+- install(TARGETS torchbind_test DESTINATION lib)
+- install(TARGETS jitbackend_test DESTINATION lib)
+- install(TARGETS backend_with_compiler DESTINATION lib)
++ install(TARGETS torchbind_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ install(TARGETS jitbackend_test DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ install(TARGETS backend_with_compiler DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+
+ # Build the cpp gtest binary containing the cpp-only tests.
diff --git a/sci-libs/caffe2/files/caffe2-1.13.1-tensorpipe.patch b/sci-libs/caffe2/files/caffe2-1.13.1-tensorpipe.patch
new file mode 100644
index 000000000000..ae0cac9fb947
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-1.13.1-tensorpipe.patch
@@ -0,0 +1,10 @@
+--- a/cmake/Dependencies.cmake 2023-02-28 14:14:49.099057348 +0100
++++ b/cmake/Dependencies.cmake 2023-02-28 14:15:05.326790806 +0100
+@@ -1404,7 +1404,6 @@
+
+ # Tensorpipe uses cuda_add_library
+ torch_update_find_cuda_flags()
+- add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/tensorpipe)
+
+ list(APPEND Caffe2_DEPENDENCY_LIBS tensorpipe)
+ if(USE_CUDA)
diff --git a/sci-libs/caffe2/files/caffe2-2.0.0-cudnn_include_fix.patch b/sci-libs/caffe2/files/caffe2-2.0.0-cudnn_include_fix.patch
new file mode 100644
index 000000000000..ff64e4108087
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.0.0-cudnn_include_fix.patch
@@ -0,0 +1,12 @@
+diff -uar pytorch-2.0.0/cmake/Dependencies.cmake pytorch-2.0.0orig/cmake/Dependencies.cmake
+--- a/cmake/Dependencies.cmake 2023-04-23 09:43:20.767566047 -0400
++++ b/cmake/Dependencies.cmake 2023-03-09 17:42:00.000000000 -0500
+@@ -1235,7 +1235,7 @@
+
+ # ---[ cuDNN
+ if(USE_CUDNN)
+- set(CUDNN_FRONTEND_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/../third_party/cudnn_frontend/include)
++ set(CUDNN_FRONTEND_INCLUDE_DIR /opt/cuda/include)
+ target_include_directories(torch::cudnn INTERFACE ${CUDNN_FRONTEND_INCLUDE_DIR})
+ endif()
+
diff --git a/sci-libs/caffe2/files/caffe2-2.0.0-gcc13.patch b/sci-libs/caffe2/files/caffe2-2.0.0-gcc13.patch
new file mode 100644
index 000000000000..acbcebad0a5d
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.0.0-gcc13.patch
@@ -0,0 +1,41 @@
+--- a/c10/util/Registry.h 2023-03-09 17:42:00.000000000 -0500
++++ b/c10/util/Registry.h 2023-04-09 20:38:33.108135511 -0400
+@@ -16,6 +16,7 @@
+ #include <memory>
+ #include <mutex>
+ #include <string>
++#include <stdexcept>
+ #include <unordered_map>
+ #include <vector>
+
+--- a/torch/csrc/jit/passes/quantization/quantization_type.h 2023-03-09 17:42:00.000000000 -0500
++++ b/torch/csrc/jit/passes/quantization/quantization_type.h 2023-04-09 20:43:43.124806308 -0400
+@@ -1,5 +1,6 @@
+ #pragma once
+ #include <ostream>
++#include <cstdint>
+
+ namespace torch {
+ namespace jit {
+
+--- a/torch/csrc/jit/runtime/logging.cpp 2023-03-09 17:42:00.000000000 -0500
++++ b/torch/csrc/jit/runtime/logging.cpp 2023-04-09 20:47:49.758142941 -0400
+@@ -1,6 +1,7 @@
+ #include <torch/csrc/jit/runtime/logging.h>
+
+ #include <atomic>
++#include <stdexcept>
+ #include <mutex>
+ #include <unordered_map>
+
+
+--- a/torch/csrc/lazy/core/multi_wait.cpp 2023-03-09 17:42:00.000000000 -0500
++++ b/torch/csrc/lazy/core/multi_wait.cpp 2023-04-09 20:50:36.608145172 -0400
+@@ -1,6 +1,7 @@
+ #include <torch/csrc/lazy/core/multi_wait.h>
+
+ #include <chrono>
++#include <stdexcept>
+ #include <exception>
+
+ namespace torch {
diff --git a/sci-libs/caffe2/files/caffe2-2.1.1-cudaExtra.patch b/sci-libs/caffe2/files/caffe2-2.1.1-cudaExtra.patch
new file mode 100644
index 000000000000..f12623f2068a
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.1.1-cudaExtra.patch
@@ -0,0 +1,28 @@
+--- a/third_party/nvfuser/CMakeLists.txt 2023-11-30 21:42:07.336946970 +0100
++++ b/third_party/nvfuser/CMakeLists.txt 2023-11-30 21:46:35.101749250 +0100
+@@ -18,7 +18,7 @@
+ set(NVFUSER_ROOT ${PROJECT_SOURCE_DIR})
+ set(NVFUSER_SRCS_DIR "${NVFUSER_ROOT}/csrc")
+ set(TORCH_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../..")
+-set(TORCH_INSTALL_LIB_DIR ${TORCH_ROOT}/torch/lib)
++set(TORCH_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
+
+ # --- build nvfuser_codegen library
+
+@@ -218,7 +218,7 @@
+ message(STATUS "somehow this is happening")
+ set_target_properties(${NVFUSER} PROPERTIES LINK_FLAGS ${TORCH_PYTHON_LINK_FLAGS})
+ endif()
+- install(TARGETS ${NVFUSER} EXPORT NvfuserTargets DESTINATION ${TORCH_ROOT}/nvfuser/)
++ install(TARGETS ${NVFUSER} EXPORT NvfuserTargets DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+
+ # install nvfuser python files
+ install(DIRECTORY "${NVFUSER_ROOT}/python/"
+--- a/functorch/CMakeLists.txt 2023-11-30 20:30:45.805209036 +0100
++++ b/functorch/CMakeLists.txt 2023-11-30 20:31:13.284766157 +0100
+@@ -35,4 +35,4 @@
+ if(NOT ${TORCH_PYTHON_LINK_FLAGS} STREQUAL "")
+ set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS ${TORCH_PYTHON_LINK_FLAGS})
+ endif()
+-install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}")
++install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_LIBDIR}")
diff --git a/sci-libs/caffe2/files/caffe2-2.1.1-gentoo.patch b/sci-libs/caffe2/files/caffe2-2.1.1-gentoo.patch
new file mode 100644
index 000000000000..056ac9afe5b3
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.1.1-gentoo.patch
@@ -0,0 +1,188 @@
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -487,7 +487,7 @@ endif()
+ list(APPEND Caffe2_DEPENDENCY_LIBS cpuinfo)
+
+ # ---[ QNNPACK
+-if(USE_QNNPACK)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+
+ if(NOT DEFINED QNNPACK_SOURCE_DIR)
+@@ -543,7 +543,7 @@ if(USE_QNNPACK)
+ endif()
+
+ # ---[ Caffe2 Int8 operators (enabled by USE_QNNPACK) depend on gemmlowp and neon2sse headers
+-if(USE_QNNPACK)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+ include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
+ include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/neon2sse")
+@@ -803,7 +803,7 @@
+ endif()
+
+ # ---[ FBGEMM
+-if(USE_FBGEMM)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+ if(NOT DEFINED FBGEMM_SOURCE_DIR)
+ set(FBGEMM_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/fbgemm" CACHE STRING "FBGEMM source directory")
+@@ -848,6 +848,7 @@
+ endif()
+
+ if(USE_FBGEMM)
++ list(APPEND Caffe2_DEPENDENCY_LIBS fbgemm)
+ caffe2_update_option(USE_FBGEMM ON)
+ else()
+ caffe2_update_option(USE_FBGEMM OFF)
+@@ -1552,7 +1553,6 @@
+ set_target_properties(onnx_proto PROPERTIES CXX_STANDARD 17)
+ endif()
+ endif()
+- add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../third_party/foxi EXCLUDE_FROM_ALL)
+
+ add_definitions(-DONNX_NAMESPACE=${ONNX_NAMESPACE})
+ if(NOT USE_SYSTEM_ONNX)
+@@ -1831,7 +1831,6 @@
+ #
+ set(TEMP_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE)
+-add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt)
+
+ # Disable compiler feature checks for `fmt`.
+ #
+@@ -1840,9 +1839,7 @@
+ # CMAKE_CXX_FLAGS in ways that break feature checks. Since we already know
+ # `fmt` is compatible with a superset of the compilers that PyTorch is, it
+ # shouldn't be too bad to just disable the checks.
+-set_target_properties(fmt-header-only PROPERTIES INTERFACE_COMPILE_FEATURES "")
+
+-list(APPEND Caffe2_DEPENDENCY_LIBS fmt::fmt-header-only)
+ set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE)
+
+ # ---[ Kineto
+--- a/c10/CMakeLists.txt
++++ b/c10/CMakeLists.txt
+@@ -87,7 +87,7 @@
+ if(${USE_GLOG})
+ target_link_libraries(c10 PUBLIC glog::glog)
+ endif()
+-target_link_libraries(c10 PRIVATE fmt::fmt-header-only)
++target_link_libraries(c10 PRIVATE fmt)
+
+ find_package(Backtrace)
+ if(Backtrace_FOUND)
+--- a/torch/CMakeLists.txt
++++ b/torch/CMakeLists.txt
+@@ -63,15 +63,9 @@
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}/aten/src
+ ${CMAKE_BINARY_DIR}/caffe2/aten/src
+- ${CMAKE_BINARY_DIR}/third_party
+- ${CMAKE_BINARY_DIR}/third_party/onnx
+
+- ${TORCH_ROOT}/third_party/valgrind-headers
+
+- ${TORCH_ROOT}/third_party/gloo
+- ${TORCH_ROOT}/third_party/onnx
+- ${TORCH_ROOT}/third_party/flatbuffers/include
+- ${TORCH_ROOT}/third_party/kineto/libkineto/include
++ /usr/include/kineto
+
+ ${TORCH_SRC_DIR}/csrc
+ ${TORCH_SRC_DIR}/csrc/api/include
+@@ -84,7 +78,6 @@
+ python::python
+ pybind::pybind11
+ shm
+- fmt::fmt-header-only
+ ATEN_CPU_FILES_GEN_LIB)
+
+ if(USE_ASAN AND TARGET Sanitizer::address)
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -812,12 +812,11 @@
+
+ # ---[ Build flags
+ if(NOT MSVC)
+- string(APPEND CMAKE_CXX_FLAGS " -O2 -fPIC")
++ string(APPEND CMAKE_CXX_FLAGS " -fPIC")
+ # Eigen fails to build with some versions, so convert this to a warning
+ # Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459
+ string(APPEND CMAKE_CXX_FLAGS " -Wall")
+ string(APPEND CMAKE_CXX_FLAGS " -Wextra")
+- append_cxx_flag_if_supported("-Werror=return-type" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=non-virtual-dtor" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=braced-scalar-init" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=range-loop-construct" CMAKE_CXX_FLAGS)
+@@ -917,8 +916,6 @@
+ string(APPEND CMAKE_LINKER_FLAGS_DEBUG " -fno-omit-frame-pointer -O0")
+ append_cxx_flag_if_supported("-fno-math-errno" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-fno-trapping-math" CMAKE_CXX_FLAGS)
+- append_cxx_flag_if_supported("-Werror=format" CMAKE_CXX_FLAGS)
+- append_cxx_flag_if_supported("-Werror=cast-function-type" CMAKE_CXX_FLAGS)
+ else()
+ # skip unwanted includes from windows.h
+ add_compile_definitions(WIN32_LEAN_AND_MEAN)
+--- a/cmake/public/utils.cmake
++++ b/cmake/public/utils.cmake
+@@ -492,8 +492,6 @@
+ endif()
+
+ # Use -O2 for release builds (-O3 doesn't improve perf, and -Os results in perf regression)
+- target_compile_options(${libname} PRIVATE
+- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>>:-O2>)
+
+ endfunction()
+
+--- a/cmake/Codegen.cmake
++++ b/cmake/Codegen.cmake
+@@ -57,7 +57,7 @@
+ if(MSVC)
+ set(OPT_FLAG "/fp:strict ")
+ else(MSVC)
+- set(OPT_FLAG "-O3 ")
++ set(OPT_FLAG " ")
+ if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ set(OPT_FLAG " ")
+ endif()
+--- a/caffe2/CMakeLists.txt
++++ b/caffe2/CMakeLists.txt
+@@ -107,7 +107,7 @@
+ # Note: the folders that are being commented out have not been properly
+ # addressed yet.
+
+-if(NOT MSVC AND USE_XNNPACK)
++if(FALSE)
+ if(NOT TARGET fxdiv)
+ set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -1023,7 +1025,6 @@
+ endif()
+
+ if(NOT MSVC AND USE_XNNPACK)
+- TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv)
+ endif()
+
+ # ==========================================================
+@@ -1143,8 +1146,7 @@
+ target_include_directories(torch_cpu PRIVATE
+ ${TORCH_ROOT}/third_party/miniz-2.1.0)
+
+-target_include_directories(torch_cpu PRIVATE
+- ${TORCH_ROOT}/third_party/kineto/libkineto/include)
++target_include_directories(torch_cpu PRIVATE /usr/include/kineto)
+
+ if(USE_KINETO)
+ target_include_directories(torch_cpu PRIVATE
+--- a/cmake/External/nnpack.cmake
++++ b/cmake/External/nnpack.cmake
+@@ -58,7 +58,7 @@
+ set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ set(GOOGLETEST_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/googletest" CACHE STRING "Google Test source directory")
+
+- if(NOT TARGET nnpack)
++ if(FALSE)
+ if(NOT USE_SYSTEM_PTHREADPOOL AND USE_INTERNAL_PTHREADPOOL_IMPL)
+ set(NNPACK_CUSTOM_THREADPOOL ON CACHE BOOL "")
+ endif()
diff --git a/sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch b/sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch
new file mode 100644
index 000000000000..3f2d0ae3c30a
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.1.2-fix-openmp-link.patch
@@ -0,0 +1,15 @@
+Fix "undefined symbol: omp_get_max_active_levels" in mkl + <nothing else> builds
+https://github.com/pytorch/pytorch/issues/116576
+--- a/caffe2/CMakeLists.txt
++++ b/caffe2/CMakeLists.txt
+@@ -1575,6 +1575,10 @@ if(BUILD_SHARED_LIBS)
+ target_link_libraries(torch_global_deps TBB::tbb)
+ endif()
+
++ if(USE_OPENMP)
++ target_link_libraries(torch_global_deps OpenMP::OpenMP_CXX)
++ endif()
++
+ install(TARGETS torch_global_deps DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+ endif()
+
diff --git a/sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch b/sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch
new file mode 100644
index 000000000000..731227fa25ee
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.1.2-fix-rpath.patch
@@ -0,0 +1,12 @@
+Unset rpath to support blas-lapack-switch
+Bug: https://bugs.gentoo.org/921129
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -10,7 +10,6 @@ endif(APPLE)
+ set(CMAKE_SKIP_BUILD_RPATH FALSE)
+ # Don't use the install-rpath during the build phase
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+-set(CMAKE_INSTALL_RPATH "${_rpath_portable_origin}")
+ # Automatically add all linked folders that are NOT in the build directory to
+ # the rpath (per library?)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
diff --git a/sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch b/sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch
new file mode 100644
index 000000000000..cb0fa0c48e80
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.1.2-rocm-fix-std-cpp17.patch
@@ -0,0 +1,68 @@
+Fix for error: invalid argument '-std=c++17' not allowed with 'C'
+https://github.com/pytorch/pytorch/issues/103222
+--- a/c10/hip/CMakeLists.txt
++++ b/c10/hip/CMakeLists.txt
+@@ -30,6 +30,7 @@ hip_add_library(c10_hip ${C10_HIP_SRCS} ${C10_HIP_HEADERS})
+
+ # Propagate HIP_CXX_FLAGS that were set from Dependencies.cmake
+ target_compile_options(c10_hip PRIVATE ${HIP_CXX_FLAGS})
++set_target_properties(c10_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+
+ # caffe2_hip adds a bunch of dependencies like rocsparse, but c10/hip is supposed to be
+ # minimal. I'm not sure if we need hip_hcc or not; for now leave it out
+--- a/caffe2/CMakeLists.txt
++++ b/caffe2/CMakeLists.txt
+@@ -1598,6 +1598,7 @@ if(USE_ROCM)
+
+ # Since PyTorch files contain HIP headers, these flags are required for the necessary definitions to be added.
+ target_compile_options(torch_hip PUBLIC ${HIP_CXX_FLAGS}) # experiment
++ set_target_properties(torch_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+ target_link_libraries(torch_hip PUBLIC c10_hip)
+
+ if(NOT INTERN_BUILD_MOBILE)
+@@ -1774,6 +1775,7 @@ if(BUILD_TEST)
+ target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
+ target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE} ${Caffe2_HIP_INCLUDE})
+ target_compile_options(${test_name} PRIVATE ${HIP_CXX_FLAGS})
++ set_target_properties(${test_name} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+ add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>)
+ if(INSTALL_TEST)
+ install(TARGETS ${test_name} DESTINATION test)
+@@ -1955,6 +1957,7 @@ if(BUILD_PYTHON)
+ endif()
+ if(NOT MSVC)
+ target_compile_options(caffe2_pybind11_state_hip PRIVATE ${HIP_CXX_FLAGS} -fvisibility=hidden)
++ set_target_properties(caffe2_pybind11_state_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+ endif()
+ set_target_properties(caffe2_pybind11_state_hip PROPERTIES PREFIX "")
+ set_target_properties(caffe2_pybind11_state_hip PROPERTIES SUFFIX ${PY_EXT_SUFFIX})
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -1287,7 +1287,6 @@ if(USE_ROCM)
+ list(APPEND HIP_CXX_FLAGS -Wno-duplicate-decl-specifier)
+ list(APPEND HIP_CXX_FLAGS -DCAFFE2_USE_MIOPEN)
+ list(APPEND HIP_CXX_FLAGS -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP)
+- list(APPEND HIP_CXX_FLAGS -std=c++17)
+ add_definitions(-DROCM_VERSION=${ROCM_VERSION_DEV_INT})
+ add_definitions(-DTORCH_HIP_VERSION=${TORCH_HIP_VERSION})
+ message("TORCH_HIP_VERSION=${TORCH_HIP_VERSION} is added as a compiler defines")
+--- a/cmake/public/utils.cmake
++++ b/cmake/public/utils.cmake
+@@ -335,6 +335,7 @@ function(caffe2_hip_binary_target target_name_or_src)
+ caffe2_binary_target(${target_name_or_src})
+
+ target_compile_options(${__target} PRIVATE ${HIP_CXX_FLAGS})
++ set_target_properties(${__target} PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+ target_include_directories(${__target} PRIVATE ${Caffe2_HIP_INCLUDE})
+ endfunction()
+
+--- a/modules/detectron/CMakeLists.txt
++++ b/modules/detectron/CMakeLists.txt
+@@ -31,6 +31,7 @@ if(BUILD_CAFFE2_OPS)
+ ${Detectron_CPU_SRCS}
+ ${Detectron_HIP_SRCS})
+ target_compile_options(caffe2_detectron_ops_hip PRIVATE ${HIP_CXX_FLAGS})
++ set_target_properties(caffe2_detectron_ops_hip PROPERTIES CXX_STANDARD 17 CXX_EXTENSIONS OFF)
+ if(USE_MKLDNN)
+ target_link_libraries(caffe2_detectron_ops_hip PRIVATE caffe2::mkldnn)
+ endif()
diff --git a/sci-libs/caffe2/files/caffe2-2.2.1-gentoo.patch b/sci-libs/caffe2/files/caffe2-2.2.1-gentoo.patch
new file mode 100644
index 000000000000..5472a2c41836
--- /dev/null
+++ b/sci-libs/caffe2/files/caffe2-2.2.1-gentoo.patch
@@ -0,0 +1,195 @@
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -474,7 +474,7 @@
+ endif()
+
+ # ---[ QNNPACK
+-if(USE_QNNPACK)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+
+ if(NOT DEFINED QNNPACK_SOURCE_DIR)
+@@ -530,7 +530,7 @@
+ endif()
+
+ # ---[ Caffe2 Int8 operators (enabled by USE_QNNPACK) depend on gemmlowp and neon2sse headers
+-if(USE_QNNPACK)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+ include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
+ include_directories(SYSTEM "${CAFFE2_THIRD_PARTY_ROOT}/neon2sse")
+@@ -780,7 +780,7 @@
+ endif()
+
+ # ---[ FBGEMM
+-if(USE_FBGEMM)
++if(FALSE)
+ set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
+ if(NOT DEFINED FBGEMM_SOURCE_DIR)
+ set(FBGEMM_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/fbgemm" CACHE STRING "FBGEMM source directory")
+@@ -828,6 +828,7 @@
+ endif()
+
+ if(USE_FBGEMM)
++ list(APPEND Caffe2_DEPENDENCY_LIBS fbgemm)
+ caffe2_update_option(USE_FBGEMM ON)
+ else()
+ caffe2_update_option(USE_FBGEMM OFF)
+@@ -1529,7 +1530,6 @@
+ set_target_properties(onnx_proto PROPERTIES CXX_STANDARD 17)
+ endif()
+ endif()
+- add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../third_party/foxi EXCLUDE_FROM_ALL)
+
+ add_definitions(-DONNX_NAMESPACE=${ONNX_NAMESPACE})
+ if(NOT USE_SYSTEM_ONNX)
+@@ -1796,7 +1796,6 @@
+ #
+ set(TEMP_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE)
+-add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt)
+
+ # Disable compiler feature checks for `fmt`.
+ #
+@@ -1805,9 +1804,7 @@
+ # CMAKE_CXX_FLAGS in ways that break feature checks. Since we already know
+ # `fmt` is compatible with a superset of the compilers that PyTorch is, it
+ # shouldn't be too bad to just disable the checks.
+-set_target_properties(fmt-header-only PROPERTIES INTERFACE_COMPILE_FEATURES "")
+
+-list(APPEND Caffe2_DEPENDENCY_LIBS fmt::fmt-header-only)
+ set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE)
+
+ # ---[ Kineto
+--- a/c10/CMakeLists.txt
++++ b/c10/CMakeLists.txt
+@@ -89,7 +89,7 @@
+ if(C10_USE_GLOG)
+ target_link_libraries(c10 PUBLIC glog::glog)
+ endif()
+-target_link_libraries(c10 PRIVATE fmt::fmt-header-only)
++target_link_libraries(c10 PRIVATE fmt)
+
+ if(C10_USE_NUMA)
+ target_include_directories(c10 PRIVATE ${Numa_INCLUDE_DIR})
+--- a/torch/CMakeLists.txt
++++ b/torch/CMakeLists.txt
+@@ -59,15 +59,9 @@
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}/aten/src
+ ${CMAKE_BINARY_DIR}/caffe2/aten/src
+- ${CMAKE_BINARY_DIR}/third_party
+- ${CMAKE_BINARY_DIR}/third_party/onnx
+
+- ${TORCH_ROOT}/third_party/valgrind-headers
+
+- ${TORCH_ROOT}/third_party/gloo
+- ${TORCH_ROOT}/third_party/onnx
+- ${TORCH_ROOT}/third_party/flatbuffers/include
+- ${TORCH_ROOT}/third_party/kineto/libkineto/include
++ /usr/include/kineto
+
+ ${TORCH_SRC_DIR}/csrc
+ ${TORCH_SRC_DIR}/csrc/api/include
+@@ -80,7 +74,6 @@
+ python::python
+ pybind::pybind11
+ shm
+- fmt::fmt-header-only
+ ATEN_CPU_FILES_GEN_LIB)
+
+ if(USE_ASAN AND TARGET Sanitizer::address)
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -835,12 +835,11 @@
+ # Re-include to override append_cxx_flag_if_supported from third_party/FBGEMM
+ include(cmake/public/utils.cmake)
+ if(NOT MSVC)
+- string(APPEND CMAKE_CXX_FLAGS " -O2 -fPIC")
++ string(APPEND CMAKE_CXX_FLAGS " -O2")
+ # Eigen fails to build with some versions, so convert this to a warning
+ # Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459
+ string(APPEND CMAKE_CXX_FLAGS " -Wall")
+ string(APPEND CMAKE_CXX_FLAGS " -Wextra")
+- append_cxx_flag_if_supported("-Werror=return-type" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=non-virtual-dtor" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=braced-scalar-init" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-Werror=range-loop-construct" CMAKE_CXX_FLAGS)
+@@ -930,7 +930,6 @@
+ string(APPEND CMAKE_LINKER_FLAGS_DEBUG " -fno-omit-frame-pointer -O0")
+ append_cxx_flag_if_supported("-fno-math-errno" CMAKE_CXX_FLAGS)
+ append_cxx_flag_if_supported("-fno-trapping-math" CMAKE_CXX_FLAGS)
+- append_cxx_flag_if_supported("-Werror=format" CMAKE_CXX_FLAGS)
+ else()
+ # skip unwanted includes from windows.h
+ add_compile_definitions(WIN32_LEAN_AND_MEAN)
+--- a/cmake/public/utils.cmake
++++ b/cmake/public/utils.cmake
+@@ -486,8 +486,6 @@
+ endif()
+
+ # Use -O2 for release builds (-O3 doesn't improve perf, and -Os results in perf regression)
+- target_compile_options(${libname} PRIVATE
+- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>>>:-O2>)
+
+ endfunction()
+
+--- a/cmake/Codegen.cmake
++++ b/cmake/Codegen.cmake
+@@ -57,7 +57,7 @@
+ if(MSVC)
+ set(OPT_FLAG "/fp:strict ")
+ else(MSVC)
+- set(OPT_FLAG "-O3 ")
++ set(OPT_FLAG " ")
+ if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
+ set(OPT_FLAG " ")
+ endif()
+--- a/caffe2/CMakeLists.txt
++++ b/caffe2/CMakeLists.txt
+@@ -107,7 +107,7 @@
+ # Note: the folders that are being commented out have not been properly
+ # addressed yet.
+
+-if(NOT MSVC AND USE_XNNPACK)
++if(FALSE)
+ if(NOT TARGET fxdiv)
+ set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
+ set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
+@@ -1055,7 +1055,6 @@
+ endif()
+
+ if(NOT MSVC AND USE_XNNPACK)
+- TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv)
+ endif()
+
+ # ==========================================================
+@@ -1175,8 +1174,7 @@
+ target_include_directories(torch_cpu PRIVATE
+ ${TORCH_ROOT}/third_party/miniz-2.1.0)
+
+-target_include_directories(torch_cpu PRIVATE
+- ${TORCH_ROOT}/third_party/kineto/libkineto/include)
++target_include_directories(torch_cpu PRIVATE /usr/include/kineto)
+
+ if(USE_KINETO)
+ target_include_directories(torch_cpu PRIVATE
+--- a/cmake/External/nnpack.cmake
++++ b/cmake/External/nnpack.cmake
+@@ -56,7 +56,7 @@
+ set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
+ set(GOOGLETEST_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/googletest" CACHE STRING "Google Test source directory")
+
+- if(NOT TARGET nnpack)
++ if(FALSE)
+ if(NOT USE_SYSTEM_PTHREADPOOL AND USE_INTERNAL_PTHREADPOOL_IMPL)
+ set(NNPACK_CUSTOM_THREADPOOL ON CACHE BOOL "")
+ endif()
+--- a/functorch/CMakeLists.txt 2023-11-30 20:30:45.805209036 +0100
++++ b/functorch/CMakeLists.txt 2023-11-30 20:31:13.284766157 +0100
+@@ -35,4 +35,4 @@
+ if(NOT ${TORCH_PYTHON_LINK_FLAGS} STREQUAL "")
+ set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS ${TORCH_PYTHON_LINK_FLAGS})
+ endif()
+-install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}")
++install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_LIBDIR}")
diff --git a/sci-libs/caffe2/metadata.xml b/sci-libs/caffe2/metadata.xml
new file mode 100644
index 000000000000..ed1f9fa58993
--- /dev/null
+++ b/sci-libs/caffe2/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="distributed">Support distributed applications</flag>
+ <flag name="fbgemm">Use FBGEMM</flag>
+ <flag name="ffmpeg">Add support for video processing operators</flag>
+ <flag name="gloo">Use sci-libs/gloo</flag>
+ <flag name="mkl">Use <pkg>sci-libs/mkl</pkg> for blas, lapack and sparse blas routines</flag>
+ <flag name="nnpack">Use NNPACK</flag>
+ <flag name="numpy">Add support for math operations through numpy</flag>
+ <flag name="onednn">Use oneDNN</flag>
+ <flag name="openblas">Use <pkg>sci-libs/openblas</pkg> for blas routines</flag>
+ <flag name="opencv">Add support for image processing operators</flag>
+ <flag name="openmp">Use OpenMP for parallel code</flag>
+ <flag name="qnnpack">Use QNNPACK</flag>
+ <flag name="rocm">Enable ROCm gpu computing support</flag>
+ <flag name="tensorpipe">Use tensorpipe</flag>
+ <flag name="xnnpack">Use XNNPACK</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">pytorch/pytorch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/camd/Manifest b/sci-libs/camd/Manifest
index e4e03474d03c..16b8f196b932 100644
--- a/sci-libs/camd/Manifest
+++ b/sci-libs/camd/Manifest
@@ -1,2 +1,2 @@
-DIST camd-2.3.1.tar.bz2 319766 BLAKE2B f812b457ede3b86fd7fd99f8cc2ea8f19a917c96cf33ca65c6bb2d0f7ebdb37b08af5cd8ad260bf4a636f2d884527c928c026edab23fffacafdd87ef2ce416e8 SHA512 13c5d687b9314f43a6c7237c7541e0c21cc544ffe52f8a984f64c5177a9f1f6b5ab07e9190388587f273424db8e6076ef050f836dbc9f33ca44e94d0034c8070
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST camd-2.4.6.tar.bz2 317071 BLAKE2B 8f982050a20f00c9443063a0473caa4aa27efe005fe07b503cb68b29499152561fc9d30d00783607b1e8fb8af88707eabfe22d192b80e375b8a6d04d7a9a26d7 SHA512 c4020ed3e063d04f5d7d1a301719b1a5b5b912d505858f046654c9d283c41ff01d55f668fb7f7179a6ac636f5a5b80f71cac5eb5b1e5cae0ede97d946d62a1d0
diff --git a/sci-libs/camd/camd-2.3.1.ebuild b/sci-libs/camd/camd-2.3.1.ebuild
deleted file mode 100644
index 7649e2903590..000000000000
--- a/sci-libs/camd/camd-2.3.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~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/camd-2.4.6-r1.ebuild b/sci-libs/camd/camd-2.4.6-r1.ebuild
new file mode 100644
index 000000000000..435f8599933f
--- /dev/null
+++ b/sci-libs/camd/camd-2.4.6-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="doc"
+
+BDEPEND="virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+DEPEND=">=sci-libs/suitesparseconfig-5.4.0"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.4.6-dash_doc.patch )
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_with doc)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/camd/camd-2.4.6.ebuild b/sci-libs/camd/camd-2.4.6.ebuild
deleted file mode 100644
index aae954b8c080..000000000000
--- a/sci-libs/camd/camd-2.4.6.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
-SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="doc static-libs"
-
-BDEPEND="virtual/pkgconfig
- doc? ( virtual/latex-base )"
-DEPEND=">=sci-libs/suitesparseconfig-5.4.0"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- $(use_with doc) \
- $(use_enable static-libs static)
-}
diff --git a/sci-libs/camd/camd-3.0.3.ebuild b/sci-libs/camd/camd-3.0.3.ebuild
new file mode 100644
index 000000000000..b45cf3bd3ee6
--- /dev/null
+++ b/sci-libs/camd/camd-3.0.3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Library to order a sparse matrix prior to Cholesky factorization"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run demo files
+ local demofiles=(
+ camd_demo
+ camd_l_demo
+ camd_demo2
+ camd_simple
+ )
+ for i in ${demofiles[@]}; do
+ ./"${i}" > "${i}.out" || die "failed to run test ${i}"
+ diff "${S}/Demo/${i}.out" "${i}.out" || die "failed testing ${i}"
+ done
+ einfo "All tests passed"
+}
+
+multilib_src_install() {
+ if use doc; then
+ pushd "${S}/Doc"
+ emake clean
+ rm -rf *.pdf
+ emake
+ popd
+ DOCS="${S}/Doc/*.pdf"
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/camd/files/camd-2.4.6-dash_doc.patch b/sci-libs/camd/files/camd-2.4.6-dash_doc.patch
new file mode 100644
index 000000000000..c70ed070f2a3
--- /dev/null
+++ b/sci-libs/camd/files/camd-2.4.6-dash_doc.patch
@@ -0,0 +1,16 @@
+diff --git a/Doc/Makefile.am b/Doc/Makefile.am
+index 80f5653..71c130a 100644
+--- a/Doc/Makefile.am
++++ b/Doc/Makefile.am
+@@ -1,9 +1,8 @@
+
+ CAMD_UserGuide.pdf:
+- echo '\begin{verbatim}' > camd_h.tex
++ printf '\\begin{verbatim}\n' > camd_h.tex
+ expand -8 $(top_srcdir)/Include/camd.h >> camd_h.tex
+- echo '\end{verbatim}' >> camd_h.tex
+- -ln -s $(srcdir)/*.{tex,bib} .
++ printf '\\end{verbatim}\n' >> camd_h.tex
+ $(PDFLATEX) CAMD_UserGuide
+ $(BIBTEX) CAMD_UserGuide
+ $(PDFLATEX) CAMD_UserGuide
diff --git a/sci-libs/camd/metadata.xml b/sci-libs/camd/metadata.xml
index f543de2655de..728817ca7a84 100644
--- a/sci-libs/camd/metadata.xml
+++ b/sci-libs/camd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -9,5 +9,8 @@
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>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/cantera/Manifest b/sci-libs/cantera/Manifest
index a4660bf3bfdd..fe074558539e 100644
--- a/sci-libs/cantera/Manifest
+++ b/sci-libs/cantera/Manifest
@@ -1 +1 @@
-DIST cantera-2.4.0.tar.gz 2321316 BLAKE2B 40750e3864afa3d35817e6f5777a6ac235261e9d134ef749966dbd738a2af5efec2882e6dcc719851f88656b41469e2159d3bff3df32f6abdf57db3b0a2afcae SHA512 8bb0fee34fa5bc9ec78e6f21a100eaa77bdd966bd0b7f0fa27d452e4f122c69e61648beef847178490f5c5d56267a96f6081cac9ccd03cea153c32814e0e84e9
+DIST cantera-3.0.0.tar.gz 2451103 BLAKE2B 094d7a4f0b8fd0f1a45d9f8c13e1390cf7fc62110e424e1287030e97382c1cdc016a5119adc4d5c7bbc222420a3b447db93fee8350643cb3a0907a838fbc1ddf SHA512 dffd696628210ae5c7b08e394e9a97262cfa6aa07ac2e6faa48591ecfee5bb11e7c2b6928563007fd581a1fd9cae999f7c1414ab5d5a312a823e155573df7aca
diff --git a/sci-libs/cantera/cantera-2.4.0-r4.ebuild b/sci-libs/cantera/cantera-2.4.0-r4.ebuild
deleted file mode 100644
index d3f8fb2e514b..000000000000
--- a/sci-libs/cantera/cantera-2.4.0-r4.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=90
-
-inherit desktop fortran-2 python-single-r1 scons-utils toolchain-funcs
-
-DESCRIPTION="Object-oriented tool suite for chemical kinetics, thermodynamics, and transport"
-HOMEPAGE="https://www.cantera.org"
-SRC_URI="https://github.com/Cantera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="+cti fortran pch +python test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- python? ( cti )
- ${PYTHON_REQUIRED_USE}
- "
-
-RDEPEND="
- ${PYTHON_DEPS}
- python? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
- ')
- )
- <sci-libs/sundials-5.2.0:0=
-"
-
-DEPEND="
- ${RDEPEND}
- dev-cpp/eigen:3
- dev-libs/boost
- dev-libs/libfmt
- python? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_MULTI_USEDEP}]
- ')
- )
- test? (
- >=dev-cpp/gtest-1.8.0
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}_${PV}_env.patch"
- "${FILESDIR}/${PN}_${PV}_env_python_install.patch"
- "${FILESDIR}/${PN}_${PV}_sundials4.patch"
- )
-
-pkg_setup() {
- fortran-2_pkg_setup
- python-single-r1_pkg_setup
-}
-
-## Full list of configuration options of Cantera is presented here:
-## http://cantera.org/docs/sphinx/html/compiling/config-options.html
-
-src_configure() {
- scons_vars=(
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
- cc_flags="${CXXFLAGS}"
- cxx_flags="-std=c++11"
- debug="no"
- FORTRAN="$(tc-getFC)"
- FORTRANFLAGS="${CXXFLAGS}"
- optimize_flags="-Wno-inline"
- renamed_shared_libraries="no"
- use_pch=$(usex pch)
-## In some cases other order can break the detection of right location of Boost: ##
- system_fmt="y"
- system_sundials="y"
- system_eigen="y"
- env_vars="all"
- extra_inc_dirs="/usr/include/eigen3"
- )
- use test || scons_vars+=( googletest="none" )
-
- scons_targets=(
- f90_interface=$(usex fortran y n)
- python2_package="none"
- )
-
- if use cti ; then
- local scons_python=$(usex python full minimal)
- scons_targets+=( python3_package="${scons_python}" python3_cmd="${EPYTHON}" )
- else
- scons_targets+=( python3_package="none" )
- fi
-}
-
-src_compile() {
- escons build "${scons_vars[@]}" "${scons_targets[@]}" prefix="/usr"
-}
-
-src_test() {
- escons test
-}
-
-src_install() {
- escons install stage_dir="${D}" libdirname="$(get_libdir)"
- if ! use cti ; then
- rm -r "${D}/usr/share/man" || die "Can't remove man files."
- else
- # Run the byte-compile of modules
- python_optimize "${D}/$(python_get_sitedir)/${PN}"
- fi
-}
-
-pkg_postinst() {
- if use cti && ! use python ; then
- elog "Cantera was build without 'python' use-flag therefore the CTI tool 'ck2cti'"
- elog "will convert Chemkin files to Cantera format without verification of kinetic mechanism."
- fi
-
- local post_msg=$(usex fortran "and Fortran " "")
- elog "C++ ${post_msg}samples are installed to '/usr/share/${PN}/samples/' directory."
-
- if use python ; then
- elog "Python examples are installed to '$(python_get_sitedir)/${PN}/examples/' directories."
- fi
-}
diff --git a/sci-libs/cantera/cantera-2.4.0-r5.ebuild b/sci-libs/cantera/cantera-2.4.0-r5.ebuild
deleted file mode 100644
index ac2a89b4ddd4..000000000000
--- a/sci-libs/cantera/cantera-2.4.0-r5.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=90
-
-inherit desktop fortran-2 python-single-r1 scons-utils toolchain-funcs
-
-DESCRIPTION="Object-oriented tool suite for chemical kinetics, thermodynamics, and transport"
-HOMEPAGE="https://www.cantera.org"
-SRC_URI="https://github.com/Cantera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+cti fortran pch +python test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- python? ( cti )
- ${PYTHON_REQUIRED_USE}
- "
-
-RDEPEND="
- ${PYTHON_DEPS}
- python? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
- ')
- )
- <sci-libs/sundials-5.3.0:0=
-"
-
-DEPEND="
- ${RDEPEND}
- dev-cpp/eigen:3
- dev-libs/boost
- dev-libs/libfmt
- python? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_MULTI_USEDEP}]
- ')
- )
- test? (
- >=dev-cpp/gtest-1.8.0
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}_${PV}_env.patch"
- "${FILESDIR}/${PN}_${PV}_env_python_install_prefix.patch"
- "${FILESDIR}/${PN}_${PV}_sundials4.patch"
-)
-
-pkg_setup() {
- fortran-2_pkg_setup
- python-single-r1_pkg_setup
-}
-
-## Full list of configuration options of Cantera is presented here:
-## http://cantera.org/docs/sphinx/html/compiling/config-options.html
-
-src_configure() {
- scons_vars=(
- CC="$(tc-getCC)"
- CXX="$(tc-getCXX)"
- cc_flags="${CXXFLAGS}"
- cxx_flags="-std=c++11"
- debug="no"
- FORTRAN="$(tc-getFC)"
- FORTRANFLAGS="${FFLAGS}"
- optimize_flags="-Wno-inline"
- renamed_shared_libraries="no"
- use_pch=$(usex pch)
-## In some cases other order can break the detection of right location of Boost: ##
- system_fmt="y"
- system_sundials="y"
- system_eigen="y"
- env_vars="all"
- extra_inc_dirs="/usr/include/eigen3"
- )
- use test || scons_vars+=( googletest="none" )
-
- scons_targets=(
- f90_interface=$(usex fortran y n)
- python2_package="none"
- )
-
- if use cti ; then
- local scons_python=$(usex python full minimal)
- scons_targets+=( python3_package="${scons_python}" python3_cmd="${EPYTHON}" )
- else
- scons_targets+=( python3_package="none" )
- fi
-}
-
-src_compile() {
- escons build "${scons_vars[@]}" "${scons_targets[@]}" prefix="/usr"
-}
-
-src_test() {
- escons test
-}
-
-src_install() {
- escons install stage_dir="${D}" libdirname="$(get_libdir)" python3_prefix="$(python_get_sitedir)"
- if ! use cti ; then
- rm -r "${D}/usr/share/man" || die "Can't remove man files."
- else
- # Run the byte-compile of modules
- python_optimize "${D}/$(python_get_sitedir)/${PN}"
- fi
-}
-
-pkg_postinst() {
- if use cti && ! use python ; then
- elog "Cantera was build without 'python' use-flag therefore the CTI tool 'ck2cti'"
- elog "will convert Chemkin files to Cantera format without verification of kinetic mechanism."
- fi
-
- local post_msg=$(usex fortran "and Fortran " "")
- elog "C++ ${post_msg}samples are installed to '/usr/share/${PN}/samples/' directory."
-
- if use python ; then
- elog "Python examples are installed to '$(python_get_sitedir)/${PN}/examples/' directories."
- fi
-}
diff --git a/sci-libs/cantera/cantera-3.0.0-r1.ebuild b/sci-libs/cantera/cantera-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..9f0de3263452
--- /dev/null
+++ b/sci-libs/cantera/cantera-3.0.0-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="77 90"
+
+inherit fortran-2 python-single-r1 scons-utils toolchain-funcs
+
+DESCRIPTION="Object-oriented tool suite for chemical kinetics, thermodynamics, and transport"
+HOMEPAGE="https://www.cantera.org"
+SRC_URI="https://github.com/Cantera/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="fortran hdf5 lapack +python test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/yaml-cpp
+ hdf5? ( sci-libs/HighFive )
+ !lapack? ( sci-libs/sundials:0= )
+ lapack? (
+ >=sci-libs/sundials-6.5.0:0=[lapack?]
+ virtual/lapack
+ )
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/eigen:3
+ dev-libs/boost:=
+ dev-libs/libfmt
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ >=dev-cpp/gtest-1.11.0
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}_env.patch"
+ "${FILESDIR}/${P}_enable_python-3.12.patch"
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+## Full list of configuration options of Cantera is presented here:
+## http://cantera.org/docs/sphinx/html/compiling/config-options.html
+src_configure() {
+ scons_vars=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ cc_flags="${CXXFLAGS}"
+ cxx_flags="-std=c++17"
+ debug="no"
+ FORTRAN="$(tc-getFC)"
+ FORTRANFLAGS="${FCFLAGS}"
+ optimize_flags="-Wno-inline"
+ renamed_shared_libraries="no"
+ use_pch="no"
+ ## In some cases other order can break the detection of right location of Boost: ##
+ system_fmt="y"
+ system_sundials="y"
+ system_eigen="y"
+ system_yamlcpp="y"
+ hdf_support=$(usex hdf5 y n)
+ system_blas_lapack=$(usex lapack y n)
+ env_vars="all"
+ extra_inc_dirs="/usr/include/eigen3"
+ use_rpath_linkage="yes"
+ extra_lib_dirs="/usr/$(get_libdir)/${PN}"
+ )
+ use hdf5 && scons_vars+=( system_highfive="y" )
+ use lapack && scons_vars+=( blas_lapack_libs="lapack,blas" )
+ use test || scons_vars+=( googletest="none" )
+
+ scons_targets=(
+ f90_interface=$(usex fortran y n)
+ )
+
+ if use python ; then
+ scons_targets+=( python_package="full" python_cmd="${EPYTHON}" )
+ else
+ scons_targets+=( python_package="none" )
+ fi
+}
+
+src_compile() {
+ escons build "${scons_vars[@]}" "${scons_targets[@]}" prefix="/usr"
+}
+
+src_test() {
+ escons test
+}
+
+src_install() {
+ escons install stage_dir="${D}" libdirname="$(get_libdir)"
+ if ! use python ; then
+ rm -r "${D}/usr/share/man" || die "Can't remove man files."
+ else
+ # Run the byte-compile of modules
+ python_optimize "${D}$(python_get_sitedir)/${PN}"
+ fi
+
+ # User could remove this line if require static libs for development purpose
+ find "${ED}" -name '*.a' -delete || die
+}
+
+pkg_postinst() {
+ local post_msg=$(usex fortran "and Fortran " "")
+ elog "C++ ${post_msg}samples are installed to '/usr/share/${PN}/samples/' directory."
+}
diff --git a/sci-libs/cantera/files/cantera-3.0.0_enable_python-3.12.patch b/sci-libs/cantera/files/cantera-3.0.0_enable_python-3.12.patch
new file mode 100644
index 000000000000..8efa7b0df9c5
--- /dev/null
+++ b/sci-libs/cantera/files/cantera-3.0.0_enable_python-3.12.patch
@@ -0,0 +1,75 @@
+From 27f8362f537fc313f8fdb5c07649ef0d92e3b7f6 Mon Sep 17 00:00:00 2001
+From: "Mark E. Fuller" <mark.e.fuller@gmx.de>
+Date: Sat, 26 Aug 2023 01:04:03 +0300
+Subject: [PATCH] mods to enable python3.12
+
+---
+ .github/workflows/main.yml | 2 +-
+ interfaces/cython/setup.cfg.in | 1 +
+ interfaces/python_minimal/setup.cfg.in | 1 +
+ interfaces/python_sdist/setup.cfg.in | 1 +
+ src/base/application.h | 2 +-
+ 5 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
+index 60822189bb..366ddd8435 100644
+--- a/.github/workflows/main.yml
++++ b/.github/workflows/main.yml
+@@ -65,7 +65,7 @@ jobs:
+ timeout-minutes: 60
+ strategy:
+ matrix:
+- python-version: ['3.8', '3.10', '3.11']
++ python-version: ['3.8', '3.10', '3.11', '3.12']
+ os: ['ubuntu-20.04', 'ubuntu-22.04']
+ fail-fast: false
+ env:
+diff --git a/interfaces/cython/setup.cfg.in b/interfaces/cython/setup.cfg.in
+index 1a0358a77d..fd3c0b53c4 100644
+--- a/interfaces/cython/setup.cfg.in
++++ b/interfaces/cython/setup.cfg.in
+@@ -27,6 +27,7 @@ classifiers =
+ Programming Language :: Python :: 3.9
+ Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
++ Programming Language :: Python :: 3.12
+ Programming Language :: Python :: Implementation :: CPython
+ Topic :: Scientific/Engineering :: Chemistry
+ Topic :: Scientific/Engineering :: Physics
+diff --git a/interfaces/python_minimal/setup.cfg.in b/interfaces/python_minimal/setup.cfg.in
+index 2d96c75eda..753b619ede 100644
+--- a/interfaces/python_minimal/setup.cfg.in
++++ b/interfaces/python_minimal/setup.cfg.in
+@@ -23,6 +23,7 @@ classifiers =
+ Programming Language :: Python :: 3.9
+ Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
++ Programming Language :: Python :: 3.12
+ Topic :: Scientific/Engineering :: Chemistry
+ Topic :: Scientific/Engineering :: Physics
+ project_urls =
+diff --git a/interfaces/python_sdist/setup.cfg.in b/interfaces/python_sdist/setup.cfg.in
+index 219e53a3f0..e356b422b8 100644
+--- a/interfaces/python_sdist/setup.cfg.in
++++ b/interfaces/python_sdist/setup.cfg.in
+@@ -27,6 +27,7 @@ classifiers =
+ Programming Language :: Python :: 3.9
+ Programming Language :: Python :: 3.10
+ Programming Language :: Python :: 3.11
++ Programming Language :: Python :: 3.12
+ Programming Language :: Python :: Implementation :: CPython
+ Topic :: Scientific/Engineering :: Chemistry
+ Topic :: Scientific/Engineering :: Physics
+diff --git a/src/base/application.h b/src/base/application.h
+index 76a6c671a2..b03c049f14 100644
+--- a/src/base/application.h
++++ b/src/base/application.h
+@@ -434,7 +434,7 @@ class Application
+ vector<string> inputDirs;
+
+ //! Versions of Python to consider when attempting to load user extensions
+- vector<string> m_pythonSearchVersions = {"3.11", "3.10", "3.9", "3.8"};
++ vector<string> m_pythonSearchVersions = {"3.12", "3.11", "3.10", "3.9", "3.8"};
+
+ //! Set of deprecation warnings that have been emitted (to suppress duplicates)
+ set<string> warnings;
diff --git a/sci-libs/cantera/files/cantera-3.0.0_env.patch b/sci-libs/cantera/files/cantera-3.0.0_env.patch
new file mode 100644
index 000000000000..cfc2874250e4
--- /dev/null
+++ b/sci-libs/cantera/files/cantera-3.0.0_env.patch
@@ -0,0 +1,37 @@
+diff -Naur a/SConstruct b/SConstruct
+--- a/SConstruct
++++ b/SConstruct
+@@ -819,7 +819,7 @@
+ toolchain = ["default"]
+
+ env = Environment(tools=toolchain+["textfile", "subst", "recursiveInstall", "UnitsInterfaceBuilder", "wix", "gch"],
+- ENV={"PATH": os.environ["PATH"]},
++ ENV={'PATH': os.environ['PATH'], 'CCACHE_DIR': os.environ.get('CCACHE_DIR','')},
+ toolchain=toolchain,
+ **extraEnvArgs)
+
+@@ -970,11 +974,7 @@
+ env["CPU"] = get_processor_name()
+ logger.info(f"Compiling on {env['CPU']!r}")
+
+-try:
+- env["git_commit"] = get_command_output("git", "rev-parse", "--short", "HEAD")
+- logger.info(f"Building Cantera from git commit {env['git_commit']!r}")
+-except (subprocess.CalledProcessError, FileNotFoundError):
+- env["git_commit"] = "unknown"
++env["git_commit"] = "unknown"
+
+ # Print values of all build options:
+ # the (updated) "cantera.conf" combines all options that were specified by the user
+diff -Naur a/src/SConscript b/src/SConscript
+--- a/src/SConscript
++++ b/src/SConscript
+@@ -89,7 +89,7 @@
+ shim = pyenv.SharedObject("extensions/pythonShim.cpp")
+ pylibname = f"../lib/cantera_python{pyenv['py_version_short'].replace('.', '_')}"
+ lib = build(pyenv.SharedLibrary(pylibname, shim, SPAWN=get_spawn(pyenv)))
+- install("$inst_shlibdir", lib)
++ install("$inst_shlibdir/cantera", lib)
+
+
+ # build the Cantera static library
diff --git a/sci-libs/cantera/files/cantera_2.4.0_env.patch b/sci-libs/cantera/files/cantera_2.4.0_env.patch
deleted file mode 100644
index 8b0926f7b916..000000000000
--- a/sci-libs/cantera/files/cantera_2.4.0_env.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff -Nur old/cantera-2.4.0/SConstruct new/cantera-2.4.0/SConstruct
---- old/SConstruct 2018-08-24 16:24:45.000000000 +0300
-+++ new/SConstruct 2019-07-17 15:50:06.000000000 +0300
-@@ -189,7 +189,7 @@
- toolchain = ['default']
-
- env = Environment(tools=toolchain+['textfile', 'subst', 'recursiveInstall', 'wix', 'gch'],
-- ENV={'PATH': os.environ['PATH']},
-+ ENV={'PATH': os.environ['PATH'], 'CCACHE_DIR': os.environ.get('CCACHE_DIR','')},
- toolchain=toolchain,
- **extraEnvArgs)
-
-@@ -327,6 +327,14 @@
- 'prefix',
- 'Set this to the directory where Cantera should be installed.',
- defaults.prefix, PathVariable.PathAccept),
-+ PathVariable(
-+ 'libdirname',
-+ """Set this to the directory where Cantera libraries should be installed.
-+ Some distributions (e.g. Fedora/RHEL) use 'lib64' instead of 'lib' on 64-bit systems
-+ or could use some other library directory name instead of 'lib' depends
-+ on architecture and profile (e.g. Gentoo 'libx32' on x32 profile).
-+ If user didn't set 'libdirname' configuration variable set it to default value 'lib'""",
-+ 'lib', PathVariable.PathAccept),
- EnumVariable(
- 'python_package',
- """If you plan to work in Python, then you need the ``full`` Cantera Python
-@@ -723,10 +731,7 @@
- env['cantera_pure_version'] = '.'.join(str(x) for x in ctversion.version)
- env['cantera_short_version'] = '.'.join(str(x) for x in ctversion.version[:2])
-
--try:
-- env['git_commit'] = getCommandOutput('git', 'rev-parse', '--short', 'HEAD')
--except Exception:
-- env['git_commit'] = 'unknown'
-+env['git_commit'] = 'unknown'
-
- # Print values of all build options:
- print("Configuration variables read from 'cantera.conf' and command line:")
-@@ -1061,7 +1066,7 @@
-
- # Ignore the minor version, e.g. 2.4.x -> 2.4
- env['sundials_version'] = '.'.join(sundials_version.split('.')[:2])
-- if env['sundials_version'] not in ('2.4','2.5','2.6','2.7','3.0','3.1'):
-+ if env['sundials_version'] not in ('2.4','2.5','2.6','2.7','3.0','3.1','3.2'):
- print("""ERROR: Sundials version %r is not supported.""" % env['sundials_version'])
- sys.exit(1)
- print("""INFO: Using system installation of Sundials version %s.""" % sundials_version)
-@@ -1465,12 +1470,6 @@
- # *** Set additional configuration variables ***
- # **********************************************
-
--# Some distributions (e.g. Fedora/RHEL) use 'lib64' instead of 'lib' on 64-bit systems
--if any(name.startswith('/usr/lib64/python') for name in sys.path):
-- env['libdirname'] = 'lib64'
--else:
-- env['libdirname'] = 'lib'
--
- # On Debian-based systems, need to special-case installation to
- # /usr/local because of dist-packages vs site-packages
- env['debian'] = any(name.endswith('dist-packages') for name in sys.path)
-diff -Nur old/cantera-2.4.0/test_problems/SConscript new/cantera-2.4.0/test_problems/SConscript
---- old/test_problems/SConscript 2018-08-24 16:24:45.000000000 +0300
-+++ new/test_problems/SConscript 2019-07-17 15:41:35.000000000 +0300
-@@ -282,7 +282,7 @@
- CompileAndTest('VPsilane_test', 'VPsilane_test', 'VPsilane_test', 'output_blessed.txt')
-
- CompileAndTest('clib', 'clib_test', 'clib_test', 'output_blessed.txt',
-- extensions=['^clib_test.c'], libs=['cantera_shared'])
-+ extensions=['^clib_test.c'])
-
- # Force explicitly-named tests to run even if SCons thinks they're up to date
- for command in COMMAND_LINE_TARGETS:
diff --git a/sci-libs/cantera/files/cantera_2.4.0_env_python_install.patch b/sci-libs/cantera/files/cantera_2.4.0_env_python_install.patch
deleted file mode 100644
index 2e01fed1fa93..000000000000
--- a/sci-libs/cantera/files/cantera_2.4.0_env_python_install.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Nur old/interfaces/cython/SConscript new/interfaces/cython/SConscript
---- old/interfaces/cython/SConscript 2018-08-24 16:24:45.000000000 +0300
-+++ new/interfaces/cython/SConscript 2019-08-14 04:28:41.000000000 +0300
-@@ -83,10 +83,10 @@
- extra = ''
- elif localenv['OS'] == 'Darwin':
- extra = localenv.subst(' --prefix=${python%s_prefix}' % major)
-- elif localenv['libdirname'] == 'lib64':
-- # 64-bit RHEL / Fedora
-+ elif localenv['libdirname'] != 'lib':
-+ # 64-bit RHEL / Fedora etc. or e.g. x32 Gentoo profile
- extra = localenv.subst(
-- ' --prefix=${python%s_prefix} --install-lib=${python%s_prefix}/lib64/python%s.%s/site-packages' % (major, major, major, minor))
-+ ' --prefix=${python%s_prefix} --install-lib=${python%s_prefix}/${libdirname}/python%s.%s/site-packages' % (major, major, major, minor))
- else:
- extra = '--user'
- localenv.AppendENVPath(
diff --git a/sci-libs/cantera/files/cantera_2.4.0_env_python_install_prefix.patch b/sci-libs/cantera/files/cantera_2.4.0_env_python_install_prefix.patch
deleted file mode 100644
index 838907996361..000000000000
--- a/sci-libs/cantera/files/cantera_2.4.0_env_python_install_prefix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Nur old/interfaces/cython/SConscript new/interfaces/cython/SConscript
---- old/interfaces/cython/SConscript 2018-08-24 16:24:45.000000000 +0300
-+++ new/interfaces/cython/SConscript 2019-08-14 04:28:41.000000000 +0300
-@@ -83,10 +83,10 @@
- extra = ''
- elif localenv['OS'] == 'Darwin':
- extra = localenv.subst(' --prefix=${python%s_prefix}' % major)
-- elif localenv['libdirname'] == 'lib64':
-- # 64-bit RHEL / Fedora
-+ elif localenv['libdirname'] != 'lib':
-+ # 64-bit RHEL / Fedora etc. or e.g. x32 Gentoo profile
- extra = localenv.subst(
-- ' --prefix=${python%s_prefix} --install-lib=${python%s_prefix}/lib64/python%s.%s/site-packages' % (major, major, major, minor))
-+ ' --prefix=${stage_dir}${prefix} --install-lib=${python%s_prefix}' % (major))
- else:
- extra = '--user'
- localenv.AppendENVPath(
diff --git a/sci-libs/cantera/files/cantera_2.4.0_sundials4.patch b/sci-libs/cantera/files/cantera_2.4.0_sundials4.patch
deleted file mode 100644
index 0b4d3abf8541..000000000000
--- a/sci-libs/cantera/files/cantera_2.4.0_sundials4.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-diff -Naur a/SConstruct b/SConstruct
---- a/SConstruct 2020-04-21 13:55:06.000000000 +0300
-+++ b/SConstruct 2020-04-21 13:55:54.000000000 +0300
-@@ -1013,23 +1013,29 @@
-
- import SCons.Conftest, SCons.SConf
- context = SCons.SConf.CheckContext(conf)
--ret = SCons.Conftest.CheckLib(context,
-- ['sundials_cvodes'],
-- header='#include "cvodes/cvodes.h"',
-- language='C++',
-- call='CVodeCreate(CV_BDF, CV_NEWTON);',
-- autoadd=False,
-- extra_libs=env['blas_lapack_libs'])
--if ret:
-+
-+# Check initially for Sundials<=3.2 and then for Sundials>=4.0
-+for cvode_call in ['CVodeCreate(CV_BDF, CV_NEWTON);','CVodeCreate(CV_BDF);']:
-+ ret = SCons.Conftest.CheckLib(context,
-+ ['sundials_cvodes'],
-+ header='#include "cvodes/cvodes.h"',
-+ language='C++',
-+ call=cvode_call,
-+ autoadd=False,
-+ extra_libs=env['blas_lapack_libs'])
- # CheckLib returns False to indicate success
-+ if not ret:
-+ if env['system_sundials'] == 'default':
-+ env['system_sundials'] = 'y'
-+ break
-+
-+# Execute if the cycle ends without 'break'
-+else:
- if env['system_sundials'] == 'default':
- env['system_sundials'] = 'n'
- elif env['system_sundials'] == 'y':
- config_error('Expected system installation of Sundials, but it could '
- 'not be found.')
--elif env['system_sundials'] == 'default':
-- env['system_sundials'] = 'y'
--
-
- # Checkout Sundials submodule if needed
- if (env['system_sundials'] == 'n' and
-@@ -1066,13 +1072,14 @@
-
- # Ignore the minor version, e.g. 2.4.x -> 2.4
- env['sundials_version'] = '.'.join(sundials_version.split('.')[:2])
-- if env['sundials_version'] not in ('2.4','2.5','2.6','2.7','3.0','3.1','3.2'):
-+ sundials_ver = LooseVersion(env['sundials_version'])
-+ if sundials_ver < LooseVersion('2.4') or sundials_ver >= LooseVersion('6.0'):
- print("""ERROR: Sundials version %r is not supported.""" % env['sundials_version'])
- sys.exit(1)
- print("""INFO: Using system installation of Sundials version %s.""" % sundials_version)
-
- #Determine whether or not Sundials was built with BLAS/LAPACK
-- if LooseVersion(env['sundials_version']) < LooseVersion('2.6'):
-+ if sundials_ver < LooseVersion('2.6'):
- # In Sundials 2.4 / 2.5, SUNDIALS_BLAS_LAPACK is either 0 or 1
- sundials_blas_lapack = get_expression_value(['"sundials/sundials_config.h"'],
- 'SUNDIALS_BLAS_LAPACK')
-@@ -1690,7 +1697,7 @@
-
- if env['system_sundials'] == 'y':
- env['sundials_libs'] = ['sundials_cvodes', 'sundials_ida', 'sundials_nvecserial']
-- if env['use_lapack'] and LooseVersion(env['sundials_version']) >= LooseVersion('3.0'):
-+ if env['use_lapack'] and sundials_ver >= LooseVersion('3.0'):
- if env.get('has_sundials_lapack'):
- env['sundials_libs'].extend(('sundials_sunlinsollapackdense',
- 'sundials_sunlinsollapackband'))
-diff -Naur a/include/cantera/numerics/CVodesIntegrator.h b/include/cantera/numerics/CVodesIntegrator.h
---- a/include/cantera/numerics/CVodesIntegrator.h 2018-08-24 16:24:45.000000000 +0300
-+++ b/include/cantera/numerics/CVodesIntegrator.h 2020-04-21 13:55:54.000000000 +0300
-@@ -49,7 +49,6 @@
- m_maxord = n;
- }
- virtual void setMethod(MethodType t);
-- virtual void setIterator(IterType t);
- virtual void setMaxStepSize(double hmax);
- virtual void setMinStepSize(double hmin);
- virtual void setMaxSteps(int nmax);
-diff -Naur a/include/cantera/numerics/Integrator.h b/include/cantera/numerics/Integrator.h
---- a/include/cantera/numerics/Integrator.h 2018-08-24 16:24:45.000000000 +0300
-+++ b/include/cantera/numerics/Integrator.h 2020-04-21 13:55:54.000000000 +0300
-@@ -34,17 +34,6 @@
- Adams_Method //! Adams
- };
-
--//! Specifies the method used for iteration.
--/*!
-- * Not all methods are supported by all integrators.
-- */
--enum IterType {
-- //! Newton Iteration
-- Newton_Iter,
-- //! Functional Iteration
-- Functional_Iter
--};
--
- //! Abstract base class for ODE system integrators.
- /*!
- * @ingroup odeGroup
-@@ -163,11 +152,6 @@
- warn("setMethodType");
- }
-
-- //! Set the linear iterator.
-- virtual void setIterator(IterType t) {
-- warn("setInterator");
-- }
--
- //! Set the maximum step size
- virtual void setMaxStepSize(double hmax) {
- warn("setMaxStepSize");
-diff -Naur a/src/kinetics/ImplicitSurfChem.cpp b/src/kinetics/ImplicitSurfChem.cpp
---- a/src/kinetics/ImplicitSurfChem.cpp 2018-08-24 16:24:45.000000000 +0300
-+++ b/src/kinetics/ImplicitSurfChem.cpp 2020-04-21 13:55:54.000000000 +0300
-@@ -79,7 +79,6 @@
- // numerically, and use a Newton linear iterator
- m_integ->setMethod(BDF_Method);
- m_integ->setProblemType(DENSE + NOJAC);
-- m_integ->setIterator(Newton_Iter);
- m_work.resize(ntmax);
- }
-
-diff -Naur a/src/numerics/CVodesIntegrator.cpp b/src/numerics/CVodesIntegrator.cpp
---- a/src/numerics/CVodesIntegrator.cpp 2018-08-24 16:24:45.000000000 +0300
-+++ b/src/numerics/CVodesIntegrator.cpp 2020-04-21 13:55:54.000000000 +0300
-@@ -88,7 +88,6 @@
- m_type(DENSE+NOJAC),
- m_itol(CV_SS),
- m_method(CV_BDF),
-- m_iter(CV_NEWTON),
- m_maxord(0),
- m_reltol(1.e-9),
- m_abstols(1.e-15),
-@@ -218,17 +217,6 @@
- }
- }
-
--void CVodesIntegrator::setIterator(IterType t)
--{
-- if (t == Newton_Iter) {
-- m_iter = CV_NEWTON;
-- } else if (t == Functional_Iter) {
-- m_iter = CV_FUNCTIONAL;
-- } else {
-- throw CanteraError("CVodesIntegrator::setIterator", "unknown iterator");
-- }
--}
--
- void CVodesIntegrator::sensInit(double t0, FuncEval& func)
- {
- m_np = func.nparams();
-@@ -284,7 +272,11 @@
- //! Specify the method and the iteration type. Cantera Defaults:
- //! CV_BDF - Use BDF methods
- //! CV_NEWTON - use Newton's method
-- m_cvode_mem = CVodeCreate(m_method, m_iter);
-+ #if CT_SUNDIALS_VERSION < 40
-+ m_cvode_mem = CVodeCreate(m_method, CV_NEWTON);
-+ #else
-+ m_cvode_mem = CVodeCreate(m_method);
-+ #endif
- if (!m_cvode_mem) {
- throw CanteraError("CVodesIntegrator::initialize",
- "CVodeCreate failed.");
-@@ -394,7 +386,11 @@
- #if CT_SUNDIALS_VERSION >= 30
- SUNLinSolFree((SUNLinearSolver) m_linsol);
- SUNMatDestroy((SUNMatrix) m_linsol_matrix);
-- m_linsol_matrix = SUNBandMatrix(N, nu, nl, nu+nl);
-+ #if CT_SUNDIALS_VERSION < 40
-+ m_linsol_matrix = SUNBandMatrix(N, nu, nl, nu+nl);
-+ #else
-+ m_linsol_matrix = SUNBandMatrix(N, nu, nl);
-+ #endif
- #if CT_SUNDIALS_USE_LAPACK
- m_linsol = SUNLapackBand(m_y, (SUNMatrix) m_linsol_matrix);
- #else
-diff -Naur a/src/numerics/IDA_Solver.cpp b/src/numerics/IDA_Solver.cpp
---- a/src/numerics/IDA_Solver.cpp 2018-08-24 16:24:45.000000000 +0300
-+++ b/src/numerics/IDA_Solver.cpp 2020-04-21 13:55:54.000000000 +0300
-@@ -442,7 +442,11 @@
- #if CT_SUNDIALS_VERSION >= 30
- SUNLinSolFree((SUNLinearSolver) m_linsol);
- SUNMatDestroy((SUNMatrix) m_linsol_matrix);
-- m_linsol_matrix = SUNBandMatrix(N, nu, nl, nu+nl);
-+ #if CT_SUNDIALS_VERSION < 40
-+ m_linsol_matrix = SUNBandMatrix(N, nu, nl, nu+nl);
-+ #else
-+ m_linsol_matrix = SUNBandMatrix(N, nu, nl);
-+ #endif
- #if CT_SUNDIALS_USE_LAPACK
- m_linsol = SUNLapackBand(m_y, (SUNMatrix) m_linsol_matrix);
- #else
-diff -Naur a/src/zeroD/ReactorNet.cpp b/src/zeroD/ReactorNet.cpp
---- a/src/zeroD/ReactorNet.cpp 2018-08-24 16:24:45.000000000 +0300
-+++ b/src/zeroD/ReactorNet.cpp 2020-04-21 13:55:54.000000000 +0300
-@@ -28,7 +28,6 @@
- // numerically, and use a Newton linear iterator
- m_integ->setMethod(BDF_Method);
- m_integ->setProblemType(DENSE + NOJAC);
-- m_integ->setIterator(Newton_Iter);
- }
-
- void ReactorNet::setInitialTime(double time)
diff --git a/sci-libs/cantera/metadata.xml b/sci-libs/cantera/metadata.xml
index 47bc86a96301..d3c6628839c0 100644
--- a/sci-libs/cantera/metadata.xml
+++ b/sci-libs/cantera/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>torokhov-s-a@yandex.ru</email>
<name>Sergey Torokhov</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -14,9 +14,10 @@
for problems involving chemical kinetics, thermodynamics, and/or transport processes.
</longdescription>
<use>
- <flag name="cti">Install CTI tools (ck2cti, ctml_writer) for conversion of Chemkin files to Cantera format</flag>
+ <flag name="python">Install Python bindings and conversion tools from Chemkin to Cantera format</flag>
+ <flag name="hdf5">Add HDF5 container files support</flag>
</use>
<upstream>
- <remote-id type="github">cantera</remote-id>
+ <remote-id type="github">cantera/cantera</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/cartopy/Manifest b/sci-libs/cartopy/Manifest
index def25f780222..d8033d252e43 100644
--- a/sci-libs/cartopy/Manifest
+++ b/sci-libs/cartopy/Manifest
@@ -1,2 +1 @@
-DIST cartopy-0.18.0.tar.gz 14191937 BLAKE2B bb10791ef2534dad404cc492e378161a4a078813b09d6e2c16d0d465c7dcfbaa7f24d3818cfe0f1f46e7683bdf2e00440640534835ce064492d5321489e355bc SHA512 912d5ab57c96b9e6c51b3ad26f94d77e495eb9c3a8fb8a68bdd957c11b1bc8a3ddc97e76e0d8a5ec9afca9302b01fe5753f4208ec3829df8741ee0ebbaafe30f
-DIST cartopy-0.18.0_beta1.tar.gz 14215372 BLAKE2B 5bb1e98f18fdf57c0459202bfe77d4e4a476a3008e2f21a77cf643711cc3c438626915c31ee48886e980466f952985503987e3ed571295e2beb6c12754b382c4 SHA512 95d3bd87e57bea89eb2c25d6a709285ba59fb0f994abc3b37faf29b272b73647d0bc8979a25b1480f48bb55c957f4183ac3c3ad49b830ce686e931227c797abe
+DIST cartopy-0.23.0.gh.tar.gz 10645484 BLAKE2B aa9306e9f5bd85ae28be4802aac1a36d67df5812e9d188ad20d27103eaff1856b7d48e256459519b4e647bdf17fc207e8473ec6ead7413db113311fe821faba6 SHA512 8f357faad592db03c564d2c87f6d1600d2a04a68b71b250925c222cea418b8588f2eb48f64d3ec7210650a34372777ef8416c8f129af7911661615759d2c60b5
diff --git a/sci-libs/cartopy/cartopy-0.18.0.ebuild b/sci-libs/cartopy/cartopy-0.18.0.ebuild
deleted file mode 100644
index 0be07b470778..000000000000
--- a/sci-libs/cartopy/cartopy-0.18.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-inherit distutils-r1 virtualx
-
-MY_PV=${PV/_beta/b}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="Python package for geospatial data processing and analysis"
-HOMEPAGE="https://scitools.org.uk/cartopy"
-SRC_URI="https://github.com/SciTools/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-python/numpy[${PYTHON_USEDEP}]
- sci-libs/pyshp[${PYTHON_USEDEP}]
- sci-libs/Shapely[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- sci-libs/gdal[python,${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/cython[${PYTHON_USEDEP}]
- sci-libs/geos
- sci-libs/proj
-"
-
-distutils_enable_tests pytest
-
-DEPEND+="test? (
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}"/${MY_P}
-
-python_prepare_all() {
- # drop test file requiring network access, which got not covered by markers
- rm "${S}"/lib/cartopy/tests/mpl/test_crs.py || die
- # prepare matplotlib backend for test suite
- export MPLCONFIGDIR="${T}"
- echo "backend : Agg" > "${MPLCONFIGDIR}"/matplotlibrc || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- cd "${BUILD_DIR}"
- # drop all tests needing network access
- virtx pytest -vv -m "not network and not natural_earth" || die "test failed"
-}
diff --git a/sci-libs/cartopy/cartopy-0.18.0_beta1.ebuild b/sci-libs/cartopy/cartopy-0.18.0_beta1.ebuild
deleted file mode 100644
index 0be07b470778..000000000000
--- a/sci-libs/cartopy/cartopy-0.18.0_beta1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-inherit distutils-r1 virtualx
-
-MY_PV=${PV/_beta/b}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="Python package for geospatial data processing and analysis"
-HOMEPAGE="https://scitools.org.uk/cartopy"
-SRC_URI="https://github.com/SciTools/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-python/numpy[${PYTHON_USEDEP}]
- sci-libs/pyshp[${PYTHON_USEDEP}]
- sci-libs/Shapely[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- sci-libs/gdal[python,${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/cython[${PYTHON_USEDEP}]
- sci-libs/geos
- sci-libs/proj
-"
-
-distutils_enable_tests pytest
-
-DEPEND+="test? (
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-
-S="${WORKDIR}"/${MY_P}
-
-python_prepare_all() {
- # drop test file requiring network access, which got not covered by markers
- rm "${S}"/lib/cartopy/tests/mpl/test_crs.py || die
- # prepare matplotlib backend for test suite
- export MPLCONFIGDIR="${T}"
- echo "backend : Agg" > "${MPLCONFIGDIR}"/matplotlibrc || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- cd "${BUILD_DIR}"
- # drop all tests needing network access
- virtx pytest -vv -m "not network and not natural_earth" || die "test failed"
-}
diff --git a/sci-libs/cartopy/cartopy-0.23.0.ebuild b/sci-libs/cartopy/cartopy-0.23.0.ebuild
new file mode 100644
index 000000000000..024cbd93e090
--- /dev/null
+++ b/sci-libs/cartopy/cartopy-0.23.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{9..12} )
+
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 multiprocessing virtualx
+
+MY_PV=${PV/_beta/b}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Python package for geospatial data processing and analysis"
+HOMEPAGE="https://scitools.org.uk/cartopy"
+SRC_URI="https://github.com/SciTools/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sci-libs/gdal[python,${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/pillow[jpeg,${PYTHON_USEDEP}]
+ dev-python/pyproj[${PYTHON_USEDEP}]
+ sci-libs/pyshp[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/cython[${PYTHON_USEDEP}]
+ ')
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/flufl-lock[${PYTHON_USEDEP}]
+ dev-python/pytest-mpl[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ ')
+ )
+"
+PATCHES=(
+ "${FILESDIR}"/${P}-backport-test-fixes.patch
+)
+
+EPYTEST_IGNORE=(
+ # Require network access, not covered by markers
+ lib/cartopy/tests/mpl/test_crs.py
+ lib/cartopy/tests/mpl/test_gridliner.py
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ # Prepare matplotlib backend for test suite
+ export MPLCONFIGDIR="${T}"
+ echo "backend : Agg" > "${MPLCONFIGDIR}"/matplotlibrc || die
+
+ sed -i -e "s/exclude =/#exclude =/" pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ cd "${BUILD_DIR}" || die
+
+ # Drop all tests needing network access
+ virtx epytest -n "$(makeopts_jobs)" -m "not network and not natural_earth" || die "test failed"
+}
diff --git a/sci-libs/cartopy/files/cartopy-0.23.0-backport-test-fixes.patch b/sci-libs/cartopy/files/cartopy-0.23.0-backport-test-fixes.patch
new file mode 100644
index 000000000000..b88d4110dd6f
--- /dev/null
+++ b/sci-libs/cartopy/files/cartopy-0.23.0-backport-test-fixes.patch
@@ -0,0 +1,13 @@
+# backport last test fix just after v0.23 release
+diff --git a/lib/cartopy/tests/mpl/test_gridliner.py b/lib/cartopy/tests/mpl/test_gridliner.py
+index 7d82178..d07573e 100644
+--- a/lib/cartopy/tests/mpl/test_gridliner.py
++++ b/lib/cartopy/tests/mpl/test_gridliner.py
+@@ -496,6 +496,7 @@ def test_gridliner_count_draws():
+ mocked.assert_called_once()
+
+
++@pytest.mark.natural_earth
+ @pytest.mark.mpl_image_compare(
+ baseline_dir='baseline_images/mpl/test_mpl_integration',
+ filename='simple_global.png')
diff --git a/sci-libs/cartopy/metadata.xml b/sci-libs/cartopy/metadata.xml
index 5bffb9050151..3eeb27253d18 100644
--- a/sci-libs/cartopy/metadata.xml
+++ b/sci-libs/cartopy/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tomjbe@gentoo.org</email>
@@ -12,4 +12,8 @@
and its ability to transform points, lines, vectors, polygons and i
images between those projections.
</longdescription>
+ <upstream>
+ <remote-id type="github">SciTools/cartopy</remote-id>
+ <remote-id type="pypi">Cartopy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/cbflib/Manifest b/sci-libs/cbflib/Manifest
deleted file mode 100644
index 83e5d601f292..000000000000
--- a/sci-libs/cbflib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST CBFlib-0.9.3.3.tar.gz 5787633 BLAKE2B c07b73f037f84c84613dd33a7b403d9f934d58abe12016167a6d9ef7633827ad46bef0813b5040790d4da03980285527b43ec0a899e46d8e4823f68fdcbe0765 SHA512 e041c26770e12e09110d7c4f39737406c6ade6cae6fa941cd31dd3b90432a034426272b8daa851a8a23baceb7189479d2d8bde882b7cfdb8ae666fadc5be57ff
diff --git a/sci-libs/cbflib/cbflib-0.9.3.3.ebuild b/sci-libs/cbflib/cbflib-0.9.3.3.ebuild
deleted file mode 100644
index 1cd25e42ef7a..000000000000
--- a/sci-libs/cbflib/cbflib-0.9.3.3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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/cbflib-0.9.3.3-unbundle.patch b/sci-libs/cbflib/files/cbflib-0.9.3.3-unbundle.patch
deleted file mode 100644
index ef24c4b94b22..000000000000
--- a/sci-libs/cbflib/files/cbflib-0.9.3.3-unbundle.patch
+++ /dev/null
@@ -1,181 +0,0 @@
- 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
deleted file mode 100644
index e0080f59068f..000000000000
--- a/sci-libs/cbflib/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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
deleted file mode 100644
index 5f6068e8b373..000000000000
--- a/sci-libs/cblas-reference/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST cblas.tgz 197694 BLAKE2B a9a6feff0198cc62b2a9fd75740e9cebbecd36adff7a1fb3ea57942846d428dcbdb9b266d4510b67bc077b13fe833c063e4784278755513c3abddc66884f5e36 SHA512 8edc4f939d36e6bb9bcbc4ffe414b6c991192ef2e76ec4eda16d3578591185d31e46be5e747d74c740411db6bd2c2d414a18f73193d4a288e8c7e4b83cb0895d
-DIST lapack-3.6.0.tgz 6792324 BLAKE2B 438f3376b63b38ef0fe70f6becac847816f3a11c01f5ab237dc0d941792ceb54dbd2f8dc22d56286f5dab3499289ed94e67521ea951a98973c9640abc294ad6c SHA512 bc50441d415ef8896dd7626d77c6104184b996e758704366288089f03d4c99d068e33153b0d13305310886017e5d2e716130f812a95cfcad36ef37fe20417ab8
-DIST lapack-3.7.0.tgz 7359812 BLAKE2B 20aa42e22d8c920d1360afe41ceec7b36f6cd5fbe43ca9d7848ef7cc45a64a0314cb1321941c1a7c03654f41e28ec805445882ded0ca0ea07674e70b66cba6b5 SHA512 e4f4c7d0ba8a096eeb813160c6dbcdd535647df6b2ad5beac9181908158956b31d1a9554ec9b9836fd44fe7404c1f377b297cbb20d744f20d70e357fd246c91b
diff --git a/sci-libs/cblas-reference/cblas-reference-20030223-r6.ebuild b/sci-libs/cblas-reference/cblas-reference-20030223-r6.ebuild
deleted file mode 100644
index 7b8572d844d3..000000000000
--- a/sci-libs/cblas-reference/cblas-reference-20030223-r6.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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-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}"/ || die
- 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() {
- default
- dodoc cblas_example*c
- 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/cblas-reference-20151113-r2.ebuild b/sci-libs/cblas-reference/cblas-reference-20151113-r2.ebuild
deleted file mode 100644
index f3dd39de4338..000000000000
--- a/sci-libs/cblas-reference/cblas-reference-20151113-r2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit eutils fortran-2 cmake-utils multilib flag-o-matic toolchain-funcs
-
-LPN=lapack
-LPV=3.6.0
-
-DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation"
-HOMEPAGE="http://www.netlib.org/cblas/"
-SRC_URI="http://www.netlib.org/${LPN}/${LPN}-${LPV}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE=""
-
-DEPEND="app-eselect/eselect-cblas
- >=virtual/blas-3.6
- virtual/pkgconfig"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${LPN}-${LPV}"
-PATCHES=( "${FILESDIR}/lapack-reference-${LPV}-fix-build-system.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- ESELECT_PROF=reference
-
- cp "${FILESDIR}"/eselect.cblas.reference-r2 "${T}"/eselect.cblas.reference || die
- 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
-
- sed -i \
- -e 's:/CMAKE/:/cmake/:g' \
- CBLAS/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -Wno-dev
- -DCBLAS=ON
- -DUSE_OPTIMIZED_BLAS=ON
- -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
- -DCMAKE_C_FLAGS="$($(tc-getPKG_CONFIG) --cflags blas) ${CFLAGS}"
- -DCMAKE_Fortran_FLAGS="$($(tc-getPKG_CONFIG) --cflags blas) $(get_abi_CFLAGS) ${FCFLAGS}"
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS=ON
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile -C CBLAS
-}
-
-src_install() {
- cmake-utils_src_install -C CBLAS
-
- mkdir -p "${ED}/usr/$(get_libdir)/blas/reference" || die
- mv "${ED}/usr/$(get_libdir)"/lib* "${ED}/usr/include"/cblas* \
- "${ED}/usr/$(get_libdir)/pkgconfig"/* \
- "${ED}/usr/$(get_libdir)/blas/reference" || die
-
- rmdir "${ED}/usr/$(get_libdir)/pkgconfig" || die
- rmdir "${ED}/usr/include" || die
-
- 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/cblas-reference-20161223.ebuild b/sci-libs/cblas-reference/cblas-reference-20161223.ebuild
deleted file mode 100644
index 839759b7cde4..000000000000
--- a/sci-libs/cblas-reference/cblas-reference-20161223.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit eutils fortran-2 cmake-utils multilib flag-o-matic toolchain-funcs
-
-LPN=lapack
-LPV=3.7.0
-
-DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation"
-HOMEPAGE="http://www.netlib.org/cblas/"
-SRC_URI="http://www.netlib.org/${LPN}/${LPN}-${LPV}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE=""
-
-DEPEND="app-eselect/eselect-cblas
- >=virtual/blas-3.6
- virtual/pkgconfig"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${LPN}-${LPV}"
-PATCHES=( "${FILESDIR}/lapack-reference-${LPV}-fix-build-system.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- ESELECT_PROF=reference
-
- cp "${FILESDIR}"/eselect.cblas.reference-r2 "${T}"/eselect.cblas.reference || die
- 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
-
- sed -i \
- -e 's:/CMAKE/:/cmake/:g' \
- CBLAS/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -Wno-dev
- -DCBLAS=ON
- -DUSE_OPTIMIZED_BLAS=ON
- -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
- -DCMAKE_C_FLAGS="$($(tc-getPKG_CONFIG) --cflags blas) ${CFLAGS}"
- -DCMAKE_Fortran_FLAGS="$($(tc-getPKG_CONFIG) --cflags blas) $(get_abi_CFLAGS) ${FCFLAGS}"
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS=ON
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile -C CBLAS
-}
-
-src_install() {
- cmake-utils_src_install -C CBLAS
-
- mkdir -p "${ED}/usr/$(get_libdir)/blas/reference" || die
- mv "${ED}/usr/$(get_libdir)"/lib* "${ED}/usr/include"/cblas* \
- "${ED}/usr/$(get_libdir)/pkgconfig"/* \
- "${ED}/usr/$(get_libdir)/blas/reference" || die
-
- rmdir "${ED}/usr/$(get_libdir)/pkgconfig" || die
- rmdir "${ED}/usr/include" || die
-
- 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
deleted file mode 100644
index 0dd595bf4a21..000000000000
--- a/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch
+++ /dev/null
@@ -1,567 +0,0 @@
---- 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
deleted file mode 100644
index 62b581860fc7..000000000000
--- a/sci-libs/cblas-reference/files/eselect.cblas.reference
+++ /dev/null
@@ -1,5 +0,0 @@
-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/files/eselect.cblas.reference-r2 b/sci-libs/cblas-reference/files/eselect.cblas.reference-r2
deleted file mode 100644
index b02188c8a9da..000000000000
--- a/sci-libs/cblas-reference/files/eselect.cblas.reference-r2
+++ /dev/null
@@ -1,8 +0,0 @@
-blas/reference/libcblas.so /usr/@LIBDIR@/libcblas.so
-blas/reference/libcblas.so.3 /usr/@LIBDIR@/libcblas.so.3
-blas/reference/libcblas.a /usr/@LIBDIR@/libcblas.a
-../blas/reference/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
-../@LIBDIR@/blas/reference/cblas_test.h /usr/include/cblas_test.h
-../@LIBDIR@/blas/reference/cblas_mangling.h /usr/include/cblas_mangling.h
-../@LIBDIR@/blas/reference/cblas_f77.h /usr/include/cblas_f77.h
-../@LIBDIR@/blas/reference/cblas.h /usr/include/cblas.h
diff --git a/sci-libs/cblas-reference/files/lapack-reference-3.6.0-fix-build-system.patch b/sci-libs/cblas-reference/files/lapack-reference-3.6.0-fix-build-system.patch
deleted file mode 100644
index a187dac21a12..000000000000
--- a/sci-libs/cblas-reference/files/lapack-reference-3.6.0-fix-build-system.patch
+++ /dev/null
@@ -1,124 +0,0 @@
- BLAS/CMakeLists.txt | 2 +-
- BLAS/blas.pc.in | 6 ++++--
- CBLAS/CMakeLists.txt | 2 +-
- CBLAS/cblas.pc.in | 9 ++++++---
- CMakeLists.txt | 2 +-
- LAPACKE/CMakeLists.txt | 2 +-
- LAPACKE/lapacke.pc.in | 6 ++++--
- lapack.pc.in | 6 ++++--
- 8 files changed, 22 insertions(+), 13 deletions(-)
-
-diff --git a/BLAS/CMakeLists.txt b/BLAS/CMakeLists.txt
-index 45e68e9..56c8354 100644
---- a/BLAS/CMakeLists.txt
-+++ b/BLAS/CMakeLists.txt
-@@ -2,7 +2,7 @@ add_subdirectory(SRC)
- if(BUILD_TESTING)
- add_subdirectory(TESTING)
- endif(BUILD_TESTING)
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/blas.pc
- DESTINATION ${PKG_CONFIG_DIR}
-diff --git a/BLAS/blas.pc.in b/BLAS/blas.pc.in
-index 845a25c..7a53ea5 100644
---- a/BLAS/blas.pc.in
-+++ b/BLAS/blas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: blas
- Description: Basic Linear Algebra Subprograms F77 reference implementations
-diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt
-index 98b481f..8f98b04 100644
---- a/CBLAS/CMakeLists.txt
-+++ b/CBLAS/CMakeLists.txt
-@@ -71,7 +71,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMAKE/cblas-config-build.cmake.in
- ${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc
- DESTINATION ${PKG_CONFIG_DIR}
-diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in
-index ee20206..14a141e 100644
---- a/CBLAS/cblas.pc.in
-+++ b/CBLAS/cblas.pc.in
-@@ -1,9 +1,12 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include/@PROFNAME@
-
--Name: lapacke
-+Name: cblas-reference
- Description: C Standard Interface to BLAS Linear Algebra PACKage
- Version: @LAPACK_VERSION@
- URL: http://www.netlib.org/lapack/
- Libs: -L${libdir} -lcblas
-+Cflags: -I${includedir}
- Requires: blas
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ab29bd2..31b878a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -333,7 +333,7 @@ configure_file(${LAPACK_SOURCE_DIR}/CMAKE/lapack-config-build.cmake.in
- ${LAPACK_BINARY_DIR}/lapack-config.cmake @ONLY)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc
- DESTINATION ${PKG_CONFIG_DIR}
-diff --git a/LAPACKE/CMakeLists.txt b/LAPACKE/CMakeLists.txt
-index 008f24c..d8c4cb0 100644
---- a/LAPACKE/CMakeLists.txt
-+++ b/LAPACKE/CMakeLists.txt
-@@ -65,7 +65,7 @@ if(BUILD_TESTING)
- endif(BUILD_TESTING)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
- DESTINATION ${PKG_CONFIG_DIR}
-diff --git a/LAPACKE/lapacke.pc.in b/LAPACKE/lapacke.pc.in
-index 75e6871..ce5201b 100644
---- a/LAPACKE/lapacke.pc.in
-+++ b/LAPACKE/lapacke.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapacke
- Description: C Standard Interface to LAPACK Linear Algebra PACKage
-diff --git a/lapack.pc.in b/lapack.pc.in
-index d34c870..0d0750f 100644
---- a/lapack.pc.in
-+++ b/lapack.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapack
- Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
diff --git a/sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch b/sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch
deleted file mode 100644
index 70f7cb0ee926..000000000000
--- a/sci-libs/cblas-reference/files/lapack-reference-3.7.0-fix-build-system.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/BLAS/blas.pc.in b/BLAS/blas.pc.in
-index 7fd6f1e..e52f3ad 100644
---- a/BLAS/blas.pc.in
-+++ b/BLAS/blas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: BLAS
- Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms
-diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in
-index 4a938fe..311aed9 100644
---- a/CBLAS/cblas.pc.in
-+++ b/CBLAS/cblas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: CBLAS
- Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms
-diff --git a/LAPACKE/lapacke.pc.in b/LAPACKE/lapacke.pc.in
-index 028f8da..dc092b1 100644
---- a/LAPACKE/lapacke.pc.in
-+++ b/LAPACKE/lapacke.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: LAPACKE
- Description: C Standard Interface to LAPACK Linear Algebra PACKage
-diff --git a/lapack.pc.in b/lapack.pc.in
-index 878efc2..2cca4c2 100644
---- a/lapack.pc.in
-+++ b/lapack.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: LAPACK
- Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
diff --git a/sci-libs/cblas-reference/metadata.xml b/sci-libs/cblas-reference/metadata.xml
deleted file mode 100644
index f77724cb6a54..000000000000
--- a/sci-libs/cblas-reference/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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
index 604480d415df..fe2636377083 100644
--- a/sci-libs/ccfits/Manifest
+++ b/sci-libs/ccfits/Manifest
@@ -1,2 +1 @@
-DIST CCfits-2.4.tar.gz 1792643 BLAKE2B 5304789d01278884faa9765be3f22e03e7a37370f0f3996045a663d5793a1686ce4c2d379227bae57bee5643ac398242223cb0300337f4ad67b662679019e92e SHA512 b12d455bb6dd631056e02a12e996d3bf0b6169f8922011e4b64f979b08d2ab8f405e14947c6f5d26ad18bf2f5764854a84987ae105944515f533fe6b0b4ef7be
DIST CCfits-2.5.tar.gz 1416358 BLAKE2B 4c525761f98bdb133f8d0c5fd582db5326dda84dc103a7c816cdf8d1a1fa02ac5b8e9c9431629304e3eaf21b4ec9767796c8b2cc8d22dd877a2e043084cae683 SHA512 63ab4d153063960510cf60651d5c832824cf85f937f84adc5390c7c2fb46eb8e9f5d8cda2554d79d24c7a4f1b6cf0b7a6e20958fb69920b65d7c362c0a5f26b5
diff --git a/sci-libs/ccfits/ccfits-2.4-r1.ebuild b/sci-libs/ccfits/ccfits-2.4-r1.ebuild
deleted file mode 100644
index 56d8533e3fd9..000000000000
--- a/sci-libs/ccfits/ccfits-2.4-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-MYPN=CCfits
-MYP=${MYPN}-${PV}
-
-DESCRIPTION="C++ interface for cfitsio"
-HOMEPAGE="https://heasarc.gsfc.nasa.gov/fitsio/CCfits/"
-SRC_URI="https://heasarc.gsfc.nasa.gov/fitsio/CCfits/${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}"
-
-DOCS=( CHANGES README.INSTALL )
-PATCHES=(
- "${FILESDIR}"/${PN}-2.2-makefile.patch # avoid building cookbook by default and no rpath
-)
-
-src_prepare() {
- default
- mv configure.{in,ac} || die
- AT_M4DIR=config/m4 eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- if use doc; then
- DOCS+=( *.pdf )
- HTML_DOCS=( html/. )
- fi
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/ccfits/ccfits-2.5.ebuild b/sci-libs/ccfits/ccfits-2.5.ebuild
index d02029f57d00..3ea175a98181 100644
--- a/sci-libs/ccfits/ccfits-2.5.ebuild
+++ b/sci-libs/ccfits/ccfits-2.5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit autotools eutils ltprune
+inherit autotools
MYPN=CCfits
MYP=${MYPN}-${PV}
@@ -14,18 +14,16 @@ SRC_URI="https://heasarc.gsfc.nasa.gov/fitsio/CCfits/${MYP}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc static-libs"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
RDEPEND=">=sci-libs/cfitsio-3.080"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${MYPN}"
-DOCS=( CHANGES README.INSTALL )
-PATCHES=(
- "${FILESDIR}"/${PN}-2.2-makefile.patch # avoid building cookbook by default and no rpath
-)
+# avoid building cookbook by default and no rpath
+PATCHES=( "${FILESDIR}"/${PN}-2.2-makefile.patch )
src_prepare() {
default
@@ -34,7 +32,7 @@ src_prepare() {
}
src_configure() {
- econf $(use_enable static-libs static)
+ econf --disable-static
}
src_install() {
@@ -43,5 +41,6 @@ src_install() {
HTML_DOCS=( html/. )
fi
default
- use static-libs || prune_libtool_files --all
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/ccfits/metadata.xml b/sci-libs/ccfits/metadata.xml
index e4f684da7916..6e2d138841ab 100644
--- a/sci-libs/ccfits/metadata.xml
+++ b/sci-libs/ccfits/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-astronomy@gentoo.org</email>
diff --git a/sci-libs/ccolamd/Manifest b/sci-libs/ccolamd/Manifest
index dbe3369e605d..2fc03c4c6a01 100644
--- a/sci-libs/ccolamd/Manifest
+++ b/sci-libs/ccolamd/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST ccolamd-2.9.6.tar.bz2 305744 BLAKE2B 0d741ead328a1e888715672ddb617cc96a559f46f2379e1d7792b70868dd290de19b3047e3ed4dd2711084c9afc523d18ecb375aa4ee8a4a12950cee08f238b8 SHA512 cf6f210d26ddb1be454cac377a773b73b75261a74e1e3985565f57f45659b1c11b747829c5bbe99c4bc3e8b364d7b2b3c109e00f6d7e8e41afd713312ebf103c
diff --git a/sci-libs/ccolamd/ccolamd-2.9.6.ebuild b/sci-libs/ccolamd/ccolamd-2.9.6.ebuild
index 2596049eaa06..6e52b1703b4f 100644
--- a/sci-libs/ccolamd/ccolamd-2.9.6.ebuild
+++ b/sci-libs/ccolamd/ccolamd-2.9.6.ebuild
@@ -1,22 +1,27 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Constrained Column approximate minimum degree ordering algorithm"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage//${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
BDEPEND="virtual/pkgconfig"
DEPEND="sci-libs/suitesparseconfig"
RDEPEND="${DEPEND}"
src_configure() {
- econf $(use_enable static-libs static)
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
}
diff --git a/sci-libs/ccolamd/ccolamd-3.0.3.ebuild b/sci-libs/ccolamd/ccolamd-3.0.3.ebuild
new file mode 100644
index 000000000000..30e5af46ce42
--- /dev/null
+++ b/sci-libs/ccolamd/ccolamd-3.0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Constrained Column approximate minimum degree ordering algorithm"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-7.0.0"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run demo files
+ ./ccolamd_example > ccolamd_example.out || die "failed to run test ccolamd_example"
+ diff "${S}"/Demo/ccolamd_example.out ccolamd_example.out || die "failed testing ccolamd_example"
+ ./ccolamd_l_example > ccolamd_l_example.out || die "failed to run test ccolamd_l_example"
+ diff "${S}"/Demo/ccolamd_l_example.out ccolamd_l_example.out || die "failed testing ccolamd_l_example"
+}
diff --git a/sci-libs/ccolamd/metadata.xml b/sci-libs/ccolamd/metadata.xml
index 23373de57a20..ba6e076c8fbd 100644
--- a/sci-libs/ccolamd/metadata.xml
+++ b/sci-libs/ccolamd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -9,5 +9,8 @@
Constrained COLAMD computes an column approximate minimum degree ordering
algorithm, (like COLAMD), but it can also be given a set of ordering
constraints.
-</longdescription>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/cdd+/cdd+-077a.ebuild b/sci-libs/cdd+/cdd+-077a.ebuild
index ac7812bf9f08..85957bc5070c 100644
--- a/sci-libs/cdd+/cdd+-077a.ebuild
+++ b/sci-libs/cdd+/cdd+-077a.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils multilib toolchain-funcs
+inherit toolchain-funcs
DESCRIPTION="Another implementation of the double description method"
HOMEPAGE="http://www.ifor.math.ethz.ch/~fukuda/cdd_home/"
@@ -11,28 +11,26 @@ SRC_URI="ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE=""
+KEYWORDS="amd64 ~arm ~x86"
DEPEND="dev-libs/gmp:0="
RDEPEND="${DEPEND}"
-src_prepare() {
- epatch \
- "${FILESDIR}"/${P}-headers.patch \
- "${FILESDIR}"/${P}-gentoo.patch \
- "${FILESDIR}"/${P}-gcc-5.patch \
- "${FILESDIR}"/${P}-qa-const-char.patch
-}
+PATCHES=(
+ "${FILESDIR}"/${P}-headers.patch
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-gcc-5.patch
+ "${FILESDIR}"/${P}-qa-const-char.patch
+ "${FILESDIR}"/${P}-gcc11-dynamic-exceptions.patch
+)
src_compile() {
emake \
CC="$(tc-getCC)" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- GMPLIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- GMPINCLUDE="${EPREFIX}/usr/include" \
+ GMPLIBDIR="${ESYSROOT}/usr/$(get_libdir)" \
+ GMPINCLUDE="${ESYSROOT}/usr/include" \
all
-
}
src_install() {
diff --git a/sci-libs/cdd+/files/cdd+-077a-gcc-5.patch b/sci-libs/cdd+/files/cdd+-077a-gcc-5.patch
index cd2d32a8a31b..94018d6da2a6 100644
--- a/sci-libs/cdd+/files/cdd+-077a-gcc-5.patch
+++ b/sci-libs/cdd+/files/cdd+-077a-gcc-5.patch
@@ -1,8 +1,8 @@
Fix check for GCC version beyond major version 4.
Gentoo bug #569222
---- cdd+-077a/gmp_init.cc
-+++ cdd+-077a/gmp_init.cc
+--- a/gmp_init.cc
++++ b/gmp_init.cc
@@ -31,7 +31,7 @@
# define pm_gmp_reallocate std::__alloc::reallocate
#endif // gcc 3.3
diff --git a/sci-libs/cdd+/files/cdd+-077a-gcc11-dynamic-exceptions.patch b/sci-libs/cdd+/files/cdd+-077a-gcc11-dynamic-exceptions.patch
new file mode 100644
index 000000000000..1ac5a0cef32b
--- /dev/null
+++ b/sci-libs/cdd+/files/cdd+-077a-gcc11-dynamic-exceptions.patch
@@ -0,0 +1,71 @@
+https://bugs.gentoo.org/787941
+
+From 46d95aeac2d3951d79291def284bb610e7cb033f Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Thu, 5 Aug 2021 02:00:33 +0100
+Subject: [PATCH] Drop deprecated C++17 dynamic exceptions
+
+---
+ Integer.h | 6 +++---
+ Rational.cc | 2 +-
+ Rational.h | 2 +-
+ cddio.o | Bin 0 -> 154584 bytes
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+ create mode 100644 cddio.o
+
+diff --git a/Integer.h b/Integer.h
+index 8b7f04e..d4a1bdd 100644
+--- a/Integer.h
++++ b/Integer.h
+@@ -179,7 +179,7 @@ public:
+ }
+
+ /// Recognizes automatically number base 10, 8, or 16.
+- Integer& set(const char *s) throw(gmp_error)
++ Integer& set(const char *s)
+ {
+ if (mpz_set_str(rep, s, 0) < 0)
+ throw gmp_error("Integer: syntax error in string");
+@@ -195,14 +195,14 @@ public:
+
+ operator double() const { return mpz_get_d(rep); }
+
+- operator long() const throw(gmp_error)
++ operator long() const
+ {
+ if (!mpz_fits_slong_p(rep))
+ throw gmp_error("Integer: value too big");
+ return mpz_get_si(rep);
+ }
+
+- operator int() const throw(gmp_error)
++ operator int() const
+ {
+ if (!mpz_fits_sint_p(rep))
+ throw gmp_error("Integer: value too big");
+diff --git a/Rational.cc b/Rational.cc
+index f1b86a4..c679671 100644
+--- a/Rational.cc
++++ b/Rational.cc
+@@ -19,7 +19,7 @@
+ #include "Rational.h"
+ #include <cstring>
+
+-Rational& Rational::set(const char* s) throw (gmp_error)
++Rational& Rational::set(const char* s)
+ {
+ const char* digit=s;
+ while (*digit && *digit!='/') ++digit;
+diff --git a/Rational.h b/Rational.h
+index acaba13..eb30578 100644
+--- a/Rational.h
++++ b/Rational.h
+@@ -421,7 +421,7 @@ public:
+ Numerator and denominator are expected delimited by `/'.
+ Omitted denominator assumed equal to 1.
+ */
+- Rational& set(const char *s) throw(gmp_error);
++ Rational& set(const char *s);
+
+ Rational& operator= (const Rational& b)
+ {
diff --git a/sci-libs/cdd+/files/cdd+-077a-gentoo.patch b/sci-libs/cdd+/files/cdd+-077a-gentoo.patch
index efe6d7035e99..b61b8ab42a0b 100644
--- a/sci-libs/cdd+/files/cdd+-077a-gentoo.patch
+++ b/sci-libs/cdd+/files/cdd+-077a-gentoo.patch
@@ -1,5 +1,5 @@
---- makefile.orig 2010-01-19 20:22:59.000000000 +0100
-+++ makefile 2010-01-19 20:52:01.000000000 +0100
+--- a/makefile
++++ b/makefile
@@ -6,21 +6,21 @@
#CC = /bin/cc
diff --git a/sci-libs/cdd+/files/cdd+-077a-headers.patch b/sci-libs/cdd+/files/cdd+-077a-headers.patch
index c6ceb93bfaad..4df6f05871c9 100644
--- a/sci-libs/cdd+/files/cdd+-077a-headers.patch
+++ b/sci-libs/cdd+/files/cdd+-077a-headers.patch
@@ -1,10 +1,5 @@
-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
+--- a/Integer.h
++++ b/Integer.h
@@ -23,6 +23,7 @@
#include <gmp_init.h>
#include <cctype>
@@ -13,13 +8,8 @@ diff -u -p -r1.1.1.1 Integer.h
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
+--- a/Rational.cc
++++ b/Rational.cc
@@ -17,6 +17,7 @@
#include <cctype>
@@ -28,13 +18,8 @@ diff -u -p -r1.1.1.1 Rational.cc
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
+--- a/Rational.h
++++ b/Rational.h
@@ -17,6 +17,7 @@
#define _POLYMAKE_GMP_RATIONAL_H "$Project: polymake $$Id$
@@ -52,13 +37,8 @@ diff -u -p -r1.1.1.1 Rational.h
*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
+--- a/gmp_init.cc
++++ b/gmp_init.cc
@@ -16,6 +16,7 @@
#ident "$Project: polymake $$Id$
diff --git a/sci-libs/cdd+/files/cdd+-077a-qa-const-char.patch b/sci-libs/cdd+/files/cdd+-077a-qa-const-char.patch
index a2304725990f..883b6bf809ba 100644
--- a/sci-libs/cdd+/files/cdd+-077a-qa-const-char.patch
+++ b/sci-libs/cdd+/files/cdd+-077a-qa-const-char.patch
@@ -4,8 +4,8 @@ cddio.C: In function ‘void SetWriteFileName(char*, char, char*)’:
cddio.C:103:20: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
extension=".ine"; break; /* output file for ine data */
---- cdd+-077a/cdd.h
-+++ cdd+-077a/cdd.h
+--- a/cdd.h
++++ b/cdd.h
@@ -185,8 +185,8 @@
extern int output_digits; /* Float digits for output. Does not affect the computation. */
@@ -17,8 +17,8 @@ cddio.C:103:20: warning: deprecated conversion from string constant to ‘char*â
myTYPE FABS(myTYPE);
void SetNumberType(string);
---- cdd+-077a/cddio.C
-+++ cdd+-077a/cddio.C
+--- a/cddio.C
++++ b/cddio.C
@@ -90,10 +90,10 @@
}
}
diff --git a/sci-libs/cdd+/metadata.xml b/sci-libs/cdd+/metadata.xml
index 1745610437d5..16f304a6e4aa 100644
--- a/sci-libs/cdd+/metadata.xml
+++ b/sci-libs/cdd+/metadata.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci-mathematics@gentoo.org</email>
- <name>Gentoo Mathematics Project</name>
- </maintainer>
- <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>
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+ <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>
+ <upstream>
+ <remote-id type="github">cddlib/cddplus</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/cddlib/Manifest b/sci-libs/cddlib/Manifest
index d8a8441eaec1..a14352b359b9 100644
--- a/sci-libs/cddlib/Manifest
+++ b/sci-libs/cddlib/Manifest
@@ -1 +1 @@
-DIST cddlib-0.94j.tar.gz 1364746 BLAKE2B 60e81fccf8abd8d60fb7261d1d2d61b7ad2b60285e7dfa760905e2cb5b01f1570c27920728c12fc6994135e4b29ba8e1709066ddf2e2eff00f8f48b093ebd43e SHA512 b82d5e06538a29143a79f7ba7287a1784292e28f086071041e500fd81387a30c3fca6fae9049752f57b62d50b385d73681276d42d24941e3a43893da00452ea6
+DIST cddlib-0.94m.tar.gz 1351298 BLAKE2B 0e1931ba94771f0dcae0ee10b003940ca331839eb8ce001ab02c4f1b382dde74d7dfcf74f4c62e1ae7214a3139547c09f56ef0cba5df74fc03a63ab741b64690 SHA512 50997bda38c36990456345881dc1eac65b1880aa510ea3812ae46a122ba7696bf3577f2b6976ff16811ee00f0a920c8ed6f1e7de0a4060bfaa96def11bab816e
diff --git a/sci-libs/cddlib/cddlib-094j.ebuild b/sci-libs/cddlib/cddlib-094j.ebuild
deleted file mode 100644
index e53e3ec982f7..000000000000
--- a/sci-libs/cddlib/cddlib-094j.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# This should have been dealt with versionator in the direction
-# 0.94x -> 094x - now we are screwed.
-MY_PV="0.94j"
-MY_P="${PN}-${MY_PV}"
-DESCRIPTION="C library implementing the Double Description Method"
-HOMEPAGE="https://www.inf.ethz.ch/personal/fukudak/cdd_home/"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${MY_PV}/${MY_P}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2+"
-KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples static-libs tools"
-
-DEPEND="dev-libs/gmp:0"
-RDEPEND="dev-libs/gmp:0="
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- if ! use tools; then
- rm "${ED}"/usr/bin/* || die
- fi
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-
- # Nobody wants the dvi/ps manual...
- rm "${ED}/usr/share/doc/${PF}"/cddlibman.{dvi,ps} || die
-
- # since the PDF manual is installed by default.
- if ! use doc; then
- rm "${ED}/usr/share/doc/${PF}"/cddlibman.pdf || die
- fi
-
- # The docs and examples are *both* installed by default, so we
- # have to remove the examples if the user doesn't want them.
- docompress -x "/usr/share/doc/${PF}"/examples{,-ext,-ine,-ine3d}
- if ! use examples; then
- rm -r "${ED}/usr/share/doc/${PF}"/examples{,-ext,-ine,-ine3d} || die
- fi
-}
diff --git a/sci-libs/cddlib/cddlib-094m-r1.ebuild b/sci-libs/cddlib/cddlib-094m-r1.ebuild
new file mode 100644
index 000000000000..4a38f957054c
--- /dev/null
+++ b/sci-libs/cddlib/cddlib-094m-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool
+
+# This can't work forever; but for now, it's better than hard-coding the
+# correct version string.
+MY_PV="${PV:0:1}.${PV:1}"
+QA_PKGCONFIG_VERSION="${MY_PV}"
+
+MY_P="${PN}-${MY_PV}"
+DESCRIPTION="C library implementing the Double Description Method"
+HOMEPAGE="https://www.inf.ethz.ch/personal/fukudak/cdd_home/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${MY_PV}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2+"
+KEYWORDS="amd64 ~arm ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs tools"
+
+DEPEND="dev-libs/gmp:0"
+RDEPEND="dev-libs/gmp:0="
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ if ! use tools; then
+ rm "${ED}"/usr/bin/* || die
+ fi
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
+ # Nobody wants the dvi/ps manual...
+ rm "${ED}/usr/share/doc/${PF}"/cddlibman.{dvi,ps} || die
+
+ # since the PDF manual is installed by default.
+ if ! use doc; then
+ rm "${ED}/usr/share/doc/${PF}"/cddlibman.pdf || die
+ fi
+
+ # The docs and examples are *both* installed by default, so we
+ # have to remove the examples if the user doesn't want them.
+ docompress -x "/usr/share/doc/${PF}"/examples{,-ext,-ine,-ine3d}
+ if ! use examples; then
+ rm -r "${ED}/usr/share/doc/${PF}"/examples{,-ext,-ine,-ine3d} || die
+ fi
+}
diff --git a/sci-libs/cddlib/cddlib-094m-r2.ebuild b/sci-libs/cddlib/cddlib-094m-r2.ebuild
new file mode 100644
index 000000000000..521abc9a7448
--- /dev/null
+++ b/sci-libs/cddlib/cddlib-094m-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool
+
+# This can't work forever; but for now, it's better than hard-coding the
+# correct version string.
+MY_PV="${PV:0:1}.${PV:1}"
+QA_PKGCONFIG_VERSION="${MY_PV}"
+
+MY_P="${PN}-${MY_PV}"
+DESCRIPTION="C library implementing the Double Description Method"
+HOMEPAGE="https://www.inf.ethz.ch/personal/fukudak/cdd_home/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${MY_PV}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~arm ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs tools"
+
+DEPEND="dev-libs/gmp:0"
+RDEPEND="dev-libs/gmp:0="
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ if ! use tools; then
+ rm "${ED}"/usr/bin/* || die
+ fi
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
+ # Nobody wants the dvi/ps manual...
+ rm "${ED}/usr/share/doc/${PF}"/cddlibman.{dvi,ps} || die
+
+ # since the PDF manual is installed by default.
+ if ! use doc; then
+ rm "${ED}/usr/share/doc/${PF}"/cddlibman.pdf || die
+ fi
+
+ # The docs and examples are *both* installed by default, so we
+ # have to remove the examples if the user doesn't want them.
+ docompress -x "/usr/share/doc/${PF}"/examples{,-ext,-ine,-ine3d}
+ if ! use examples; then
+ rm -r "${ED}/usr/share/doc/${PF}"/examples{,-ext,-ine,-ine3d} || die
+ fi
+}
diff --git a/sci-libs/cddlib/metadata.xml b/sci-libs/cddlib/metadata.xml
index eebce0ab1969..91e71ecbd13d 100644
--- a/sci-libs/cddlib/metadata.xml
+++ b/sci-libs/cddlib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sci-libs/cdf/Manifest b/sci-libs/cdf/Manifest
index bbdc085f6fb2..5540c04bb014 100644
--- a/sci-libs/cdf/Manifest
+++ b/sci-libs/cdf/Manifest
@@ -1,16 +1,18 @@
-DIST cdf34_1-dist-cdf.tar.gz 1045465 BLAKE2B f6889584e6c1d26c66d0c17d1e44d63ae2b966ec97e6c1d40fe3ef819225f96c9bad1d000529a9f91f88f6dbcbbf6043bf432203f0d60d48c57941224ca25ec0 SHA512 d68e39b521402256205196f09ec9742b7fdcd1d59fb3251b5eb50812fee52f9ae193c39d342b3dcc467d03911972e4e19f1cf157ac102eae6cc77cb6abacac44
-DIST cdf34_1-dist-java.tar.gz 713180 BLAKE2B c5c8aabb7c3a9a7f3fee3cb9205b4c66d147c5862d0b1f415d8de56f44a06b6b1e00a89bb143ca8868fe65a58423792ae89fdf0a40635bfa49c0b9a05233b573 SHA512 1b95110e6ff455cb379370a74b4160098b5dbd3bef8a3854634caad40d93fde9bc804e4f10187cfeb232f9b9a28a69ce6de6caba969c64dc21b89b339e01e112
-DIST cdf34crm.pdf 1693915 BLAKE2B 77869347ff02105a104d3762118103e9bc5edaf931f1228e3a79f70c8f30b0eaefc091c7c61d0868fa735e987941f8d11200ef9717a77e4649b846ba8de02192 SHA512 cbc8a4b6237632147de24c0eecaaff0f7fa6551eec08f68ebc72c79aff71a99608c309874bd07e9dca6203868171159556a29a7669ecb7e45e60a5cef8d81cb4
-DIST cdf34frm.pdf 1968381 BLAKE2B 163f091927702e3ce72c8ca8d24c19a80e995daec21ef8a7a4906570939234f0576de3269a7b02c8023a3a165016084ad2e3d69684eef1b55e98a0e56d0cbde0 SHA512 c5402db80c05192430e1ca7142d356a8224c52f128fe8c1be937767623c12a7ed55d7afaa0955a00e9ebcace87ba5fed977fc8020a71cdac40fb44326c5f8f65
-DIST cdf34ifd.pdf 415359 BLAKE2B dd928ca68fcfa0239af12e08196293406cda14f87fd1647e48900b9a61cdc13855ac554340c7d3cf3a50fdb7ff03e5957fb9fc966256b7ed27007b97a859cc6f SHA512 1ab42f8677fbbb7cb477c6cbbfe632a8569c6a78fee07dd32c42f549b7d451faaf0ca61ba03f2ea5ba4de2a3a71cc40e4de6ca3dcf86b7caef7594cefc9f2246
-DIST cdf34jrm.pdf 3505200 BLAKE2B 9ae6029f702cc06f4b1fae2d288378a5e7cdee47ef6c1c4d0d24071bead3d94a9d964d39e759eaaeeeb09fe010aede00feb5d9339b6a554f64de92a1df98db35 SHA512 1609f609f7f455bb4749f5f948183f066bc7b6a1367082fccfed669a9768d8c6d8e46f39680e0e99b4accd030c262af92deff9f832e2789ea191874c107df94c
-DIST cdf34prm.pdf 1062987 BLAKE2B 5dc0d5e70d6ae802cf80fab6082d8f77ae1c957c236d133930ccb0c08179889c3011cc6cafe7253df795eb66f08e6be65631bbc10fc4385a9097e7b0d8e9e9ea SHA512 f4e95ce93c896147e4c3074caa8a4d564aadebc8e741c6e593a9377fc0fb0e6f3225c2cd9962900a144418a5b445f462fe12d1178857c3f229f2650da4030587
-DIST cdf34ug.pdf 1307731 BLAKE2B 365711a1d8384dea8017826e753460a5d93295e893540ebf5e300ced8b253316f721edb10effae24a24c857a301edb080da2977d5482f5f6ae540b39fc89a14d SHA512 78c4891690494131f1a8793e1e0dbb9aa0d021b88d04489385156dcc25a218555acad3ec727265aa2b749e24c9a66601ad0698ad201bc6f16b74c9266aae4a0f
-DIST cdf350crm.pdf 2139671 BLAKE2B fbfcc12d919ca07beb1df621f967bbe69b33d0c403613e1b12c01354e53e86f93920104d24dab4f3d1260d72f5e6de663ae3a87ef310dfabf46af2c216424f07 SHA512 382c3cfd73b7c75a017f0c563c61473fccc11ca344f33f4f5a543f4c339a52879400532dbff9956ae8c2b7706f63223132666c3154ad7ada281cd4418e48b4dd
-DIST cdf350frm.pdf 2194293 BLAKE2B 40b269a7987a1522ec7f92eae8efba1117993e459df574afe89d5325d21c3e685a5ed09216bfa56e22f40e831c99bf6d69faa14b9d3a1014d1cbceba43dc3bc9 SHA512 1c1db067f42b56ddb01399821103ced7207da1dc191f62f7acf6776a05c15a992f7be060790233e1b94444724aedb6f83ba687f60b7a20b4988f9d591b40d481
-DIST cdf350jrm.pdf 4009791 BLAKE2B 5b0ea4fcfe2237b4105707d2a3a9945e13333c4ee073d7d9a5a2b839a250308697aa9291aa1e224b886f821235b4d6c4f5f5304a1ad61d45436e1dc4f2b0425a SHA512 cf42de6d94168337936403fc2e504b03fdd676ae8daf8020186d3261bc7331822d47b7c509c804ca5fd637af3696308d09c5db102aaa546138d0630c3df999c3
-DIST cdf350prm.pdf 1111201 BLAKE2B fa0796143906c6b1d3744e97c9325596d8fa9db9f272be4af338f71c49c5b623adaa2f00835dacf671f4ee2ba104d5a9f89f443ec39338d01e726af97c43297d SHA512 5ab9002dea0d223e5322d3cfbd9faaa4306d701c9e81de77a27b6c28054ffde146ce1fc98c6f8f34d36c684fc65c8007e378af9990cf709f534da35c2ca1ecb4
-DIST cdf350ug.pdf 1396156 BLAKE2B 39f3e3b0441ef103c9131b3c5523c5a387eb785d545c68cd6f5ab9b3f696cf960a0f532722ef6b9a510675d30b061742ecedb4b7188aaac0c05db8bbf4d08266 SHA512 2c3111cb873f7e59b78e1963923a878564f4dbcd7bd8f54a3b35825e3fcfd162bf19ba6fef3ec1058616cc76bb0c57cdd2f7bf9fd5f4faaac9ba5559d7febe29
-DIST cdf35_0-dist-cdf.tar.gz 1137065 BLAKE2B df3235338e63686dd0446663b8738618c45c4e86c858b4f41d3326ebf14d391ecce43309cf5d6a3db4a9f9e53820bf8a73acb77549a0432594859b24acb7eb84 SHA512 f26bd1e298494563cb30c52751bd175124814dca2fe2c05ae056d6c2ad905fb5ddc7da35888c6a07d69914f52481cb4e9fcab9684c9a8a0ca4b80ca449ad3406
-DIST cdf35_0-dist-java.tar.gz 724055 BLAKE2B 563542821106b040bb0eaefa303cbda46ace5a127cda1936c55e5eaf3b395eb67073a622e84d1bfc33cb65faa4b51710008cfbae86fd680e5cca2c80dbc5162b SHA512 2e69447e9c36ced39a6bfcd1f2a5dfa7c36c04e9a5acac12952c1b415c5191471efbf2cc432b5b31eb37c8ee31bda3e27bce0fa266c5549fb1b0ab86c4dd6c4f
-DIST cdf35ifd.pdf 560458 BLAKE2B c44722d30c4217b492fe140833ae9c58721040b629cf414fe8d9d7d44433b3f62241d621d4b6d634f54e4f0ecb4c026b66a1e752a1d868b0861eed54d4a95bee SHA512 018a524f7fc8dc5b8b3512ed8bdea42bae141eb65d24b4fbbdac6ecebaeac5c458caf3a476fc4b7c0313b17441cbe7dce32d1002f9344d056cd46853ee3cd438
+DIST cdf380crm.pdf 2671048 BLAKE2B 2605d6465c744b57f11d08605aa888ead724b7553a0efd8830dae759eb54c6d0df807cca1c6611fd40b4c5eb9327fbfcd66f0f7cf82b69bf7619385928ebc6dd SHA512 fc1eef589ff0f3cd989d8743cc1d6cfeb5946cf9ae8e4a328ba746b33fe0f6a286cf7b7b7e7cab5e0231bef566c03d7b68afe6c0879e5fb32fc1e6c980f7e081
+DIST cdf380csrm.pdf 2409166 BLAKE2B 7e97e61865531b788553ca9747513ec32bc5e1a743e10e5bad5f62980a883d00cfeede975b83826ad72327071062080cd1db611fd40c4e5b3d22caf7d4dd3d0f SHA512 d669f032722e270d3f16f8d9a8920d4536430bd83a509591cf82b447770d16a9c6d9aba17e096f78445c4f0b7f4ab85082cf2480bc9384b46677a2325be0f163
+DIST cdf380frm.pdf 2570409 BLAKE2B c8fb1444c7e02297af0c3bffbf58c048077e0d69c4aca8cb3e48331f496dba1551289d2e2b95f9f2d9fabe8048bd56f73a72bab58a52772cae22f184a6b39745 SHA512 de90e4893b976ab9e77f1e9512b2f310b043b8dc921ca43cf1d37e767bf5cbae5d06f91388ff5f4fb1258db5a1149712fa9a5dbc1c2d18f78705021fc31087bb
+DIST cdf380prm.pdf 1521804 BLAKE2B 4afa792f3b5f2bda7e896e10ccb6b2b073e127fca9ece229bb3dbe3b8e8920ef5b8cce5a45a15fa648525c8241fbcc678c8eea0a32a3dabad4cd3b9e959e0913 SHA512 413ce06f36d151cc5380884111376fb54108fcf692ac56ed4d96204f56d4d434ca695d42114e1e89626288802cb4d5d48097664e8e0411a041950aff8199fea0
+DIST cdf380ug.pdf 1716882 BLAKE2B e36f0a9624756d6d5bf71fcc0958d33d060b7f32dd7bbb93fcf6a58a33a5154017fd0ba8a598fe652919785398d306e84fe7a89b5c4aa0d305ee0bc2fbf20b8f SHA512 f2e865b55d293a17a5d85c36e04d14050b7f17adc97dfc284d95db36ae1b94678e31b107cbab32ad690630bbde0f3f0caf558ecdb4e1d0e60cd5f53b30faa0fc
+DIST cdf380vbrm.pdf 2260048 BLAKE2B 30abdf365763df753569289a74013033e0dc56c3ce0a787bcdb9d179d334f4cb79f2b5c6d98427ab9a6451b44e333f48932c152674ce7c9229291b3b714e0f70 SHA512 8552d1f1a83a0f327bc20e8dc03f8728aad132e5765084839ee02900d19c93f9c7f67a1e3f4429cc01d51d75ab00b666d18a247522da2b4fda529cf6333889b5
+DIST cdf38_0-dist-cdf.tar.gz 1251571 BLAKE2B d51463fcf196e0c35617b93725104b34a9047ee7ef22d5d5b7ed9ed5816903e435f130b8ebb0d75e0f05c4908b71de3a4c9bab910a9472b3111be22f659e1bc8 SHA512 cc13358ddd5dfa90731ec6d9da0985697ff9e297be0bc03d8132761d479f5ff062c822085d3141a2fa4320ccd7d1b59064fc236f143a00f24b22c6edf0f618ce
+DIST cdf38_0-dist-java.tar.gz 1007414 BLAKE2B 64fb991d937e9242d42a9b6524facff35acefe4fb2279b92942faf6a9403fae98c3a6b8e9881a916e8669ead5bca4a404dbc250d3a95be26cbe761b6dfa48227 SHA512 12b4d98561f4c07ef4837daa0fc90e1d1cb78622b3837d3cdc30643eae3e9f1ffe50dfa22e8be56615aa4cf4b983df6bde2d1c9fbe2115142d9fdfa653bee2be
+DIST cdf38ifd.pdf 881707 BLAKE2B b80e15e631eb5025317d324893c16838b3a44218cf2c592692eff4d0b778494f2555cf79d2d35b54d66606a82c3835ad896fe809ef363f85ab8261879bf55167 SHA512 2dd3ff5867f5faba3502f877057e9d3110e7be03219dcf5aa657c6685e4a63f847b3d3fbea8d201ae5601a78773c636799cc1ab53e77e12d0ffd5c543322340c
+DIST cdf390crm.pdf 2029732 BLAKE2B 011652b3c55910dea6c4e7b47e003335826e3471bfab41e27a1baf44397b4efd684f75b8e09018279cf9ee53f3d3de65a8c5905769e04aa93b893bbc470117a8 SHA512 b1b60c0b77bece7f0f722505bff1abba1798a220627216f04c84163a3efb51fdd31bc3abe2f8dacd0bb31e6aee585301939d38dc9353fda0535475ba973593be
+DIST cdf390csrm.pdf 1865382 BLAKE2B 83bc066468867b946e3962f1c4b2717f218ea2b92100b43ff18457c1759e2bd71028919aa6403030b840aaa5709a0fafa3e5e6a8843df52e44b3ff335e44dff0 SHA512 f614e1cea672c69eb08e0559e6d1b743f1eaf4f20c1e9dda8ca372ece3040676ba312b5800640b6f202aa9cc45b90e3ce9fbf07fcf621ed8591cbcbfc4e42a24
+DIST cdf390frm.pdf 1896169 BLAKE2B 26cafadaaaf861a4556d54c2fcd09f74c763a8d56e170a75b1247ac700c4082b1d09c446568e814b8b126b5ca2c4d1d0c3cc658ceb49fa6823fcbfe6db7326b2 SHA512 a696a1a774d31f1b023e15d9d510baa7407ea0f6a76bd065bb7c69bb85a3ea5aff6999949a6ed8ce21c418928eca6d90d22e0439ab959f3c1d2b7b9f0a33878e
+DIST cdf390prm.pdf 1226869 BLAKE2B c07bb0f0a078c3e68a9811d36bfb459840c6396cf67e129b2b138d0f194ab2637b32a9826709fff03a58e5b43d680197df27fa09182a03ff1501eca62e6fac6f SHA512 38dbff0fbf05c21270395d2207d171c4746d016a6a8051d39d3c66603aedd3d73b1b4e83924af53aaf391f9108770647c56f380fd98fdae3a3f027fe3cf88de3
+DIST cdf390ug.pdf 1566123 BLAKE2B 639f800454e8f27286d769d505001e07e972b194d589a189b291c51f322d3995c7a4040f319ca50ccd1a27bc0a494e356722071db058da52816d44af9eb685b5 SHA512 980e995534da349f7b38480924ace002ccd1b41c1d3468d7a7741f28edda6c65fb3bdb3b9a43a3b29d92195283c42eecc0d494be4a77275dec85430b9bffb54b
+DIST cdf390vbrm.pdf 1729074 BLAKE2B d30d177202b516891dba0cb99113d6d19af41d950384469ec8a35d96dd2f7418646d1622bbf35376f02cabe686d6da0382e65b98a5beef0bcf81eb827dab5270 SHA512 98379bb4f30c8073ea1d43b7b4b75559722b6de1c7a500bb79b25162cb1bbc82afd9eec443af4645e369de6f59bf031fd097bc802896ad7310b7614a73486961
+DIST cdf39_0-dist-cdf.tar.gz 1290187 BLAKE2B 03f7c7840c44514046df0d63ff6086be7263858f90225debfb8a4fe6c4d6e5b03c95faa2762f76e2ffc198ac77359b3494520258ec17678746fd7f619e362853 SHA512 e054b763d86c09c53375ef60a8690f43fcb106be1dc6fd907763379db1ab4c9677692671a63da74d955aec8ce3f866f420ddc7217a59ed68e51c4623562af387
+DIST cdf39_0-dist-java.tar.gz 1162924 BLAKE2B 4e6416ec5a2a2eede428fa00906ca0e42460916506e7b2075d622e322ffe53e337a77bf81aa871e1559fb6b9339f2f49e365ca835874e060da33cd7c68e45177 SHA512 860468257c70bd6cb9592f40e495b5efb9092fc6fa3ab68c2fdc729c46d9ea4f0499a0b29904fe9c1ae07c13958e551b4e5cc8b9b71c2401ca833f2020073606
+DIST cdf39ifd.pdf 656522 BLAKE2B 2ec3831f27e92fcec8191bedb1617c9f590b726732e02dd8ca317b814c369b46d50dd19e7bfc81df233e1e32ca6fb8191bf7e075ce67dda1ddd50645d5fc754b SHA512 f4de5bea46b7d1ea2621b9fa0ac1ab0f9904ada9a1625ce613f6fdb68ad25ca52398cbf75bb27902e54ba5ee7820f3ea1a563c655186047b8954cb53b4cd8197
diff --git a/sci-libs/cdf/cdf-3.4.1.ebuild b/sci-libs/cdf/cdf-3.4.1.ebuild
deleted file mode 100644
index fcc6e3d4c3d6..000000000000
--- a/sci-libs/cdf/cdf-3.4.1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://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:0= )
- "
-DEPEND="${RDEPEND}"
-
-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
- dodoc "${DISTDIR}"/${MY_DP}{crm,frm,ifd,prm,ug}.pdf
- use java && dodoc "${DISTDIR}"/${MY_DP}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
deleted file mode 100644
index 2a56dc164bf6..000000000000
--- a/sci-libs/cdf/cdf-3.5.0.2.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://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:0= )
- "
-DEPEND="${RDEPEND}"
-
-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
- dodoc "${DISTDIR}"/${MY_DP}{0{crm,frm,prm,ug},ifd}.pdf
- use java && dodoc "${DISTDIR}"/${MY_DP}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.8.0-r1.ebuild b/sci-libs/cdf/cdf-3.8.0-r1.ebuild
new file mode 100644
index 000000000000..7a705868953c
--- /dev/null
+++ b/sci-libs/cdf/cdf-3.8.0-r1.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic java-pkg-opt-2 multilib toolchain-funcs
+
+MY_DP="${PN}$(ver_cut 1)$(ver_cut 2)"
+MY_P="${MY_DP}_$(ver_cut 3)"
+
+DESCRIPTION="Common Data Format I/O library for multi-dimensional data sets"
+HOMEPAGE="https://cdf.gsfc.nasa.gov"
+SRC_BASE="https://spdf.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}ifd.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0crm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0csrm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0frm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0prm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0ug.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0vbrm.pdf
+ )"
+
+LICENSE="CDF"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples java ncurses static-libs"
+RESTRICT="bindist"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.8:= )
+ ncurses? ( sys-libs/ncurses:0= )
+"
+DEPEND="
+ ${RDEPEND}
+ ncurses? ( virtual/pkgconfig )
+"
+
+S="${WORKDIR}/${MY_P}-dist"
+
+# respect cflags, ldflags, soname
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ # use proper lib dir
+ sed -i \
+ -e "s:\$(INSTALLDIR)/lib:\$(INSTALLDIR)/$(get_libdir):g" \
+ Makefile || die "sed failed"
+}
+
+src_compile() {
+ # Reported upstream by email in 2024-03-22 (bug #862675)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ PV_SO=${PV:0:1}
+ emake \
+ OS=linux \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ LD="$(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
+ dodoc "${DISTDIR}"/${MY_DP}{0{crm,csrm,frm,prm,ug,vbrm},ifd}.pdf
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc 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
+ docinto examples/java
+ dodoc examples/*
+ fi
+ fi
+
+ # move this to a better location
+ dodir "/usr/share/${PF}"
+ mv "${ED}/usr/CDFLeapSeconds.txt" "${ED}/usr/share/${PF}/" || die
+}
diff --git a/sci-libs/cdf/cdf-3.9.0.ebuild b/sci-libs/cdf/cdf-3.9.0.ebuild
new file mode 100644
index 000000000000..041ee9765e53
--- /dev/null
+++ b/sci-libs/cdf/cdf-3.9.0.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic java-pkg-opt-2 toolchain-funcs
+
+MY_DP="${PN}$(ver_cut 1)$(ver_cut 2)"
+MY_P="${MY_DP}_$(ver_cut 3)"
+
+DESCRIPTION="Common Data Format I/O library for multi-dimensional data sets"
+HOMEPAGE="https://cdf.gsfc.nasa.gov"
+SRC_BASE="https://spdf.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}ifd.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0crm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0csrm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0frm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0prm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0ug.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0vbrm.pdf
+ )
+"
+S="${WORKDIR}/${MY_P}-dist"
+
+LICENSE="CDF"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples java ncurses static-libs"
+RESTRICT="bindist"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.8:= )
+ ncurses? ( sys-libs/ncurses:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ncurses? ( virtual/pkgconfig )
+"
+
+PATCHES=(
+ # Respect cflags, ldflags, soname
+ "${FILESDIR}"/${PN}-3.9.0-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ # Use proper lib dir
+ sed -i \
+ -e "s:\$(INSTALLDIR)/lib:\$(INSTALLDIR)/$(get_libdir):g" \
+ Makefile || die "sed failed"
+ # Uses the wide variant of *curses functions
+ sed -i \
+ -e "s:-I/usr/include/ncurses:$($(tc-getPKG_CONFIG) --cflags-only-I ncursesw):g" \
+ Makefile src/tools/Makefile || die "sed failed"
+}
+
+src_compile() {
+ # Reported upstream by email in 2024-03-22 (bug #862675)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ PV_SO=${PV:0:1}
+
+ emake \
+ OS=linux \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ RANLIB="$(tc-getRANLIB)" \
+ RANLIBcmd="$(tc-getRANLIB)" \
+ ENV=gnu \
+ SHARED=yes \
+ SHAREDEXT_linux=so.${PV_SO} \
+ CURSESLIB_linux_gnu="$(usex ncurses "$($(tc-getPKG_CONFIG) --libs ncursesw)" "")" \
+ 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
+ dodoc "${DISTDIR}"/${MY_DP}{0{crm,csrm,frm,prm,ug,vbrm},ifd}.pdf
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc 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
+ docinto examples/java
+ dodoc examples/*
+ fi
+ fi
+
+ # move this to a better location
+ dodir "/usr/share/${PF}"
+ mv "${ED}/usr/CDFLeapSeconds.txt" "${ED}/usr/share/${PF}/" || die
+}
diff --git a/sci-libs/cdf/files/cdf-3.2-soname.patch b/sci-libs/cdf/files/cdf-3.2-soname.patch
deleted file mode 100644
index e4f28617faca..000000000000
--- a/sci-libs/cdf/files/cdf-3.2-soname.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- 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
deleted file mode 100644
index 4a6c0a0ef266..000000000000
--- a/sci-libs/cdf/files/cdf-3.4-Makefile.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-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
deleted file mode 100644
index 3bab69dfc6ac..000000000000
--- a/sci-libs/cdf/files/cdf-3.5.0.2-Makefile.patch
+++ /dev/null
@@ -1,110 +0,0 @@
- 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/files/cdf-3.8.0-respect-flags.patch b/sci-libs/cdf/files/cdf-3.8.0-respect-flags.patch
new file mode 100644
index 000000000000..8ffd226a1ed1
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.8.0-respect-flags.patch
@@ -0,0 +1,96 @@
+diff --git a/Makefile b/Makefile
+index 9857fa9..6dc0953 100644
+--- a/Makefile
++++ b/Makefile
+@@ -896,7 +896,7 @@ install.tools: create.bin copy.tools
+ install.help_: create.help copy.help
+
+ install.lib: create.lib copy.lib.a
+- @if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
++ @if [ -f $(LIBsrcDIR)/libcdf.$(SHAREDEXT) ] ; then \
+ $(MAKE) MAKE=$(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
+ else \
+ $(NULL) ; \
+@@ -1010,10 +1010,10 @@ copy.include:
+ cp $(INCsrcDIR)/cdfconfig.h $(INSTALLDIR)/include
+
+ copy.lib.so:
+- @echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
+- cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib/libcdf.$(VERSION).so
+- rm -f $(INSTALLDIR)/lib/libcdf.so
+- cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.so
++ @echo cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
++ cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib/libcdf.$(VERSION).so
++ rm -f $(INSTALLDIR)/lib/libcdf.$(SHAREDEXT)
++ cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.$(SHAREDEXT)
+
+ copy.lib.sl:
+ @echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
+diff --git a/src/lib/Makefile b/src/lib/Makefile
+index 2017c46..b666ce3 100644
+--- a/src/lib/Makefile
++++ b/src/lib/Makefile
+@@ -62,9 +62,9 @@ AR=ar
+ RANLIBcmd=ranlib
+ MACos=Darwin
+
+-CFLAGS=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
++CFLAGS+=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
+ CFLAGS2=-DZ_PREFIX
+-LDFLAGS=$(LDOPTIONS)
++LDFLAGS+=$(LDOPTIONS)
+ ARFLAGS=$(AROPTIONS)
+ ZLIB=zlib
+
+@@ -120,13 +120,13 @@ ranlib.yes:
+
+ shared.yes: libcdf.$(SHAREDEXT)
+
+-libcdf.so \
++libcdf.$(SHAREDEXT) \
+ libcdf.dylib \
+ libcdf.dll \
+ libcdf.sl: $(OBJs)
+ @if [ -f $@ ] ; then rm $@ ; else $(NULL) ; fi
+- @echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
++ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
+ # @if [ $(MACVERSION) -gt 0 ]; then \
+ # rm -f $(MACLIB)/$@; \
+ # cp $@ $(MACLIB)/libcdf.$(VERSION).dylib; \
+@@ -134,8 +134,8 @@ libcdf.sl: $(OBJs)
+ # fi
+
+ libcdf.o: $(OBJs)
+- @echo $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+
+ .c.o:
+ @if [ "$<" = "cdfgzip.c" ] || [ "$<" = "cdfgzip64.c" ] ; then \
+diff --git a/src/tools/Makefile b/src/tools/Makefile
+index bac4ca0..ef44264 100644
+--- a/src/tools/Makefile
++++ b/src/tools/Makefile
+@@ -33,7 +33,7 @@
+ SHELL=/bin/sh
+
+ CURSES=yes
+-CCx=gcc
++CCx=$(CC)
+ COPTIONS=-I/usr/include/ncurses -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -O2
+ COPTIONSld=
+ SYSLIBS=-lgcc
+@@ -43,8 +43,8 @@ MAKE=make
+ INCLUDEcdf= ../include
+
+ CC=$(CCx)
+-CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
+-CFLAGSld=$(COPTIONSld)
++CFLAGS+=$(COPTIONS) -I$(INCLUDEcdf)
++CFLAGSld=$(COPTIONSld) $(LDFLAGS)
+
+ WHICHOS=$(shell uname -a | cut -f1 -d" ")
+ ifeq ("$(WHICHOS)","Darwin")
diff --git a/sci-libs/cdf/files/cdf-3.9.0-respect-flags.patch b/sci-libs/cdf/files/cdf-3.9.0-respect-flags.patch
new file mode 100644
index 000000000000..b47d5f1e9eeb
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.9.0-respect-flags.patch
@@ -0,0 +1,85 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1051,7 +1051,7 @@ install.tools: create.bin copy.tools
+ install.help_: create.help copy.help
+
+ install.lib: create.lib copy.lib.a
+- @if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
++ @if [ -f $(LIBsrcDIR)/libcdf.$(SHAREDEXT) ] ; then \
+ $(MAKE) $(EXTRAMAKE) MAKE=$(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
+ else \
+ $(NULL) ; \
+@@ -1200,10 +1200,10 @@ copy.include:
+ cp $(INCsrcDIR)/cdftools.h $(INSTALLDIR)/include
+
+ copy.lib.so:
+- @echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
+- cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib/libcdf.$(VERSION).so
+- rm -f $(INSTALLDIR)/lib/libcdf.so
+- cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.so
++ @echo cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
++ cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib/libcdf.$(VERSION).so
++ rm -f $(INSTALLDIR)/lib/libcdf.$(SHAREDEXT)
++ cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.$(SHAREDEXT)
+
+ copy.lib.sl:
+ @echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
+--- a/src/lib/Makefile
++++ b/src/lib/Makefile
+@@ -62,9 +62,9 @@ AR=ar
+ RANLIBcmd=ranlib
+ MACos=Darwin
+
+-CFLAGS=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
++CFLAGS+=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
+ CFLAGS2=-DZ_PREFIX
+-LDFLAGS=$(LDOPTIONS)
++LDFLAGS+=$(LDOPTIONS)
+ ARFLAGS=$(AROPTIONS)
+ ZLIB=zlib
+
+@@ -108,17 +108,18 @@ ranlib.yes:
+
+ shared.yes: libcdf.$(SHAREDEXT)
+
++libcdf.$(SHAREDEXT) \
+ libcdf.so \
+ libcdf.dylib \
+ libcdf.dll \
+ libcdf.sl: $(OBJs)
+ @if [ -f $@ ] ; then rm $@ ; else $(NULL) ; fi
+- @echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
++ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
+
+ libcdf.o: $(OBJs)
+- @echo $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+
+ .c.o:
+ @if [ "$<" = "cdfgzip.c" ] || [ "$<" = "cdfgzip64.c" ] ; then \
+--- a/src/tools/Makefile
++++ b/src/tools/Makefile
+@@ -33,7 +33,7 @@
+ SHELL=/bin/sh
+
+ CURSES=yes
+-CCx=gcc
++CCx=$(CC)
+ COPTIONS=-I/usr/include/ncurses -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -O2
+ COPTIONSld=
+ SYSLIBS=-lgcc
+@@ -43,8 +43,8 @@ MAKE=make
+ INCLUDEcdf= ../include
+
+ CC=$(CCx)
+-CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
+-CFLAGSld=$(COPTIONSld)
++CFLAGS+=$(COPTIONS) -I$(INCLUDEcdf)
++CFLAGSld=$(COPTIONSld) $(LDFLAGS)
+
+ WHICHOS=$(shell uname -a | cut -f1 -d" ")
+ ifeq ("$(WHICHOS)","Darwin")
diff --git a/sci-libs/cdf/metadata.xml b/sci-libs/cdf/metadata.xml
index 1021bdd389ce..868c9b7d296e 100644
--- a/sci-libs/cdf/metadata.xml
+++ b/sci-libs/cdf/metadata.xml
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<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>
+ 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
index 941bf4bbf4f1..e4bd9d33e5bc 100644
--- a/sci-libs/ceres-solver/Manifest
+++ b/sci-libs/ceres-solver/Manifest
@@ -1 +1,2 @@
-DIST ceres-solver-1.14.0.tar.gz 5450130 BLAKE2B cfcfe07cecb267528081dfc6deb5283bc5a04b79d4595e45365960895b84a6dca2a3024b046868f06709fc81e8514730cbc409ab01cb0cbee488b5bad5b9f7cc SHA512 a2af9918d2730709361ec971431a2b22e6ca3ca440081be87fa52729ec43702020b021837bfe5a42a58db1ab89ea6aada11f2d1888da66bef614ec1f27ab30c6
+DIST ceres-solver-2.1.0.tar.gz 3802187 BLAKE2B d8ff780cf9b9de2541c15a2b95bde07a2d1c8e60bab3a8a4b13134b99da699da452467afe3310b9f70c3c2a6bd033ea3c4bd3c401153899e9c70867fae30c633 SHA512 db777c4a4b85a9972628c714413fe9ca1a92cc6c8b14d80401842a02c4d7e7df4e9d236775e231e8337e47f21e47cd82c1a0fbcfeffbd9b654e46a66262996f2
+DIST ceres-solver-2.2.0.tar.gz 7635532 BLAKE2B ecdd5147e235df711705fc262fad18cfc79f8cfaaa9aba41428c70ae5996aab44c44e5b7d3f62d8ab4633ec2d7511c39191323911fea1276f5797e900c42bc60 SHA512 bf519fbcbd0ee2d4624be72cde061a09d191ee5e56dc33984669393799b885c2164efc99dcef71307f8b50a9ccad945882376ace3d9a44ba7e1f25c20511aabd
diff --git a/sci-libs/ceres-solver/ceres-solver-1.14.0.ebuild b/sci-libs/ceres-solver/ceres-solver-1.14.0.ebuild
deleted file mode 100644
index c7c0bfab6404..000000000000
--- a/sci-libs/ceres-solver/ceres-solver-1.14.0.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-multilib python-any-r1 toolchain-funcs
-
-DESCRIPTION="Nonlinear least-squares minimizer"
-HOMEPAGE="http://ceres-solver.org/"
-SRC_URI="http://ceres-solver.org/${P}.tar.gz"
-
-LICENSE="sparse? ( BSD ) !sparse? ( LGPL-2.1 ) cxsparse? ( BSD )"
-SLOT="0/1"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cxsparse doc examples gflags lapack openmp +schur sparse test"
-
-REQUIRED_USE="test? ( gflags ) sparse? ( lapack ) abi_x86_32? ( !sparse !lapack )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- >=dev-cpp/eigen-3.3.4:3
- doc? (
- dev-python/sphinx
- dev-python/sphinx_rtd_theme
- )
- lapack? ( virtual/pkgconfig )
-"
-RDEPEND="
- dev-cpp/glog[gflags?,${MULTILIB_USEDEP}]
- cxsparse? ( sci-libs/cxsparse )
- lapack? ( virtual/lapack )
- sparse? (
- sci-libs/amd
- sci-libs/camd
- sci-libs/ccolamd
- sci-libs/cholmod[metis(+)]
- sci-libs/colamd
- sci-libs/spqr
- )
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( README.md VERSION )
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && 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
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # search paths work for prefix
- sed -e "s:/usr:${EPREFIX}/usr:g" \
- -i cmake/*.cmake || die
-
- # remove Werror
- sed -e 's/-Werror=(all|extra)//g' \
- -i CMakeLists.txt || die
-}
-
-src_configure() {
- # CUSTOM_BLAS=OFF EIGENSPARSE=OFF MINIGLOG=OFF CXX11=OFF
- local mycmakeargs=(
- -DBUILD_BENCHMARKS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_TESTING=$(usex test)
- -DBUILD_DOCUMENTATION=$(usex doc)
- -DGFLAGS=$(usex gflags)
- -DLAPACK=$(usex lapack)
- -DOPENMP=$(usex openmp)
- -DSCHUR_SPECIALIZATIONS=$(usex schur)
- -DCXSPARSE=$(usex cxsparse)
- -DSUITESPARSE=$(usex sparse)
- )
- use doc && mycmakeargs+=(
- -DCERES_DOCS_INSTALL_DIR="${EPREFIX}"/usr/share/doc/${PF}
- )
- use sparse || use cxsparse || mycmakeargs+=( -DEIGENSPARSE=ON )
- cmake-multilib_src_configure
-}
-
-src_install() {
- cmake-multilib_src_install
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples
- dodoc -r examples data
- fi
-}
diff --git a/sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild b/sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild
new file mode 100644
index 000000000000..0266f174e0e4
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-2.1.0-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DOCS_BUILDER="sphinx"
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="docs/source"
+inherit cmake-multilib python-any-r1 docs toolchain-funcs
+
+DESCRIPTION="Nonlinear least-squares minimizer"
+HOMEPAGE="http://ceres-solver.org/"
+SRC_URI="http://ceres-solver.org/${P}.tar.gz"
+
+LICENSE="sparse? ( BSD ) !sparse? ( LGPL-2.1 ) cxsparse? ( BSD )"
+SLOT="0/1"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cxsparse examples gflags lapack openmp +schur sparse test"
+
+REQUIRED_USE="test? ( gflags ) sparse? ( lapack ) abi_x86_32? ( !sparse !lapack )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ >=dev-cpp/eigen-3.3.4:3
+ lapack? ( virtual/pkgconfig )
+ doc? ( <dev-libs/mathjax-3 )
+"
+RDEPEND="
+ dev-cpp/glog[gflags?,${MULTILIB_USEDEP}]
+ cxsparse? ( sci-libs/cxsparse )
+ lapack? ( virtual/lapack )
+ sparse? (
+ sci-libs/amd
+ sci-libs/camd
+ sci-libs/ccolamd
+ sci-libs/cholmod[metis(+)]
+ sci-libs/colamd
+ sci-libs/spqr
+ )
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md VERSION )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.0-system-mathjax.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # search paths work for prefix
+ sed -e "s:/usr:${EPREFIX}/usr:g" \
+ -i cmake/*.cmake || die
+
+ # remove Werror
+ sed -e 's/-Werror=(all|extra)//g' \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ # CUSTOM_BLAS=OFF EIGENSPARSE=OFF MINIGLOG=OFF CXX11=OFF
+ local mycmakeargs=(
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DGFLAGS=$(usex gflags)
+ -DLAPACK=$(usex lapack)
+ -DSCHUR_SPECIALIZATIONS=$(usex schur)
+ -DCXSPARSE=$(usex cxsparse)
+ -DSUITESPARSE=$(usex sparse)
+ -DEigen3_DIR=/usr/$(get_libdir)/cmake/eigen3
+ -DCERES_THREADING_MODEL=$(usex openmp OPENMP CXX_THREADS)
+ )
+
+ use doc && mycmakeargs+=(
+ -DCERES_DOCS_INSTALL_DIR="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ use sparse || use cxsparse || mycmakeargs+=( -DEIGENSPARSE=ON )
+
+ cmake-multilib_src_configure
+}
+
+src_install() {
+ cmake-multilib_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples data
+ fi
+}
diff --git a/sci-libs/ceres-solver/ceres-solver-2.2.0-r1.ebuild b/sci-libs/ceres-solver/ceres-solver-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..747e151d1e59
--- /dev/null
+++ b/sci-libs/ceres-solver/ceres-solver-2.2.0-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DOCS_BUILDER="sphinx"
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="docs/source"
+inherit cmake-multilib cuda flag-o-matic python-any-r1 docs
+
+DESCRIPTION="Nonlinear least-squares minimizer"
+HOMEPAGE="http://ceres-solver.org/"
+SRC_URI="http://ceres-solver.org/${P}.tar.gz"
+
+LICENSE="sparse? ( BSD ) !sparse? ( LGPL-2.1 )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples cuda gflags lapack +schur sparse test"
+
+REQUIRED_USE="test? ( gflags ) sparse? ( lapack ) abi_x86_32? ( !sparse !lapack )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ >=dev-cpp/eigen-3.3.4:3
+ lapack? ( virtual/pkgconfig )
+ doc? ( <dev-libs/mathjax-3 )
+"
+RDEPEND="
+ dev-cpp/glog[gflags?,${MULTILIB_USEDEP}]
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ lapack? ( virtual/lapack )
+ sparse? (
+ sci-libs/amd
+ sci-libs/camd
+ sci-libs/ccolamd
+ sci-libs/cholmod[metis(+)]
+ sci-libs/colamd
+ sci-libs/spqr
+ )
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md VERSION )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.0-system-mathjax.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ filter-lto
+
+ # search paths work for prefix
+ sed -e "s:/usr:${EPREFIX}/usr:g" \
+ -i cmake/*.cmake || die
+
+ # remove Werror
+ sed -e 's/-Werror=(all|extra)//g' \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ # CUSTOM_BLAS=OFF EIGENSPARSE=OFF MINIGLOG=OFF
+ local mycmakeargs=(
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DGFLAGS=$(usex gflags)
+ -DLAPACK=$(usex lapack)
+ -DSCHUR_SPECIALIZATIONS=$(usex schur)
+ -DSUITESPARSE=$(usex sparse)
+ -DEigen3_DIR=/usr/$(get_libdir)/cmake/eigen3
+
+ -DBUILD_SHARED_LIBS="yes"
+ -DEIGENMETIS="yes"
+ -DEIGENSPARSE="yes"
+ -DMINIGLOG="no"
+ -DCUSTOM_BLAS="yes"
+ -DUSE_CUDA="$(usex cuda)"
+ )
+
+ if use cuda; then
+ : "${CUDAHOSTCXX:=$(cuda_gccdir)}"
+ : "${CUDAARCHS:=all}"
+ export CUDAHOSTCXX
+ export CUDAARCHS
+ fi
+
+ use sparse || mycmakeargs+=( -DEIGENSPARSE=ON )
+
+ cmake-multilib_src_configure
+}
+
+src_test() {
+ use cuda && cuda_add_sandbox -w
+ cmake_src_test
+}
+
+src_install() {
+ cmake-multilib_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples data
+ fi
+}
diff --git a/sci-libs/ceres-solver/files/ceres-solver-2.0.0-system-mathjax.patch b/sci-libs/ceres-solver/files/ceres-solver-2.0.0-system-mathjax.patch
new file mode 100644
index 000000000000..61e0f000f267
--- /dev/null
+++ b/sci-libs/ceres-solver/files/ceres-solver-2.0.0-system-mathjax.patch
@@ -0,0 +1,10 @@
+diff -urN a/docs/source/conf.py b/docs/source/conf.py
+--- a/docs/source/conf.py 2020-10-25 22:25:47.000000000 -0500
++++ b/docs/source/conf.py 2021-07-29 09:44:35.488893188 -0500
+@@ -252,3 +252,6 @@
+ 'scale' : 90
+ }
+ }
++
++# Use system MathJax
++mathjax_path = "/usr/share/mathjax/MathJax.js?config=TeX-MML-AM_CHTML"
diff --git a/sci-libs/ceres-solver/metadata.xml b/sci-libs/ceres-solver/metadata.xml
index 57c1a1394e07..98919f6de383 100644
--- a/sci-libs/ceres-solver/metadata.xml
+++ b/sci-libs/ceres-solver/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -20,7 +20,7 @@
* Specialized solvers for bundle adjustment problems in computer vision
* Iterative linear solvers for general sparse and bundle
adjustment problems
-</longdescription>
+ </longdescription>
<use>
<flag name="cxsparse">Enable simple support for sparse matrix algebra from
<pkg>sci-libs/cxsparse</pkg> with no LAPACK dependencies</flag>
diff --git a/sci-libs/cfitsio/Manifest b/sci-libs/cfitsio/Manifest
index 14225a2fe012..64031fa708e5 100644
--- a/sci-libs/cfitsio/Manifest
+++ b/sci-libs/cfitsio/Manifest
@@ -1,2 +1,4 @@
-DIST cfitsio-3.360.tar.gz 4104894 BLAKE2B 7a84177c28679db5c27d0586cb6959a0663918a84d46ced9aea6ef7e6bdd32955946807efd4cd852e55128dbc887c4a2135b2eba26847b265011bfd6df049335 SHA512 158819b4a3a29c29a5f017283e2b20067420994e881d202dbf3ba199c9e564dc1e74f8be5ce84f78107126d2a8688cc55cc7ed284540ca647e44cdc3b0b02072
-DIST cfitsio-3.410.tar.gz 4194529 BLAKE2B 31250b9add5b6a85c919c33251d127117ceab81c2243e0b9f8bbe2ef0fd09c85a938b7525338bc718a9b3035efa3660ecffa17ec79e3e278c8014e727f23473b SHA512 cc1de2a4314e7c82bdd6855e11dea4e18dc4e7bcb27b0d15b884cbaeb4acd3b1e12dadd17ab83c7917570934913f89337035470ee4921e7b62409a81052d70cd
+DIST cfitsio-3.49.tar.gz 4934662 BLAKE2B ca8b701f0fec399d989efb61fdaa2bfbf49d0eea2d3ff47e156757c5a99bc77c23a1b91b4c91166696293c71c78210065dc48d0bb3c77039815f326d0ed55f0a SHA512 9836a4af3bbbfed1ea1b4c70b9d500ac485d7c3d8131eb8a25ee6ef6662f46ba52b5161c45c709ed9a601ff0e9ec36daa5650eaaf4f2cc7d6f4bb5640f10da15
+DIST cfitsio-4.0.0.tar.gz 4746177 BLAKE2B a43a21d29522cac84294e81ad5f0a45839c21c2fafcbde42504670e73757a41ebd91e42d086529df8139ce920446332f827b1abf027f8932ee73dd025103cd8e SHA512 a5b20bd6ad648450e99167f63813cc7523347aadfc9f85d2c0ed3ba7e4516b3bb6bc0851f209268f2cb045cdacc43a3da9e4506af4581f806ab9f4de248065fa
+DIST cfitsio-4.1.0.tar.gz 4305184 BLAKE2B 1edfce2b44ab990ed834b22dfc734af632f8f1401b6616f0c4322a3c40117123e52ba191610a3393c077f4a5fccd7462bcb4749e715cf2e9abae08edb1f1f8eb SHA512 bbbe10e890e74a30a9806dd2bbf711b3b1f15502b210b222d2d57cc083495c3b66b44927e4680f989045187fb7075f7187e2805ddcb4753ce53c68c3442cc813
+DIST cfitsio-4.2.0.tar.gz 4356372 BLAKE2B 7f5e695a56105866b2457e0f1c2d74bfb2aa86bc53e4eeb39aa9b8e79b278e1184a610422bf43c341a9f3159a93b980bab1ec9084475189b08dfa080b59ec2af SHA512 41b51653370874f50a7a9fe7d5f61577a979ab9d146b8249afa407d3858cb4dce0581eba23093972b66f7d1042b9693b98ad9130ec67b3b44e94005e72d60853
diff --git a/sci-libs/cfitsio/cfitsio-3.360.ebuild b/sci-libs/cfitsio/cfitsio-3.360.ebuild
deleted file mode 100644
index fc2d56932a63..000000000000
--- a/sci-libs/cfitsio/cfitsio-3.360.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-FORTRAN_NEEDED=fortran
-
-inherit autotools-utils fortran-2
-
-DESCRIPTION="C and Fortran library for manipulating FITS files"
-HOMEPAGE="https://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
-SRC_URI="https://dev.gentoo.org/~bicatali/distfiles/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/1"
-KEYWORDS="~alpha amd64 hppa ppc ppc64 sparc x86 ~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/cfitsio-3.410.ebuild b/sci-libs/cfitsio/cfitsio-3.410.ebuild
deleted file mode 100644
index 9d508f38125b..000000000000
--- a/sci-libs/cfitsio/cfitsio-3.410.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit fortran-2 ltprune multilib-minimal
-
-DESCRIPTION="C and Fortran library for manipulating FITS files"
-HOMEPAGE="https://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
-SRC_URI="https://dev.gentoo.org/~bicatali/distfiles/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/5"
-KEYWORDS="~alpha amd64 hppa ppc ppc64 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
-IUSE="bzip2 doc examples fortran static-libs +tools threads"
-
-RDEPEND="
- sys-libs/zlib[${MULTILIB_USEDEP}]
- bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )"
-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
- default
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable fortran) \
- $(use_enable static-libs static) \
- $(use_enable threads) \
- $(use_enable tools) \
- $(use_with bzip2)
-}
-
-multilib_src_install_all() {
- dodoc README README.md CHANGES.md 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
- prune_libtool_files --all
-}
diff --git a/sci-libs/cfitsio/cfitsio-3.490.ebuild b/sci-libs/cfitsio/cfitsio-3.490.ebuild
new file mode 100644
index 000000000000..25baa898457a
--- /dev/null
+++ b/sci-libs/cfitsio/cfitsio-3.490.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="${PN}-${PV%0*}"
+inherit fortran-2 multilib-minimal
+
+DESCRIPTION="C and Fortran library for manipulating FITS files"
+HOMEPAGE="https://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
+SRC_URI="https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="ISC"
+SLOT="0/9"
+KEYWORDS="~alpha amd64 ~hppa ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="bzip2 curl cpu_flags_x86_sse2 cpu_flags_x86_ssse3"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+"
+# Bug #803350
+DEPEND="${RDEPEND}
+ <dev-lang/cfortran-20110621
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-ldflags.patch"
+ "${FILESDIR}/${P}-system-zlib.patch"
+ "${FILESDIR}/${P}-pkgconfig.patch"
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid internal cfortran
+ mv cfortran.h cfortran.h.disabled || die
+ ln -s "${EPREFIX}"/usr/include/cfortran.h . || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_with bzip2)
+ $(use_enable curl)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable cpu_flags_x86_ssse3 ssse3)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ dodoc README docs/changes.txt
+
+ dodoc docs/{quick,cfitsio,fpackguide}.pdf
+ dodoc docs/fitsio.pdf
+
+ docinto examples
+ dodoc cookbook.c testprog.c speed.c smem.c
+ dodoc cookbook.f testf77.f
+
+ # Remove static libs
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/sci-libs/cfitsio/cfitsio-4.0.0.ebuild b/sci-libs/cfitsio/cfitsio-4.0.0.ebuild
new file mode 100644
index 000000000000..f3a9749ea4d6
--- /dev/null
+++ b/sci-libs/cfitsio/cfitsio-4.0.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fortran-2 multilib-minimal
+
+DESCRIPTION="C and Fortran library for manipulating FITS files"
+HOMEPAGE="https://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
+SRC_URI="https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/9"
+KEYWORDS="~alpha amd64 ~hppa ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="bzip2 curl cpu_flags_x86_sse2 cpu_flags_x86_ssse3"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+"
+# Bug #803350
+DEPEND="${RDEPEND}
+ <dev-lang/cfortran-20110621
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.490-ldflags.patch"
+ "${FILESDIR}/${P}-system-zlib.patch"
+ "${FILESDIR}/${P}-pkgconfig.patch"
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid internal cfortran
+ mv cfortran.h cfortran.h.disabled || die
+ ln -s "${EPREFIX}"/usr/include/cfortran.h . || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_with bzip2)
+ $(use_enable curl)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable cpu_flags_x86_ssse3 ssse3)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ dodoc README docs/changes.txt
+
+ dodoc docs/{quick,cfitsio,fpackguide}.pdf
+ dodoc docs/fitsio.pdf
+
+ docinto examples
+ dodoc cookbook.c testprog.c speed.c smem.c
+ dodoc cookbook.f testf77.f
+
+ # Remove static libs
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/sci-libs/cfitsio/cfitsio-4.1.0-r1.ebuild b/sci-libs/cfitsio/cfitsio-4.1.0-r1.ebuild
new file mode 100644
index 000000000000..3e3a329bda85
--- /dev/null
+++ b/sci-libs/cfitsio/cfitsio-4.1.0-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fortran-2 multilib-minimal
+
+DESCRIPTION="C and Fortran library for manipulating FITS files"
+HOMEPAGE="https://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
+SRC_URI="https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/9"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="bzip2 curl threads tools cpu_flags_x86_sse2 cpu_flags_x86_ssse3"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+"
+# Bug #803350
+DEPEND="${RDEPEND}
+ <dev-lang/cfortran-20110621
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.490-ldflags.patch"
+ "${FILESDIR}/${P}-system-zlib.patch"
+ "${FILESDIR}/${P}-pkgconfig.patch"
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid internal cfortran
+ mv cfortran.h cfortran.h.disabled || die
+ ln -s "${EPREFIX}"/usr/include/cfortran.h . || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_with bzip2)
+ $(use_enable curl)
+ $(use_enable threads reentrant)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable cpu_flags_x86_ssse3 ssse3)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if use tools ; then
+ emake utils
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc README docs/changes.txt
+
+ dodoc docs/{quick,cfitsio,fpackguide}.pdf
+ dodoc docs/fitsio.pdf
+
+ docinto examples
+ dodoc cookbook.c testprog.c speed.c smem.c
+ dodoc cookbook.f testf77.f
+
+ # https://bugs.gentoo.org/855191
+ if use tools; then
+ rm "${ED}/usr/bin/smem" || die
+ fi
+
+ # Remove static libs
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/sci-libs/cfitsio/cfitsio-4.1.0.ebuild b/sci-libs/cfitsio/cfitsio-4.1.0.ebuild
new file mode 100644
index 000000000000..f63f54fd87e5
--- /dev/null
+++ b/sci-libs/cfitsio/cfitsio-4.1.0.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fortran-2 multilib-minimal
+
+DESCRIPTION="C and Fortran library for manipulating FITS files"
+HOMEPAGE="https://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
+SRC_URI="https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/9"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="bzip2 curl threads tools cpu_flags_x86_sse2 cpu_flags_x86_ssse3"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ tools? ( !dev-util/smem )
+"
+# Bug #803350
+DEPEND="${RDEPEND}
+ <dev-lang/cfortran-20110621
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.490-ldflags.patch"
+ "${FILESDIR}/${P}-system-zlib.patch"
+ "${FILESDIR}/${P}-pkgconfig.patch"
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid internal cfortran
+ mv cfortran.h cfortran.h.disabled || die
+ ln -s "${EPREFIX}"/usr/include/cfortran.h . || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_with bzip2)
+ $(use_enable curl)
+ $(use_enable threads reentrant)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable cpu_flags_x86_ssse3 ssse3)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if use tools ; then
+ emake utils
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc README docs/changes.txt
+
+ dodoc docs/{quick,cfitsio,fpackguide}.pdf
+ dodoc docs/fitsio.pdf
+
+ docinto examples
+ dodoc cookbook.c testprog.c speed.c smem.c
+ dodoc cookbook.f testf77.f
+
+ # Remove static libs
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/sci-libs/cfitsio/cfitsio-4.2.0.ebuild b/sci-libs/cfitsio/cfitsio-4.2.0.ebuild
new file mode 100644
index 000000000000..b89a0735a841
--- /dev/null
+++ b/sci-libs/cfitsio/cfitsio-4.2.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fortran-2 multilib-minimal
+
+DESCRIPTION="C and Fortran library for manipulating FITS files"
+HOMEPAGE="https://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html"
+SRC_URI="https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/10"
+KEYWORDS="~alpha amd64 ~hppa ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="bzip2 curl threads tools cpu_flags_x86_sse2 cpu_flags_x86_ssse3"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ curl? ( net-misc/curl[${MULTILIB_USEDEP}] )
+"
+# Bug #803350
+DEPEND="${RDEPEND}
+ <dev-lang/cfortran-20110621
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.490-ldflags.patch"
+ "${FILESDIR}/${P}-system-zlib.patch"
+ "${FILESDIR}/${P}-pkgconfig.patch"
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Avoid internal cfortran
+ mv cfortran.h cfortran.h.disabled || die
+ ln -s "${EPREFIX}"/usr/include/cfortran.h . || die
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_with bzip2)
+ $(use_enable curl)
+ $(use_enable threads reentrant)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable cpu_flags_x86_ssse3 ssse3)
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if use tools ; then
+ emake utils
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc README docs/changes.txt
+
+ dodoc docs/{quick,cfitsio,fpackguide}.pdf
+ dodoc docs/fitsio.pdf
+
+ docinto examples
+ dodoc cookbook.c testprog.c speed.c smem.c
+ dodoc cookbook.f testf77.f
+
+ # https://bugs.gentoo.org/855191
+ if use tools; then
+ rm "${ED}/usr/bin/smem" || die
+ fi
+
+ # Remove static libs
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/sci-libs/cfitsio/files/cfitsio-3.490-ldflags.patch b/sci-libs/cfitsio/files/cfitsio-3.490-ldflags.patch
new file mode 100644
index 000000000000..4b04fb9cc4fe
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-3.490-ldflags.patch
@@ -0,0 +1,14 @@
+diff -Naur a/configure b/configure
+--- a/configure 2018-05-09 21:16:00.000000000 +0200
++++ b/configure 2018-05-23 17:17:18.452431657 +0200
+@@ -4215,8 +4215,8 @@
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+-LDFLAGS="$CFLAGS"
+-LDFLAGS_BIN="$LDFLAGS"
++# LDFLAGS="$CFLAGS"
++LDFLAGS_BIN="$CFLAGS"
+
+ if test "x$FC" = "xnone" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: cfitsio: == Fortran compiler search has been overridden" >&5
diff --git a/sci-libs/cfitsio/files/cfitsio-3.490-pkgconfig.patch b/sci-libs/cfitsio/files/cfitsio-3.490-pkgconfig.patch
new file mode 100644
index 000000000000..37b47c7b820f
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-3.490-pkgconfig.patch
@@ -0,0 +1,20 @@
+diff -ur a/cfitsio.pc.in b/cfitsio.pc.in
+--- a/cfitsio.pc.in 2019-05-08 17:34:49.000000000 +0200
++++ b/cfitsio.pc.in 2019-08-01 15:56:52.064310329 +0200
+@@ -1,12 +1,12 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=@includedir@
++includedir=@includedir@/cfitsio
+
+ Name: cfitsio
+ Description: FITS File Subroutine Library
+ URL: https://heasarc.gsfc.nasa.gov/fitsio/
+ Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@
+-Libs: -L${libdir} -lcfitsio
+-Libs.private: -lm @LIBS@
+-Cflags: -I${includedir}
++Libs: -L${libdir} -lcfitsio
++Libs.private: -lm -lz @LIBS@
++Cflags: -D_REENTRANT -I${includedir}
diff --git a/sci-libs/cfitsio/files/cfitsio-3.490-system-zlib.patch b/sci-libs/cfitsio/files/cfitsio-3.490-system-zlib.patch
new file mode 100644
index 000000000000..6ade40ce62f3
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-3.490-system-zlib.patch
@@ -0,0 +1,60 @@
+diff -ur a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2019-05-08 17:34:50.000000000 +0200
++++ b/Makefile.in 2019-08-01 15:52:57.829760351 +0200
+@@ -68,9 +68,7 @@
+ pliocomp.c fits_hcompress.c fits_hdecompress.c \
+ simplerng.c @GSIFTP_SRC@
+
+-ZLIB_SOURCES = zlib/adler32.c zlib/crc32.c zlib/deflate.c zlib/infback.c \
+- zlib/inffast.c zlib/inflate.c zlib/inftrees.c zlib/trees.c \
+- zlib/uncompr.c zlib/zcompress.c zlib/zuncompress.c zlib/zutil.c
++ZLIB_SOURCES = zlib/zcompress.c zlib/zuncompress.c
+
+ SOURCES = ${CORE_SOURCES} ${ZLIB_SOURCES} @F77_WRAPPERS@
+
+@@ -103,7 +101,7 @@
+ shared: lib${PACKAGE}${SHLIB_SUFFIX}
+
+ lib${PACKAGE}${SHLIB_SUFFIX}: ${OBJECTS}
+- ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm ${LIBS_CURL} ${LIBS}
++ ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm -lz -lbz2 ${LIBS_CURL} ${LIBS}
+ @if [ "x${CFITSIO_SHLIB_SONAME}" != x ]; then \
+ ln -sf ${CFITSIO_SHLIB} ${CFITSIO_SHLIB_SONAME}; \
+ ln -sf ${CFITSIO_SHLIB_SONAME} $@; \
+@@ -140,28 +138,28 @@
+ ${CC} -c ${CFLAGS} ${CPPFLAGS} ${SSE_FLAGS} ${DEFS} $<
+
+ smem: smem.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz
+
+ testprog: testprog.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fpack: fpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ funpack: funpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fitscopy: fitscopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ speed: speed.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ imcopy: imcopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ cookbook: cookbook.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ eval: # Rebuild eval_* files from flex/bison source
+ ${FLEX} -t eval.l > eval_l.c1
diff --git a/sci-libs/cfitsio/files/cfitsio-4.0.0-pkgconfig.patch b/sci-libs/cfitsio/files/cfitsio-4.0.0-pkgconfig.patch
new file mode 100644
index 000000000000..4d743f2d32d9
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-4.0.0-pkgconfig.patch
@@ -0,0 +1,20 @@
+diff --git a/cfitsio.pc.in b/cfitsio.pc.in
+index 7cc25c6..95fb9d0 100644
+--- a/cfitsio.pc.in
++++ b/cfitsio.pc.in
+@@ -1,12 +1,12 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=@includedir@
++includedir=@includedir@/cfitsio
+
+ Name: cfitsio
+ Description: FITS File Subroutine Library
+ URL: https://heasarc.gsfc.nasa.gov/fitsio/
+ Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@.@CFITSIO_MICRO@
+ Libs: -L${libdir} -lcfitsio
+-Libs.private: -lm @LIBS@
+-Cflags: -I${includedir}
++Libs.private: -lm -lz @LIBS@
++Cflags: -D_REENTRANT -I${includedir}
diff --git a/sci-libs/cfitsio/files/cfitsio-4.0.0-system-zlib.patch b/sci-libs/cfitsio/files/cfitsio-4.0.0-system-zlib.patch
new file mode 100644
index 000000000000..f26f3d431505
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-4.0.0-system-zlib.patch
@@ -0,0 +1,50 @@
+diff --git a/Makefile.in b/Makefile.in
+index d607eec..b646458 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -102,7 +102,7 @@ lib${PACKAGE}.a: ${OBJECTS}
+ shared: lib${PACKAGE}${SHLIB_SUFFIX}
+
+ lib${PACKAGE}${SHLIB_SUFFIX}: ${OBJECTS}
+- ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm ${LIBS_CURL} ${LIBS}
++ ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm -lz -lbz2 ${LIBS_CURL} ${LIBS}
+ @if [ "x${CFITSIO_SHLIB_SONAME}" != x ]; then \
+ ln -sf ${CFITSIO_SHLIB} ${CFITSIO_SHLIB_SONAME}; \
+ ln -sf ${CFITSIO_SHLIB_SONAME} $@; \
+@@ -140,28 +140,28 @@ swapproc.o: swapproc.c
+ ${CC} -c ${CFLAGS} ${CPPFLAGS} ${SSE_FLAGS} ${DEFS} $<
+
+ smem: smem.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz
+
+ testprog: testprog.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fpack: fpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ funpack: funpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fitscopy: fitscopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ speed: speed.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ imcopy: imcopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ cookbook: cookbook.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ eval: # Rebuild eval_* files from flex/bison source
+ ${FLEX} -t eval.l > eval_l.c1
diff --git a/sci-libs/cfitsio/files/cfitsio-4.1.0-pkgconfig.patch b/sci-libs/cfitsio/files/cfitsio-4.1.0-pkgconfig.patch
new file mode 100644
index 000000000000..63502b77f756
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-4.1.0-pkgconfig.patch
@@ -0,0 +1,19 @@
+diff -ur a/cfitsio.pc.in b/cfitsio.pc.in
+--- a/cfitsio.pc.in 2022-05-26 17:25:47.094287274 +0200
++++ b/cfitsio.pc.in 2022-05-26 17:30:27.552413663 +0200
+@@ -1,12 +1,12 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+-includedir=@includedir@
++includedir=@includedir@/cfitsio
+
+ Name: cfitsio
+ Description: FITS File Subroutine Library
+ URL: https://heasarc.gsfc.nasa.gov/fitsio/
+ Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@.@CFITSIO_MICRO@
+ Libs: -L${libdir} -lcfitsio
+-Libs.private: -lm @LIBS@
+-Cflags: -I${includedir}
++Libs.private: -lm -lz @LIBS@
++Cflags: -D_REENTRANT -I${includedir}
diff --git a/sci-libs/cfitsio/files/cfitsio-4.1.0-system-zlib.patch b/sci-libs/cfitsio/files/cfitsio-4.1.0-system-zlib.patch
new file mode 100644
index 000000000000..6d740074857c
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-4.1.0-system-zlib.patch
@@ -0,0 +1,53 @@
+diff -ur a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2022-05-26 17:33:37.986215858 +0200
++++ b/Makefile.in 2022-05-26 17:34:27.580944957 +0200
+@@ -102,7 +102,7 @@
+ shared: lib${PACKAGE}${SHLIB_SUFFIX}
+
+ lib${PACKAGE}${SHLIB_SUFFIX}: ${OBJECTS}
+- ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm ${LIBS_CURL} ${LIBS}
++ ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm -lz -lbz2 ${LIBS_CURL} ${LIBS}
+ @if [ "x${CFITSIO_SHLIB_SONAME}" != x ]; then \
+ ln -sf ${CFITSIO_SHLIB} ${CFITSIO_SHLIB_SONAME}; \
+ ln -sf ${CFITSIO_SHLIB_SONAME} $@; \
+@@ -140,31 +140,31 @@
+ ${CC} -c ${CFLAGS} ${CPPFLAGS} ${SSE_FLAGS} ${DEFS} $<
+
+ smem: smem.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz
+
+ testprog: testprog.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fpack: fpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ funpack: funpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fitscopy: fitscopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ speed: speed.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ imcopy: imcopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ cookbook: cookbook.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ testf77: testf77.o lib${PACKAGE}.a ${OBJECTS}
+- ${FC} ${LDFLAGS_BIN} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${FC} ${LDFLAGS_BIN} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ eval: # Rebuild eval_* files from flex/bison source
+ ${FLEX} -t eval.l > eval_l.c1
diff --git a/sci-libs/cfitsio/files/cfitsio-4.2.0-pkgconfig.patch b/sci-libs/cfitsio/files/cfitsio-4.2.0-pkgconfig.patch
new file mode 100644
index 000000000000..9ec614616552
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-4.2.0-pkgconfig.patch
@@ -0,0 +1,19 @@
+diff -Naur a/cfitsio.pc.cmake b/cfitsio.pc.cmake
+--- a/cfitsio.pc.cmake 2022-10-31 19:40:23.000000000 +0100
++++ b/cfitsio.pc.cmake 2022-12-14 23:35:53.572102437 +0100
+@@ -1,12 +1,12 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+ libdir=@LIB_DESTINATION@
+-includedir=@INCLUDE_INSTALL_DIR@
++includedir=@INCLUDE_INSTALL_DIR@/cfitsio
+
+ Name: cfitsio
+ Description: FITS File Subroutine Library
+ URL: https://heasarc.gsfc.nasa.gov/fitsio/
+ Version: @CFITSIO_MAJOR@.@CFITSIO_MINOR@.@CFITSIO_MICRO@
+ Libs: -L${libdir} -lcfitsio
+-Libs.private: @PKG_CONFIG_LIBS@ -lm
+-Cflags: -I${includedir}
++Libs.private: @PKG_CONFIG_LIBS@ -lm -z
++Cflags: -D_REENTRANT -I${includedir}
diff --git a/sci-libs/cfitsio/files/cfitsio-4.2.0-system-zlib.patch b/sci-libs/cfitsio/files/cfitsio-4.2.0-system-zlib.patch
new file mode 100644
index 000000000000..fab375507f83
--- /dev/null
+++ b/sci-libs/cfitsio/files/cfitsio-4.2.0-system-zlib.patch
@@ -0,0 +1,53 @@
+diff -Naur a/Makefile.in b/Makefile.in
+--- a/Makefile.in 2022-10-31 19:40:23.000000000 +0100
++++ b/Makefile.in 2022-12-14 23:37:10.785099554 +0100
+@@ -102,7 +102,7 @@
+ shared: lib${PACKAGE}${SHLIB_SUFFIX}
+
+ lib${PACKAGE}${SHLIB_SUFFIX}: ${OBJECTS}
+- ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm ${LIBS_CURL} ${LIBS}
++ ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm -lz -lbz2 ${LIBS_CURL} ${LIBS}
+ @if [ "x${CFITSIO_SHLIB_SONAME}" != x ]; then \
+ ln -sf ${CFITSIO_SHLIB} ${CFITSIO_SHLIB_SONAME}; \
+ ln -sf ${CFITSIO_SHLIB_SONAME} $@; \
+@@ -142,31 +142,31 @@
+ ${CC} -c ${CFLAGS} ${CPPFLAGS} ${SSE_FLAGS} ${DEFS} $<
+
+ smem: smem.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz
+
+ testprog: testprog.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fpack: fpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ funpack: funpack.o fpackutil.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o fpackutil.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ fitscopy: fitscopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ speed: speed.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ imcopy: imcopy.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ cookbook: cookbook.o lib${PACKAGE}.a ${OBJECTS}
+- ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${CC} ${LDFLAGS_BIN} ${DEFS} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ testf77: testf77.o lib${PACKAGE}.a ${OBJECTS}
+- ${FC} ${LDFLAGS_BIN} -o $@ ${@}.o -L. -l${PACKAGE} -lm ${LIBS}
++ ${FC} ${LDFLAGS_BIN} -o $@ ${@}.o -L. -l${PACKAGE} -lm -lz ${LIBS}
+
+ # Tested with bison 3.8 and flex 2.6.4
+ eval: # Rebuild eval_* files from flex/bison source
diff --git a/sci-libs/cfitsio/metadata.xml b/sci-libs/cfitsio/metadata.xml
index 70b6e88c674a..c351d03c77d4 100644
--- a/sci-libs/cfitsio/metadata.xml
+++ b/sci-libs/cfitsio/metadata.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-astronomy@gentoo.org</email>
<name>Gentoo Astronomy Project</name>
</maintainer>
+ <use>
+ <flag name="tools">
+ Build optional utilities (cookbook fitscopy imcopy smem speed testprog fpack funpack)
+ </flag>
+ </use>
<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
@@ -13,9 +18,5 @@
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>
+ </longdescription>
</pkgmetadata>
diff --git a/sci-libs/cgcode/cgcode-1.0-r2.ebuild b/sci-libs/cgcode/cgcode-1.0-r2.ebuild
index 90160c444ea9..4caf7d901289 100644
--- a/sci-libs/cgcode/cgcode-1.0-r2.ebuild
+++ b/sci-libs/cgcode/cgcode-1.0-r2.ebuild
@@ -1,29 +1,39 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
-inherit eutils fortran-2 toolchain-funcs
+inherit fortran-2 flag-o-matic 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"
+S="${WORKDIR}"/${PN}
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
LICENSE="GPL-2"
-IUSE=""
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
RDEPEND="virtual/blas"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}"/${PN}
+PATCHES=(
+ "${FILESDIR}"/${PV}-gentoo.patch
+)
src_prepare() {
- epatch "${FILESDIR}"/${PV}-gentoo.patch
+ default
+
+ # bug #862681
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # GCC 10 workaround
+ # bug #722000
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
- cat >> make.inc <<- EOF
+ cat >> make.inc <<- EOF || die
F77 = $(tc-getFC)
FFLAGS = ${FFLAGS}
BLASLIBS = $($(tc-getPKG_CONFIG) --libs blas)
diff --git a/sci-libs/cgcode/files/1.0-gentoo.patch b/sci-libs/cgcode/files/1.0-gentoo.patch
index 612ca9e06497..449f1f18dde5 100644
--- a/sci-libs/cgcode/files/1.0-gentoo.patch
+++ b/sci-libs/cgcode/files/1.0-gentoo.patch
@@ -1,5 +1,3 @@
-diff --git a/makefile b/makefile
-index 4813b55..f20af02 100644
--- a/makefile
+++ b/makefile
@@ -1,21 +1,23 @@
@@ -33,8 +31,6 @@ index 4813b55..f20af02 100644
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 @@
@@ -60,8 +56,6 @@ index 10cf6c3..1dfd02d 100644
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
diff --git a/sci-libs/cgcode/metadata.xml b/sci-libs/cgcode/metadata.xml
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/sci-libs/cgcode/metadata.xml
+++ b/sci-libs/cgcode/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/cgnslib/Manifest b/sci-libs/cgnslib/Manifest
index 69e9eac02ce7..aff5aec578e2 100644
--- a/sci-libs/cgnslib/Manifest
+++ b/sci-libs/cgnslib/Manifest
@@ -1,2 +1,2 @@
-DIST cgnslib-3.3.0.tar.gz 3314889 BLAKE2B 3b8af11e04c211ca60f512c7995e9b23e0dd79180f3443f238562216073740de6b845c5bb78d6fb017bbf41e5249c1f58c27130047fd50afb4b20bbc778a046b SHA512 eb5c79d3830f8ee1fa30a67fbf32133c13a276c4b18a553826e4670bd4aa7262d7751bccb74c5e208cd47703f9076bde2e2e0db70408c88fde3ac11b638e6ff3
-DIST cgnslib-3.4.0.tar.gz 3393312 BLAKE2B 279d4502ff70701df6a266495ccc7750e9c51ac14bd3d5072ae8e1448b4f1e4afaefaaf254cf0afe1cc984e4d9fc7d5c161f7696f62726aaf567990ded3c9056 SHA512 e26cfb0d9f3061242d327a6c18fe40ed51bf63b61ae0d6b5cce7e6b4aa623b00e1c3fd9fe240d993323c6f4eec043fde5296a82b1f9108027f945300eec541ec
+DIST cgnslib-4.3.0.tar.gz 1472044 BLAKE2B 8fa59eb2c13b163553c03991af1886d2162295367094937c3b7bbbc687f098e736a927fb6835fabb43ecfbe59edcf0e58e8977e89eeb1ef12b26568fbdc78e2c SHA512 5db97b8df8cb5b108a65513e20774881c1dfa790dd96bec46119883d934db18e3f88450d287690cb785e0875af87a3ec32b6c4665c54edb623161122ee85aa93
+DIST cgnslib-4.4.0.tar.gz 1979828 BLAKE2B 1bf7a5eb8a69a488707da6e945228e053486cdfc64508ae6362ca84777bb5c22a7238676f24ca453cc8b5e2825482d473a2b84c1648849bb6f853fc0aa0a9100 SHA512 86c16d40b524519362645c553c91bade9bb7e4bffde7bf4de96a7f471ae3779a15781efa91efa059b2af0b127f08a560d2e903df6b45e1c79eaec6061db226e9
diff --git a/sci-libs/cgnslib/cgnslib-3.3.0.ebuild b/sci-libs/cgnslib/cgnslib-3.3.0.ebuild
deleted file mode 100644
index 3d8fd059480e..000000000000
--- a/sci-libs/cgnslib/cgnslib-3.3.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED="fortran"
-FORTRAN_STANDARD="90 2003"
-
-inherit cmake-utils fortran-2
-
-DESCRIPTION="CFD General Notation System standard library"
-HOMEPAGE="http://www.cgns.org/"
-SRC_URI="https://github.com/CGNS/CGNS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples fortran hdf5 legacy mpi static-libs szip test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="hdf5? ( sci-libs/hdf5:=[mpi=,szip=] )
- tools? (
- dev-lang/tcl:=
- dev-lang/tk:=
- x11-libs/libXmu:=
- virtual/glu
- virtual/opengl
- )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/CGNS-${PV}"
-
-pkg_setup() {
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- # gentoo libdir
- sed -e '/DESTINATION/s|lib)|lib${LIB_SUFFIX})|g' \
- -e 's|lib LIBDIR|lib${LIB_SUFFIX} LIBDIR|' \
- -e 's|/lib"|/lib${LIB_SUFFIX}"|'\
- -i CMakeLists.txt src/CMakeLists.txt || die
- # dont hard code link
- sed -e '/link_directories/d' \
- -i src/tools/CMakeLists.txt src/cgnstools/*/CMakeLists.txt || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCGNS_BUILD_SHARED=ON
- -DCGNS_USED_SHARED=ON
- -DCGNS_BUILD_CGNSTOOLS="$(usex tools)"
- -DCGNS_ENABLE_FORTRAN="$(usex fortran)"
- -DCGNS_ENABLE_HDF5="$(usex hdf5)"
- -DCGNS_ENABLE_LEGACY="$(usex legacy)"
- -DCGNS_ENABLE_TESTS="$(usex test)"
- -DHDF5_NEED_MPI="$(usex mpi)"
- -DHDF5_NEED_SZIP="$(usex szip)"
- -DHDF5_NEED_ZLIB="$(usex szip)"
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- # hack to allow parallel building by first producing fortran module
- use fortran && cd "${BUILD_DIR}"/src && emake cgns_f.o
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
- dodoc README.md changelog release_docs/Release.txt
- use static-libs || rm "${ED}"/usr/$(get_libdir)/libcgns.a
- use doc && dodoc *pdf release_docs/*.pdf
- insinto /usr/share/doc/${PF}
- use examples && doins -r src/examples
-}
diff --git a/sci-libs/cgnslib/cgnslib-3.4.0.ebuild b/sci-libs/cgnslib/cgnslib-3.4.0.ebuild
deleted file mode 100644
index e5889cb043ad..000000000000
--- a/sci-libs/cgnslib/cgnslib-3.4.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED="fortran"
-FORTRAN_STANDARD="90 2003"
-
-inherit cmake-utils fortran-2
-
-DESCRIPTION="CFD General Notation System standard library"
-HOMEPAGE="http://www.cgns.org/"
-SRC_URI="https://github.com/CGNS/CGNS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples fortran hdf5 legacy mpi static-libs szip test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="hdf5? ( sci-libs/hdf5:=[mpi=,szip=] )
- tools? (
- dev-lang/tcl:=
- dev-lang/tk:=
- x11-libs/libXmu:=
- virtual/glu
- virtual/opengl
- )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/CGNS-${PV}"
-
-pkg_setup() {
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- # gentoo libdir
- sed -e 's|/lib|/'$(get_libdir)'|' \
- -e '/DESTINATION/s|lib|'$(get_libdir)'|g' \
- -i src/CMakeLists.txt || die
- # dont hard code link
- sed -e '/link_directories/d' \
- -i src/tools/CMakeLists.txt src/cgnstools/*/CMakeLists.txt || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCGNS_BUILD_SHARED=ON
- -DCGNS_USED_SHARED=ON
- -DCGNS_BUILD_CGNSTOOLS="$(usex tools)"
- -DCGNS_ENABLE_FORTRAN="$(usex fortran)"
- -DCGNS_ENABLE_HDF5="$(usex hdf5)"
- -DCGNS_ENABLE_LEGACY="$(usex legacy)"
- -DCGNS_ENABLE_TESTS="$(usex test)"
- -DHDF5_NEED_MPI="$(usex mpi)"
- -DHDF5_NEED_SZIP="$(usex szip)"
- -DHDF5_NEED_ZLIB="$(usex szip)"
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- # hack to allow parallel building by first producing fortran module
- use fortran && cd "${BUILD_DIR}"/src && emake cgns_f.o
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
- dodoc README.md release_docs/Release.txt
- use static-libs || rm "${ED}"/usr/$(get_libdir)/libcgns.a
- use doc && dodoc *pdf release_docs/*.pdf
- insinto /usr/share/doc/${PF}
- use examples && doins -r src/examples
-}
diff --git a/sci-libs/cgnslib/cgnslib-4.3.0-r2.ebuild b/sci-libs/cgnslib/cgnslib-4.3.0-r2.ebuild
new file mode 100644
index 000000000000..39fb7c61d4a2
--- /dev/null
+++ b/sci-libs/cgnslib/cgnslib-4.3.0-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="fortran"
+FORTRAN_STANDARD="90 2003"
+
+inherit cmake flag-o-matic fortran-2
+
+DESCRIPTION="CFD General Notation System standard library"
+HOMEPAGE="
+ https://cgns.github.io/
+ https://github.com/CGNS/CGNS
+"
+SRC_URI="https://github.com/CGNS/CGNS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CGNS-${PV}"
+
+LICENSE="ZLIB"
+SLOT="0/4"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="base-scope debug examples fortran hdf5 legacy mpi scoping szip test tools"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5:=[mpi=,szip=] )
+ tools? (
+ dev-lang/tcl:=
+ dev-lang/tk:=
+ x11-libs/libXmu:=
+ virtual/glu
+ virtual/opengl
+ )
+"
+DEPEND="${RDEPEND}"
+
+RESTRICT="
+ fortran? ( test )
+ !test? ( test )
+"
+REQUIRED_USE="
+ mpi? ( hdf5 )
+ szip? ( hdf5 )
+"
+
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ # gentoo libdir
+ sed \
+ -e 's|/lib|/'$(get_libdir)'|' \
+ -e '/DESTINATION/s|lib|'$(get_libdir)'|g' \
+ -i src/CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862684
+ # https://github.com/CGNS/CGNS/issues/758
+ filter-lto
+
+ local mycmakeargs=(
+ -DCGNS_BUILD_SHARED=ON
+ -DCGNS_USE_SHARED=ON
+
+ -DCGNS_BUILD_CGNSTOOLS="$(usex tools)"
+ -DCGNS_ENABLE_BASE_SCOPE="$(usex base-scope)"
+ -DCGNS_ENABLE_FORTRAN="$(usex fortran)"
+ -DCGNS_ENABLE_HDF5="$(usex hdf5)"
+ -DCGNS_ENABLE_LEGACY="$(usex legacy)"
+ -DCGNS_ENABLE_SCOPING="$(usex scoping)"
+ -DCGNS_ENABLE_MEM_DEBUG="$(usex debug)"
+ -DCGNS_ENABLE_TESTS="$(usex test)"
+ )
+
+ if use mpi; then
+ mycmakeargs+=(
+ -DHDF5_NEED_MPI="$(usex mpi)"
+ -DHDF5_NEED_SZIP="$(usex szip)"
+ -DHDF5_NEED_ZLIB="$(usex szip)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README.md release_docs/{HISTORY,RELEASE,changes_from_2.5}.txt
+ rm "${ED}/usr/$(get_libdir)/libcgns.a" || die
+ dodoc release_docs/*.pdf
+ docompress -x /usr/share/doc/${PF}/examples
+ use examples && dodoc -r src/examples
+}
diff --git a/sci-libs/cgnslib/cgnslib-4.4.0-r1.ebuild b/sci-libs/cgnslib/cgnslib-4.4.0-r1.ebuild
new file mode 100644
index 000000000000..e3836dc84986
--- /dev/null
+++ b/sci-libs/cgnslib/cgnslib-4.4.0-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="fortran"
+FORTRAN_STANDARD="90 2003"
+
+inherit cmake flag-o-matic fortran-2
+
+DESCRIPTION="CFD General Notation System standard library"
+HOMEPAGE="
+ https://cgns.github.io/
+ https://github.com/CGNS/CGNS
+"
+SRC_URI="https://github.com/CGNS/CGNS/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CGNS-${PV}"
+
+LICENSE="ZLIB"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="base-scope debug examples fortran hdf5 legacy mpi scoping szip test tools"
+
+RDEPEND="
+ hdf5? ( sci-libs/hdf5:=[mpi=,szip=] )
+ tools? (
+ dev-lang/tcl:=
+ dev-lang/tk:=
+ x11-libs/libXmu:=
+ virtual/glu
+ virtual/opengl
+ )
+"
+DEPEND="${RDEPEND}"
+
+RESTRICT="
+ fortran? ( test )
+ !test? ( test )
+"
+REQUIRED_USE="
+ mpi? ( hdf5 )
+ szip? ( hdf5 )
+"
+
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ # gentoo libdir
+ sed \
+ -e 's|/lib|/'$(get_libdir)'|' \
+ -e '/DESTINATION/s|lib|'$(get_libdir)'|g' \
+ -i src/CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862684
+ # https://github.com/CGNS/CGNS/issues/758
+ filter-lto
+
+ local mycmakeargs=(
+ -DCGNS_BUILD_SHARED=ON
+ -DCGNS_USE_SHARED=ON
+
+ -DCGNS_BUILD_CGNSTOOLS="$(usex tools)"
+ -DCGNS_ENABLE_BASE_SCOPE="$(usex base-scope)"
+ -DCGNS_ENABLE_FORTRAN="$(usex fortran)"
+ -DCGNS_ENABLE_HDF5="$(usex hdf5)"
+ -DCGNS_ENABLE_LEGACY="$(usex legacy)"
+ -DCGNS_ENABLE_SCOPING="$(usex scoping)"
+ -DCGNS_ENABLE_MEM_DEBUG="$(usex debug)"
+ -DCGNS_ENABLE_TESTS="$(usex test)"
+ )
+
+ if use mpi; then
+ mycmakeargs+=(
+ -DHDF5_NEED_MPI="$(usex mpi)"
+ -DHDF5_NEED_SZIP="$(usex szip)"
+ -DHDF5_NEED_ZLIB="$(usex szip)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README.md release_docs/{HISTORY,RELEASE,changes_from_2.5}.txt
+ rm "${ED}/usr/$(get_libdir)/libcgns.a" || die
+ dodoc release_docs/*.pdf
+ docompress -x /usr/share/doc/${PF}/examples
+ use examples && dodoc -r src/examples
+}
diff --git a/sci-libs/cgnslib/metadata.xml b/sci-libs/cgnslib/metadata.xml
index 855392f824c3..978347af49e6 100644
--- a/sci-libs/cgnslib/metadata.xml
+++ b/sci-libs/cgnslib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription lang="en">
The Computational Fluid Dynamics General Notation System (CGNS) provides a
@@ -10,7 +10,9 @@
an international steering committee.
</longdescription>
<use>
+ <flag name="base-scope">Enable base scoped families or connectivities</flag>
<flag name="legacy">Enable or disable building legacy code (3.0 compatible)</flag>
+ <flag name="scoping">Enable scoping of enumeration values</flag>
<flag name="tools">
A number of utility programs:
cgnscheck, cgnscompress, cgnsdiff, cgnslist, cgnsnames, cgnsupdate, cgnsconvert, adf2hdf, hdf2adf.
diff --git a/sci-libs/cholmod/Manifest b/sci-libs/cholmod/Manifest
index 52847a34dd05..cf3192387aab 100644
--- a/sci-libs/cholmod/Manifest
+++ b/sci-libs/cholmod/Manifest
@@ -1,2 +1,3 @@
-DIST cholmod-2.1.2.tar.bz2 656458 BLAKE2B 83a574ad7d3755428d8d732f3f60b07908b8315d73d5a3d3aaf9aac50b54590c532389dd90efc569e67639993095706eb546e72313b735e35af34a1fea398be2 SHA512 7aca97de4c60ff2d7a76a776be4c2d61243a159a51b9e147fa2480f2aaf61a5d966eb0f1cb57c0145510437f6c478fa30384b741709d0a02432b74ada3e78089
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST cholmod-3.0.13.tar.bz2 696002 BLAKE2B 40a065fe1a3585897b3ca554a25fa80ffc68ac70798f2f803e34a231ec4f532d113a3d00ab7ab61f5eb02503a84e1459cdb7e96cb0b0d1dc6975ed3d533104fe SHA512 c6c80d099386bac27e385a1b8ee8941cd2fb4f2dcfcf302b4b17d6477ac9ee17ad8030aae9191f92576dfaeb521e2c98ec24e867281c2405e42f95580e14f0ab
+DIST cholmod-3.0.14.tar.bz2 696981 BLAKE2B 855927c18833235b3f0835bfba455d83957b9161c0ee885c2d31d126f0f473067f55bcf2cfa163c72efb5de573589ffa54b484a8cf89bc44c9dbf64d43fda5d9 SHA512 f8c12fc3c8787be38bca6c6f84a8279c1380fbe4fabbfba754235fdb042d7050bfb7b5a21ea87ef59dbd5184d28e8cb7667966c38f5dcad78fe8d47111896a3c
diff --git a/sci-libs/cholmod/cholmod-2.1.2.ebuild b/sci-libs/cholmod/cholmod-2.1.2.ebuild
deleted file mode 100644
index 0c7f5b868903..000000000000
--- a/sci-libs/cholmod/cholmod-2.1.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils multilib toolchain-funcs
-
-DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
-SRC_URI="https://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
-
-LICENSE="minimal? ( LGPL-2.1 ) !minimal? ( GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~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-5 <sci-libs/parmetis-4 ) )"
-
-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/cholmod-3.0.13.ebuild b/sci-libs/cholmod/cholmod-3.0.13.ebuild
index 3baa9854bc66..bc2fdd2aa62d 100644
--- a/sci-libs/cholmod/cholmod-3.0.13.ebuild
+++ b/sci-libs/cholmod/cholmod-3.0.13.ebuild
@@ -1,32 +1,46 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit toolchain-funcs
+inherit cuda toolchain-funcs
DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
LICENSE="LGPL-2.1+ modify? ( GPL-2+ ) matrixops? ( GPL-2+ )"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="cuda doc +lapack +matrixops +modify +partition static-libs"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc +lapack +matrixops +modify +partition"
BDEPEND="virtual/pkgconfig
doc? ( virtual/latex-base )"
DEPEND="
>=sci-libs/amd-2.4
>=sci-libs/colamd-2.9
- cuda? ( x11-drivers/nvidia-drivers dev-util/nvidia-cuda-toolkit )
+ cuda? (
+ x11-drivers/nvidia-drivers
+ dev-util/nvidia-cuda-toolkit
+ )
lapack? ( virtual/lapack )
partition? (
>=sci-libs/camd-2.4
>=sci-libs/ccolamd-2.9
- || ( >=sci-libs/metis-5.1.0 sci-libs/parmetis ) )"
+ >=sci-libs/metis-5.1.0
+ )"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.14-fix-CUDA.patch"
+)
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+
+ default
+}
+
src_configure() {
local lapack_libs=no
local blas_libs=no
@@ -44,10 +58,10 @@ src_configure() {
fi
econf \
+ --disable-static \
--with-blas="${blas_libs}" \
--with-lapack="${lapack_libs}" \
$(use_with doc) \
- $(use_enable static-libs static) \
$(use_with modify) \
$(use_with matrixops) \
$(use_with partition) \
@@ -55,3 +69,10 @@ src_configure() {
$(use_with lapack supernodal) \
"${cudaconfargs[@]}"
}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/cholmod/cholmod-3.0.14.ebuild b/sci-libs/cholmod/cholmod-3.0.14.ebuild
new file mode 100644
index 000000000000..4fc1ec9b185a
--- /dev/null
+++ b/sci-libs/cholmod/cholmod-3.0.14.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cuda toolchain-funcs
+
+DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+ modify? ( GPL-2+ ) matrixops? ( GPL-2+ )"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="cuda doc +lapack +matrixops +modify +partition"
+
+BDEPEND="virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+DEPEND="
+ sci-libs/amd
+ sci-libs/colamd
+ cuda? (
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ )
+ lapack? ( virtual/lapack )
+ partition? (
+ sci-libs/camd
+ sci-libs/ccolamd
+ >=sci-libs/metis-5.1.0
+ )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.14-fix-CUDA.patch"
+)
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+
+ default
+}
+
+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 cudaconfargs=( $(use_with cuda) )
+ if use cuda ; then
+ cudaconfargs+=(
+ --with-cublas-libs="-L${EPREFIX}/opt/cuda/$(get_libdir) -lcublas"
+ --with-cublas-cflags="-I${EPREFIX}/opt/cuda/include"
+ )
+ fi
+
+ econf \
+ --disable-static \
+ --with-blas="${blas_libs}" \
+ --with-lapack="${lapack_libs}" \
+ $(use_with doc) \
+ $(use_with modify) \
+ $(use_with matrixops) \
+ $(use_with partition) \
+ $(use_with partition camd) \
+ $(use_with lapack supernodal) \
+ "${cudaconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/cholmod/cholmod-4.0.3.ebuild b/sci-libs/cholmod/cholmod-4.0.3.ebuild
new file mode 100644
index 000000000000..4ab1d6076859
--- /dev/null
+++ b/sci-libs/cholmod/cholmod-4.0.3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib toolchain-funcs
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Sparse Cholesky factorization and update/downdate library"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1+ modify? ( GPL-2+ ) matrixops? ( GPL-2+ )"
+SLOT="0/4"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+cholesky cuda doc openmp +matrixops +modify +partition +supernodal test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}
+ >=sci-libs/amd-3.0.3
+ >=sci-libs/colamd-3.0.3
+ supernodal? ( virtual/lapack )
+ partition? (
+ >=sci-libs/camd-3.0.3
+ >=sci-libs/ccolamd-3.0.3
+ )
+ cuda? (
+ dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers
+ )"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+REQUIRED_USE="supernodal? ( cholesky )
+ modify? ( cholesky )
+ test? ( cholesky matrixops supernodal )"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+multilib_src_configure() {
+ # Not that "N" prefixed options are negative options
+ # so they need to be turned OFF if you want that option.
+ # Fortran is turned off as it is only used to compile (untested) demo programs.
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DENABLE_CUDA=$(usex cuda)
+ -DNOPENMP=$(usex openmp OFF ON)
+ -DNFORTRAN=ON
+ -DNCHOLESKY=$(usex cholesky OFF ON)
+ -DNMATRIXOPS=$(usex matrixops OFF ON)
+ -DNMODIFY=$(usex modify OFF ON)
+ -DNPARTITION=$(usex partition OFF ON)
+ -DNSUPERNODAL=$(usex supernodal OFF ON)
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run demo files
+ ./cholmod_demo < "${S}"/Demo/Matrix/bcsstk01.tri || die "failed testing"
+ ./cholmod_l_demo < "${S}"/Demo/Matrix/bcsstk01.tri || die "failed testing"
+ ./cholmod_demo < "${S}"/Demo/Matrix/lp_afiro.tri || die "failed testing"
+ ./cholmod_l_demo < "${S}"/Demo/Matrix/lp_afiro.tri || die "failed testing"
+ ./cholmod_demo < "${S}"/Demo/Matrix/can___24.mtx || die "failed testing"
+ ./cholmod_l_demo < "${S}"/Demo/Matrix/can___24.mtx || die "failed testing"
+ ./cholmod_demo < "${S}"/Demo/Matrix/c.tri || die "failed testing"
+ ./cholmod_l_demo < "${S}"/Demo/Matrix/c.tri || die "failed testing"
+ ./cholmod_simple < "${S}"/Demo/Matrix/c.tri || die "failed testing"
+ ./cholmod_simple < "${S}"/Demo/Matrix/can___24.mtx || die "failed testing"
+ ./cholmod_simple < "${S}"/Demo/Matrix/bcsstk01.tri || die "failed testing"
+}
+
+multilib_src_install() {
+ if use doc; then
+ pushd "${S}/Doc"
+ rm -rf *.pdf
+ emake
+ popd
+ DOCS="${S}/Doc/*.pdf"
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch b/sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch
deleted file mode 100644
index 6b50ae8bcea7..000000000000
--- a/sci-libs/cholmod/files/cholmod-1.7.4-parmetis32.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-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/files/cholmod-3.0.14-fix-CUDA.patch b/sci-libs/cholmod/files/cholmod-3.0.14-fix-CUDA.patch
new file mode 100644
index 000000000000..75cdee80bfe1
--- /dev/null
+++ b/sci-libs/cholmod/files/cholmod-3.0.14-fix-CUDA.patch
@@ -0,0 +1,109 @@
+https://bugs.gentoo.org/715610#c16
+https://bugs.gentoo.org/attachment.cgi?id=749631
+
+--- cholmod-3.0.14.old/GPU/Makefile.am 2020-09-29 22:59:54.000000000 +0300
++++ cholmod-3.0.14/GPU/Makefile.am 2021-11-09 02:20:06.579908785 +0300
+@@ -11,7 +11,7 @@
+ libcholmodl_gpu_la_CPPFLAGS = $(AM_CPPFLAGS) -DDLONG
+
+ libcholmod_gpu_la_SOURCES = cholmod_gpu_kernels.cu
+-libcholmod_gpu_la_LIBADD = libcholmodi_gpu.la libcholmodl_gpu.la
++libcholmod_gpu_la_LIBADD = libcholmodi_gpu.la libcholmodl_gpu.la cholmod_gpu_kernels.o
+
+-.cu.lo:
+- $(LIBTOOL) --tag=CC --mode=compile $(NVCC) -c $<
++.cu.o:
++ $(NVCC) $(NVCCFLAGS) -o $@ -c $<
+--- cholmod-3.0.14.old/GPU/cholmod_gpu.h 1970-01-01 03:00:00.000000000 +0300
++++ cholmod-3.0.14/GPU/cholmod_gpu.h 2021-11-08 12:13:12.018328369 +0300
+@@ -0,0 +1,80 @@
++/* ========================================================================== */
++/* === Include/cholmod_gpu.h ================================================ */
++/* ========================================================================== */
++
++/* -----------------------------------------------------------------------------
++ * CHOLMOD/Include/cholmod_gpu.h.
++ * Copyright (C) 2014, Timothy A. Davis
++ * http://www.suitesparse.com
++ * -------------------------------------------------------------------------- */
++
++/* CHOLMOD GPU module
++ */
++
++#ifndef CHOLMOD_GPU_H
++#define CHOLMOD_GPU_H
++
++#ifdef GPU_BLAS
++#include "omp.h"
++#include <fenv.h>
++#ifndef SUITESPARSE_GPU_EXTERN_ON
++#include <cuda.h>
++#include <cuda_runtime.h>
++#endif
++#endif
++
++/* CHOLMOD_GPU_PRINTF: for printing GPU debug error messages */
++/*
++#define CHOLMOD_GPU_PRINTF(args) printf args
++*/
++#define CHOLMOD_GPU_PRINTF(args)
++
++/* define supernode requirements for processing on GPU */
++#define CHOLMOD_ND_ROW_LIMIT 256 /* required descendant rows */
++#define CHOLMOD_ND_COL_LIMIT 32 /* required descendnat cols */
++#define CHOLMOD_POTRF_LIMIT 512 /* required cols for POTRF & TRSM on GPU */
++
++/* # of host supernodes to perform before checking for free pinned buffers */
++#define CHOLMOD_GPU_SKIP 3
++
++#define CHOLMOD_HANDLE_CUDA_ERROR(e,s) {if (e) {ERROR(CHOLMOD_GPU_PROBLEM,s);}}
++
++typedef struct cholmod_gpu_pointers
++{
++ double *h_Lx [CHOLMOD_HOST_SUPERNODE_BUFFERS] ;
++ double *d_Lx [CHOLMOD_DEVICE_STREAMS] ;
++ double *d_C ;
++ double *d_A [CHOLMOD_DEVICE_STREAMS] ;
++ void *d_Ls ;
++ void *d_Map ;
++ void *d_RelativeMap ;
++
++} cholmod_gpu_pointers ;
++
++int cholmod_gpu_memorysize /* GPU memory size available, 1 if no GPU */
++(
++ size_t *total_mem,
++ size_t *available_mem,
++ cholmod_common *Common
++) ;
++
++int cholmod_l_gpu_memorysize /* GPU memory size available, 1 if no GPU */
++(
++ size_t *total_mem,
++ size_t *available_mem,
++ cholmod_common *Common
++) ;
++
++int cholmod_gpu_probe ( cholmod_common *Common ) ;
++int cholmod_l_gpu_probe ( cholmod_common *Common ) ;
++
++int cholmod_gpu_deallocate ( cholmod_common *Common ) ;
++int cholmod_l_gpu_deallocate ( cholmod_common *Common ) ;
++
++void cholmod_gpu_end ( cholmod_common *Common ) ;
++void cholmod_l_gpu_end ( cholmod_common *Common ) ;
++
++int cholmod_gpu_allocate ( cholmod_common *Common ) ;
++int cholmod_l_gpu_allocate ( cholmod_common *Common ) ;
++
++#endif
+--- cholmod-3.0.14.old/configure.ac 2020-09-29 22:59:54.000000000 +0300
++++ cholmod-3.0.14/configure.ac 2021-11-08 12:17:00.865381081 +0300
+@@ -80,6 +80,7 @@
+ NVCC,
+ nvcc,,)
+ AC_SUBST([NVCC])
++ AC_SUBST([NVCCFLAGS])
+ AX_CHECK_PKG_LIB(
+ [cublas],
+ [cublas_v2.h],
diff --git a/sci-libs/cholmod/metadata.xml b/sci-libs/cholmod/metadata.xml
index 401422f1a9d6..baceb4a3e5f7 100644
--- a/sci-libs/cholmod/metadata.xml
+++ b/sci-libs/cholmod/metadata.xml
@@ -1,30 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <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="cholesky">
+ Enable sparse Cholesky factorisation
+ </flag>
<flag name="matrixops">
Support basic sparse and dense matrix operations (add, multiply,
scale, et cetera)
</flag>
- <flag name="metis">
- Enable the Partition module to cholmod using <pkg>sci-libs/metis</pkg>
- </flag>
<flag name="modify">
Enable Cholesky-modification routines like update, downdate,
row-add, and row-delete
</flag>
<flag name="partition">
Enable graph partitioning and graph-partition-based orderings
- through <pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg>
+ through <pkg>sci-libs/metis</pkg> (using a bundled fork in 4.0.0+)
+ or <pkg>sci-libs/parmetis</pkg>
+ </flag>
+ <flag name="supernodal">
+ supernodal cholesky factorisation
</flag>
</use>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/cifparse-obj/Manifest b/sci-libs/cifparse-obj/Manifest
index b6b72d039897..b4e1510dc6e6 100644
--- a/sci-libs/cifparse-obj/Manifest
+++ b/sci-libs/cifparse-obj/Manifest
@@ -1,2 +1 @@
-DIST cifparse-obj-v7.025-prod-src.tar.gz 928484 BLAKE2B 4f510f4826e235ecd87d81d51ceef84b717bb0c174f4a263cae44765bd0ddb35e2bb6edce1c5cadcf18c5e9892630f43cda2ca004f09d84dc44499d457eef5c1 SHA512 bf5d6b55592aca8678396eb9819f5bd7bff4d912410590dfb750c9ad85bdcdbd251425c45b67e2db027a8ce8d028b77c91edcc5333279ed1190f6049c01f5cc9
DIST cifparse-obj-v7.105-prod-src.tar.gz 931151 BLAKE2B c362fc528e0c88b41ef8433c6d0235ae0bd4055c8c1704d2f1be8ba8aa27a7526b3d19172f2a4ffda79c323140a54dcb2b0a2eb78f30780473c9bcfb2ab6c6f9 SHA512 d626aa055bdd6762eda4b5b04121f37fff3bc09460b12cd6cb80566545d23e5c08a8ad54fa184076932d2cff38aa9d91fa659fbe9a70d4a07b8b1677c28549f4
diff --git a/sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild b/sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild
deleted file mode 100644
index 647673dcd240..000000000000
--- a/sci-libs/cifparse-obj/cifparse-obj-7.025-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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 \
- "${FILESDIR}"/${P}-gcc5_6.patch \
- "${FILESDIR}"/${PN}-7.025-strncasecmp-declaration.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/cifparse-obj-7.105.ebuild b/sci-libs/cifparse-obj/cifparse-obj-7.105.ebuild
index 622af4794346..84c808a677e9 100644
--- a/sci-libs/cifparse-obj/cifparse-obj-7.105.ebuild
+++ b/sci-libs/cifparse-obj/cifparse-obj-7.105.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit eutils toolchain-funcs
+inherit toolchain-funcs
MY_P="${PN}-v${PV}-prod-src"
@@ -13,13 +13,13 @@ 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"
+KEYWORDS="amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE=""
RDEPEND=""
DEPEND="
- sys-devel/bison
- sys-devel/flex"
+ app-alternatives/yacc
+ app-alternatives/lex"
S="${WORKDIR}/${MY_P}"
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
deleted file mode 100644
index 1715f493a6e0..000000000000
--- a/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.3.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-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
deleted file mode 100644
index b828ae618caa..000000000000
--- a/sci-libs/cifparse-obj/files/cifparse-obj-7.025-gcc4.7.patch
+++ /dev/null
@@ -1,64 +0,0 @@
- 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
deleted file mode 100644
index 9e9a61788ddf..000000000000
--- a/sci-libs/cifparse-obj/files/cifparse-obj-7.025-makefile.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-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/cifparse-obj-7.025-strncasecmp-declaration.patch b/sci-libs/cifparse-obj/files/cifparse-obj-7.025-strncasecmp-declaration.patch
deleted file mode 100644
index 9222ff27699e..000000000000
--- a/sci-libs/cifparse-obj/files/cifparse-obj-7.025-strncasecmp-declaration.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Remove incorrect prototypes of the 'strcasecmp' and 'strncasecmp' functions.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=594054
-
---- a/misclib-v2.2/include/ndb_misclib.h
-+++ b/misclib-v2.2/include/ndb_misclib.h
-@@ -167,10 +167,6 @@
- #define NDB_MSG_BUFFER_LEN 200000
-
-
--#if !defined(HAVE_STRCASECMP)
--int strcasecmp (const char *s1, const char *s2);
--int strncasecmp (const char *s1, const char *s2, unsigned int n);
--#endif
- /*
- * ndb_misclib.c prototypes
- */
diff --git a/sci-libs/cifparse-obj/metadata.xml b/sci-libs/cifparse-obj/metadata.xml
index 8937bad0b175..e490bcb8aa87 100644
--- a/sci-libs/cifparse-obj/metadata.xml
+++ b/sci-libs/cifparse-obj/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-chemistry@gentoo.org</email>
diff --git a/sci-libs/clapack/clapack-3.2.1-r8.ebuild b/sci-libs/clapack/clapack-3.2.1-r8.ebuild
index ac9a2c73f97e..0d070b205532 100644
--- a/sci-libs/clapack/clapack-3.2.1-r8.ebuild
+++ b/sci-libs/clapack/clapack-3.2.1-r8.ebuild
@@ -1,25 +1,28 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit flag-o-matic cmake-utils
+inherit flag-o-matic cmake
DESCRIPTION="f2c'ed version of LAPACK"
-HOMEPAGE="http://www.netlib.org/clapack/"
-SRC_URI="http://www.netlib.org/${PN}/${P}-CMAKE.tgz"
+HOMEPAGE="https://www.netlib.org/clapack/"
+SRC_URI="https://www.netlib.org/${PN}/${P}-CMAKE.tgz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
+# bug 433806
+RESTRICT="test"
+
RDEPEND="
>=dev-libs/libf2c-20090407-r1
virtual/blas"
DEPEND="${RDEPEND}"
-S=${WORKDIR}/${P}-CMAKE
+S="${WORKDIR}"/${P}-CMAKE
PATCHES=(
"${FILESDIR}/${P}-fix_include_file.patch"
@@ -28,18 +31,17 @@ PATCHES=(
"${FILESDIR}/${P}-findblas-r7.patch"
)
-# bug 433806
-RESTRICT="test"
-
src_prepare() {
+ cmake_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=( -DENABLE_TESTS=$(usex test) )
- cmake-utils_src_configure
+ local mycmakeargs=(
+ -DENABLE_TESTS=$(usex test)
+ )
+ cmake_src_configure
}
diff --git a/sci-libs/clapack/metadata.xml b/sci-libs/clapack/metadata.xml
index 5f899e3c2212..4daae4a0ab2d 100644
--- a/sci-libs/clapack/metadata.xml
+++ b/sci-libs/clapack/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -13,5 +13,5 @@
that has found extensive use in the scientific community.
This package installs the reference C implementation from Netlib,
generated from f2c.
-</longdescription>
+ </longdescription>
</pkgmetadata>
diff --git a/sci-libs/clashscore-db/clashscore-db-3.17-r1.ebuild b/sci-libs/clashscore-db/clashscore-db-3.17-r1.ebuild
new file mode 100644
index 000000000000..92712ac85a99
--- /dev/null
+++ b/sci-libs/clashscore-db/clashscore-db-3.17-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Clashscore-db for clashlist"
+HOMEPAGE="http://kinemage.biochem.duke.edu/"
+SRC_URI="mirror://gentoo/molprobity-${PV}.tgz"
+S="${WORKDIR}"
+
+LICENSE="richardson"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RESTRICT="binchecks strip"
+
+src_install() {
+ insinto /usr/share/clashscore
+ doins molprobity3/lib/clashscore.db.tab
+}
diff --git a/sci-libs/clashscore-db/clashscore-db-3.17.ebuild b/sci-libs/clashscore-db/clashscore-db-3.17.ebuild
deleted file mode 100644
index bad0582b7168..000000000000
--- a/sci-libs/clashscore-db/clashscore-db-3.17.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
index 8937bad0b175..e490bcb8aa87 100644
--- a/sci-libs/clashscore-db/metadata.xml
+++ b/sci-libs/clashscore-db/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-chemistry@gentoo.org</email>
diff --git a/sci-libs/clblas/Manifest b/sci-libs/clblas/Manifest
index 304f9e7bde34..5ccea72193cb 100644
--- a/sci-libs/clblas/Manifest
+++ b/sci-libs/clblas/Manifest
@@ -1 +1 @@
-DIST clblas-2.10.tar.gz 1154117 BLAKE2B 67035b03ab3a8fa07f32cb8d1d40af39fd885ceb21d9754f8a49a62adcfacbeeec703dfdae922ec0fc915a2dcadff2fc2f07a6c5ced74db3da6cd85c6c63f4d5 SHA512 5ed43104aae565292e0df4cc9e014cf483ccc0ff89257ebb5817f6508bfc9593585ed658da639f2167fbfb5d92ef116be4d5de3694f56e1a1e228bd42b1c05c6
+DIST clblas-2.12.tar.gz 1157445 BLAKE2B 27352a7775db94808ce21f2b4a39fe505d4f37be4305dc7fb5a4068a86d3f51a9e4863931f634150762b31256f9f7e8e5d0d8b70f404b5a9ddb8a489b800aea6 SHA512 5d9b0c58adde69e83d95e9c713e0cdc5f64785fe7e05553a14c57fa483c4ef39e9dc780c26880a7f15924967d5ce4ea29035c29d63eac7ee5a2ae5ddacac2b72
diff --git a/sci-libs/clblas/clblas-2.10.ebuild b/sci-libs/clblas/clblas-2.10.ebuild
deleted file mode 100644
index 112150552dc8..000000000000
--- a/sci-libs/clblas/clblas-2.10.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-FORTRAN_NEEDED=test
-
-inherit cmake-utils python-single-r1 toolchain-funcs fortran-2
-
-MYPN="clBLAS"
-
-DESCRIPTION="Library containing BLAS routines for OpenCL"
-HOMEPAGE="https://github.com/clMathLibraries/clBLAS"
-SRC_URI="https://github.com/clMathLibraries/${MYPN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/2" # soname version
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+client doc examples ktest performance test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="performance? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- virtual/opencl
- doc? ( dev-libs/mathjax )
- performance? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? (
- dev-cpp/gtest
- dev-libs/boost
- virtual/pkgconfig
- virtual/blas
- )
-"
-
-S="${WORKDIR}/${MYPN}-${PV}"
-CMAKE_USE_DIR="${S}/src"
-
-PATCHES=(
- "${FILESDIR}"/${P}-disable-multilib-cflags.patch
- "${FILESDIR}"/${P}-fix-blas-dot-calls.patch
- "${FILESDIR}"/${P}-fix-doxygen-output-dir.patch
- "${FILESDIR}"/${P}-fix-pthread-linkage.patch
- "${FILESDIR}"/${P}-use-boost-dynamic-libs.patch
- "${FILESDIR}"/${P}-use-system-mathjax.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_RUNTIME=ON
- -DBUILD_SAMPLE=OFF
- -DBUILD_CLIENT="$(usex client)"
- -DBUILD_KTEST="$(usex ktest)"
- -DBUILD_PERFORMANCE="$(usex performance)"
- )
- if use test; then
- mycmakeargs+=(
- -DBUILD_TEST=ON
- -DUSE_SYSTEM_GTEST=ON
- -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
- )
- else
- mycmakeargs+=( -DBUILD_TEST=OFF )
- fi
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
- if use doc; then
- cd doc
- doxygen clBLAS.doxy || die
- fi
-}
-
-src_test() {
- pushd "${BUILD_DIR}/staging" > /dev/null
- LD_LIBRARY_PATH="${BUILD_DIR}/library:${LD_LIBRARY_PATH}" \
- ./test-short
- popd > /dev/null
-
- # horrible hack to avoid installing compiled tests
- # this will trigger some overcompilation
- mycmakeargs+=( -DBUILD_TEST=OFF )
- cmake-utils_src_configure
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- cmake-utils_src_install
- dodoc CHANGELOG CONTRIBUTING.md NOTICE README.md
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins -r src/samples/*
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/sci-libs/clblas/clblas-2.12-r2.ebuild b/sci-libs/clblas/clblas-2.12-r2.ebuild
new file mode 100644
index 000000000000..654c43bcf00f
--- /dev/null
+++ b/sci-libs/clblas/clblas-2.12-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DOCS_BUILDER="doxygen"
+DOCS_DEPEND="<dev-libs/mathjax-3"
+DOCS_CONFIG_NAME="clBLAS.doxy"
+DOCS_DIR="doc"
+
+inherit python-any-r1 toolchain-funcs cmake docs
+
+MYPN="clBLAS"
+
+DESCRIPTION="Library containing BLAS routines for OpenCL"
+HOMEPAGE="https://github.com/clMathLibraries/clBLAS"
+SRC_URI="https://github.com/clMathLibraries/${MYPN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MYPN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0/2" # soname version
+KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="+client examples ktest performance test"
+# the testsuite is hopelessly broken and upstream is pretty much dead
+RESTRICT="test"
+
+RDEPEND="
+ virtual/opencl
+ client? ( virtual/cblas )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ client? ( virtual/pkgconfig )
+"
+
+CMAKE_USE_DIR="${S}/src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.12-disable-multilib-cflags.patch
+ "${FILESDIR}"/${PN}-2.12-fix-pthread-linkage.patch
+ "${FILESDIR}"/${PN}-2.12-fix-doxygen-output-dir.patch
+ "${FILESDIR}"/${PN}-2.12-use-system-mathjax.patch
+ "${FILESDIR}"/${PN}-2.12-reproducible-build.patch
+ "${FILESDIR}"/${PN}-2.12-use-boost-dynamic-libs.patch
+ "${FILESDIR}"/${PN}-2.12-Detect-CBLAS-when-building-the-client.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_RUNTIME=ON
+ -DBUILD_SAMPLE=OFF
+ # tests are beyond repair
+ -DBUILD_TEST=OFF
+ -DBUILD_CLIENT=$(usex client)
+ -DBUILD_KTEST=$(usex ktest)
+ -DBUILD_PERFORMANCE=$(usex performance)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ use client && mycmakeargs+=(
+ -DNetlib_LIBRARIES="$($(tc-getPKG_CONFIG) --libs cblas blas)"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc CHANGELOG CONTRIBUTING.md NOTICE README.md
+ if use examples; then
+ docinto examples
+ dodoc -r src/samples/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sci-libs/clblas/files/clblas-2.10-disable-multilib-cflags.patch b/sci-libs/clblas/files/clblas-2.10-disable-multilib-cflags.patch
deleted file mode 100644
index a7e59d913f06..000000000000
--- a/sci-libs/clblas/files/clblas-2.10-disable-multilib-cflags.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Description: disable multilib flags
-Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
-Forwarded: not-needed
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -296,9 +296,9 @@
- # Don't use -rpath.
- set(CMAKE_SKIP_RPATH ON CACHE BOOL "Skip RPATH" FORCE)
-
-- set(CMAKE_C_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_C_FLAGS}")
-- set(CMAKE_CXX_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_CXX_FLAGS}")
-- set(CMAKE_Fortran_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_Fortran_FLAGS}")
-+ #set(CMAKE_C_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_C_FLAGS}")
-+ #set(CMAKE_CXX_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_CXX_FLAGS}")
-+ #set(CMAKE_Fortran_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_Fortran_FLAGS}")
-
- if(TARGET_PLATFORM EQUAL 32)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-builtin")
diff --git a/sci-libs/clblas/files/clblas-2.10-fix-blas-dot-calls.patch b/sci-libs/clblas/files/clblas-2.10-fix-blas-dot-calls.patch
deleted file mode 100644
index cc2c6c3c1766..000000000000
--- a/sci-libs/clblas/files/clblas-2.10-fix-blas-dot-calls.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/src/tests/correctness/blas-lapack.c b/src/tests/correctness/blas-lapack.c
-index 9687bdf..54666b1 100644
---- a/src/tests/correctness/blas-lapack.c
-+++ b/src/tests/correctness/blas-lapack.c
-@@ -655,7 +655,7 @@ complex cdotu( int n, complex *x, int incx, complex *y, int incy)
- #elif defined( __APPLE__)
- cblas_cdotu_sub(n, x, incx, y, incy, &ans);
- #else
-- cdotusub_(&n, x, &incx, y, &incy, &ans);
-+ ans = cdotu_(&n, x, &incx, y, &incy);
- #endif
-
- return ans;
-@@ -670,7 +670,7 @@ doublecomplex zdotu( int n, doublecomplex *x, int incx, doublecomplex *y, int i
- #elif defined(__APPLE__)
- cblas_zdotu_sub(n, x, incx, y, incy, &ans);
- #else
-- zdotusub_(&n, x, &incx, y, &incy, &ans);
-+ ans = zdotu_(&n, x, &incx, y, &incy);
- #endif
-
- return ans;
-@@ -685,7 +685,7 @@ complex cdotc( int n, complex *x, int incx, complex *y, int incy)
- #elif defined(__APPLE__)
- cblas_cdotc_sub(n, x, incx, y, incy, &ans);
- #else
-- cdotcsub_(&n, x, &incx, y, &incy, &ans);
-+ ans = cdotc_(&n, x, &incx, y, &incy);
- #endif
-
- return ans;
-@@ -700,7 +700,7 @@ doublecomplex zdotc( int n, doublecomplex *x, int incx, doublecomplex *y, int i
- #elif defined(__APPLE__)
- cblas_zdotc_sub(n, x, incx, y, incy, &ans);
- #else
-- zdotcsub_(&n, x, &incx, y, &incy, &ans);
-+ ans = zdotc_(&n, x, &incx, y, &incy);
- #endif
-
- return ans;
-diff --git a/src/tests/correctness/blas-lapack.h b/src/tests/correctness/blas-lapack.h
-index d2db1aa..8619e1e 100644
---- a/src/tests/correctness/blas-lapack.h
-+++ b/src/tests/correctness/blas-lapack.h
-@@ -1170,10 +1170,10 @@ double ddot_(int *n, double *x, int *incx, double* y, int *incy);
- complex cdotc_(int *n, complex *x, int *incx, complex* y, int *incy);
- doublecomplex zdotc_(int *n, doublecomplex *x, int *incx, doublecomplex* y, int *incy);
- #else
-- void cdotusub_(int *n, complex *x, int *incx, complex* y, int *incy, complex *ans);
-- void zdotusub_(int *n, doublecomplex *x, int *incx, doublecomplex* y, int *incy, doublecomplex *ans);
-- void cdotcsub_(int *n, complex *x, int *incx, complex* y, int *incy, complex *ans);
-- void zdotcsub_(int *n, doublecomplex *x, int *incx, doublecomplex* y, int *incy, doublecomplex *ans);
-+ complex cdotu_(int *n, complex *x, int *incx, complex* y, int *incy);
-+ doublecomplex zdotu_(int *n, doublecomplex *x, int *incx, doublecomplex* y, int *incy);
-+ complex cdotc_(int *n, complex *x, int *incx, complex* y, int *incy);
-+ doublecomplex zdotc_(int *n, doublecomplex *x, int *incx, doublecomplex* y, int *incy);
- #endif
-
- void sswap_(int *n, float *x, int *incx, float* y, int *incy);
diff --git a/sci-libs/clblas/files/clblas-2.10-fix-pthread-linkage.patch b/sci-libs/clblas/files/clblas-2.10-fix-pthread-linkage.patch
deleted file mode 100644
index aa99529df034..000000000000
--- a/sci-libs/clblas/files/clblas-2.10-fix-pthread-linkage.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: fix missing linkage with pthread
-Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
-Forwarded: no
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/library/CMakeLists.txt
-+++ b/src/library/CMakeLists.txt
-@@ -888,6 +888,10 @@
- set_target_properties( clBLAS PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/staging" )
- target_link_libraries(clBLAS ${OPENCL_LIBRARIES} ${MATH_LIBRARY})
-
-+set(THREADS_PREFER_PTHREAD_FLAG ON)
-+find_package(Threads REQUIRED)
-+target_link_libraries(clBLAS ${CMAKE_THREAD_LIBS_INIT})
-+
- # CPack configuration; include the executable into the package
- install( TARGETS clBLAS
- EXPORT Library
diff --git a/sci-libs/clblas/files/clblas-2.10-use-boost-dynamic-libs.patch b/sci-libs/clblas/files/clblas-2.10-use-boost-dynamic-libs.patch
deleted file mode 100644
index 57c585da11fc..000000000000
--- a/sci-libs/clblas/files/clblas-2.10-use-boost-dynamic-libs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: use Boost shared libraries instead of static
-Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
-Forwarded: no
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -270,7 +270,7 @@
-
- # Find Boost on the system, and configure the type of boost build we want
- set( Boost_USE_MULTITHREADED ON )
--set( Boost_USE_STATIC_LIBS ON )
-+set( Boost_USE_STATIC_LIBS OFF )
- set( Boost_DETAILED_FAILURE_MSG ON )
- set( Boost_DEBUG ON )
- set( Boost_ADDITIONAL_VERSIONS "1.44.0" "1.44" "1.47.0" "1.47" )
diff --git a/sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch b/sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch
new file mode 100644
index 000000000000..bfe94dfd7074
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-Detect-CBLAS-when-building-the-client.patch
@@ -0,0 +1,24 @@
+From: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Date: Sat, 21 Jan 2017 16:49:27 +0000
+Subject: Detect CBLAS when building the client
+
+---
+ src/CMakeLists.txt | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index bf351c1..28d6a60 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -267,10 +267,7 @@ if( BUILD_TEST )
+ endif( )
+
+ if( BUILD_CLIENT )
+- if( NETLIB_FOUND )
+- else( )
+- message( WARNING "Not find Netlib; BUILD_CLIENT needs the Netlib CBLAS library" )
+- endif()
++ find_package( Netlib COMPONENTS BLAS REQUIRED )
+ endif()
+
+
diff --git a/sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch b/sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch
new file mode 100644
index 000000000000..8e8f14871ef1
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-disable-multilib-cflags.patch
@@ -0,0 +1,26 @@
+Description: disable multilib flags
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: not-needed
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -305,18 +305,6 @@
+ # Don't use -rpath.
+ set(CMAKE_SKIP_RPATH ON CACHE BOOL "Skip RPATH" FORCE)
+
+- # Need to determine the target machine of the C compiler, because
+- # the '-m32' and '-m64' flags are supported on x86 but not on e.g. ARM.
+- exec_program( "${CMAKE_C_COMPILER} -dumpmachine"
+- OUTPUT_VARIABLE CMAKE_C_COMPILER_MACHINE )
+- message( STATUS "CMAKE_C_COMPILER_MACHINE: ${CMAKE_C_COMPILER_MACHINE}" )
+- # The "86" regular expression matches x86, x86_64, i686, etc.
+- if(${CMAKE_C_COMPILER_MACHINE} MATCHES "86")
+- set(CMAKE_C_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_C_FLAGS}")
+- set(CMAKE_CXX_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_CXX_FLAGS}")
+- set(CMAKE_Fortran_FLAGS "-m${TARGET_PLATFORM} ${CMAKE_Fortran_FLAGS}")
+- endif()
+-
+ if(TARGET_PLATFORM EQUAL 32)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-builtin")
+ endif()
diff --git a/sci-libs/clblas/files/clblas-2.10-fix-doxygen-output-dir.patch b/sci-libs/clblas/files/clblas-2.12-fix-doxygen-output-dir.patch
index 31abb89b1c3a..31abb89b1c3a 100644
--- a/sci-libs/clblas/files/clblas-2.10-fix-doxygen-output-dir.patch
+++ b/sci-libs/clblas/files/clblas-2.12-fix-doxygen-output-dir.patch
diff --git a/sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch b/sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch
new file mode 100644
index 000000000000..c920c8140d8d
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-fix-pthread-linkage.patch
@@ -0,0 +1,18 @@
+Description: fix missing linkage with pthread
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: no
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/library/CMakeLists.txt
++++ b/src/library/CMakeLists.txt
+@@ -889,6 +889,10 @@
+ set_target_properties( clBLAS PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/staging" )
+ target_link_libraries(clBLAS ${OPENCL_LIBRARIES} ${MATH_LIBRARY} ${THREAD_LIBRARY})
+
++set(THREADS_PREFER_PTHREAD_FLAG ON)
++find_package(Threads REQUIRED)
++target_link_libraries(clBLAS ${CMAKE_THREAD_LIBS_INIT})
++
+ # CPack configuration; include the executable into the package
+ install( TARGETS clBLAS
+ EXPORT Library
diff --git a/sci-libs/clblas/files/clblas-2.12-reproducible-build.patch b/sci-libs/clblas/files/clblas-2.12-reproducible-build.patch
new file mode 100644
index 000000000000..9d7c2b771e41
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-reproducible-build.patch
@@ -0,0 +1,17 @@
+Description: make package build reproducible
+ By disabling the HTML timestamp setting in Doxygen.
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: not-needed
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/doc/clBLAS.doxy
++++ b/doc/clBLAS.doxy
+@@ -974,7 +974,7 @@
+ # page will contain the date and time when the page was generated. Setting
+ # this to NO can help when comparing the output of multiple runs.
+
+-HTML_TIMESTAMP = YES
++HTML_TIMESTAMP = NO
+
+ # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+ # documentation will contain sections that can be hidden and shown after the
diff --git a/sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch b/sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch
new file mode 100644
index 000000000000..64388c90dc48
--- /dev/null
+++ b/sci-libs/clblas/files/clblas-2.12-use-boost-dynamic-libs.patch
@@ -0,0 +1,16 @@
+Description: use Boost shared libraries instead of static
+Author: Ghislain Antony Vaillant <ghisvail@gmail.com>
+Forwarded: no
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -279,7 +279,7 @@
+
+ # Find Boost on the system, and configure the type of boost build we want
+ set( Boost_USE_MULTITHREADED ON )
+-set( Boost_USE_STATIC_LIBS ON )
++set( Boost_USE_STATIC_LIBS OFF )
+ set( Boost_DETAILED_FAILURE_MSG ON )
+ # set( Boost_DEBUG ON )
+ set( Boost_ADDITIONAL_VERSIONS "1.44.0" "1.44" "1.47.0" "1.47" "1.60.0" "1.60" )
diff --git a/sci-libs/clblas/files/clblas-2.10-use-system-mathjax.patch b/sci-libs/clblas/files/clblas-2.12-use-system-mathjax.patch
index 775a669e96a8..775a669e96a8 100644
--- a/sci-libs/clblas/files/clblas-2.10-use-system-mathjax.patch
+++ b/sci-libs/clblas/files/clblas-2.12-use-system-mathjax.patch
diff --git a/sci-libs/clblas/metadata.xml b/sci-libs/clblas/metadata.xml
index cad01ed8bce0..20731f32a8e9 100644
--- a/sci-libs/clblas/metadata.xml
+++ b/sci-libs/clblas/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/clblast/Manifest b/sci-libs/clblast/Manifest
index 3dd579ca4a42..cc9ab979afc8 100644
--- a/sci-libs/clblast/Manifest
+++ b/sci-libs/clblast/Manifest
@@ -1 +1 @@
-DIST clblast-0.10.0.tar.gz 508763 BLAKE2B 9b0089963e41b0d0f193ec05d3ba31a2b8b1cb70a38fcbf2fb6240d96cfb81d566068a35a9e35014f84196edd4e622befac76d9ba5d49660eda8992be14d622e SHA512 da1fc659dd470c02c25be0a009b7f5e2333bc590715ac6b90e09e57a25d764479d7e4ecf398f17d0ac0e6bb2eaf24c09082c7f047fb7b3044f4a987e294494ee
+DIST clblast-1.5.2.tar.gz 419730 BLAKE2B 9954e39b490b75f3d989969260146ff9e9f5311865f13779e0ee8bc70578d6c51fd7c5e27af777a9d6c9703992d5acb164211aec39568f2f0ba1cf10db211b24 SHA512 6693704321bb7623a632ebfc71dcf07bbe4ba6c6f03a2ecf52bc10b401ae546bf82cdd3f6cc28aa9ea10f40dc7b2e86a6530f32cfbd522e24d4cf6a75c8c1100
diff --git a/sci-libs/clblast/clblast-0.10.0.ebuild b/sci-libs/clblast/clblast-0.10.0.ebuild
deleted file mode 100644
index d3ef4a3ebb03..000000000000
--- a/sci-libs/clblast/clblast-0.10.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils toolchain-funcs
-
-MYPN="CLBlast"
-
-DESCRIPTION="Tuned OpenCL BLAS"
-HOMEPAGE="https://github.com/CNugteren/CLBlast"
-SRC_URI="https://github.com/CNugteren/${MYPN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="client doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="virtual/opencl"
-DEPEND="${RDEPEND}
- test? (
- virtual/cblas
- virtual/pkgconfig
- )
-"
-S="${WORKDIR}/${MYPN}-${PV}"
-
-src_prepare() {
- # no forced optimisation, libdir
- sed -e 's/-O3//g' \
- -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
- -i CMakeLists.txt || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=ON
- -DSAMPLES=OFF
- -DCLIENTS="$(usex client)"
- -DTESTS="$(usex test)"
- )
- if use test || use client; then
- mycmakeargs+=(
- -DNETLIB=ON
- -DCBLAS_INCLUDE_DIRS="$($(tc-getPKG_CONFIG) --cflags-only-I cblas| awk '{print $1}' | sed 's/-I//')"
- -DCBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs cblas)"
- -DREF_LIBRARIES="$($(tc-getPKG_CONFIG) --libs cblas)"
- )
- fi
- cmake-utils_src_configure
-}
-
-src_test() {
- cmake-utils_src_test alltests
-}
-
-src_install() {
- cmake-utils_src_install
- dodoc README.md CONTRIBUTING.md CHANGELOG
- use doc && dodoc -r doc
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins -r samples/*
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/sci-libs/clblast/clblast-1.5.2-r1.ebuild b/sci-libs/clblast/clblast-1.5.2-r1.ebuild
new file mode 100644
index 000000000000..ae12ba33513e
--- /dev/null
+++ b/sci-libs/clblast/clblast-1.5.2-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MYPN="CLBlast"
+
+DESCRIPTION="Tuned OpenCL BLAS"
+HOMEPAGE="https://github.com/CNugteren/CLBlast"
+SRC_URI="https://github.com/CNugteren/${MYPN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MYPN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+# Cuda is still beta, default to opencl
+IUSE="client cuda examples +opencl test"
+REQUIRED_USE="
+ ^^ ( cuda opencl )
+ test? ( client )
+"
+# Tests require write access to /dev/dri/renderD...
+RESTRICT="test"
+# RESTRICT="!test? ( test )"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ client? ( virtual/cblas )
+ opencl? ( virtual/opencl )
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/level2_xtrsv.patch
+ "${FILESDIR}"/level3_xtrsv.patch
+)
+
+src_prepare() {
+ # no forced optimisation, libdir
+ sed -e 's/-O3//g' \
+ -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
+ -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ mycmakeargs+=(
+ -DBUILD_SHARED_LIBS=ON
+ -DSAMPLES="$(usex examples)"
+ -DCLIENTS="$(usex client)"
+ -DNETLIB="$(usex client)"
+ -DTESTS="$(usex test)"
+ -DOPENCL="$(usex opencl)"
+ -DCUDA="$(usex cuda)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README.md ROADMAP.md CONTRIBUTING.md CHANGELOG
+ dodoc -r doc
+}
diff --git a/sci-libs/clblast/clblast-1.5.2.ebuild b/sci-libs/clblast/clblast-1.5.2.ebuild
new file mode 100644
index 000000000000..59f05f82ded7
--- /dev/null
+++ b/sci-libs/clblast/clblast-1.5.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MYPN="CLBlast"
+
+DESCRIPTION="Tuned OpenCL BLAS"
+HOMEPAGE="https://github.com/CNugteren/CLBlast"
+SRC_URI="https://github.com/CNugteren/${MYPN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MYPN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+# Cuda is still beta, default to opencl
+IUSE="client cuda examples +opencl test"
+REQUIRED_USE="
+ ^^ ( cuda opencl )
+ test? ( client )
+"
+# Tests require write access to /dev/dri/renderD...
+RESTRICT="test"
+# RESTRICT="!test? ( test )"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ client? ( virtual/cblas )
+ opencl? ( virtual/opencl )
+"
+
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # no forced optimisation, libdir
+ sed -e 's/-O3//g' \
+ -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
+ -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ mycmakeargs+=(
+ -DBUILD_SHARED_LIBS=ON
+ -DSAMPLES="$(usex examples)"
+ -DCLIENTS="$(usex client)"
+ -DNETLIB="$(usex client)"
+ -DTESTS="$(usex test)"
+ -DOPENCL="$(usex opencl)"
+ -DCUDA="$(usex cuda)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README.md ROADMAP.md CONTRIBUTING.md CHANGELOG
+ dodoc -r doc
+}
diff --git a/sci-libs/clblast/files/level2_xtrsv.patch b/sci-libs/clblast/files/level2_xtrsv.patch
new file mode 100644
index 000000000000..c1e5890c986b
--- /dev/null
+++ b/sci-libs/clblast/files/level2_xtrsv.patch
@@ -0,0 +1,14 @@
+This fixes a bug in the upstream code. There is an extra argument in
+the call to the x_buffer.CopyToAsync function that must be removed. Otherwise
+the build fails when CUDA is enabled.
+--- CLBlast/src/routines/level2/xtrsv.cpp 2022-05-21 08:44:13.811816246 -0600
++++ CLBlast_fixed/src/routines/level2/xtrsv.cpp 2022-05-21 08:28:34.601124921 -0600
+@@ -154,7 +154,7 @@
+ }
+
+ // Retrieves the results
+- x_buffer.CopyToAsync(queue_, x_size, b_buffer, event_);
++ x_buffer.CopyToAsync(queue_, x_size, b_buffer);
+ }
+
+ // =================================================================================================
diff --git a/sci-libs/clblast/files/level3_xtrsv.patch b/sci-libs/clblast/files/level3_xtrsv.patch
new file mode 100644
index 000000000000..abba1cd23026
--- /dev/null
+++ b/sci-libs/clblast/files/level3_xtrsv.patch
@@ -0,0 +1,14 @@
+This fixes a problem in the upstream code. There is an extra argument in
+the call to the x_buffer.CopyToAsync function that must be removed. Otherwise
+the build fails when CUDA is enabled.
+--- CLBlast/src/routines/level3/xtrsm.cpp 2022-05-21 08:44:13.815816361 -0600
++++ CLBlast_fixed/src/routines/level3/xtrsm.cpp 2022-05-21 08:28:06.756355738 -0600
+@@ -246,7 +246,7 @@
+ }
+
+ // Retrieves the results
+- x_buffer.CopyToAsync(queue_, b_size, b_buffer, event_);
++ x_buffer.CopyToAsync(queue_, b_size, b_buffer);
+ }
+
+ // =================================================================================================
diff --git a/sci-libs/clblast/metadata.xml b/sci-libs/clblast/metadata.xml
index d5ff3a6625c9..a6b955fc76b2 100644
--- a/sci-libs/clblast/metadata.xml
+++ b/sci-libs/clblast/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -18,6 +18,9 @@
<flag name="client">
Enable compilation of the clients to test and compare performance with reference libraries
</flag>
+ <flag name="cuda">
+ Build with support for cuda instead of opencl (beta!)
+ </flag>
</use>
<upstream>
<remote-id type="github">CNugteren/CLBlast</remote-id>
diff --git a/sci-libs/cln/Manifest b/sci-libs/cln/Manifest
index 5163b24bc02c..67d39b02d571 100644
--- a/sci-libs/cln/Manifest
+++ b/sci-libs/cln/Manifest
@@ -1,3 +1 @@
-DIST cln-1.3.3.tar.bz2 1300229 BLAKE2B ca7985771d300b2bf0a1e5d6acda90de2596e0a8910c293500c8c218578814a82867ac24b641d3e3a36897a1a0ebf09a136ba6d64c7a1ed61133aa0b89ecacea SHA512 ee829cd03a2d36215a4d4e76cc0aa6c5abe6ff967ed366d752da1dc0c47dbec56e0521e92fb35574c038305fb767991c5c7fd12ad03583080da3f923fbfecdaf
-DIST cln-1.3.4.tar.bz2 1281348 BLAKE2B 7681ae5a421f2992e16b48541b46aceb988d697d95d2457fbe2f8c0f7e8ca95e6fbfb0fc309ea29a4669bc3d4fdf9c670fdf25b202019457ffba392f15bf2fa4 SHA512 2178a64b4388b3018c3847f6fb192ea51eb9c8618302986d7706accef17184e3333ddeca218d726f93f3b985598952ad58d705c9081201985611e383f788a631
DIST cln-1.3.6.tar.bz2 1330815 BLAKE2B 89ddd0079ac746b262dac01ae0fc1ceb250956c530883d93430e62866e09fdd964c4f96edb21260f9aa40f739450996e1bf21503a30cc02fffaba08a1bd45264 SHA512 a32a1449c5f0edac1444e58f500ef1a72ffab8dad65125082eff0995cc9855b45f38b89c7f754e3d4487756a8cd3f7db1e534865b8d0384fd28246f444ed7d14
diff --git a/sci-libs/cln/cln-1.3.3.ebuild b/sci-libs/cln/cln-1.3.3.ebuild
deleted file mode 100644
index 8b641d2d4f4d..000000000000
--- a/sci-libs/cln/cln-1.3.3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils flag-o-matic
-
-DESCRIPTION="Class library (C++) for numbers"
-HOMEPAGE="https://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 arm64 hppa ~ia64 ppc ppc64 sparc x86 ~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/cln-1.3.4.ebuild b/sci-libs/cln/cln-1.3.4.ebuild
deleted file mode 100644
index e8173925c67e..000000000000
--- a/sci-libs/cln/cln-1.3.4.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils flag-o-matic
-
-DESCRIPTION="Class library (C++) for numbers"
-HOMEPAGE="https://www.ginac.de/CLN/"
-SRC_URI="https://www.ginac.de/CLN/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="1"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86 ~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/cln-1.3.6.ebuild b/sci-libs/cln/cln-1.3.6.ebuild
index 66502b2bb272..02a309963d6e 100644
--- a/sci-libs/cln/cln-1.3.6.ebuild
+++ b/sci-libs/cln/cln-1.3.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,8 +11,8 @@ SRC_URI="https://www.ginac.de/CLN/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples static-libs"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
RDEPEND="dev-libs/gmp:0="
DEPEND="${RDEPEND}
@@ -33,6 +33,10 @@ src_prepare() {
Makefile.in || die
}
+src_configure() {
+ econf --disable-static
+}
+
src_compile() {
default
if use doc; then
@@ -51,4 +55,6 @@ src_install() {
docinto examples
dodoc examples/*.cc
fi
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/cln/files/cln-1.3.2-arm.patch b/sci-libs/cln/files/cln-1.3.2-arm.patch
deleted file mode 100644
index 571bd24e68f6..000000000000
--- a/sci-libs/cln/files/cln-1.3.2-arm.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- 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
index 3e1bd9fcb042..400e4795fc35 100644
--- a/sci-libs/cln/metadata.xml
+++ b/sci-libs/cln/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
@@ -12,5 +12,5 @@
various precisions (including unlimited), rationals, complex numbers
and polynomials. The kernel is written in assembly language. It uses
automatic garbage collection.
-</longdescription>
+ </longdescription>
</pkgmetadata>
diff --git a/sci-libs/cminpack/Manifest b/sci-libs/cminpack/Manifest
index cee1edd10f4c..f678b6a60253 100644
--- a/sci-libs/cminpack/Manifest
+++ b/sci-libs/cminpack/Manifest
@@ -1 +1 @@
-DIST cminpack-1.3.5.tar.gz 312932 BLAKE2B 52ab91490f7c569e3931346510e08db55166322399736ceb9cc090a3be3624e8db6de12ed33ee8f97f6c5358dc2488f8aa7c7aab81365316f1dbb8948e669a2e SHA512 bb6f1764d90ccc7cbbb114a509f5416567246a730e4329617671e01b535b3a69f6a6df0483810ad1ad28228a1061a3595a15d437647b94a8a2013203905c6fed
+DIST cminpack-1.3.8.tar.gz 341494 BLAKE2B 5aebb220f9d5d1b314331a621d3717e4568eea6c37d0a70b935eda1fc0bec11d81b07c8951c8a8bfe5edd81e7878e138f8921d96a96c40230bfc423991e766be SHA512 0cab275074a31af69dbaf3ef6d41b20184c7cf9f33c78014a69ae7a022246fa79e7b4851341c6934ca1e749955b7e1096a40b4300a109ad64ebb1b2ea5d1d8ae
diff --git a/sci-libs/cminpack/cminpack-1.3.5.ebuild b/sci-libs/cminpack/cminpack-1.3.5.ebuild
deleted file mode 100644
index 6314fdf3354d..000000000000
--- a/sci-libs/cminpack/cminpack-1.3.5.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="C implementation of the MINPACK nonlinear optimization library"
-HOMEPAGE="http://devernay.free.fr/hacks/cminpack/"
-SRC_URI="https://github.com/devernay/cminpack/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="minpack"
-SLOT="0/1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-PATCHES=( "${FILESDIR}"/${P}-underlinking.patch )
-
-src_configure() {
- local mycmakeargs=(
- -DCMINPACK_LIB_INSTALL_DIR=$(get_libdir)
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_EXAMPLES=$(usex test)
- )
- cmake-utils_src_configure
- use test && export LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}"
-}
-
-src_install() {
- cmake-utils_src_install
- dodoc readme*
- use doc && dodoc -r doc/*
-}
diff --git a/sci-libs/cminpack/cminpack-1.3.8.ebuild b/sci-libs/cminpack/cminpack-1.3.8.ebuild
new file mode 100644
index 000000000000..a32daf6c9510
--- /dev/null
+++ b/sci-libs/cminpack/cminpack-1.3.8.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="C implementation of the MINPACK nonlinear optimization library"
+HOMEPAGE="http://devernay.free.fr/hacks/cminpack/"
+SRC_URI="https://github.com/devernay/cminpack/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="minpack"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+DOCS=( README.md readme.txt )
+
+PATCHES=( "${FILESDIR}"/${P}-cmake.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_BLAS=OFF # TODO: pick it up if you want to
+ -DCMINPACK_LIB_INSTALL_DIR=$(get_libdir)
+ -DBUILD_EXAMPLES=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( docs/. )
+ cmake_src_install
+}
diff --git a/sci-libs/cminpack/files/cminpack-1.3.5-underlinking.patch b/sci-libs/cminpack/files/cminpack-1.3.5-underlinking.patch
deleted file mode 100644
index 5133f5fcd4a8..000000000000
--- a/sci-libs/cminpack/files/cminpack-1.3.5-underlinking.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt 2016-12-29 03:57:50.652989816 +0000
-+++ b/CMakeLists.txt 2016-12-29 03:58:33.882632282 +0000
-@@ -59,6 +59,7 @@
- cminpack.h minpack.h)
-
- add_library (cminpack ${cminpack_srcs})
-+target_link_libraries (cminpack m)
-
- install (TARGETS cminpack
- LIBRARY DESTINATION ${CMINPACK_LIB_INSTALL_DIR} COMPONENT library
diff --git a/sci-libs/cminpack/files/cminpack-1.3.8-cmake.patch b/sci-libs/cminpack/files/cminpack-1.3.8-cmake.patch
new file mode 100644
index 000000000000..92a9e777bbe5
--- /dev/null
+++ b/sci-libs/cminpack/files/cminpack-1.3.8-cmake.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt 2021-02-10 06:05:42.000000000 +0100
++++ b/CMakeLists.txt 2021-03-06 11:51:15.594882519 +0100
+@@ -175,6 +175,6 @@
+
+ endforeach ()
+
+-install (EXPORT CMinpackConfig DESTINATION share/cminpack NAMESPACE cminpack::)
++install (EXPORT CMinpackConfig DESTINATION ${CMINPACK_LIB_INSTALL_DIR}/cmake/cminpack NAMESPACE cminpack::)
+
+ add_subdirectory (examples)
diff --git a/sci-libs/cminpack/metadata.xml b/sci-libs/cminpack/metadata.xml
index c80cc08e331c..00b08788bedc 100644
--- a/sci-libs/cminpack/metadata.xml
+++ b/sci-libs/cminpack/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/cmpfit/Manifest b/sci-libs/cmpfit/Manifest
index a25335adfb19..b089f0f5f071 100644
--- a/sci-libs/cmpfit/Manifest
+++ b/sci-libs/cmpfit/Manifest
@@ -1 +1 @@
-DIST cmpfit-1.2.tar.gz 30431 BLAKE2B 3613fc307b0f1cd792ea9b1436109da77960dcb1985920de2c97e3b8f22d49d68358c0077dd3af5c6d2ea6e7b172d715643221b8df8f84a704688fda2f1ef51a SHA512 232a39538396f166efd9c7a9fc687e0ac8fd3090f871f54fb0c131a1ed02cc05a60904894d853d8eb76d88e70a1fbab4bce3ad0b5990408c77d5a6028a3b466c
+DIST cmpfit-1.4.tar.gz 30659 BLAKE2B f076f69e83d1eb78eda2894cded85f920cef1c95bcb60b042e98d33919e12cac62ffe4ad76ddc9ca0ef17f887289dc37b0bde969e4e04470b491b03b841bbeea SHA512 0a0c869bcf202a0dbc9fd6b6939a6382cc8701f09ca9aada90dde809135c2a8436709a84a8be53696e8d09f49f1d14f80c9d4c8c1c6cd418260939fc0ec5dced
diff --git a/sci-libs/cmpfit/cmpfit-1.2-r1.ebuild b/sci-libs/cmpfit/cmpfit-1.2-r1.ebuild
deleted file mode 100644
index 4ddf2df64b53..000000000000
--- a/sci-libs/cmpfit/cmpfit-1.2-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-DOCS=( README DISCLAIMER )
-
-src_compile() {
- if use static-libs; then
- $(tc-getCC) ${CFLAGS} -c mpfit.c || die "non-PIC compilation failed"
- $(tc-getAR) cr libmpfit.a mpfit.o || die "creation of static archive failed"
- fi
- $(tc-getCC) ${CFLAGS} -fPIC -c mpfit.c -o mpfit.so || die "PIC compilation failed"
- $(tc-getCC) ${LDFLAGS} -shared -Wl,-soname=libmpfit.so mpfit.so -lm -o libmpfit.so || die "linking failed"
-}
-
-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
- doheader mpfit.h
- einstalldocs
-}
diff --git a/sci-libs/cmpfit/cmpfit-1.4.ebuild b/sci-libs/cmpfit/cmpfit-1.4.ebuild
new file mode 100644
index 000000000000..486044b29632
--- /dev/null
+++ b/sci-libs/cmpfit/cmpfit-1.4.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="MINPACK-1 Least Squares Fitting Library in C"
+HOMEPAGE="https://pages.physics.wisc.edu/~craigm/idl/cmpfit.html"
+SRC_URI="https://pages.physics.wisc.edu/~craigm/idl/down/${P}.tar.gz"
+
+LICENSE="public-domain minpack"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DOCS=( README DISCLAIMER )
+
+src_compile() {
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -fPIC -c mpfit.c -o mpfit.so || die "PIC compilation failed"
+ $(tc-getCC) ${LDFLAGS} -shared -Wl,-soname=libmpfit.so mpfit.so -lm -o libmpfit.so || die "linking failed"
+}
+
+src_test() {
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} testmpfit.c -L. -lmpfit -lm -o testmpfit || die
+ LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH} ./testmpfit || die
+}
+
+src_install() {
+ dolib.so libmpfit.so
+ doheader mpfit.h
+ einstalldocs
+}
diff --git a/sci-libs/cmpfit/metadata.xml b/sci-libs/cmpfit/metadata.xml
index 11136c85eee4..df8582d0bfcc 100644
--- a/sci-libs/cmpfit/metadata.xml
+++ b/sci-libs/cmpfit/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinhsl/Manifest b/sci-libs/coinhsl/Manifest
index a3111d0391ba..2f8053212e27 100644
--- a/sci-libs/coinhsl/Manifest
+++ b/sci-libs/coinhsl/Manifest
@@ -1,2 +1 @@
-DIST coinhsl-2014.01.10.tar.gz 906586 BLAKE2B d58d200cd3402cdb694ff84bf4228bb548bd70e98a4aeaccad94544385fb241c68dad1ebb1c35a5549f852baa82f264864ee1db75f5a7019a252cf01ec10ba21 SHA512 fe71b07c4fc11a8a7a40a115457588b91aa4481726e523502d92d6604c5fda13cffcc4620ada64b9332cb3502f8bfbc4ee856125cd5fd987cccf49bae5d46711
DIST coinhsl-2015.06.23.tar.gz 908522 BLAKE2B ccc64a7790b1f9105439f6690e87bed52ff48306132db5fa27a036b4ce87472dfc3ca92f3e9d94aefdf737ed292568f36831eb24ac94d77f4b9bab84bc3ea36e SHA512 ad831d6ffd3c1e46481da8e58c7075adc69cb02800002c2067053fd354c5971214025982b24a9b74c681c2c3d86fd5adac78820242209feb75898165cf38753f
diff --git a/sci-libs/coinhsl/coinhsl-2014.01.10.ebuild b/sci-libs/coinhsl/coinhsl-2014.01.10.ebuild
deleted file mode 100644
index b750ae79f7ad..000000000000
--- a/sci-libs/coinhsl/coinhsl-2014.01.10.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
index be3aa6566c49..8225fda14e49 100644
--- a/sci-libs/coinhsl/metadata.xml
+++ b/sci-libs/coinhsl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-alps/Manifest b/sci-libs/coinor-alps/Manifest
index 8a32c925926a..ac4d5e0e8949 100644
--- a/sci-libs/coinor-alps/Manifest
+++ b/sci-libs/coinor-alps/Manifest
@@ -1,2 +1 @@
-DIST Alps-1.4.9.tgz 5564207 BLAKE2B a0a38b0b9da0703f2b67d20fe4fe99cfa5a31c288caf30f6581263b421963f7274bdb1251fc78db572381ad091f341c879336c60c08c254895f4f7dabe53ae97 SHA512 b8f557d33f3d02d0bf98541309934eeebebd21829fe1e2a438b07e6e17f0a1de1a970ed97b28cdaddc8b14eb1092a86db4d44838cef70bae3d091cd48fe8e2d8
-DIST Alps-1.5.4.tgz 5691940 BLAKE2B 9a1d78d8957a4fd2156d35ba348f7db442bf6f6128031b9dd0d2b0c1176e5eb408208d3c90fb8563c39efbf0f4aaa9daea705f25ed711a922ab32f1e1d0b8027 SHA512 eace2f0e3dde682ee92b8e185ba6ea226a681dbcecb5fcf5258334e6deed89705b2c61821896b07323459fbd8575a31fa91c3342becbc9f6173efdf094d39555
+DIST coinor-alps-1.5.7.tar.gz 893834 BLAKE2B af881b9bd7db8b323ba7c7bd82f9180d3685a1b3d3b30b7b20c0d9c5d539caa8fb13e11b866f4f61e9baaf98d32e17953b3bdb408c32fc6aea20e3d83be57078 SHA512 7c3d838bfa8366f0a440dfe1cc9fbff1ca23e6528c3d89348fb4df8bab50b1a7c666523cde20ecd9f09ad54e599ffed1e6ed48631078dbd4d6885e2b10e9e495
diff --git a/sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild b/sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild
deleted file mode 100644
index 4376c5b2118d..000000000000
--- a/sci-libs/coinor-alps/coinor-alps-1.4.9.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-alps-1.5.4.ebuild b/sci-libs/coinor-alps/coinor-alps-1.5.4.ebuild
deleted file mode 100644
index fec354dd49a5..000000000000
--- a/sci-libs/coinor-alps/coinor-alps-1.5.4.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-
-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"
-RESTRICT="!test? ( 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() {
- default
- # 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
-}
-
-src_configure() {
- PKG_CONFIG_PATH+="${ED}"/usr/$(get_libdir)/pkgconfig
- export PKG_CONFIG_PATH
- econf \
- --enable-dependency-linking \
- $(use_with doc dot) \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- emake all $(usex doc doxydoc "")
-}
-
-src_install() {
- default
- use examples && dodoc -r examples/
- use doc && dodoc -r doxydoc/html/
-
- prune_libtool_files --all
-}
diff --git a/sci-libs/coinor-alps/coinor-alps-1.5.7.ebuild b/sci-libs/coinor-alps/coinor-alps-1.5.7.ebuild
new file mode 100644
index 000000000000..97a0d723632a
--- /dev/null
+++ b/sci-libs/coinor-alps/coinor-alps-1.5.7.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR Framework for implementing parallel graph search algorithms"
+HOMEPAGE="https://projects.coin-or.org/CHiPPS/"
+SRC_URI="https://github.com/coin-or/CHiPPS-ALPS/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CHiPPS-ALPS-releases-${PV}/Alps"
+
+LICENSE="EPL-1.0"
+SLOT="0" # formerly 0/3, upstream went from so.3 to so.0
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ test? ( sci-libs/coinor-cgl )"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ # Needed given "make check" is a noop and it skips the working one.
+ emake test
+}
+
+src_install() {
+ default
+ dodoc -r examples
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-alps/metadata.xml b/sci-libs/coinor-alps/metadata.xml
index a41a7280a461..1bb91f861312 100644
--- a/sci-libs/coinor-alps/metadata.xml
+++ b/sci-libs/coinor-alps/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -13,4 +13,7 @@
layer of a hierarchy consisting of implementations of various tree
search algorithms for specific problem types.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/CHiPPS-ALPS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-bcp/Manifest b/sci-libs/coinor-bcp/Manifest
index 1eacd16f2a7f..48b96db42feb 100644
--- a/sci-libs/coinor-bcp/Manifest
+++ b/sci-libs/coinor-bcp/Manifest
@@ -1 +1 @@
-DIST Bcp-1.3.8.tgz 7086225 BLAKE2B 755aeafb9412ed94c7227e6986c2a7e5a26e4bea8084bcd09b517cd9794fe456195cb664f8d341625e8a86552c6ed1ab470c99c8a567d34be9be06ead51cbff4 SHA512 c599cc60df37cab32cfbf24522efaababbdd2de6144c316390f5e0481863ffd6aec016f97188a610ae6aca8d4e5b1b8088a35bc81bd3448fadb1727a9e9663dd
+DIST coinor-bcp-1.4.4.tar.gz 1983573 BLAKE2B 79265c0336ca719b417825df2f27e88c08c314e599693e8886170fe69755b3272aa05469bfc069660c979e4a273ca63a25fc4d3a86a695838039121fa98a14bd SHA512 066ad631a67ccf33eebc175451f4734cbf190cb4fd9866dec987d80688a69400b76415de65ee9399b1a8ccfdf3bf3af307245610481a6d673598bc157c3963bc
diff --git a/sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild b/sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild
deleted file mode 100644
index 3d6c69d92d7a..000000000000
--- a/sci-libs/coinor-bcp/coinor-bcp-1.3.8.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-bcp-1.4.4.ebuild b/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
new file mode 100644
index 000000000000..84b5772c1004
--- /dev/null
+++ b/sci-libs/coinor-bcp/coinor-bcp-1.4.4.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR Branch-Cut-Price Framework"
+HOMEPAGE="https://projects.coin-or.org/Bcp/"
+SRC_URI="https://github.com/coin-or/Bcp/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Bcp-releases-${PV}/Bcp"
+
+LICENSE="CPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ sci-libs/coinor-vol:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc11-exceptions.patch
+)
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ # Unneeded for Bcp given, while "make check" exists, it fails unlike
+ # other coinor-*'s noop. Kept as safety not to lose tests in bumps.
+ emake test
+}
+
+src_install() {
+ default
+ dodoc -r examples
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch b/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch
new file mode 100644
index 000000000000..d37e8b024396
--- /dev/null
+++ b/sci-libs/coinor-bcp/files/coinor-bcp-1.4.4-gcc11-exceptions.patch
@@ -0,0 +1,36 @@
+https://github.com/coin-or/Bcp/commit/e581a2dd4b55352eb318c15e8281b3cc9d8abe23.patch
+https://bugs.gentoo.org/786306
+
+From e581a2dd4b55352eb318c15e8281b3cc9d8abe23 Mon Sep 17 00:00:00 2001
+From: Julien Schueller <schueller@phimeca.com>
+Date: Fri, 14 Aug 2020 09:58:47 +0200
+Subject: [PATCH] Fix deprecated dynamic exception warning
+
+warning: dynamic exception specifications are deprecated in C++11
+--- a/src/include/BCP_buffer.hpp
++++ b/src/include/BCP_buffer.hpp
+@@ -101,13 +101,13 @@ class BCP_buffer{
+ /**@name Modifying methods */
+ /*@{*/
+ /** Position the read head in the buffer. Must be between 0 and size(). */
+- inline void set_position(const int pos) throw(BCP_fatal_error) {
++ inline void set_position(const int pos) {
+ if (pos < 0 || pos > size())
+ throw BCP_fatal_error("Incorrest buffer position setting.\n");
+ _pos = pos;
+ }
+ /** Cut off the end of the buffer. Must be between 0 and size(). */
+- inline void set_size(const int s) throw(BCP_fatal_error) {
++ inline void set_size(const int s) {
+ if (s < 0 || s > size())
+ throw BCP_fatal_error("Incorrest buffer position setting.\n");
+ _size = s;
+@@ -221,7 +221,7 @@ class BCP_buffer{
+ */
+ template <class T> BCP_buffer& unpack(T*& values, int& length,
+ bool allocate = true)
+- throw(BCP_fatal_error) {
++ {
+ if (allocate) {
+ #ifdef PARANOID
+ if (_pos + sizeof(int) > _size)
diff --git a/sci-libs/coinor-bcp/metadata.xml b/sci-libs/coinor-bcp/metadata.xml
index 62cd7e19b452..d88846c101e8 100644
--- a/sci-libs/coinor-bcp/metadata.xml
+++ b/sci-libs/coinor-bcp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -13,4 +13,7 @@
the implementational effort. involved with implementing a branch and
bound framework from scratch.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/Bcp</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-bcps/Manifest b/sci-libs/coinor-bcps/Manifest
index d64d7b22649b..a015d588db98 100644
--- a/sci-libs/coinor-bcps/Manifest
+++ b/sci-libs/coinor-bcps/Manifest
@@ -1 +1 @@
-DIST Bcps-0.93.10.tgz 6270009 BLAKE2B 45372ae18a3f4a7e75d4f71fa6ba411317fc282415390f6e11181543bdac254c5820e8544ffd6c43e8dcb507a8dc5329a42b9cbfc23256a395cc73bc3a8d631b SHA512 4e9348dc1bf75fd9afb74078b55ae0f9a84a99236886552256d7548013c8af4695a4fcc2787ffb0228eba2a870b1cb78c068234048c8650f7d504e1e8d17c549
+DIST coinor-bcps-0.94.5.tar.gz 701818 BLAKE2B 3f01e0fac2e892a3cf59e7dba78c58a23f465f48b0a44be933acfb7d59e84012bed3e05f2f8d1b3c578ad24f4f9c23af9d5e7d54e47b45b0500d389dcfbcf47f SHA512 b53a2ad62a832d4beb0ce2b5c7fd0e81eeb01b9039c0b78ce849adb94b44ad2300aad0f6357ecbcf41f5a5bb427508bde931667dfe40eaa83de50e3d696e3211
diff --git a/sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild b/sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild
deleted file mode 100644
index 6e388e55c64b..000000000000
--- a/sci-libs/coinor-bcps/coinor-bcps-0.93.10.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-bcps-0.94.5.ebuild b/sci-libs/coinor-bcps/coinor-bcps-0.94.5.ebuild
new file mode 100644
index 000000000000..e38fe634ef0a
--- /dev/null
+++ b/sci-libs/coinor-bcps/coinor-bcps-0.94.5.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR BiCePS data handling library"
+HOMEPAGE="https://projects.coin-or.org/CHiPPS/"
+SRC_URI="https://github.com/coin-or/CHiPPS-BiCePS/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CHiPPS-BiCePS-releases-${PV}/Bcps"
+
+LICENSE="EPL-1.0"
+SLOT="0" # formerly 0/1, upstream went from so.1 to so.0
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+# Note: 0.99.x branch needs to-be-released >=coinor-alps-1.5.8
+RDEPEND="
+ sci-libs/coinor-alps:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ test? (
+ sci-libs/coinor-cgl
+ sci-libs/coinor-sample
+ )"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ # Needed given "make check" is a noop and it skips the working one.
+ emake test
+}
+
+src_install() {
+ default
+ dodoc -r examples
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-bcps/metadata.xml b/sci-libs/coinor-bcps/metadata.xml
index 48ae1fc01754..7fee4eba84f5 100644
--- a/sci-libs/coinor-bcps/metadata.xml
+++ b/sci-libs/coinor-bcps/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -13,4 +13,7 @@
management layer built on top of ALPS for implementing
relaxation-based branch and bound algorithms.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/CHiPPS-BiCePS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-blis/Manifest b/sci-libs/coinor-blis/Manifest
index e3ca8b945e1a..0f35c3940e03 100644
--- a/sci-libs/coinor-blis/Manifest
+++ b/sci-libs/coinor-blis/Manifest
@@ -1 +1 @@
-DIST Blis-0.93.10.tgz 10612207 BLAKE2B aaef129ca4de7aba8131c46d7619accd8087abb13e183e9caafdada20636b2d5769b88c0195db0194bbd2d60ada4209609716e8b08436f8c43e62807b325ff68 SHA512 ef4c1b7704353e9d2628401d9a47e72d0b26d485ac3951b03fe84fdc98cfbee8e3b9f3412411eca693c8e00bdf97798e08c4dabcf5b8646bbe3d8481c237820e
+DIST coinor-blis-0.94.8.tar.gz 4186086 BLAKE2B 6be1ea6f27913cf128947225b2d03b071ee20bc35f49ea319f5ed8ed77d2d89fac0a66bf2b5204ec4194c1a8444033c7ee797ac5c0adbc0572f9195d9a357735 SHA512 5b401eaf7b80af6cb724606655c38811918e92ae89d2f4a1fd5f318bdc8fa1463175a106c2f3ab43bf5eda677a6d7bbdb8a0f8bc0155135108a10bbcbb93070b
diff --git a/sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild b/sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild
deleted file mode 100644
index 3757864db1e7..000000000000
--- a/sci-libs/coinor-blis/coinor-blis-0.93.10.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-blis-0.94.8.ebuild b/sci-libs/coinor-blis/coinor-blis-0.94.8.ebuild
new file mode 100644
index 000000000000..babf843fc556
--- /dev/null
+++ b/sci-libs/coinor-blis/coinor-blis-0.94.8.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR BiCePS Linear Integer Solver"
+HOMEPAGE="https://projects.coin-or.org/CHiPPS/"
+SRC_URI="https://github.com/coin-or/CHiPPS-BLIS/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CHiPPS-BLIS-releases-${PV}/Blis"
+
+LICENSE="EPL-1.0"
+SLOT="0" # formerly 0/1, upstream went from so.1 to so.0
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-libs/coinor-alps:=
+ sci-libs/coinor-bcps:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+
+ gzip -d examples/data/{,hard/}*.gz || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ # Needed given "make check" is a noop and it skips the working one.
+ emake test
+}
+
+src_install() {
+ default
+ dodoc -r examples
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-blis/metadata.xml b/sci-libs/coinor-blis/metadata.xml
index 4e7c3e8303e2..65866c853bea 100644
--- a/sci-libs/coinor-blis/metadata.xml
+++ b/sci-libs/coinor-blis/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -12,4 +12,7 @@
layers. The BiCePS Linear Integer Solver (BLIS) is a concretization
of the BiCePS layer for solving mixed-integer linear programs.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/CHiPPS-BLIS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-bonmin/Manifest b/sci-libs/coinor-bonmin/Manifest
index 15dd0dbd3493..49e4e68b3afb 100644
--- a/sci-libs/coinor-bonmin/Manifest
+++ b/sci-libs/coinor-bonmin/Manifest
@@ -1 +1 @@
-DIST Bonmin-1.7.4.tgz 12320747 BLAKE2B 779881abf98dcf1c0b6a22e2d7fe11c2075ac50a64afcfae735bbb221614ce247c9f918c5cac7d0772784512ff2135fedeb26295c5e5d3979ebb8e435cfdac21 SHA512 290b1b49e467ab8ce7fc6908d8aa76a3b1ba61f63f44427d3bdd8ff2bed4aa6ef28396f0be59e108038173ea670405b50d3c32636aacdee2c5787765bce763a4
+DIST coinor-bonmin-1.8.8.tar.gz 1336718 BLAKE2B 3b72852d54b62274dc347758ae6c3fe0a2b1c04c39c3b01d87aa28fcc8593a3d80945b2e88aabd4db03da31c426396302a2def44aac8a07e6101cd5331321ed1 SHA512 66c3b07e743b6f352b4760e32c774268606deda4143e597c3be81068237dd5021210dec46e53ae0930f480db18bfbaaf284cbdb3d20f07e6d8543968509f8999
diff --git a/sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild b/sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild
deleted file mode 100644
index fb052c19bcd7..000000000000
--- a/sci-libs/coinor-bonmin/coinor-bonmin-1.7.4.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-bonmin-1.8.8.ebuild b/sci-libs/coinor-bonmin/coinor-bonmin-1.8.8.ebuild
new file mode 100644
index 000000000000..22064e140cf8
--- /dev/null
+++ b/sci-libs/coinor-bonmin/coinor-bonmin-1.8.8.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR Basic Open-source Nonlinear Mixed INteger programming"
+HOMEPAGE="https://projects.coin-or.org/Bonmin/"
+SRC_URI="https://github.com/coin-or/Bonmin/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Bonmin-releases-${PV}/Bonmin"
+
+LICENSE="EPL-1.0"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ sci-libs/ipopt:=
+ virtual/blas"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ )
+ test? ( sci-libs/coinor-sample )"
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ # Needed given "make check" is a noop and it skips the working one.
+ emake test
+}
+
+src_install() {
+ default
+ dodoc -r examples doc/BONMIN_UsersManual.pdf
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-bonmin/metadata.xml b/sci-libs/coinor-bonmin/metadata.xml
index fde4b95c383c..98d7158cc33a 100644
--- a/sci-libs/coinor-bonmin/metadata.xml
+++ b/sci-libs/coinor-bonmin/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -9,8 +9,8 @@
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>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/Bonmin</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild b/sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild
index 694d822204fe..00f1ec0b0c13 100644
--- a/sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild
+++ b/sci-libs/coinor-cbc/coinor-cbc-2.10.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ LICENSE="EPL-1.0"
# major soname component
SLOT="0/3"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples static-libs test"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ RESTRICT="!test? ( test )"
#
BDEPEND="virtual/fortran
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
DEPEND="sci-libs/coinor-clp:=
sci-libs/coinor-cgl:=
diff --git a/sci-libs/coinor-cbc/metadata.xml b/sci-libs/coinor-cbc/metadata.xml
index 24b280f305a5..68443e3b8b18 100644
--- a/sci-libs/coinor-cbc/metadata.xml
+++ b/sci-libs/coinor-cbc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-cgl/coinor-cgl-0.60.3.ebuild b/sci-libs/coinor-cgl/coinor-cgl-0.60.3.ebuild
index eba0819dcc2a..04e61728764d 100644
--- a/sci-libs/coinor-cgl/coinor-cgl-0.60.3.ebuild
+++ b/sci-libs/coinor-cgl/coinor-cgl-0.60.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ LICENSE="EPL-1.0"
# major soname component
SLOT="0/1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples static-libs test"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ RESTRICT="!test? ( test )"
#
BDEPEND="virtual/fortran
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
DEPEND="sci-libs/coinor-clp:=
diff --git a/sci-libs/coinor-cgl/metadata.xml b/sci-libs/coinor-cgl/metadata.xml
index d3478ff5d458..fb5abb11ea49 100644
--- a/sci-libs/coinor-cgl/metadata.xml
+++ b/sci-libs/coinor-cgl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-clp/coinor-clp-1.17.6-r1.ebuild b/sci-libs/coinor-clp/coinor-clp-1.17.6-r1.ebuild
new file mode 100644
index 000000000000..faf13095e74b
--- /dev/null
+++ b/sci-libs/coinor-clp/coinor-clp-1.17.6-r1.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DEPEND="media-gfx/graphviz"
+DOCS_DIR="doxydoc"
+DOCS_CONFIG_NAME="doxygen.conf"
+inherit docs toolchain-funcs
+
+MY_PN=Clp
+
+DESCRIPTION="COIN-OR linear programming solver"
+HOMEPAGE="https://github.com/coin-or/Clp"
+SRC_URI="https://github.com/coin-or/Clp/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-releases-${PV}/${MY_PN}"
+
+LICENSE="EPL-1.0"
+SLOT="0/1" # major soname component
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples glpk metis mpi mumps sparse static-libs test"
+REQUIRED_USE="mpi? ( mumps )"
+RESTRICT="!test? ( test )"
+
+# Fortran is NOT needed, but the ./configure scripts for all of the CoinOR
+# packages contain a check for it. Gentoo bug 601648 and upstream issue,
+#
+# https://github.com/coin-or/CoinUtils/issues/132
+#
+BDEPEND="
+ virtual/fortran
+ virtual/pkgconfig
+ test? ( sci-libs/coinor-sample )
+"
+DEPEND="
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ glpk? ( sci-mathematics/glpk:= sci-libs/amd )
+ metis? ( sci-libs/metis )
+ mumps? ( sci-libs/mumps[mpi?] )
+ sparse? ( sci-libs/cholmod )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Needed to make the --with-coin-instdir in src_configure happy.
+ dodir /usr
+
+ mumpslibs="-lmumps_common -ldmumps -lzmumps -lsmumps -lcmumps"
+
+ if use mumps; then
+ if use mpi; then
+ # https://github.com/coin-or/Clp/issues/199
+ eapply "${FILESDIR}/${P}-remove-extern-C-for-MPI.patch"
+ export CXX=mpicxx
+ else
+ # The file ClpCholeskyMumps.cpp does #include "mpi.h", and we
+ # need to point it to the right file. Our sci-libs/mumps ebuild
+ # is so ridiculous that I can't even tell if this is our fault
+ # or if it's something that should be reported upstream.
+ ln -s "${EPREFIX}/usr/include/mpiseq/mpi.h" src/mpi.h || die
+ mumpslibs="${mumpslibs} -lmpiseq"
+ fi
+ fi
+
+ # They don't need to guess at this, but they do, and get it wrong...
+ sed -e "s|lib/pkgconfig|$(get_libdir)/pkgconfig|g" \
+ -i configure \
+ || die "failed to fix the pkgconfig path in ${S}/configure"
+
+ default
+}
+
+src_configure() {
+ # The --enable-aboca flag is temporarily disabled, because the build
+ # is broken with it (see https://github.com/coin-or/Clp/issues/139).
+ # There's a fix, but I'm not going to bother with a patch for an
+ # an experimental feature.
+ local myeconfargs=(
+ --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="$mumpslibs"
+ )
+ else
+ myeconfargs+=( --without-mumps )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake all
+ docs_compile
+}
+
+src_test() {
+ # NOT redundant! The build system has a "make check" target that does
+ # nothing, so if you don't specify "test" here, you'll get a no-op.
+ emake test
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install
+ einstalldocs
+
+ # Duplicate junk, and in the wrong location.
+ rm -r "${ED}/usr/share/coin/doc/${MY_PN}" || die
+
+ use examples && dodoc -r examples
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-clp/coinor-clp-1.17.6.ebuild b/sci-libs/coinor-clp/coinor-clp-1.17.6.ebuild
index 7449be2ae9f2..c58ce4d26447 100644
--- a/sci-libs/coinor-clp/coinor-clp-1.17.6.ebuild
+++ b/sci-libs/coinor-clp/coinor-clp-1.17.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,7 +27,7 @@ RESTRICT="!test? ( test )"
#
BDEPEND="virtual/fortran
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
# USE=mpi is disabled on sci-libs/mumps because mumps/scotch are in
@@ -38,7 +38,7 @@ BDEPEND="virtual/fortran
DEPEND="sci-libs/coinor-osi:=
sci-libs/coinor-utils:=
glpk? ( sci-mathematics/glpk:= sci-libs/amd )
- metis? ( || ( sci-libs/metis sci-libs/parmetis ) )
+ metis? ( sci-libs/metis )
mumps? ( sci-libs/mumps[-mpi] )
sparse? ( sci-libs/cholmod )"
RDEPEND="${DEPEND}"
diff --git a/sci-libs/coinor-clp/files/coinor-clp-1.17.6-remove-extern-C-for-MPI.patch b/sci-libs/coinor-clp/files/coinor-clp-1.17.6-remove-extern-C-for-MPI.patch
new file mode 100644
index 000000000000..04e5c731a241
--- /dev/null
+++ b/sci-libs/coinor-clp/files/coinor-clp-1.17.6-remove-extern-C-for-MPI.patch
@@ -0,0 +1,18 @@
+--- a/src/ClpCholeskyMumps.cpp
++++ b/src/ClpCholeskyMumps.cpp
+@@ -11,7 +11,6 @@
+ #define JOB_INIT -1
+ #define JOB_END -2
+ #define USE_COMM_WORLD -987654
+-extern "C" {
+ #include "dmumps_c.h"
+ // In newer ThirdParty/Mumps, mpi.h is renamed to mumps_mpi.h.
+ // We get informed about this by having COIN_USE_MUMPS_MPI_H defined.
+@@ -20,7 +19,6 @@
+ #else
+ #include "mpi.h"
+ #endif
+-}
+
+ #include "ClpCholeskyMumps.hpp"
+ #include "ClpMessage.hpp"
diff --git a/sci-libs/coinor-clp/metadata.xml b/sci-libs/coinor-clp/metadata.xml
index 00d23848636c..8a5bed6e5bac 100644
--- a/sci-libs/coinor-clp/metadata.xml
+++ b/sci-libs/coinor-clp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-couenne/Manifest b/sci-libs/coinor-couenne/Manifest
index eb1e553fb1c9..fd39c9add365 100644
--- a/sci-libs/coinor-couenne/Manifest
+++ b/sci-libs/coinor-couenne/Manifest
@@ -1 +1 @@
-DIST Couenne-0.4.7.tgz 12487353 BLAKE2B 795a1d04ee6186e519d57a59ccc7dfa77ec28717b3e3f75d1ed6513438e869d69970c27dc0de758d421e7f5c5f2dfb3308270b185c05b44ef214c760b1f25e39 SHA512 ae87ebee778d6782fffe9e6f6c7c8f604140f6134e29824f89e4f87bb86ac00ac1b2d8de274b23de16078a48a1444fbe7960b15ffefdc1798dca8972a8946deb
+DIST coinor-couenne-0.5.8.tar.gz 1321163 BLAKE2B 841a4af3d76fd308ef5abe481157fa1ecf307e7fae03fa0cb931483be74443febc7eb1ba7e85f47c3dca5d5447a74ae86dc0f3dbeb6c0f0032f543861462e0a1 SHA512 bf474503bd77be6536f9d00b40ff45041b3976ea2167d64e667fa580aa8ed6a383861ec67d57eec83623b6542f7779ed7d50d9b72347c3f77ef36a194a3f9e71
diff --git a/sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild b/sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild
deleted file mode 100644
index 02c94288b5aa..000000000000
--- a/sci-libs/coinor-couenne/coinor-couenne-0.4.7.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-couenne-0.5.8-r1.ebuild b/sci-libs/coinor-couenne/coinor-couenne-0.5.8-r1.ebuild
new file mode 100644
index 000000000000..b1e7029b5883
--- /dev/null
+++ b/sci-libs/coinor-couenne/coinor-couenne-0.5.8-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit fortran-2
+
+DESCRIPTION="COIN-OR Convex Over and Under ENvelopes for Nonlinear Estimation"
+HOMEPAGE="https://projects.coin-or.org/Couenne/"
+SRC_URI="https://github.com/coin-or/Couenne/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Couenne-releases-${PV}/Couenne"
+
+LICENSE="EPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ sci-libs/coinor-bonmin:=
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:=
+ sci-libs/ipopt:=[lapack]
+ virtual/blas"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.5.8-fix-build-with-gcc11.patch
+)
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_install() {
+ default
+ dodoc doc/couenne-user-manual.pdf
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-couenne/files/coinor-couenne-0.5.8-fix-build-with-gcc11.patch b/sci-libs/coinor-couenne/files/coinor-couenne-0.5.8-fix-build-with-gcc11.patch
new file mode 100644
index 000000000000..7cae89c1ada8
--- /dev/null
+++ b/sci-libs/coinor-couenne/files/coinor-couenne-0.5.8-fix-build-with-gcc11.patch
@@ -0,0 +1,46 @@
+https://github.com/coin-or/Couenne/pull/57
+https://github.com/coin-or/Couenne/commit/fdfe17562c59518b4db478ca51c18ab5e01a59a5 (later found post-patch)
+
+https://bugs.gentoo.org/792798
+
+From debc5de2d0ac9654c01db080448df064b808c56e Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 15 Jun 2021 04:24:22 +0000
+Subject: [PATCH] Fix build with GCC 11
+diff --git a/src/problem/CouenneProblem.hpp b/src/problem/CouenneProblem.hpp
+index e5b54a5..db28cfd 100644
+--- a/src/problem/CouenneProblem.hpp
++++ b/src/problem/CouenneProblem.hpp
+@@ -74,7 +74,7 @@ class Nauty;
+ #define COUENNE_EPS_SYMM 1e-8
+
+ struct myclass0 {
+- inline bool operator() (register const Node &a, register const Node &b) {
++ inline bool operator() (register const Node &a, register const Node &b) const {
+
+ return (( a.get_code () < b.get_code ()) ||
+ (( a.get_code () == b.get_code () &&
+@@ -120,7 +120,7 @@ class Nauty;
+
+
+ struct myclass {
+- inline bool operator() (register const Node &a, register const Node &b) {
++ inline bool operator() (register const Node &a, register const Node &b) const {
+ return (a.get_index() < b.get_index() );
+ }
+ };
+
+--- a/src/cut/sdpcuts/CouenneMatrix.hpp
++++ b/src/cut/sdpcuts/CouenneMatrix.hpp
+@@ -69,7 +69,7 @@ namespace Couenne {
+
+ struct compare_scalars {
+ inline bool operator() (register CouenneScalar * const &a,
+- register CouenneScalar * const &b)
++ register CouenneScalar * const &b) const
+ {return a -> getIndex () < b -> getIndex ();}
+ };
+
+--
+2.32.0
+
diff --git a/sci-libs/coinor-couenne/metadata.xml b/sci-libs/coinor-couenne/metadata.xml
index d2e462bb6357..e5191e273e83 100644
--- a/sci-libs/coinor-couenne/metadata.xml
+++ b/sci-libs/coinor-couenne/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -12,4 +12,7 @@
Programming (MINLP) problems. The purpose of Couenne is to find global
optima of nonconvex MINLPs.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/Couenne</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-cppad/Manifest b/sci-libs/coinor-cppad/Manifest
index 41262c6e3836..51f68ba13643 100644
--- a/sci-libs/coinor-cppad/Manifest
+++ b/sci-libs/coinor-cppad/Manifest
@@ -1,2 +1 @@
-DIST cppad-20140204.gpl.tgz 2189463 BLAKE2B 559162f45ebcb9cf11e0df5293430c5ce93c8993205c088639968ca52091a51e8d03a4e19a37d6c8e5949bc2b65f9eff7207d8e70f745e0c1748cb1dec963987 SHA512 0cead73e8d2e2da43ea22c003c0feccadefd2f66efbb58df45b79bff51181ad8646063fd053af8d377ce1732609c55175fd53c00142eb6635018878541f6d2ed
-DIST cppad-20140519.gpl.tgz 2208236 BLAKE2B 5d53891ef3b458c3914f5d59f6656290be2811fbc84ca3f9bd253ce4620b1a4b00397e1beed694cdc5284a1f74441b68520b861c90d158c4eee11d1f8927b362 SHA512 8f47e545bc76f66edccb9ea083ddebcb5852fa1807d727b6e1f445ca74731e74f7614a1d33b48c6eafbc5129b319e513594b415ee838bdc634f9c00a6d9a22af
+DIST coinor-cppad-20210000.5.tar.gz 1663397 BLAKE2B 3ce4f5733641fac16ac00b6e49cb74e2237502eac32f592190491ddd5dcb8a41f340c1eed8529dbdecb343f7a791d4fc5ddc1e21ce9f9706f28608ac3a5e965a SHA512 40cbe8dc32af9bb3b92cdd4c81e6f75424ece701df9251d4c63652998ca4cb8d50057e190a16e51333d168299f33ff2353074fa7f24f2cec29f68db53f6ae17c
diff --git a/sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild b/sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild
deleted file mode 100644
index 77d4f5ebc898..000000000000
--- a/sci-libs/coinor-cppad/coinor-cppad-20140204.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
deleted file mode 100644
index 537f051053f1..000000000000
--- a/sci-libs/coinor-cppad/coinor-cppad-20140519-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
deleted file mode 100644
index 8294efcbd21d..000000000000
--- a/sci-libs/coinor-cppad/coinor-cppad-20140519.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/coinor-cppad-20210000.5-r1.ebuild b/sci-libs/coinor-cppad/coinor-cppad-20210000.5-r1.ebuild
new file mode 100644
index 000000000000..31e95d9b417b
--- /dev/null
+++ b/sci-libs/coinor-cppad/coinor-cppad-20210000.5-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR="emake" # needed for tests
+inherit cmake
+
+DESCRIPTION="COIN-OR C++ Algorithmic Differentiation"
+HOMEPAGE="https://projects.coin-or.org/CppAD/"
+SRC_URI="https://github.com/coin-or/CppAD/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CppAD-${PV}"
+
+LICENSE="EPL-2.0"
+SLOT="0/${PV}" # soname is bumped every versions
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="adolc doc eigen ipopt"
+
+# adolc currently can't build tests and ipopt fails them.
+RESTRICT="adolc? ( test ) ipopt? ( test )"
+
+# No need for RDEPEND.
+DEPEND="
+ dev-libs/boost
+ adolc? ( sci-libs/adolc )
+ eigen? ( dev-cpp/eigen )
+ ipopt? ( sci-libs/ipopt )"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ )"
+
+PATCHES=( "${FILESDIR}"/${P}-pkgconfig.patch )
+
+src_prepare() {
+ cmake_src_prepare
+ # Gentoo uses coin/ rather than coin-or/ for includes.
+ sed -i 's/<coin-or/<coin/' \
+ cppad_ipopt/src/cppad_ipopt_nlp.hpp \
+ include/cppad/ipopt/solve_callback.hpp || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dcmake_install_libdirs=$(get_libdir)
+ -Dinclude_adolc=$(usex adolc)
+ -Dinclude_cppadcg=no
+ -Dinclude_eigen=$(usex eigen)
+ -Dinclude_ipopt=$(usex ipopt)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ bin/doxyfile.sh ${PV} dox.log doc && doxygen doxyfile || die
+ fi
+}
+
+src_test() {
+ cmake_build check
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc -r doc/html
+
+ # Remove superfluous .pc file.
+ rm -r "${ED}"/usr/share/pkgconfig || die
+}
diff --git a/sci-libs/coinor-cppad/files/coinor-cppad-20140519-boost.patch b/sci-libs/coinor-cppad/files/coinor-cppad-20140519-boost.patch
deleted file mode 100644
index 7a4d3ae83aca..000000000000
--- a/sci-libs/coinor-cppad/files/coinor-cppad-20140519-boost.patch
+++ /dev/null
@@ -1,79 +0,0 @@
- 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
deleted file mode 100644
index fe0b210f1075..000000000000
--- a/sci-libs/coinor-cppad/files/coinor-cppad-20140519-dash.patch
+++ /dev/null
@@ -1,215 +0,0 @@
- 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/files/coinor-cppad-20210000.5-pkgconfig.patch b/sci-libs/coinor-cppad/files/coinor-cppad-20210000.5-pkgconfig.patch
new file mode 100644
index 000000000000..0483eea52ec4
--- /dev/null
+++ b/sci-libs/coinor-cppad/files/coinor-cppad-20210000.5-pkgconfig.patch
@@ -0,0 +1,26 @@
+Fix pkg-config file generation, backported from upstream commit:
+https://github.com/coin-or/CppAD/commit/6d10b8d
+with an additional fix to not have -l-lcppad_lib
+--- a/pkgconfig/CMakeLists.txt
++++ b/pkgconfig/CMakeLists.txt
+@@ -124,3 +124,3 @@
+ # cppad_includedir
+-LIST(GET cmake_install_libdirs 0 cppad_includedir)
++LIST(GET cmake_install_includedirs 0 cppad_includedir)
+ #
+@@ -161,2 +161,3 @@
+ ${CMAKE_CURRENT_BINARY_DIR}/cppad.pc
++ @ONLY
+ )
+--- a/pkgconfig/cppad.pc.in
++++ b/pkgconfig/cppad.pc.in
+@@ -17,3 +17,3 @@
+ prefix=@cppad_prefix@
+-exec_prefix=$(prefix)
++exec_prefix=${prefix}
+ includedir=${prefix}/@cppad_includedir@
+@@ -30,3 +30,3 @@
+ Cflags: -I${includedir}
+-Libs: -L{libdir} -l@cppad_lib_list@
++Libs: -L${libdir} @cppad_lib_list@
+ Requires:
diff --git a/sci-libs/coinor-cppad/metadata.xml b/sci-libs/coinor-cppad/metadata.xml
index 0edc1f35c6e9..9e373643ab83 100644
--- a/sci-libs/coinor-cppad/metadata.xml
+++ b/sci-libs/coinor-cppad/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -13,5 +13,13 @@
function values, CppAD generates an algorithm that computes
corresponding derivative values (of arbitrary order using either
forward or reverse mode).
-</longdescription>
+ </longdescription>
+ <use>
+ <flag name="adolc">Add support for ADOL-C (<pkg>sci-libs/adolc</pkg>)</flag>
+ <flag name="eigen">Add support for Eigen (<pkg>dev-cpp/eigen</pkg>)</flag>
+ <flag name="ipopt">Add support for IPOPT (<pkg>sci-libs/ipopt</pkg>)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">coin-or/CppAD</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-csdp/Manifest b/sci-libs/coinor-csdp/Manifest
index c1b820c5a266..c116a33ba755 100644
--- a/sci-libs/coinor-csdp/Manifest
+++ b/sci-libs/coinor-csdp/Manifest
@@ -1 +1 @@
-DIST Csdp-6.1.1.tgz 441574 BLAKE2B 0f8dbea26e64c5854a877e89b51d6b0c7a19af31c967f665bb27b20df872c32905882703537b67c6df3dd5f3335afdb30f9145a620f4176acb73b90204e626a2 SHA512 ba5dc0faea223bad6293f131ee63daee0a395a6e84c76fe108dbbefb3ab0696b2a59f435766c78a2d22244801a9abda2719798cbfe30dd9e1c32317e0283fd2e
+DIST coinor-csdp-6.2.0.tar.gz 526179 BLAKE2B af2ac8cb4268aef006cf68fb85d344a0f9eb9f47b78c38e176c24f87ac1c88059cf47eb40cf638d131e093b6d469b6a458a1eb59fa8eb33c53b49d1a4c50aae2 SHA512 6362e174f2935645dac359c48879c42cfd387c403fc264974922322de2f02f5ffac5a35f991eb793cf8ba5516a144f5e107d1cddd0ec0da79e7ebb9c1375269f
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
deleted file mode 100644
index bc7b2d55620f..000000000000
--- a/sci-libs/coinor-csdp/coinor-csdp-6.1.1-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/coinor-csdp-6.2.0.ebuild b/sci-libs/coinor-csdp/coinor-csdp-6.2.0.ebuild
new file mode 100644
index 000000000000..89c14acd5dff
--- /dev/null
+++ b/sci-libs/coinor-csdp/coinor-csdp-6.2.0.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs
+
+MY_PN="Csdp"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="COIN-OR C Library for Semi-Definite Programming"
+HOMEPAGE="https://projects.coin-or.org/Csdp/"
+SRC_URI="https://www.coin-or.org/download/source/${MY_PN}/${MY_P}.tgz -> ${P}.tar.gz"
+
+LICENSE="EPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples openmp"
+
+RDEPEND="virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2.0_toolchain-vars.patch
+)
+
+S="${WORKDIR}"/${MY_P}
+
+_get_version_component_count() {
+ local cnt=( $(ver_rs 1- ' ') )
+ echo ${#cnt[@]} || die
+}
+
+static_to_shared() {
+ local libstatic=${1}
+ shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname $(ver_cut 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"
+
+ if [[ $(_get_version_component_count) -ge 1 ]] ; then
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(ver_cut 1)) || die
+ fi
+
+ ln -s ${soname} ${libdir}/${libname}$(get_libname) || die
+ fi
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ append-cflags -DNOSHORTS -DUSEGETTIME -I../include
+
+ if use openmp; then
+ append-cflags -DUSEOPENMP
+
+ if [[ $(tc-getCC) == *icc* ]]; then
+ append-cflags -openmp
+ else
+ append-cflags -fopenmp
+ append-ldflags -fopenmp
+ fi
+ fi
+
+ use amd64 && append-cflags -DBIT64
+
+ [[ $($(tc-getPKG_CONFIG) --libs blas) =~ atlas ]] && append-cflags -DUSEATLAS
+
+ tc-export CC
+}
+
+src_compile() {
+ emake CFLAGS="${CFLAGS} -fPIC" -C lib
+ local libs="$($(tc-getPKG_CONFIG) --libs blas lapack)" || die
+ static_to_shared lib/libsdp.a ${libs}
+ 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)*
+ insinto /usr/include/${PN}
+ doins include/*
+ dodoc AUTHORS README
+ use doc && dodoc doc/csdpuser.pdf
+ if use examples; then
+ docinto examples
+ dodoc example/*
+ fi
+}
diff --git a/sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch b/sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch
new file mode 100644
index 000000000000..d00528f66fe1
--- /dev/null
+++ b/sci-libs/coinor-csdp/files/coinor-csdp-6.2.0_toolchain-vars.patch
@@ -0,0 +1,63 @@
+--- a/example/Makefile
++++ b/example/Makefile
+@@ -6,7 +6,7 @@
+ # This builds the example code.
+ #
+ example: example.o
+- $(CC) $(CFLAGS) example.o $(LIBS) -o example
++ $(CC) $(CFLAGS) $(LDFLAGS) example.o $(LIBS) -o example
+ #
+ # To clean up the directory.
+ #
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -2,7 +2,7 @@
+ # Build the library.
+ #
+ libsdp.a: readprob.o sdp.o op_o.o psd_feas.o op_a.o op_at.o Fnorm.o calc_pobj.o calc_dobj.o trace_prod.o zero_mat.o mat_mult.o sym_mat.o copy_mat.o addscaledmat.o user_exit.o make_i.o allocmat.o initsoln.o initparams.o add_mat.o writesol.o readsol.o easysdp.o writeprob.o solvesys.o makefill.o mat_multsp.o norms.o linesearch.o matvec.o chol.o qreig.o tweakgap.o freeprob.o packed.o sortentries.o
+- ar cr libsdp.a readprob.o sdp.o op_o.o psd_feas.o op_a.o op_at.o Fnorm.o calc_pobj.o calc_dobj.o trace_prod.o zero_mat.o mat_mult.o sym_mat.o copy_mat.o addscaledmat.o user_exit.o make_i.o allocmat.o initsoln.o initparams.o add_mat.o writesol.o readsol.o easysdp.o writeprob.o solvesys.o makefill.o mat_multsp.o norms.o linesearch.o matvec.o chol.o qreig.o tweakgap.o freeprob.o packed.o sortentries.o
++ $(AR) cr libsdp.a readprob.o sdp.o op_o.o psd_feas.o op_a.o op_at.o Fnorm.o calc_pobj.o calc_dobj.o trace_prod.o zero_mat.o mat_mult.o sym_mat.o copy_mat.o addscaledmat.o user_exit.o make_i.o allocmat.o initsoln.o initparams.o add_mat.o writesol.o readsol.o easysdp.o writeprob.o solvesys.o makefill.o mat_multsp.o norms.o linesearch.o matvec.o chol.o qreig.o tweakgap.o freeprob.o packed.o sortentries.o
+ #
+ # On some systems, you might need to add after "ar cr libsdp.a ..."
+ # ranlib libsdp.a
+--- a/solver/Makefile
++++ b/solver/Makefile
+@@ -2,7 +2,7 @@
+ # This builds the stand alone solver.
+ #
+ csdp: csdp.o
+- $(CC) $(CFLAGS) csdp.o $(LIBS) -o csdp
++ $(CC) $(CFLAGS) $(LDFLAGS) csdp.o $(LIBS) -o csdp
+ #
+ # To clean out the directory:
+ #
+--- a/theta/Makefile
++++ b/theta/Makefile
+@@ -6,23 +6,23 @@
+ # This builds the theta number code.
+ #
+ theta: theta.o
+- $(CC) $(CFLAGS) theta.o $(LIBS) -o theta
++ $(CC) $(CFLAGS) $(LDFLAGS) theta.o $(LIBS) -o theta
+ #
+ # Complement computes the complement of a graph.
+ #
+ complement: complement.o
+- $(CC) $(CFLAGS) complement.o $(LIBS) -o complement
++ $(CC) $(CFLAGS) $(LDFLAGS) complement.o $(LIBS) -o complement
+ #
+ # rand_graph generates a random graph.
+ #
+ rand_graph: rand_graph.o
+- $(CC) $(CFLAGS) rand_graph.o $(LIBS) -o rand_graph
++ $(CC) $(CFLAGS) $(LDFLAGS) rand_graph.o $(LIBS) -o rand_graph
+ #
+ # graphtoprob converts a file in the graph format to an SDP problem in our
+ # SDP format.
+ #
+ graphtoprob: graphtoprob.o
+- $(CC) $(CFLAGS) graphtoprob.o $(LIBS) -o graphtoprob
++ $(CC) $(CFLAGS) $(LDFLAGS) graphtoprob.o $(LIBS) -o graphtoprob
+ #
+ # To clean up the directory.
+ #
diff --git a/sci-libs/coinor-csdp/metadata.xml b/sci-libs/coinor-csdp/metadata.xml
index 1fa24bb63b73..19747ce777f5 100644
--- a/sci-libs/coinor-csdp/metadata.xml
+++ b/sci-libs/coinor-csdp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-dip/Manifest b/sci-libs/coinor-dip/Manifest
index 6f56dedea8cb..e6972011d45c 100644
--- a/sci-libs/coinor-dip/Manifest
+++ b/sci-libs/coinor-dip/Manifest
@@ -1 +1 @@
-DIST Dip-0.9.8.tgz 10557241 BLAKE2B 1fcddbe4b7e8ae0450fcf97473428c0a36b751bbf5b91ab45c362ca0590d390d8c0b5b4b273ed41f7e9432423c59b9a4f8536ff34b0c9c0f1c11ced779ddb38c SHA512 7dfb51f63aab36fe7e894be5f17f8b614bfdf9be1a14b8f8b2ee555dcb8392f82b13d20481d60423d3d375a2e52eebe0439e696e3b3a7dfdd18223829835d361
+DIST coinor-dip-0.95.0.tar.gz 5213061 BLAKE2B 6f40e5d20832b0463e302519da168a30bdeea011a45047acb9dbe904763fc94ccaffbee3599b6f959e0eea5e40a0456771012707b9daafc50875194a1ff9967e SHA512 a9ea2bc23d625fa19e11943f46b3bf2db49aa894fe336c8de4a9a0c735e1569bd8bef015fd671eb856ee39a334adf06c95e2708bd69c4735d5f6bf994c9e41a2
diff --git a/sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild b/sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild
deleted file mode 100644
index c67282ce4ec6..000000000000
--- a/sci-libs/coinor-dip/coinor-dip-0.9.8.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-dip-0.95.0-r2.ebuild b/sci-libs/coinor-dip/coinor-dip-0.95.0-r2.ebuild
new file mode 100644
index 000000000000..dc17e23f1a48
--- /dev/null
+++ b/sci-libs/coinor-dip/coinor-dip-0.95.0-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR Decomposition in Integer Programming library"
+HOMEPAGE="https://projects.coin-or.org/Dip/"
+SRC_URI="https://github.com/coin-or/Dip/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Dip-releases-${PV}/Dip"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-libs/coinor-alps:=
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-osi:=
+ >=sci-libs/coinor-symphony-5.6:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+
+ # Prevent python:2.7 automagic for dippy (bug #778965)
+ sed -i 's/@HAVE_PYTHON_TRUE@/#/' src/Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ # Needed given "make check" is a noop and it skips the working one.
+ emake test
+}
+
+src_install() {
+ default
+ dodoc -r examples
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-dip/metadata.xml b/sci-libs/coinor-dip/metadata.xml
index a2333b002b3c..6f9a1359dff0 100644
--- a/sci-libs/coinor-dip/metadata.xml
+++ b/sci-libs/coinor-dip/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -14,4 +14,7 @@
Dantzig-Wolfe decomposition, Lagrangian relaxation, and various
cutting plane methods.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/Dip</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-dylp/coinor-dylp-1.10.4.ebuild b/sci-libs/coinor-dylp/coinor-dylp-1.10.4.ebuild
index b36ea7976c84..73b6503f67f9 100644
--- a/sci-libs/coinor-dylp/coinor-dylp-1.10.4.ebuild
+++ b/sci-libs/coinor-dylp/coinor-dylp-1.10.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ LICENSE="EPL-1.0"
# major soname component
SLOT="0/1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples static-libs test"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ RESTRICT="!test? ( test )"
#
BDEPEND="virtual/fortran
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
DEPEND="sci-libs/coinor-osi:="
diff --git a/sci-libs/coinor-dylp/metadata.xml b/sci-libs/coinor-dylp/metadata.xml
index 0766bb7d9751..2829ababa7e6 100644
--- a/sci-libs/coinor-dylp/metadata.xml
+++ b/sci-libs/coinor-dylp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-flopcpp/Manifest b/sci-libs/coinor-flopcpp/Manifest
index d49afb42cd77..3a1b310154ed 100644
--- a/sci-libs/coinor-flopcpp/Manifest
+++ b/sci-libs/coinor-flopcpp/Manifest
@@ -1 +1 @@
-DIST FlopC++-1.1.7.tgz 6631744 BLAKE2B a6666480b800819b2132c6375483c35542bfd177201cd6cdd9b6ab36c42ef5d66308bf049ba0e7d7891cec32656e9fc0e4684c04e4628b5de3758be277d55142 SHA512 40f59cb34f61f6ff1759a90909a81d724a562ee9dbfe91628ad8df1b8049afff254ceeb56f1e68a48d035e6d3a140744b8ebd8815ee39c9f01e17860c904942d
+DIST coinor-flopcpp-1.2.5.tar.gz 615614 BLAKE2B ff356ca41ed7639c2916c55f04ae561abfaeef041bd04730d0ca774cb6506f023c1c31e3463d93a34f41d534fb189cb794a20daa155dbdf43303c22272a6c986 SHA512 45d9e5b976d2fb26be34d5e201a7aed24ec8717472902f4848c353a12f17488903b00e6675e2a3e90ac0da58581afb6fd48d3869b8fd7ce962cef98622755d7d
diff --git a/sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild b/sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild
deleted file mode 100644
index 015c0264ae52..000000000000
--- a/sci-libs/coinor-flopcpp/coinor-flopcpp-1.1.7.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/coinor-flopcpp-1.2.5.ebuild b/sci-libs/coinor-flopcpp/coinor-flopcpp-1.2.5.ebuild
new file mode 100644
index 000000000000..08dd09ec0b49
--- /dev/null
+++ b/sci-libs/coinor-flopcpp/coinor-flopcpp-1.2.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR algebraic modeling language for linear optimization"
+HOMEPAGE="https://projects.coin-or.org/FlopC++/"
+SRC_URI="https://github.com/coin-or/FlopCpp/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/FlopCpp-releases-${PV}/FlopCpp"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ default
+ dodoc -r examples
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-flopcpp/metadata.xml b/sci-libs/coinor-flopcpp/metadata.xml
index 696dc5c9016a..71cd1bc29c42 100644
--- a/sci-libs/coinor-flopcpp/metadata.xml
+++ b/sci-libs/coinor-flopcpp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -14,4 +14,7 @@
preserved, while embedding linear optimization models in software
applications is facilitated.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/FlopCpp</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-mp/Manifest b/sci-libs/coinor-mp/Manifest
index e04bbe643322..a1adbe1fa880 100644
--- a/sci-libs/coinor-mp/Manifest
+++ b/sci-libs/coinor-mp/Manifest
@@ -1 +1 @@
-DIST CoinMP-1.7.6.tgz 10343849 BLAKE2B a99fe1f5413bc458b0cfde53606041ecdec45c6ba9b866f083b85dafa04ef9aa2a52aec6ce2f5d6463e2cf9d609567d3079c10490412dcc5bd9c69942982f261 SHA512 1612d43d52d0ee29b4e6ca328e1535c59722dfd5c7a7e0811a4180ad6033ef27111ced6497f9d5cea816c047a4e11c2aed6d1936feac8ded797eeec55d9539ce
+DIST coinor-mp-1.8.4.tar.gz 4142865 BLAKE2B 4f3f37378a13236ccab60ed0d9ec0e6716d7df8c264ec26f69e3117aaccf87cbdff42415cd4d86b936ba0fea87681592a66fef610f95ade68f5ea6cd185f4999 SHA512 ecb7761407df0a8d40ac2416fdbdfe62bb5e78f3cc4859e45c0912e6d06ca9b2d4bdf5fda2204bb1813d45289db9e8dbc48cce171950e8c3881d4a3fb3402fab
diff --git a/sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild b/sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild
deleted file mode 100644
index f8d827e01c64..000000000000
--- a/sci-libs/coinor-mp/coinor-mp-1.7.6.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/coinor-mp-1.8.4.ebuild b/sci-libs/coinor-mp/coinor-mp-1.8.4.ebuild
new file mode 100644
index 000000000000..d97c7a8d10f6
--- /dev/null
+++ b/sci-libs/coinor-mp/coinor-mp-1.8.4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR lightweight API for COIN-OR libraries CLP, CBC, and CGL"
+HOMEPAGE="https://projects.coin-or.org/CoinMP/"
+SRC_URI="https://github.com/coin-or/CoinMP/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CoinMP-releases-${PV}/CoinMP"
+
+LICENSE="CPL-1.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-cgl:=
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ # Also installation of unneeded files in a double ${D}.
+ sed -i '/--libs.*addlibs.txt/d; s/ install-addlibsDATA//' \
+ Makefile.in || die
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ default
+ dodoc -r examples
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-mp/metadata.xml b/sci-libs/coinor-mp/metadata.xml
index 5fbc1079f58b..7eeed3b865df 100644
--- a/sci-libs/coinor-mp/metadata.xml
+++ b/sci-libs/coinor-mp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,5 +10,8 @@
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>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/CoinMP</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-netlib/Manifest b/sci-libs/coinor-netlib/Manifest
index 5087617f8d22..6ba8cbcfae3c 100644
--- a/sci-libs/coinor-netlib/Manifest
+++ b/sci-libs/coinor-netlib/Manifest
@@ -1 +1 @@
-DIST Netlib-1.2.6.tgz 3960587 BLAKE2B db4554656814fe68dcf1db88c6d3deb7a3d6bf0da64e4911df0eb2c3f052f7d4dcbc3f74a09035d7d8f2b3ca207a0c874271f7b3bac46dc9bb3dece712a6e2f5 SHA512 545de8928377fedec44844e0eca02f8aaa0701bcae99ecb0494a01c7f838c6561d66497dde8302a908252198fe2a0b7656241ef26e75d9682f3f4ad1f706b23a
+DIST coinor-netlib-1.2.9.tar.gz 3958648 BLAKE2B cbfceeb602c9482adb2463399dee180da8867b40775fbba4ca5824149a06971580fac51b32009238e33334ae88c7846ea9a0e1ce7d148a9c3b90a2d6dcc09216 SHA512 def9da137840ba40df4e9dc57114b0ae09dc020446f3f12d05d2d5d812e98880b206873b04581b0268535c4c113e86fb40aaf3fb3169ff47634152744184be66
diff --git a/sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild b/sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild
deleted file mode 100644
index 4eedeac9aa82..000000000000
--- a/sci-libs/coinor-netlib/coinor-netlib-1.2.6.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/coinor-netlib-1.2.9.ebuild b/sci-libs/coinor-netlib/coinor-netlib-1.2.9.ebuild
new file mode 100644
index 000000000000..a90f44470498
--- /dev/null
+++ b/sci-libs/coinor-netlib/coinor-netlib-1.2.9.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR netlib models"
+HOMEPAGE="https://projects.coin-or.org/svn/Data/Netlib/"
+SRC_URI="https://github.com/coin-or-tools/Data-Netlib/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Data-Netlib-releases-${PV}"
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
diff --git a/sci-libs/coinor-netlib/metadata.xml b/sci-libs/coinor-netlib/metadata.xml
index 3827ccf978af..98c002b80d81 100644
--- a/sci-libs/coinor-netlib/metadata.xml
+++ b/sci-libs/coinor-netlib/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <longdescription lang="en">
- The COmputational INfrastructure for Operations Research (COIN-OR)
- models from netlib for testing.
- </longdescription>
+ <upstream>
+ <remote-id type="github">coin-or-tools/Data-Netlib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-os/coinor-os-2.10.1.ebuild b/sci-libs/coinor-os/coinor-os-2.10.1.ebuild
index 2093e3961b62..ab0da7313b7b 100644
--- a/sci-libs/coinor-os/coinor-os-2.10.1.ebuild
+++ b/sci-libs/coinor-os/coinor-os-2.10.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -10,6 +10,7 @@ MY_PN=OS
DESCRIPTION="COIN-OR Optimization Services"
HOMEPAGE="https://projects.coin-or.org/OS/"
SRC_URI="http://www.coin-or.org/download/source/${MY_PN}/${MY_PN}-${PV}.tgz"
+S="${WORKDIR}/${MY_PN}-${PV}/${MY_PN}"
LICENSE="EPL-1.0"
SLOT="0/6"
@@ -29,12 +30,12 @@ RDEPEND="
sci-libs/ipopt:="
DEPEND="${RDEPEND}
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
-S="${WORKDIR}/${MY_PN}-${PV}/${MY_PN}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.10.1-fix-c++14.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-2.10.1-fix-c++14.patch"
+)
src_prepare() {
default
@@ -46,6 +47,11 @@ src_prepare() {
src_configure() {
append-cppflags -DNDEBUG
+ # Can be dropped > 2.10.3 as patches landed upstream but don't
+ # apply cleanly to 2.10.1.
+ # bug #808793
+ append-cxxflags -std=c++14
+
econf \
--enable-shared \
$(use_enable static-libs static) \
diff --git a/sci-libs/coinor-os/metadata.xml b/sci-libs/coinor-os/metadata.xml
index 4dcb4259431e..ba6fc02b9b6f 100644
--- a/sci-libs/coinor-os/metadata.xml
+++ b/sci-libs/coinor-os/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-osi/coinor-osi-0.108.6.ebuild b/sci-libs/coinor-osi/coinor-osi-0.108.6.ebuild
index 12ba5bd95a6c..18e7b9c1f4b1 100644
--- a/sci-libs/coinor-osi/coinor-osi-0.108.6.ebuild
+++ b/sci-libs/coinor-osi/coinor-osi-0.108.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ LICENSE="EPL-1.0"
# major soname component
SLOT="0/1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
# No USE=glpk because upstream only supports an ancient version of it. The
# following issues were all closed by... documenting that it doesn't work:
@@ -33,7 +33,7 @@ RESTRICT="!test? ( test )"
#
BDEPEND="virtual/fortran
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
DEPEND="sci-libs/coinor-utils:="
RDEPEND="${DEPEND}"
diff --git a/sci-libs/coinor-osi/metadata.xml b/sci-libs/coinor-osi/metadata.xml
index af6af3b5df7c..03d23c939f98 100644
--- a/sci-libs/coinor-osi/metadata.xml
+++ b/sci-libs/coinor-osi/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-sample/coinor-sample-1.2.12.ebuild b/sci-libs/coinor-sample/coinor-sample-1.2.12.ebuild
index 58c9923f0977..e4c0bfe9b8f0 100644
--- a/sci-libs/coinor-sample/coinor-sample-1.2.12.ebuild
+++ b/sci-libs/coinor-sample/coinor-sample-1.2.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/coin-or-tools/Data-Sample/"
SRC_URI="https://github.com/coin-or-tools/${MY_PN}/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="EPL-1.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
S="${WORKDIR}/${MY_PN}-releases-${PV}"
diff --git a/sci-libs/coinor-sample/metadata.xml b/sci-libs/coinor-sample/metadata.xml
index 0c216ec09f0e..d8eb623fac0e 100644
--- a/sci-libs/coinor-sample/metadata.xml
+++ b/sci-libs/coinor-sample/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-smi/Manifest b/sci-libs/coinor-smi/Manifest
index f198065b45ea..f5432192a27b 100644
--- a/sci-libs/coinor-smi/Manifest
+++ b/sci-libs/coinor-smi/Manifest
@@ -1 +1 @@
-DIST Smi-0.93.4.tgz 4907130 BLAKE2B 329cd05ee42cf2fe0928a9fd9049c0a296632bf6c30bc6ca86f62066ee425982a853223581110b4e3e4d7a6a049e06bbb366802b1a18d175e1dc2a1a38772e9b SHA512 9439b7421475cf5d0c85f529305657e04d1ebb3eca28399b0df0352b52df315e9dceb3f1410ada0b7a6f9447b0e383116fb208d6447994ce1611f019fcace007
+DIST coinor-smi-0.96.1.tar.gz 653402 BLAKE2B 7a81d0c67168ecd7059a814af7ba8fea57c8bc0316db95ea6a8a8a1717d7584ecfafe623b7de6b66908b5f85bc02cd0b1d1781fb7145c901efe6a8ddeb92afe6 SHA512 cadb4c89c0a385b762fab985a6a8880dd659feb4496e39826f337a9a323ea5de1fbed51f4b414b1f6eb36fbd02292ed42a1d216bf54d27f2d5bb242012b571c9
diff --git a/sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild b/sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild
deleted file mode 100644
index 903528f79728..000000000000
--- a/sci-libs/coinor-smi/coinor-smi-0.93.4.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-smi-0.96.1.ebuild b/sci-libs/coinor-smi/coinor-smi-0.96.1.ebuild
new file mode 100644
index 000000000000..9434313abe95
--- /dev/null
+++ b/sci-libs/coinor-smi/coinor-smi-0.96.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR Stochastic modelling interface"
+HOMEPAGE="https://projects.coin-or.org/Smi/"
+SRC_URI="https://github.com/coin-or/Smi/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Smi-releases-${PV}/Smi"
+
+LICENSE="CPL-1.0"
+SLOT="0/2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ sci-libs/coinor-clp:=
+ sci-libs/coinor-flopcpp:=
+ sci-libs/coinor-osi:=
+ sci-libs/coinor-utils:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+}
+
+src_configure() {
+ econf $(use_with doc dot)
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc '')
+}
+
+src_test() {
+ # Needed given "make check" is a noop and it skips the working one.
+ emake test
+}
+
+src_install() {
+ default
+ dodoc -r examples flopcpp_examples
+ use doc && dodoc -r doxydoc/html
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-smi/metadata.xml b/sci-libs/coinor-smi/metadata.xml
index a09571668d51..190db663c340 100644
--- a/sci-libs/coinor-smi/metadata.xml
+++ b/sci-libs/coinor-smi/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -18,4 +18,7 @@
generation, interacting with solvers to obtain solution information,
etc.
</longdescription>
+ <upstream>
+ <remote-id type="github">coin-or/Smi</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-symphony/Manifest b/sci-libs/coinor-symphony/Manifest
index 9213d2becad1..b26b3b1a6634 100644
--- a/sci-libs/coinor-symphony/Manifest
+++ b/sci-libs/coinor-symphony/Manifest
@@ -1 +1 @@
-DIST SYMPHONY-5.5.7.tgz 7628863 BLAKE2B 8578cc341a2114642911bff68cf260dd6c5974b70ef3deebf9f7ea51f580be809dd1224a18dbd0744e9acf3b1ce9d5bdf90a1e97b53bcd01529978a816e26c6c SHA512 a3ce66b0b1373c58024ce6840277423a1a3684af8e3179a777fbb33a8d266849ae1cde694a527c3776ff67ce0a5ae3c2bfe0dc29f4e0b3ca51ddc2b299eefb24
+DIST coinor-symphony-5.6.17.tar.gz 1848015 BLAKE2B 0e1222f51809fb836530000348351d0e2a0928ec898a11ec21d2b0cad88a2ee4a635bc91a6d92607af67cf7d44a7187683528dd2a37b288fee1b2d947058d7b1 SHA512 eb0022184b1d0325729bb8f5390093ff1cfdfc87edf1dfdf20e62f07830c69604ec373b69c6de13755611a8e96f79ee8d1009efde0a35c9e7c0fab6652375ff7
diff --git a/sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild b/sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild
deleted file mode 100644
index 02a341b4b79d..000000000000
--- a/sci-libs/coinor-symphony/coinor-symphony-5.5.7.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/coinor-symphony-5.6.17.ebuild b/sci-libs/coinor-symphony/coinor-symphony-5.6.17.ebuild
new file mode 100644
index 000000000000..2d7ceecd23b2
--- /dev/null
+++ b/sci-libs/coinor-symphony/coinor-symphony-5.6.17.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="COIN-OR solver for mixed-integer linear programs"
+HOMEPAGE="https://projects.coin-or.org/SYMPHONY/"
+SRC_URI="https://github.com/coin-or/SYMPHONY/archive/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/SYMPHONY-releases-${PV}/SYMPHONY"
+
+LICENSE="EPL-1.0"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc glpk test"
+RESTRICT="!test? ( 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}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ dev-tex/latex2html
+ dev-texlive/texlive-latexextra
+ virtual/latex-base
+ )
+ test? (
+ sci-libs/coinor-netlib
+ sci-libs/coinor-sample
+ )"
+
+src_prepare() {
+ default
+ # Prevent unneeded call to pkg-config that needs ${ED}'s in path.
+ sed -i '/--libs.*addlibs.txt/d' Makefile.in || die
+
+ # Fix manual color errors.
+ sed -i 's/usenames/usenames,dvipsnames/' Doc/man.tex || die
+}
+
+src_configure() {
+ econf $(usex glpk --with-glpk-lib=-lglpk --without-glpk)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ pushd Doc >/dev/null || die
+ pdflatex Walkthrough || die
+ pdflatex man || die
+ popd >/dev/null || die
+ fi
+}
+
+src_test() {
+ # Needed given "make check" is a noop and it skips the working one.
+ emake test
+}
+
+src_install() {
+ default
+ use doc && dodoc Doc/*.pdf
+
+ # Other coinor-* use lowercase e, stay in-line with them.
+ docinto examples
+ dodoc -r Examples/.
+
+ # Duplicate or irrelevant files.
+ rm -r "${ED}"/usr/share/coin/doc || die
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/coinor-symphony/metadata.xml b/sci-libs/coinor-symphony/metadata.xml
index 6933ca7ddab6..f9f4b36e6d14 100644
--- a/sci-libs/coinor-symphony/metadata.xml
+++ b/sci-libs/coinor-symphony/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -18,4 +18,7 @@
<flag name="glpk">Enable GNU Linear Programming Kit
<pkg>sci-mathematics/glpk</pkg> support</flag>
</use>
+<upstream>
+ <remote-id type="github">coin-or/SYMPHONY</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sci-libs/coinor-utils/Manifest b/sci-libs/coinor-utils/Manifest
index 1f3f6c213142..bb45afeae108 100644
--- a/sci-libs/coinor-utils/Manifest
+++ b/sci-libs/coinor-utils/Manifest
@@ -1 +1,2 @@
DIST coinor-utils-2.11.4.tar.gz 1225148 BLAKE2B d55f9b3efbb3ce1c04fb9193ec70f62d8f130cd2f7ddf033c0df35f37006c542bd39e345662c271b4466b00c4bb1ec3cc14965bfe35f5b89370071d675113f4d SHA512 a7ac337b0f0bb11d578c44fd12d292ba8e77568362eaaaecbed8f4bc22ed85aaee911e2dd3153a2197b0165df082821969336d73fe1c5f0374a4636755d9a4ad
+DIST coinor-utils-2.11.9.tar.gz 1234195 BLAKE2B 5fb097c9c0fc0e76f9b3c269357d70320a1386ea5850ea1f4520da44ef9337ed3540e9a3624676c6094f5571ef62bb3f4fd89d8b49643fb2901850597ad7195b SHA512 c9343edd0ce2dac5a7f025cc8d4a06e48cf966d9b9581d97e787ec801ceda9fbb7ab54c32618304573fed873ba7e291c2562f015fe0446a959b347d32365c2bb
diff --git a/sci-libs/coinor-utils/coinor-utils-2.11.4.ebuild b/sci-libs/coinor-utils/coinor-utils-2.11.4.ebuild
index d969f9d022ed..d47ebd87a91f 100644
--- a/sci-libs/coinor-utils/coinor-utils-2.11.4.ebuild
+++ b/sci-libs/coinor-utils/coinor-utils-2.11.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ LICENSE="EPL-1.0"
# major soname component
SLOT="0/3"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 doc glpk blas lapack static-libs test zlib"
RESTRICT="!test? ( test )"
@@ -27,7 +27,7 @@ RESTRICT="!test? ( test )"
#
BDEPEND="virtual/fortran
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
DEPEND="sys-libs/readline:0=
blas? ( virtual/blas )
diff --git a/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild b/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild
new file mode 100644
index 000000000000..df2b863571ea
--- /dev/null
+++ b/sci-libs/coinor-utils/coinor-utils-2.11.9.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PN=CoinUtils
+
+DESCRIPTION="COIN-OR Matrix, Vector and other utility classes"
+HOMEPAGE="https://github.com/coin-or/CoinUtils/"
+SRC_URI="https://github.com/coin-or/${MY_PN}/archive/releases/${PV}.tar.gz
+ -> ${P}.tar.gz"
+LICENSE="EPL-1.0"
+
+# major soname component
+SLOT="0/3"
+
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 doc glpk blas lapack static-libs test zlib"
+RESTRICT="!test? ( test )"
+
+# Fortran is NOT needed, but the ./configure scripts for all of the CoinOR
+# packages contain a check for it. Gentoo bug 601648 and upstream issue,
+#
+# https://github.com/coin-or/CoinUtils/issues/132
+#
+BDEPEND="virtual/fortran
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ test? ( sci-libs/coinor-sample )"
+DEPEND="sys-libs/readline:0=
+ blas? ( virtual/blas )
+ bzip2? ( app-arch/bzip2 )
+ glpk? ( sci-mathematics/glpk:= )
+ lapack? ( virtual/lapack )
+ zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}-releases-${PV}/${MY_PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.11.9-drop-register.patch
+)
+
+src_prepare() {
+ # Needed to make the --with-coin-instdir in src_configure happy.
+ dodir /usr
+
+ # They don't need to guess at this, but they do, and get it wrong...
+ sed -e "s:lib/pkgconfig:$(get_libdir)/pkgconfig:g" \
+ -i configure \
+ || die "failed to fix the pkgconfig path in ${S}/configure"
+
+ default
+}
+
+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
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake all $(usex doc doxydoc "")
+}
+
+src_test() {
+ # NOT redundant! The build system has a "make check" target that does
+ # nothing, so if you don't specify "test" here, you'll get a no-op.
+ emake test
+}
+
+src_install() {
+ use doc && HTML_DOC=("${BUILD_DIR}/doxydocs/html/")
+
+ emake DESTDIR="${ED}" install
+
+ # Duplicate junk, and in the wrong location.
+ rm -r "${ED}/usr/share/coin/doc/${MY_PN}" || die
+}
diff --git a/sci-libs/coinor-utils/files/coinor-utils-2.11.9-drop-register.patch b/sci-libs/coinor-utils/files/coinor-utils-2.11.9-drop-register.patch
new file mode 100644
index 000000000000..f8ade78207d5
--- /dev/null
+++ b/sci-libs/coinor-utils/files/coinor-utils-2.11.9-drop-register.patch
@@ -0,0 +1,71 @@
+https://github.com/coin-or/CoinUtils/commit/1700ed92c2bc1562aabe65dee3b4885bd5c87fb9
+From: Stefan Vigerske <svigerske@gams.com>
+Date: Wed, 18 Aug 2021 15:09:53 +0200
+Subject: [PATCH] remove use of register storage class specifier
+
+- removed in C++17
+---
+ src/CoinOslC.h | 16 ++++++++--------
+ src/CoinOslFactorization2.cpp | 4 ++--
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/src/CoinOslC.h b/src/CoinOslC.h
+index 2f6d10aae..d8103f86b 100644
+--- a/src/CoinOslC.h
++++ b/src/CoinOslC.h
+@@ -33,30 +33,30 @@
+ extern "C" {
+ #endif
+
+-int c_ekkbtrn(register const EKKfactinfo *fact,
++int c_ekkbtrn(const EKKfactinfo *fact,
+ double *dwork1,
+ int *mpt, int first_nonzero);
+-int c_ekkbtrn_ipivrw(register const EKKfactinfo *fact,
++int c_ekkbtrn_ipivrw(const EKKfactinfo *fact,
+ double *dwork1,
+ int *mpt, int ipivrw, int *spare);
+
+-int c_ekketsj(register /*const*/ EKKfactinfo *fact,
++int c_ekketsj(/*const*/ EKKfactinfo *fact,
+ double *dwork1,
+ int *mpt2, double dalpha, int orig_nincol,
+ int npivot, int *nuspikp,
+ const int ipivrw, int *spare);
+-int c_ekkftrn(register const EKKfactinfo *fact,
++int c_ekkftrn(const EKKfactinfo *fact,
+ double *dwork1,
+ double *dpermu, int *mpt, int numberNonZero);
+
+-int c_ekkftrn_ft(register EKKfactinfo *fact,
++int c_ekkftrn_ft(EKKfactinfo *fact,
+ double *dwork1, int *mpt, int *nincolp);
+-void c_ekkftrn2(register EKKfactinfo *fact, double *dwork1,
++void c_ekkftrn2(EKKfactinfo *fact, double *dwork1,
+ double *dpermu1, int *mpt1, int *nincolp,
+ double *dwork1_ft, int *mpt_ft, int *nincolp_ft);
+
+-int c_ekklfct(register EKKfactinfo *fact);
+-int c_ekkslcf(register const EKKfactinfo *fact);
++int c_ekklfct(EKKfactinfo *fact);
++int c_ekkslcf(const EKKfactinfo *fact);
+ inline void c_ekkscpy(int n, const int *marr1, int *marr2)
+ {
+ CoinMemcpyN(marr1, n, marr2);
+diff --git a/src/CoinOslFactorization2.cpp b/src/CoinOslFactorization2.cpp
+index ab3225923..177ac437b 100644
+--- a/src/CoinOslFactorization2.cpp
++++ b/src/CoinOslFactorization2.cpp
+@@ -19,9 +19,9 @@
+ extern int ets_count;
+ extern int ets_check;
+ #endif
+-#define COIN_REGISTER register
++#define COIN_REGISTER
+ #define COIN_REGISTER2
+-#define COIN_REGISTER3 register
++#define COIN_REGISTER3
+ #ifdef COIN_USE_RESTRICT
+ #define COIN_RESTRICT2 __restrict
+ #else
+
diff --git a/sci-libs/coinor-utils/metadata.xml b/sci-libs/coinor-utils/metadata.xml
index c4ba4a30fb7c..1068aea82b3a 100644
--- a/sci-libs/coinor-utils/metadata.xml
+++ b/sci-libs/coinor-utils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild b/sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild
index 53276b0f38c4..459d7cb9393f 100644
--- a/sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild
+++ b/sci-libs/coinor-vol/coinor-vol-1.5.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ LICENSE="EPL-1.0"
# major soname component
SLOT="0/1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples static-libs test"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ RESTRICT="!test? ( test )"
#
BDEPEND="virtual/fortran
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( sci-libs/coinor-sample )"
DEPEND="sci-libs/coinor-osi:=
@@ -34,6 +34,10 @@ RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_PN}-releases-${PV}/${MY_PN}"
+PATCHES=(
+ "${FILESDIR}"/${P}-musl-1.2.3-null.patch
+)
+
src_prepare() {
# Needed to make the --with-coin-instdir in src_configure happy.
dodir /usr
diff --git a/sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch b/sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch
new file mode 100644
index 000000000000..96a154740ed4
--- /dev/null
+++ b/sci-libs/coinor-vol/files/coinor-vol-1.5.4-musl-1.2.3-null.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/841746
+https://github.com/coin-or/Vol/commit/7b65983cfbf66f9a615c1babcc28a7cd87eee3c4
+
+From: Stefan Vigerske <svigerske@gams.com>
+Date: Sat, 1 Feb 2020 17:45:41 +0000
+Subject: [PATCH] there should be no need to cast NULL, closes #1
+
+--- a/src/OsiVol/OsiVolSolverInterfaceIO.cpp
++++ b/src/OsiVol/OsiVolSolverInterfaceIO.cpp
+@@ -423,10 +423,10 @@ OsiVolSolverInterface::writeMps(const char *filename,
+ writer.setMpsData(*getMatrixByCol(), getInfinity(),
+ getColLower(), getColUpper(),
+ getObjCoefficients(),
+- reinterpret_cast<const char *> (NULL) /*integrality*/,
++ NULL /*integrality*/,
+ getRowLower(), getRowUpper(),
+- reinterpret_cast<const char **> (NULL) /*colnam*/,
+- reinterpret_cast<const char **> (NULL) /*rownam*/);
++ NULL /*colnam*/,
++ NULL /*rownam*/);
+ std::string fname = filename;
+ if (extension)
+ { if (extension[0] != '\0' && extension[0] != '.')
+
diff --git a/sci-libs/coinor-vol/metadata.xml b/sci-libs/coinor-vol/metadata.xml
index 3281553a97d6..2a2dd8db1338 100644
--- a/sci-libs/coinor-vol/metadata.xml
+++ b/sci-libs/coinor-vol/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/colamd/Manifest b/sci-libs/colamd/Manifest
index daefba89b375..a699b1aea285 100644
--- a/sci-libs/colamd/Manifest
+++ b/sci-libs/colamd/Manifest
@@ -1,2 +1,2 @@
-DIST colamd-2.8.0.tar.bz2 304819 BLAKE2B a2c4b67ad8d20b0cb136f579a367bf53b0e692596550b9e22908628f4d0bce00e2ddeb9aa0dfe6d1f204e79332be99c97366df2ba555ab881d4ba01c42a721e6 SHA512 36b2e50e01ad44f04f084ebcdcfb7d9d1d1712c6f53c8bce9f46ce39edc418aa64b8e67489fb06cb95d86658fd9f9bad89217a5f9f4777181f0f0e9b58c04aee
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST colamd-2.9.6.tar.bz2 298903 BLAKE2B e1e3cfa0153e21b742854d28fb6d3ede287c2ec22cfef4268a8aba8bb239be527433907f6984dad976341cf6e1ca9cb39f5c97029ad9bed032a874add9aa0e02 SHA512 f302d18f9ba004c9d1b0e1ada76e70f20fa1d11896815e5300983513b7ed4a7b969adef33adb1a57d67ce856a5ded410874c23d9bba42b6bf1a6a790430f5137
diff --git a/sci-libs/colamd/colamd-2.8.0.ebuild b/sci-libs/colamd/colamd-2.8.0.ebuild
deleted file mode 100644
index 758c33c21d45..000000000000
--- a/sci-libs/colamd/colamd-2.8.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils
-
-DESCRIPTION="Column approximate minimum degree ordering algorithm"
-HOMEPAGE="http://www.cise.ufl.edu/research/sparse/ccolamd/"
-SRC_URI="https://dev.gentoo.org/~bicatali/distfiles/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
-
-RDEPEND="sci-libs/suitesparseconfig"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
diff --git a/sci-libs/colamd/colamd-2.9.6.ebuild b/sci-libs/colamd/colamd-2.9.6.ebuild
index ce0ff828ca6a..347cfbd3e12c 100644
--- a/sci-libs/colamd/colamd-2.9.6.ebuild
+++ b/sci-libs/colamd/colamd-2.9.6.ebuild
@@ -1,22 +1,27 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Column approximate minimum degree ordering algorithm"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
BDEPEND="virtual/pkgconfig"
DEPEND=">=sci-libs/suitesparseconfig-5.4.0"
RDEPEND="${DEPEND}"
src_configure() {
- econf $(use_enable static-libs static)
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
}
diff --git a/sci-libs/colamd/colamd-3.0.3.ebuild b/sci-libs/colamd/colamd-3.0.3.ebuild
new file mode 100644
index 000000000000..b0a4af5bedc1
--- /dev/null
+++ b/sci-libs/colamd/colamd-3.0.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Column approximate minimum degree ordering algorithm"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run demo files
+ ./colamd_example > colamd_example.out || die "failed to run test colamd_example"
+ diff "${S}"/Demo/colamd_example.out colamd_example.out || die "failed testing colamd_example"
+ ./colamd_l_example > colamd_l_example.out || die "failed to run test colamd_l_example"
+ diff "${S}"/Demo/colamd_l_example.out colamd_l_example.out || die "failed testing colamd_l_example"
+}
diff --git a/sci-libs/colamd/metadata.xml b/sci-libs/colamd/metadata.xml
index 73165658cfd6..568cb46d3cfe 100644
--- a/sci-libs/colamd/metadata.xml
+++ b/sci-libs/colamd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -14,5 +14,8 @@
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>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/colpack/colpack-1.0.10.ebuild b/sci-libs/colpack/colpack-1.0.10.ebuild
index f7a56facc524..c28bec5db9b9 100644
--- a/sci-libs/colpack/colpack-1.0.10.ebuild
+++ b/sci-libs/colpack/colpack-1.0.10.ebuild
@@ -1,31 +1,29 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit autotools eutils ltprune toolchain-funcs
+inherit autotools toolchain-funcs
MYPN="ColPack"
DESCRIPTION="C++ algorithms for specialized vertex coloring problems"
-LICENSE="GPL-3 LGPL-3"
-HOMEPAGE="http://cscapes.cs.purdue.edu/coloringpage/"
+HOMEPAGE="https://cscapes.cs.purdue.edu/coloringpage/"
SRC_URI="https://github.com/CSCsw/${MYPN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="GPL-3 LGPL-3"
SLOT="0"
-IUSE="openmp static-libs"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="openmp"
S="${WORKDIR}/${MYPN}-${PV}"
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
pkg_setup() {
- if [[ ${MERGE_TYPE} != "binary" ]] && use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
- ewarn "You are using gcc without OpenMP"
- die "Need an OpenMP capable compiler"
- fi
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_prepare() {
@@ -36,13 +34,12 @@ src_prepare() {
src_configure() {
econf \
- --enable-shared \
- $(use_enable static-libs static) \
+ --disable-static \
$(use_enable openmp)
}
src_install() {
default
rm -rf "${ED}"/usr/examples
- use static-libs || prune_libtool_files --all
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/colpack/metadata.xml b/sci-libs/colpack/metadata.xml
index c9aa068b01c3..8eda231bb12f 100644
--- a/sci-libs/colpack/metadata.xml
+++ b/sci-libs/colpack/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/composable-kernel/Manifest b/sci-libs/composable-kernel/Manifest
new file mode 100644
index 000000000000..7cb39079ebb9
--- /dev/null
+++ b/sci-libs/composable-kernel/Manifest
@@ -0,0 +1,2 @@
+DIST composable-kernel-5.7.1.tar.gz 2158402 BLAKE2B 660c205c2a99cd17f29a9077e9e7b8b88e41f42ab40d92d0a235e7a60683a04234cce6b2eb6110265c2f461dd132c40151b2521b7d64df4cebb7f27094d8b2b0 SHA512 3931c5dbcab59513541103ebf7446311a1e318421a9e12aeafa7a98cf0717a75e1519140e6b2fbcaf4cb90829a11f03a724ff3ccc6636139c61667ac82558c55
+DIST gtest-1.14.0_p20220421.tar.gz 849107 BLAKE2B e9c32d9c1d98959583b696430a6be411f5d69e3db96669b16cffc0f1dcad42512391c0a4733f6e829c82953ff33fa243ee782f3cf6e86436f0d290f45d1a3db7 SHA512 967aac7d85da0e216fe13b17d10f894a31d763d9b88201bac7d3dfc37600552b5472d30a166a6ef27f2778677e73fd3e43d082695a48f47824262eb9cd4fcd2f
diff --git a/sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild b/sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..fbaa9356f722
--- /dev/null
+++ b/sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake flag-o-matic llvm rocm
+
+GTEST_COMMIT="b85864c64758dec007208e56af933fc3f52044ee"
+GTEST_FILE="gtest-1.14.0_p20220421.tar.gz"
+
+LLVM_MAX_SLOT=17
+
+DESCRIPTION="High Performance Composable Kernel for AMD GPUs"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/composable_kernel"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/composable_kernel/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="debug test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-util/hip
+ >=dev-db/sqlite-3.17
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ >=dev-libs/boost-1.72
+ dev-cpp/nlohmann_json
+ dev-cpp/frugally-deep
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="dev-libs/half:0/1
+ dev-build/rocm-cmake
+"
+
+S="${WORKDIR}/composable_kernel-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-enable-test-examples.patch"
+)
+
+src_prepare() {
+ sed -e '/-Werror/d' -i cmake/EnableCompilerWarnings.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ if ! use debug; then
+ append-cflags "-DNDEBUG"
+ append-cxxflags "-DNDEBUG"
+ CMAKE_BUILD_TYPE="Release"
+ else
+ CMAKE_BUILD_TYPE="Debug"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DBUILD_DEV=OFF
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ )
+
+ if use test; then
+ mycmakeargs+=(
+ -DGOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
+ )
+ fi
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ LD_LIBRARY_PATH="${BUILD_DIR}"/lib cmake_src_test -j1
+}
diff --git a/sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch b/sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch
new file mode 100644
index 000000000000..dd93b8af743a
--- /dev/null
+++ b/sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch
@@ -0,0 +1,19 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -280,8 +280,14 @@ rocm_package_setup_component(profiler
+ )
+
+ add_subdirectory(library)
+-add_subdirectory(example)
+-add_subdirectory(test)
++option(BUILD_EXAMPLES "Build examples" OFF)
++if(BUILD_EXAMPLES)
++ add_subdirectory(example)
++endif()
++option(BUILD_TESTS "Build binaries for tests" OFF)
++if(BUILD_TESTS)
++ add_subdirectory(test)
++endif()
+ add_subdirectory(profiler)
+
+ #Create an interface target for the include only files and call it "composablekernels"
diff --git a/sci-libs/composable-kernel/metadata.xml b/sci-libs/composable-kernel/metadata.xml
new file mode 100644
index 000000000000..9236dd2846d7
--- /dev/null
+++ b/sci-libs/composable-kernel/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/composable_kernel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/cqrlib/Manifest b/sci-libs/cqrlib/Manifest
index f559d9c22b4c..3c16b17f14e1 100644
--- a/sci-libs/cqrlib/Manifest
+++ b/sci-libs/cqrlib/Manifest
@@ -1 +1 @@
-DIST CQRlib-1.1.3.tar.gz 93987 BLAKE2B d95dc83f92c322fe6185c8a9989d4814bcae95ac870c2555c5cce0e4279a676180050b0e23bc29cc1032f3ee7a7e2ccc8bbe75be7dba4e336a27afda532aadc4 SHA512 49ee134171bc4736513556781cc978599a3017c0692cf48fba876b2cf8d846ff9b1bbce41c0beba3836701de0dc00d987142253683cd9c1da71586435a5c4010
+DIST cqrlib-1.1.4.tar.gz 41521 BLAKE2B 2b69dbf401de9908886798425ec33c28c55ef4b892d35883ffe3c715ddff03fb81b32222b6c755c3c690a016b2ded72e965d83408f14b316913e6f8c7ebb5a41 SHA512 14f49ebc5f562b31081cd53c738aa1571cbefb369ebfe4ca8c27af07a691e4eae288fcf374527453b8d6e36a114a97be26204909be478bd67fb8d94934b1bec7
diff --git a/sci-libs/cqrlib/cqrlib-1.1.3.ebuild b/sci-libs/cqrlib/cqrlib-1.1.3.ebuild
deleted file mode 100644
index d43706733c17..000000000000
--- a/sci-libs/cqrlib/cqrlib-1.1.3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-MY_PN=CQRlib
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Utility library for quaternion arithmetic / rotation math (ANSI C implemented)"
-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}"
-
-DOCS=( README_CQRlib.txt )
-HTML_DOCS=( README_CQRlib.html )
-PATCHES=( "${FILESDIR}"/1.0.6-gentoo.patch )
-
-S="${WORKDIR}"/${MY_P}
-
-src_prepare() {
- default
- sed "s:GENTOOLIBDIR:$(get_libdir):g" -i Makefile || die
- append-cflags -std=c90
- append-cxxflags -std=c++98
-}
-
-src_compile() {
- 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
- einstalldocs
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/cqrlib/cqrlib-1.1.4.ebuild b/sci-libs/cqrlib/cqrlib-1.1.4.ebuild
new file mode 100644
index 000000000000..86556f4e6198
--- /dev/null
+++ b/sci-libs/cqrlib/cqrlib-1.1.4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_PN=CQRlib
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Utility library for quaternion arithmetic / rotation math (ANSI C implemented)"
+HOMEPAGE="http://cqrlib.sourceforge.net/"
+SRC_URI="https://github.com/yayahjb/${PN}/archive/${MY_P}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-libs/cvector"
+DEPEND="${RDEPEND}"
+
+DOCS=( README_CQRlib.txt )
+HTML_DOCS=( README_CQRlib.html )
+
+S="${WORKDIR}"/${PN}-${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${PV}-libtool.patch" # 778911
+ "${FILESDIR}/${PV}-build.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ emake all
+}
+
+src_test() {
+ emake tests
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/cqrlib/files/1.0.6-gentoo.patch b/sci-libs/cqrlib/files/1.0.6-gentoo.patch
deleted file mode 100644
index 64a8eaf3ae26..000000000000
--- a/sci-libs/cqrlib/files/1.0.6-gentoo.patch
+++ /dev/null
@@ -1,101 +0,0 @@
- 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/files/1.1.4-build.patch b/sci-libs/cqrlib/files/1.1.4-build.patch
new file mode 100644
index 000000000000..d7b20e33338e
--- /dev/null
+++ b/sci-libs/cqrlib/files/1.1.4-build.patch
@@ -0,0 +1,331 @@
+Upstream-PR: https://github.com/yayahjb/cqrlib/pull/1
+
+From d1a82913a39168bb6d519fd7d2e14e23f4e9f291 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 18 Jun 2022 23:39:18 -0700
+Subject: [PATCH 1/7] build: Fix parallel make
+
+The build will fail with slibtool when the required directories do not
+yet exist. This is because slibtool is significantly faster than GNU
+libtool...
+---
+ Makefile.in | 26 ++++++++------------------
+ 1 file changed, 8 insertions(+), 18 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index fe556ff..59a508e 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -189,12 +189,13 @@ default:
+ #
+ # Compile the library and examples
+ #
+-all: $(LIB) $(BIN) $(SOURCE) $(HEADERS) \
++all: $(LIB)/.tag $(BIN)/.tag $(SOURCE) $(HEADERS) \
+ $(LIB)/libCQRlib.$(LIB_EXT) \
+ $(BIN)/CQRlibTest $(BIN)/CPPQRTest
+
+-install: all $(INSTALLDIR) $(INSTALLDIR)/lib $(INSTALLDIR)/include \
+- $(INC) $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/cqrlib.h
++install: all $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/cqrlib.h
++ @mkdir -p $(INSTALLDIR)/lib
++ @mkdir -p $(INSTALLDIR)/include
+ $(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
+@@ -228,24 +229,13 @@ install: all $(INSTALLDIR) $(INSTALLDIR)/lib $(INSTALLDIR)/include \
+ #
+ # Directories
+ #
+-$(INSTALLDIR):
+- mkdir -p $(INSTALLDIR)
+-
+-$(INSTALLDIR)/lib: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/lib
+-
+-$(INSTALLDIR)/bin: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/bin
+-
+-$(INSTALLDIR)/include: $(INSTALLDIR)
+- mkdir -p $(INSTALLDIR)/include
+-
+-
+-$(LIB):
++$(LIB)/.tag:
+ mkdir $(LIB)
++ @touch $@
+
+-$(BIN):
++$(BIN)/.tag:
+ mkdir $(BIN)
++ @touch $@
+
+ #
+ # CQRlib library
+
+From 3cdf6a442228d63c8f771fc0822d74d75fe8b486 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 18 Jun 2022 23:40:46 -0700
+Subject: [PATCH 2/7] build: Use the .la file to link
+
+The correct way to link with internal dependencies and libtool is to use
+the .la files. When using the linker flag directly the build will fail
+with slibtool when it doesn't know where the required library is
+located.
+---
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 59a508e..ab21e89 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -203,13 +203,13 @@ install: all $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/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
++ $(LIB)/libCQRlib.la -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
++ $(LIB)/libCQRlib.la -lm -o $(BIN)/CQRlibTest_static
+ $(BIN)/CQRlibTest_static > $(TESTDATA)/CQRlibTest_static.lst
+ diff -b -c $(TESTDATA)/CQRlibTest_orig.lst \
+ $(TESTDATA)/CQRlibTest_static.lst
+
+From b81e63099004e53f1bfd984f00a4b878485b13b1 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 18 Jun 2022 23:59:24 -0700
+Subject: [PATCH 3/7] build: Use standard install variables
+
+---
+ Makefile.in | 40 ++++++++++++++++++++++------------------
+ 1 file changed, 22 insertions(+), 18 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ab21e89..22e1ffd 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -72,8 +72,12 @@ SRC = $(top_builddir)
+ INC = $(top_builddir)
+ EXAMPLES = $(top_builddir)
+ TESTDATA = $(top_builddir)
+-#INSTALLDIR = /usr/local
+-INSTALLDIR = $(HOME)
++
++prefix := @prefix@
++exec_prefix := @exec_prefix@
++
++LIBDIR := @libdir@
++INCDIR := @includedir@
+
+ #
+ # Include directories
+@@ -85,15 +89,15 @@ 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) -version-info $(VERSION) -rpath $(LIBDIR)
+ 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
++BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -dynamic $(INCLUDES)
++BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static $(INCLUDES)
+ CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CPPFLAGS) $(INCLUDES) $(WARNINGS) -c
+-CPPLIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CXX) -version-info $(VERSION) -rpath $(INSTALLDIR)/lib
++CPPLIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CXX) -version-info $(VERSION) -rpath $(LIBDIR)
+ CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) $(INCLUDES)
+-CPPBUILD_COMMAND_DYNAMIC= $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -dynamic -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
+-CPPBUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -static -I $(INSTALLDIR)/include -L$(INSTALLDIR)/lib
++CPPBUILD_COMMAND_DYNAMIC= $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -dynamic $(INCLUDES)
++CPPBUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -static $(INCLUDES)
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
+
+@@ -162,9 +166,9 @@ default:
+ @echo ' '
+ @echo ' The current values are :'
+ @echo ' '
+- @echo ' $(INSTALLDIR) '
+- @echo ' $(INSTALL_COMMAND) '
+- @echo ' $(INSTALL_FINISH) '
++ @echo ' $(DESTDIR) '
++ @echo ' $(INSTALL_COMMAND) '
++ @echo ' $(INSTALL_FINISH) '
+ @echo ' '
+ @echo ' To compile the CQRlib library and example programs type:'
+ @echo ' '
+@@ -194,13 +198,13 @@ all: $(LIB)/.tag $(BIN)/.tag $(SOURCE) $(HEADERS) \
+ $(BIN)/CQRlibTest $(BIN)/CPPQRTest
+
+ install: all $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/cqrlib.h
+- @mkdir -p $(INSTALLDIR)/lib
+- @mkdir -p $(INSTALLDIR)/include
+- $(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
++ @mkdir -p $(DESTDIR)$(INCDIR)
++ @mkdir -p $(DESTDIR)$(LIBDIR)
++ $(INSTALL_COMMAND) $(LIB)/libCQRlib.$(LIB_EXT) $(DESTDIR)$(LIBDIR)/libCQRlib.$(LIB_EXT)
++ $(INSTALL_FINISH_COMMAND) $(DESTDIR)$(LIBDIR)/libCQRlib.$(LIB_EXT)
++ -cp $(DESTDIR)$(INCDIR)/cqrlib.h $(DESTDIR)$(INCDIR)/CQRlib_old.h
++ cp $(INC)/cqrlib.h $(DESTDIR)$(INCDIR)/cqrlib.h
++ chmod 644 $(DESTDIR)$(INCDIR)/cqrlib.h
+ echo "Testing final install dynamic"
+ $(BUILD_COMMAND_DYNAMIC) $(EXAMPLES)/CQRlibTest.c \
+ $(LIB)/libCQRlib.la -lm -o $(BIN)/CQRlibTest_dynamic
+
+From f3f780c5504b0f689a37062bb8820a638e0abeb6 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sun, 19 Jun 2022 00:04:58 -0700
+Subject: [PATCH 4/7] build: Support LDFLAGS
+
+---
+ Makefile.in | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 22e1ffd..192aef9 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -49,6 +49,7 @@ CC = @CC@
+ CXX = @CXX@
+ CFLAGS = -g -O2 -Wall -ansi -pedantic
+ CPPFLAGS = $(CFLAGS) -DCQR_NOCCODE=1
++LDFLAGS = @LDFLAGS@
+
+ # Build directory
+ top_builddir = @top_builddir@
+@@ -89,12 +90,12 @@ 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 $(LIBDIR)
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -rpath $(LIBDIR) $(LDFLAGS)
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+ BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -dynamic $(INCLUDES)
+ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static $(INCLUDES)
+ CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CPPFLAGS) $(INCLUDES) $(WARNINGS) -c
+-CPPLIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CXX) -version-info $(VERSION) -rpath $(LIBDIR)
++CPPLIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CXX) -version-info $(VERSION) -rpath $(LIBDIR) $(LDFLAGS)
+ CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) $(INCLUDES)
+ CPPBUILD_COMMAND_DYNAMIC= $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -dynamic $(INCLUDES)
+ CPPBUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -static $(INCLUDES)
+
+From dd4f0a4fb0cd30a472140cd1c3a3b35b1bb063a4 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sun, 19 Jun 2022 00:36:06 -0700
+Subject: [PATCH 5/7] build: Fix make install
+
+---
+ Makefile.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 192aef9..3613e37 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -203,7 +203,6 @@ install: all $(LIB)/libCQRlib.$(LIB_EXT) $(INC)/cqrlib.h
+ @mkdir -p $(DESTDIR)$(LIBDIR)
+ $(INSTALL_COMMAND) $(LIB)/libCQRlib.$(LIB_EXT) $(DESTDIR)$(LIBDIR)/libCQRlib.$(LIB_EXT)
+ $(INSTALL_FINISH_COMMAND) $(DESTDIR)$(LIBDIR)/libCQRlib.$(LIB_EXT)
+- -cp $(DESTDIR)$(INCDIR)/cqrlib.h $(DESTDIR)$(INCDIR)/CQRlib_old.h
+ cp $(INC)/cqrlib.h $(DESTDIR)$(INCDIR)/cqrlib.h
+ chmod 644 $(DESTDIR)$(INCDIR)/cqrlib.h
+ echo "Testing final install dynamic"
+
+From 59b95069aab8885919c8b91c825c14384c3d8087 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sun, 19 Jun 2022 20:09:46 -0700
+Subject: [PATCH 6/7] build: Fix compile flags
+
+This sets the compile flags using the configure process and changes
+CPPFLAGS to CXXFLAGS as is standard. CPPFLAGS is also supported now
+which are for setting defines for both C and CXX builds.
+---
+ Makefile.in | 27 ++++++++++++++++-----------
+ 1 file changed, 16 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 3613e37..e4c6942 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -47,8 +47,10 @@ RELEASE = @PACKAGE_VERSION@
+ #
+ CC = @CC@
+ CXX = @CXX@
+-CFLAGS = -g -O2 -Wall -ansi -pedantic
+-CPPFLAGS = $(CFLAGS) -DCQR_NOCCODE=1
++CFLAGS = @CFLAGS@
++CXXFLAGS = @CXXFLAGS@
++CPPFLAGS = @CPPFLAGS@
++WARNINGS = -Wall -ansi -pedantic
+ LDFLAGS = @LDFLAGS@
+
+ # Build directory
+@@ -89,16 +91,19 @@ else
+ 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 $(LIBDIR) $(LDFLAGS)
+-BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
+-BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -dynamic $(INCLUDES)
+-BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static $(INCLUDES)
+-CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CXX) $(CPPFLAGS) $(INCLUDES) $(WARNINGS) -c
++COMPILE_C = $(CC) -std=c90 $(WARNINGS) $(CPPFLAGS) $(CFLAGS)
++COMPILE_CXX = $(CXX) -std=c++98 $(WARNINGS) $(CPPFLAGS) -DCQR_NOCCODE=1 $(CXXFLAGS)
++
++COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(COMPILE_C) $(INCLUDES) -c
++LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -rpath $(LIBDIR) $(LDFLAGS)
++BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(COMPILE_C) $(INCLUDES)
++BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(COMPILE_C) -dynamic $(INCLUDES)
++BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(COMPILE_C) -static $(INCLUDES)
++CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(COMPILE_CXX) $(INCLUDES) -c
+ CPPLIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CXX) -version-info $(VERSION) -rpath $(LIBDIR) $(LDFLAGS)
+-CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) $(INCLUDES)
+-CPPBUILD_COMMAND_DYNAMIC= $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -dynamic $(INCLUDES)
+-CPPBUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -static $(INCLUDES)
++CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(COMPILE_CXX) $(INCLUDES)
++CPPBUILD_COMMAND_DYNAMIC= $(LIBTOOL) --mode=link $(COMPILE_CXX) -dynamic $(INCLUDES)
++CPPBUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(COMPILE_CXX) -static $(INCLUDES)
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
+
+
+From 87cd184f4df7188380251346dcda502fa21f8cdd Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sun, 19 Jun 2022 20:28:48 -0700
+Subject: [PATCH 7/7] build: Change -dynamic to -shared
+
+With libtool shared libraries can be created with -shared.
+---
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index e4c6942..9b407c1 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -97,12 +97,12 @@ COMPILE_CXX = $(CXX) -std=c++98 $(WARNINGS) $(CPPFLAGS) -DCQR_NOCCODE=1 $(CXXFLA
+ COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(COMPILE_C) $(INCLUDES) -c
+ LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -rpath $(LIBDIR) $(LDFLAGS)
+ BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(COMPILE_C) $(INCLUDES)
+-BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(COMPILE_C) -dynamic $(INCLUDES)
++BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(COMPILE_C) -shared $(INCLUDES)
+ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(COMPILE_C) -static $(INCLUDES)
+ CPPCOMPILE_COMMAND = $(LIBTOOL) --mode=compile $(COMPILE_CXX) $(INCLUDES) -c
+ CPPLIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CXX) -version-info $(VERSION) -rpath $(LIBDIR) $(LDFLAGS)
+ CPPBUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(COMPILE_CXX) $(INCLUDES)
+-CPPBUILD_COMMAND_DYNAMIC= $(LIBTOOL) --mode=link $(COMPILE_CXX) -dynamic $(INCLUDES)
++CPPBUILD_COMMAND_DYNAMIC= $(LIBTOOL) --mode=link $(COMPILE_CXX) -shared $(INCLUDES)
+ CPPBUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(COMPILE_CXX) -static $(INCLUDES)
+ INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
+ INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
diff --git a/sci-libs/cqrlib/files/1.1.4-libtool.patch b/sci-libs/cqrlib/files/1.1.4-libtool.patch
new file mode 100644
index 000000000000..da189845f0e5
--- /dev/null
+++ b/sci-libs/cqrlib/files/1.1.4-libtool.patch
@@ -0,0 +1,105 @@
+Bug: https://bugs.gentoo.org/778911
+Upstream-PR: https://github.com/yayahjb/cqrlib/pull/1
+
+From 23f422c3049185ad0f24b9f0317b52a21ea771f3 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 18 Jun 2022 23:02:44 -0700
+Subject: [PATCH] build: Add minimal configure.ac
+
+When building with slibtool using the rlibtool symlink the build will
+fail when it fails to find the generated libtool. This file is required
+for rlibtool because it is used to determine if building shared or
+static.
+
+This will require these commands to build:
+
+ autoreconf -fi
+ ./configure
+ make
+
+Gentoo Bug: https://bugs.gentoo.org/778911
+---
+ Makefile => Makefile.in | 29 +++++++++++++----------------
+ configure.ac | 10 ++++++++++
+ 2 files changed, 23 insertions(+), 16 deletions(-)
+ rename Makefile => Makefile.in (97%)
+ create mode 100644 configure.ac
+
+diff --git a/Makefile b/Makefile.in
+similarity index 97%
+rename from Makefile
+rename to Makefile.in
+index 555e370..fe556ff 100644
+--- a/Makefile
++++ b/Makefile.in
+@@ -40,41 +40,38 @@
+
+ # Version string
+ VERSION = 3:0:1
+-RELEASE = 1.1.0
+-
++RELEASE = @PACKAGE_VERSION@
+
+ #
+ # Compiler and compilation flags
+ #
+-CC = gcc
+-CXX = g++
++CC = @CC@
++CXX = @CXX@
+ CFLAGS = -g -O2 -Wall -ansi -pedantic
+ CPPFLAGS = $(CFLAGS) -DCQR_NOCCODE=1
+
++# Build directory
++top_builddir = @top_builddir@
++
+ #
+ # libtool path if system default is not suitable
+ #
+-#LIBTOOL = $(HOME)/bin/libtool
+-ifndef LIBTOOL
+- LIBTOOL = libtool
+-endif
++LIBTOOL = @LIBTOOL@
+
+ #
+ # If local headers must be quoted uncomment the next line
+ #
+ #USE_LOCAL_HEADERS = 1
+
+-
+ #
+ # Directories
+ #
+-ROOT = .
+-LIB = $(ROOT)/lib
+-BIN = $(ROOT)/bin
+-SRC = $(ROOT)
+-INC = $(ROOT)
+-EXAMPLES = $(ROOT)
+-TESTDATA = $(ROOT)
++LIB = $(top_builddir)/lib
++BIN = $(top_builddir)/bin
++SRC = $(top_builddir)
++INC = $(top_builddir)
++EXAMPLES = $(top_builddir)
++TESTDATA = $(top_builddir)
+ #INSTALLDIR = /usr/local
+ INSTALLDIR = $(HOME)
+
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..6af5b28
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,10 @@
++AC_INIT([cqrlib], [1.1.4])
++AC_CONFIG_FILES([Makefile])
++
++LT_INIT
++
++AC_PROG_CXX
++
++AC_SUBST([top_builddir], [$abs_builddir])
++
++AC_OUTPUT
diff --git a/sci-libs/cqrlib/metadata.xml b/sci-libs/cqrlib/metadata.xml
index 6973deae4ff2..b8e1e1e8db7d 100644
--- a/sci-libs/cqrlib/metadata.xml
+++ b/sci-libs/cqrlib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">cqrlib</remote-id>
+ <remote-id type="github">yayahjb/cqrlib</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/cxsparse/Manifest b/sci-libs/cxsparse/Manifest
index d3c7291aea21..ecf635014513 100644
--- a/sci-libs/cxsparse/Manifest
+++ b/sci-libs/cxsparse/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST cxsparse-3.2.0.tar.bz2 2080196 BLAKE2B 9b89469c45e518077c4348ad3efd8d89d248e4c039057c0286ee44b493ab595075894d01530cbfbe845b91ef5e43cfbfdd102721cfeefe943a1cb4bc5f171843 SHA512 9931dac5b319b61a39ccb5f34309acb4240602b5f55d029c790ed0b7319a373cb925c4b83994526af4bc5b19b88c723f04581068d1fc80960a290c9d6d1e1aef
diff --git a/sci-libs/cxsparse/cxsparse-3.2.0.ebuild b/sci-libs/cxsparse/cxsparse-3.2.0.ebuild
index 1f31b3ad40cf..a9f3846b1709 100644
--- a/sci-libs/cxsparse/cxsparse-3.2.0.ebuild
+++ b/sci-libs/cxsparse/cxsparse-3.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,27 +6,26 @@ EAPI=7
inherit multilib-minimal
DESCRIPTION="Extended sparse matrix package"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
+KEYWORDS="amd64 arm arm64 ~hppa ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux"
+RDEPEND=">=sci-libs/suitesparseconfig-5.4.0[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-DEPEND=">=sci-libs/suitesparseconfig-5.4.0[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-PATCHES=( "${FILESDIR}/${PN}-3.2.0-header.patch" )
+PATCHES=( "${FILESDIR}"/${PN}-3.2.0-header.patch )
multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+ ECONF_SOURCE="${S}" econf --disable-static
}
multilib_src_install_all() {
einstalldocs
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/cxsparse/cxsparse-4.0.3.ebuild b/sci-libs/cxsparse/cxsparse-4.0.3.ebuild
new file mode 100644
index 000000000000..afd86a8e149e
--- /dev/null
+++ b/sci-libs/cxsparse/cxsparse-4.0.3.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Extended sparse matrix package"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${Sparse_P}/CXSparse"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Programs assume that they can access the Matrix folder in ${S}
+ ln -s "${S}/Matrix" || die "cannot link to the Matrix folder"
+ # Run demo files
+ ./cs_idemo < Matrix/t2 || die "failed testing"
+ ./cs_ldemo < Matrix/t2 || die "failed testing"
+ ./cs_demo1 < Matrix/t1 || die "failed testing"
+ ./cs_demo2 < Matrix/t1 || die "failed testing"
+ ./cs_demo2 < Matrix/fs_183_1 || die "failed testing"
+ ./cs_demo2 < Matrix/west0067 || die "failed testing"
+ ./cs_demo2 < Matrix/lp_afiro || die "failed testing"
+ ./cs_demo2 < Matrix/ash219 || die "failed testing"
+ ./cs_demo2 < Matrix/mbeacxc || die "failed testing"
+ ./cs_demo2 < Matrix/bcsstk01 || die "failed testing"
+ ./cs_demo3 < Matrix/bcsstk01 || die "failed testing"
+ ./cs_demo2 < Matrix/bcsstk16 || die "failed testing"
+ ./cs_demo3 < Matrix/bcsstk16 || die "failed testing"
+ ./cs_di_demo1 < Matrix/t1 || die "failed testing"
+ ./cs_di_demo2 < Matrix/t1 || die "failed testing"
+ ./cs_di_demo2 < Matrix/fs_183_1 || die "failed testing"
+ ./cs_di_demo2 < Matrix/west0067 || die "failed testing"
+ ./cs_di_demo2 < Matrix/lp_afiro || die "failed testing"
+ ./cs_di_demo2 < Matrix/ash219 || die "failed testing"
+ ./cs_di_demo2 < Matrix/mbeacxc || die "failed testing"
+ ./cs_di_demo2 < Matrix/bcsstk01 || die "failed testing"
+ ./cs_di_demo3 < Matrix/bcsstk01 || die "failed testing"
+ ./cs_di_demo2 < Matrix/bcsstk16 || die "failed testing"
+ ./cs_di_demo3 < Matrix/bcsstk16 || die "failed testing"
+ ./cs_dl_demo1 < Matrix/t1 || die "failed testing"
+ ./cs_dl_demo2 < Matrix/t1 || die "failed testing"
+ ./cs_dl_demo2 < Matrix/fs_183_1 || die "failed testing"
+ ./cs_dl_demo2 < Matrix/west0067 || die "failed testing"
+ ./cs_dl_demo2 < Matrix/lp_afiro || die "failed testing"
+ ./cs_dl_demo2 < Matrix/ash219 || die "failed testing"
+ ./cs_dl_demo2 < Matrix/mbeacxc || die "failed testing"
+ ./cs_dl_demo2 < Matrix/bcsstk01 || die "failed testing"
+ ./cs_dl_demo3 < Matrix/bcsstk01 || die "failed testing"
+ ./cs_dl_demo2 < Matrix/bcsstk16 || die "failed testing"
+ ./cs_dl_demo3 < Matrix/bcsstk16 || die "failed testing"
+ ./cs_ci_demo1 < Matrix/t2 || die "failed testing"
+ ./cs_ci_demo2 < Matrix/t2 || die "failed testing"
+ ./cs_ci_demo2 < Matrix/t3 || die "failed testing"
+ ./cs_ci_demo2 < Matrix/t4 || die "failed testing"
+ ./cs_ci_demo2 < Matrix/c_west0067 || die "failed testing"
+ ./cs_ci_demo2 < Matrix/c_mbeacxc || die "failed testing"
+ ./cs_ci_demo2 < Matrix/young1c || die "failed testing"
+ ./cs_ci_demo2 < Matrix/qc324 || die "failed testing"
+ ./cs_ci_demo2 < Matrix/neumann || die "failed testing"
+ ./cs_ci_demo2 < Matrix/c4 || die "failed testing"
+ ./cs_ci_demo3 < Matrix/c4 || die "failed testing"
+ ./cs_ci_demo2 < Matrix/mhd1280b || die "failed testing"
+ ./cs_ci_demo3 < Matrix/mhd1280b || die "failed testing"
+ ./cs_cl_demo1 < Matrix/t2 || die "failed testing"
+ ./cs_cl_demo2 < Matrix/t2 || die "failed testing"
+ ./cs_cl_demo2 < Matrix/t3 || die "failed testing"
+ ./cs_cl_demo2 < Matrix/t4 || die "failed testing"
+ ./cs_cl_demo2 < Matrix/c_west0067 || die "failed testing"
+ ./cs_cl_demo2 < Matrix/c_mbeacxc || die "failed testing"
+ ./cs_cl_demo2 < Matrix/young1c || die "failed testing"
+ ./cs_cl_demo2 < Matrix/qc324 || die "failed testing"
+ ./cs_cl_demo2 < Matrix/neumann || die "failed testing"
+ ./cs_cl_demo2 < Matrix/c4 || die "failed testing"
+ ./cs_cl_demo3 < Matrix/c4 || die "failed testing"
+ ./cs_cl_demo2 < Matrix/mhd1280b || die "failed testing"
+ ./cs_cl_demo3 < Matrix/mhd1280b || die "failed testing"
+}
diff --git a/sci-libs/cxsparse/metadata.xml b/sci-libs/cxsparse/metadata.xml
index 9c8288966627..7a0611fccc34 100644
--- a/sci-libs/cxsparse/metadata.xml
+++ b/sci-libs/cxsparse/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,4 +10,7 @@
with support for double or complex matrices, with int or long
integers.
</longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/datasets/Manifest b/sci-libs/datasets/Manifest
new file mode 100644
index 000000000000..8499b8b1ec10
--- /dev/null
+++ b/sci-libs/datasets/Manifest
@@ -0,0 +1 @@
+DIST datasets-2.18.0.gh.tar.gz 2169179 BLAKE2B 8a0daa0e8995b3fa5480d8aa892a26d1b6ba90f252ef7c7ca62f4afc2efa61a8ed2efbf48a40381f07178b826bde62af0f0cb8cbf80d470d5d4dfb1ba25f6cb8 SHA512 b1fb0e6636417683fa79679286505b921a7ba00b1cabd6a23e60d5804eb098527c5283058799a0776a7f1e93972fdbb948882f153a10557bcc6b6b22ab861292
diff --git a/sci-libs/datasets/datasets-2.18.0-r1.ebuild b/sci-libs/datasets/datasets-2.18.0-r1.ebuild
new file mode 100644
index 000000000000..d16c3e2459de
--- /dev/null
+++ b/sci-libs/datasets/datasets-2.18.0-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="Access and share datasets for Audio, Computer Vision, and NLP tasks"
+HOMEPAGE="
+ https://pypi.org/project/datasets/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+IUSE="test"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sci-libs/pytorch[${PYTHON_SINGLE_USEDEP}]
+ sci-libs/caffe2[${PYTHON_SINGLE_USEDEP},numpy]
+ $(python_gen_cond_dep '
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/dill[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/multiprocess[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ sci-libs/huggingface_hub[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ dev-python/pytest-datadir[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ sci-libs/jiwer[${PYTHON_USEDEP}]
+ sci-libs/seqeval[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.17.1-tests.patch
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ rm tests/packaged_modules/test_spark.py || die
+ rm tests/test_upstream_hub.py || die
+ sed -i -e \
+ "/pyarrow_hotfix/d" \
+ src/datasets/features/features.py || die
+ sed -i \
+ -e "s:pytest.mark.integration:pytest.mark.skip():g" \
+ tests/test_arrow_dataset.py \
+ tests/test_fingerprint.py \
+ tests/test_hf_gcp.py \
+ tests/test_inspect.py \
+ tests/test_iterable_dataset.py \
+ tests/test_iterable_dataset.py \
+ tests/test_load.py \
+ tests/test_offline_util.py \
+ tests/test_streaming_download_manager.py \
+ tests/commands/test_test.py \
+ tests/packaged_modules/test_cache.py \
+ || die
+}
diff --git a/sci-libs/datasets/files/datasets-2.17.1-tests.patch b/sci-libs/datasets/files/datasets-2.17.1-tests.patch
new file mode 100644
index 000000000000..2281598dfb38
--- /dev/null
+++ b/sci-libs/datasets/files/datasets-2.17.1-tests.patch
@@ -0,0 +1,364 @@
+--- a/tests/test_arrow_dataset.py 2024-02-20 21:53:24.248470991 +0100
++++ b/tests/test_arrow_dataset.py 2024-02-20 21:53:29.441804737 +0100
+@@ -4016,7 +4016,6 @@
+ [
+ "relative/path",
+ "/absolute/path",
+- "s3://bucket/relative/path",
+ "hdfs://relative/path",
+ "hdfs:///absolute/path",
+ ],
+@@ -4136,6 +4136,7 @@
+ )
+ self.assertDictEqual(features_after_cast, dset.features)
+
++ @pytest.mark.skip(reason="require soundfile")
+ def test_task_automatic_speech_recognition(self):
+ # Include a dummy extra column `dummy` to test we drop it correctly
+ features_before_cast = Features(
+--- a/tests/test_load.py 2024-02-20 22:12:13.699209107 +0100
++++ b/tests/test_load.py 2024-02-20 22:13:10.862626708 +0100
+@@ -388,6 +388,7 @@
+ hf_modules_cache=self.hf_modules_cache,
+ )
+
++ @pytest.mark.skip(reason="")
+ def test_HubDatasetModuleFactoryWithScript_dont_trust_remote_code(self):
+ # "lhoestq/test" has a dataset script
+ factory = HubDatasetModuleFactoryWithScript(
+@@ -403,6 +404,7 @@
+ )
+ self.assertRaises(ValueError, factory.get_module)
+
++ @pytest.mark.skip()
+ def test_HubDatasetModuleFactoryWithScript_with_github_dataset(self):
+ # "wmt_t2t" has additional imports (internal)
+ factory = HubDatasetModuleFactoryWithScript(
+@@ -412,6 +414,7 @@
+ assert importlib.import_module(module_factory_result.module_path) is not None
+ assert module_factory_result.builder_kwargs["base_path"].startswith(config.HF_ENDPOINT)
+
++ @pytest.mark.skip()
+ def test_GithubMetricModuleFactory_with_internal_import(self):
+ # "squad_v2" requires additional imports (internal)
+ factory = GithubMetricModuleFactory(
+@@ -420,6 +423,7 @@
+ module_factory_result = factory.get_module()
+ assert importlib.import_module(module_factory_result.module_path) is not None
+
++ @pytest.mark.skip()
+ @pytest.mark.filterwarnings("ignore:GithubMetricModuleFactory is deprecated:FutureWarning")
+ def test_GithubMetricModuleFactory_with_external_import(self):
+ # "bleu" requires additional imports (external from github)
+@@ -1033,6 +1037,7 @@
+ datasets.load_dataset_builder(SAMPLE_DATASET_TWO_CONFIG_IN_METADATA, "non-existing-config")
+
+
++@pytest.mark.skip()
+ @pytest.mark.parametrize("serializer", [pickle, dill])
+ def test_load_dataset_builder_with_metadata_configs_pickable(serializer):
+ builder = datasets.load_dataset_builder(SAMPLE_DATASET_SINGLE_CONFIG_IN_METADATA)
+@@ -1154,6 +1159,7 @@
+ assert len(builder.config.data_files["test"]) > 0
+
+
++@pytest.mark.skip()
+ def test_load_dataset_builder_fail():
+ with pytest.raises(DatasetNotFoundError):
+ datasets.load_dataset_builder("blabla")
+@@ -1169,6 +1175,7 @@
+ assert isinstance(next(iter(dataset["train"])), dict)
+
+
++@pytest.mark.skip()
+ def test_load_dataset_cached_local_script(dataset_loading_script_dir, data_dir, caplog):
+ dataset = load_dataset(dataset_loading_script_dir, data_dir=data_dir)
+ assert isinstance(dataset, DatasetDict)
+--- a/tests/test_hf_gcp.py 2024-02-21 09:59:26.918397895 +0100
++++ b/tests/test_hf_gcp.py 2024-02-21 09:59:46.335100597 +0100
+@@ -45,6 +45,7 @@
+ ]
+
+
++@pytest.mark.skip("network")
+ @parameterized.named_parameters(list_datasets_on_hf_gcp_parameters(with_config=True))
+ class TestDatasetOnHfGcp(TestCase):
+ dataset = None
+--- a/tests/test_inspect.py 2024-02-21 10:03:32.315520016 +0100
++++ b/tests/test_inspect.py 2024-02-21 10:03:50.345553490 +0100
+@@ -49,6 +49,7 @@
+ assert list(info.splits.keys()) == expected_splits
+
+
++@pytest.mark.skip(reason="require network")
+ def test_get_dataset_config_info_private(hf_token, hf_private_dataset_repo_txt_data):
+ info = get_dataset_config_info(hf_private_dataset_repo_txt_data, config_name="default", token=hf_token)
+ assert list(info.splits.keys()) == ["train"]
+--- a/tests/test_data_files.py 2024-02-21 20:22:57.536160356 +0100
++++ b/tests/test_data_files.py 2024-02-21 20:25:00.153052174 +0100
+@@ -378,6 +378,7 @@
+ assert len(hub_dataset_repo_patterns_results[pattern]) == 0
+
+
++@pytest.mark.skip(reason="network")
+ def test_DataFilesList_from_patterns_locally_with_extra_files(complex_data_dir, text_file):
+ data_files_list = DataFilesList.from_patterns([_TEST_URL, text_file.as_posix()], complex_data_dir)
+ assert list(data_files_list) == [_TEST_URL, text_file.as_posix()]
+@@ -467,6 +468,7 @@
+ assert Hasher.hash(data_files1) != Hasher.hash(data_files2)
+
+
++@pytest.mark.skip(reason="network")
+ def test_DataFilesDict_from_patterns_locally_or_remote_hashing(text_file):
+ patterns = {"train": [_TEST_URL], "test": [str(text_file)]}
+ data_files1 = DataFilesDict.from_patterns(patterns)
+--- a/tests/packaged_modules/test_folder_based_builder.py 2024-02-21 21:30:20.718922523 +0100
++++ b/tests/packaged_modules/test_folder_based_builder.py 2024-02-21 21:31:46.309061287 +0100
+@@ -382,6 +382,7 @@
+ assert example[column] is not None
+
+
++@pytest.mark.skip(reason="network")
+ @pytest.mark.parametrize("remote", [True, False])
+ @pytest.mark.parametrize("drop_labels", [None, True, False])
+ def test_data_files_with_different_levels_no_metadata(
+@@ -405,6 +406,7 @@
+ assert all(example.keys() == {"base", "label"} for _, example in generator)
+
+
++@pytest.mark.skip(reason="network")
+ @pytest.mark.parametrize("remote", [False, True])
+ @pytest.mark.parametrize("drop_labels", [None, True, False])
+ def test_data_files_with_one_label_no_metadata(data_files_with_one_label_no_metadata, drop_labels, remote, cache_dir):
+--- a/tests/test_metric_common.py 2023-05-04 18:48:48.550861318 +0200
++++ b/tests/test_metric_common.py 2023-05-04 18:50:25.787364577 +0200
+@@ -93,6 +93,7 @@
+ INTENSIVE_CALLS_PATCHER = {}
+ metric_name = None
+
++ @pytest.mark.skip(reason="disabling, depends on bert_score, bleurt, math_equivalence, coval, nltk, faiss, mauve, rouge_score, sacrebleu, sacremoses ...")
+ @pytest.mark.filterwarnings("ignore:metric_module_factory is deprecated:FutureWarning")
+ @pytest.mark.filterwarnings("ignore:load_metric is deprecated:FutureWarning")
+ def test_load_metric(self, metric_name):
+--- a/tests/test_distributed.py 2023-05-04 19:43:09.861275030 +0200
++++ b/tests/test_distributed.py 2023-05-04 19:44:17.608326722 +0200
+@@ -74,6 +74,7 @@
+ split_dataset_by_node(full_ds.shuffle(), rank=0, world_size=world_size)
+
+
++@pytest.mark.skip(reason="require distributed torch")
+ @pytest.mark.parametrize("streaming", [False, True])
+ @require_torch
+ @pytest.mark.skipif(os.name == "nt", reason="execute_subprocess_async doesn't support windows")
+@@ -95,6 +96,7 @@
+ execute_subprocess_async(cmd, env=os.environ.copy())
+
+
++@pytest.mark.skip(reason="require distributed torch")
+ @pytest.mark.parametrize(
+ "nproc_per_node, num_workers",
+ [
+--- a/tests/utils.py 2023-05-06 08:43:16.251987543 +0200
++++ b/tests/utils.py 2023-05-06 08:44:24.467952870 +0200
+@@ -50,8 +50,8 @@
+ # Audio
+ require_sndfile = pytest.mark.skipif(
+ # On Windows and OS X, soundfile installs sndfile
+- find_spec("soundfile") is None or version.parse(importlib.metadata.version("soundfile")) < version.parse("0.12.0"),
+- reason="test requires sndfile>=0.12.1: 'pip install \"soundfile>=0.12.1\"'; ",
++ True,
++ reason="test requires librosa",
+ )
+
+ # Beam
+--- a/tests/features/test_audio.py 2023-05-06 09:03:58.680108142 +0200
++++ a/tests/features/test_audio.py 2023-05-06 09:05:50.463407967 +0200
+@@ -57,6 +57,7 @@
+ assert features.arrow_schema == pa.schema({"sequence_of_audios": pa.list_(Audio().pa_type)})
+
+
++@pytest.mark.skip(reason="require librosa")
+ @pytest.mark.parametrize(
+ "build_example",
+ [
+@@ -81,6 +82,7 @@
+ assert decoded_example.keys() == {"path", "array", "sampling_rate"}
+
+
++@pytest.mark.skip(reason="require librosa")
+ @pytest.mark.parametrize(
+ "build_example",
+ [
+@@ -148,6 +149,7 @@
+ assert decoded_example["sampling_rate"] == 48000
+
+
++@pytest.mark.skip(reason="require librosa")
+ @pytest.mark.parametrize("sampling_rate", [16_000, 48_000])
+ def test_audio_decode_example_pcm(shared_datadir, sampling_rate):
+ audio_path = str(shared_datadir / "test_audio_16000.pcm")
+@@ -414,6 +417,7 @@
+ assert column[0]["sampling_rate"] == 16000
+
+
++@pytest.mark.skip(reason="require librosa")
+ @pytest.mark.parametrize(
+ "build_data",
+ [
+@@ -438,6 +442,7 @@
+ assert item["audio"].keys() == {"path", "array", "sampling_rate"}
+
+
++@pytest.mark.skip(reason="require librosa")
+ def test_dataset_concatenate_audio_features(shared_datadir):
+ # we use a different data structure between 1 and 2 to make sure they are compatible with each other
+ audio_path = str(shared_datadir / "test_audio_44100.wav")
+@@ -451,6 +456,7 @@
+ assert concatenated_dataset[1]["audio"]["array"].shape == dset2[0]["audio"]["array"].shape
+
+
++@pytest.mark.skip(reason="require librosa")
+ def test_dataset_concatenate_nested_audio_features(shared_datadir):
+ # we use a different data structure between 1 and 2 to make sure they are compatible with each other
+ audio_path = str(shared_datadir / "test_audio_44100.wav")
+@@ -610,6 +616,7 @@
+ assert isinstance(ds, Dataset)
+
+
++@require_sndfile
+ def test_dataset_with_audio_feature_undecoded(shared_datadir):
+ audio_path = str(shared_datadir / "test_audio_44100.wav")
+ data = {"audio": [audio_path]}
+@@ -627,6 +634,7 @@
+ assert column[0] == {"path": audio_path, "bytes": None}
+
+
++@require_sndfile
+ def test_formatted_dataset_with_audio_feature_undecoded(shared_datadir):
+ audio_path = str(shared_datadir / "test_audio_44100.wav")
+ data = {"audio": [audio_path]}
+@@ -658,6 +666,7 @@
+ assert column[0] == {"path": audio_path, "bytes": None}
+
+
++@require_sndfile
+ def test_dataset_with_audio_feature_map_undecoded(shared_datadir):
+ audio_path = str(shared_datadir / "test_audio_44100.wav")
+ data = {"audio": [audio_path]}
+--- a/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:00:39.560876163 +0200
++++ b/tests/packaged_modules/test_audiofolder.py 2023-05-06 14:01:26.005212423 +0200
+@@ -1,10 +1,8 @@
+ import shutil
+ import textwrap
+
+-import librosa
+ import numpy as np
+ import pytest
+-import soundfile as sf
+
+ from datasets import Audio, ClassLabel, Features, Value
+ from datasets.data_files import DataFilesDict, get_data_patterns
+@@ -192,8 +190,11 @@
+ return data_files_with_two_splits_and_metadata
+
+
++@pytest.mark.skip(reason="require soundfile")
+ @pytest.fixture
+ def data_files_with_zip_archives(tmp_path, audio_file):
++ import soundfile as sf
++ import librosa
+ data_dir = tmp_path / "audiofolder_data_dir_with_zip_archives"
+ data_dir.mkdir(parents=True, exist_ok=True)
+ archive_dir = data_dir / "archive"
+--- a/tests/test_streaming_download_manager.py 2023-08-26 07:33:41.937389401 +0200
++++ b/tests/test_streaming_download_manager.py 2023-08-26 07:37:22.521218698 +0200
+@@ -218,6 +218,7 @@
+ assert output_path == _readd_double_slash_removed_by_path(Path(expected_path).as_posix())
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, exists",
+ [
+@@ -301,6 +302,7 @@
+ assert list(f) == TEST_URL_CONTENT.splitlines(keepends=True)
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, expected_paths",
+ [
+@@ -331,6 +333,7 @@
+ xlistdir(root_url, download_config=download_config)
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, isdir",
+ [
+@@ -358,6 +361,7 @@
+ assert xisdir(root_url, download_config=download_config) is False
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, isfile",
+ [
+@@ -382,6 +386,7 @@
+ assert xisfile(root_url + "qwertyuiop", download_config=download_config) is False
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, size",
+ [
+@@ -407,6 +412,7 @@
+ xgetsize(root_url + "qwertyuiop", download_config=download_config)
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, expected_paths",
+ [
+@@ -450,6 +456,7 @@
+ assert len(xglob("zip://qwertyuiop/*::" + root_url, download_config=download_config)) == 0
+
+
++@pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, expected_outputs",
+ [
+@@ -540,6 +547,7 @@
+ def test_xpath_as_posix(self, input_path, expected_path):
+ assert xPath(input_path).as_posix() == expected_path
+
++ @pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, exists",
+ [
+@@ -555,6 +563,7 @@
+ (tmp_path / "file.txt").touch()
+ assert xexists(input_path) is exists
+
++ @pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, pattern, expected_paths",
+ [
+@@ -593,6 +602,7 @@
+ output_paths = sorted(xPath(input_path).glob(pattern))
+ assert output_paths == expected_paths
+
++ @pytest.mark.skip(reason="not working in sandbox")
+ @pytest.mark.parametrize(
+ "input_path, pattern, expected_paths",
+ [
+--- a/tests/io/test_parquet.py 2024-02-22 19:19:53.890749240 +0100
++++ b/tests/io/test_parquet.py 2024-02-22 19:20:30.954099914 +0100
+@@ -69,6 +69,7 @@
+ _check_parquet_dataset(dataset, expected_features)
+
+
++@pytest.mark.skip()
+ def test_parquet_read_geoparquet(geoparquet_path, tmp_path):
+ cache_dir = tmp_path / "cache"
+ dataset = ParquetDatasetReader(path_or_paths=geoparquet_path, cache_dir=cache_dir).read()
diff --git a/sci-libs/datasets/metadata.xml b/sci-libs/datasets/metadata.xml
new file mode 100644
index 000000000000..94c112402049
--- /dev/null
+++ b/sci-libs/datasets/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/datasets</remote-id>
+ <remote-id type="pypi">datasets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/dcmtk/Manifest b/sci-libs/dcmtk/Manifest
index 9501743cada0..283fc868453b 100644
--- a/sci-libs/dcmtk/Manifest
+++ b/sci-libs/dcmtk/Manifest
@@ -1,3 +1,2 @@
-DIST dcmtk-3.6.3.tar.gz 6269785 BLAKE2B 8f0797840fa5ab4ffb60e46f65b16739d3ed0cb7591b20cbfba81a59de97344a663f73bed8fc7f349a99accc46fd2fde3cff021861bde6f07957a433a4db67a3 SHA512 5b907422d2d80e417ae8239e159d1300da4ed8db7e92cee619cc1d37116165e8824f8a9103605e07a95b1bffe94bbd2d5e05125f068281d241e8e78755d0b5e8
-DIST dcmtk-3.6.4.tar.gz 6402734 BLAKE2B 2d362789e7819089b7da46a9601fa5d53b8e8aab1ac7d30bf1180b3da0645d015a177c97188dc9255c6962a9d7246cf287b20824a78fbe9612b9bc277e68d294 SHA512 735f85d04410437a5163b154f43c8a299aff7a8f810605ce6c5027ae4569ff1323a69f70a2603805cec9d826a31166fd904bb53c3edc1137bfc41ba2902c2261
-DIST dcmtk-3.6.5.tar.gz 6483626 BLAKE2B 6182ef207b42b16ee91e94397cc8a5b2d108435a30d4c86f0b7e39af91186604f16be07a75e176bf50575446abcab21b2f63158dc4e5f2cb6de3996a0881b295 SHA512 c0cf61b0095c5708709406bfef5e8bb82dd01dbf77df7f2af2118004920bda68218eb1e4174bf92941cdae0acdb275c886570dafd29476eee2eb815e9a82830a
+DIST dcmtk-3.6.7.tar.gz 6877857 BLAKE2B 242ba19ed3876b27c8eeb6917f9264911c951e91ab27d2ebd3e95ab5dcf55a0e18986cede87c8ab7e6280eafeb19fda120ccb2114d24a16f222b411b44cc28d8 SHA512 b9c227f496de65424256636fa7ad266affc6593f72c6849271da94837b68c93a5b8e056ecd09d46550b6ac0530c406ab9f71751d317a5fd4171a222f9fc9ca45
+DIST dcmtk-3.6.8.tar.gz 9628364 BLAKE2B 367885c3fda65b7b2e42555ba648800f9585cbd4c4d94e01f737110fc726ce3396df50ccd6f2c9bacc59284fc1381683b72506a3c566f795c8157da39a95fb2a SHA512 1bb2aad1aa63e0a1b79d92d7c932a969deccde03fdb484dbd44198effb58d50de44a2b0cda150ce7df63e4e986af5bc1f694c8a7988b4c049c578d83ba81184a
diff --git a/sci-libs/dcmtk/dcmtk-3.6.3.ebuild b/sci-libs/dcmtk/dcmtk-3.6.3.ebuild
deleted file mode 100644
index 4990be778c72..000000000000
--- a/sci-libs/dcmtk/dcmtk-3.6.3.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="The DICOM Toolkit"
-HOMEPAGE="https://dicom.offis.de/dcmtk.php.en"
-SRC_URI="ftp://dicom.offis.de/pub/dicom/offis/software/${PN}/${PN}363/${P}.tar.gz"
-
-LICENSE="OFFIS"
-KEYWORDS="~amd64 ~arm ~x86"
-SLOT="0"
-IUSE="doc png ssl tcpd tiff +threads xml zlib"
-
-RDEPEND="
- dev-libs/icu:=
- virtual/jpeg:0
- png? ( media-libs/libpng:0= )
- ssl? ( dev-libs/openssl:0= )
- tcpd? ( sys-apps/tcp-wrappers )
- tiff? ( media-libs/tiff:0= )
- xml? ( dev-libs/libxml2:2= )
- zlib? ( sys-libs/zlib:0= )"
-DEPEND="${RDEPEND}
- media-gfx/graphviz
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-dcmqrdb-cfg.patch
- "${FILESDIR}"/${P}-nostrip.patch
- "${FILESDIR}"/${P}-fix-gcc9.patch
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- sed -e "s:share/doc/dcmtk:&-${PV}:" \
- -e "s:DIR \"/:DIR \"/usr/:" \
- -e "s:usr/etc:etc:" \
- -e "s:/lib\":/$(get_libdir)\":" \
- -e "s:COPYRIGHT::" \
- -i CMakeLists.txt || die
- sed -e 's:${CMAKE_INSTALL_PREFIX}/::' \
- -i dcmwlm/data/CMakeLists.txt doxygen/CMakeLists.txt || die
- # Temporary workaround: docs are not built with CMake
- sed -i -e '/include/d' doxygen/Makefile.in || die
-
- # fix -D deprecation warnings
- sed -i -e "s|_BSD_SOURCE|_DEFAULT_SOURCE|g" \
- "${S}"/config/configure.in \
- "${S}"/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DDCMTK_WITH_ICU=ON
- -DDCMTK_WITH_TIFF=$(usex tiff)
- -DDCMTK_WITH_PNG=$(usex png)
- -DDCMTK_WITH_XML=$(usex xml)
- -DDCMTK_WITH_ZLIB=$(usex zlib)
- -DDCMTK_WITH_OPENSSL=$(usex ssl)
- -DDCMTK_WITH_DOXYGEN=$(usex doc)
- -DDCMTK_WITH_THREADS=$(usex threads)
- )
-
- cmake-utils_src_configure
-
- if use doc; then
- cd "${S}"/doxygen || die
- econf
- fi
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- if use doc; then
- emake -C "${S}"/doxygen
- fi
-}
-
-src_install() {
- doman doxygen/manpages/man1/*
-
- if use doc; then
- local HTML_DOCS=( "${S}"/doxygen/htmldocs/. )
- fi
- cmake-utils_src_install
-}
diff --git a/sci-libs/dcmtk/dcmtk-3.6.4-r1.ebuild b/sci-libs/dcmtk/dcmtk-3.6.4-r1.ebuild
deleted file mode 100644
index f701d3e9f5b5..000000000000
--- a/sci-libs/dcmtk/dcmtk-3.6.4-r1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-DESCRIPTION="The DICOM Toolkit"
-HOMEPAGE="https://dicom.offis.de/dcmtk.php.en"
-SRC_URI="http://dicom.offis.de/download/dcmtk/release/${P}.tar.gz"
-
-LICENSE="OFFIS"
-KEYWORDS="~amd64 ~arm ~x86"
-SLOT="0"
-IUSE="doc png ssl tcpd tiff +threads xml zlib"
-
-RDEPEND="
- dev-libs/icu:=
- virtual/jpeg:0
- png? ( media-libs/libpng:* )
- ssl? ( dev-libs/openssl:0= )
- tcpd? ( sys-apps/tcp-wrappers )
- tiff? ( media-libs/tiff:0 )
- xml? ( dev-libs/libxml2:2 )
- zlib? ( sys-libs/zlib )"
-DEPEND="${RDEPEND}
- media-gfx/graphviz
- doc? ( app-doc/doxygen )"
-
-src_prepare() {
- cmake-utils_src_prepare
-
- sed -e "s:share/doc/dcmtk:&-${PV}:" \
- -e "s:DIR \"/:DIR \"/usr/:" \
- -e "s:usr/etc:etc:" \
- -e "s:/lib\":/$(get_libdir)\":" \
- -e "s:COPYRIGHT::" \
- -i CMakeLists.txt || die
- sed -e 's:${CMAKE_INSTALL_PREFIX}/::' \
- -i dcmwlm/data/CMakeLists.txt doxygen/CMakeLists.txt || die
- # Temporary workaround: docs are not built with CMake
- sed -i -e '/include/d' doxygen/Makefile.in || die
-
- # fix -D deprecation warnings
- sed -i -e "s|_BSD_SOURCE|_DEFAULT_SOURCE|g" \
- "${S}"/config/configure.in \
- "${S}"/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DCMAKE_INSTALL_SYSCONFDIR=/etc
- -DDCMTK_WITH_ICU=ON
- -DDCMTK_WITH_TIFF=$(usex tiff)
- -DDCMTK_WITH_PNG=$(usex png)
- -DDCMTK_WITH_XML=$(usex xml)
- -DDCMTK_WITH_ZLIB=$(usex zlib)
- -DDCMTK_WITH_OPENSSL=$(usex ssl)
- -DDCMTK_WITH_DOXYGEN=$(usex doc)
- -DDCMTK_WITH_THREADS=$(usex threads)
- )
-
- cmake-utils_src_configure
-
- if use doc; then
- cd "${S}"/doxygen || die
- econf
- fi
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- if use doc; then
- emake -C "${S}"/doxygen
- fi
-}
-
-src_install() {
- doman doxygen/manpages/man1/*
-
- if use doc; then
- local HTML_DOCS=( "${S}"/doxygen/htmldocs/. )
- fi
- cmake-utils_src_install
-}
diff --git a/sci-libs/dcmtk/dcmtk-3.6.5.ebuild b/sci-libs/dcmtk/dcmtk-3.6.5.ebuild
deleted file mode 100644
index 240ca02f96fb..000000000000
--- a/sci-libs/dcmtk/dcmtk-3.6.5.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="The DICOM Toolkit"
-HOMEPAGE="https://dicom.offis.de/dcmtk.php.en"
-SRC_URI="https://dicom.offis.de/download/dcmtk/release/${P}.tar.gz"
-
-LICENSE="OFFIS"
-KEYWORDS="~amd64 ~arm ~x86"
-SLOT="0"
-IUSE="doc png ssl tcpd tiff +threads xml zlib"
-
-RDEPEND="
- dev-libs/icu:=
- virtual/jpeg:0
- png? ( media-libs/libpng:* )
- ssl? ( dev-libs/openssl:0= )
- tcpd? ( sys-apps/tcp-wrappers )
- tiff? ( media-libs/tiff:0 )
- xml? ( dev-libs/libxml2:2 )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}
- media-gfx/graphviz
-"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e "s:share/doc/dcmtk:&-${PV}:" \
- -e "s:DIR \"/:DIR \"/usr/:" \
- -e "s:usr/etc:etc:" \
- -e "s:/lib\":/$(get_libdir)\":" \
- -e "s:COPYRIGHT::" \
- -i CMakeLists.txt || die
- sed -e 's:${CMAKE_INSTALL_PREFIX}/::' \
- -i dcmwlm/data/CMakeLists.txt doxygen/CMakeLists.txt || die
- # Temporary workaround: docs are not built with CMake
- sed -i -e '/include/d' doxygen/Makefile.in || die
-
- # fix -D deprecation warnings
- sed -i -e "s|_BSD_SOURCE|_DEFAULT_SOURCE|g" \
- "${S}"/config/configure.in \
- "${S}"/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_SYSCONFDIR="${EROOT}/etc"
- -DDCMTK_WITH_ICU=ON
- -DDCMTK_WITH_TIFF=$(usex tiff)
- -DDCMTK_WITH_PNG=$(usex png)
- -DDCMTK_WITH_XML=$(usex xml)
- -DDCMTK_WITH_ZLIB=$(usex zlib)
- -DDCMTK_WITH_OPENSSL=$(usex ssl)
- -DDCMTK_WITH_DOXYGEN=$(usex doc)
- -DDCMTK_WITH_THREADS=$(usex threads)
- )
-
- cmake_src_configure
-
- if use doc; then
- cd "${S}"/doxygen || die
- econf
- fi
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- emake -C "${S}"/doxygen
- fi
-}
-
-src_install() {
- doman doxygen/manpages/man1/*
-
- if use doc; then
- local HTML_DOCS=( "${S}"/doxygen/htmldocs/. )
- fi
- cmake_src_install
-}
diff --git a/sci-libs/dcmtk/dcmtk-3.6.7-r1.ebuild b/sci-libs/dcmtk/dcmtk-3.6.7-r1.ebuild
new file mode 100644
index 000000000000..9a82a24e3064
--- /dev/null
+++ b/sci-libs/dcmtk/dcmtk-3.6.7-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake
+
+DESCRIPTION="The DICOM Toolkit"
+HOMEPAGE="https://dicom.offis.de/dcmtk.php.en"
+SRC_URI="https://dicom.offis.de/download/dcmtk/release/${P}.tar.gz"
+
+LICENSE="OFFIS"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+SLOT="0"
+IUSE="doc png ssl tcpd tiff +threads xml zlib"
+
+RDEPEND="
+ dev-libs/icu:=
+ png? ( media-libs/libpng:* )
+ ssl? ( dev-libs/openssl:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ tiff? ( media-libs/tiff:= )
+ xml? ( dev-libs/libxml2:2 )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? (
+ app-text/doxygen
+ virtual/latex-base
+)"
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e "s:share/doc/dcmtk:&-${PV}:" \
+ -e "s:DIR \"/:DIR \"/usr/:" \
+ -e "s:usr/etc:etc:" \
+ -e "s:/lib\":/$(get_libdir)\":" \
+ -e "s:COPYRIGHT::" \
+ -i CMakeLists.txt || die
+ sed -e 's:${CMAKE_INSTALL_PREFIX}/::' \
+ -i dcmwlm/data/CMakeLists.txt doxygen/CMakeLists.txt || die
+ # Temporary workaround: docs are not built with CMake
+ sed -i -e '/include/d' doxygen/Makefile.in || die
+
+ # fix -D deprecation warnings
+ sed -i -e "s|_BSD_SOURCE|_DEFAULT_SOURCE|g" \
+ "${S}"/config/configure.in \
+ "${S}"/CMakeLists.txt || die
+}
+
+src_configure() {
+ # bug 908398
+ use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DDCMTK_WITH_ICU=ON
+ -DDCMTK_WITH_TIFF=$(usex tiff)
+ -DDCMTK_WITH_PNG=$(usex png)
+ -DDCMTK_WITH_XML=$(usex xml)
+ -DDCMTK_WITH_ZLIB=$(usex zlib)
+ -DDCMTK_WITH_OPENSSL=$(usex ssl)
+ -DDCMTK_WITH_DOXYGEN=$(usex doc)
+ -DDCMTK_WITH_THREADS=$(usex threads)
+ )
+
+ cmake_src_configure
+
+ if use doc; then
+ cd "${S}"/doxygen || die
+ econf
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ emake -C "${S}"/doxygen
+ fi
+}
+
+src_install() {
+ doman doxygen/manpages/man1/*
+
+ if use doc; then
+ local HTML_DOCS=( "${S}"/doxygen/htmldocs/. )
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/dcmtk/dcmtk-3.6.8.ebuild b/sci-libs/dcmtk/dcmtk-3.6.8.ebuild
new file mode 100644
index 000000000000..ed291a83e208
--- /dev/null
+++ b/sci-libs/dcmtk/dcmtk-3.6.8.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake
+
+DESCRIPTION="The DICOM Toolkit"
+HOMEPAGE="https://dicom.offis.de/dcmtk.php.en"
+SRC_URI="https://dicom.offis.de/download/dcmtk/release/${P}.tar.gz"
+
+LICENSE="OFFIS"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc png ssl tcpd tiff +threads xml zlib"
+
+RDEPEND="
+ dev-libs/icu:=
+ png? ( media-libs/libpng:* )
+ ssl? ( dev-libs/openssl:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ tiff? ( media-libs/tiff:= )
+ xml? ( dev-libs/libxml2:2 )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ virtual/latex-base
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.6.8-docdir.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e "s:COPYRIGHT::" CMakeLists.txt || die
+ # Temporary workaround: docs are not built with CMake
+ sed -i -e '/include/d' doxygen/Makefile.in || die
+
+ # Fix -D deprecation warnings
+ sed -i -e "s|_BSD_SOURCE|_DEFAULT_SOURCE|g" \
+ "${S}"/config/configure.in \
+ "${S}"/CMakeLists.txt || die
+}
+
+src_configure() {
+ # ODR violations (bug #862699). Reported upstream by email on 2024-03-11.
+ # master seems fixed, so >3.6.8 should be able to drop this.
+ filter-lto
+
+ # bug 908398
+ use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DDCMTK_WITH_ICU=ON
+ -DDCMTK_WITH_TIFF=$(usex tiff)
+ -DDCMTK_WITH_PNG=$(usex png)
+ -DDCMTK_WITH_XML=$(usex xml)
+ -DDCMTK_WITH_ZLIB=$(usex zlib)
+ -DDCMTK_WITH_OPENSSL=$(usex ssl)
+ -DDCMTK_WITH_DOXYGEN=$(usex doc)
+ -DDCMTK_WITH_THREADS=$(usex threads)
+ )
+
+ cmake_src_configure
+
+ if use doc; then
+ cd "${S}"/doxygen || die
+ econf
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ emake -C "${S}"/doxygen
+ fi
+}
+
+src_install() {
+ doman doxygen/manpages/man1/*
+
+ if use doc; then
+ local HTML_DOCS=( "${S}"/doxygen/htmldocs/. )
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/dcmtk/files/dcmtk-3.6.3-dcmqrdb-cfg.patch b/sci-libs/dcmtk/files/dcmtk-3.6.3-dcmqrdb-cfg.patch
deleted file mode 100644
index 4ccb58d4e34d..000000000000
--- a/sci-libs/dcmtk/files/dcmtk-3.6.3-dcmqrdb-cfg.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-Author: Jürgen Salk <jsa@debian.org>
-Description: The original maintainer Jürgen Salk applied
- a set of patches to the original code. This file contains
- changes to C++ code
-
-Index: dcmtk-3.6.0/dcmqrdb/etc/dcmqrscp.cfg
-===================================================================
---- a/dcmqrdb/etc/dcmqrscp.cfg 2010-09-09 19:20:25.000000000 +0200
-+++ b/dcmqrdb/etc/dcmqrscp.cfg 2011-01-28 09:49:02.000000000 +0100
-@@ -10,7 +10,9 @@
- NetworkTCPPort = 104
- MaxPDUSize = 16384
- MaxAssociations = 16
-+UserName = "dcmtk"
-+GroupName = "dcmtk"
-
- #
- # Default settings for specific character set behavior:
- # SpecificCharacterSet = fallback
-@@ -28,12 +30,13 @@
- # NOTE: in the current implementation you cannot substitute an IP address
- # for a hostname.
- #
--acme1 = (ACME1, acmehost1, 5678)
--acme2 = (ACME2, acmehost2, 5678)
--acmeCTcompany = acme1, acme2
--united1 = (UNITED1, unitedhost1, 104)
--united2 = (UNITED2, unitedhost2, 104)
--unitedMRcompany = united1, united2
-+# Example:
-+#acme1 = (ACME1, acmehost1, 5678)
-+#acme2 = (ACME2, acmehost2, 5678)
-+#acmeCTcompany = acme1, acme2
-+#united1 = (UNITED1, unitedhost1, 104)
-+#united2 = (UNITED2, unitedhost2, 104)
-+#unitedMRcompany = united1, united2
- #
- HostTable END
-
-@@ -51,8 +54,9 @@
- # VendorName = SymbolicName
- # The symbolic name should be defined in the HostTable.
- #
--"Acme CT Company" = acmeCTcompany
--"United MR Company" = unitedMRcompany
-+# Example:
-+#"Acme CT Company" = acmeCTcompany
-+#"United MR Company" = unitedMRcompany
- #
- VendorTable END
-
-@@ -70,8 +74,13 @@
- # Entry in HostTable |
- # ANY
- #
--COMMON /home/dicom/db/COMMON R (200, 1024mb) ANY
--ACME_STORE /home/dicom/db/ACME_STORE RW (9, 1024mb) acmeCTcompany
--UNITED_STORE /home/dicom/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany
-+# Example:
-+#
-+#ACME_STORE /var/lib/dcmtk/db/ACME_STORE RW (9, 1024mb) acmeCTcompany
-+#UNITED_STORE /var/lib/dcmtk/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany
-+#
-+# Uncomment and adjust the following lines for a common r/rw storage area:
-+#READWRITE /var/lib/dcmtk/db/READWRITE RW (10, 1024mb) ANY
-+#READ /var/lib/dcmtk/db/READ R (200, 1024mb) ANY
- #
- AETable END
-Index: dcmtk-3.6.0/dcmqrdb/docs/dcmqrcnf.txt
---- a/dcmqrdb/docs/dcmqrcnf.txt 2010-09-09 19:20:12.000000000 +0200
-+++ b/dcmqrdb/docs/dcmqrcnf.txt 2011-01-28 09:46:02.000000000 +0100
-@@ -44,8 +44,8 @@
- MaxPDUSize = 8192
- MaxAssociations = 20
- SpecificCharacterSet = fallback
--UserName = (do not change user)
--GroupName = (do not change group)
-+UserName = "dcmtk"
-+GroupName = "dcmtk"
-
- Available options for specific character sets are:
-
-Index: dcmtk-3.6.0/dcmwlm/wlistdb/OFFIS/lockfile
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dcmtk-3.6.0/dcmwlm/wlistdb/OFFIS/lockfile 2011-01-28 09:46:02.000000000 +0100
-@@ -0,0 +1 @@
-+
diff --git a/sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch b/sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch
deleted file mode 100644
index 596a1ae21b95..000000000000
--- a/sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/686592
-
-In file included from /var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/variadic/variant.h:19,
- from /var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/ofvriant.h:379,
- from /var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/tests/tvariant.cc:26:
-/var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/variadic/helpers.h:57:32: error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ [-Wnarrowing]
- 57 | : OFintegral_constant<size_t,-1> {};
- |
-
---- a/ofstd/include/dcmtk/ofstd/variadic/helpers.h
-+++ b/ofstd/include/dcmtk/ofstd/variadic/helpers.h
-@@ -14,6 +14,8 @@
- #ifndef VARIADIC_HELPERS_H
- #define VARIADIC_HELPERS_H
-
-+#include <limits>
-+
- #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
-
- #include "dcmtk/ofstd/oftraits.h"
-@@ -54,7 +56,7 @@
-
- template<size_t Index,typename T>
- struct OFvariadic_find_type_t<Index,T>
--: OFintegral_constant<size_t,-1> {};
-+: OFintegral_constant<size_t,std::numeric_limits<size_t>::max()> {};
-
- template<typename T,typename T0=OFvariadic_nil,typename T1=OFvariadic_nil,typename T2=OFvariadic_nil,typename T3=OFvariadic_nil,typename T4=OFvariadic_nil,typename T5=OFvariadic_nil,typename T6=OFvariadic_nil,typename T7=OFvariadic_nil,typename T8=OFvariadic_nil,typename T9=OFvariadic_nil,typename T10=OFvariadic_nil,typename T11=OFvariadic_nil,typename T12=OFvariadic_nil,typename T13=OFvariadic_nil,typename T14=OFvariadic_nil,typename T15=OFvariadic_nil,typename T16=OFvariadic_nil,typename T17=OFvariadic_nil,typename T18=OFvariadic_nil,typename T19=OFvariadic_nil,typename T20=OFvariadic_nil,typename T21=OFvariadic_nil,typename T22=OFvariadic_nil,typename T23=OFvariadic_nil,typename T24=OFvariadic_nil,typename T25=OFvariadic_nil,typename T26=OFvariadic_nil,typename T27=OFvariadic_nil,typename T28=OFvariadic_nil,typename T29=OFvariadic_nil,typename T30=OFvariadic_nil,typename T31=OFvariadic_nil,typename T32=OFvariadic_nil,typename T33=OFvariadic_nil,typename T34=OFvariadic_nil,typename T35=OFvariadic_nil,typename T36=OFvariadic_nil,typename T37=OFvariadic_nil,typename T38=OFvariadic_nil,typename T39=OFvariadic_nil,typename T40=OFvariadic_nil,typename T41=OFvariadic_nil,typename T42=OFvariadic_nil,typename T43=OFvariadic_nil,typename T44=OFvariadic_nil,typename T45=OFvariadic_nil,typename T46=OFvariadic_nil,typename T47=OFvariadic_nil,typename T48=OFvariadic_nil,typename T49=OFvariadic_nil>
- struct OFvariadic_find_type
diff --git a/sci-libs/dcmtk/files/dcmtk-3.6.3-nostrip.patch b/sci-libs/dcmtk/files/dcmtk-3.6.3-nostrip.patch
deleted file mode 100644
index 83bd3a62fd90..000000000000
--- a/sci-libs/dcmtk/files/dcmtk-3.6.3-nostrip.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-Remove all hardcoded calls to `strip` command
-
-Index: dcmtk-3.6.0/config/templates/Makefile.src
-===================================================================
---- a/config/templates/Makefile.src 2009-01-30 10:27:58.000000000 +0100
-+++ b/config/templates/Makefile.src 2011-01-28 09:53:28.000000000 +0100
-@@ -31,7 +31,7 @@
- install-bin: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmdata/apps/Makefile.in
-===================================================================
---- a/dcmdata/apps/Makefile.in 2009-11-04 10:58:05.000000000 +0100
-+++ b/dcmdata/apps/Makefile.in 2011-01-28 09:53:45.000000000 +0100
-@@ -76,7 +76,7 @@
- install-bin: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmimage/apps/Makefile.in
-===================================================================
---- a/dcmimage/apps/Makefile.in 2009-10-13 16:08:33.000000000 +0200
-+++ b/dcmimage/apps/Makefile.in 2011-01-28 09:53:59.000000000 +0100
-@@ -42,7 +42,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmimgle/apps/Makefile.in
-===================================================================
---- a/dcmimgle/apps/Makefile.in 2009-10-28 10:53:39.000000000 +0100
-+++ b/dcmimgle/apps/Makefile.in 2011-01-28 09:54:11.000000000 +0100
-@@ -39,7 +39,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmjpeg/apps/Makefile.in
-===================================================================
---- a/dcmjpeg/apps/Makefile.in 2009-10-07 14:44:33.000000000 +0200
-+++ b/dcmjpeg/apps/Makefile.in 2011-01-28 09:54:28.000000000 +0100
-@@ -72,7 +72,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
- clean:
-Index: dcmtk-3.6.0/dcmnet/apps/Makefile.in
-===================================================================
---- a/dcmnet/apps/Makefile.in 2009-11-04 11:24:29.000000000 +0100
-+++ b/dcmnet/apps/Makefile.in 2011-01-28 09:54:50.000000000 +0100
-@@ -52,7 +52,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmpstat/apps/Makefile.in
-===================================================================
---- a/dcmpstat/apps/Makefile.in 2009-10-13 16:57:49.000000000 +0200
-+++ b/dcmpstat/apps/Makefile.in 2011-01-28 09:55:10.000000000 +0100
-@@ -113,7 +113,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmqrdb/apps/Makefile.in
-===================================================================
---- a/dcmqrdb/apps/Makefile.in 2009-11-04 11:24:30.000000000 +0100
-+++ b/dcmqrdb/apps/Makefile.in 2011-01-28 09:55:24.000000000 +0100
-@@ -57,7 +57,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmsign/apps/Makefile.in
-===================================================================
---- a/dcmsign/apps/Makefile.in 2009-09-04 17:42:31.000000000 +0200
-+++ b/dcmsign/apps/Makefile.in 2011-01-28 09:55:35.000000000 +0100
-@@ -33,7 +33,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmsr/apps/Makefile.in
-===================================================================
---- a/dcmsr/apps/Makefile.in 2009-10-13 16:57:49.000000000 +0200
-+++ b/dcmsr/apps/Makefile.in 2011-01-28 09:55:48.000000000 +0100
-@@ -44,7 +44,7 @@
- install-bin: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmwlm/apps/Makefile.in
-===================================================================
---- a/dcmwlm/apps/Makefile.in 2009-11-04 11:24:30.000000000 +0100
-+++ b/dcmwlm/apps/Makefile.in 2011-01-28 09:55:58.000000000 +0100
-@@ -49,7 +49,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmwlm/wwwapps/Makefile.in
-===================================================================
---- a/dcmrt/apps/Makefile.in 2009-11-04 11:24:30.000000000 +0100
-+++ b/dcmrt/apps/Makefile.in 2011-01-28 09:56:33.000000000 +0100
-@@ -55,7 +55,7 @@
- install-bin: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
-Index: dcmtk-3.6.0/dcmjpls/apps/Makefile.in
-===================================================================
---- a/dcmjpls/apps/Makefile.in 2011-01-28 09:56:54.000000000 +0100
-+++ b/dcmjpls/apps/Makefile.in 2011-01-28 09:57:00.000000000 +0100
-@@ -71,7 +71,7 @@
- install: all
- $(configdir)/mkinstalldirs $(DESTDIR)$(bindir)
- for prog in $(progs); do \
-- $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir) && $(STRIP) $(DESTDIR)$(bindir)/$$prog$(BINEXT) ;\
-+ $(INSTALL_PROGRAM) $$prog$(BINEXT) $(DESTDIR)$(bindir);\
- done
-
-
diff --git a/sci-libs/dcmtk/files/dcmtk-3.6.8-docdir.patch b/sci-libs/dcmtk/files/dcmtk-3.6.8-docdir.patch
new file mode 100644
index 000000000000..291571d0ce37
--- /dev/null
+++ b/sci-libs/dcmtk/files/dcmtk-3.6.8-docdir.patch
@@ -0,0 +1,12 @@
+--- a/CMake/GenerateDCMTKConfigure.cmake
++++ b/CMake/GenerateDCMTKConfigure.cmake
+@@ -202,9 +202,6 @@ else()
+
+ # Modify the installation paths for configuration files, data files and documents
+ # by adding a subdirectory with the DCMTK name and version number
+- set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}")
+- set(CMAKE_INSTALL_FULL_DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/dcmtk-${DCMTK_COMPLETE_PACKAGE_VERSION}")
+- set(CMAKE_INSTALL_FULL_DOCDIR "${CMAKE_INSTALL_FULL_DOCDIR}-${DCMTK_COMPLETE_PACKAGE_VERSION}")
+
+ # These variables are defined as macros in osconfig.h and must end with a path separator
+ set(DCMTK_DEFAULT_CONFIGURATION_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/")
diff --git a/sci-libs/dcmtk/metadata.xml b/sci-libs/dcmtk/metadata.xml
index ed91732eca95..19b26d43007c 100644
--- a/sci-libs/dcmtk/metadata.xml
+++ b/sci-libs/dcmtk/metadata.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-biology@gentoo.org</email>
</maintainer>
- <longdescription>DICOM ToolKit core medical imaging library and tools</longdescription>
+ <upstream>
+ <remote-id type="github">DCMTK/dcmtk</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest
index c506bf565ca3..020200830dea 100644
--- a/sci-libs/dealii/Manifest
+++ b/sci-libs/dealii/Manifest
@@ -1,4 +1,8 @@
-DIST dealii-9.1.1-offline_documentation.tar.gz 211103151 BLAKE2B ef7cf48aa8019a2d42a38804744ff72cc7f744255fa27df852f8f93c86a02f2125458e0e525e57510bb98adc27aed933fefa27d556d8203c991dae9866c7d57a SHA512 5e2b71e9bdeb80875772356e2c873bc1f065f2a8c5c47923b74b471d464e4867c257e3a47b32341aa60af98e74e3ed2eceba8dedb4b157ab872681576ecbd5db
-DIST dealii-9.1.1.tar.gz 19911088 BLAKE2B e8488833f11339ccffd4791b9b46ab77f1982cbbdeb11fab7f6b74ca2e17c3d648a2940f4462d0ac9c68bd619b3c4f43b4d8052d2903cbb9cae2fece93d81987 SHA512 02dd91e2b0f395960f900f4cbe00bd307a4762ffbc5f3838dcc34828937e96727efbbcc66fc3d357d6b00b0dddcbc6cd7709c4c03f067d92a8f72d4631b88bf1
-DIST dealii-9.2.0-offline_documentation.tar.gz 277987911 BLAKE2B d14e15bc252f481707b04e9ca3fd05b5469035537a099466a8272fa1d56833c99d845871534df75bbb2efb29063e738700a5a2815b653cdd14b49b3a93add368 SHA512 9680731b4d837561c3682a65391b442cfb8d2a947b0e4e37cad1df83877b371997d084eac52e2bf34b190ea54996d41ddd89bee79fff24d710199417f3f345ab
-DIST dealii-9.2.0.tar.gz 24688964 BLAKE2B 60a8ede72a49cb2e658b3d6d53fb332a96f44a7fb9bb499ba54175138d49f38a9b75d9bea2eaddcaa3f50d97ce53961692b35f89578f535d32301680e6f1d68b SHA512 7c76435e45c9c302c4f95f588229f5a9b81f0450bd029729553c706a25dfd16f5c02c50fd2618d7e285d18927b63426110d2c6a074242b91cf789bd4bc77acc5
+DIST dealii-9.4.1-offline_documentation.tar.gz 392007419 BLAKE2B 81404b02ba7dc97a0314f52fa9d775183981864288f4ab4ca81b550a1763d90cb5b04b32c056008ad60a7829b929c78edd80cbeeeb861e4ef638780c13d80aa7 SHA512 9bbaf6e9a478ac643e87f2f07918c8a5216e17b0ddaeba4beb2acde9ea54833e2f0e7d11f61b2cac8b986e442dbb181317b53e1a40a807e7c098167bfd073266
+DIST dealii-9.4.1-offline_documentation.tar.gz.asc 246 BLAKE2B 9ace22c9b174e642cd3fba94c165d816c62814f892f5f6f272efa0301613dc55251152825e726fc6cf7e89bbfb7fa3552ec58ad426a7d58a74ecb89b9072f742 SHA512 50b43dd34a0687395f516f4910581df71054fa8be3c98006566ea649d0af866d38c9793da548ba6bdb7a9fec452dfb6d928d336aace943522d7c3f854209b81b
+DIST dealii-9.4.2.tar.gz 30298479 BLAKE2B bff5dd5a1b5458dd6e295b87cee9d24626ffce0b4c6a3329f190739d8fc67d34f11f0218dbbcd69dcf2e031e3e9f04cd1f2d0768d2fad32198bf1360d132a686 SHA512 6f6f032f6eef73421b53576e01f40bef0b4ce3d89583a016d057f8ec023c1f925a5c245991fd4639f9e73c4852d5cfd36da92258251a56179a98cd4a612cac9f
+DIST dealii-9.4.2.tar.gz.asc 246 BLAKE2B b61a8e3e496ba34c87fe453fbcec9fd0fb0d59f8d7123f38352c65c81b3d0ea706a4f645444970857a9fd67a26a984fc5adcfe8ed6c43eae5656bba6dd3bed9e SHA512 b11a79da7eeaababf7ec2c2264b41d0a5df9fd2f870829c535f888f0f8c07a6765920e023fd9d74f24a5a4744bd8d68a6db1669e449ed1a81757ee6c3c60b873
+DIST dealii-9.5.0-offline_documentation.tar.gz 412499027 BLAKE2B 521aa2488d84d48a624f4cbdbe9c173d0cdcee2df8d06b97b7c25ba28d4a2113a7da9fd9abd9eb64cd56b37f8edc716bd034fc3ba8823f8b1def26c34aaeeb55 SHA512 2e0d331f92d52b0fd909a0139157a1960a9222d46d537611f0508cdb79020a8e51ff0da6aefdf95adff732cea050b72df7dc1a8af7e93c736721970218815cfe
+DIST dealii-9.5.0-offline_documentation.tar.gz.asc 246 BLAKE2B 0a570885e80ad09ff154532b71c07e33894e93c96b3bca48dc8aae0b308883518cbb5eca57658c4e13de47efba47c3cb20bf376482ef7a26c6c0da93ee4dd689 SHA512 b63a9a0504fe5266b448ffda74e1d85ad5b6f344535c5b5f11d209546b51bb916ad69504ce5e4f1fd2287407c2d3d98a20b01bd830e8d45f510a85b7a057a8d5
+DIST dealii-9.5.2.tar.gz 31523493 BLAKE2B 4ad55b0c4c7b1c02de17007f44b345856ec18127d6326b08fda76747087039344324c911409502f293e61eecd6d574f8a774ec0a1bbb200a2a4ee62a2f81e6d8 SHA512 5989c2dfd66f803b0bcc32816f69048c0bbb411c8b792691df9bbfc0c965c1c95c7e8c3782e1a3d160e9d124fd0c5396b55372e28e477fa474c3f3c03a5bd4e9
+DIST dealii-9.5.2.tar.gz.asc 246 BLAKE2B bacd1dac5a6f3d0d6639329512f5c4cafe39ecd036a7a4e38b81d31b6ee452d496190e8ae26c814631cc62c42208a1df1cd081ac8accd97d2821d7091495b898 SHA512 1821b4763ddcda11baf37b88ae90ec73576d2cacdeb53f4196dcde9e1649e685eb1666b86317d4573944769642b09bc76fc1de34a5e8e436004552f8652cad23
diff --git a/sci-libs/dealii/dealii-9.1.1.ebuild b/sci-libs/dealii/dealii-9.1.1.ebuild
deleted file mode 100644
index e575e5ad533f..000000000000
--- a/sci-libs/dealii/dealii-9.1.1.ebuild
+++ /dev/null
@@ -1,155 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils eutils multilib
-
-# deal.II uses its own FindLAPACK.cmake file that calls into the system
-# FindLAPACK.cmake module and does additional internal setup. Do not remove
-# any of these modules:
-CMAKE_REMOVE_MODULES_LIST=""
-
-DESCRIPTION="Solving partial differential equations with the finite element method"
-HOMEPAGE="https://www.dealii.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/dealii/dealii.git"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
- doc? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz )"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="
- adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f
- cpu_flags_x86_sse2 cuda +debug doc +examples gmsh +gsl hdf5 +lapack
- metis mpi muparser nanoflann opencascade netcdf p4est petsc scalapack
- slepc +sparse static-libs sundials symengine +tbb trilinos
-"
-
-# TODO: add slepc use flag once slepc is packaged for gentoo-science
-REQUIRED_USE="
- p4est? ( mpi )
- slepc? ( petsc )
- trilinos? ( mpi )"
-
-RDEPEND="dev-libs/boost
- app-arch/bzip2
- sys-libs/zlib
- adolc? ( sci-libs/adolc )
- arpack? ( sci-libs/arpack[mpi=] )
- assimp? ( media-libs/assimp )
- cuda? ( dev-util/nvidia-cuda-sdk )
- gmsh? ( sci-libs/gmsh )
- gsl? ( sci-libs/gsl )
- hdf5? ( sci-libs/hdf5[mpi=] )
- lapack? ( virtual/lapack )
- metis? ( >=sci-libs/parmetis-4 )
- mpi? ( virtual/mpi )
- muparser? ( dev-cpp/muParser )
- nanoflann? ( sci-libs/nanoflann )
- netcdf? ( sci-libs/netcdf-cxx:0 )
- opencascade? ( sci-libs/opencascade:* )
- p4est? ( sci-libs/p4est[mpi] )
- petsc? ( sci-mathematics/petsc[mpi=] )
- scalapack? ( sci-libs/scalapack )
- slepc? ( sci-mathematics/slepc[mpi=] )
- sparse? ( sci-libs/umfpack )
- sundials? ( <sci-libs/sundials-4:= )
- symengine? ( >=sci-libs/symengine-0.4:= )
- tbb? ( dev-cpp/tbb )
- trilinos? ( sci-libs/trilinos )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] dev-lang/perl )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch
-)
-
-src_configure() {
- # deal.II needs a custom build type:
- local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release)
-
- local mycmakeargs=(
- -DDEAL_II_PACKAGE_VERSION=9999
- -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
- -DDEAL_II_ALLOW_AUTODETECTION=OFF
- -DDEAL_II_ALLOW_BUNDLED=OFF
- -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF
- -DDEAL_II_COMPILE_EXAMPLES=OFF
- -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html"
- -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}"
- -DDEAL_II_COMPILE_EXAMPLES=OFF
- -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples"
- -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)"
- -DDEAL_II_SHARE_RELDIR="share/${PN}"
- -DDEAL_II_WITH_ZLIB=ON
- -DDEAL_II_WITH_ADOLC="$(usex adolc)"
- -DDEAL_II_WITH_ASSIMP="$(usex assimp)"
- -DDEAL_II_WITH_ARPACK="$(usex arpack)"
- -DDEAL_II_WITH_CUDA="$(usex cuda)"
- -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)"
- -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)"
- -DDEAL_II_WITH_GMSH="$(usex gmsh)"
- -DDEAL_II_WITH_GSL="$(usex gsl)"
- -DDEAL_II_WITH_HDF5="$(usex hdf5)"
- -DDEAL_II_WITH_LAPACK="$(usex lapack)"
- -DDEAL_II_WITH_METIS="$(usex metis)"
- -DDEAL_II_WITH_MPI="$(usex mpi)"
- -DDEAL_II_WITH_MUPARSER="$(usex muparser)"
- -DDEAL_II_WITH_NANOFLANN="$(usex nanoflann)"
- -DDEAL_II_WITH_NETCDF="$(usex netcdf)"
- -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)"
- -DDEAL_II_WITH_P4EST="$(usex p4est)"
- -DDEAL_II_WITH_PETSC="$(usex petsc)"
- -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)"
- -DDEAL_II_WITH_SLEPC="$(usex slepc)"
- -DDEAL_II_WITH_SUNDIALS="$(usex sundials)"
- -DDEAL_II_WITH_SYMENGINE="$(usex symengine)"
- -DDEAL_II_WITH_UMFPACK="$(usex sparse)"
- -DBUILD_SHARED_LIBS="$(usex !static-libs)"
- -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)"
- -DDEAL_II_WITH_THREADS="$(usex tbb)"
- -DDEAL_II_WITH_TRILINOS="$(usex trilinos)"
- )
-
- # Do a little dance for purely cosmetic "QA" reasons.
- use opencascade && mycmakeargs+=( -DOPENCASCADE_DIR="${CASROOT}" )
-
- # Do a little dance for purely cosmetic "QA" reasons. The build system
- # does query for the highest instruction set first and skips the other
- # variables if a "higher" variant is set
- if use cpu_flags_x86_avx512f; then
- mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes )
- elif use cpu_flags_x86_avx; then
- mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes )
- elif use cpu_flags_x86_avx; then
- mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes )
- fi
-
- cmake-utils_src_configure
-}
-
-src_install() {
- if use doc && [[ ${PV} != *9999* ]]; then
- # copy missing images to the build directory:
- cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \
- "${BUILD_DIR}"/doc/doxygen/deal.II || die
- # replace links:
- sed -i \
- 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \
- "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed"
- fi
- cmake-utils_src_install
-
- # decompress the installed example sources:
- use examples && docompress -x /usr/share/doc/${PF}/examples
-}
diff --git a/sci-libs/dealii/dealii-9.2.0.ebuild b/sci-libs/dealii/dealii-9.2.0.ebuild
deleted file mode 100644
index c13b60b49523..000000000000
--- a/sci-libs/dealii/dealii-9.2.0.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils eutils multilib
-
-# deal.II uses its own FindLAPACK.cmake file that calls into the system
-# FindLAPACK.cmake module and does additional internal setup. Do not remove
-# any of these modules:
-CMAKE_REMOVE_MODULES_LIST=""
-
-DESCRIPTION="Solving partial differential equations with the finite element method"
-HOMEPAGE="https://www.dealii.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/dealii/dealii.git"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
- doc? (
- https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz
- )"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="
- adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f
- cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5
- +lapack metis mpi muparser nanoflann opencascade netcdf p4est petsc
- scalapack slepc +sparse static-libs sundials symengine +tbb trilinos
-"
-
-# TODO: add slepc use flag once slepc is packaged for gentoo-science
-REQUIRED_USE="
- p4est? ( mpi )
- slepc? ( petsc )
- trilinos? ( mpi )"
-
-RDEPEND="dev-libs/boost
- app-arch/bzip2
- sys-libs/zlib
- adolc? ( sci-libs/adolc )
- arpack? ( sci-libs/arpack[mpi=] )
- assimp? ( media-libs/assimp )
- cuda? ( dev-util/nvidia-cuda-sdk )
- ginkgo? ( sci-libs/ginkgo )
- gmsh? ( sci-libs/gmsh )
- gsl? ( sci-libs/gsl )
- hdf5? ( sci-libs/hdf5[mpi=] )
- lapack? ( virtual/lapack )
- metis? ( >=sci-libs/parmetis-4 )
- mpi? ( virtual/mpi )
- muparser? ( dev-cpp/muParser )
- nanoflann? ( sci-libs/nanoflann )
- netcdf? ( sci-libs/netcdf-cxx:0 )
- opencascade? ( sci-libs/opencascade:* )
- p4est? ( sci-libs/p4est[mpi] )
- petsc? ( sci-mathematics/petsc[mpi=] )
- scalapack? ( sci-libs/scalapack )
- slepc? ( sci-mathematics/slepc[mpi=] )
- sparse? ( sci-libs/umfpack )
- sundials? ( <sci-libs/sundials-4:= )
- symengine? ( >=sci-libs/symengine-0.4:= )
- tbb? ( dev-cpp/tbb )
- trilinos? ( sci-libs/trilinos )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] dev-lang/perl )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch
-)
-
-src_configure() {
- # deal.II needs a custom build type:
- local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release)
-
- local mycmakeargs=(
- -DDEAL_II_PACKAGE_VERSION=9999
- -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
- -DDEAL_II_ALLOW_AUTODETECTION=OFF
- -DDEAL_II_ALLOW_BUNDLED=OFF
- -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF
- -DDEAL_II_COMPILE_EXAMPLES=OFF
- -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html"
- -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}"
- -DDEAL_II_COMPILE_EXAMPLES=OFF
- -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples"
- -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)"
- -DDEAL_II_SHARE_RELDIR="share/${PN}"
- -DDEAL_II_WITH_ZLIB=ON
- -DDEAL_II_WITH_ADOLC="$(usex adolc)"
- -DDEAL_II_WITH_ASSIMP="$(usex assimp)"
- -DDEAL_II_WITH_ARPACK="$(usex arpack)"
- -DDEAL_II_WITH_CUDA="$(usex cuda)"
- -DDEAL_II_WITH_GINKGO="$(usex ginkgo)"
- -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)"
- -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)"
- -DDEAL_II_WITH_GMSH="$(usex gmsh)"
- -DDEAL_II_WITH_GSL="$(usex gsl)"
- -DDEAL_II_WITH_HDF5="$(usex hdf5)"
- -DDEAL_II_WITH_LAPACK="$(usex lapack)"
- -DDEAL_II_WITH_METIS="$(usex metis)"
- -DDEAL_II_WITH_MPI="$(usex mpi)"
- -DDEAL_II_WITH_MUPARSER="$(usex muparser)"
- -DDEAL_II_WITH_NANOFLANN="$(usex nanoflann)"
- -DDEAL_II_WITH_NETCDF="$(usex netcdf)"
- -DOPENCASCADE_DIR="${CASROOT}"
- -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)"
- -DDEAL_II_WITH_P4EST="$(usex p4est)"
- -DDEAL_II_WITH_PETSC="$(usex petsc)"
- -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)"
- -DDEAL_II_WITH_SLEPC="$(usex slepc)"
- -DDEAL_II_WITH_SUNDIALS="$(usex sundials)"
- -DDEAL_II_WITH_SYMENGINE="$(usex symengine)"
- -DDEAL_II_WITH_UMFPACK="$(usex sparse)"
- -DBUILD_SHARED_LIBS="$(usex !static-libs)"
- -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)"
- -DDEAL_II_WITH_THREADS="$(usex tbb)"
- -DDEAL_II_WITH_TRILINOS="$(usex trilinos)"
- )
-
- # Do a little dance for purely cosmetic "QA" reasons.
- use opencascade && mycmakeargs+=( -DOPENCASCADE_DIR="${CASROOT}" )
-
- # Do a little dance for purely cosmetic "QA" reasons. The build system
- # does query for the highest instruction set first and skips the other
- # variables if a "higher" variant is set
- if use cpu_flags_x86_avx512f; then
- mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes )
- elif use cpu_flags_x86_avx; then
- mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes )
- elif use cpu_flags_x86_avx; then
- mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes )
- fi
-
- cmake-utils_src_configure
-}
-
-src_install() {
- if use doc && [[ ${PV} != *9999* ]]; then
- # copy missing images to the build directory:
- cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \
- "${BUILD_DIR}"/doc/doxygen/deal.II || die
- # replace links:
- sed -i \
- 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \
- "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed"
- fi
- cmake-utils_src_install
-
- # decompress the installed example sources:
- use examples && docompress -x /usr/share/doc/${PF}/examples
-}
diff --git a/sci-libs/dealii/dealii-9.4.2-r1.ebuild b/sci-libs/dealii/dealii-9.4.2-r1.ebuild
new file mode 100644
index 000000000000..20803dea7102
--- /dev/null
+++ b/sci-libs/dealii/dealii-9.4.2-r1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# deal.II uses its own FindLAPACK.cmake file that calls into the system
+# FindLAPACK.cmake module and does additional internal setup. Do not remove
+# any of these modules:
+CMAKE_REMOVE_MODULES_LIST=""
+
+inherit cmake flag-o-matic verify-sig
+
+DESCRIPTION="Solving partial differential equations with the finite element method"
+HOMEPAGE="https://www.dealii.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dealii/dealii.git"
+ SRC_URI=""
+else
+ DOC_PV=9.4.1
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
+ verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz.asc )
+ doc? (
+ https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz
+ verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz.asc )
+ )"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+IUSE="
+ adolc arborx assimp arpack cgal cpu_flags_x86_avx cpu_flags_x86_avx512f
+ cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5
+ +lapack metis mpi muparser opencascade p4est petsc scalapack slepc
+ +sparse static-libs sundials symengine trilinos
+"
+
+# TODO: add slepc use flag once slepc is packaged for gentoo-science
+REQUIRED_USE="
+ arborx? ( trilinos )
+ p4est? ( mpi )
+ slepc? ( petsc )
+ trilinos? ( mpi )"
+
+RDEPEND="dev-libs/boost:=
+ app-arch/bzip2
+ sys-libs/zlib
+ dev-cpp/tbb:=
+ arborx? ( sci-libs/arborx[mpi=] )
+ adolc? ( sci-libs/adolc )
+ arpack? ( sci-libs/arpack[mpi=] )
+ assimp? ( media-libs/assimp:= )
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ ginkgo? ( sci-libs/ginkgo )
+ gmsh? ( sci-libs/gmsh )
+ gsl? ( sci-libs/gsl:= )
+ hdf5? ( sci-libs/hdf5:=[mpi=] )
+ lapack? ( virtual/lapack )
+ metis? (
+ >=sci-libs/metis-5
+ mpi? ( >=sci-libs/parmetis-4 )
+ )
+ mpi? ( virtual/mpi[cxx] )
+ muparser? ( dev-cpp/muParser )
+ opencascade? ( sci-libs/opencascade:= )
+ p4est? ( sci-libs/p4est[mpi] )
+ petsc? ( sci-mathematics/petsc[mpi=] )
+ scalapack? ( sci-libs/scalapack )
+ slepc? ( sci-mathematics/slepc[mpi=] )
+ sparse? ( sci-libs/umfpack )
+ sundials? ( sci-libs/sundials:= )
+ symengine? ( >=sci-libs/symengine-0.4:= )
+ trilinos? ( sci-libs/trilinos )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] dev-lang/perl )"
+
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-dealii )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch
+ "${FILESDIR}"/${PN}-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch
+ "${FILESDIR}"/${PN}-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch
+)
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc"
+
+src_configure() {
+ # deal.II needs a custom build type:
+ local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release)
+
+ local mycmakeargs=(
+ -DDEAL_II_PACKAGE_VERSION="${PV}"
+ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
+ -DDEAL_II_ALLOW_AUTODETECTION=OFF
+ -DDEAL_II_ALLOW_BUNDLED=OFF
+ -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF
+ -DDEAL_II_COMPILE_EXAMPLES=OFF
+ -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html"
+ -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}"
+ -DDEAL_II_COMPILE_EXAMPLES=OFF
+ -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples"
+ -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)"
+ -DDEAL_II_SHARE_RELDIR="share/${PN}"
+ -DDEAL_II_WITH_ZLIB=ON
+ -DDEAL_II_WITH_ADOLC="$(usex adolc)"
+ -DDEAL_II_WITH_ARBORX="$(usex arborx)"
+ -DDEAL_II_WITH_ASSIMP="$(usex assimp)"
+ -DDEAL_II_WITH_ARPACK="$(usex arpack)"
+ -DDEAL_II_WITH_CGAL="$(usex cgal)"
+ -DDEAL_II_WITH_CUDA="$(usex cuda)"
+ -DDEAL_II_WITH_GINKGO="$(usex ginkgo)"
+ -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)"
+ -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)"
+ -DDEAL_II_WITH_GMSH="$(usex gmsh)"
+ -DDEAL_II_WITH_GSL="$(usex gsl)"
+ -DDEAL_II_WITH_HDF5="$(usex hdf5)"
+ -DDEAL_II_WITH_KOKKOS="$(usex trilinos)"
+ -DDEAL_II_WITH_LAPACK="$(usex lapack)"
+ -DDEAL_II_WITH_METIS="$(usex metis)"
+ -DDEAL_II_WITH_MPI="$(usex mpi)"
+ -DDEAL_II_WITH_MUPARSER="$(usex muparser)"
+ -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)"
+ -DDEAL_II_WITH_P4EST="$(usex p4est)"
+ -DDEAL_II_WITH_PETSC="$(usex petsc)"
+ -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)"
+ -DDEAL_II_WITH_SLEPC="$(usex slepc)"
+ -DDEAL_II_WITH_SUNDIALS="$(usex sundials)"
+ -DDEAL_II_WITH_SYMENGINE="$(usex symengine)"
+ -DDEAL_II_WITH_UMFPACK="$(usex sparse)"
+ -DBUILD_SHARED_LIBS="$(usex !static-libs)"
+ -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)"
+ -DDEAL_II_WITH_TBB=ON
+ -DDEAL_II_WITH_TASKFLOW=OFF
+ -DDEAL_II_WITH_TRILINOS="$(usex trilinos)"
+ )
+
+ use opencascade && mycmakeargs+=(
+ -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade"
+ )
+
+ # Do a little dance for purely cosmetic QA reasons. The build system
+ # does query for the highest instruction set first and skips the other
+ # variables if a "higher" variant is set
+ if use cpu_flags_x86_avx512f; then
+ mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes )
+ append-cxxflags "-mavx512f"
+ elif use cpu_flags_x86_avx; then
+ mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes )
+ append-cxxflags "-mavx2"
+ elif use cpu_flags_x86_avx; then
+ mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes )
+ append-cxxflags "-msse2"
+ fi
+
+ # Unconditionally enable strict C++17 standard. This is necessary for
+ # USE=cgal and USE=kokkos and safe to set for all presently supported
+ # compilers
+ append-cxxflags "-std=c++17"
+
+ cmake_src_configure
+}
+
+src_install() {
+ if use doc && [[ ${PV} != *9999* ]]; then
+ # copy missing images to the build directory:
+ cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \
+ "${BUILD_DIR}"/doc/doxygen/deal.II || die
+ # replace links:
+ sed -i \
+ 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \
+ "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed"
+ fi
+ cmake_src_install
+
+ # decompress the installed example sources:
+ use examples && docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/sci-libs/dealii/dealii-9.5.2-r1.ebuild b/sci-libs/dealii/dealii-9.5.2-r1.ebuild
new file mode 100644
index 000000000000..8d1ff65c6e8c
--- /dev/null
+++ b/sci-libs/dealii/dealii-9.5.2-r1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# deal.II uses its own FindLAPACK.cmake file that calls into the system
+# FindLAPACK.cmake module and does additional internal setup. Do not remove
+# any of these modules:
+CMAKE_REMOVE_MODULES_LIST=""
+
+inherit cmake flag-o-matic verify-sig
+
+DESCRIPTION="Solving partial differential equations with the finite element method"
+HOMEPAGE="https://www.dealii.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/dealii/dealii.git"
+ SRC_URI=""
+else
+ DOC_PV=9.5.0
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
+ verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz.asc )
+ doc? (
+ https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz
+ verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz.asc )
+ )"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+IUSE="
+ adolc arborx assimp arpack cgal cpu_flags_x86_avx cpu_flags_x86_avx512f
+ cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5
+ +lapack metis mpi muparser opencascade p4est petsc scalapack slepc
+ +sparse sundials symengine trilinos
+"
+
+# TODO: add slepc use flag once slepc is packaged for gentoo-science
+REQUIRED_USE="
+ arborx? ( trilinos )
+ p4est? ( mpi )
+ slepc? ( petsc )
+ trilinos? ( mpi )"
+
+RDEPEND="dev-libs/boost:=
+ app-arch/bzip2
+ sys-libs/zlib
+ dev-cpp/tbb:=
+ arborx? ( sci-libs/arborx[mpi=] )
+ adolc? ( sci-libs/adolc )
+ arpack? ( sci-libs/arpack[mpi=] )
+ assimp? ( media-libs/assimp:= )
+ cgal? ( sci-mathematics/cgal )
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ ginkgo? ( sci-libs/ginkgo )
+ gmsh? ( sci-libs/gmsh )
+ gsl? ( sci-libs/gsl:= )
+ hdf5? ( sci-libs/hdf5:=[mpi=] )
+ lapack? ( virtual/lapack )
+ metis? (
+ >=sci-libs/metis-5
+ mpi? ( >=sci-libs/parmetis-4 )
+ )
+ mpi? ( virtual/mpi[cxx] )
+ muparser? ( dev-cpp/muParser )
+ opencascade? ( sci-libs/opencascade:= )
+ p4est? ( sci-libs/p4est[mpi] )
+ petsc? ( sci-mathematics/petsc[mpi=] )
+ scalapack? ( sci-libs/scalapack )
+ slepc? ( sci-mathematics/slepc[mpi=] )
+ sparse? ( sci-libs/umfpack )
+ sundials? ( sci-libs/sundials:= )
+ symengine? ( >=sci-libs/symengine-0.4:= )
+ trilinos? ( sci-libs/trilinos )
+ || (
+ dev-cpp/kokkos
+ sci-libs/trilinos
+ )
+ "
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] dev-lang/perl )"
+
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-dealii )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch
+ "${FILESDIR}"/${PN}-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch
+)
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc"
+
+src_configure() {
+ # deal.II needs a custom build type:
+ local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release)
+
+ local mycmakeargs=(
+ -DDEAL_II_PACKAGE_VERSION="${PV}"
+ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
+ -DDEAL_II_ALLOW_AUTODETECTION=OFF
+ -DDEAL_II_ALLOW_BUNDLED=OFF
+ -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF
+ -DDEAL_II_COMPILE_EXAMPLES=OFF
+ -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html"
+ -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}"
+ -DDEAL_II_COMPILE_EXAMPLES=OFF
+ -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples"
+ -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)"
+ -DDEAL_II_SHARE_RELDIR="share/${PN}"
+ -DDEAL_II_WITH_ZLIB=ON
+ -DDEAL_II_WITH_ADOLC="$(usex adolc)"
+ -DDEAL_II_WITH_ARBORX="$(usex arborx)"
+ -DDEAL_II_WITH_ASSIMP="$(usex assimp)"
+ -DDEAL_II_WITH_ARPACK="$(usex arpack)"
+ -DDEAL_II_WITH_CGAL="$(usex cgal)"
+ -DDEAL_II_WITH_CUDA="$(usex cuda)"
+ -DDEAL_II_WITH_GINKGO="$(usex ginkgo)"
+ -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)"
+ -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)"
+ -DDEAL_II_WITH_GMSH="$(usex gmsh)"
+ -DDEAL_II_WITH_GSL="$(usex gsl)"
+ -DDEAL_II_WITH_HDF5="$(usex hdf5)"
+ -DDEAL_II_WITH_LAPACK="$(usex lapack)"
+ -DDEAL_II_WITH_METIS="$(usex metis)"
+ -DDEAL_II_WITH_MPI="$(usex mpi)"
+ -DDEAL_II_WITH_MUPARSER="$(usex muparser)"
+ -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)"
+ -DDEAL_II_WITH_P4EST="$(usex p4est)"
+ -DDEAL_II_WITH_PETSC="$(usex petsc)"
+ -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)"
+ -DDEAL_II_WITH_SLEPC="$(usex slepc)"
+ -DDEAL_II_WITH_SUNDIALS="$(usex sundials)"
+ -DDEAL_II_WITH_SYMENGINE="$(usex symengine)"
+ -DDEAL_II_WITH_UMFPACK="$(usex sparse)"
+ -DDEAL_II_WITH_TBB=ON
+ -DDEAL_II_WITH_TRILINOS="$(usex trilinos)"
+ )
+
+ use opencascade && mycmakeargs+=(
+ -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade"
+ )
+
+ # Do a little dance for purely cosmetic QA reasons. The build system
+ # does query for the highest instruction set first and skips the other
+ # variables if a "higher" variant is set
+ if use cpu_flags_x86_avx512f; then
+ mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes )
+ append-cxxflags "-mavx512f"
+ elif use cpu_flags_x86_avx; then
+ mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes )
+ append-cxxflags "-mavx2"
+ elif use cpu_flags_x86_avx; then
+ mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes )
+ append-cxxflags "-msse2"
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ if use doc && [[ ${PV} != *9999* ]]; then
+ # copy missing images to the build directory:
+ cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \
+ "${BUILD_DIR}"/doc/doxygen/deal.II || die
+ # replace links:
+ sed -i \
+ 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \
+ "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed"
+ fi
+ cmake_src_install
+
+ # decompress the installed example sources:
+ use examples && docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/sci-libs/dealii/dealii-9999.ebuild b/sci-libs/dealii/dealii-9999.ebuild
index c13b60b49523..26b651fea08e 100644
--- a/sci-libs/dealii/dealii-9999.ebuild
+++ b/sci-libs/dealii/dealii-9999.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-inherit cmake-utils eutils multilib
+EAPI=8
# deal.II uses its own FindLAPACK.cmake file that calls into the system
# FindLAPACK.cmake module and does additional internal setup. Do not remove
# any of these modules:
CMAKE_REMOVE_MODULES_LIST=""
+inherit cmake flag-o-matic
+
DESCRIPTION="Solving partial differential equations with the finite element method"
HOMEPAGE="https://www.dealii.org/"
@@ -17,7 +17,6 @@ if [[ ${PV} = *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/dealii/dealii.git"
SRC_URI=""
- KEYWORDS=""
else
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
doc? (
@@ -29,52 +28,60 @@ fi
LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="
- adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f
+ adolc arborx assimp arpack cgal cpu_flags_x86_avx cpu_flags_x86_avx512f
cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5
- +lapack metis mpi muparser nanoflann opencascade netcdf p4est petsc
- scalapack slepc +sparse static-libs sundials symengine +tbb trilinos
+ +lapack metis mpi muparser opencascade p4est petsc scalapack slepc
+ +sparse sundials symengine trilinos
"
# TODO: add slepc use flag once slepc is packaged for gentoo-science
REQUIRED_USE="
+ arborx? ( trilinos )
p4est? ( mpi )
slepc? ( petsc )
trilinos? ( mpi )"
-RDEPEND="dev-libs/boost
+RDEPEND="dev-libs/boost:=
app-arch/bzip2
sys-libs/zlib
+ dev-cpp/tbb:=
+ arborx? ( sci-libs/arborx[mpi=] )
adolc? ( sci-libs/adolc )
arpack? ( sci-libs/arpack[mpi=] )
- assimp? ( media-libs/assimp )
- cuda? ( dev-util/nvidia-cuda-sdk )
+ assimp? ( media-libs/assimp:= )
+ cgal? ( sci-mathematics/cgal )
+ cuda? ( dev-util/nvidia-cuda-toolkit )
ginkgo? ( sci-libs/ginkgo )
gmsh? ( sci-libs/gmsh )
- gsl? ( sci-libs/gsl )
- hdf5? ( sci-libs/hdf5[mpi=] )
+ gsl? ( sci-libs/gsl:= )
+ hdf5? ( sci-libs/hdf5:=[mpi=] )
lapack? ( virtual/lapack )
- metis? ( >=sci-libs/parmetis-4 )
- mpi? ( virtual/mpi )
+ metis? (
+ >=sci-libs/metis-5
+ mpi? ( >=sci-libs/parmetis-4 )
+ )
+ mpi? ( virtual/mpi[cxx] )
muparser? ( dev-cpp/muParser )
- nanoflann? ( sci-libs/nanoflann )
- netcdf? ( sci-libs/netcdf-cxx:0 )
- opencascade? ( sci-libs/opencascade:* )
+ opencascade? ( sci-libs/opencascade:= )
p4est? ( sci-libs/p4est[mpi] )
petsc? ( sci-mathematics/petsc[mpi=] )
scalapack? ( sci-libs/scalapack )
slepc? ( sci-mathematics/slepc[mpi=] )
sparse? ( sci-libs/umfpack )
- sundials? ( <sci-libs/sundials-4:= )
+ sundials? ( sci-libs/sundials:= )
symengine? ( >=sci-libs/symengine-0.4:= )
- tbb? ( dev-cpp/tbb )
- trilinos? ( sci-libs/trilinos )"
+ trilinos? ( sci-libs/trilinos )
+ || (
+ dev-cpp/kokkos
+ sci-libs/trilinos
+ )
+ "
DEPEND="${RDEPEND}
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] dev-lang/perl )"
+ doc? ( app-text/doxygen[dot] dev-lang/perl )"
PATCHES=(
- "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch
)
src_configure() {
@@ -82,7 +89,7 @@ src_configure() {
local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release)
local mycmakeargs=(
- -DDEAL_II_PACKAGE_VERSION=9999
+ -DDEAL_II_PACKAGE_VERSION="${PV}"
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
-DDEAL_II_ALLOW_AUTODETECTION=OFF
-DDEAL_II_ALLOW_BUNDLED=OFF
@@ -96,8 +103,10 @@ src_configure() {
-DDEAL_II_SHARE_RELDIR="share/${PN}"
-DDEAL_II_WITH_ZLIB=ON
-DDEAL_II_WITH_ADOLC="$(usex adolc)"
+ -DDEAL_II_WITH_ARBORX="$(usex arborx)"
-DDEAL_II_WITH_ASSIMP="$(usex assimp)"
-DDEAL_II_WITH_ARPACK="$(usex arpack)"
+ -DDEAL_II_WITH_CGAL="$(usex cgal)"
-DDEAL_II_WITH_CUDA="$(usex cuda)"
-DDEAL_II_WITH_GINKGO="$(usex ginkgo)"
-DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)"
@@ -109,9 +118,6 @@ src_configure() {
-DDEAL_II_WITH_METIS="$(usex metis)"
-DDEAL_II_WITH_MPI="$(usex mpi)"
-DDEAL_II_WITH_MUPARSER="$(usex muparser)"
- -DDEAL_II_WITH_NANOFLANN="$(usex nanoflann)"
- -DDEAL_II_WITH_NETCDF="$(usex netcdf)"
- -DOPENCASCADE_DIR="${CASROOT}"
-DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)"
-DDEAL_II_WITH_P4EST="$(usex p4est)"
-DDEAL_II_WITH_PETSC="$(usex petsc)"
@@ -120,27 +126,30 @@ src_configure() {
-DDEAL_II_WITH_SUNDIALS="$(usex sundials)"
-DDEAL_II_WITH_SYMENGINE="$(usex symengine)"
-DDEAL_II_WITH_UMFPACK="$(usex sparse)"
- -DBUILD_SHARED_LIBS="$(usex !static-libs)"
- -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)"
- -DDEAL_II_WITH_THREADS="$(usex tbb)"
+ -DDEAL_II_WITH_TBB=ON
+ -DDEAL_II_WITH_TASKFLOW=OFF
-DDEAL_II_WITH_TRILINOS="$(usex trilinos)"
)
- # Do a little dance for purely cosmetic "QA" reasons.
- use opencascade && mycmakeargs+=( -DOPENCASCADE_DIR="${CASROOT}" )
+ use opencascade && mycmakeargs+=(
+ -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade"
+ )
- # Do a little dance for purely cosmetic "QA" reasons. The build system
+ # Do a little dance for purely cosmetic QA reasons. The build system
# does query for the highest instruction set first and skips the other
# variables if a "higher" variant is set
if use cpu_flags_x86_avx512f; then
mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes )
+ append-cxxflags "-mavx512f"
elif use cpu_flags_x86_avx; then
mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes )
+ append-cxxflags "-mavx2"
elif use cpu_flags_x86_avx; then
mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes )
+ append-cxxflags "-msse2"
fi
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
@@ -153,7 +162,7 @@ src_install() {
's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \
"${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed"
fi
- cmake-utils_src_install
+ cmake_src_install
# decompress the installed example sources:
use examples && docompress -x /usr/share/doc/${PF}/examples
diff --git a/sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch
new file mode 100644
index 000000000000..85a78c4c1326
--- /dev/null
+++ b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch
@@ -0,0 +1,59 @@
+From aafc2c19dfd3ebc43e37ba3f13eda5f790376b1c Mon Sep 17 00:00:00 2001
+From: Matthias Maier <tamiko@43-1.org>
+Date: Thu, 15 Feb 2024 15:54:36 -0600
+Subject: [PATCH 1/2] base/mpi.cc: remove superfluous explicit instantiations
+ of template variable
+
+The `mpi.h` header already contains:
+```
+template <typename T>
+const MPI_Datatype mpi_type_id_for_type = /* implementation detail */;
+```
+Meaning, the variable is known fully after including the header.
+Furthermore, the `const` qualifier marks the (template) variable as
+`static`. I.e., it has internal linkage.
+
+Thus, we must not explicitly instantiate the variables (suggesting
+"extern" linkage in all but the `mpi.cc` compilation unit). This
+apparently not an issue with OpenMPI because `MPI_Datatype` is a
+complex data structure. But it is an issue with mpich where
+`MPI_Datatype` is a simple `int` - leading to a segmentation fault when
+during program startup.
+---
+ source/base/mpi.cc | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+diff --git a/source/base/mpi.cc b/source/base/mpi.cc
+index dab88e2b97..f845845764 100644
+--- a/source/base/mpi.cc
++++ b/source/base/mpi.cc
+@@ -100,26 +100,6 @@ namespace Utilities
+
+ namespace MPI
+ {
+-#ifdef DEAL_II_WITH_MPI
+- // Provide definitions of template variables for all valid instantiations.
+- template const MPI_Datatype mpi_type_id_for_type<bool>;
+- template const MPI_Datatype mpi_type_id_for_type<char>;
+- template const MPI_Datatype mpi_type_id_for_type<signed char>;
+- template const MPI_Datatype mpi_type_id_for_type<short>;
+- template const MPI_Datatype mpi_type_id_for_type<int>;
+- template const MPI_Datatype mpi_type_id_for_type<long int>;
+- template const MPI_Datatype mpi_type_id_for_type<unsigned char>;
+- template const MPI_Datatype mpi_type_id_for_type<unsigned short>;
+- template const MPI_Datatype mpi_type_id_for_type<unsigned long int>;
+- template const MPI_Datatype mpi_type_id_for_type<unsigned long long int>;
+- template const MPI_Datatype mpi_type_id_for_type<float>;
+- template const MPI_Datatype mpi_type_id_for_type<double>;
+- template const MPI_Datatype mpi_type_id_for_type<long double>;
+- template const MPI_Datatype mpi_type_id_for_type<std::complex<float>>;
+- template const MPI_Datatype mpi_type_id_for_type<std::complex<double>>;
+-#endif
+-
+-
+ MinMaxAvg
+ min_max_avg(const double my_value, const MPI_Comm mpi_communicator)
+ {
+--
+2.43.0
+
diff --git a/sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch
new file mode 100644
index 000000000000..032b12237bd2
--- /dev/null
+++ b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch
@@ -0,0 +1,28 @@
+From 2ef67e3896a2a7d0ba93539cf79310384470fc91 Mon Sep 17 00:00:00 2001
+From: Matthias Maier <tamiko@43-1.org>
+Date: Thu, 15 Feb 2024 16:03:22 -0600
+Subject: [PATCH 2/2] base/mpi.h: mark a template variable to have "const
+ inline" linkage.
+
+---
+ include/deal.II/base/mpi.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/deal.II/base/mpi.h b/include/deal.II/base/mpi.h
+index b77fd3e7c8..8ee55fbe41 100644
+--- a/include/deal.II/base/mpi.h
++++ b/include/deal.II/base/mpi.h
+@@ -1728,8 +1728,8 @@ namespace Utilities
+ * not satisfied.
+ */
+ template <typename T>
+- const MPI_Datatype
+- mpi_type_id_for_type = internal::MPIDataTypes::mpi_type_id(
++ inline const MPI_Datatype mpi_type_id_for_type =
++ internal::MPIDataTypes::mpi_type_id(
+ static_cast<std::remove_cv_t<std::remove_reference_t<T>> *>(nullptr));
+ #endif
+
+--
+2.43.0
+
diff --git a/sci-libs/dealii/metadata.xml b/sci-libs/dealii/metadata.xml
index 90bacf01225a..4db96f39c77d 100644
--- a/sci-libs/dealii/metadata.xml
+++ b/sci-libs/dealii/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
@@ -10,22 +10,19 @@
<name>Gentoo Science Project</name>
</maintainer>
<longdescription lang="en">
-deal.II is a C++ program library targeted at the computational solution
-of partial differential equations using adaptive finite elements. It uses
-state-of-the-art programming techniques to offer you a modern interface
-to the complex data structures and algorithms required.
-</longdescription>
+ deal.II is a C++ program library targeted at the computational solution
+ of partial differential equations using adaptive finite elements. It uses
+ state-of-the-art programming techniques to offer you a modern interface
+ to the complex data structures and algorithms required.
+ </longdescription>
<use>
<flag name="adolc">Adds support for ADOL-C (<pkg>sci-libs/adolc</pkg>)</flag>
+ <flag name="arborx">Adds support for ARBORX (<pkg>sci-libs/arborx</pkg>)</flag>
<flag name="arpack">Adds support for ARPACK (<pkg>sci-libs/arpack</pkg>)</flag>
- <flag name="debug">
-Build an additional debug library with extra debug codepaths, like asserts
-and extra output. If you want to get meaningful backtraces see
-&lt;http://www.gentoo.org/proj/en/qa/backtraces.xml&gt;</flag>
+ <flag name="cgal">Adds support for CGAL (<pkg>sci-mathematics/cgal</pkg>)</flag>
<flag name="gmsh">Add support for gmsh (<pkg>sci-libs/gmsh</pkg>)</flag>
<flag name="metis">Add support for metis (<pkg>sci-libs/metis</pkg>)</flag>
<flag name="muparser">Add support for muparser (<pkg>dev-cpp/muParser</pkg>)</flag>
- <flag name="nanoflann">Adds support for nanoflann (<pkg>sci-libs/nanoflann</pkg>)</flag>
<flag name="opencascade">Add support for opencascade (<pkg>sci-libs/opencascade</pkg>)</flag>
<flag name="p4est">Add support for p4est (<pkg>sci-libs/p4est</pkg>)</flag>
<flag name="petsc">Add support for petsc (<pkg>sci-mathematics/petsc</pkg>)</flag>
@@ -33,10 +30,8 @@ and extra output. If you want to get meaningful backtraces see
<flag name="slepc">Add support for slepc (<pkg>sci-mathematics/slepc</pkg>)</flag>
<flag name="sparse">Add support for suitesparse (<pkg>sci-libs/suitesparse</pkg>)</flag>
<flag name="symengine">Add support for symengine (<pkg>sci-libs/symengine</pkg>)</flag>
- <flag name="tbb">Add threading support with the help of the tbb library (<pkg>dev-cpp/tbb</pkg>)</flag>
<flag name="trilinos">Add support for trilinos (<pkg>sci-libs/trilinos</pkg>)</flag>
<flag name="assimp">Add support for assimp (<pkg>media-libs/assimp</pkg>)</flag>
- <flag name="cuda">Add support for cuda (<pkg>dev-util/nvidia-cuda-sdk</pkg>)</flag>
<flag name="ginkgo">Add support for ginkgo (<pkg>sci-libs/ginkgo</pkg>)</flag>
<flag name="sundials">Add support for sundials (<pkg>sci-libs/sundials</pkg>)</flag>
</use>
diff --git a/sci-libs/djbfft/djbfft-0.76-r2.ebuild b/sci-libs/djbfft/djbfft-0.76-r2.ebuild
deleted file mode 100644
index 4bf66301628c..000000000000
--- a/sci-libs/djbfft/djbfft-0.76-r2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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 arm64 ~hppa ppc ppc64 sparc x86 ~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/djbfft-0.76-r3.ebuild b/sci-libs/djbfft/djbfft-0.76-r3.ebuild
new file mode 100644
index 000000000000..8a929cef3b0c
--- /dev/null
+++ b/sci-libs/djbfft/djbfft-0.76-r3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs multilib multilib-minimal
+
+DESCRIPTION="Extremely fast library for floating-point convolution"
+HOMEPAGE="https://cr.yp.to/djbfft.html"
+SRC_URI="https://cr.yp.to/djbfft/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc3.patch
+ "${FILESDIR}"/${P}-shared.patch
+ "${FILESDIR}"/${P}-headers.patch
+ "${FILESDIR}"/${P}-tc-directly.patch
+)
+
+DOCS=( CHANGES README TODO VERSION )
+
+src_prepare() {
+ default
+
+ # 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
+
+ SOVER="${PV:0:1}.${PV:2:1}.${PV:3:1}" # a.bc -> a.b.c
+ SONAME="libdjbfft.so.${SOVER}"
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ tc-export AR RANLIB
+ [[ ${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-headers.patch b/sci-libs/djbfft/files/djbfft-0.76-headers.patch
index 39fb623f10ef..e6c82d2eb626 100644
--- a/sci-libs/djbfft/files/djbfft-0.76-headers.patch
+++ b/sci-libs/djbfft/files/djbfft-0.76-headers.patch
@@ -1,36 +1,36 @@
---- strerr.h.orig 1999-09-30 23:25:58.000000000 +0300
-+++ strerr.h 2008-09-13 22:14:09.000000000 +0300
+--- a/strerr.h
++++ b/strerr.h
@@ -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
+--- a/substdio.h
++++ b/substdio.h
@@ -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
+--- a/speed.c
++++ b/speed.c
@@ -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
+--- a/accuracy2.c
++++ b/accuracy2.c
@@ -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
+--- a/accuracy.c
++++ b/accuracy.c
@@ -1,3 +1,4 @@
+#include <stdlib.h>
#include <stdio.h>
diff --git a/sci-libs/djbfft/files/djbfft-0.76-tc-directly.patch b/sci-libs/djbfft/files/djbfft-0.76-tc-directly.patch
new file mode 100644
index 000000000000..340d3b7be6a6
--- /dev/null
+++ b/sci-libs/djbfft/files/djbfft-0.76-tc-directly.patch
@@ -0,0 +1,22 @@
+# https://bugs.gentoo.org/731874
+# https://bugs.gentoo.org/725432
+--- a/Makefile
++++ b/Makefile
+@@ -736,7 +736,7 @@ warn-auto.sh systype
+ echo 'rm -f "$$main"'; \
+ echo 'if [ "$${main##*.}" = "a" ]'; \
+ echo 'then'; \
+- echo ' ar cr "$$main" $${1+"$$@"}'; \
++ echo ' $(AR) cr "$$main" $${1+"$$@"}'; \
+ case "`cat systype`" in \
+ sunos-5.*) ;; \
+ unix_sv*) ;; \
+@@ -745,7 +745,7 @@ warn-auto.sh systype
+ dgux-*) ;; \
+ hp-ux-*) ;; \
+ sco*) ;; \
+- *) echo ' ranlib "$$main"' ;; \
++ *) echo ' $(RANLIB) "$$main"' ;; \
+ esac; \
+ echo 'else'; \
+ echo ' exec `head -1 conf-ld` -shared -Wl,-soname,libdjbfft.so.0.7.6 -o "$$main" $${1+"$$@"}'; \
diff --git a/sci-libs/djbfft/metadata.xml b/sci-libs/djbfft/metadata.xml
index bd31424acb95..23b7dbf253ad 100644
--- a/sci-libs/djbfft/metadata.xml
+++ b/sci-libs/djbfft/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -17,5 +17,5 @@
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>
+ </longdescription>
</pkgmetadata>
diff --git a/sci-libs/dlib/Manifest b/sci-libs/dlib/Manifest
index 6682430cf3ae..81b62dedb86c 100644
--- a/sci-libs/dlib/Manifest
+++ b/sci-libs/dlib/Manifest
@@ -1,2 +1,2 @@
-DIST dlib-19.16.tar.gz 10411975 BLAKE2B 93047590a4d8f4685970d3db6841cbf9cc90ca8a5e50f0929a106d887e5db1b4fd96bbe14380537a3e28369a8db6d9d8c067e7768000ac3c7d0f225b46369326 SHA512 4e040ef88acff05e1a48e499b813c876b22ad3f989d076bdf19969d01036b62e51a0dff30b70046910ba31dfa1b1c2450a7fad41ae3142b7285ed74b8d584887
-DIST dlib-19.9.tar.gz 8892457 BLAKE2B d18548e09f8169bbc9d7f339599bd58b940410839b259a8d7be9cb999f82e634ad5cd0539adb45239dab821ea1029493d24ae9990ca32c75c744e2c5d9e218f6 SHA512 1e2123c22e1b13cc84108fa627bfa92eadc9dee63f93a9f45676bbf2b752c8728117d915ac327f5223b0cdbce87dd3bef2f4d8d5ed3f8f5a314ffa9e8962a246
+DIST dlib-19.24.2.tar.gz 22252165 BLAKE2B cd6a911e16d9ff6cf94a4334e84983a9c48da42e3f696de20fb28a5bba9720507ec19ddc984bb753288f86359a1c19cdf15ed29f18c43769a1c17d3177d8dedf SHA512 a38a3079c169b16d81d7aca9fc294bcd63bd2dc1a21573f9141ca310542da3629b6523fa6f348be8b41bf5b478c0846a13a4c3fee77f1ac38dfbfc4a01effb57
+DIST dlib-19.24.tar.gz 10863367 BLAKE2B eda85c6ec38fcf212754aae2cdb68539425028735b5148a2f6668ac19f2583129585a7101b74fe202fbfa3d3d2f09e533805a82f8291540919a7eb11483812e8 SHA512 f6ef2fec0977782cdcc15c6340bd91e3471294332de391405f14d86e9fd0cfcc8195fbf5b702f8d269a90b06db23a8134d112ed3fcfb780ff0433d988c41d199
diff --git a/sci-libs/dlib/dlib-19.16-r1.ebuild b/sci-libs/dlib/dlib-19.16-r1.ebuild
deleted file mode 100644
index 5b0ca7e80ee9..000000000000
--- a/sci-libs/dlib/dlib-19.16-r1.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-DISTUTILS_OPTIONAL=1
-inherit cmake cuda distutils-r1
-
-DESCRIPTION="Numerical and networking C++ library"
-HOMEPAGE="http://dlib.net/"
-SRC_URI="https://github.com/davisking/dlib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cblas cuda debug examples gif jpeg lapack mkl png python sqlite test X cpu_flags_x86_avx cpu_flags_x86_sse2 cpu_flags_x86_sse4_1"
-REQUIRED_USE="python? ( png ${PYTHON_REQUIRED_USE} )"
-
-RESTRICT="!test? ( test )"
-
-# doc needs a bunch of deps not in portage
-RDEPEND="
- cblas? ( virtual/cblas )
- cuda? ( dev-libs/cudnn:= )
- gif? ( media-libs/giflib:= )
- jpeg? ( virtual/jpeg:0= )
- lapack? ( virtual/lapack )
- mkl? ( sci-libs/mkl )
- png? ( media-libs/libpng:0= )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3 )
- X? ( x11-libs/libX11 )"
-DEPEND="${RDEPEND}"
-BDEPEND="python? ( test? ( dev-python/pytest[${PYTHON_USEDEP}] ) )"
-
-DOCS=( docs/README.txt )
-
-src_prepare() {
- use cuda && cuda_src_prepare
- cmake_src_prepare
- use python && distutils-r1_src_prepare
-}
-
-python_configure_all() {
- mydistutilsargs=(
- --"$(usex gif)" DLIB_GIF_SUPPORT
- --"$(usex jpeg)" DLIB_JPEG_SUPPORT
- --"$(usex png)" DLIB_PNG_SUPPORT
- --"$(usex X no yes)" DLIB_NO_GUI_SUPPORT
- --"$(usex cblas)" DLIB_USE_BLAS
- --"$(usex cuda)" DLIB_USE_CUDA
- --"$(usex lapack)" DLIB_USE_LAPACK
- --"$(usex cpu_flags_x86_avx)" USE_AVX_INSTRUCTIONS
- --"$(usex cpu_flags_x86_sse2)" USE_SSE2_INSTRUCTIONS
- --"$(usex cpu_flags_x86_sse4_1)" USE_SSE4_INSTRUCTIONS
- )
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDLIB_ENABLE_ASSERTS="$(usex debug)"
- -DDLIB_ENABLE_STACK_TRACE="$(usex debug)"
- -DDLIB_GIF_SUPPORT="$(usex gif)"
- -DDLIB_JPEG_SUPPORT="$(usex jpeg)"
- -DDLIB_PNG_SUPPORT="$(usex png)"
- -DDLIB_LINK_WITH_SQLITE3="$(usex sqlite)"
- -DDLIB_NO_GUI_SUPPORT="$(usex X OFF ON)"
- -DDLIB_USE_BLAS="$(usex cblas)"
- -DDLIB_USE_CUDA="$(usex cuda)"
- -DDLIB_USE_LAPACK="$(usex lapack)"
- -DUSE_AVX_INSTRUCTIONS="$(usex cpu_flags_x86_avx)"
- -DUSE_SSE2_INSTRUCTIONS="$(usex cpu_flags_x86_sse2)"
- -DUSE_SSE4_INSTRUCTIONS="$(usex cpu_flags_x86_sse4_1)"
- )
- cmake_src_configure
- use python && distutils-r1_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use python && distutils-r1_src_compile
-}
-
-python_test() {
- esetup.py test
-}
-
-src_test() {
- mkdir "${BUILD_DIR}"/dlib/test || die
- pushd "${BUILD_DIR}"/dlib/test > /dev/null || die
- cmake "${S}"/dlib/test || die
- emake
- ./dtest --runall || die
- popd > /dev/null || die
- use python && distutils-r1_src_test
-}
-
-src_install() {
- cmake_src_install
- use python && distutils-r1_src_install
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}
- fi
-}
diff --git a/sci-libs/dlib/dlib-19.24.2.ebuild b/sci-libs/dlib/dlib-19.24.2.ebuild
new file mode 100644
index 000000000000..dd936a0dc155
--- /dev/null
+++ b/sci-libs/dlib/dlib-19.24.2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_OPTIONAL=1
+inherit cmake cuda distutils-r1
+
+DESCRIPTION="Numerical and networking C++ library"
+HOMEPAGE="http://dlib.net/"
+SRC_URI="https://github.com/davisking/dlib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cblas cuda debug examples gif jpeg lapack mkl png python sqlite test X cpu_flags_x86_avx cpu_flags_x86_sse2 cpu_flags_x86_sse4_1"
+REQUIRED_USE="python? ( png ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# doc needs a bunch of deps not in portage
+RDEPEND="
+ cblas? ( virtual/cblas )
+ cuda? ( dev-libs/cudnn:= )
+ gif? ( media-libs/giflib:= )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ lapack? ( virtual/lapack )
+ mkl? ( sci-libs/mkl )
+ png? ( media-libs/libpng:0= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3 )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ python? (
+ ${DISTUTILS_DEPS}
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( docs/README.txt )
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+ cmake_src_prepare
+ use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDLIB_ENABLE_ASSERTS=$(usex debug)
+ -DDLIB_ENABLE_STACK_TRACE=$(usex debug)
+ -DDLIB_GIF_SUPPORT=$(usex gif)
+ -DDLIB_JPEG_SUPPORT=$(usex jpeg)
+ -DDLIB_PNG_SUPPORT=$(usex png)
+ -DDLIB_LINK_WITH_SQLITE3=$(usex sqlite)
+ -DDLIB_NO_GUI_SUPPORT=$(usex X OFF ON)
+ -DDLIB_USE_BLAS=$(usex cblas)
+ -DDLIB_USE_CUDA=$(usex cuda)
+ -DDLIB_USE_LAPACK=$(usex lapack)
+ -DUSE_AVX_INSTRUCTIONS=$(usex cpu_flags_x86_avx)
+ -DUSE_SSE2_INSTRUCTIONS=$(usex cpu_flags_x86_sse2)
+ -DUSE_SSE4_INSTRUCTIONS=$(usex cpu_flags_x86_sse4_1)
+ )
+ cmake_src_configure
+ use python && distutils-r1_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use python && distutils-r1_src_compile
+}
+
+src_test() {
+ (
+ local BUILD_DIR="${BUILD_DIR}"/dlib/test
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" >/dev/null || die
+
+ local CMAKE_USE_DIR="${S}"/dlib/test
+ cmake_src_configure
+ cmake_build
+
+ ./dtest --runall || die "Tests failed"
+ )
+
+ use python && distutils-r1_src_test
+}
+
+python_test() {
+ epytest
+}
+
+src_install() {
+ cmake_src_install
+ use python && distutils-r1_src_install
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}
+ fi
+}
diff --git a/sci-libs/dlib/dlib-19.24.ebuild b/sci-libs/dlib/dlib-19.24.ebuild
new file mode 100644
index 000000000000..7390b5b72a3d
--- /dev/null
+++ b/sci-libs/dlib/dlib-19.24.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_OPTIONAL=1
+inherit cmake cuda distutils-r1
+
+DESCRIPTION="Numerical and networking C++ library"
+HOMEPAGE="http://dlib.net/"
+SRC_URI="https://github.com/davisking/dlib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cblas cuda debug examples gif jpeg lapack mkl png python sqlite test X cpu_flags_x86_avx cpu_flags_x86_sse2 cpu_flags_x86_sse4_1"
+REQUIRED_USE="python? ( png ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# doc needs a bunch of deps not in portage
+RDEPEND="
+ cblas? ( virtual/cblas )
+ cuda? ( dev-libs/cudnn:= )
+ gif? ( media-libs/giflib:= )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ lapack? ( virtual/lapack )
+ mkl? ( sci-libs/mkl )
+ png? ( media-libs/libpng:0= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3 )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ python? (
+ ${DISTUTILS_DEPS}
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( docs/README.txt )
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+ cmake_src_prepare
+ use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDLIB_ENABLE_ASSERTS=$(usex debug)
+ -DDLIB_ENABLE_STACK_TRACE=$(usex debug)
+ -DDLIB_GIF_SUPPORT=$(usex gif)
+ -DDLIB_JPEG_SUPPORT=$(usex jpeg)
+ -DDLIB_PNG_SUPPORT=$(usex png)
+ -DDLIB_LINK_WITH_SQLITE3=$(usex sqlite)
+ -DDLIB_NO_GUI_SUPPORT=$(usex X OFF ON)
+ -DDLIB_USE_BLAS=$(usex cblas)
+ -DDLIB_USE_CUDA=$(usex cuda)
+ -DDLIB_USE_LAPACK=$(usex lapack)
+ -DUSE_AVX_INSTRUCTIONS=$(usex cpu_flags_x86_avx)
+ -DUSE_SSE2_INSTRUCTIONS=$(usex cpu_flags_x86_sse2)
+ -DUSE_SSE4_INSTRUCTIONS=$(usex cpu_flags_x86_sse4_1)
+ )
+ cmake_src_configure
+ use python && distutils-r1_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use python && distutils-r1_src_compile
+}
+
+src_test() {
+ (
+ local BUILD_DIR="${BUILD_DIR}"/dlib/test
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" >/dev/null || die
+
+ local CMAKE_USE_DIR="${S}"/dlib/test
+ cmake_src_configure
+ cmake_build
+
+ ./dtest --runall || die "Tests failed"
+ )
+
+ use python && distutils-r1_src_test
+}
+
+python_test() {
+ epytest
+}
+
+src_install() {
+ cmake_src_install
+ use python && distutils-r1_src_install
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}
+ fi
+}
diff --git a/sci-libs/dlib/dlib-19.9.ebuild b/sci-libs/dlib/dlib-19.9.ebuild
deleted file mode 100644
index fcc55d70b0e1..000000000000
--- a/sci-libs/dlib/dlib-19.9.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_6 )
-inherit python-r1 cmake-utils cuda
-
-DESCRIPTION="Numerical and networking C++ library"
-HOMEPAGE="http://dlib.net/"
-SRC_URI="https://github.com/davisking/dlib/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cblas debug cuda examples gif jpeg lapack mkl png python sqlite static-libs test X"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# doc needs a bunch of deps not in portage
-
-RDEPEND="
- cblas? ( virtual/cblas:= )
- cuda? ( dev-libs/cudnn:= )
- jpeg? ( virtual/jpeg:0= )
- lapack? ( virtual/lapack:= )
- mkl? ( sci-libs/mkl:= )
- png? ( media-libs/libpng:0= )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3= )
- X? ( x11-libs/libX11:= )
-"
-DEPEND="test? ( ${RDEPEND} )"
-
-src_prepare() {
- use cuda && cuda_src_prepare
- cmake-utils_src_prepare
- sed -i -e '/LICENSE.txt/d' dlib/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLIB_INSTALL_DIR="$(get_libdir)"
- -DDLIB_ENABLE_ASSERTS="$(usex debug)"
- -DDLIB_ENABLE_STACK_TRACE="$(usex debug)"
- -DDLIB_GIF_SUPPORT="$(usex gif)"
- -DDLIB_JPEG_SUPPORT="$(usex jpeg)"
- -DDLIB_PNG_SUPPORT="$(usex png)"
- -DDLIB_LINK_WITH_SQLITE3="$(usex sqlite)"
- -DDLIB_NO_GUI_SUPPORT="$(usex X OFF ON)"
- -DDLIB_USE_BLAS="$(usex cblas)"
- -DDLIB_USE_CUDA="$(usex cuda)"
- -DDLIB_USE_LAPACK="$(usex lapack)"
- -DBOOST_LIBRARYDIR="${EPREFIX}/usr/$(get_libdir)"
- )
- cmake-utils_src_configure
-}
-
-src_test() {
- mkdir "${BUILD_DIR}"/dlib/test || die
- pushd "${BUILD_DIR}"/dlib/test > /dev/null || die
- cmake "${S}"/dlib/test && emake
- ./dtest --runall || die
- popd > /dev/null || die
-}
-
-src_install() {
- cmake-utils_src_install
- if use python; then
- python_foreach_impl python_domodule ${PN}
- fi
- dodoc docs/README.txt
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}
- fi
-}
diff --git a/sci-libs/dlib/metadata.xml b/sci-libs/dlib/metadata.xml
index 97d198eb46be..8acdef00ba04 100644
--- a/sci-libs/dlib/metadata.xml
+++ b/sci-libs/dlib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/dmlc-core/Manifest b/sci-libs/dmlc-core/Manifest
index de2f9fd304d6..6eff176be348 100644
--- a/sci-libs/dmlc-core/Manifest
+++ b/sci-libs/dmlc-core/Manifest
@@ -1 +1,2 @@
+DIST dmlc-core-0.5.tar.gz 256340 BLAKE2B 1a2fd548c704e89adbba397b9f4306ad9439b969755bfd4fa24aad2e58855882dbe69b9c0550b830f8a81dfa41139e22c7ceed0ed707608e31fea1868b707ad4 SHA512 e8292bf71f9d7e31f17add69c984473f8f4d51768c5ac1451dceb9ff3c3e607dd85eea7fb3999f00cf34e962c5956ef1426713b7d8baa5fdbc3aa88e58bed66d
DIST dmlc-core-0_p20170719.tar.gz 160242 BLAKE2B 2752968c831b5468cb926fbd2783098d1d66f5dd7f06b1abf138e165c637a3c16d477b04b709a05826528ee8e35ed61b563bdaae958fb91c78591dd57761a5f4 SHA512 2e2d79800839652772f07deb5ea3aa470cc5a18d2d0e480b8f4a1598aca72443546a438f3309708268cc49cf2d65684c3366cfc6c33c085baf1b804b4c04f02e
diff --git a/sci-libs/dmlc-core/dmlc-core-0.5.ebuild b/sci-libs/dmlc-core/dmlc-core-0.5.ebuild
new file mode 100644
index 000000000000..7ae899dcbb27
--- /dev/null
+++ b/sci-libs/dmlc-core/dmlc-core-0.5.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Common bricks library for building distributed machine learning"
+HOMEPAGE="https://github.com/dmlc/dmlc-core"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/dmlc/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/dmlc/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+# hdfs needs big java hdfs not yet in portage
+# azure not yet in portage
+IUSE="cpu_flags_x86_sse2 doc openmp s3 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="s3? ( net-misc/curl[ssl] )"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? ( dev-cpp/gtest )"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e '/-O3/d' -e '/check_cxx_compiler_flag("-msse2"/d' \
+ -e '/check_cxx.*SSE2/d' \
+ -i CMakeLists.txt || die
+
+ # All these hacks below to allow testing
+ sed -e 's|-O3||' -e 's|-std=c++11|-std=c++14|' \
+ -e "s|-lm|-lm -L\"${BUILD_DIR}\" -ldmlc|g" \
+ -i Makefile || die
+ sed -e "s|libdmlc.a||g" \
+ -e "/^GTEST_LIB=/s|=.*|=/usr/$(get_libdir)|" \
+ -e "/^GTEST_INC=/s|=.*|=/usr/include|" \
+ -i test/dmlc_test.mk test/unittest/dmlc_unittest.mk || die
+ # Don't ever download gtest
+ sed -e 's/^if (NOT GTEST_FOUND)$/if (FALSE)/' \
+ -i test/unittest/CMakeLists.txt || die
+ cat <<-EOF > config.mk
+ USE_SSE=$(usex cpu_flags_x86_sse2 1 0)
+ WITH_FPIC=1
+ USE_OPENMP=$(usex openmp 1 0)
+ USE_S3=$(usex s3 1 0)
+ BUILD_TEST=$(usex test 1 0)
+ DMLC_CFLAGS=${CXXFLAGS}
+ DMLC_LDFLAGS=${LDFLAGS}
+ EOF
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGOOGLE_TEST=$(usex test)
+ -DSUPPORT_MSSE2=$(usex cpu_flags_x86_sse2)
+ -DUSE_CXX14_IF_AVAILABLE=YES # Newer gtest needs C++14 or later
+ -DUSE_S3=$(usex s3)
+ -DUSE_OPENMP=$(usex openmp)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && emake doxygen
+ use test && emake test
+}
+
+src_test() {
+ DMLC_UNIT_TEST_LITTLE_ENDIAN=$([[ $(tc-endian) == little ]] && echo 1 || echo 0) \
+ LD_LIBRARY_PATH="${BUILD_DIR}" \
+ test/unittest/dmlc_unittest || die
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc; then
+ dodoc -r doc/doxygen/html
+ docompress -x /usr/share/doc/${PF}/html
+ fi
+}
diff --git a/sci-libs/dmlc-core/dmlc-core-0_p20170719-r1.ebuild b/sci-libs/dmlc-core/dmlc-core-0_p20170719-r1.ebuild
new file mode 100644
index 000000000000..cfc14ac37ce4
--- /dev/null
+++ b/sci-libs/dmlc-core/dmlc-core-0_p20170719-r1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Common bricks library for building distributed machine learning"
+HOMEPAGE="https://github.com/dmlc/dmlc-core"
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/dmlc/${PN}.git"
+ inherit git-r3
+else
+ MY_COMMIT="54db57d5d1b2a7b93319053011802888b827a539"
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/dmlc/dmlc-core/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+# hdfs needs big java hdfs not yet in portage
+# azure not yet in portage
+IUSE="doc openmp s3 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="net-misc/curl[ssl]"
+DEPEND="${RDEPEND}
+ test? ( dev-cpp/gtest )"
+BDEPEND="doc? (
+ app-text/doxygen
+ dev-texlive/texlive-fontutils
+ )"
+
+PATCHES=( "${FILESDIR}"/${PN}-install-dirs.patch )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Respect user flags (SSE2 does nothing more than adding -msse2)
+ # Also doc installs everything, so remove
+ sed -e '/-O3/d' \
+ -e '/check_cxx.*SSE2/d' \
+ -i CMakeLists.txt || die
+
+ # All these hacks below to allow testing
+ sed -e 's|-O3||' -e 's|-lm|-lm -L$(LD_LIBRARY_PATH) -ldmlc|g' -i Makefile || die
+ sed -e "s|libdmlc.a||g" \
+ -i test/dmlc_test.mk test/unittest/dmlc_unittest.mk || die
+ cat <<-EOF > config.mk
+ USE_SSE=0
+ WITH_FPIC=1
+ USE_OPENMP=$(use openmp && echo 1 || echo 0)
+ USE_S3=$(use s3 && echo 1 || echo 0)
+ BUILD_TEST=$(use test && echo 1 || echo 0)
+ DMLC_CFLAGS=${CXXFLAGS}
+ DMLC_LDFLAGS=${LDFLAGS}
+ EOF
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_S3=$(usex s3)
+ -DUSE_OPENMP=$(usex openmp)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ doxygen doc/Doxyfile || die
+ fi
+}
+
+src_test() {
+ tc-export CXX
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILD_DIR}"
+
+ emake test
+
+ test/unittest/dmlc_unittest || die
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc; then
+ dodoc -r doc/doxygen/html
+ docompress -x /usr/share/doc/${PF}/html
+ fi
+}
diff --git a/sci-libs/dmlc-core/dmlc-core-0_p20170719.ebuild b/sci-libs/dmlc-core/dmlc-core-0_p20170719.ebuild
deleted file mode 100644
index a9dbcf038e5c..000000000000
--- a/sci-libs/dmlc-core/dmlc-core-0_p20170719.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs cmake-utils
-
-DESCRIPTION="Common bricks library for building distributed machine learning."
-HOMEPAGE="https://github.com/dmlc/dmlc-core"
-
-if [[ ${PV} == *9999* ]] ; then
- EGIT_REPO_URI="https://github.com/dmlc/${PN}.git"
- inherit git-r3
- KEYWORDS=""
-else
- EGIT_COMMIT="54db57d5d1b2a7b93319053011802888b827a539"
- inherit vcs-snapshot
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
- SRC_URI="https://github.com/dmlc/dmlc-core/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# hdfs needs big java hdfs not yet in portage
-# azure not yet in portage
-IUSE="doc openmp s3 test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="net-misc/curl[ssl]"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-cpp/gtest )
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-install-dirs.patch )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- cmake-utils_src_prepare
- # respect user flags (SSE2 does nothing more than adding -msse2)
- # also doc install everything so remove
- sed -e '/-O3/d' \
- -e '/check_cxx.*SSE2/d' \
- -i CMakeLists.txt || die
- # all these hacks below to allow testing
- sed -e 's|-O3||' -e 's|-lm|-lm -L$(LD_LIBRARY_PATH) -ldmlc|g' -i Makefile || die
- sed -e "s|libdmlc.a||g" \
- -i test/dmlc_test.mk test/unittest/dmlc_unittest.mk || die
- cat <<-EOF > config.mk
- USE_SSE=0
- WITH_FPIC=1
- USE_OPENMP=$(use openmp && echo 1 || echo 0)
- USE_S3=$(use s3 && echo 1 || echo 0)
- BUILD_TEST=$(use test && echo 1 || echo 0)
- DMLC_CFLAGS=${CXXFLAGS}
- DMLC_LDFLAGS=${LDFLAGS}
- EOF
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DUSE_S3="$(usex s3)"
- -DUSE_OPENMP="$(usex openmp)"
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
- if use doc; then
- doxygen doc/Doxyfile || die
- fi
-}
-
-src_test() {
- tc-export CXX
- export LD_LIBRARY_PATH="${BUILD_DIR}"
- emake test
- test/unittest/dmlc_unittest || die
-}
-
-src_install() {
- cmake-utils_src_install
- if use doc; then
- insinto /usr/share/doc/${PF}
- doins -r doc/doxygen/html
- docompress -x /usr/share/doc/${PF}/html
- fi
-}
diff --git a/sci-libs/dmlc-core/metadata.xml b/sci-libs/dmlc-core/metadata.xml
index a9cd5175551b..30a6ba0ac2dc 100644
--- a/sci-libs/dmlc-core/metadata.xml
+++ b/sci-libs/dmlc-core/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
diff --git a/sci-libs/dsdp/dsdp-5.8-r3.ebuild b/sci-libs/dsdp/dsdp-5.8-r3.ebuild
deleted file mode 100644
index aa32624cc96c..000000000000
--- a/sci-libs/dsdp/dsdp-5.8-r3.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib toolchain-funcs versionator
-
-MY_P="${PN^^}${PV}"
-
-DESCRIPTION="Software for interior-point for semidefinite programming"
-HOMEPAGE="https://www.mcs.anl.gov/hs/software/DSDP/"
-SRC_URI="https://www.mcs.anl.gov/hs/software/DSDP/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc examples"
-
-RDEPEND="virtual/lapack"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-readsdpa.patch
- "${FILESDIR}"/${P}-malloc.patch
- "${FILESDIR}"/${P}-gold.patch
-)
-
-make_shared_lib() {
- local soname=$(basename "${1%.a}")$(get_libname $(get_major_version))
- local cflags=()
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- cflags+=(
- "-Wl,-install_name"
- "-Wl,${EPREFIX}/usr/$(get_libdir)/${soname}"
- )
- else
- cflags+=(
- "-shared" "-Wl,-soname=${soname}"
- "-Wl,--whole-archive" "${1}" "-Wl,--no-whole-archive"
- )
- fi
- einfo "Making ${soname}"
- ${2:-$(tc-getCC)} ${LDFLAGS} \
- "${cflags[@]}" \
- -o $(dirname "${1}")/"${soname}" \
- -lm $($(tc-getPKG_CONFIG) --libs blas lapack) || return 1
-}
-
-src_prepare() {
- default
- # to do proper parallel compilation
- while IFS="" read -d $'\0' -r file; do
- sed -i -e 's:make :$(MAKE) :g' "${file}" || die
- done < <(find . -name Makefile -print0)
- sed -i -e 's:make clean:$(MAKE) clean:g' make.include || die
- 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)
-
- doheader include/*.h src/sdp/*.h
-
- use doc && DOCS+=( docs/*.pdf )
- use examples && DOCS+=( examples/. )
- einstalldocs
-}
diff --git a/sci-libs/dsdp/dsdp-5.8-r4.ebuild b/sci-libs/dsdp/dsdp-5.8-r4.ebuild
new file mode 100644
index 000000000000..ac3c51fb830b
--- /dev/null
+++ b/sci-libs/dsdp/dsdp-5.8-r4.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs
+
+MY_P="${PN^^}${PV}"
+
+DESCRIPTION="Software for interior-point for semidefinite programming"
+HOMEPAGE="https://www.mcs.anl.gov/hs/software/DSDP/"
+SRC_URI="https://www.mcs.anl.gov/hs/software/DSDP/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc examples"
+
+RDEPEND="virtual/lapack"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-readsdpa.patch
+ "${FILESDIR}"/${P}-malloc.patch
+ "${FILESDIR}"/${P}-gold.patch
+)
+
+make_shared_lib() {
+ local soname=$(basename "${1%.a}")$(get_libname $(ver_cut 1))
+ local cflags=()
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ cflags+=(
+ "-Wl,-install_name"
+ "-Wl,${EPREFIX}/usr/$(get_libdir)/${soname}"
+ )
+ else
+ cflags+=(
+ "-shared" "-Wl,-soname=${soname}"
+ "-Wl,--whole-archive" "${1}" "-Wl,--no-whole-archive"
+ )
+ fi
+ einfo "Making ${soname}"
+ ${2:-$(tc-getCC)} ${LDFLAGS} \
+ "${cflags[@]}" \
+ -o $(dirname "${1}")/"${soname}" \
+ -lm $($(tc-getPKG_CONFIG) --libs blas lapack) || return 1
+}
+
+src_prepare() {
+ default
+ # to do proper parallel compilation
+ while IFS="" read -d $'\0' -r file; do
+ sed -i -e 's:make :$(MAKE) :g' "${file}" || die
+ done < <(find . -name Makefile -print0)
+ sed -i -e 's:make clean:$(MAKE) clean:g' make.include || die
+ 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 $(ver_cut 1))
+ dosym lib${PN}$(get_libname $(ver_cut 1)) \
+ /usr/$(get_libdir)/lib${PN}$(get_libname)
+
+ doheader include/*.h src/sdp/*.h
+
+ use doc && DOCS+=( docs/*.pdf )
+ use examples && DOCS+=( examples/. )
+ einstalldocs
+}
diff --git a/sci-libs/dsdp/metadata.xml b/sci-libs/dsdp/metadata.xml
index c7207ec72d72..368ab6f3ec87 100644
--- a/sci-libs/dsdp/metadata.xml
+++ b/sci-libs/dsdp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -20,5 +20,5 @@
semidefinite programming and linear matrix inequalities (LMI) are
model control, truss topology design, and semidefinite relaxations
of combinatorial and global optimization problems.
-</longdescription>
+ </longdescription>
</pkgmetadata>
diff --git a/sci-libs/eccodes/Manifest b/sci-libs/eccodes/Manifest
index d5d6bb46ae66..4a424f0a2a7d 100644
--- a/sci-libs/eccodes/Manifest
+++ b/sci-libs/eccodes/Manifest
@@ -1,2 +1,3 @@
-DIST eccodes-2.16.0-Source.tar.gz 11258869 BLAKE2B 4a1b3e953fc041beed47046c6ea4f74bb18230019b71c884f1dc5a102a7bae2b9083f51b74fc4078c493d188433f08db833a571e7deadd93b6c137f975f03006 SHA512 6e8768824152d8782c1457cfe79daed32114d1b4694d2843bd02a8aa63c42ccc435b53f7db6942239b3e56999fbaaba4ecef345d39fc5c5f7a5d20ceecf4422a
+DIST eccodes-2.18.0-Source.tar.gz 11525701 BLAKE2B 9dc2861472309c0483e4e7eb7b79c2eb2eb72b1e99f8656bb0355630e8012468d9d6513fb3bab7b3fbc7b2c02c3c74d291a6a8862aa8434cdcce82868f359961 SHA512 8daf7f2e1aed055ca6402881f5473e4ae90ba24cc779005f57f99adc7468da459c7539e64f455e2122dd83df29992fd7a6dad2700c8331c4083226e091fbb629
DIST eccodes_test_data.tar.gz 139711871 BLAKE2B f2e89207835c78fa198f0a2fba8ac2cd4ab263c9160e02005a3ca851bc71586010e7f4742cbb9240463abb9421db83b7dadc83fe798f37321a553ca9856f68d7 SHA512 24c24ec9e01d230cf542abe5c131f05b8e627dd9d170c666628bb5fd8f7b1a6aa11a35456b8d742c59f54c6aabac78658efd68b0c50779d466aba3d35b4a0231
+DIST mercator.grib2 6339 BLAKE2B b63a72c711c28fa81568d123758f61804d73886c1f8dc27ab444daf3d1a0d104ef40b1469e9940413b5311c1cdcfa5de76a9d46ea0c57d08ccfd44ab41b8d4fb SHA512 e3d4e93833345675558b58c2e6f2b5a583c52083718da05cae72dd015d2e7699ee83c2dcce695143ee5e4423c890ef80f2448146d93e87fbfff8845f6efa8178
diff --git a/sci-libs/eccodes/eccodes-2.16.0.ebuild b/sci-libs/eccodes/eccodes-2.16.0.ebuild
deleted file mode 100644
index 5f49a25c6be6..000000000000
--- a/sci-libs/eccodes/eccodes-2.16.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-
-inherit cmake-utils fortran-2 python-any-r1
-
-MY_P="${P}-Source"
-
-DESCRIPTION="A set of encoding/decoding APIs and tools for WMO GRIB, BUFR, and GTS messages"
-HOMEPAGE="https://confluence.ecmwf.int/display/ECC"
-SRC_URI="https://confluence.ecmwf.int/download/attachments/45757960/${MY_P}.tar.gz
- extra-test? ( http://download.ecmwf.org/test-data/eccodes/${PN}_test_data.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-
-IUSE="defs examples extra-test -fortran memfs netcdf jpeg2k png python szip test threads"
-
-REQUIRED_USE="threads? ( !fortran ) test? ( defs !memfs ) extra-test? ( test ) !test? ( memfs? ( python ) )"
-
-RDEPEND="
- sys-libs/zlib
- szip? ( sci-libs/szip )
- netcdf? ( >=sci-libs/netcdf-4.2[hdf5] )
- jpeg2k? ( >=media-libs/openjpeg-2:2 )
- png? ( media-libs/libpng )"
-
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}"
-
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-pkg_setup() {
- use fortran && fortran-2_pkg_setup
- use python && python-any-r1_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_ECCODES_THREADS=$(usex threads TRUE FALSE)
- -DENABLE_EXAMPLES=OFF # no need to build examples
- -DENABLE_INSTALL_ECCODES_DEFINITIONS=$(usex defs TRUE FALSE)
- -DENABLE_FORTRAN=$(usex fortran TRUE FALSE)
- -DENABLE_PYTHON=OFF # py2 support is deprecated
- -DENABLE_NETCDF=$(usex netcdf TRUE FALSE)
- -DENABLE_JPG=$(usex jpeg2k TRUE FALSE)
- -DENABLE_PNG=$(usex png TRUE FALSE)
- -DENABLE_MEMFS=$(usex memfs TRUE FALSE)
- -DENABLE_EXTRA_TESTS=$(usex extra-test TRUE FALSE)
- -DBUILD_SHARED_LIBS=ON
- -DINSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- if use examples; then
- insinto "/usr/share/${PN}/examples"
- doins -r examples/C
- use fortran && doins -r examples/F90
- use python && doins -r examples/python
- fi
-}
-
-src_test() {
- use extra-test && cp -r "${WORKDIR}"/data/* "${BUILD_DIR}"/data/
-
- cmake-utils_src_test
-}
diff --git a/sci-libs/eccodes/eccodes-2.18.0.ebuild b/sci-libs/eccodes/eccodes-2.18.0.ebuild
new file mode 100644
index 000000000000..912fdbc8b3be
--- /dev/null
+++ b/sci-libs/eccodes/eccodes-2.18.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake fortran-2 python-any-r1
+
+MY_P="${P}-Source"
+
+DESCRIPTION="A set of encoding/decoding APIs and tools for WMO GRIB, BUFR, and GTS messages"
+HOMEPAGE="https://confluence.ecmwf.int/display/ECC"
+SRC_URI="https://confluence.ecmwf.int/download/attachments/45757960/${MY_P}.tar.gz
+ extra-test? ( http://download.ecmwf.org/test-data/eccodes/${PN}_test_data.tar.gz
+ http://download.ecmwf.org/test-data/eccodes/data/mercator.grib2 )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+IUSE="+defs examples extra-test fortran memfs netcdf jpeg2k openmp png python szip test threads"
+
+REQUIRED_USE="
+ fortran? ( !threads ( openmp ) )
+ openmp? ( !threads ( fortran ) )
+ threads? ( !fortran !openmp )
+ test? ( defs !memfs )
+ extra-test? ( test )
+ !test? ( memfs? ( python ) )"
+
+RDEPEND="
+ sys-libs/zlib
+ szip? ( sci-libs/szip )
+ netcdf? ( >=sci-libs/netcdf-4.2[hdf5] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2 )
+ png? ( media-libs/libpng )"
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}"
+
+BDEPEND="virtual/pkgconfig"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${MY_P}"
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+ use python && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DINSTALL_LIB_DIR="$(get_libdir)"
+ -DCMAKE_SKIP_INSTALL_RPATH=TRUE
+ -DENABLE_ECCODES_THREADS=$(usex threads TRUE FALSE)
+ -DENABLE_ECCODES_OMP_THREADS=$(usex openmp TRUE FALSE)
+ -DENABLE_EXAMPLES=OFF # no need to build examples
+ -DENABLE_INSTALL_ECCODES_DEFINITIONS=$(usex defs TRUE FALSE)
+ -DENABLE_FORTRAN=$(usex fortran TRUE FALSE)
+ -DENABLE_PYTHON=OFF # py2 support is deprecated
+ -DENABLE_NETCDF=$(usex netcdf TRUE FALSE)
+ -DENABLE_JPG=$(usex jpeg2k TRUE FALSE)
+ -DENABLE_JPG_LIBOPENJPEG=$(usex jpeg2k TRUE FALSE)
+ -DENABLE_PNG=$(usex png TRUE FALSE)
+ -DENABLE_MEMFS=$(usex memfs TRUE FALSE)
+ -DENABLE_EXTRA_TESTS=$(usex extra-test TRUE FALSE)
+ -DBUILD_SHARED_LIBS=ON
+ )
+ use fortran && mycmakeargs+=( -DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch" )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ insinto "/usr/share/${PN}/examples"
+ doins -r examples/C
+ use fortran && doins -r examples/F90
+ use python && doins -r examples/python
+ fi
+}
+
+src_test() {
+ if use extra-test; then
+ touch "${WORKDIR}"/data/.downloaded
+ cp -r "${WORKDIR}"/data/* "${BUILD_DIR}"/data/
+ cp "${DISTDIR}"/mercator.grib2 "${BUILD_DIR}"/data/
+ fi
+
+ cmake_src_test
+}
diff --git a/sci-libs/eccodes/metadata.xml b/sci-libs/eccodes/metadata.xml
index a59cfc2a5284..33ac9fe575eb 100644
--- a/sci-libs/eccodes/metadata.xml
+++ b/sci-libs/eccodes/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>nerdboy@gentoo.org</email>
- <name>Steve Arnold</name>
-</maintainer>
+<!-- maintainer-needed -->
<longdescription lang="en">
This is the new open source BUFR/GRIB library (from ECMWF)
supporting C, F90, and Python interfaces.
diff --git a/sci-libs/evaluate/Manifest b/sci-libs/evaluate/Manifest
new file mode 100644
index 000000000000..684c25d25aa0
--- /dev/null
+++ b/sci-libs/evaluate/Manifest
@@ -0,0 +1 @@
+DIST evaluate-0.4.0.gh.tar.gz 292250 BLAKE2B f88428b263820c1af43d02ae676625257251476092efe624490f29e63a045d698db01e4a7a802c2330027d01bc6ccf16986f28ecf8202ecbfd943c5d7c40f6ec SHA512 f2136196fc4e5717859e36e173cd49d049fc5ef50c89f466e13edd0142830574dec0b5485a4a1097eec9cb9df756a617216ff48c141db008cb0c2b85288d7fc9
diff --git a/sci-libs/evaluate/evaluate-0.4.0-r3.ebuild b/sci-libs/evaluate/evaluate-0.4.0-r3.ebuild
new file mode 100644
index 000000000000..ffcfa55cc008
--- /dev/null
+++ b/sci-libs/evaluate/evaluate-0.4.0-r3.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+DISTUTILS_SINGLE_IMPL=1
+inherit distutils-r1
+
+DESCRIPTION="makes evaluating, comparing models and reporting their performance easier"
+HOMEPAGE="
+ https://pypi.org/project/evaluate/
+ https://github.com/huggingface/evaluate
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pyarrow[${PYTHON_USEDEP},parquet]
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ sci-libs/transformers[${PYTHON_USEDEP}]
+ ')
+ sci-libs/datasets[${PYTHON_SINGLE_USEDEP}]
+"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ sci-libs/jiwer[${PYTHON_USEDEP}]
+ sci-libs/seqeval[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=( "${FILESDIR}"/${P}-tests.patch )
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # These require packages not available on gentoo
+ rm -r metrics/{bertscore,bleurt,character,charcut_mt,chrf,code_eval} || die
+ rm -r metrics/{competition_math,coval,google_bleu,mauve,meteor} || die
+ rm -r metrics/{nist_mt,rl_reliability,rouge,sacrebleu,sari} || die
+ rm -r metrics/{ter,trec_eval,wiki_split,xtreme_s} || die
+ rm -r measurements/word_length || die
+ rm tests/test_evaluation_suite.py || die
+ distutils-r1_src_prepare
+}
diff --git a/sci-libs/evaluate/files/evaluate-0.4.0-tests.patch b/sci-libs/evaluate/files/evaluate-0.4.0-tests.patch
new file mode 100644
index 000000000000..cc0a8b6a7eed
--- /dev/null
+++ b/sci-libs/evaluate/files/evaluate-0.4.0-tests.patch
@@ -0,0 +1,220 @@
+--- a/tests/test_evaluator.py 2023-05-14 11:01:54.449768849 +0200
++++ b/tests/test_evaluator.py 2023-05-14 11:06:15.182738125 +0200
+@@ -16,6 +16,7 @@
+
+ from time import sleep
+ from unittest import TestCase, mock
++from unittest import skip
+
+ from datasets import ClassLabel, Dataset, Features, Sequence, Value
+ from PIL import Image
+@@ -128,6 +128,7 @@
+ return [{"text": "Lorem ipsum"} for _ in inputs]
+
+
++@skip("require network")
+ class TestEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict({"label": [1, 0], "text": ["great movie", "horrible movie"]})
+@@ -230,6 +230,7 @@
+ )
+
+
++@skip("require network")
+ class TestTextClassificationEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict({"label": [1, 0], "text": ["great movie", "horrible movie"]})
+@@ -394,6 +394,7 @@
+ self.assertAlmostEqual(results["latency_in_seconds"], results["total_time_in_seconds"] / len(data), 5)
+
+
++@skip("require network")
+ class TestTextClassificationEvaluatorTwoColumns(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -452,6 +452,7 @@
+ self.assertEqual(results["accuracy"], 1.0)
+
+
++@skip("require network")
+ class TestImageClassificationEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -534,6 +535,7 @@
+ self.assertEqual(results["accuracy"], 0)
+
+
++@skip("require network")
+ class TestQuestionAnsweringEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -716,6 +716,7 @@
+ )
+ self.assertEqual(results["overall_accuracy"], 0.5)
+
++ @skip("require network")
+ def test_class_init(self):
+ evaluator = TokenClassificationEvaluator()
+ self.assertEqual(evaluator.task, "token-classification")
+@@ -735,6 +736,7 @@
+ )
+ self.assertEqual(results["overall_accuracy"], 2 / 3)
+
++ @skip("require network")
+ def test_overwrite_default_metric(self):
+ accuracy = load("seqeval")
+ results = self.evaluator.compute(
+@@ -750,6 +752,7 @@
+ )
+ self.assertEqual(results["overall_accuracy"], 1.0)
+
++ @skip("require network")
+ def test_data_loading(self):
+ # Test passing in dataset by name with data_split
+ data = self.evaluator.load_data("evaluate/conll2003-ci", split="validation[:1]")
+@@ -863,6 +866,7 @@
+ self.pipe = DummyTextGenerationPipeline(num_return_sequences=4)
+ self.evaluator = evaluator("text-generation")
+
++ @skip("require network")
+ def test_class_init(self):
+ evaluator = TextGenerationEvaluator()
+ self.assertEqual(evaluator.task, "text-generation")
+@@ -877,6 +877,7 @@
+ results = self.evaluator.compute(data=self.data)
+ self.assertIsInstance(results["unique_words"], int)
+
++ @skip("require nltk")
+ def test_overwrite_default_metric(self):
+ word_length = load("word_length")
+ results = self.evaluator.compute(
+@@ -906,6 +910,7 @@
+ self.assertEqual(processed_predictions, {"data": ["A", "B", "C", "D"]})
+
+
++@skip("require network")
+ class TestText2TextGenerationEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+@@ -979,6 +984,7 @@
+ self.assertEqual(results["bleu"], 0)
+
+
++@skip("require network")
+ class TestAutomaticSpeechRecognitionEvaluator(TestCase):
+ def setUp(self):
+ self.data = Dataset.from_dict(
+--- a/tests/test_trainer_evaluator_parity.py 2023-05-14 17:50:29.224525549 +0200
++++ b/tests/test_trainer_evaluator_parity.py 2023-05-14 17:37:40.947501195 +0200
+@@ -269,6 +269,7 @@
+ self.assertEqual(transformers_results["eval_HasAns_f1"], evaluator_results["HasAns_f1"])
+ self.assertEqual(transformers_results["eval_NoAns_f1"], evaluator_results["NoAns_f1"])
+
++ @unittest.skip('require eval_results.json')
+ def test_token_classification_parity(self):
+ model_name = "hf-internal-testing/tiny-bert-for-token-classification"
+ n_samples = 500
+--- a/tests/test_load.py 2023-05-20 15:45:58.855473557 +0200
++++ b/tests/test_load.py 2023-05-20 15:50:41.620071500 +0200
+@@ -61,6 +61,7 @@
+ hf_modules_cache=self.hf_modules_cache,
+ )
+
++ @pytest.mark.skip("require network")
+ def test_HubEvaluationModuleFactory_with_internal_import(self):
+ # "squad_v2" requires additional imports (internal)
+ factory = HubEvaluationModuleFactory(
+@@ -72,6 +73,7 @@
+ module_factory_result = factory.get_module()
+ assert importlib.import_module(module_factory_result.module_path) is not None
+
++ @pytest.mark.skip("require network")
+ def test_HubEvaluationModuleFactory_with_external_import(self):
+ # "bleu" requires additional imports (external from github)
+ factory = HubEvaluationModuleFactory(
+@@ -83,6 +85,7 @@
+ module_factory_result = factory.get_module()
+ assert importlib.import_module(module_factory_result.module_path) is not None
+
++ @pytest.mark.skip("require network")
+ def test_HubEvaluationModuleFactoryWithScript(self):
+ factory = HubEvaluationModuleFactory(
+ SAMPLE_METRIC_IDENTIFIER,
+@@ -115,6 +118,7 @@
+ module_factory_result = factory.get_module()
+ assert importlib.import_module(module_factory_result.module_path) is not None
+
++ @pytest.mark.skip("require network")
+ def test_cache_with_remote_canonical_module(self):
+ metric = "accuracy"
+ evaluation_module_factory(
+@@ -127,6 +131,7 @@
+ metric, download_config=self.download_config, dynamic_modules_path=self.dynamic_modules_path
+ )
+
++ @pytest.mark.skip("require network")
+ def test_cache_with_remote_community_module(self):
+ metric = "lvwerra/test"
+ evaluation_module_factory(
+--- a/tests/test_metric.py 2023-05-20 15:54:32.558477445 +0200
++++ b/tests/test_metric.py 2023-05-20 15:55:40.775415987 +0200
+@@ -316,6 +316,7 @@
+ self.assertDictEqual(expected_results[1], results[1])
+ del results
+
++ @pytest.mark.skip('')
+ def test_distributed_metrics(self):
+ with tempfile.TemporaryDirectory() as tmp_dir:
+ (preds_0, refs_0), (preds_1, refs_1) = DummyMetric.distributed_predictions_and_references()
+@@ -736,6 +736,7 @@
+
+ self.assertDictEqual(dummy_result_1, combined_evaluation.compute(predictions=preds, references=refs))
+
++ @pytest.mark.skip('require network')
+ def test_modules_from_string(self):
+ expected_result = {"accuracy": 0.5, "recall": 0.5, "precision": 1.0}
+ predictions = [0, 1]
+--- a/tests/test_metric_common.py 2023-05-20 15:57:02.399146066 +0200
++++ b/tests/test_metric_common.py 2023-05-20 15:59:25.167947472 +0200
+@@ -99,6 +99,7 @@
+ evaluation_module_name = None
+ evaluation_module_type = None
+
++ @pytest.mark.skip('require network')
+ def test_load(self, evaluation_module_name, evaluation_module_type):
+ doctest.ELLIPSIS_MARKER = "[...]"
+ evaluation_module = importlib.import_module(
+--- a/tests/test_trainer_evaluator_parity.py 2023-05-20 16:00:55.986549706 +0200
++++ b/tests/test_trainer_evaluator_parity.py 2023-05-20 16:02:51.808766855 +0200
+@@ -4,6 +4,7 @@
+ import subprocess
+ import tempfile
+ import unittest
++import pytest
+
+ import numpy as np
+ import torch
+@@ -33,6 +33,7 @@
+ def tearDown(self):
+ shutil.rmtree(self.dir_path, ignore_errors=True)
+
++ @pytest.mark.skip('require network')
+ def test_text_classification_parity(self):
+ model_name = "philschmid/tiny-bert-sst2-distilled"
+
+@@ -121,6 +122,7 @@
+
+ self.assertEqual(transformers_results["eval_accuracy"], evaluator_results["accuracy"])
+
++ @pytest.mark.skip('require network')
+ def test_image_classification_parity(self):
+ # we can not compare to the Pytorch transformers example, that uses custom preprocessing on the images
+ model_name = "douwekiela/resnet-18-finetuned-dogfood"
+@@ -179,6 +181,7 @@
+
+ self.assertEqual(transformers_results["eval_accuracy"], evaluator_results["accuracy"])
+
++ @pytest.mark.skip('require network')
+ def test_question_answering_parity(self):
+ model_name_v1 = "anas-awadalla/bert-tiny-finetuned-squad"
+ model_name_v2 = "mrm8488/bert-tiny-finetuned-squadv2"
diff --git a/sci-libs/evaluate/metadata.xml b/sci-libs/evaluate/metadata.xml
new file mode 100644
index 000000000000..f1e8571190f9
--- /dev/null
+++ b/sci-libs/evaluate/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">evaluate</remote-id>
+ <remote-id type="github">huggingface/evaluate</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/exodusii/exodusii-6.09-r1.ebuild b/sci-libs/exodusii/exodusii-6.09-r1.ebuild
new file mode 100644
index 000000000000..c3f4f0f4edf6
--- /dev/null
+++ b/sci-libs/exodusii/exodusii-6.09-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+FORTRAN_NEEDED="test"
+MY_PN="${PN%ii}"
+MY_P="${MY_PN}-${PV}"
+inherit cmake fortran-2
+
+DESCRIPTION="Model developed to store and retrieve transient data for finite element analyses"
+HOMEPAGE="https://github.com/certik/exodus"
+SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}/${MY_PN}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="sci-libs/netcdf:=[hdf5]"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( app-shells/tcsh )"
+
+PATCHES=( "${FILESDIR}"/${P}-multilib.patch )
+
+src_prepare() {
+ cmake_src_prepare
+
+ if ! use test; then
+ sed -e 's:Fortran::g' -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local libdir="$(get_libdir)"
+
+ local mycmakeargs=(
+ -DLIB_SUFFIX=${libdir#lib}
+ -DPYTHON_INSTALL="${EPREFIX}/usr/share/${PN}"
+ -DBUILD_SHARED=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+ export NETCDF_DIR="${EPREFIX}/usr/"
+ cmake_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/exodusii-6.09.ebuild b/sci-libs/exodusii/exodusii-6.09.ebuild
deleted file mode 100644
index e866e4c029f8..000000000000
--- a/sci-libs/exodusii/exodusii-6.09.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED="test"
-inherit cmake-utils fortran-2
-
-MY_PN="${PN%ii}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Model developed to store and retrieve transient data for finite element analyses"
-HOMEPAGE="https://github.com/certik/exodus"
-SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sci-libs/netcdf[hdf5]"
-DEPEND="${RDEPEND}
- test? ( app-shells/tcsh )
-"
-
-S="${WORKDIR}"/${MY_P}/${MY_PN}
-
-PATCHES=( "${FILESDIR}"/${P}-multilib.patch )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if ! use test; then
- sed -e 's:Fortran::g' -i CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- local libdir="$(get_libdir)"
-
- local mycmakeargs=(
- -DLIB_SUFFIX=${libdir#lib}
- -DPYTHON_INSTALL="${EPREFIX}/usr/share/${PN}"
- -DBUILD_SHARED=$(usex !static-libs)
- -DBUILD_TESTING=$(usex test)
- )
- export NETCDF_DIR="${EPREFIX}/usr/"
- 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/metadata.xml b/sci-libs/exodusii/metadata.xml
index b6f57a347068..bc618cf6b086 100644
--- a/sci-libs/exodusii/metadata.xml
+++ b/sci-libs/exodusii/metadata.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<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>
+ 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>
+ <remote-id type="github">certik/exodus</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/fcl/Manifest b/sci-libs/fcl/Manifest
index fa81dab24cc6..0cc2d261b2a3 100644
--- a/sci-libs/fcl/Manifest
+++ b/sci-libs/fcl/Manifest
@@ -1 +1 @@
-DIST fcl-0.5.0.tar.gz 5760425 BLAKE2B 5eac7ace3801740a6317bcc558199b5791e3e5c4fbd63305e5173597b1ecf647388a92bc894629598f963aacd0dd6f894717ae76b3bf7fc9c62a55d9330caf20 SHA512 8741c664720cb32e368e0139881ce69c29e3ccb9633ddc22f47b89918774dbc19541c68e1dbfd78a91f4c8c226ad4c0e1867b6e62111d4311fe907310fc71794
+DIST fcl-0.6.1.tar.gz 6208928 BLAKE2B 174176b3844b18ada60884f641c49475357b1c25cb58cdfc1c4545d595add58713020ffaf148676dae14eca87397495cc971423f06fd19af5cffac1bde584603 SHA512 9d5382c1f2701f2cc6988b3e3969f44c401ea0eb4fdfc5ae69c27dd5bb59a0f17de82ef49e7dce0e1fd91a133db6f10aef9581ca2e32b919046f72921593ebf4
diff --git a/sci-libs/fcl/fcl-0.5.0.ebuild b/sci-libs/fcl/fcl-0.5.0.ebuild
deleted file mode 100644
index 95a962bfbcf9..000000000000
--- a/sci-libs/fcl/fcl-0.5.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://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="https://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_configure() {
- local mycmakeargs=(
- "-DFCL_USE_SSE=$(usex cpu_flags_x86_sse TRUE FALSE)"
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/fcl/fcl-0.6.1-r1.ebuild b/sci-libs/fcl/fcl-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..99aad26ef2be
--- /dev/null
+++ b/sci-libs/fcl/fcl-0.6.1-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/flexible-collision-library/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/flexible-collision-library/fcl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm"
+fi
+
+DESCRIPTION="The Flexible Collision Library"
+HOMEPAGE="http://gamma.cs.unc.edu/FCL/"
+
+LICENSE="BSD"
+SLOT="0/6"
+IUSE="cpu_flags_x86_sse doc +octomap profiling test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/eigen:3
+ dev-libs/boost:=
+ sci-libs/flann
+ sci-libs/libccd[double-precision]
+ octomap? ( sci-libs/octomap:= )
+"
+
+DEPEND="${RDEPEND}
+ doc? ( app-text/doxygen )
+ test? ( dev-cpp/gtest )"
+
+BDEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ # Upstream issue:
+ # https://github.com/flexible-collision-library/fcl/issues/485
+ rm "${S}"/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_gjk_doSimplex2.cpp
+ sed -i -e 's/test_gjk_libccd-inl_gjk_doSimplex2.cpp//' "${S}"/test/narrowphase/detail/convexity_based_algorithm/CMakeLists.txt || die could not disable failing test
+
+ sed -i -e "s/include(CompilerSettings)//" "${S}"/CMakeLists.txt || die "failed to remove compiler flags override"
+
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ -DFCL_COVERALLS=OFF
+ -DFCL_COVERALLS_UPLOAD=OFF
+ -DFCL_ENABLE_PROFILING=$(usex profiling ON OFF)
+ -DFCL_TREAT_WARNINGS_AS_ERRORS=OFF
+ -DFCL_USE_HOST_NATIVE_ARCH=OFF
+ -DFCL_USE_X64_SSE=$(usex cpu_flags_x86_sse ON OFF)
+ -DFCL_WITH_OCTOMAP=$(usex octomap ON OFF)
+ )
+ local CMAKE_BUILD_TYPE="Release"
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_install() {
+ cmake_src_install
+
+ use doc && HTML_DOCS=( "${S}"/doc/doxygen/html )
+ einstalldocs
+}
diff --git a/sci-libs/fcl/fcl-9999.ebuild b/sci-libs/fcl/fcl-9999.ebuild
index 6d823b172040..edd97c84d7f2 100644
--- a/sci-libs/fcl/fcl-9999.ebuild
+++ b/sci-libs/fcl/fcl-9999.ebuild
@@ -1,41 +1,66 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/flexible-collision-library/fcl"
-fi
-
-inherit ${SCM} cmake-utils
+inherit cmake
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/flexible-collision-library/${PN}.git"
+ inherit git-r3
else
+ SRC_URI="https://github.com/flexible-collision-library/fcl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm"
- SRC_URI="https://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"
+SLOT="0/6"
+IUSE="cpu_flags_x86_sse doc +octomap profiling test"
+RESTRICT="!test? ( test )"
RDEPEND="
- sci-libs/octomap
+ dev-cpp/eigen:3
+ dev-libs/boost:=
sci-libs/flann
- dev-libs/boost:=[threads]
- sci-libs/libccd"
+ sci-libs/libccd[double-precision]
+ octomap? ( sci-libs/octomap:= )"
+
DEPEND="${RDEPEND}
+ doc? ( app-text/doxygen )
+ test? ( dev-cpp/gtest )"
+
+BDEPEND="${RDEPEND}
virtual/pkgconfig"
src_configure() {
+ sed -i -e "s/include(CompilerSettings)//" "${S}"/CMakeLists.txt || die "failed to remove compiler flags override"
+
local mycmakeargs=(
- "-DFCL_USE_SSE=$(usex cpu_flags_x86_sse TRUE FALSE)"
+ -DBUILD_TESTING=$(usex test ON OFF)
+ -DFCL_COVERALLS=OFF
+ -DFCL_COVERALLS_UPLOAD=OFF
+ -DFCL_ENABLE_PROFILING=$(usex profiling ON OFF)
+ -DFCL_TREAT_WARNINGS_AS_ERRORS=OFF
+ -DFCL_USE_HOST_NATIVE_ARCH=OFF
+ -DFCL_USE_X64_SSE=$(usex cpu_flags_x86_sse ON OFF)
+ -DFCL_WITH_OCTOMAP=$(usex octomap ON OFF)
)
- cmake-utils_src_configure
+ local CMAKE_BUILD_TYPE="Release"
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_install() {
+ cmake_src_install
+
+ use doc && HTML_DOCS=( "${S}"/doc/doxygen/html )
+ einstalldocs
}
diff --git a/sci-libs/fcl/metadata.xml b/sci-libs/fcl/metadata.xml
index fbedec0d5c16..5aa75fb27999 100644
--- a/sci-libs/fcl/metadata.xml
+++ b/sci-libs/fcl/metadata.xml
@@ -1,11 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
<name>Alexis Ballier</name>
</maintainer>
+ <longdescription>
+ FCL is a library for performing three types of proximity queries on a pair of geometric models composed of triangles.
+ </longdescription>
+ <use>
+ <flag name="octomap">OctoMap library support</flag>
+ <flag name="profiling">Enable profiling</flag>
+ </use>
+ <slots>
+ <subslots>Soname version number of fcl</subslots>
+ </slots>
<upstream>
+ <bugs-to>https://github.com/lexible-collision-library/fcl/issues</bugs-to>
<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
index 96d1ea80984f..63f07a95b4fa 100644
--- a/sci-libs/fetk/fetk-1.5.ebuild
+++ b/sci-libs/fetk/fetk-1.5.ebuild
@@ -1,16 +1,14 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
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=""
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
~dev-libs/maloc-${PV}
@@ -18,5 +16,4 @@ RDEPEND="
~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
index d9c1802ed751..280c9bd148a7 100644
--- a/sci-libs/fetk/metadata.xml
+++ b/sci-libs/fetk/metadata.xml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-chemistry@gentoo.org</email>
<name>Gentoo Chemistry Project</name>
</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>
+ 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/fflas-ffpack/Manifest b/sci-libs/fflas-ffpack/Manifest
index d10a12abc35b..da511b79674d 100644
--- a/sci-libs/fflas-ffpack/Manifest
+++ b/sci-libs/fflas-ffpack/Manifest
@@ -1 +1,2 @@
DIST fflas-ffpack-2.4.3.tar.gz 1059033 BLAKE2B e416429bb426a81cf9c25d54c83380ff9a9d658c711da06e6359d968843d4d9d26cf8389379f9ad4a5cbcee93e0afc9fe0497bb7a8f190e0c72c0b1f7b67de18 SHA512 c7620ba5a92e4114a581a6bea32267f9d5a9f0eb7e23fc0a7a97ce4b8124bb7b29f89ff2ad6ad270d97c76489625b57a354e581905b74ee57b35f4ca3e196a44
+DIST fflas-ffpack-2.5.0.tar.gz 1098354 BLAKE2B 34b0cd218e83a71c6540b1768c8231246a0dc360eb7e2353a923b5870d228e702291de14b0dc3e7c5055727fbd62e2bc1bd1d2ac432dd99df978a1edb513bfc0 SHA512 6753022f27d354160f5eb436c713002f61d24e9a942f2463e36bf324b19ec096f34dd9cacb8529ba566f245f88fa303dcfb448a40d0c39d340f7c337cd1788a4
diff --git a/sci-libs/fflas-ffpack/fflas-ffpack-2.4.3-r3.ebuild b/sci-libs/fflas-ffpack/fflas-ffpack-2.4.3-r3.ebuild
new file mode 100644
index 000000000000..f5b94166a028
--- /dev/null
+++ b/sci-libs/fflas-ffpack/fflas-ffpack-2.4.3-r3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Library for dense linear algebra over word-size finite fields"
+HOMEPAGE="https://linbox-team.github.io/fflas-ffpack/"
+SRC_URI="https://github.com/linbox-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="openmp cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_avx512dq cpu_flags_x86_avx512vl"
+
+# Our autotools patch hacks in PKG_CHECK_MODULES calls.
+BDEPEND="virtual/pkgconfig"
+DEPEND="virtual/cblas
+ virtual/blas
+ virtual/lapack
+ dev-libs/gmp[cxx(+)]
+ =sci-libs/givaro-4.1*"
+RDEPEND="${DEPEND}"
+
+# The no-test-echelon patch works around a test failure that may
+# eventually be fixed upstream. Gentoo bug 725446 and upstream
+# Github issue 282. Same for test-fgesv (bug 807100).
+PATCHES=(
+ "${FILESDIR}/${PN}-2.3.2-blaslapack.patch"
+ "${FILESDIR}/${P}-no-test-echelon.patch"
+ "${FILESDIR}/${P}-no-test-fgesv.patch"
+ "${FILESDIR}/${P}-fix-internal-linking.patch"
+ "${FILESDIR}/${P}-no-fabi-version.patch"
+ "${FILESDIR}/${P}-fix-pc-libdir.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+
+ econf \
+ --enable-precompilation \
+ $(use_enable openmp) \
+ $(use_enable cpu_flags_x86_fma3 fma) \
+ $(use_enable cpu_flags_x86_fma4 fma4) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_ssse3 ssse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse41) \
+ $(use_enable cpu_flags_x86_sse4_2 sse42) \
+ $(use_enable cpu_flags_x86_avx avx) \
+ $(use_enable cpu_flags_x86_avx2 avx2) \
+ $(use_enable cpu_flags_x86_avx512f avx512f) \
+ $(use_enable cpu_flags_x86_avx512dq avx512dq) \
+ $(use_enable cpu_flags_x86_avx512vl avx512vl)
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sci-libs/fflas-ffpack/fflas-ffpack-2.4.3.ebuild b/sci-libs/fflas-ffpack/fflas-ffpack-2.4.3.ebuild
deleted file mode 100644
index dcbf5194f3b9..000000000000
--- a/sci-libs/fflas-ffpack/fflas-ffpack-2.4.3.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Library for dense linear algebra over word-size finite fields"
-HOMEPAGE="https://linbox-team.github.io/fflas-ffpack/"
-SRC_URI="https://github.com/linbox-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs openmp cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_avx512dq cpu_flags_x86_avx512vl"
-
-# Our autotools patch hacks in PKG_CHECK_MODULES calls.
-BDEPEND="virtual/pkgconfig"
-DEPEND="virtual/cblas
- virtual/blas
- virtual/lapack
- dev-libs/gmp[cxx]
- =sci-libs/givaro-4.1*"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.3.2-blaslapack.patch" )
-
-pkg_pretend() {
- [[ "${MERGE_TYPE}" != "binary" ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup(){
- tc-export PKG_CONFIG
-}
-
-src_prepare(){
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-precompilation \
- $(use_enable openmp) \
- $(use_enable cpu_flags_x86_fma3 fma) \
- $(use_enable cpu_flags_x86_fma4 fma4) \
- $(use_enable cpu_flags_x86_sse3 sse3) \
- $(use_enable cpu_flags_x86_ssse3 ssse3) \
- $(use_enable cpu_flags_x86_sse4_1 sse41) \
- $(use_enable cpu_flags_x86_sse4_2 sse42) \
- $(use_enable cpu_flags_x86_avx avx) \
- $(use_enable cpu_flags_x86_avx2 avx2) \
- $(use_enable cpu_flags_x86_avx512f avx512f) \
- $(use_enable cpu_flags_x86_avx512dq avx512dq) \
- $(use_enable cpu_flags_x86_avx512vl avx512vl) \
- $(use_enable static-libs static)
-}
-
-src_install(){
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/fflas-ffpack/fflas-ffpack-2.5.0-r1.ebuild b/sci-libs/fflas-ffpack/fflas-ffpack-2.5.0-r1.ebuild
new file mode 100644
index 000000000000..b54cd124a841
--- /dev/null
+++ b/sci-libs/fflas-ffpack/fflas-ffpack-2.5.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Library for dense linear algebra over word-size finite fields"
+HOMEPAGE="https://linbox-team.github.io/fflas-ffpack/"
+SRC_URI="https://github.com/linbox-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="openmp"
+
+# Our autotools patch hacks in PKG_CHECK_MODULES calls.
+BDEPEND="virtual/pkgconfig"
+DEPEND="virtual/cblas
+ virtual/blas
+ virtual/lapack
+ dev-libs/gmp[cxx(+)]
+ =sci-libs/givaro-4.2*"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.0-blaslapack.patch"
+ "${FILESDIR}/${PN}-2.4.3-no-test-echelon.patch"
+ "${FILESDIR}/${PN}-2.4.3-fix-pc-libdir.patch"
+ "${FILESDIR}/${PN}-2.5.0-no-test-fsyr2k.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+
+ econf \
+ --enable-precompilation \
+ $(use_enable openmp)
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-internal-linking.patch b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-internal-linking.patch
new file mode 100644
index 000000000000..5f085554c33f
--- /dev/null
+++ b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-internal-linking.patch
@@ -0,0 +1,70 @@
+From 7c959a3e938a32b386418ddfdfbb884a96762d90 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 7 Aug 2021 08:14:44 -0400
+Subject: [PATCH 1/1] fflas-ffpack/interfaces/libs/Makefile.am: fix internal
+ linking.
+
+This is just,
+
+ https://github.com/linbox-team/fflas-ffpack/pull/339
+
+but rebased onto the old release tarball.
+---
+ fflas-ffpack/interfaces/libs/Makefile.am | 22 ++++++++--------------
+ 1 file changed, 8 insertions(+), 14 deletions(-)
+
+diff --git a/fflas-ffpack/interfaces/libs/Makefile.am b/fflas-ffpack/interfaces/libs/Makefile.am
+index 8c56746..449f6e4 100644
+--- a/fflas-ffpack/interfaces/libs/Makefile.am
++++ b/fflas-ffpack/interfaces/libs/Makefile.am
+@@ -24,7 +24,6 @@ pkgincludesubdir=$(pkgincludedir)/interfaces/libs
+
+ AM_CXXFLAGS = @DEFAULT_CFLAGS@
+ AM_CPPFLAGS = -I$(top_srcdir) #/fflas-ffpack/utils/ -I$(top_srcdir)/fflas-ffpack/fflas/ -I$(top_srcdir)/fflas-ffpack/ffpack -I$(top_srcdir)/fflas-ffpack/field
+-LDADD = $(CBLAS_LIBS) $(GIVARO_LIBS) $(CUDA_LIBS) $(PARFLAGS)
+ #AM_LDFLAGS=-static
+
+
+@@ -55,31 +54,26 @@ libfflas_la_SOURCES= fflas_L1_inst.C \
+ fflas_L3_inst.C \
+ fflas_L3_inst_implem.inl
+
+-libfflas_la_LDFLAGS= $(LDADD) -version-info 1:0:0 \
+- -no-undefined
++libfflas_la_LIBADD= $(CBLAS_LIBS) $(GIVARO_LIBS) $(CUDA_LIBS) $(PARLIBS)
++libfflas_la_LDFLAGS= -version-info 1:0:0 -no-undefined
+
+ libffpack_la_SOURCES= ffpack_inst.C \
+ ffpack_inst_implem.inl
+-libffpack_la_LDFLAGS= $(LDADD) -version-info 1:0:0 \
+- -no-undefined $(top_builddir)/fflas-ffpack/interfaces/libs/libfflas.la
+-
+-EXTRA_libffpack_la_DEPENDENCIES= libfflas.la
++libffpack_la_LIBADD= libfflas.la
++libffpack_la_LDFLAGS= -version-info 1:0:0 -no-undefined
+
+ libfflas_c_la_SOURCES=fflas_lvl1.C \
+ fflas_lvl2.C \
+ fflas_lvl3.C \
+ fflas_sparse.C
+ #libfflas_c_la_CPPFLAGS=$(AM_CPPFLAGS) -DFFLAS_COMPILED -DFFPACK_COMPILED
+-libfflas_c_la_LDFLAGS= $(LDADD) -version-info 1:0:0 \
+- -no-undefined $(top_builddir)/fflas-ffpack/interfaces/libs/libfflas.la
+-
+-EXTRA_libfflas_c_la_DEPENDENCIES=libfflas.la
++libfflas_c_la_LIBADD= libfflas.la
++libfflas_c_la_LDFLAGS= -version-info 1:0:0 -no-undefined
+
+ libffpack_c_la_SOURCES=ffpack.C
+ #libffpack_c_la_CPPFLAGS=$(AM_CPPFLAGS) -DFFLAS_COMPILED -DFFPACK_COMPILED
+-libffpack_c_la_LDFLAGS= $(LDADD) -version-info 1:0:0 \
+- -no-undefined -lfflas -lffpack
+-EXTRA_libffpack_c_la_DEPENDENCIES=libffpack.la
++libffpack_c_la_LIBADD= libffpack.la
++libffpack_c_la_LDFLAGS= -version-info 1:0:0 -no-undefined
+
+
+ EXTRA_DIST=c_libs.doxy
+--
+2.31.1
+
diff --git a/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-pc-libdir.patch b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-pc-libdir.patch
new file mode 100644
index 000000000000..e397758b5fc5
--- /dev/null
+++ b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-fix-pc-libdir.patch
@@ -0,0 +1,21 @@
+From b1f7cadc105bcf1264da68ab69e0cdc6f8a5aa63 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Sun, 7 Aug 2022 14:15:49 +1200
+Subject: [PATCH] Fix fflas-ffpack.pc.in for issue #364
+
+---
+ fflas-ffpack.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fflas-ffpack.pc.in b/fflas-ffpack.pc.in
+index b869dd8f..8d6c823a 100644
+--- a/fflas-ffpack.pc.in
++++ b/fflas-ffpack.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@prefix@
+ exec_prefix=@prefix@
+-libdir=@prefix@/lib
++libdir=@libdir@
+ includedir=@prefix@/include
+
+ Name: fflas-ffpack
diff --git a/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-fabi-version.patch b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-fabi-version.patch
new file mode 100644
index 000000000000..48ae6c37166a
--- /dev/null
+++ b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-fabi-version.patch
@@ -0,0 +1,31 @@
+From 11364be98b200405630117d5eebb33bfdbc8c19e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 7 Aug 2021 12:09:39 -0400
+Subject: [PATCH 1/1] configure.ac: don't append -fabi-version=6 to CXXFLAGS.
+
+This is a quick hack to avoid appending -fabi-version=6 to CXXFLAGS.
+Both givaro and fflas-ffpack have problems with this legacy cruft
+that are fixed upstream but tough to backport. We don't support
+compilers that old, so we can just delete it.
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 571d923..616b2f5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -179,10 +179,6 @@ AC_SUBST(SIMD_FLAGS)
+ dnl gcc-4.9.2 bug See https://trac.sagemath.org/ticket/17635#comment:178
+ AS_IF([ test "x$CCNAM" = "xgcc492" ],[REQUIRED_FLAGS="${REQUIRED_FLAGS} -fpermissive"],[])
+
+-dnl With GCC's default ABI version, a __m128 or __m256 are the same types and therefore we cannot
+-dnl have overloads for both types without linking error.
+-AS_IF([test "x$CCNAM" = "xgcc"],[REQUIRED_FLAGS="${REQUIRED_FLAGS} -fabi-version=6"],[])
+-
+ AC_SUBST(REQUIRED_FLAGS)
+
+ PARFLAGS="${OMPFLAGS}"
+--
+2.31.1
+
diff --git a/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-echelon.patch b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-echelon.patch
new file mode 100644
index 000000000000..0b8b68fa6093
--- /dev/null
+++ b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-echelon.patch
@@ -0,0 +1,39 @@
+From 5be5c93ed41d0136730477beccad7b9f21d47e86 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 26 May 2020 09:45:50 -0400
+Subject: [PATCH 1/1] tests: disable test_echelon.
+
+There are two reported failures of test_echelon on Gentoo and Conda
+that the Gentoo maintainers haven't been able to reproduce yet. Until
+upstream has a chance to look at the failures, this commit disables
+that particular test.
+
+Gentoo-bug: https://bugs.gentoo.org/724526
+Upstream-bug: https://github.com/linbox-team/fflas-ffpack/issues/282
+---
+ tests/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 4326820..62e92bc 100755
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -56,7 +56,6 @@ BASIC_TESTS = \
+ test-rankprofiles \
+ test-det \
+ test-det-check \
+- test-echelon \
+ test-charpoly \
+ test-charpoly-check \
+ test-minpoly \
+@@ -119,7 +118,6 @@ test_ftrsm_check_SOURCES = test-ftrsm-check.C
+ test_invert_check_SOURCES = test-invert-check.C
+ test_charpoly_check_SOURCES = test-charpoly-check.C
+ test_minpoly_SOURCES = test-minpoly.C
+-test_echelon_SOURCES = test-echelon.C
+ test_rankprofiles_SOURCES = test-rankprofiles.C
+ test_fgemm_SOURCES = test-fgemm.C
+ test_fger_SOURCES = test-fger.C
+--
+2.26.2
+
diff --git a/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-fgesv.patch b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-fgesv.patch
new file mode 100644
index 000000000000..a995c0518566
--- /dev/null
+++ b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.4.3-no-test-fgesv.patch
@@ -0,0 +1,37 @@
+From 3f7a5f601e73491ac7c39cc848fa98fe6224978c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 16 Aug 2021 21:19:39 -0400
+Subject: [PATCH 1/1] tests/Makefile.am: disable test-fgesv.
+
+This test can fail on Gentoo, and has been reported upstream. In the
+meantime, having it fail on end users is no good, so we disable it.
+
+Gentoo-bug: https://bugs.gentoo.org/807100
+Upstream-bug: https://github.com/linbox-team/fflas-ffpack/issues/341
+---
+ tests/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 62e92bc..83cf71f 100755
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -63,7 +63,6 @@ BASIC_TESTS = \
+ test-io \
+ test-maxdelayeddim \
+ test-solve \
+- test-fgesv \
+ test-simd \
+ test-fgemv \
+ test-nullspace \
+@@ -143,7 +142,6 @@ test_ftrtri_SOURCES = test-ftrtri.C
+ # test_fullranksubmatrix_SOURCES = test-fullranksubmatrix.C
+ # test_invert_SOURCES = test-invert.C
+ # test_krylov_elim_SOURCES = test-krylov-elim.C
+-test_fgesv_SOURCES = test-fgesv.C
+ # test_frobenius_SOURCES = test-frobenius.C
+ test_nullspace_SOURCES = test-nullspace.C
+ test_fdot_SOURCES = test-fdot.C
+--
+2.31.1
+
diff --git a/sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-blaslapack.patch b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-blaslapack.patch
new file mode 100644
index 000000000000..609aa034438d
--- /dev/null
+++ b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-blaslapack.patch
@@ -0,0 +1,75 @@
+From 8e350d3f47a1785eb4eea83dee43c596d6399459 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 10 Feb 2024 07:30:37 -0500
+Subject: [PATCH] configure.ac,fflas-ffpack-config.in: use pkg-config to check
+ for blas
+
+Patching configure.ac for this is ugly, but in this case it is
+actually the simplest way to get sane behavior out of the blas/lapack
+check.
+---
+ configure.ac | 29 ++++++++++++++++++-----------
+ fflas-ffpack-config.in | 4 ++--
+ 2 files changed, 20 insertions(+), 13 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5390bcf..2f5fc46 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -133,17 +133,24 @@ FF_CHECK_GIVARO_USABILITY()
+
+ AS_ECHO([---------------------------------------])
+
+-BLAS_FOUND=false
+-
+-FF_CHECK_BLAS_CFLAGS
+-FF_CHECK_BLAS_LIBS
+-FF_CHECK_MKL
+-FF_CHECK_USER_BLAS
+-FF_CHECK_USER_LAPACK
+-
+-FF_OPENBLAS_NUM_THREADS
+-
+-# FF_CHECK_CUDA
++PKG_PROG_PKG_CONFIG
++
++PKG_CHECK_MODULES([BLAS], [cblas blas],[
++ AC_DEFINE(HAVE_BLAS,1,[Define if BLAS is installed])
++ AC_DEFINE(HAVE_CBLAS,1,[Define if C interface to BLAS is installed])
++ HAVE_BLAS=yes
++ BLAS_PATH=""
++ CBLAS_LIBS="${BLAS_LIBS}"
++ AC_SUBST(BLAS_LIBS)
++ AC_SUBST(CBLAS_LIBS)
++ AC_SUBST(BLAS_CFLAGS)
++ AC_SUBST(BLAS_PATH)])
++
++PKG_CHECK_MODULES([LAPACK], [lapack],[
++ AC_DEFINE(HAVE_LAPACK,1,[Define if LAPACK is installed])
++ AC_SUBST(LAPACK_LIBS)])
++
++AM_CONDITIONAL(FFLASFFPACK_HAVE_LAPACK, test "x$HAVE_LAPACK" == "x1")
+
+ AS_ECHO([---------------------------------------])
+
+diff --git a/fflas-ffpack-config.in b/fflas-ffpack-config.in
+index 3e2f53f..e227ce0 100644
+--- a/fflas-ffpack-config.in
++++ b/fflas-ffpack-config.in
+@@ -106,11 +106,11 @@ while test $# -gt 0; do
+ ;;
+
+ --libs)
+- echo @PARLIBS@ @PRECOMPILE_LIBS@ @BLAS_LIBS@ @GIVARO_LIBS@
++ echo @PARLIBS@ @PRECOMPILE_LIBS@ @LAPACK_LIBS@ @BLAS_LIBS@ @GIVARO_LIBS@
+ ;;
+
+ --blas-libs)
+- echo @BLAS_LIBS@
++ echo @LAPACK_LIBS@ @BLAS_LIBS@
+ ;;
+
+ *)
+--
+2.43.0
+
diff --git a/sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-no-test-fsyr2k.patch b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-no-test-fsyr2k.patch
new file mode 100644
index 000000000000..102f5f7dd90b
--- /dev/null
+++ b/sci-libs/fflas-ffpack/files/fflas-ffpack-2.5.0-no-test-fsyr2k.patch
@@ -0,0 +1,30 @@
+From 59ba369aee228b0d166cd7f86d365b17a0104777 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 18 Feb 2024 07:39:09 -0500
+Subject: [PATCH 1/1] tests/Makefile.am: disable test-fsyr2k
+
+We have a report of this failing on Gentoo, and it's unlikely to get
+fixed any time soon. In any case it's reported upstream at,
+
+ https://github.com/linbox-team/fflas-ffpack/issues/393
+
+Bug: https://bugs.gentoo.org/924880
+---
+ tests/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index cd73818..2941182 100755
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -57,7 +57,6 @@ BASIC_TESTS = \
+ test-quasisep \
+ test-pluq-check \
+ test-fsyrk \
+- test-fsyr2k \
+ test-fsytrf \
+ test-invert-check \
+ test-rankprofiles \
+--
+2.43.0
+
diff --git a/sci-libs/fflas-ffpack/metadata.xml b/sci-libs/fflas-ffpack/metadata.xml
index 9de9afc41f19..3dd66b794a30 100644
--- a/sci-libs/fflas-ffpack/metadata.xml
+++ b/sci-libs/fflas-ffpack/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sci-libs/fftw/Manifest b/sci-libs/fftw/Manifest
index 6eebda50fbe3..8837fa157ed7 100644
--- a/sci-libs/fftw/Manifest
+++ b/sci-libs/fftw/Manifest
@@ -1,3 +1 @@
-DIST fftw-2.1.5.tar.gz 1256888 BLAKE2B 61e2eed91459479ab893a423c1a6f38dd7e9637e0466fa0a59fccfa2cec930e8870a5febfccfacfe44e876e40534c34e05dc62b8e7bf188b43fe3a65c6a7bdba SHA512 8724a7f66aa19b271aa0ffb0e3762919f08082ac4400f52d11b50aef9b9d23a7d4fc5d6b2eae0ac166e2bb30a4d38a52c878e8bf8e24aba01ab1c3ddf5ebec15
-DIST fftw-3.3.6-pl2.tar.gz 4185261 BLAKE2B e2f877c13ab441ddf1ae731cf3ebdc5d1565f8216f497694ea1fccc43b6a53fc02d39e17f97c56d15d03410b2005e6c693cb4b639399aac0f6ebdc63fed32d2e SHA512 e130309856752a1555b6d151c4d0ce9eb4b2c208fff7e3e89282ca8ef6104718f865cbb5e9c4af4367b3615b69b0d50fd001a26d74fd5324ff2faabe14fe3472
-DIST fftw-3.3.8.tar.gz 4110137 BLAKE2B 555ac1401a5a41b7661afd0288c2353398f2c9b73695742459079ebf050dfa4c371484ea65324fd4b7d374f70d88a5942ff8abaad167b0d44d485bf1dc9e208c SHA512 ab918b742a7c7dcb56390a0a0014f517a6dff9a2e4b4591060deeb2c652bf3c6868aa74559a422a276b853289b4b701bdcbd3d4d8c08943acf29167a7be81a38
+DIST fftw-3.3.10.tar.gz 4144100 BLAKE2B 3663872bd95a01d2c79af185f53918e1d1a9c91c620082402772c07f25b9b77d4920a78dc686fac6b51aa961b8d62b7e2cef3f3031e096bed40ced80b59b29d5 SHA512 2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40
diff --git a/sci-libs/fftw/fftw-2.1.5-r9.ebuild b/sci-libs/fftw/fftw-2.1.5-r9.ebuild
deleted file mode 100644
index d4bb1d4b0677..000000000000
--- a/sci-libs/fftw/fftw-2.1.5-r9.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit autotools flag-o-matic fortran-2 multibuild toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org"
-SRC_URI="http://www.fftw.org/${P}.tar.gz"
-
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-
-LICENSE="GPL-2+"
-SLOT="2.1"
-IUSE="doc float fortran mpi openmp threads static-libs"
-
-RDEPEND="mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-as-needed.patch
- "${FILESDIR}"/${P}-configure.in.patch
- "${FILESDIR}"/${P}-no-test.patch
- "${FILESDIR}"/${P}-cc.patch
- "${FILESDIR}"/${P}-texinfo5.1.patch
- "${FILESDIR}"/${P}-parallel-tests.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- FORTRAN_NEED_OPENMP=1
- fi
-
- fortran-2_pkg_setup
-
- MULTIBUILD_VARIANTS=( single double )
-}
-
-src_prepare() {
- default
-
- # fix info files
- local infofile
- for infofile in doc/fftw*info*; do
- cat >> ${infofile} <<-EOF || die
- INFO-DIR-SECTION Libraries
- START-INFO-DIR-ENTRY
- * fftw: (fftw). ${DESCRIPTION}
- END-INFO-DIR-ENTRY
- EOF
- done
-
- mv configure.{in,ac} || die
- sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die
-
- eautoreconf
-
- # 'FAQ' is actually a dir and causes issues with einstalldocs
- rm -r FAQ || die
-
- multibuild_copy_sources
-}
-
-fftw_src_configure() {
- local myconf=(
- --with-gcc=$(tc-getCC)
- --enable-shared
- --enable-type-prefix
- --enable-vec-recurse
- $(use_enable fortran)
- $(use_enable mpi)
- $(use_enable static-libs static)
- $(use_enable x86 i386-hacks)
- $(use_with openmp)
- )
-
- if use openmp || use threads; then
- myconf+=( --enable-threads )
- else
- myconf+=( --disable-threads )
- fi
-
- [[ $MULTIBUILD_VARIANT == single ]] && myconf+=( --enable-float )
-
- econf "${myconf[@]}"
-}
-
-src_configure() {
- # 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
- use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
-
- multibuild_foreach_variant run_in_build_dir fftw_src_configure
-}
-
-src_compile() {
- multibuild_foreach_variant run_in_build_dir default_src_compile
-}
-
-src_test() {
- multibuild_foreach_variant run_in_build_dir default_src_test
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/*.{html,gif} )
- multibuild_foreach_variant run_in_build_dir default_src_install
-
- doheader fortran/fftw_f77.i
-
- create_fftw_symlinks() {
- local i f letter=$1
- for i in fft rfft; do
- for f in "${ED%/}"/usr/{include,$(get_libdir)}/*${letter}${i}*; do
- ln -s $(basename ${f}) ${f/${letter}${i}/${i}} || die
- done
- done
- }
- create_fftw_symlinks $(usex float s d)
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/sci-libs/fftw/fftw-3.3.10.ebuild b/sci-libs/fftw/fftw-3.3.10.ebuild
new file mode 100644
index 000000000000..213b53606d55
--- /dev/null
+++ b/sci-libs/fftw/fftw-3.3.10.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2 multibuild multilib-minimal toolchain-funcs
+
+DESCRIPTION="Fast C library for the Discrete Fourier Transform"
+HOMEPAGE="https://www.fftw.org/"
+
+MY_P=${PN}-${PV/_p/-pl}
+
+if [[ ${PV} == *9999 ]]; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/FFTW/fftw3.git"
+else
+ SRC_URI="https://www.fftw.org/${PN}-${PV/_p/-pl}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="3.0/3"
+IUSE="cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 doc fortran mpi openmp test threads zbus"
+RESTRICT="!test? ( test )"
+
+RDEPEND="mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-lang/perl )"
+
+HTML_DOCS=( doc/html/. )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ FORTRAN_NEED_OPENMP=1
+ fi
+
+ fortran-2_pkg_setup
+ MULTIBUILD_VARIANTS=( single double longdouble )
+}
+
+src_prepare() {
+ default
+
+ # fix info file for category directory
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-shared
+ --disable-static
+ $(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)
+ )
+
+ [[ ${PV} == *9999 ]] && myconf+=( --enable-maintainer-mode )
+
+ # --enable-quad-precision is a brittle feature that requires
+ # __float128 support from the toolchain, which is lacking on
+ # most niche architectures. Bug #770346
+ case "${MULTIBUILD_ID}" in
+ single-*)
+ # altivec, sse, single-paired only work for single
+ myconf+=(
+ --enable-single
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable cpu_flags_x86_avx avx)
+ $(use_enable cpu_flags_x86_avx2 avx2)
+ $(use_enable cpu_flags_x86_sse sse)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable cpu_flags_arm_neon neon)
+ $(use_enable mpi)
+ )
+ ;;
+
+ double-*)
+ myconf+=(
+ $(use_enable cpu_flags_x86_avx avx)
+ $(use_enable cpu_flags_x86_avx2 avx2)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable mpi)
+ )
+ ;;
+
+ longdouble-*)
+ myconf+=(
+ --enable-long-double
+ $(use_enable mpi)
+ )
+ ;;
+
+ *)
+ die "${MULTIBUILD_ID%-*} precision not implemented in this ebuild"
+ ;;
+ esac
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}" MPICC="$(tc-getCC)"
+}
+
+src_configure() {
+ multibuild_foreach_variant multilib-minimal_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant multilib-minimal_src_compile
+}
+
+multilib_src_test() {
+ emake -C tests smallcheck
+}
+
+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 multilib-minimal_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant multilib-minimal_src_install
+ dodoc CONVENTIONS
+
+ if use doc; then
+ dodoc doc/*.pdf
+ docinto faq
+ dodoc -r doc/FAQ/fftw-faq.html/.
+ else
+ rm -r "${ED}"/usr/share/doc/${PF}/html || die
+ fi
+
+ augment_pc_files() {
+ local x
+ for x in "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc; do
+ local u
+ 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
+ }
+ multilib_foreach_abi augment_pc_files
+
+ # fftw uses pkg-config to record its private dependencies
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/fftw/fftw-3.3.6_p2.ebuild b/sci-libs/fftw/fftw-3.3.6_p2.ebuild
deleted file mode 100644
index 3d8aa2902359..000000000000
--- a/sci-libs/fftw/fftw-3.3.6_p2.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit flag-o-matic fortran-2 toolchain-funcs versionator multibuild multilib-minimal
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
-
-MY_P=${PN}-${PV/_p/-pl}
-
-if [[ ${PV} = *9999 ]]; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/FFTW/fftw3.git"
-else
- SRC_URI="http://www.fftw.org/${PN}-${PV/_p/-pl}.tar.gz"
- KEYWORDS="~alpha amd64 arm ~arm64 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 cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 doc fortran mpi neon openmp quad static-libs test threads zbus"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- test? ( dev-lang/perl )"
-
-S=${WORKDIR}/${MY_P}
-HTML_DOCS=( doc/html/. )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- FORTRAN_NEED_OPENMP=1
- fi
-
- fortran-2_pkg_setup
-
- MULTIBUILD_VARIANTS=( single double longdouble )
- if use quad; then
- if ! tc-is-gcc; then
- ewarn "quad precision only available for gcc >= 4.6"
- die "need quad precision capable gcc"
- fi
- MULTIBUILD_VARIANTS+=( quad )
- fi
-}
-
-src_prepare() {
- default
-
- # fix info file for category directory
- if [[ ${PV} = *9999 ]]; then
- sed -i -e
- 's/Texinfo documentation system/Libraries/' \
- doc/fftw3."info" || die "failed to fix info file"
-
- eautoreconf
- fi
-}
-
-multilib_src_configure() {
- # jlec reported USE=quad on abi_x86_32 has too few registers
- # stub Makefiles
- if [[ ${MULTILIB_ABI_FLAG} == abi_x86_32 && ${MULTIBUILD_ID} == 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 myconf=(
- --enable-shared
- $(use_enable static-libs static)
- $(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)
- )
- case "${MULTIBUILD_ID}" in
- single-*)
- # altivec, sse, single-paired only work for single
- myconf+=(
- --enable-single
- $(use_enable altivec)
- $(use_enable cpu_flags_x86_avx avx)
- $(use_enable cpu_flags_x86_avx2 avx2)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable neon)
- $(use_enable mpi)
- )
- ;;
-
- double-*)
- myconf+=(
- $(use_enable cpu_flags_x86_avx avx)
- $(use_enable cpu_flags_x86_avx2 avx2)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable mpi)
- )
- ;;
-
- longdouble-*)
- myconf+=(
- --enable-long-double
- $(use_enable mpi)
- )
- ;;
-
- quad-*)
- # quad does not support mpi
- myconf+=(
- --enable-quad-precision
- )
- ;;
-
- *)
- die "${MULTIBUILD_ID%-*} precision not implemented in this ebuild"
- ;;
- esac
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}" MPICC="$(tc-getCC) -lmpi"
-}
-
-src_configure() {
- multibuild_foreach_variant multilib-minimal_src_configure
-}
-
-src_compile() {
- multibuild_foreach_variant multilib-minimal_src_compile
-}
-
-multilib_src_test() {
- emake -C tests smallcheck
-}
-
-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 multilib-minimal_src_test
-}
-
-src_install() {
- multibuild_foreach_variant multilib-minimal_src_install
- dodoc CONVENTIONS
-
- if use doc; then
- dodoc doc/*.pdf
- docinto faq
- dodoc -r doc/FAQ/fftw-faq.html/.
- else
- rm -r "${ED%/}"/usr/share/doc/${PF}/html || die
- fi
-
- local x
- for x in "${ED%/}"/usr/lib*/pkgconfig/*.pc; do
- local u
- 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
-
- # fftw uses pkg-config to record its private dependencies
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/fftw/fftw-3.3.8-r1.ebuild b/sci-libs/fftw/fftw-3.3.8-r1.ebuild
deleted file mode 100644
index a6577c18e01f..000000000000
--- a/sci-libs/fftw/fftw-3.3.8-r1.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit flag-o-matic fortran-2 multibuild multilib-minimal toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
-
-MY_P=${PN}-${PV/_p/-pl}
-
-if [[ ${PV} = *9999 ]]; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/FFTW/fftw3.git"
-else
- SRC_URI="http://www.fftw.org/${PN}-${PV/_p/-pl}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 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="cpu_flags_ppc_altivec cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 doc fortran mpi neon openmp quad static-libs test threads zbus"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- quad? ( sys-devel/gcc[fortran] )
- test? ( dev-lang/perl )"
-
-S=${WORKDIR}/${MY_P}
-HTML_DOCS=( doc/html/. )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- FORTRAN_NEED_OPENMP=1
- fi
-
- fortran-2_pkg_setup
-
- MULTIBUILD_VARIANTS=( single double longdouble )
- if use quad; then
- if ! tc-is-gcc; then
- ewarn "quad precision only available for gcc >= 4.6"
- die "need quad precision capable gcc"
- fi
- MULTIBUILD_VARIANTS+=( quad )
- fi
-}
-
-src_prepare() {
- default
-
- # fix info file for category directory
- if [[ ${PV} = *9999 ]]; then
- sed -i -e
- 's/Texinfo documentation system/Libraries/' \
- doc/fftw3."info" || die "failed to fix info file"
-
- eautoreconf
- fi
-}
-
-multilib_src_configure() {
- # jlec reported USE=quad on abi_x86_32 has too few registers
- # stub Makefiles
- if [[ ${MULTILIB_ABI_FLAG} == abi_x86_32 && ${MULTIBUILD_ID} == 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 myconf=(
- --enable-shared
- $(use_enable static-libs static)
- $(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)
- )
- case "${MULTIBUILD_ID}" in
- single-*)
- # altivec, sse, single-paired only work for single
- myconf+=(
- --enable-single
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_avx avx)
- $(use_enable cpu_flags_x86_avx2 avx2)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable neon)
- $(use_enable mpi)
- )
- ;;
-
- double-*)
- myconf+=(
- $(use_enable cpu_flags_x86_avx avx)
- $(use_enable cpu_flags_x86_avx2 avx2)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable mpi)
- )
- ;;
-
- longdouble-*)
- myconf+=(
- --enable-long-double
- $(use_enable mpi)
- )
- ;;
-
- quad-*)
- # quad does not support mpi
- myconf+=(
- --enable-quad-precision
- )
- ;;
-
- *)
- die "${MULTIBUILD_ID%-*} precision not implemented in this ebuild"
- ;;
- esac
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}" MPICC="$(tc-getCC)"
-}
-
-src_configure() {
- # upstream does not append proper -m flags
- # https://bugs.gentoo.org/698572
- use cpu_flags_x86_avx2 && append-flags -mavx2
-
- multibuild_foreach_variant multilib-minimal_src_configure
-}
-
-src_compile() {
- multibuild_foreach_variant multilib-minimal_src_compile
-}
-
-multilib_src_test() {
- emake -C tests smallcheck
-}
-
-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 multilib-minimal_src_test
-}
-
-src_install() {
- multibuild_foreach_variant multilib-minimal_src_install
- dodoc CONVENTIONS
-
- if use doc; then
- dodoc doc/*.pdf
- docinto faq
- dodoc -r doc/FAQ/fftw-faq.html/.
- else
- rm -r "${ED%/}"/usr/share/doc/${PF}/html || die
- fi
-
- local x
- for x in "${ED%/}"/usr/lib*/pkgconfig/*.pc; do
- local u
- 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
-
- # fftw uses pkg-config to record its private dependencies
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/fftw/fftw-3.3.8.ebuild b/sci-libs/fftw/fftw-3.3.8.ebuild
deleted file mode 100644
index e54af4af14bf..000000000000
--- a/sci-libs/fftw/fftw-3.3.8.ebuild
+++ /dev/null
@@ -1,182 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit flag-o-matic fortran-2 multibuild multilib-minimal toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
-
-MY_P=${PN}-${PV/_p/-pl}
-
-if [[ ${PV} = *9999 ]]; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/FFTW/fftw3.git"
-else
- SRC_URI="http://www.fftw.org/${PN}-${PV/_p/-pl}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm arm64 ~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="cpu_flags_ppc_altivec cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 doc fortran mpi neon openmp quad static-libs test threads zbus"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- quad? ( sys-devel/gcc[fortran] )
- test? ( dev-lang/perl )"
-
-S=${WORKDIR}/${MY_P}
-HTML_DOCS=( doc/html/. )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- FORTRAN_NEED_OPENMP=1
- fi
-
- fortran-2_pkg_setup
-
- MULTIBUILD_VARIANTS=( single double longdouble )
- if use quad; then
- if ! tc-is-gcc; then
- ewarn "quad precision only available for gcc >= 4.6"
- die "need quad precision capable gcc"
- fi
- MULTIBUILD_VARIANTS+=( quad )
- fi
-}
-
-src_prepare() {
- default
-
- # fix info file for category directory
- if [[ ${PV} = *9999 ]]; then
- sed -i -e
- 's/Texinfo documentation system/Libraries/' \
- doc/fftw3."info" || die "failed to fix info file"
-
- eautoreconf
- fi
-}
-
-multilib_src_configure() {
- # jlec reported USE=quad on abi_x86_32 has too few registers
- # stub Makefiles
- if [[ ${MULTILIB_ABI_FLAG} == abi_x86_32 && ${MULTIBUILD_ID} == 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 myconf=(
- --enable-shared
- $(use_enable static-libs static)
- $(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)
- )
- case "${MULTIBUILD_ID}" in
- single-*)
- # altivec, sse, single-paired only work for single
- myconf+=(
- --enable-single
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_avx avx)
- $(use_enable cpu_flags_x86_avx2 avx2)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable neon)
- $(use_enable mpi)
- )
- ;;
-
- double-*)
- myconf+=(
- $(use_enable cpu_flags_x86_avx avx)
- $(use_enable cpu_flags_x86_avx2 avx2)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable mpi)
- )
- ;;
-
- longdouble-*)
- myconf+=(
- --enable-long-double
- $(use_enable mpi)
- )
- ;;
-
- quad-*)
- # quad does not support mpi
- myconf+=(
- --enable-quad-precision
- )
- ;;
-
- *)
- die "${MULTIBUILD_ID%-*} precision not implemented in this ebuild"
- ;;
- esac
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}" MPICC="$(tc-getCC) -lmpi"
-}
-
-src_configure() {
- multibuild_foreach_variant multilib-minimal_src_configure
-}
-
-src_compile() {
- multibuild_foreach_variant multilib-minimal_src_compile
-}
-
-multilib_src_test() {
- emake -C tests smallcheck
-}
-
-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 multilib-minimal_src_test
-}
-
-src_install() {
- multibuild_foreach_variant multilib-minimal_src_install
- dodoc CONVENTIONS
-
- if use doc; then
- dodoc doc/*.pdf
- docinto faq
- dodoc -r doc/FAQ/fftw-faq.html/.
- else
- rm -r "${ED%/}"/usr/share/doc/${PF}/html || die
- fi
-
- local x
- for x in "${ED%/}"/usr/lib*/pkgconfig/*.pc; do
- local u
- 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
-
- # fftw uses pkg-config to record its private dependencies
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/fftw/fftw-9999.ebuild b/sci-libs/fftw/fftw-9999.ebuild
index d92ed1ac2ad5..f3fa7dd693b0 100644
--- a/sci-libs/fftw/fftw-9999.ebuild
+++ b/sci-libs/fftw/fftw-9999.ebuild
@@ -1,37 +1,36 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
FORTRAN_NEEDED=fortran
-inherit flag-o-matic fortran-2 multibuild multilib-minimal toolchain-funcs
+inherit fortran-2 multibuild multilib-minimal toolchain-funcs
DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
+HOMEPAGE="https://www.fftw.org/"
MY_P=${PN}-${PV/_p/-pl}
-if [[ ${PV} = *9999 ]]; then
+if [[ ${PV} == *9999 ]]; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/FFTW/fftw3.git"
else
- SRC_URI="http://www.fftw.org/${PN}-${PV/_p/-pl}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+ SRC_URI="https://www.fftw.org/${PN}-${PV/_p/-pl}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
+S="${WORKDIR}/${MY_P}"
+
LICENSE="GPL-2+"
SLOT="3.0/3"
-IUSE="cpu_flags_ppc_altivec cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 doc fortran mpi neon openmp quad static-libs test threads zbus"
+IUSE="cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 doc fortran mpi openmp test threads zbus"
RESTRICT="!test? ( test )"
-RDEPEND="
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- quad? ( sys-devel/gcc[fortran] )
- test? ( dev-lang/perl )"
+RDEPEND="mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-lang/perl )"
-S=${WORKDIR}/${MY_P}
HTML_DOCS=( doc/html/. )
pkg_pretend() {
@@ -45,50 +44,32 @@ pkg_setup() {
fi
fortran-2_pkg_setup
-
MULTIBUILD_VARIANTS=( single double longdouble )
- if use quad; then
- if ! tc-is-gcc; then
- ewarn "quad precision only available for gcc >= 4.6"
- die "need quad precision capable gcc"
- fi
- MULTIBUILD_VARIANTS+=( quad )
- fi
}
src_prepare() {
default
# fix info file for category directory
- if [[ ${PV} = *9999 ]]; then
- sed -i -e
- 's/Texinfo documentation system/Libraries/' \
- doc/fftw3."info" || die "failed to fix info file"
-
- eautoreconf
- fi
+ [[ ${PV} == *9999 ]] && eautoreconf
}
multilib_src_configure() {
- # jlec reported USE=quad on abi_x86_32 has too few registers
- # stub Makefiles
- if [[ ${MULTILIB_ABI_FLAG} == abi_x86_32 && ${MULTIBUILD_ID} == 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 myconf=(
--enable-shared
- $(use_enable static-libs static)
+ --disable-static
$(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)
)
+
+ [[ ${PV} == *9999 ]] && myconf+=( --enable-maintainer-mode )
+
+ # --enable-quad-precision is a brittle feature that requires
+ # __float128 support from the toolchain, which is lacking on
+ # most niche architectures. Bug #770346
case "${MULTIBUILD_ID}" in
single-*)
# altivec, sse, single-paired only work for single
@@ -99,7 +80,7 @@ multilib_src_configure() {
$(use_enable cpu_flags_x86_avx2 avx2)
$(use_enable cpu_flags_x86_sse sse)
$(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable neon)
+ $(use_enable cpu_flags_arm_neon neon)
$(use_enable mpi)
)
;;
@@ -120,13 +101,6 @@ multilib_src_configure() {
)
;;
- quad-*)
- # quad does not support mpi
- myconf+=(
- --enable-quad-precision
- )
- ;;
-
*)
die "${MULTIBUILD_ID%-*} precision not implemented in this ebuild"
;;
@@ -166,17 +140,20 @@ src_install() {
docinto faq
dodoc -r doc/FAQ/fftw-faq.html/.
else
- rm -r "${ED%/}"/usr/share/doc/${PF}/html || die
+ rm -r "${ED}"/usr/share/doc/${PF}/html || die
fi
- local x
- for x in "${ED%/}"/usr/lib*/pkgconfig/*.pc; do
- local u
- for u in $(usev mpi) $(usev threads) $(usex openmp omp ""); do
- sed -e "s|-lfftw3[flq]\?|&_${u} &|" "$x" > "${x%.pc}_${u}.pc" || die
+ augment_pc_files() {
+ local x
+ for x in "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc; do
+ local u
+ 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
- done
+ }
+ multilib_foreach_abi augment_pc_files
# fftw uses pkg-config to record its private dependencies
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
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
deleted file mode 100644
index 63f46dccc4fd..000000000000
--- a/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch
+++ /dev/null
@@ -1,112 +0,0 @@
---- a/rfftw/Makefile.am
-+++ b/rfftw/Makefile.am
-@@ -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
-
---- a/threads/Makefile.am
-+++ b/threads/Makefile.am
-@@ -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 > $@
---- a/mpi/Makefile.am
-+++ b/mpi/Makefile.am
-@@ -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
---- a/mpi/test_sched.c
-+++ b/mpi/test_sched.c
-@@ -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
deleted file mode 100644
index aa5c6db038c8..000000000000
--- a/sci-libs/fftw/files/fftw-2.1.5-cc.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- 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
deleted file mode 100644
index 7abe3e751d5d..000000000000
--- a/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch
+++ /dev/null
@@ -1,226 +0,0 @@
---- a/configure.in
-+++ b/configure.in
-@@ -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
deleted file mode 100644
index cc844a455e66..000000000000
--- a/sci-libs/fftw/files/fftw-2.1.5-no-test.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -1,4 +1,4 @@
--noinst_PROGRAMS = fftw_test rfftw_test
-+check_PROGRAMS = fftw_test rfftw_test
- noinst_HEADERS = test_main.h
-
- FFTWDIR=../fftw
---- a/mpi/Makefile.am
-+++ b/mpi/Makefile.am
-@@ -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
---- a/threads/Makefile.am
-+++ b/threads/Makefile.am
-@@ -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-parallel-tests.patch b/sci-libs/fftw/files/fftw-2.1.5-parallel-tests.patch
deleted file mode 100644
index b92e6dad299c..000000000000
--- a/sci-libs/fftw/files/fftw-2.1.5-parallel-tests.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-Fix failure of parallel test suite. This is due to
-misspecification of the test suite, which requires
-first compiling $(check_PROGRAMS) and only then
-running $(TESTS):
-
-* check-am: all-am
-* $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-* $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-
-The old build system never specified $(TESTS) and
-erroneously made the check target depend on the
-two tests.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=603352
-
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -12,22 +12,7 @@
- rfftw_test_LDADD = $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \
- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la
-
--check: fftw-tests rfftw-tests
-+TESTS = myfftwtests.sh myrfftwtests.sh
-
--fftw-tests: fftw_test
-- ./fftw_test -p 0
-- ./fftw_test -x 128 -a 0
-- ./fftw_test -x 32 -a 2
-- ./fftw_test -x 100 -r 0
-- @echo "--------------------------------------------------------------"
-- @echo " FFTW complex-complex transforms passed tests!"
-- @echo "--------------------------------------------------------------"
--
--rfftw-tests: rfftw_test
-- ./rfftw_test -p 0
-- ./rfftw_test -x 128 -a 0
-- ./rfftw_test -x 32 -a 2
-- ./rfftw_test -x 100 -r 0
-- @echo "--------------------------------------------------------------"
-- @echo " RFFTW real-complex transforms passed tests!"
-- @echo "--------------------------------------------------------------"
-+TEST_EXTENSIONS = .sh
-+SH_LOG_COMPILER = $(SHELL)
---- a/tests/myfftwtests.sh
-+++ b/tests/myfftwtests.sh
-@@ -0,0 +1,4 @@
-+./fftw_test -p 0 && \
-+./fftw_test -x 128 -a 0 && \
-+./fftw_test -x 32 -a 2 && \
-+./fftw_test -x 100 -r 0
---- a/tests/myrfftwtests.sh
-+++ b/tests/myrfftwtests.sh
-@@ -0,0 +1,4 @@
-+./rfftw_test -p 0 && \
-+./rfftw_test -x 128 -a 0 && \
-+./rfftw_test -x 32 -a 2 && \
-+./rfftw_test -x 100 -r 0
---- a/threads/fftw_threads_test_check.sh
-+++ b/threads/fftw_threads_test_check.sh
-@@ -0,0 +1,4 @@
-+./fftw_threads_test 1 -x 100 -r 0 && \
-+./fftw_threads_test 2 -x 100 -r 0 && \
-+./fftw_threads_test 3 -x 100 -r 0 && \
-+./fftw_threads_test 10 -x 100 -r 0
---- a/threads/Makefile.am
-+++ b/threads/Makefile.am
-@@ -78,29 +78,7 @@
- # incorrect. Just disable autoheader
- AUTOHEADER=echo
-
--check: @FFTW_THREADS_PROGLIST@
-- @set fnord $(MAKEFLAGS); amf=$$2; \
-- list='@FFTW_THREADS_PROGLIST@'; for prog in $$list; do \
-- target="$$prog""-check"; \
-- echo "Making $$target"; \
-- ($(MAKE) $$target) \
-- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-- done && test -z "$$fail"
-+TESTS = fftw_threads_test_check.sh rfftw_threads_test_check.sh
-
--fftw_threads_test-check: fftw_threads_test
-- ./fftw_threads_test 1 -x 100 -r 0
-- ./fftw_threads_test 2 -x 100 -r 0
-- ./fftw_threads_test 3 -x 100 -r 0
-- ./fftw_threads_test 10 -x 100 -r 0
-- @echo "--------------------------------------------------------------"
-- @echo " FFTW complex-complex threads transforms passed tests!"
-- @echo "--------------------------------------------------------------"
--
--rfftw_threads_test-check: rfftw_threads_test
-- ./rfftw_threads_test 1 -x 100 -r 0
-- ./rfftw_threads_test 2 -x 100 -r 0
-- ./rfftw_threads_test 3 -x 100 -r 0
-- ./rfftw_threads_test 10 -x 100 -r 0
-- @echo "--------------------------------------------------------------"
-- @echo " RFFTW real-complex threads transforms passed tests!"
-- @echo "--------------------------------------------------------------"
-+TEST_EXTENSIONS = .sh
-+SH_LOG_COMPILER = $(SHELL)
---- a/threads/rfftw_threads_test_check.sh
-+++ b/threads/rfftw_threads_test_check.sh
-@@ -0,0 +1,4 @@
-+./rfftw_threads_test 1 -x 100 -r 0 && \
-+./rfftw_threads_test 2 -x 100 -r 0 && \
-+./rfftw_threads_test 3 -x 100 -r 0 && \
-+./rfftw_threads_test 10 -x 100 -r 0
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
deleted file mode 100644
index 1947bef8f21f..000000000000
--- a/sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch
+++ /dev/null
@@ -1,21 +0,0 @@
- 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
index 38679de9df3e..725a22ae5c28 100644
--- a/sci-libs/fftw/metadata.xml
+++ b/sci-libs/fftw/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -13,14 +13,11 @@
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>
+ </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>
+ <remote-id type="github">FFTW/fftw3</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch b/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch
new file mode 100644
index 000000000000..f29aef41977c
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch
@@ -0,0 +1,81 @@
+From 85d2acc120b0640d02d189089bf113d351c14bba Mon Sep 17 00:00:00 2001
+From: Alexander Golubev <fatzer2@gmail.com>
+Date: Wed, 16 Feb 2022 21:37:55 +0300
+Subject: [PATCH] build *.oct rather than *.mex files for octave
+
+ * build .oct filse rather than *.mex
+ * install the file to a sane location obtained from octave-config
+ * fix a build issue with a recent cmake doesn't like querying target
+ LOCATION
+
+Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
+---
+ src/matlab/CMakeLists.txt | 28 ++++++++++++++++++----------
+ 1 file changed, 18 insertions(+), 10 deletions(-)
+
+diff --git a/src/matlab/CMakeLists.txt b/src/matlab/CMakeLists.txt
+index a89b6b8..ebacaea 100755
+--- a/src/matlab/CMakeLists.txt
++++ b/src/matlab/CMakeLists.txt
+@@ -16,9 +16,6 @@ endif()
+
+ find_program(OCT_CMD mkoctfile)
+
+-get_property(FLANN_LIB_LOCATION TARGET flann_s PROPERTY LOCATION)
+-get_filename_component(FLANN_LIB_PATH ${FLANN_LIB_LOCATION} PATH)
+-
+ if(MEX_CMD AND MEXEXT_CMD)
+
+ get_filename_component(MEX_REAL_CMD ${MEX_CMD} ABSOLUTE)
+@@ -48,7 +45,7 @@ if(MEX_CMD AND MEXEXT_CMD)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${MEX_FILE}
+ COMMAND ${MEX_REAL_CMD}
+- ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${FLANN_LIB_PATH} -lflann_s ${MEX_BUILD_FLAGS}
++ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${PROJECT_BINARY_DIR}/lib -lflann_s ${MEX_BUILD_FLAGS}
+ DEPENDS flann_s ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp
+ COMMENT "Building MEX extension ${MEX_FILE}"
+ )
+@@ -66,11 +63,11 @@ if(MEX_CMD AND MEXEXT_CMD)
+ set(BUILD_MATLAB_BINDINGS OFF)
+ endif()
+ elseif(OCT_CMD)
+- SET(MEX_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MEX_NAME}.mex)
++ SET(MEX_FILE ${CMAKE_CURRENT_BINARY_DIR}/${MEX_NAME}.oct)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${MEX_FILE}
+ COMMAND ${OCT_CMD}
+- ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${FLANN_LIB_PATH} -DFLANN_STATIC -lflann_s -lgomp --mex
++ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp -I${PROJECT_SOURCE_DIR}/src/cpp -L${PROJECT_BINARY_DIR}/lib -DFLANN_STATIC -lflann_s -lgomp
+ DEPENDS flann_s ${CMAKE_CURRENT_SOURCE_DIR}/${MEX_NAME}.cpp
+ COMMENT "Building MEX extension ${MEX_FILE}"
+ )
+@@ -79,10 +76,21 @@ elseif(OCT_CMD)
+
+ FILE(GLOB MATLAB_SOURCES *.m)
+
+- INSTALL (
+- FILES ${MEX_FILE} ${MATLAB_SOURCES}
+- DESTINATION share/flann/octave
+- )
++ find_program(OCTAVE_CONFIG_EXECUTABLE NAMES octave-config)
++
++ if (OCTAVE_CONFIG_EXECUTABLE)
++ execute_process (COMMAND ${OCTAVE_CONFIG_EXECUTABLE} --m-site-dir
++ OUTPUT_VARIABLE OCTAVE_M_SITE_DIR
++ OUTPUT_STRIP_TRAILING_WHITESPACE)
++
++ execute_process (COMMAND ${OCTAVE_CONFIG_EXECUTABLE} --oct-site-dir
++ OUTPUT_VARIABLE OCTAVE_OCT_SITE_DIR
++ OUTPUT_STRIP_TRAILING_WHITESPACE)
++
++ endif()
++
++ INSTALL (FILES ${MEX_FILE} DESTINATION ${OCTAVE_OCT_SITE_DIR})
++ INSTALL (FILES ${MATLAB_SOURCES} DESTINATION ${OCTAVE_M_SITE_DIR})
+ else()
+ message(WARNING "Cannot find MATLAB or Octave instalation. Make sure that the 'bin' directory from the MATLAB instalation or that mkoctfile is in PATH")
+ set(BUILD_MATLAB_BINDINGS OFF)
+--
+2.34.1
+
diff --git a/sci-libs/flann/files/flann-1.9.1-system-lz4-pkgconfig.patch b/sci-libs/flann/files/flann-1.9.1-system-lz4-pkgconfig.patch
new file mode 100644
index 000000000000..35ea0d0e9841
--- /dev/null
+++ b/sci-libs/flann/files/flann-1.9.1-system-lz4-pkgconfig.patch
@@ -0,0 +1,38 @@
+https://github.com/flann-lib/flann/pull/480
+
+https://bugs.gentoo.org/827263
+https://bugs.gentoo.org/829398
+https://bugs.gentoo.org/681898
+
+From 25eb56ec78472bd419a121c6905095a793cf8992 Mon Sep 17 00:00:00 2001
+From: Mike Purvis <mpurvis@clearpath.ai>
+Date: Fri, 9 Jul 2021 15:53:06 +0000
+Subject: [PATCH] Use string(JOIN) to avoid semicolons in pc file.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.6)
++cmake_minimum_required(VERSION 3.12)
+
+ if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
+@@ -148,6 +148,7 @@ endif(BUILD_CUDA_LIB)
+
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(LZ4 REQUIRED liblz4)
++string(JOIN " " LZ4_STATIC_LDFLAGS_STR ${LZ4_STATIC_LDFLAGS})
+
+ #set the C/C++ include path to the "include" directory
+ include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp)
+--- a/cmake/flann.pc.in
++++ b/cmake/flann.pc.in
+@@ -8,6 +8,6 @@ Name: @PROJECT_NAME@
+ Description: @PKG_DESC@
+ Version: @FLANN_VERSION@
+ Requires: @PKG_EXTERNAL_DEPS@
+-Libs: -L${libdir} @LZ4_STATIC_LDFLAGS@ -lflann -lflann_cpp
++Libs: -L${libdir} @LZ4_STATIC_LDFLAGS_STR@ -lflann -lflann_cpp
+ Cflags: -I${includedir}
+
+
diff --git a/sci-libs/flann/flann-1.9.1-r3.ebuild b/sci-libs/flann/flann-1.9.1-r3.ebuild
deleted file mode 100644
index e53d428ee73c..000000000000
--- a/sci-libs/flann/flann-1.9.1-r3.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake cuda flag-o-matic toolchain-funcs
-
-DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces"
-HOMEPAGE="https://github.com/mariusmuja/flann"
-SRC_URI="https://github.com/mariusmuja/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc x86 ~amd64-linux ~x86-linux"
-IUSE="cuda doc examples mpi octave openmp"
-
-BDEPEND="
- app-arch/unzip
- doc? ( dev-tex/latex2html )
-"
-DEPEND="
- app-arch/lz4:=
- cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
- mpi? (
- dev-libs/boost:=[mpi]
- sci-libs/hdf5[mpi]
- )
- !mpi? ( !sci-libs/hdf5[mpi] )
- octave? ( >=sci-mathematics/octave-3.6.4-r1 )
-"
-RDEPEND="${DEPEND}"
-# TODO:
-# readd dependencies for test suite,
-# requires multiple ruby dependencies
-
-PATCHES=(
- "${FILESDIR}"/${P}-cmake-3.11{,-1}.patch # bug 678030
- "${FILESDIR}"/${P}-cuda-9.patch
- "${FILESDIR}"/${P}-system-lz4.patch # bug 681898
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-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_src_prepare
-}
-
-src_configure() {
- append-cxxflags -std=c++11
-
- # python bindings are split off into dev-python/pyflann
- local mycmakeargs=(
- -DBUILD_C_BINDINGS=ON
- -DBUILD_PYTHON_BINDINGS=OFF
- -DPYTHON_EXECUTABLE=
- -DBUILD_CUDA_LIB=$(usex cuda)
- -DBUILD_EXAMPLES=$(usex examples)
- -DBUILD_DOC=$(usex doc)
- -DBUILD_TESTS=OFF
- -DBUILD_MATLAB_BINDINGS=$(usex octave)
- -DUSE_MPI=$(usex mpi)
- -DUSE_OPENMP=$(usex openmp)
- )
- use cuda && mycmakeargs+=(
- -DCUDA_NVCC_FLAGS="${NVCCFLAGS} --linker-options \"-arsch\""
- )
- use doc && mycmakeargs+=( -DDOCDIR=share/doc/${PF} )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- find "${D}" -name 'lib*.a' -delete || die
-}
diff --git a/sci-libs/flann/flann-1.9.1-r6.ebuild b/sci-libs/flann/flann-1.9.1-r6.ebuild
new file mode 100644
index 000000000000..8f253ff0802e
--- /dev/null
+++ b/sci-libs/flann/flann-1.9.1-r6.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake cuda flag-o-matic toolchain-funcs
+
+DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces"
+HOMEPAGE="https://github.com/mariusmuja/flann"
+SRC_URI="https://github.com/mariusmuja/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc examples mpi octave openmp"
+
+BDEPEND="
+ app-arch/unzip
+ doc? ( dev-tex/latex2html )
+ mpi? ( app-admin/chrpath )
+"
+DEPEND="
+ app-arch/lz4:=
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
+ mpi? (
+ dev-libs/boost:=[mpi]
+ sci-libs/hdf5:=[mpi]
+ )
+ !mpi? ( !sci-libs/hdf5[mpi] )
+ octave? ( >=sci-mathematics/octave-3.6.4-r1:= )
+"
+RDEPEND="${DEPEND}"
+# TODO:
+# readd dependencies for test suite,
+# requires multiple ruby dependencies
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake-3.11{,-1}.patch # bug 678030
+ "${FILESDIR}"/${P}-cuda-9.patch
+ "${FILESDIR}"/${P}-system-lz4.patch # bug 681898
+ "${FILESDIR}"/${P}-system-lz4-pkgconfig.patch # bug 827263
+ "${FILESDIR}"/${P}-build-oct-rather-than-mex-files-for-octave.patch # bug 830424
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ # bug #302621
+ use mpi && export CXX=mpicxx
+
+ use cuda && cuda_src_prepare
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ append-cxxflags -std=c++11
+
+ # python bindings are split off into dev-python/pyflann
+ local mycmakeargs=(
+ -DBUILD_C_BINDINGS=ON
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DPYTHON_EXECUTABLE=
+ -DBUILD_CUDA_LIB=$(usex cuda)
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DBUILD_DOC=$(usex doc)
+ -DBUILD_TESTS=OFF
+ -DBUILD_MATLAB_BINDINGS=$(usex octave)
+ -DUSE_MPI=$(usex mpi)
+ -DUSE_OPENMP=$(usex openmp)
+ )
+ use cuda && mycmakeargs+=(
+ -DCUDA_NVCC_FLAGS="${NVCCFLAGS} --linker-options \"-arsch\""
+ )
+ use doc && mycmakeargs+=( -DDOCDIR=share/doc/${PF} )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ find "${D}" -name 'lib*.a' -delete || die
+
+ # bug 795828; mpicc volunterely adds some runpaths
+ if use mpi; then
+ chrpath -d "${ED}"/usr/bin/flann_mpi_{client,server} || die
+ fi
+}
diff --git a/sci-libs/flann/flann-9999.ebuild b/sci-libs/flann/flann-9999.ebuild
deleted file mode 100644
index 04b6a5770ac6..000000000000
--- a/sci-libs/flann/flann-9999.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils cuda flag-o-matic git-r3 toolchain-funcs
-
-DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces"
-HOMEPAGE="https://www.cs.ubc.ca/research/flann/"
-EGIT_REPO_URI="https://github.com/mariusmuja/flann.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="cuda doc examples mpi openmp octave static-libs"
-
-BDEPEND="
- doc? ( dev-tex/latex2html )
-"
-DEPEND="
- app-arch/lz4:=
- 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 )
-"
-RDEPEND="${DEPEND}"
-# TODO:
-# readd dependencies for test suite,
-# requires multiple ruby dependencies
-
-PATCHES=( "${FILESDIR}"/flann-1.9.1-cmake-3.11.patch )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-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() {
- append-cxxflags -std=c++11
-
- # python bindings are split
- # off into dev-python/pyflann
- local mycmakeargs=(
- -DBUILD_C_BINDINGS=ON
- -DBUILD_PYTHON_BINDINGS=OFF
- -DPYTHON_EXECUTABLE=
- -DBUILD_CUDA_LIB=$(usex cuda)
- -DBUILD_EXAMPLES=$(usex examples)
- -DBUILD_DOC=$(usex doc)
- -DBUILD_TESTS=OFF
- -DBUILD_MATLAB_BINDINGS=$(usex octave)
- -DUSE_MPI=$(usex mpi)
- -DUSE_OPENMP=$(usex openmp)
- )
- use cuda && mycmakeargs+=(
- -DCUDA_NVCC_FLAGS="${NVCCFLAGS} --linker-options \"-arsch\""
- )
- use doc && mycmakeargs+=( -DDOCDIR=share/doc/${PF} )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- if ! use static-libs; then
- find "${D}" -name 'lib*.a' -delete || die
- fi
-}
diff --git a/sci-libs/flann/metadata.xml b/sci-libs/flann/metadata.xml
index 3238be55ea69..c33b2618d660 100644
--- a/sci-libs/flann/metadata.xml
+++ b/sci-libs/flann/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -17,7 +17,6 @@
<use>
<flag name="octave">Add bindings for
<pkg>sci-mathematics/octave</pkg></flag>
- <flag name="cuda">Enable support for nVidia CUDA</flag>
</use>
<upstream>
<remote-id type="github">mariusmuja/flann</remote-id>
diff --git a/sci-libs/foxi/Manifest b/sci-libs/foxi/Manifest
new file mode 100644
index 000000000000..9186a3d04fb8
--- /dev/null
+++ b/sci-libs/foxi/Manifest
@@ -0,0 +1 @@
+DIST foxi-2021.05.27.tar.gz 28960 BLAKE2B 06c960f829b090eec4fe9e8c981e119578f358724e0b63991173bb7e318d23654261b901d1e15efeb6240bba75cc05fd45ab32fb30bbdf48369e139cf152f398 SHA512 ad42cfd70e40ba0f0a9187b34ae9e3bd361c8c0038669f4c1591c4f7421d12ad93f76f42b33c2575eea1a3ddb3ff781da2895cdc636df5b60422598f450203c7
diff --git a/sci-libs/foxi/files/foxi-2021.05.27-gentoo.patch b/sci-libs/foxi/files/foxi-2021.05.27-gentoo.patch
new file mode 100644
index 000000000000..f252ae4fcdb2
--- /dev/null
+++ b/sci-libs/foxi/files/foxi-2021.05.27-gentoo.patch
@@ -0,0 +1,73 @@
+--- a/CMakeLists.txt 2022-06-13 21:42:28.197087591 +0200
++++ b/CMakeLists.txt 2022-06-13 21:44:49.787170054 +0200
+@@ -77,6 +77,7 @@
+ OUTPUT_NAME "foxi"
+ POSITION_INDEPENDENT_CODE YES)
+ target_link_libraries(foxi_wrapper PRIVATE foxi_loader foxi)
++ target_link_options(foxi_wrapper PUBLIC "-Wl,-soname=libfoxi.so")
+ if(DEFINED FOXI_SEARCH_DIR)
+ target_compile_definitions(foxi_wrapper PRIVATE "FOXI_SEARCH_DIR=\"${FOXI_SEARCH_DIR}\"")
+ endif()
+@@ -115,11 +116,11 @@
+
+ install(TARGETS
+ foxi foxi_dummy foxi_loader
+- EXPORT ONNXTargets DESTINATION lib)
++ EXPORT ONNXTargets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ if(NOT ANDROID AND NOT IOS)
+ install(TARGETS foxi_wrapper
+- EXPORT ONNXTargets DESTINATION lib)
++ EXPORT ONNXTargets DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+
+ set(FOXI_INCLUDE_DIRS "${FOXI_ROOT}" "${CMAKE_CURRENT_BINARY_DIR}")
+--- a/foxi/onnxifi_wrapper.c 2022-06-14 08:07:07.351585673 +0200
++++ b/foxi/onnxifi_wrapper.c 2022-06-14 08:11:21.680855591 +0200
+@@ -761,7 +761,9 @@
+ const void* onnxModel,
+ uint32_t weightsCount,
+ const onnxTensorDescriptorV1* weightDescriptors,
+- onnxGraph* graph)
++ onnxGraph* graph,
++ uint32_t maxSeqLength,
++ void* deferredWeightReader)
+ {
+ if (graph == NULL) {
+ return ONNXIFI_STATUS_INVALID_POINTER;
+@@ -797,7 +799,9 @@
+ onnxModel,
+ weightsCount,
+ weightDescriptors,
+- &graph_wrapper->graph);
++ &graph_wrapper->graph,
++ maxSeqLength,
++ deferredWeightReader);
+ switch (status) {
+ case ONNXIFI_STATUS_SUCCESS:
+ case ONNXIFI_STATUS_FALLBACK:
+--- a/foxi/onnxifi_dummy.c 2022-06-14 08:14:02.484503254 +0200
++++ b/foxi/onnxifi_dummy.c 2022-06-14 08:17:01.408891030 +0200
+@@ -103,7 +103,9 @@
+ const void* onnxModel,
+ uint32_t weightCount,
+ const onnxTensorDescriptorV1* weightDescriptors,
+- onnxGraph* graph) {
++ onnxGraph* graph,
++ uint32_t maxSeqLength,
++ void* deferredWeightReader) {
+ if (graph == NULL) {
+ return ONNXIFI_STATUS_INVALID_POINTER;
+ }
+@@ -215,6 +217,8 @@
+ onnxWaitEventFor(onnxEvent event,
+ uint32_t timeoutMs,
+ onnxEventState* eventState,
+- onnxStatus* eventStatus) {
++ onnxStatus* eventStatus,
++ char* message,
++ size_t* messageLength) {
+ return ONNXIFI_STATUS_SUCCESS;
+-}
+\ No newline at end of file
++}
diff --git a/sci-libs/foxi/foxi-2021.05.27.ebuild b/sci-libs/foxi/foxi-2021.05.27.ebuild
new file mode 100644
index 000000000000..667c6691565a
--- /dev/null
+++ b/sci-libs/foxi/foxi-2021.05.27.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=c278588e34e535f0bb8f00df3880d26928038cad
+
+DESCRIPTION="ONNXIFI with Facebook Extension"
+HOMEPAGE="https://github.com/houseroad/foxi/"
+SRC_URI="https://github.com/houseroad/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RESTRICT="test" # No test available
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
diff --git a/sci-libs/foxi/metadata.xml b/sci-libs/foxi/metadata.xml
new file mode 100644
index 000000000000..2b6c8e44882d
--- /dev/null
+++ b/sci-libs/foxi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">houseroad/foxi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/fplll/Manifest b/sci-libs/fplll/Manifest
index 7db55152bdea..a47edd02beb0 100644
--- a/sci-libs/fplll/Manifest
+++ b/sci-libs/fplll/Manifest
@@ -1,3 +1 @@
-DIST fplll-5.3.2.tar.gz 1284989 BLAKE2B 66d022c1a6acb3f029c871bebf4925ec5f9447af71829c6d52f2065155bf75f075965a41918722d095546ca18e8e87a85f181a76f5e42abd20c8de8165210bab SHA512 eacd990c468b1d919e1d6cc04f99656d982d5a3807970e0a1dd910a2703eb5b8eff913bc5c0e45790a547bb7aa71189fb9022024186bb84ee04d8602c9980ac2
-DIST fplll-5.3.3.tar.gz 1289510 BLAKE2B 116af9013a9c030301f2a37fae9c4865244c93de8d7a06e6f605387c4e421f9e0735c456291cb1e44d6da3c82dbea3a8f91709eea3f69a4aab1fee876f534aff SHA512 f69b98c9befe9f2ce15fdcb1b4c1bf83a7267f606770228e05416e13930d1ecb745824b1793ccc11ab13ddb0140c1daa6cfade50f2e79f93dee296880d98bef4
-DIST libfplll-4.0.4.tar.gz 413519 BLAKE2B afeea5a813d3d5b1b7fe3e81d5a8e9bce66ee4f8a3d265dacaa0ba7ff2f632f0f533182027322e2fd17645f5bc5816b266b167da0e36a00a38f73e794e22a522 SHA512 81cf61118f0dadca8fd82cc58df2fb5f0dc3ddd15a9b5de95a7777e0ece77d8f6a6d50d14ba7fdd6be6697cf375fac2e60792c94cc65f5a181c427dea84d552d
+DIST fplll-5.4.5.tar.gz 2630275 BLAKE2B 43d1601f401c3a4eba60939028b26f99d32f92b9d53b763768427d05b2d709645532c4fbb14556c8d8d92cc14efe86468469ed69a77bdb03af75ec08499cc17e SHA512 3e1281f1b993ebe4a767b7fc526f49a27d58f24b1b4c6074310cc971f6f569388d6ba27102087a2eb11671d2d5b87bd60306e2597567f4ae8dd2a9efd13beb77
diff --git a/sci-libs/fplll/fplll-4.0.4.ebuild b/sci-libs/fplll/fplll-4.0.4.ebuild
deleted file mode 100644
index a2ed80e8e145..000000000000
--- a/sci-libs/fplll/fplll-4.0.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils ltprune
-
-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/fplll-5.3.2.ebuild b/sci-libs/fplll/fplll-5.3.2.ebuild
deleted file mode 100644
index f204635f77ef..000000000000
--- a/sci-libs/fplll/fplll-5.3.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Implementations of the floating-point LLL reduction algorithm"
-HOMEPAGE="https://github.com/fplll/fplll"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/6"
-KEYWORDS="amd64 x86"
-IUSE="static-libs"
-
-BDEPEND=""
-DEPEND="dev-libs/gmp:0
- dev-libs/mpfr:0"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- # Support for --with-qd is problematic at the moment.
- # https://github.com/fplll/fplll/issues/405
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/fplll/fplll-5.3.3.ebuild b/sci-libs/fplll/fplll-5.3.3.ebuild
deleted file mode 100644
index 2757d1e1f4a1..000000000000
--- a/sci-libs/fplll/fplll-5.3.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Implementations of the floating-point LLL reduction algorithm"
-HOMEPAGE="https://github.com/fplll/fplll"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/6"
-KEYWORDS="~amd64 ~x86"
-IUSE="static-libs"
-
-BDEPEND=""
-DEPEND="dev-libs/gmp:0
- dev-libs/mpfr:0"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- # Support for --with-qd is problematic at the moment.
- # https://github.com/fplll/fplll/issues/405
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/fplll/fplll-5.4.5.ebuild b/sci-libs/fplll/fplll-5.4.5.ebuild
new file mode 100644
index 000000000000..f947f1eaf1d1
--- /dev/null
+++ b/sci-libs/fplll/fplll-5.4.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Implementations of the floating-point LLL reduction algorithm"
+HOMEPAGE="https://github.com/fplll/fplll"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/8"
+KEYWORDS="amd64 ~x86"
+IUSE="qd"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="dev-libs/gmp:0
+ dev-libs/mpfr:0
+ qd? ( sci-libs/qd )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_with qd)
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sci-libs/fplll/metadata.xml b/sci-libs/fplll/metadata.xml
index 51b421021524..7ea4c6f6f502 100644
--- a/sci-libs/fplll/metadata.xml
+++ b/sci-libs/fplll/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -21,4 +21,7 @@
<upstream>
<remote-id type="github">fplll/fplll</remote-id>
</upstream>
+ <use>
+ <flag name="qd">Use <pkg>sci-libs/qd</pkg> for quad-double datatype</flag>
+ </use>
</pkgmetadata>
diff --git a/sci-libs/galib/Manifest b/sci-libs/galib/Manifest
index a81b53228554..9a0f9f379530 100644
--- a/sci-libs/galib/Manifest
+++ b/sci-libs/galib/Manifest
@@ -1 +1,2 @@
+DIST galib-2.4.7-patches.tar.xz 4180 BLAKE2B 3e0f9bc5c7f3289c1839ef5c2151e72079e2ca19a884ce705bc723a379b76185bb5ebc83b5c465f6df2468e5ca8eaf18d3dbbd807ef9af5899f377d83a94535e SHA512 245fc139aed8f09ba39a0a78b0ed21ac6f8c7d33bdffe24f18f53f688beae00353ac0abfa3746ee733ee30efb1fbf4084b553e7a5b647f1a41fd019ab1218c1a
DIST galib247.tgz 374912 BLAKE2B d6f0d757cee9a1c26eb4525862dc2e9761449492edb323ba30ea70cde95b72da2a90fad4a931ab1d07d8bc0fca2b62672357ee790b1e67f3e9b480d5aff26106 SHA512 9c2aca29f24d3f8401ba65c246a0ca7d1fa67e4f756a5258cdb0da111842ea2903c2d70cfd9d60823c9703bcb3415ca670a731924e99878d5536c2f7eb0faba4
diff --git a/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch b/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch
deleted file mode 100644
index faa7dcff446d..000000000000
--- a/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Fix -Wformat-security issues, as we do not want to install potentially
-dangerous example C++ files on user systems:
-* ex18.C: In function ‘int main(int, char**)’:
-* ex18.C:92:27: warning: format not a string literal and no format arguments [-Wformat-security]
-* sprintf(filename, argv[i]);
-
---- a/examples/ex18.C
-+++ b/examples/ex18.C
-@@ -89,7 +89,7 @@
- exit(1);
- }
- else{
-- sprintf(filename, argv[i]);
-+ sprintf(filename, "%s", argv[i]);
- continue;
- }
- }
---- a/examples/ex3.C
-+++ b/examples/ex3.C
-@@ -71,7 +71,7 @@
- exit(1);
- }
- else{
-- sprintf(filename, argv[i]);
-+ sprintf(filename, "%s", argv[i]);
- continue;
- }
- }
---- a/examples/ex5.C
-+++ b/examples/ex5.C
-@@ -308,7 +308,7 @@
- exit(1);
- }
- else{
-- sprintf(filename1, argv[i]);
-+ sprintf(filename1, "%s", argv[i]);
- continue;
- }
- }
-@@ -318,7 +318,7 @@
- exit(1);
- }
- else{
-- sprintf(filename2, argv[i]);
-+ sprintf(filename2, "%s", argv[i]);
- continue;
- }
- }
---- a/examples/ex7.C
-+++ b/examples/ex7.C
-@@ -68,7 +68,7 @@
- exit(1);
- }
- else{
-- sprintf(datafile, argv[i]);
-+ sprintf(datafile, "%s", argv[i]);
- continue;
- }
- }
-@@ -78,7 +78,7 @@
- exit(1);
- }
- else{
-- sprintf(parmfile, argv[i]);
-+ sprintf(parmfile, "%s", argv[i]);
- params.read(parmfile);
- continue;
- }
---- a/ga/gaerror.C
-+++ b/ga/gaerror.C
-@@ -21,7 +21,7 @@
- static STD_OSTREAM *__gaErrStream = & STD_CERR;
- #endif
- static GABoolean __gaErrFlag = gaTrue;
--static char *__gaErrStr[] = {
-+static const char *__gaErrStr[] = {
- "error reading from file: ",
- "error writing to file: ",
- "unexpected EOF encountered during read.",
diff --git a/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch b/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch
deleted file mode 100644
index 3ed7ad84e6d4..000000000000
--- a/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Fix the build system, removing hardcoded values for toolchain variables.
-
---- a/examples/makefile
-+++ b/examples/makefile
-@@ -6,7 +6,6 @@
- # want to compile. See the README for a description of what each example does.
- # -----------------------------------------------------------------------------
-
--include ../makevars
-
- # Set these paths to the location of the GA library and headers.
- #GA_INC_DIR= /usr/local/include
-@@ -14,8 +13,6 @@
- GA_INC_DIR= ..
- GA_LIB_DIR= ../ga
-
--INC_DIRS= -I$(GA_INC_DIR)
--LIB_DIRS= -L$(GA_LIB_DIR)
-
- EXS=randtest\
- ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9\
-@@ -24,7 +21,7 @@
-
- .SUFFIXES: .C
- .C.o:
-- $(CXX) $(CXXFLAGS) $(INC_DIRS) -c $<
-+ $(CXX) $(CXXFLAGS) -I.. -c $<
-
- all: $(EXS)
-
-@@ -34,7 +31,7 @@
-
- # Use this for gnu make
- $(EXS): %: %.o
-- $(CXX) $@.o -o $@ $(LIB_DIRS) -lga -lm $(CXX_LIBS)
-+ $(CXX) $@.o -o $@ -L../ga/ -lga -lm $(CXX_LIBS)
-
- clean:
- $(RM) $(EXS)
---- a/ga/makefile
-+++ b/ga/makefile
-@@ -14,7 +14,7 @@
-
- $(LIB): $(OBJS)
- $(PRELINK)
-- $(AR) $(LIB) $?
-+ $(AR) rv $(LIB) $?
- $(RANLIB) $(LIB)
- echo "$(CXX) $(CXXFLAGS)" > BUILD
- @echo $(LIB) is now up-to-date
---- a/makevars
-+++ b/makevars
-@@ -31,12 +31,7 @@
- # verified 06mar07 on linux-x86 (debian with gcc 3.3.5)
- # verified 06mar07 on linux-x86 (ubuntu with gcc 4.0.3)
- # verified 06mar07 on macosx-ppc (macosx 10.4.8 with gcc 4.0.1)
--CXX = g++
--CXXFLAGS = -g -Wall
--LD = g++ -w
--AR = ar rv
- INSTALL = install -c
--RANLIB = echo no ranlib
-
- # gcc2
- # verified 28dec04 on linux-x86 (redhat 6.2 with gcc 2.95.2)
diff --git a/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch b/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch
deleted file mode 100644
index babc84b63524..000000000000
--- a/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Fix building with C++14, which errors out due to stricter two-phase lookup.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=594504
-
-Patch by Peter Levine
-
---- a/ga/GA1DArrayGenome.C
-+++ b/ga/GA1DArrayGenome.C
-@@ -222,8 +222,8 @@
- aset = new GAAlleleSet<T>[1];
- aset[0] = s;
-
-- initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
-- mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
-+ GAGenome::initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
-+ GAGenome::mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
- comparator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_COMPARATOR);
- crossover(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_CROSSOVER);
- }
-@@ -238,8 +238,8 @@
- for(int i=0; i<naset; i++)
- aset[i] = sa.set(i);
-
-- initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
-- mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
-+ GAGenome::initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
-+ GAGenome::mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
- comparator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_COMPARATOR);
- crossover(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_CROSSOVER);
- }
---- a/ga/GA2DArrayGenome.C
-+++ b/ga/GA2DArrayGenome.C
-@@ -269,10 +269,10 @@
- aset = new GAAlleleSet<T>[1];
- aset[0] = s;
-
-- initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
-- mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
-- comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
-- crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
-+ GAGenome::initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
-+ GAGenome::mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
-+ GAGenome::comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
-+ GAGenome::crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
- }
-
- template <class T>
-@@ -286,10 +286,10 @@
- for(int i=0; i<naset; i++)
- aset[i] = sa.set(i);
-
-- initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
-- mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
-- comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
-- crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
-+ GAGenome::initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
-+ GAGenome::mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
-+ GAGenome::comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
-+ GAGenome::crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
- }
-
-
---- a/ga/GA3DArrayGenome.C
-+++ b/ga/GA3DArrayGenome.C
-@@ -322,8 +322,8 @@
- aset = new GAAlleleSet<T>[1];
- aset[0] = s;
-
-- initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
-- mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
-+ GAGenome::initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
-+ GAGenome::mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
- comparator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_COMPARATOR);
- crossover(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_CROSSOVER);
- }
-@@ -339,8 +339,8 @@
- for(int i=0; i<naset; i++)
- aset[i] = sa.set(i);
-
-- initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
-- mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
-+ GAGenome::initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
-+ GAGenome::mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
- comparator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_COMPARATOR);
- crossover(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_CROSSOVER);
- }
diff --git a/sci-libs/galib/galib-2.4.7-r1.ebuild b/sci-libs/galib/galib-2.4.7-r1.ebuild
deleted file mode 100644
index 5209af1c4c9d..000000000000
--- a/sci-libs/galib/galib-2.4.7-r1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-MY_PV="${PV//\./}"
-
-DESCRIPTION="Library for genetic algorithms in C++ programs"
-HOMEPAGE="http://lancet.mit.edu/ga/"
-SRC_URI="http://lancet.mit.edu/ga/dist/galib${MY_PV}.tgz"
-
-LICENSE="BSD examples? ( GPL-2 )"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples"
-
-S="${WORKDIR}/${PN}${MY_PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.4.7-fix-buildsystem.patch"
- "${FILESDIR}/${PN}-2.4.7-fix-c++14.patch"
- "${FILESDIR}/${PN}-2.4.7-Wformat-security.patch"
-)
-
-src_prepare() {
- default
- sed -e "s:/include:${EPREFIX}/usr/include:" \
- -e "s:/lib:${EPREFIX}/usr/$(get_libdir):" \
- -i makevars || die
-}
-
-src_compile() {
- emake \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- lib
- emake -C examples clean
-}
-
-src_install() {
- dodir /usr/$(get_libdir)
-
- use doc && HTML_DOCS+=( doc/. )
- if use examples; then
- dodoc -r examples
- find "${ED%/}/usr/share/doc/${PF}/examples" -iname 'makefile*' -delete || die
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- default
-}
diff --git a/sci-libs/galib/galib-2.4.7-r2.ebuild b/sci-libs/galib/galib-2.4.7-r2.ebuild
new file mode 100644
index 000000000000..a4bd3d281306
--- /dev/null
+++ b/sci-libs/galib/galib-2.4.7-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="${PV//\./}"
+
+DESCRIPTION="Library for genetic algorithms in C++ programs"
+HOMEPAGE="http://lancet.mit.edu/ga/"
+SRC_URI="
+ http://lancet.mit.edu/ga/dist/galib${MY_PV}.tgz
+ https://dev.gentoo.org/~soap/distfiles/${P}-patches.tar.xz"
+S="${WORKDIR}/${PN}${MY_PV}"
+
+LICENSE="BSD examples? ( GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+PATCHES=( "${WORKDIR}"/patches )
+
+src_configure() {
+ tc-export AR CXX
+ export LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+ export INCDIR="${EPREFIX}"/usr/include
+}
+
+src_compile() {
+ emake lib
+ emake -C examples clean
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/. )
+ if use examples; then
+ dodoc -r examples
+ find "${ED}"/usr/share/doc/${PF}/examples -iname 'makefile*' -delete || die
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ default
+}
diff --git a/sci-libs/galib/metadata.xml b/sci-libs/galib/metadata.xml
index c5d86554ee6d..3f4942881286 100644
--- a/sci-libs/galib/metadata.xml
+++ b/sci-libs/galib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/gamer/gamer-1.5-r2.ebuild b/sci-libs/gamer/gamer-1.5-r2.ebuild
index 23cbb8033662..29179b74bea1 100644
--- a/sci-libs/gamer/gamer-1.5-r2.ebuild
+++ b/sci-libs/gamer/gamer-1.5-r2.ebuild
@@ -1,51 +1,52 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-AUTOTOOLS_AUTORECONF=yes
-
-inherit autotools-utils multilib
+inherit autotools
DESCRIPTION="Geometry-preserving Adaptive MeshER"
HOMEPAGE="http://fetk.org/codes/gamer/index.html"
SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
LICENSE="GPL-2"
-IUSE="doc static-libs"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
RDEPEND=">=dev-libs/maloc-1.4"
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
doc? (
media-gfx/graphviz
- app-doc/doxygen
- )"
-
-S="${WORKDIR}"/${PN}
+ app-text/doxygen
+ )"
PATCHES=(
"${FILESDIR}"/1.4-multilib.patch
"${FILESDIR}"/1.4-doc.patch
- )
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
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
+ export FETK_INCLUDE="${ESYSROOT}"/usr/include
+ export FETK_LIBRARY="${ESYSROOT}"/usr/$(get_libdir)
+
+ econf \
+ --disable-static \
+ --disable-triplet \
+ --with-doxygen=$(usex doc "${BROOT}"/usr/bin/doxygen '') \
+ --with-dot=$(usex doc "${BROOT}"/usr/bin/dot '')
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/gamer/metadata.xml b/sci-libs/gamer/metadata.xml
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/sci-libs/gamer/metadata.xml
+++ b/sci-libs/gamer/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild b/sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild
index 883d578b3fea..21816edadf13 100644
--- a/sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild
+++ b/sci-libs/gaul-devel/gaul-devel-0.1849-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,10 +6,10 @@ EAPI=7
inherit autotools
DESCRIPTION="Genetic Algorithm Utility Library"
-HOMEPAGE="http://GAUL.sourceforge.net/"
+HOMEPAGE="https://gaul.sourceforge.net"
SRC_URI="mirror://sourceforge/gaul/${P}-0.tar.bz2"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="slang"
diff --git a/sci-libs/gaul-devel/metadata.xml b/sci-libs/gaul-devel/metadata.xml
index 3bbf26aecb84..9050e7726d83 100644
--- a/sci-libs/gaul-devel/metadata.xml
+++ b/sci-libs/gaul-devel/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -14,7 +14,7 @@
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>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">gaul</remote-id>
</upstream>
diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest
index db4e5d1e3195..21739747968b 100644
--- a/sci-libs/gdal/Manifest
+++ b/sci-libs/gdal/Manifest
@@ -1 +1,4 @@
-DIST gdal-3.0.4.tar.gz 14379480 BLAKE2B 1ced7f791608be2ea1aede8705826135a015a3bf376af087b10e0b17a6884c141df4b24654eeac136afd959c1360ce0cf1f1312438093ca305fa38a242d7e364 SHA512 bc5032a123a2cc90145fef8b467a4c9b78ddf7b4d850ceaae8350aacc3f6f23e13dd52219844a2b930b59d000854d3f2cce117643d62ead176b71939f4760ce9
+DIST gdal-3.8.0.tar.xz 8853728 BLAKE2B 646aa91283e7228a054221d120bddb456c8b898f9155edd289f2b2e0bf8706fa3045a98d26e4cf5ba5dba6d8c1c7f0a7f4aaaded9457481a65910c2d313c8f9d SHA512 42b3a381190922e546ae83355f56532b92d519b1eac357a9c116ee19b67b67362f282e248e2d82c14ae04cae04dce175bb652f481879442ffa5b58f764a088dd
+DIST gdal-3.8.5.tar.xz 8871404 BLAKE2B 2c5f9b3fa1c3d5d7879c2aa1c95f82c6360b35a259443a8ad68ff8f471f4efa8d2fd7935c57317ee5e94789244067706967f9c5df413bccd2556b5790d51d349 SHA512 4cdf1c45ea110cf6ba6ffe5b890ebd8f82654899ed6224ede6c59864f28626c758b5ea15f26c1840a4d3f70abaf9c1255754c565ef2fe5e5b39e0499ace63521
+DIST gdalautotest-3.8.0.tar.gz 15615239 BLAKE2B fa524bb796a6f5b28bea79b51c4ce34e231b1d10a108a4590e30a48dc946df45880828a5a1ee0db07ed191e0f7dd5631fb294f3a73d1ce24244b6132f5cc3de1 SHA512 e72705571a337412d379cdf36debbe01aca61e789527c5e1f1c47904ba817c390a04032913fde75f899b96ec4f0b3a849ec3ead2539c31b59ca5006cd5e4e431
+DIST gdalautotest-3.8.5.tar.gz 15711701 BLAKE2B 3f0a5ba7f6a2072aaf46e2867739faaba9fae89f2679ad5cb4cb356112b197141e996fc10365bb6a95c3fce648a440bd746aa68f5c52a8743995cf696d230ef0 SHA512 18251e2fe5870bcbbde9c4278d7ce969feb6397a727679f56e6cf051cf5a3ded29217c034566cb9c5ebb02d51ad4d12933ab918eeadb0017c78859892bbf4f19
diff --git a/sci-libs/gdal/files/gdal-2.2.3-soname.patch b/sci-libs/gdal/files/gdal-2.2.3-soname.patch
deleted file mode 100644
index 4cceee5ec928..000000000000
--- a/sci-libs/gdal/files/gdal-2.2.3-soname.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Set SONAME and unbreak compilation on Darwin
-
-Author: Fabian Groffen <grobian@gentoo.org>
-Author: Dennis Schridde <devurandom@gmx.net>
-
---- a/GDALmake.opt.in 2008-02-02 18:25:48.000000000 -0800
-+++ b/GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
-@@ -97,6 +97,14 @@
- 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)
-+ifeq ("$(shell uname -s)", "Darwin")
-+GDAL_SLIB_SONAME = -install_name $(INST_LIB)/libgdal.$(GDAL_VERSION_MAJOR).$(SO_EXT)
-+else
-+GDAL_SLIB_SONAME = -Wl,-soname,libgdal.$(SO_EXT).$(GDAL_VERSION_MAJOR)
-+endif
-+
- # Mac OS X Framework definition
- MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
-
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -208,7 +208,7 @@ else
-
- ifeq ($(HAVE_LD_SHARED),yes)
-
--GDAL_SLIB_B = $(notdir $(GDAL_SLIB))
-+GDAL_SLIB_B = libgdal
-
- install-lib:
-
-@@ -216,14 +216,14 @@ install-lib:
- 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).$(SO_EXT)
-+ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).$(SO_EXT)
-+ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).$(SO_EXT)
-+ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).$(SO_EXT)
- (cd $(DESTDIR)$(INST_LIB) ; \
-- ln -s $(GDAL_SLIB_B).$(GDAL_VER) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR))
-+ ln -s $(GDAL_SLIB_B).$(GDAL_VER).$(SO_EXT) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).$(SO_EXT))
- (cd $(DESTDIR)$(INST_LIB) ; \
-- ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR) $(GDAL_SLIB_B))
-+ ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).$(SO_EXT) $(GDAL_SLIB_B).$(SO_EXT))
- $(INSTALL_DIR) $(DESTDIR)$(INST_LIB)/gdalplugins
- endif
-
diff --git a/sci-libs/gdal/files/gdal-2.3.0-curl.patch b/sci-libs/gdal/files/gdal-2.3.0-curl.patch
deleted file mode 100644
index 1cd33243f42b..000000000000
--- a/sci-libs/gdal/files/gdal-2.3.0-curl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -urNd gdal-2.3.1/port/cpl_vsil_curl.cpp gdal-2.3.1-curl/port/cpl_vsil_curl.cpp
---- gdal-2.3.1/port/cpl_vsil_curl.cpp 2018-06-24 01:10:23.000000000 +1000
-+++ gdal-2.3.1-curl/port/cpl_vsil_curl.cpp 2018-07-13 01:29:31.326347717 +1000
-@@ -8617,8 +8617,10 @@
- if( poFSHandler )
- poFSHandler->ClearCache();
- }
--
-+#if !defined(HAVE_CURL) || defined(CPL_MULTIPROC_STUB)
-+#else
- VSICurlStreamingClearCache();
-+#endif
- }
-
- #endif /* HAVE_CURL */
diff --git a/sci-libs/gdal/files/gdal-3.0.2-complete.patch b/sci-libs/gdal/files/gdal-3.0.2-complete.patch
deleted file mode 100644
index 5d6716c7280c..000000000000
--- a/sci-libs/gdal/files/gdal-3.0.2-complete.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/GDALmake.opt.in b/GDALmake.opt.in
-index fd8e8f374d..655c004c56 100644
---- a/GDALmake.opt.in
-+++ b/GDALmake.opt.in
-@@ -63,6 +63,7 @@ INST_INCLUDE = @includedir@
- INST_DATA = @datadir@
- INST_LIB = @libdir@
- INST_BIN = @bindir@
-+INST_BASH_COMPLETION = @bashcompdir@
- INST_PYMOD = @pymoddir@
- INST_DOCS = @exec_prefix@/doc
- INST_MAN = @mandir@
-diff --git a/GNUmakefile b/GNUmakefile
-index 92467d6cf6..6d5e7d9fc0 100644
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -229,7 +229,9 @@ endif
- ifneq ($(BINDINGS),)
- (cd swig; $(MAKE) install)
- endif
-+ifdef INST_BASH_COMPLETION
- (cd scripts; $(MAKE) install)
-+endif
- for f in LICENSE.TXT data/*.* ; do $(INSTALL_DATA) $$f $(DESTDIR)$(INST_DATA) ; done
- $(LIBTOOL_FINISH) $(DESTDIR)$(INST_LIB)
- $(INSTALL_DIR) $(DESTDIR)$(INST_LIB)/pkgconfig
-diff --git a/configure.ac b/configure.ac
-index 93ddca84d9..5d0e7ab8be 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1187,6 +1187,24 @@ if test "$am_func_iconv" = "yes"; then
- AC_DEFINE_UNQUOTED(ICONV_CPP_CONST,$ICONV_CPP_CONST, [For.cpp files, define as const if the declaration of iconv() needs const.])
- fi
-
-+dnl ---------------------------------------------------------------------------
-+dnl Bash completions
-+dnl ---------------------------------------------------------------------------
-+
-+AC_ARG_WITH([bash-completion],
-+ AS_HELP_STRING([--with-bash-completion[=ARG]],
-+ [Install Bash completions (ARG=yes or path)]),,)
-+
-+if test "x$with_bash_completion" = "xno" -o "x$with_bash_completion" = "x"; then
-+ AC_MSG_NOTICE([Bash completions not requested])
-+elif test "x$with_bash_completion" = "xyes"; then
-+ PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
-+ bashcompdir="${sysconfdir}/bash_completion.d")
-+ AC_SUBST(bashcompdir)
-+else
-+ AC_SUBST(bashcompdir, $with_bash_completion)
-+fi
-+
- dnl ---------------------------------------------------------------------------
- dnl PROJ.6 related stuff
- dnl ---------------------------------------------------------------------------
-diff --git a/scripts/GNUmakefile b/scripts/GNUmakefile
-index 8f039e469a..511fbb499c 100644
---- a/scripts/GNUmakefile
-+++ b/scripts/GNUmakefile
-@@ -1,10 +1,20 @@
- include ../GDALmake.opt
-
-+PROGRAMS := gdal2tiles.py gdal2xyz.py gdaladdo gdalbuildvrt gdal_calc.py \
-+ gdalchksum.py gdalcompare.py gdal-config gdal_contour gdaldem \
-+ gdal_edit.py gdalenhance gdal_fillnodata.py gdal_grid \
-+ gdalident.py gdalimport.py gdallocationinfo gdalmanage \
-+ gdal_merge.py gdalmove.py gdal_polygonize.py gdal_proximity.py \
-+ gdal_rasterize gdal_retile.py gdalserver gdal_sieve.py \
-+ gdalsrsinfo gdaltindex gdaltransform gdal_translate gdalwarp \
-+ ogr2ogr ogrinfo ogrlineref ogrmerge.py ogrtindex
-+
- completion:
- PATH=$(GDAL_ROOT)/swig/python/scripts:$(GDAL_ROOT)/apps:$(PATH) python completionFinder.py gdal-bash-completion.sh
-
- install:
-- if test "x`pkg-config --version 2>/dev/null`" != "x" -a "x`pkg-config --variable=compatdir bash-completion`" != "x"; then \
-- $(INSTALL_DIR) $(DESTDIR)${prefix}`pkg-config --variable=compatdir bash-completion` ; \
-- cp gdal-bash-completion.sh $(DESTDIR)${prefix}`pkg-config --variable=compatdir bash-completion`; \
-- fi
-+ $(INSTALL_DIR) $(DESTDIR)$(INST_BASH_COMPLETION) ; \
-+ $(INSTALL_DATA) gdal-bash-completion.sh $(DESTDIR)$(INST_BASH_COMPLETION)/gdalinfo; \
-+ for p in $(PROGRAMS); do \
-+ ln -rs $(DESTDIR)$(INST_BASH_COMPLETION)/gdalinfo $(DESTDIR)$(INST_BASH_COMPLETION)/$$p; \
-+ done
diff --git a/sci-libs/gdal/files/gdal-3.0.2-datadir.patch b/sci-libs/gdal/files/gdal-3.0.2-datadir.patch
deleted file mode 100644
index 95c525ca1b8e..000000000000
--- a/sci-libs/gdal/files/gdal-3.0.2-datadir.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-diff --git a/gdal/GDALmake.opt.in b/gdal/GDALmake.opt.in
-index 655c004c56..7d8f3708d6 100644
---- a/GDALmake.opt.in
-+++ b/GDALmake.opt.in
-@@ -56,18 +56,23 @@ GNM_ENABLED = @GNM_ENABLED@
- OSX_FRAMEWORK_PREFIX = /Library/Frameworks/GDAL.framework
- OSX_VERSION_FRAMEWORK_PREFIX = ${OSX_FRAMEWORK_PREFIX}/Versions/@GDAL_VERSION_MAJOR@.@GDAL_VERSION_MINOR@
-
-+PACKAGE = @PACKAGE@
-+
- prefix = @prefix@
- exec_prefix = @exec_prefix@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+htmldir = @htmldir@
- INST_PREFIX = @exec_prefix@
- INST_INCLUDE = @includedir@
--INST_DATA = @datadir@
-+INST_DATA = @datadir@/gdal
- INST_LIB = @libdir@
- INST_BIN = @bindir@
- INST_BASH_COMPLETION = @bashcompdir@
- INST_PYMOD = @pymoddir@
--INST_DOCS = @exec_prefix@/doc
-+INST_DOCS = @htmldir@
- INST_MAN = @mandir@
--INST_HTML = $(HOME)/www/gdal
-+INST_WEB = $(HOME)/www/gdal
-
- CPPFLAGS := @CPPFLAGS@ -I$(GDAL_ROOT)/port @EXTRA_INCLUDES@ -DGDAL_COMPILATION
- CFLAGS = @CFLAGS@ @C_WFLAGS@ $(USER_DEFS)
-diff --git a/gdal/configure.ac b/gdal/configure.ac
-index 5d0e7ab8be..afef88fdbd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -33,6 +33,7 @@ define([AC_CACHE_SAVE], )
-
- dnl Process this file with autoconf to produce a configure script.
- AC_INIT(GDALmake.opt.in)
-+AC_SUBST(PACKAGE, gdal)
- AC_CONFIG_MACRO_DIR(m4)
- AC_CONFIG_HEADERS([port/cpl_config.h:port/cpl_config.h.in])
- AH_BOTTOM([#include "cpl_config_extras.h"])
-@@ -5167,25 +5168,6 @@ export BINTRUE
-
- AC_SUBST(BINTRUE,$BINTRUE)
-
--dnl ---------------------------------------------------------------------------
--dnl If datadir is set to @prefix@/share, the modify it to be
--dnl @prefix@/share/gdal. I wish we could default this.
--dnl ---------------------------------------------------------------------------
--if test "$datadir" = '${prefix}/share' ; then
-- datadir='${prefix}/share/gdal'
--fi
--
--if test "$datadir" = '${datarootdir}' \
-- -a "$datarootdir" = '${prefix}/share' ; then
-- datarootdir='${prefix}/share/gdal'
--fi
--
--dnl ---------------------------------------------------------------------------
--dnl By default mandir is $datarootdir/man which would be
--dnl /usr/local/share/gdal/man but we want man pages in /usr/local/man.
--dnl ---------------------------------------------------------------------------
--mandir='${prefix}/man'
--
- dnl ---------------------------------------------------------------------------
- dnl Capture GDAL_PREFIX for the cpl_config.h include file.
- dnl ---------------------------------------------------------------------------
diff --git a/sci-libs/gdal/files/gdal-3.0.4-poppler-20.08.patch b/sci-libs/gdal/files/gdal-3.0.4-poppler-20.08.patch
deleted file mode 100644
index 0fd8051c365c..000000000000
--- a/sci-libs/gdal/files/gdal-3.0.4-poppler-20.08.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2b863dbabdc2a7d724f9fdf3e6ff20a142b619f6 Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Mon, 3 Aug 2020 14:52:25 +0200
-Subject: [PATCH] Unix build: fix detection of minor version number of Poppler
- with the new YY.MM.X numbering scheme (fixes #2823) (#2825)
-
-Authored-by: @chris2553
----
- a/configure | 4 ++--
- b/configure.ac | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure b/configure
-index 4d618db8149..69d46182a26 100755
---- a/configure
-+++ b/configure
-@@ -40824,8 +40824,8 @@ $as_echo "yes" >&6; }
- fi
- if test "$POPPLER_VERSION" != ""; then
- HAVE_POPPLER=yes
-- POPPLER_MAJOR_VERSION=`expr $POPPLER_VERSION : '\([0-9]*\)'`
-- POPPLER_MINOR_VERSION=`expr $POPPLER_VERSION : '[0-9]*\.\([0-9]*\)'`
-+ POPPLER_MAJOR_VERSION=`echo $POPPLER_VERSION | cut -d'.' -f1`
-+ POPPLER_MINOR_VERSION=`echo $POPPLER_VERSION | cut -d'.' -f2 | sed -e 's/^0//'`
- POPPLER_CFLAGS=`echo $POPPLER_CFLAGS $POPPLER_CFLAGS | sed "s/include\/poppler/include/"`
- fi
- else
-diff --git a/configure.ac b/configure.ac
-index 0f4124e6431..7f337e77c1d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4966,8 +4966,8 @@ if test "$with_poppler" != "no" -a "$with_poppler" != ""; then
- [POPPLER_VERSION=`$PKG_CONFIG --modversion poppler`], [POPPLER_VERSION=])
- if test "$POPPLER_VERSION" != ""; then
- HAVE_POPPLER=yes
-- POPPLER_MAJOR_VERSION=`expr $POPPLER_VERSION : '\([[0-9]]*\)'`
-- POPPLER_MINOR_VERSION=`expr $POPPLER_VERSION : '[[0-9]]*\.\([[0-9]]*\)'`
-+ POPPLER_MAJOR_VERSION=`echo $POPPLER_VERSION | cut -d'.' -f1`
-+ POPPLER_MINOR_VERSION=`echo $POPPLER_VERSION | cut -d'.' -f2 | sed -e 's/^0//'`
- POPPLER_CFLAGS=`echo $POPPLER_CFLAGS $POPPLER_CFLAGS | sed "s/include\/poppler/include/"`
- fi
- else
diff --git a/sci-libs/gdal/files/gdal-3.6.4-abseil-cpp-20230125.2-c++17.patch b/sci-libs/gdal/files/gdal-3.6.4-abseil-cpp-20230125.2-c++17.patch
new file mode 100644
index 000000000000..2ddc39db8b36
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.6.4-abseil-cpp-20230125.2-c++17.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/904534
+--- a/ogr/ogrsf_frmts/flatgeobuf/CMakeLists.txt
++++ b/ogr/ogrsf_frmts/flatgeobuf/CMakeLists.txt
+@@ -8,6 +8,7 @@
+ ogrflatgeobufeditablelayer.cpp
+ PLUGIN_CAPABLE
+ NO_DEPS)
++set_property(TARGET ogr_FlatGeobuf PROPERTY CXX_STANDARD 17)
+ gdal_standard_includes(ogr_FlatGeobuf)
+ target_include_directories(ogr_FlatGeobuf PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<TARGET_PROPERTY:ogrsf_generic,SOURCE_DIR>)
+
diff --git a/sci-libs/gdal/files/gdal-3.7.0-zlib-OF.patch b/sci-libs/gdal/files/gdal-3.7.0-zlib-OF.patch
new file mode 100644
index 000000000000..5f6dafeab525
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.7.0-zlib-OF.patch
@@ -0,0 +1,51 @@
+--- a/frmts/zlib/contrib/infback9/minified_zutil.c
++++ b/frmts/zlib/contrib/infback9/minified_zutil.c
+@@ -8,9 +8,9 @@
+ #include "minified_zutil.h"
+
+ #ifndef STDC
+-extern voidp malloc OF((uInt size));
+-extern voidp calloc OF((uInt items, uInt size));
+-extern void free OF((voidpf ptr));
++extern voidp malloc (uInt size);
++extern voidp calloc (uInt items, uInt size);
++extern void free (voidpf ptr);
+ #endif
+
+ voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size)
+--- a/frmts/zlib/contrib/infback9/minified_zutil.h
++++ b/frmts/zlib/contrib/infback9/minified_zutil.h
+@@ -191,9 +191,9 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
+ /* provide prototypes for these when building zlib without LFS */
+ #if !defined(_WIN32) && \
+ (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
+- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
+- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+- ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t));
++ ZEXTERN uLong ZEXPORT adler32_combine64 (uLong, uLong, z_off_t);
++ ZEXTERN uLong ZEXPORT crc32_combine64 (uLong, uLong, z_off_t);
++ ZEXTERN uLong ZEXPORT crc32_combine_gen64 (z_off_t);
+ #endif
+
+ /* common defaults */
+@@ -232,16 +232,16 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
+ # define zmemzero(dest, len) memset(dest, 0, len)
+ # endif
+ #else
+- void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
+- int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
+- void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
++ void ZLIB_INTERNAL zmemcpy (Bytef* dest, const Bytef* source, uInt len);
++ int ZLIB_INTERNAL zmemcmp (const Bytef* s1, const Bytef* s2, uInt len);
++ void ZLIB_INTERNAL zmemzero (Bytef* dest, uInt len);
+ #endif
+
+ /* Diagnostic functions */
+ #ifdef ZLIB_DEBUG
+ # include <stdio.h>
+ extern int ZLIB_INTERNAL z_verbose;
+- extern void ZLIB_INTERNAL z_error OF((char *m));
++ extern void ZLIB_INTERNAL z_error (char *m);
+ # define Assert(cond,msg) {if(!(cond)) z_error(msg);}
+ # define Trace(x) {if (z_verbose>=0) fprintf x ;}
+ # define Tracev(x) {if (z_verbose>0) fprintf x ;}
diff --git a/sci-libs/gdal/files/gdal-3.8.0-java21.patch b/sci-libs/gdal/files/gdal-3.8.0-java21.patch
new file mode 100644
index 000000000000..3e924c5206c1
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.8.0-java21.patch
@@ -0,0 +1,20 @@
+--- a/swig/java/build.xml
++++ b/swig/java/build.xml
+@@ -21,7 +21,7 @@
+ <target name="compile" depends="init" description="Compile the source files.">
+ <mkdir dir="${build_dir}/build/classes"/>
+ <javac srcdir="${build_dir}/org" destdir="${build_dir}/build/classes"
+- debug="on" source="7" target="7"
++ debug="on" source="8" target="8"
+ includeantruntime="false" deprecation="true">
+ </javac>
+ <echo>compilation complete</echo>
+@@ -38,7 +38,7 @@
+ <target name="compile_tests" depends="archive" description="Compile the tests files.">
+ <mkdir dir="${build_dir}/build/apps"/>
+ <javac srcdir="${source_apps}" destdir="${build_dir}/build/apps"
+- debug="on" source="7" target="7"
++ debug="on" source="8" target="8"
+ includeantruntime="false" deprecation="true" classpath="${build_dir}/gdal.jar">
+ </javac>
+ <echo>compilation of tests complete</echo>
diff --git a/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-1.patch b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-1.patch
new file mode 100644
index 000000000000..606dc3e05089
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-1.patch
@@ -0,0 +1,22 @@
+From cbed9fc91dffba30d0f9a6a06a412a04d9cd36fa Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Sat, 18 Nov 2023 15:38:46 +0100
+Subject: [PATCH] Fix build error with libxml2 2.12
+
+---
+ port/cpl_xml_validate.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/port/cpl_xml_validate.cpp b/port/cpl_xml_validate.cpp
+index 7eb49ff40c90..29070d957b65 100644
+--- a/port/cpl_xml_validate.cpp
++++ b/port/cpl_xml_validate.cpp
+@@ -914,7 +914,7 @@ static void CPLLibXMLWarningErrorCallback(void *ctx, const char *msg, ...)
+
+ if (strstr(pszStr, "since this namespace was already imported") == nullptr)
+ {
+- xmlErrorPtr pErrorPtr = xmlGetLastError();
++ const xmlError *pErrorPtr = xmlGetLastError();
+ const char *pszFilename = static_cast<char *>(ctx);
+ char *pszStrDup = CPLStrdup(pszStr);
+ int nLen = static_cast<int>(strlen(pszStrDup));
diff --git a/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-2.patch b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-2.patch
new file mode 100644
index 000000000000..410b79e2ec15
--- /dev/null
+++ b/sci-libs/gdal/files/gdal-3.8.0-libxml2-2.12-2.patch
@@ -0,0 +1,27 @@
+From ec33f6d6dfe944f59dc5454d01b4d000d9479c02 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Sat, 18 Nov 2023 16:33:25 +0100
+Subject: [PATCH] Fix build error with libxml2 2.12 (cont'd)
+
+---
+ gcore/gdaljp2metadatagenerator.cpp | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/gcore/gdaljp2metadatagenerator.cpp b/gcore/gdaljp2metadatagenerator.cpp
+index b6caa2db9def..751fa3d5e9dd 100644
+--- a/gcore/gdaljp2metadatagenerator.cpp
++++ b/gcore/gdaljp2metadatagenerator.cpp
+@@ -357,7 +357,12 @@ static CPLString GDALGMLJP2EvalExpr(const CPLString &osTemplate,
+ /************************************************************************/
+
+ static void GDALGMLJP2XPathErrorHandler(void * /* userData */,
+- xmlErrorPtr error)
++#if LIBXML_VERSION >= 21200
++ const xmlError *error
++#else
++ xmlErrorPtr error
++#endif
++)
+ {
+ if (error->domain == XML_FROM_XPATH && error->str1 != nullptr &&
+ error->int1 < static_cast<int>(strlen(error->str1)))
diff --git a/sci-libs/gdal/gdal-3.0.4-r1.ebuild b/sci-libs/gdal/gdal-3.0.4-r1.ebuild
deleted file mode 100644
index 7a83f0bb9fc5..000000000000
--- a/sci-libs/gdal/gdal-3.0.4-r1.ebuild
+++ /dev/null
@@ -1,304 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-GENTOO_DEPEND_ON_PERL="no"
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-DISTUTILS_OPTIONAL=1
-inherit autotools bash-completion-r1 perl-module distutils-r1 flag-o-matic java-pkg-opt-2 toolchain-funcs
-
-DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
-HOMEPAGE="https://gdal.org/"
-SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
-
-SLOT="0/3.0"
-LICENSE="BSD Info-ZIP MIT"
-KEYWORDS="amd64 ~arm arm64 ~ia64 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 lzma mdb mysql netcdf odbc ogdi opencl oracle pdf perl png postgres python spatialite sqlite threads webp xls zstd"
-
-REQUIRED_USE="
- mdb? ( java )
- python? ( ${PYTHON_REQUIRED_USE} )
- spatialite? ( sqlite )
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- java? (
- dev-java/ant-core
- dev-lang/swig:0
- >=virtual/jdk-1.7:*
- )
- perl? ( dev-lang/swig:0 )
- python? (
- dev-lang/swig:0
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-DEPEND="
- dev-libs/expat
- dev-libs/json-c:=
- dev-libs/libpcre
- dev-libs/libxml2:2
- media-libs/tiff
- >=sci-libs/libgeotiff-1.5.1-r1:=
- >=sci-libs/proj-6.0.0:=
- sys-libs/zlib[minizip(+)]
- armadillo? ( sci-libs/armadillo:=[lapack] )
- curl? ( net-misc/curl )
- fits? ( sci-libs/cfitsio:= )
- geos? ( >=sci-libs/geos-3.8.0 )
- gif? ( media-libs/giflib:= )
- gml? ( >=dev-libs/xerces-c-3.1 )
- hdf5? ( >=sci-libs/hdf5-1.6.4:=[szip] )
- jpeg? ( virtual/jpeg:0= )
- jpeg2k? ( media-libs/openjpeg:2= )
- lzma? ( || (
- app-arch/xz-utils
- app-arch/lzma
- ) )
- mdb? ( dev-java/jackcess:1 )
- mysql? ( virtual/mysql )
- netcdf? ( sci-libs/netcdf:= )
- odbc? ( dev-db/unixODBC )
- ogdi? ( sci-libs/ogdi )
- opencl? ( virtual/opencl )
- oracle? ( dev-db/oracle-instantclient:= )
- pdf? ( app-text/poppler:= )
- perl? ( dev-lang/perl:= )
- png? ( media-libs/libpng:0= )
- postgres? ( >=dev-db/postgresql-8.4:= )
- python? (
- ${PYTHON_DEPS}
- dev-python/numpy[${PYTHON_USEDEP}]
- )
- spatialite? ( dev-db/spatialite )
- sqlite? ( dev-db/sqlite:3 )
- webp? ( media-libs/libwebp:= )
- xls? ( dev-libs/freexl )
- zstd? ( app-arch/zstd:= )
-"
-RDEPEND="${DEPEND}
- java? ( >=virtual/jre-1.7:* )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.2.3-soname.patch"
- "${FILESDIR}/${PN}-2.3.0-curl.patch" # bug 659840
- "${FILESDIR}/${PN}-3.0.2-complete.patch"
- "${FILESDIR}/${PN}-3.0.2-datadir.patch"
- "${FILESDIR}/${P}-poppler-20.08.patch" # bug 735828
-)
-
-src_prepare() {
- default
-
- sed -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
- -i configure.ac || die
-
- sed -e 's:^ar:$(AR):g' \
- -i ogr/ogrsf_frmts/sdts/install-libs.sh || die
-
- # SWIG: Use of the include path to find the input file is deprecated and will not work with ccache.
- sed -e "s: gdal_array.i: ../include/gdal_array.i:" \
- -i swig/python/GNUmakefile || die "sed python makefile failed"
-
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- # charls - not packaged in Gentoo ebuild repository
- # kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore
- # bsb - legal issues
- # ingres - same story as oracle oci
- # jasper - disabled because unmaintained and vulnerable; openjpeg will be used as JPEG-2000 provider instead
- # podofo - we use poppler instead they are exclusive for each other
- # tiff is a hard dep
- --includedir="${EPREFIX}"/usr/include/${PN}
- --disable-lto
- --disable-static
- --disable-driver-bsb
- --disable-driver-mrf
- --disable-pdf-plugin
- --enable-shared
- --enable-driver-grib
- --with-bash-completion="$(get_bashcompdir)"
- --with-cpp14
- --with-cryptopp=no
- --with-expat
- --with-geotiff
- --with-gnm
- --with-hide-internal-symbols
- --with-libjson-c="${EPREFIX}"/usr/
- --with-libtiff
- --with-libtool
- --with-libz="${EPREFIX}"/usr/
- --without-charls
- --without-dods-root
- --without-ecw
- --without-epsilon
- --without-fgdb
- --without-fme
- --without-gta
- --without-grass
- --without-hdf4
- --without-idb
- --without-ingres
- --without-jasper
- --without-jp2lura
- --without-jp2mrsid
- --without-kakadu
- --without-kea
- --without-libkml
- --without-mongocxx
- --without-mrsid
- --without-mrsid_lidar
- --without-msg
- --without-rasdaman
- --without-rasterlite2
- --without-pcraster
- --without-pdfium
- --without-perl
- --without-podofo
- --without-python
- --without-qhull
- --without-sde
- --without-sfcgal
- --without-sosi
- --without-teigha
- $(use_enable debug)
- $(use_with armadillo)
- $(use_with aux-xml pam)
- $(use_with curl)
- $(use_with fits cfitsio)
- $(use_with geos)
- $(use_with gif)
- $(use_with gml xerces)
- $(use_with hdf5)
- $(use_with jpeg pcidsk) # pcidsk is internal, because there is no such library released developer by gdal
- $(use_with jpeg)
- $(use_with jpeg2k openjpeg)
- $(use_with lzma liblzma)
- $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config)
- $(use_with netcdf)
- $(use_with oracle oci)
- $(use_with odbc)
- $(use_with ogdi ogdi "${EPREFIX}"/usr)
- $(use_with opencl)
- $(use_with pdf poppler)
- $(use_with png)
- $(use_with postgres pg)
- $(use_with spatialite)
- $(use_with sqlite sqlite3 "${EPREFIX}"/usr)
- $(use_with threads)
- $(use_with webp)
- $(use_with xls freexl)
- $(use_with zstd)
- )
-
- tc-export AR RANLIB
-
- if use java; then
- myconf+=(
- --with-java=$(java-config --jdk-home 2>/dev/null)
- --with-jvm-lib=dlopen
- $(use_with mdb)
- )
- else
- myconf+=( --without-java --without-mdb )
- fi
-
- if use sqlite; then
- append-libs -lsqlite3
- fi
-
- # bug #632660
- if use ogdi; then
- tc-export PKG_CONFIG
- append-cflags $(${PKG_CONFIG} --cflags libtirpc)
- append-cxxflags $(${PKG_CONFIG} --cflags libtirpc)
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-
- # mysql-config puts this in (and boy is it a PITA to get it out)
- if use mysql; then
- sed -e "s: -rdynamic : :" \
- -i GDALmake.opt || die "sed LIBS failed"
- fi
-}
-
-src_compile() {
- if use perl; then
- rm "${S}"/swig/perl/*_wrap.cpp || die
- emake -C "${S}"/swig/perl generate
- fi
-
- # gdal-config needed before generating Python bindings
- default
-
- if use java; then
- pushd "${S}"/swig/java > /dev/null || die
- emake
- popd > /dev/null || die
- fi
-
- if use perl; then
- pushd "${S}"/swig/perl > /dev/null || die
- perl-module_src_configure
- perl-module_src_compile
- popd > /dev/null || die
- fi
-
- if use python; then
- rm -f "${S}"/swig/python/*_wrap.cpp || die
- emake -C "${S}"/swig/python generate
- pushd "${S}"/swig/python > /dev/null || die
- distutils-r1_src_compile
- popd > /dev/null || die
- fi
-
- use doc && emake docs
-}
-
-src_install() {
- local DOCS=( NEWS )
- use doc && local HTML_DOCS=( html/. )
-
- default
-
- use java && java-pkg_dojar "${S}"/swig/java/gdal.jar
-
- if use perl; then
- pushd "${S}"/swig/perl > /dev/null || die
- myinst=( DESTDIR="${D}" )
- perl-module_src_install
- popd > /dev/null || die
- perl_delete_localpod
- fi
-
- if use python; then
- # Don't clash with gdal's docs
- unset DOCS HTML_DOCS
-
- pushd "${S}"/swig/python > /dev/null || die
- distutils-r1_src_install
- popd > /dev/null || die
-
- newdoc swig/python/README.rst README-python.rst
-
- insinto /usr/share/${PN}/samples
- doins -r swig/python/samples/.
- fi
-
- doman "${S}"/man/man*/*
- find "${D}" -name '*.la' -type f -delete || die
-}
-
-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-3.8.0-r1.ebuild b/sci-libs/gdal/gdal-3.8.0-r1.ebuild
new file mode 100644
index 000000000000..1a8dd8a1059a
--- /dev/null
+++ b/sci-libs/gdal/gdal-3.8.0-r1.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake java-pkg-opt-2 python-single-r1
+
+DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
+HOMEPAGE="https://gdal.org/"
+SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz"
+SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.tar.gz )"
+
+LICENSE="BSD Info-ZIP MIT"
+SLOT="0/34" # subslot is libgdal.so.<SONAME>
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ spatialite? ( sqlite )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ java? (
+ >=dev-java/ant-1.10.14-r3:0
+ dev-lang/swig
+ )
+ python? (
+ dev-lang/swig
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ ${PYTHON_DEPS}
+ dev-cpp/gtest
+ )
+"
+DEPEND="
+ dev-libs/expat
+ dev-libs/json-c:=
+ dev-libs/libpcre2
+ dev-libs/libxml2:2
+ dev-libs/openssl:=
+ media-libs/tiff
+ >=sci-libs/libgeotiff-1.5.1-r1:=
+ >=sci-libs/proj-6.0.0:=
+ sys-libs/zlib[minizip(+)]
+ armadillo? ( sci-libs/armadillo:=[lapack] )
+ curl? ( net-misc/curl )
+ fits? ( sci-libs/cfitsio:= )
+ geos? ( >=sci-libs/geos-3.8.0 )
+ gif? ( media-libs/giflib:= )
+ gml? ( >=dev-libs/xerces-c-3.1 )
+ heif? ( media-libs/libheif:= )
+ hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] )
+ java? (
+ >=virtual/jdk-1.8:*[-headless-awt]
+ )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lzma? ( || (
+ app-arch/xz-utils
+ app-arch/lzma
+ ) )
+ mysql? ( virtual/mysql )
+ netcdf? ( sci-libs/netcdf:= )
+ odbc? ( dev-db/unixODBC )
+ ogdi? ( >=sci-libs/ogdi-4.1.0-r1 )
+ opencl? ( virtual/opencl )
+ oracle? ( dev-db/oracle-instantclient:= )
+ pdf? ( app-text/poppler:= )
+ png? ( media-libs/libpng:= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+ spatialite? ( dev-db/spatialite )
+ sqlite? ( dev-db/sqlite:3 )
+ webp? ( media-libs/libwebp:= )
+ xls? ( dev-libs/freexl )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ _wstat64 # Windows LFS
+)
+
+PATCHES=(
+ "${FILESDIR}/gdal-3.8.0-java21.patch"
+ "${FILESDIR}"/${PN}-3.6.4-abseil-cpp-20230125.2-c++17.patch
+ "${FILESDIR}"/${PN}-3.7.0-zlib-OF.patch
+ "${FILESDIR}"/${P}-libxml2-2.12-{1,2}.patch # bug 917564
+)
+
+pkg_setup() {
+ if use python || use test ; then
+ python-single-r1_pkg_setup
+ fi
+
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use test ; then
+ mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_IPO=OFF
+ -DGDAL_USE_EXTERNAL_LIBS=ON
+ -DGDAL_USE_INTERNAL_LIBS=OFF
+ -DBUILD_TESTING=$(usex test)
+
+ # bug #844874 and bug #845150
+ -DCMAKE_INSTALL_INCLUDEDIR="include/gdal"
+
+ # Options here are generally off because of one of:
+ # - Not yet packaged dependencies
+ #
+ # - Off for autotools build and didn't want more churn by
+ # enabling during port to CMake. Feel free to request them
+ # being turned on if useful for you.
+ -DGDAL_USE_ARMADILLO=$(usex armadillo)
+ -DGDAL_USE_ARROW=OFF
+ -DGDAL_USE_BLOSC=OFF
+ -DGDAL_USE_BRUNSLI=OFF
+ -DGDAL_USE_CRNLIB=OFF
+ -DGDAL_USE_CFITSIO=$(usex fits)
+ -DGDAL_USE_CURL=$(usex curl)
+ -DGDAL_USE_CRYPTOPP=OFF
+ -DGDAL_USE_DEFLATE=OFF
+ -DGDAL_USE_ECW=OFF
+ -DGDAL_USE_EXPAT=ON
+ -DGDAL_USE_FILEGDB=OFF
+ -DGDAL_USE_FREEXL=$(usex xls)
+ -DGDAL_USE_FYBA=OFF
+ -DGDAL_USE_GEOTIFF=ON
+ -DGDAL_USE_GEOS=$(usex geos)
+ -DGDAL_USE_GIF=$(usex gif)
+ -DGDAL_USE_GTA=OFF
+ -DGDAL_USE_HEIF=$(usex heif)
+ -DGDAL_USE_HDF4=OFF
+ -DGDAL_USE_HDF5=$(usex hdf5)
+ -DGDAL_USE_HDFS=OFF
+ -DGDAL_USE_ICONV=ON # TODO dep
+ -DGDAL_USE_IDB=OFF
+ -DGDAL_USE_JPEG=$(usex jpeg)
+
+ # https://gdal.org/build_hints.html#jpeg12
+ # Independent of whether using system libjpeg
+ -DGDAL_USE_JPEG12_INTERNAL=ON
+
+ -DGDAL_USE_JSONC=ON
+ -DGDAL_USE_JXL=OFF
+ -DGDAL_USE_KDU=OFF
+ -DGDAL_USE_KEA=OFF
+ -DGDAL_USE_LERC=OFF
+ -DGDAL_USE_LIBKML=OFF
+ -DGDAL_USE_LIBLZMA=$(usex lzma)
+ -DGDAL_USE_LIBXML2=ON
+ -DGDAL_USE_LURATECH=OFF
+ -DGDAL_USE_LZ4=OFF
+ -DGDAL_USE_MONGOCXX=OFF
+ -DGDAL_USE_MRSID=OFF
+ -DGDAL_USE_MSSQL_NCLI=OFF
+ -DGDAL_USE_MSSQL_ODBC=OFF
+ -DGDAL_USE_MYSQL=$(usex mysql)
+ -DGDAL_USE_NETCDF=$(usex netcdf)
+ -DGDAL_USE_ODBC=$(usex odbc)
+ -DGDAL_USE_ODBCCPP=OFF
+ -DGDAL_USE_OGDI=$(usex ogdi)
+ -DGDAL_USE_OPENCAD=OFF
+ -DGDAL_USE_OPENCL=$(usex opencl)
+ -DGDAL_USE_OPENEXR=OFF
+ -DGDAL_USE_OPENJPEG=$(usex jpeg2k)
+ -DGDAL_USE_OPENSSL=ON
+ -DGDAL_USE_ORACLE=$(usex oracle)
+ -DGDAL_USE_PARQUET=OFF
+ -DGDAL_USE_PCRE2=ON
+ -DGDAL_USE_PDFIUM=OFF
+ -DGDAL_USE_PNG=$(usex png)
+ -DGDAL_USE_PODOFO=OFF
+ -DGDAL_USE_POPPLER=$(usex pdf)
+ -DGDAL_USE_POSTGRESQL=$(usex postgres)
+ -DGDAL_USE_QHULL=OFF
+ -DGDAL_USE_RASTERLITE2=OFF
+ -DGDAL_USE_RDB=OFF
+ -DGDAL_USE_SPATIALITE=$(usex spatialite)
+ -DGDAL_USE_SQLITE3=$(usex sqlite)
+ -DGDAL_USE_SFCGAL=OFF
+ -DGDAL_USE_TEIGHA=OFF
+ -DGDAL_USE_TIFF=ON
+ -DGDAL_USE_TILEDB=OFF
+ -DGDAL_USE_WEBP=$(usex webp)
+ -DGDAL_USE_XERCESC=$(usex gml)
+ -DGDAL_USE_ZLIB=ON
+ -DGDAL_USE_ZSTD=$(usex zstd)
+
+ # Bindings
+ -DBUILD_PYTHON_BINDINGS=$(usex python)
+ -DBUILD_JAVA_BINDINGS=$(usex java)
+ # bug #845369
+ -DBUILD_CSHARP_BINDINGS=OFF
+
+ # Check work/gdal-3.5.0_build/CMakeCache.txt after configure
+ # and https://github.com/OSGeo/gdal/blob/master/cmake/helpers/CheckCompilerMachineOption.cmake#L71
+ # Commented out: not (yet?) implemented upstream.
+ # Also, arm64 stuff is a TODO upstream, but not there (yet?)
+ -Dtest_avx=$(usex cpu_flags_x86_avx)
+ -Dtest_avx2=$(usex cpu_flags_x86_avx2)
+ -Dtest_sse=$(usex cpu_flags_x86_sse)
+ -Dtest_sse2=$(usex cpu_flags_x86_sse2)
+ #-Dtest_sse3=$(usex cpu_flags_x86_sse3)
+ -Dtest_sse4.1=$(usex cpu_flags_x86_sse4_1)
+ #-Dtest_sse4.2=$(usex cpu_flags_x86_sse4_2)
+ #-Dtest_sse4a=$(usex cpu_flags_x86_sse4a)
+ -Dtest_ssse3=$(usex cpu_flags_x86_ssse3)
+ #-Dtest_fma4=$(usex cpu_flags_x86_fma4)
+ #-Dtest_xop=$(usex cpu_flags_x86_xop)
+ )
+
+ if use test ; then
+ mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile doc
+}
+
+src_test() {
+ export GDAL_RUN_SLOW_TESTS=0
+ export GDAL_DOWNLOAD_TEST_DATA=0
+
+ # Two test suites:
+ # 1. autotests (much larger, uses pytest)
+ # 2. Small set of fuzzing tests (no download needed)
+
+ # Missing file for test-unit?
+ cmake_src_test -E "(test-unit)"
+}
+
+src_install() {
+ cmake_src_install
+ use python && python_optimize
+
+ if use java; then
+ # Move the native library into the proper place for Gentoo. The
+ # library in ${D} has already had its RPATH fixed, so we use it
+ # rather than ${BUILD_DIR}/swig/java/libgdalalljni.so.
+ java-pkg_doso "${D}/usr/$(get_libdir)/jni/libgdalalljni.so"
+ rm -rf "${ED}/usr/$(get_libdir)/jni" || die
+ fi
+
+ # TODO: install docs?
+}
+
+pkg_postinst() {
+ elog "Check available image and data formats after building with"
+ elog "gdalinfo and ogrinfo (using the --formats switch)."
+
+ if use java; then
+ elog
+ elog "To use the Java bindings, you need to pass the following to java:"
+ elog " -Djava.library.path=$(java-config -i gdal)"
+ fi
+}
diff --git a/sci-libs/gdal/gdal-3.8.5.ebuild b/sci-libs/gdal/gdal-3.8.5.ebuild
new file mode 100644
index 000000000000..bb1c2e0bde5e
--- /dev/null
+++ b/sci-libs/gdal/gdal-3.8.5.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake java-pkg-opt-2 python-single-r1
+
+DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
+HOMEPAGE="https://gdal.org/"
+SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz"
+SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.tar.gz )"
+
+LICENSE="BSD Info-ZIP MIT"
+SLOT="0/34" # subslot is libgdal.so.<SONAME>
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ spatialite? ( sqlite )
+ test? ( ${PYTHON_REQUIRED_USE} )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ java? (
+ >=dev-java/ant-1.10.14-r3:0
+ dev-lang/swig
+ )
+ python? (
+ dev-lang/swig
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ ${PYTHON_DEPS}
+ dev-cpp/gtest
+ )
+"
+DEPEND="
+ dev-libs/expat
+ dev-libs/json-c:=
+ dev-libs/libpcre2
+ dev-libs/libxml2:2
+ dev-libs/openssl:=
+ media-libs/tiff
+ >=sci-libs/libgeotiff-1.5.1-r1:=
+ >=sci-libs/proj-6.0.0:=
+ sys-libs/zlib[minizip(+)]
+ armadillo? ( sci-libs/armadillo:=[lapack] )
+ curl? ( net-misc/curl )
+ fits? ( sci-libs/cfitsio:= )
+ geos? ( >=sci-libs/geos-3.8.0 )
+ gif? ( media-libs/giflib:= )
+ gml? ( >=dev-libs/xerces-c-3.1 )
+ heif? ( media-libs/libheif:= )
+ hdf5? ( >=sci-libs/hdf5-1.6.4:=[cxx,szip] )
+ java? (
+ >=virtual/jdk-1.8:*[-headless-awt]
+ )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lzma? ( || (
+ app-arch/xz-utils
+ app-arch/lzma
+ ) )
+ mysql? ( virtual/mysql )
+ netcdf? ( sci-libs/netcdf:= )
+ odbc? ( dev-db/unixODBC )
+ ogdi? ( >=sci-libs/ogdi-4.1.0-r1 )
+ opencl? ( virtual/opencl )
+ oracle? ( dev-db/oracle-instantclient:= )
+ pdf? ( app-text/poppler:= )
+ png? ( media-libs/libpng:= )
+ postgres? ( >=dev-db/postgresql-8.4:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+ spatialite? ( dev-db/spatialite )
+ sqlite? ( dev-db/sqlite:3 )
+ webp? ( media-libs/libwebp:= )
+ xls? ( dev-libs/freexl )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ _wstat64 # Windows LFS
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.8.0-java21.patch
+ "${FILESDIR}"/${PN}-3.6.4-abseil-cpp-20230125.2-c++17.patch
+)
+
+pkg_setup() {
+ if use python || use test ; then
+ python-single-r1_pkg_setup
+ fi
+
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use test ; then
+ mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_IPO=OFF
+ -DGDAL_USE_EXTERNAL_LIBS=ON
+ -DGDAL_USE_INTERNAL_LIBS=OFF
+ -DBUILD_TESTING=$(usex test)
+
+ # bug #844874 and bug #845150
+ -DCMAKE_INSTALL_INCLUDEDIR="include/gdal"
+
+ # Options here are generally off because of one of:
+ # - Not yet packaged dependencies
+ #
+ # - Off for autotools build and didn't want more churn by
+ # enabling during port to CMake. Feel free to request them
+ # being turned on if useful for you.
+ -DGDAL_USE_ARMADILLO=$(usex armadillo)
+ -DGDAL_USE_ARROW=OFF
+ -DGDAL_USE_BLOSC=OFF
+ -DGDAL_USE_BRUNSLI=OFF
+ -DGDAL_USE_CRNLIB=OFF
+ -DGDAL_USE_CFITSIO=$(usex fits)
+ -DGDAL_USE_CURL=$(usex curl)
+ -DGDAL_USE_CRYPTOPP=OFF
+ -DGDAL_USE_DEFLATE=OFF
+ -DGDAL_USE_ECW=OFF
+ -DGDAL_USE_EXPAT=ON
+ -DGDAL_USE_FILEGDB=OFF
+ -DGDAL_USE_FREEXL=$(usex xls)
+ -DGDAL_USE_FYBA=OFF
+ -DGDAL_USE_GEOTIFF=ON
+ -DGDAL_USE_GEOS=$(usex geos)
+ -DGDAL_USE_GIF=$(usex gif)
+ -DGDAL_USE_GTA=OFF
+ -DGDAL_USE_HEIF=$(usex heif)
+ -DGDAL_USE_HDF4=OFF
+ -DGDAL_USE_HDF5=$(usex hdf5)
+ -DGDAL_USE_HDFS=OFF
+ -DGDAL_USE_ICONV=ON # TODO dep
+ -DGDAL_USE_IDB=OFF
+ -DGDAL_USE_JPEG=$(usex jpeg)
+
+ # https://gdal.org/build_hints.html#jpeg12
+ # Independent of whether using system libjpeg
+ -DGDAL_USE_JPEG12_INTERNAL=ON
+
+ -DGDAL_USE_JSONC=ON
+ -DGDAL_USE_JXL=OFF
+ -DGDAL_USE_KDU=OFF
+ -DGDAL_USE_KEA=OFF
+ -DGDAL_USE_LERC=OFF
+ -DGDAL_USE_LIBKML=OFF
+ -DGDAL_USE_LIBLZMA=$(usex lzma)
+ -DGDAL_USE_LIBXML2=ON
+ -DGDAL_USE_LURATECH=OFF
+ -DGDAL_USE_LZ4=OFF
+ -DGDAL_USE_MONGOCXX=OFF
+ -DGDAL_USE_MRSID=OFF
+ -DGDAL_USE_MSSQL_NCLI=OFF
+ -DGDAL_USE_MSSQL_ODBC=OFF
+ -DGDAL_USE_MYSQL=$(usex mysql)
+ -DGDAL_USE_NETCDF=$(usex netcdf)
+ -DGDAL_USE_ODBC=$(usex odbc)
+ -DGDAL_USE_ODBCCPP=OFF
+ -DGDAL_USE_OGDI=$(usex ogdi)
+ -DGDAL_USE_OPENCAD=OFF
+ -DGDAL_USE_OPENCL=$(usex opencl)
+ -DGDAL_USE_OPENEXR=OFF
+ -DGDAL_USE_OPENJPEG=$(usex jpeg2k)
+ -DGDAL_USE_OPENSSL=ON
+ -DGDAL_USE_ORACLE=$(usex oracle)
+ -DGDAL_USE_PARQUET=OFF
+ -DGDAL_USE_PCRE2=ON
+ -DGDAL_USE_PDFIUM=OFF
+ -DGDAL_USE_PNG=$(usex png)
+ -DGDAL_USE_PODOFO=OFF
+ -DGDAL_USE_POPPLER=$(usex pdf)
+ -DGDAL_USE_POSTGRESQL=$(usex postgres)
+ -DGDAL_USE_QHULL=OFF
+ -DGDAL_USE_RASTERLITE2=OFF
+ -DGDAL_USE_RDB=OFF
+ -DGDAL_USE_SPATIALITE=$(usex spatialite)
+ -DGDAL_USE_SQLITE3=$(usex sqlite)
+ -DGDAL_USE_SFCGAL=OFF
+ -DGDAL_USE_TEIGHA=OFF
+ -DGDAL_USE_TIFF=ON
+ -DGDAL_USE_TILEDB=OFF
+ -DGDAL_USE_WEBP=$(usex webp)
+ -DGDAL_USE_XERCESC=$(usex gml)
+ -DGDAL_USE_ZLIB=ON
+ -DGDAL_USE_ZSTD=$(usex zstd)
+
+ # Bindings
+ -DBUILD_PYTHON_BINDINGS=$(usex python)
+ -DBUILD_JAVA_BINDINGS=$(usex java)
+ # bug #845369
+ -DBUILD_CSHARP_BINDINGS=OFF
+
+ # Check work/gdal-3.5.0_build/CMakeCache.txt after configure
+ # and https://github.com/OSGeo/gdal/blob/master/cmake/helpers/CheckCompilerMachineOption.cmake#L71
+ # Commented out: not (yet?) implemented upstream.
+ # Also, arm64 stuff is a TODO upstream, but not there (yet?)
+ -Dtest_avx=$(usex cpu_flags_x86_avx)
+ -Dtest_avx2=$(usex cpu_flags_x86_avx2)
+ -Dtest_sse=$(usex cpu_flags_x86_sse)
+ -Dtest_sse2=$(usex cpu_flags_x86_sse2)
+ #-Dtest_sse3=$(usex cpu_flags_x86_sse3)
+ -Dtest_sse4.1=$(usex cpu_flags_x86_sse4_1)
+ #-Dtest_sse4.2=$(usex cpu_flags_x86_sse4_2)
+ #-Dtest_sse4a=$(usex cpu_flags_x86_sse4a)
+ -Dtest_ssse3=$(usex cpu_flags_x86_ssse3)
+ #-Dtest_fma4=$(usex cpu_flags_x86_fma4)
+ #-Dtest_xop=$(usex cpu_flags_x86_xop)
+ )
+
+ if use test ; then
+ mycmakeargs+=( -DUSE_EXTERNAL_GTEST=ON )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile doc
+}
+
+src_test() {
+ export GDAL_RUN_SLOW_TESTS=0
+ export GDAL_DOWNLOAD_TEST_DATA=0
+
+ # Two test suites:
+ # 1. autotests (much larger, uses pytest)
+ # 2. Small set of fuzzing tests (no download needed)
+
+ # Missing file for test-unit?
+ cmake_src_test -E "(test-unit)"
+}
+
+src_install() {
+ cmake_src_install
+ use python && python_optimize
+
+ if use java; then
+ # Move the native library into the proper place for Gentoo. The
+ # library in ${D} has already had its RPATH fixed, so we use it
+ # rather than ${BUILD_DIR}/swig/java/libgdalalljni.so.
+ java-pkg_doso "${D}/usr/$(get_libdir)/jni/libgdalalljni.so"
+ rm -rf "${ED}/usr/$(get_libdir)/jni" || die
+ fi
+
+ # TODO: install docs?
+}
+
+pkg_postinst() {
+ elog "Check available image and data formats after building with"
+ elog "gdalinfo and ogrinfo (using the --formats switch)."
+
+ if use java; then
+ elog
+ elog "To use the Java bindings, you need to pass the following to java:"
+ elog " -Djava.library.path=$(java-config -i gdal)"
+ fi
+}
diff --git a/sci-libs/gdal/metadata.xml b/sci-libs/gdal/metadata.xml
index 44e078ca7dfa..4178226d550c 100644
--- a/sci-libs/gdal/metadata.xml
+++ b/sci-libs/gdal/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-geosciences@gentoo.org</email>
@@ -15,14 +15,14 @@
</slots>
<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="mdb">Enable support for Microsoft Access database</flag>
<flag name="ogdi">Enable support for the open geographic datastore interface (<pkg>sci-libs/ogdi</pkg>)</flag>
- <flag name="opencl">Enable OpenCL support</flag>
<flag name="spatialite">Enable Spatial DBMS over sqlite <pkg>dev-db/spatialite</pkg></flag>
<flag name="xls">Add the <pkg>dev-libs/freexl</pkg> library for xls import support</flag>
</use>
+ <upstream>
+ <remote-id type="github">OSGeo/gdal</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/geos/Manifest b/sci-libs/geos/Manifest
index 1fc391846d55..9fca3d6d3ed3 100644
--- a/sci-libs/geos/Manifest
+++ b/sci-libs/geos/Manifest
@@ -1 +1,5 @@
-DIST geos-3.8.1.tar.bz2 2505407 BLAKE2B 43053ea9e29d190f41c37d5d382b689ef477e0256cfd5705f4f2f316cac21a1674660bcf0900c51db72909c41d46be7a41d297958de48e108ae6d6bd1ca9d247 SHA512 1d8d8b3ece70eb388ea128f4135c7455899f01828223b23890ad3a2401e27104efce03987676794273a9b9d4907c0add2be381ff14b8420aaa9a858cc5941056
+DIST geos-3.11.0.tar.bz2 6727294 BLAKE2B 7d2cb7ae2dc6c5eb13836c16c8164402c1e964f98df95d5aaf9f6fd957ebcdbdefb43ae4fb17a5a671b6dfdb812bdacfdbfdfdea6e5bd44f135e3701a3cc914d SHA512 40c7553bbb93673c231ddd0131b73bf43b3f50524bc5bd9e6934c068d2c09632f388b7429254ae15d9641da2d15e3a626b430438854e98d9e7419ad04e535189
+DIST geos-3.11.1.tar.bz2 6753232 BLAKE2B 376050ca3224e5220f69d82ff62d79ff7ea3d35d5fe90b7ab4e0cabcb4200b47d7569110538c201df9cb28da784f09f8207a9a8233ee002ab2ec87f5cf336ba1 SHA512 708500aba9b04208ee46a531d55ddf63a213dfaa2922dae937b524300b2b46c95143ed6cd3ff1414e9099f2be95e5df5a2e0b49df43acf93a9478215259f20d3
+DIST geos-3.11.2.tar.bz2 6774288 BLAKE2B 62ddcaf5b6716983d49a6931c97ebe8d4c457ce7d127531ff3ff985555e9dfc2f1ebd211d1fe7afe183a3858913b4c22ec4674f68fb28ee8c43c9e9ce61abd3b SHA512 b5df5b773bef595335e1be6c6d3325f932f1577e2a4b8bdfa8cf26f09c7d41ed5e0695ca15826d1f95bc4a45b777839c2be8a96a8af5415c8bcf58cc804eb1ec
+DIST geos-3.12.0.tar.bz2 6736650 BLAKE2B abdf1c524fa35dccfe253f9774a57768a7597b3fb5ede99dbb5c473a3de5a2c8bcef7cd892ebf3768179a85b365394163fd38efb661f014d23828618178505d0 SHA512 cc67d9516d24ada2ceaf7c81ff9df40033bb15123160bf7e70fdff97b72c798f4b9ba8223c1eaebac0f33dcb530bc8cf42af000af3491f3227420290d89332d5
+DIST geos-3.12.1.tar.bz2 6727199 BLAKE2B 4ffc9cb63f3ac15b3dcb0ba9fec6a1ccaeaf35962a057234f4da38d6bba19df39e800805badfd56fe927da09c9392f0feaf2b7d02085e8f293c4d9503ab28ff9 SHA512 192eba83c651e935b3c9a5cc19321285e4d28b9da9d7a1fa15d9471803027e630db7a7ecea96343d9c5f9846d279062ca3694fe47916a4ebf5698ae66dd5210d
diff --git a/sci-libs/geos/files/geos-3.11.1-gcc-13.patch b/sci-libs/geos/files/geos-3.11.1-gcc-13.patch
new file mode 100644
index 000000000000..45054e860082
--- /dev/null
+++ b/sci-libs/geos/files/geos-3.11.1-gcc-13.patch
@@ -0,0 +1,111 @@
+https://github.com/libgeos/geos/commit/0e8d4368b8bd72a7d361286e8523ebce5cff6146
+https://github.com/libgeos/geos/commit/bea3188be44075034fd349f5bb117c943bdb7fb1
+
+From 0e8d4368b8bd72a7d361286e8523ebce5cff6146 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Tue, 29 Nov 2022 23:10:22 +0000
+Subject: [PATCH] Add missing <cstdint> includes for gcc-13 (#743)
+
+Without the change build on `gcc-13` fails as:
+
+ geos/include/geos/geomgraph/TopologyLocation.h:143:52: error: 'uint32_t' has not been declared
+ 143 | bool isEqualOnSide(const TopologyLocation& le, uint32_t locIndex) const
+ | ^~~~~~~~
+--- a/include/geos/geomgraph/Depth.h
++++ b/include/geos/geomgraph/Depth.h
+@@ -24,6 +24,7 @@
+ #include <geos/geom/Location.h>
+ #include <geos/geom/Position.h>
+ #include <string>
++#include <cstdint>
+
+ // Forward declarations
+ namespace geos {
+--- a/include/geos/geomgraph/TopologyLocation.h
++++ b/include/geos/geomgraph/TopologyLocation.h
+@@ -27,6 +27,7 @@
+ #include <array>
+ #include <string>
+ #include <cassert>
++#include <cstdint>
+
+ #ifdef _MSC_VER
+ #pragma warning(push)
+--- a/include/geos/io/WKTWriter.h
++++ b/include/geos/io/WKTWriter.h
+@@ -24,6 +24,7 @@
+
+ #include <string>
+ #include <cctype>
++#include <cstdint>
+
+ #ifdef _MSC_VER
+ #pragma warning(push)
+--- a/include/geos/operation/overlayng/OverlayLabel.h
++++ b/include/geos/operation/overlayng/OverlayLabel.h
+@@ -14,6 +14,8 @@
+
+ #pragma once
+
++#include <cstdint>
++
+ #include <geos/geom/Location.h>
+ #include <geos/geom/Position.h>
+ #include <geos/export.h>
+--- a/include/geos/shape/fractal/HilbertCode.h
++++ b/include/geos/shape/fractal/HilbertCode.h
+@@ -17,6 +17,7 @@
+
+ #include <geos/export.h>
+ #include <string>
++#include <cstdint>
+
+ // Forward declarations
+ namespace geos {
+--- a/include/geos/shape/fractal/MortonCode.h
++++ b/include/geos/shape/fractal/MortonCode.h
+@@ -17,6 +17,7 @@
+
+ #include <geos/export.h>
+ #include <string>
++#include <cstdint>
+
+ // Forward declarations
+ namespace geos {
+
+From bea3188be44075034fd349f5bb117c943bdb7fb1 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <mail@heiko-becker.de>
+Date: Mon, 23 Jan 2023 15:56:11 +0100
+Subject: [PATCH] Fix build with gcc 13 by including <cstdint> (#805)
+
+In addition to [1]. Otherwise geos fails to build with:
+"geos-3.11.1/include/geos/shape/fractal/HilbertEncoder.h:40:28: error: expected ')' before 'p_level'
+ 40 | HilbertEncoder(uint32_t p_level, geom::Envelope& extent);
+ | ~ ^~~~~~~~
+ | )
+/var/tmp/paludis/build/sci-libs-geos-3.11.1/work/geos-3.11.1/include/geos/shape/fractal/HilbertEncoder.h:41:5: error: 'uint32_t' does not name a type
+ 41 | uint32_t encode(const geom::Envelope* env);
+ | ^~~~~~~~"
+
+[1] 0e8d4368b8bd72a7d361286e8523ebce5cff6146
+--- a/include/geos/shape/fractal/HilbertEncoder.h
++++ b/include/geos/shape/fractal/HilbertEncoder.h
+@@ -19,6 +19,7 @@
+ #include <geos/geom/Geometry.h>
+ #include <string>
+ #include <vector>
++#include <cstdint>
+
+ // Forward declarations
+ namespace geos {
+--- a/tests/unit/capi/GEOSMakeValidTest.cpp
++++ b/tests/unit/capi/GEOSMakeValidTest.cpp
+@@ -9,6 +9,7 @@
+ #include <cstdlib>
+ #include <cmath>
+ #include <cstring>
++#include <cstdint>
+
+ #include "capi_test_utils.h"
+
+
diff --git a/sci-libs/geos/files/geos-3.11.2-gcc-13.patch b/sci-libs/geos/files/geos-3.11.2-gcc-13.patch
new file mode 100644
index 000000000000..fa46cf8bf4d2
--- /dev/null
+++ b/sci-libs/geos/files/geos-3.11.2-gcc-13.patch
@@ -0,0 +1,38 @@
+https://github.com/libgeos/geos/commit/bea3188be44075034fd349f5bb117c943bdb7fb1
+
+From bea3188be44075034fd349f5bb117c943bdb7fb1 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <mail@heiko-becker.de>
+Date: Mon, 23 Jan 2023 15:56:11 +0100
+Subject: [PATCH] Fix build with gcc 13 by including <cstdint> (#805)
+
+In addition to [1]. Otherwise geos fails to build with:
+"geos-3.11.1/include/geos/shape/fractal/HilbertEncoder.h:40:28: error: expected ')' before 'p_level'
+ 40 | HilbertEncoder(uint32_t p_level, geom::Envelope& extent);
+ | ~ ^~~~~~~~
+ | )
+/var/tmp/paludis/build/sci-libs-geos-3.11.1/work/geos-3.11.1/include/geos/shape/fractal/HilbertEncoder.h:41:5: error: 'uint32_t' does not name a type
+ 41 | uint32_t encode(const geom::Envelope* env);
+ | ^~~~~~~~"
+
+[1] 0e8d4368b8bd72a7d361286e8523ebce5cff6146
+--- a/include/geos/shape/fractal/HilbertEncoder.h
++++ b/include/geos/shape/fractal/HilbertEncoder.h
+@@ -19,6 +19,7 @@
+ #include <geos/geom/Geometry.h>
+ #include <string>
+ #include <vector>
++#include <cstdint>
+
+ // Forward declarations
+ namespace geos {
+--- a/tests/unit/capi/GEOSMakeValidTest.cpp
++++ b/tests/unit/capi/GEOSMakeValidTest.cpp
+@@ -9,6 +9,7 @@
+ #include <cstdlib>
+ #include <cmath>
+ #include <cstring>
++#include <cstdint>
+
+ #include "capi_test_utils.h"
+
+
diff --git a/sci-libs/geos/geos-3.11.0.ebuild b/sci-libs/geos/geos-3.11.0.ebuild
new file mode 100644
index 000000000000..1cf22d560bb0
--- /dev/null
+++ b/sci-libs/geos/geos-3.11.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Geometry engine library for Geographic Information Systems"
+HOMEPAGE="https://libgeos.org/"
+SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ia64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_TESTING=$(usex test)
+ -DUSE_CCACHE=OFF
+
+ # bug #709368
+ $(usex arm '-DDISABLE_GEOS_INLINE=ON' '')
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc ; then
+ HTML_DOCS=( "${BUILD_DIR}"/doxygen/doxygen_docs/html/. )
+ einstalldocs
+ fi
+}
diff --git a/sci-libs/geos/geos-3.11.1.ebuild b/sci-libs/geos/geos-3.11.1.ebuild
new file mode 100644
index 000000000000..1010da5740a8
--- /dev/null
+++ b/sci-libs/geos/geos-3.11.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Geometry engine library for Geographic Information Systems"
+HOMEPAGE="https://libgeos.org/"
+SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-13.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_TESTING=$(usex test)
+ -DUSE_CCACHE=OFF
+
+ # bug #709368
+ $(usex arm '-DDISABLE_GEOS_INLINE=ON' '')
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc ; then
+ HTML_DOCS=( "${BUILD_DIR}"/doxygen/doxygen_docs/html/. )
+ einstalldocs
+ fi
+}
diff --git a/sci-libs/geos/geos-3.11.2.ebuild b/sci-libs/geos/geos-3.11.2.ebuild
new file mode 100644
index 000000000000..ea63aa08b670
--- /dev/null
+++ b/sci-libs/geos/geos-3.11.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Geometry engine library for Geographic Information Systems"
+HOMEPAGE="https://libgeos.org/"
+SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ia64 ~ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-13.patch
+)
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/862702
+ # https://github.com/libgeos/geos/issues/1054
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_TESTING=$(usex test)
+ -DUSE_CCACHE=OFF
+
+ # bug #709368
+ $(usev arm '-DDISABLE_GEOS_INLINE=ON')
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc ; then
+ HTML_DOCS=( "${BUILD_DIR}"/doxygen/doxygen_docs/html/. )
+ einstalldocs
+ fi
+}
diff --git a/sci-libs/geos/geos-3.12.0.ebuild b/sci-libs/geos/geos-3.12.0.ebuild
new file mode 100644
index 000000000000..71105c249023
--- /dev/null
+++ b/sci-libs/geos/geos-3.12.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Geometry engine library for Geographic Information Systems"
+HOMEPAGE="https://libgeos.org/"
+SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/862702
+ # https://github.com/libgeos/geos/issues/1054
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_TESTING=$(usex test)
+ -DUSE_CCACHE=OFF
+
+ # bug #709368
+ $(usev arm '-DDISABLE_GEOS_INLINE=ON')
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc ; then
+ HTML_DOCS=( "${BUILD_DIR}"/doxygen/doxygen_docs/html/. )
+ einstalldocs
+ fi
+}
diff --git a/sci-libs/geos/geos-3.12.1.ebuild b/sci-libs/geos/geos-3.12.1.ebuild
new file mode 100644
index 000000000000..71105c249023
--- /dev/null
+++ b/sci-libs/geos/geos-3.12.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Geometry engine library for Geographic Information Systems"
+HOMEPAGE="https://libgeos.org/"
+SRC_URI="https://download.osgeo.org/geos/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/862702
+ # https://github.com/libgeos/geos/issues/1054
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(usex doc)
+ -DBUILD_TESTING=$(usex test)
+ -DUSE_CCACHE=OFF
+
+ # bug #709368
+ $(usev arm '-DDISABLE_GEOS_INLINE=ON')
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_src_compile docs
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc ; then
+ HTML_DOCS=( "${BUILD_DIR}"/doxygen/doxygen_docs/html/. )
+ einstalldocs
+ fi
+}
diff --git a/sci-libs/geos/geos-3.8.1.ebuild b/sci-libs/geos/geos-3.8.1.ebuild
deleted file mode 100644
index baade73842c7..000000000000
--- a/sci-libs/geos/geos-3.8.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Geometry engine library for Geographic Information Systems"
-HOMEPAGE="https://trac.osgeo.org/geos/"
-SRC_URI="http://download.osgeo.org/geos/${PN}-${PV}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
-IUSE="doc ruby static-libs"
-
-BDEPEND="
- doc? ( app-doc/doxygen )
- ruby? ( dev-lang/swig:0 )
-"
-RDEPEND="
- ruby? ( dev-lang/ruby:* )
-"
-DEPEND="${RDEPEND}"
-
-RESTRICT="test"
-
-src_prepare() {
- default
- echo "#!${EPREFIX}/bin/bash" > py-compile
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-python
- $(use_enable ruby)
- $(use_enable static-libs static)
- )
- use arm && myeconfargs+=( --disable-inline ) # bug 709368
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- default
- use doc && emake -C doc doxygen-html
-}
-
-src_install() {
- use doc && local HTML_DOCS=( doc/doxygen_docs/html/. )
- default
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sci-libs/geos/metadata.xml b/sci-libs/geos/metadata.xml
index ff68ab052ff5..cc52aafc5a7e 100644
--- a/sci-libs/geos/metadata.xml
+++ b/sci-libs/geos/metadata.xml
@@ -1,21 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci-geosciences@gentoo.org</email>
- <name>Gentoo Geosciences Project</name>
- </maintainer>
- <maintainer type="project">
- <email>pgsql-bugs@gentoo.org</email>
- <name>PostgreSQL and Related Package Development</name>
- </maintainer>
- <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>
+ <maintainer type="project">
+ <email>sci-geosciences@gentoo.org</email>
+ <name>Gentoo Geosciences Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>pgsql-bugs@gentoo.org</email>
+ <name>PostgreSQL and Related Package Development</name>
+ </maintainer>
+ <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>
+ <upstream>
+ <remote-id type="github">libgeos/geos</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/gerris/files/gerris-20131206-respect-NM.patch b/sci-libs/gerris/files/gerris-20131206-respect-NM.patch
new file mode 100644
index 000000000000..88d3e5bca87a
--- /dev/null
+++ b/sci-libs/gerris/files/gerris-20131206-respect-NM.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/725450
+--- a/doc/examples/modulesyms.sh
++++ b/doc/examples/modulesyms.sh
+@@ -7,7 +7,7 @@ for module in `cat modules.list`; do
+ lib=$2/lib"$module""$dim".so
+ fi
+ if test -f $lib; then
+- nm -fb $lib | grep ".* T gfs_.*_class$" | grep -v "gfs_gl" | cut -d" " -f3-4
++ ${NM:-nm} -fb $lib | grep ".* T gfs_.*_class$" | grep -v "gfs_gl" | cut -d" " -f3-4
+ fi
+ done
+ done | sort | uniq | sed -e 's/_class//g' -e 's/^./\U&/' -e 's/_./\U&/g' -e 's/_//g' | \
diff --git a/sci-libs/gerris/files/gerris-20131206-slibtool.patch b/sci-libs/gerris/files/gerris-20131206-slibtool.patch
new file mode 100644
index 000000000000..d28501d2869b
--- /dev/null
+++ b/sci-libs/gerris/files/gerris-20131206-slibtool.patch
@@ -0,0 +1,119 @@
+https://bugs.gentoo.org/778341
+
+commit 9213297c1717f6477c4784ead6c91864693e6b40
+Author: orbea <orbea@riseup.net>
+Date: Fri Mar 26 15:56:31 2021 -0700
+
+ Link the .la files to fix the build with slibtool.
+
+diff --git a/modules/Makefile.am b/modules/Makefile.am
+index c66aea0..d6db7b6 100644
+--- a/modules/Makefile.am
++++ b/modules/Makefile.am
+@@ -78,24 +78,21 @@ libmap2D_la_SOURCES = map.c
+ libmap2D_la_CFLAGS = $(AM_CFLAGS) -DFTT_2D=1
+ libmap2D_la_LIBADD = $(GFS2D_LIBS) -lproj
+
+-KDTLIBS = -Lkdt -lkdt -lm
+-KDTDEPS = kdt/libkdt.la
++KDTLIBS = kdt/libkdt.la -lm
+
+ libterrain3D_la_SOURCES = terrain.c
+ libterrain3D_la_LIBADD = $(GFS3D_LIBS) $(KDTLIBS)
+-libterrain3D_la_DEPENDENCIES = $(KDTDEPS)
+
+ libterrain2D_la_CFLAGS = $(AM_CFLAGS) -DFTT_2D=1
+ libterrain2D_la_SOURCES = terrain.c
+ libterrain2D_la_LIBADD = $(GFS2D_LIBS) $(KDTLIBS)
+-libterrain2D_la_DEPENDENCIES = $(KDTDEPS)
+
+ libtide3D_la_SOURCES = tide.c
+ libtide3D_la_CFLAGS = $(AM_CFLAGS) $(GSL_CFLAGS)
+-libtide3D_la_LIBADD = $(GFS3D_LIBS) -Lfes2004 -lfes -lnetcdf $(GSL_LIBS)
++libtide3D_la_LIBADD = $(GFS3D_LIBS) fes2004/libfes.la -lnetcdf $(GSL_LIBS)
+ libtide2D_la_SOURCES = tide.c
+ libtide2D_la_CFLAGS = $(AM_CFLAGS) $(GSL_CFLAGS) -DFTT_2D=1
+-libtide2D_la_LIBADD = $(GFS2D_LIBS) -Lfes2004 -lfes -lnetcdf $(GSL_LIBS)
++libtide2D_la_LIBADD = $(GFS2D_LIBS) fes2004/libfes.la -lnetcdf $(GSL_LIBS)
+
+ libstokes3D_la_SOURCES = stokes.c CW263.f
+ libstokes3D_la_CFLAGS = $(AM_CFLAGS)
+@@ -105,7 +102,7 @@ libstokes2D_la_CFLAGS = $(AM_CFLAGS) -DFTT_2D=1
+ libstokes2D_la_LIBADD = $(GFS2D_LIBS)
+
+ libwavewatch2D_la_SOURCES = wavewatch.c
+-libwavewatch2D_la_LIBADD = $(GFS2D_LIBS) -Lwavewatch -lwavewatch
++libwavewatch2D_la_LIBADD = $(GFS2D_LIBS) wavewatch/libwavewatch.la
+ 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; }'`
+@@ -119,9 +116,9 @@ libode2D_la_CFLAGS = $(AM_CFLAGS) $(ODE_CFLAGS) -DFTT_2D=1
+ libode2D_la_LIBADD = $(GFS2D_LIBS) $(ODE_LIBS)
+
+ rsurface2kdt_SOURCES = rsurface2kdt.c rsurface.c rsurface.h
+-rsurface2kdt_LDADD = -LRStarTree -lcSmRST $(KDTLIBS)
++rsurface2kdt_LDFLAGS = $(NO_UNDEFINED)
++rsurface2kdt_LDADD = RStarTree/libcSmRST.la $(KDTLIBS)
+ rsurface2kdt_CFLAGS = $(AM_CFLAGS)
+-rsurface2kdt_DEPENDENCIES = $(KDTDEPS)
+
+ noinst_LTLIBRARIES = libparticulatecommon2D.la libparticulatecommon3D.la
+
+@@ -210,7 +207,7 @@ libtopics2D_la_LIBADD = $(GFS2D_LIBS)
+
+ libculvert2D_la_SOURCES = culvert.c
+ libculvert2D_la_CFLAGS = $(AM_CFLAGS)
+-libculvert2D_la_LIBADD = $(GFS2D_LIBS) -Lculvert -lboyd87 -lm
++libculvert2D_la_LIBADD = $(GFS2D_LIBS) culvert/libboyd87.la -lm
+ libculvert2D_la_DEPENDENCIES = culvert/libboyd87.la
+
+ liblayered2D_la_SOURCES = layered.c
+diff --git a/modules/culvert/Makefile.am b/modules/culvert/Makefile.am
+index dff5b46..cb47591 100644
+--- a/modules/culvert/Makefile.am
++++ b/modules/culvert/Makefile.am
+@@ -8,17 +8,17 @@ libboyd87_la_SOURCES = boyd87.c boyd87.h
+ noinst_PROGRAMS = check_inlet check_outlet discharge_table
+
+ check_outlet_SOURCES = check_outlet.c boyd87.h
+-check_outlet_LDADD = -lboyd87 -lm
++check_outlet_LDADD = libboyd87.la -lm
+ check_outlet_CFLAGS = $(AM_CFLAGS)
+ check_outlet_DEPENDENCIES = libboyd87.la
+
+ check_inlet_SOURCES = check_inlet.c boyd87.h
+-check_inlet_LDADD = -lboyd87 -lm
++check_inlet_LDADD = libboyd87.la -lm
+ check_inlet_CFLAGS = $(AM_CFLAGS)
+ check_inlet_DEPENDENCIES = libboyd87.la
+
+ discharge_table_SOURCES = discharge_table.c boyd87.h
+-discharge_table_LDADD = -lboyd87 -lm
++discharge_table_LDADD = libboyd87.la -lm
+ discharge_table_CFLAGS = $(AM_CFLAGS)
+ discharge_table_DEPENDENCIES = libboyd87.la
+
+diff --git a/modules/kdt/Makefile.am b/modules/kdt/Makefile.am
+index a9e7954..376e7dd 100644
+--- a/modules/kdt/Makefile.am
++++ b/modules/kdt/Makefile.am
+@@ -13,16 +13,16 @@ libkdt_la_SOURCES = \
+ kdt.h
+
+ xyz2kdt_SOURCES = xyz2kdt.c kdt.h
+-xyz2kdt_LDADD = -lkdt -lm
++xyz2kdt_LDADD = libkdt.la -lm
+ xyz2kdt_CFLAGS = $(AM_CFLAGS)
+ xyz2kdt_DEPENDENCIES = libkdt.la
+
+ kdt2kdt_SOURCES = kdt2kdt.c kdt.h
+-kdt2kdt_LDADD = -lkdt -lm
++kdt2kdt_LDADD = libkdt.la -lm
+ kdt2kdt_CFLAGS = $(AM_CFLAGS)
+ kdt2kdt_DEPENDENCIES = libkdt.la
+
+ kdtquery_SOURCES = kdtquery.c kdt.h
+-kdtquery_LDADD = -lkdt -lm
++kdtquery_LDADD = libkdt.la -lm
+ kdtquery_CFLAGS = $(AM_CFLAGS)
+ kdtquery_DEPENDENCIES = libkdt.la
diff --git a/sci-libs/gerris/gerris-20131206-r1.ebuild b/sci-libs/gerris/gerris-20131206-r1.ebuild
index d17000bbe95f..cf42447323e6 100644
--- a/sci-libs/gerris/gerris-20131206-r1.ebuild
+++ b/sci-libs/gerris/gerris-20131206-r1.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit autotools flag-o-matic toolchain-funcs
+inherit autotools flag-o-matic toolchain-funcs xdg
MY_P=${P/-20/-snapshot-}
DESCRIPTION="Gerris Flow Solver"
HOMEPAGE="http://gfs.sourceforge.net/"
SRC_URI="http://gerris.dalembert.upmc.fr/gerris/tarballs/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
-
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="examples mpi static-libs"
@@ -32,10 +32,8 @@ RDEPEND="
sci-libs/fftw:3.0=
virtual/lapack
mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
# buggy tests, need extra packages and require gerris to be installed
RESTRICT=test
@@ -46,6 +44,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-20130531-use-blas-lapack-system.patch
"${FILESDIR}"/${PN}-20131206-lis-api-change.patch
"${FILESDIR}"/${PN}-20131206-DEFAULT_SOURCE-replacement.patch
+ "${FILESDIR}"/${PN}-20131206-slibtool.patch
+ "${FILESDIR}"/${PN}-20131206-respect-NM.patch
)
src_prepare() {
@@ -54,7 +54,11 @@ src_prepare() {
}
src_configure() {
- append-cppflags "-I${EPREFIX}/usr/include/hypre"
+ # bug #725450
+ tc-export NM
+
+ append-cppflags "-I${ESYSROOT}/usr/include/hypre"
+
econf \
--enable-shared \
$(use_enable static-libs static) \
@@ -64,6 +68,7 @@ src_configure() {
src_install() {
default
+
use examples && dodoc -r doc/examples
find "${D}" -name '*.la' -delete || die
diff --git a/sci-libs/gerris/metadata.xml b/sci-libs/gerris/metadata.xml
index cbf216a39022..31d103bb29c9 100644
--- a/sci-libs/gerris/metadata.xml
+++ b/sci-libs/gerris/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/getdata/Manifest b/sci-libs/getdata/Manifest
index d5e6e9deacee..32dc82103efa 100644
--- a/sci-libs/getdata/Manifest
+++ b/sci-libs/getdata/Manifest
@@ -1 +1 @@
-DIST getdata-0.9.0.tar.xz 920652 BLAKE2B d5f0659474dfab9f4e589a28a7788b5a51de3c0064b58de37bdb11dad27b56daa05d8e705da743c5da271bd8c4e1343ac6ac41adfdfabfcaef0006e46c45d2bf SHA512 28d720141e34cc56a5166594d0a6ac293144d123706988ed170e40dd9d7aaf13b920305e8bd8343ecd7cbe43eee5d83720e3e5f5d2da0cdccdc1444725cc6844
+DIST getdata-0.11.0.tar.xz 1060324 BLAKE2B b758447429f95d53d6ce3e32eb5591d0141c218f5b3a3c391fb713722f8dc12fba2add078d75be1b2957b2d27b7d843cb51450fc49394da130548721f5df9384 SHA512 cf301449288c2b0e337a356f03ac8d295a4f5a32eb6c2a29c15c6fcc434a9eea8661a8070defbbf1d751e64e1f616e4353863b13d350fa8df6837631d86bc932
diff --git a/sci-libs/getdata/files/getdata-0.11.0-bashisms-configure.patch b/sci-libs/getdata/files/getdata-0.11.0-bashisms-configure.patch
new file mode 100644
index 000000000000..df3915f7b849
--- /dev/null
+++ b/sci-libs/getdata/files/getdata-0.11.0-bashisms-configure.patch
@@ -0,0 +1,66 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -571,7 +571,7 @@ if test "x${use_modules}" != "xno"; then
+ LDFLAGS=$saved_ldflags
+ LIBS=$saved_libs
+
+- if test "x$have_ltdl" == "xno"; then
++ if test "x$have_ltdl" = "xno"; then
+ AC_MSG_ERROR([libltdl is required to build modules. Please either specify the location of the libltdl library using --with-ltdl=PREFIX or else disable the building of modules by using --disable-modules])
+ fi
+
+@@ -601,18 +601,18 @@ AC_SUBST([LIBLTDL])
+ AC_SUBST([LTDLINCL])
+
+ dnl check if we found a C++ compiler
+-if test "x$CXX" == "x"; then
++if test "x$CXX" = "x"; then
+ make_cxxbindings=no
+ fi
+
+ dnl check if we found a Fortran 77 compiler
+-if test "x$F77" == "x"; then
++if test "x$F77" = "x"; then
+ make_f77bindings=no
+ make_f95bindings=no
+ fi
+
+ dnl check if we found a free-form Fortran compiler
+-if test "x$FC" == "x"; then
++if test "x$FC" = "x"; then
+ make_f95bindings=no
+ fi
+
+@@ -641,7 +641,7 @@ fi
+ dnl F77 stuff
+ if test "x$make_f77bindings" != "xno"; then
+ AC_F77_WRAPPERS
+- if test "x$ac_cv_f77_mangling" == "xunknown"; then
++ if test "x$ac_cv_f77_mangling" = "xunknown"; then
+ make_f77bindings=no
+ make_f95bindings=no
+ fi
+@@ -1065,7 +1065,7 @@ else
+ AC_MSG_RESULT([$use_slim])
+ AC_MSG_CHECKING([for zzip support])
+ AC_MSG_RESULT([$use_zzip])
+- if test "$use_slim$use_zzip" == "yesyes"; then
++ if test "$use_slim$use_zzip" = "yesyes"; then
+ if test $zzslim_override = "yes"; then
+ AC_MSG_CHECKING([for zzslim support])
+ AC_MSG_RESULT([yes (forced)])
+@@ -1200,11 +1200,11 @@ AC_CONFIG_FILES([test/Makefile])
+ AC_CONFIG_FILES([util/Makefile])
+
+ dnl Automake conditionals
+-AM_CONDITIONAL(GETDATA_DEBUG, [test "x$enable_debug" == "xyes"])
++AM_CONDITIONAL(GETDATA_DEBUG, [test "x$enable_debug" = "xyes"])
+ AM_CONDITIONAL(HAVE_SED, [ test "x${SED}" != 'x' ])
+ AM_CONDITIONAL(INTEL_F77_COMPILER,
+- [test "x$gd_cv_f77_compiler_intel" == "xyes"])
+-AM_CONDITIONAL(INTEL_FC_COMPILER, [test "x$gd_cv_fc_compiler_intel" == "xyes"])
++ [test "x$gd_cv_f77_compiler_intel" = "xyes"])
++AM_CONDITIONAL(INTEL_FC_COMPILER, [test "x$gd_cv_fc_compiler_intel" = "xyes"])
+ AM_CONDITIONAL(INCLUDE_LEGACY_API, [test "x$include_legacy_api" != "xno"])
+ AM_CONDITIONAL(MAKE_CXXBINDINGS, [test "x$make_cxxbindings" = "xyes"])
+ AM_CONDITIONAL(MAKE_F77BINDINGS, [test "x$make_f77bindings" != "xno"])
diff --git a/sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch b/sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch
new file mode 100644
index 000000000000..09a250e955f9
--- /dev/null
+++ b/sci-libs/getdata/files/getdata-0.11.0-fix-gzseek64-not-found.patch
@@ -0,0 +1,12 @@
+Refer: https://stackoverflow.com/a/42695228
+Bug: https://bugs.gentoo.org/898278
+--- a/src/gzip.c
++++ b/src/gzip.c
+@@ -21,6 +21,7 @@
+ #include "internal.h"
+
+ #ifdef HAVE_ZLIB_H
++#define Z_LARGE64
+ #include <zlib.h>
+ #endif
+
diff --git a/sci-libs/getdata/files/getdata-0.9.0-remove-python-test.patch b/sci-libs/getdata/files/getdata-0.9.0-remove-python-test.patch
deleted file mode 100644
index 98da89dfb8ec..000000000000
--- a/sci-libs/getdata/files/getdata-0.9.0-remove-python-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Remove python test suite.
-
---- getdata-0.9.0/bindings/python/Makefile.am
-+++ getdata-0.9.0/bindings/python/Makefile.am
-@@ -20,8 +20,6 @@
- #
- AUTOMAKE_OPTIONS = foreign
-
--SUBDIRS=test
--
- nodist_python_SCRIPTS = pygetdata.so
-
- BUILT_SOURCES = pyconstants.c
diff --git a/sci-libs/getdata/getdata-0.11.0-r2.ebuild b/sci-libs/getdata/getdata-0.11.0-r2.ebuild
new file mode 100644
index 000000000000..db7e24e11bc4
--- /dev/null
+++ b/sci-libs/getdata/getdata-0.11.0-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD="95"
+FORTRAN_NEEDED=fortran
+inherit autotools fortran-2 flag-o-matic
+
+DESCRIPTION="Reference implementation of the Dirfile, format for time-ordered binary data"
+HOMEPAGE="https://getdata.sourceforge.net"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.xz"
+
+SLOT="0"
+LICENSE="LGPL-2.1+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 cxx debug flac fortran lzma perl static-libs"
+
+DEPEND="
+ dev-libs/libltdl
+ bzip2? ( app-arch/bzip2 )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.11.0-fix-gzseek64-not-found.patch
+ "${FILESDIR}"/${PN}-0.11.0-bashisms-configure.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ #
+ # In theory I could report a bug. In practice the project has ignored all
+ # bug reports since immediately after switching to github.
+ filter-lto
+
+ # GCC 10 workaround
+ # bug #723076
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
+
+ econf \
+ --disable-idl \
+ --disable-matlab \
+ --disable-php \
+ --with-libz \
+ --without-libslim \
+ --without-libzzip \
+ $(use_with bzip2 libbz2) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable debug) \
+ $(use_with flac libFLAC) \
+ $(use_enable fortran) \
+ $(use_enable fortran fortran95) \
+ $(use_with lzma liblzma) \
+ $(use_enable perl) \
+ $(usex perl --with-perl-dir=vendor) \
+ --disable-python \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/getdata/getdata-0.11.0.ebuild b/sci-libs/getdata/getdata-0.11.0.ebuild
new file mode 100644
index 000000000000..ef397493899d
--- /dev/null
+++ b/sci-libs/getdata/getdata-0.11.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD="95"
+FORTRAN_NEEDED=fortran
+inherit autotools fortran-2 flag-o-matic
+
+DESCRIPTION="Reference implementation of the Dirfile, format for time-ordered binary data"
+HOMEPAGE="https://getdata.sourceforge.net"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.xz"
+
+SLOT="0"
+LICENSE="LGPL-2.1+"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 cxx debug flac fortran lzma perl static-libs"
+
+DEPEND="
+ dev-libs/libltdl
+ bzip2? ( app-arch/bzip2 )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # GCC 10 workaround
+ # bug #723076
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
+
+ econf \
+ --disable-idl \
+ --disable-matlab \
+ --disable-php \
+ --with-libz \
+ --without-libslim \
+ --without-libzzip \
+ $(use_with bzip2 libbz2) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable debug) \
+ $(use_with flac libFLAC) \
+ $(use_enable fortran) \
+ $(use_enable fortran fortran95) \
+ $(use_with lzma liblzma) \
+ $(use_enable perl) \
+ $(usex perl --with-perl-dir=vendor) \
+ --disable-python \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/getdata/getdata-0.9.0-r3.ebuild b/sci-libs/getdata/getdata-0.9.0-r3.ebuild
deleted file mode 100644
index bb727d3bea89..000000000000
--- a/sci-libs/getdata/getdata-0.9.0-r3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_STANDARD="95"
-FORTRAN_NEEDED=fortran
-PYTHON_COMPAT=( python2_7 )
-inherit autotools fortran-2 python-single-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.xz"
-
-SLOT="0"
-LICENSE="LGPL-2.1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 cxx debug flac fortran lzma perl python static-libs"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- bzip2? ( app-arch/bzip2 )
- lzma? ( app-arch/xz-utils )
- perl? ( dev-lang/perl )
- python? (
- $(python_gen_cond_dep '
- || (
- dev-python/numpy-python2[${PYTHON_MULTI_USEDEP}]
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
- )
- ')
- ${PYTHON_DEPS}
- )"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-remove-python-test.patch" )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-idl \
- --disable-matlab \
- --disable-php \
- --with-libz \
- --without-libslim \
- --without-libzzip \
- $(use_with bzip2 libbz2) \
- $(use_enable cxx cplusplus) \
- $(use_enable debug) \
- $(use_with flac libFLAC) \
- $(use_enable fortran) \
- $(use_enable fortran fortran95) \
- $(use_with lzma liblzma) \
- $(use_enable perl) \
- $(usex perl --with-perl-dir=vendor) \
- $(use_enable python) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/getdata/metadata.xml b/sci-libs/getdata/metadata.xml
index 7a03fbedeac4..d1f4f454496b 100644
--- a/sci-libs/getdata/metadata.xml
+++ b/sci-libs/getdata/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,8 +10,9 @@
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>
+ </longdescription>
<upstream>
+ <remote-id type="github">ketiltrout/getdata</remote-id>
<remote-id type="sourceforge">getdata</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/ginkgo/Manifest b/sci-libs/ginkgo/Manifest
index 935ba5909f25..85fa14f2e7ef 100644
--- a/sci-libs/ginkgo/Manifest
+++ b/sci-libs/ginkgo/Manifest
@@ -1 +1,2 @@
-DIST ginkgo-1.1.1.tar.gz 11787690 BLAKE2B 75c2c9b2d1e9ba00e3b0a20859af621cdf4aefe7c6e5ec9c7fc34a5368e5bee70d7d2b86ed9b2d9075ab7cc1a3334434fe20329d780f693be45fd7707cdbe27f SHA512 ab8f2d36453f4e60a4e0a13eddc4a137006c1cc6c9c0db00997dd721dfc06f4401109c5a22ba23a838206cff576d5041d06edaed8823006e69f11e360d1dadce
+DIST ginkgo-1.4.0.tar.gz 2574052 BLAKE2B 99677d9d75831991cac40312095d32c44bef18cd05b120d80fdb9e64ea6dc15796c09b26f35dc8230db6b55c7be4dd76efd6d1cd8ca13c83e1f3087550db0dca SHA512 9bfcb2c415c7a1a70cf8e49f20adf62d02cab83bb23b6fcecfeaeeb322b2d4e1ad8d8fa6582735073753f9a05eac8688b9bd1ff1d4203957c1a80702d117e807
+DIST ginkgo-1.6.0.tar.gz 12788830 BLAKE2B c452e20eddb3673b5863106d8a8d42aab253cb5a17cf0445194903ebadcffe53ef0df6b5f26e2602e137faaa4a23dddd0b192f3453b4bd440907385fc09d004a SHA512 507a17bc9ad010c235c4ae49ac4bef3f4d5b65b4ea02bfa5cad5ea578fa65d28f564d1faf0a1f5618a6e72d744217f58bdff68c5f1fffc9cfb484800f7f84c50
diff --git a/sci-libs/ginkgo/files/ginkgo-1.1.1-set_soname.patch b/sci-libs/ginkgo/files/ginkgo-1.1.1-set_soname.patch
deleted file mode 100644
index 9feceee00f7b..000000000000
--- a/sci-libs/ginkgo/files/ginkgo-1.1.1-set_soname.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake
-index 8a8ad04..03c6db6 100644
---- a/cmake/build_helpers.cmake
-+++ b/cmake/build_helpers.cmake
-@@ -17,6 +17,9 @@ function(ginkgo_compile_features name)
- if(GINKGO_WITH_IWYU AND GINKGO_IWYU_PATH)
- set_property(TARGET "${name}" PROPERTY CXX_INCLUDE_WHAT_YOU_USE ${GINKGO_IWYU_PATH})
- endif()
-+ # Set an appropriate SONAME
-+ set_property(TARGET "${name}" PROPERTY
-+ SOVERSION "${Ginkgo_VERSION}")
- if(GINKGO_CHANGED_SHARED_LIBRARY)
- # Put all shared libraries and corresponding imported libraries into the specified path
- set_property(TARGET "${name}" PROPERTY
diff --git a/sci-libs/ginkgo/files/ginkgo-1.6.0-disable_automagic_dependencies.patch b/sci-libs/ginkgo/files/ginkgo-1.6.0-disable_automagic_dependencies.patch
new file mode 100644
index 000000000000..c910ad92c5a9
--- /dev/null
+++ b/sci-libs/ginkgo/files/ginkgo-1.6.0-disable_automagic_dependencies.patch
@@ -0,0 +1,24 @@
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 41ed77d900..9a0c7d5128 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -40,8 +40,7 @@ if(GINKGO_BUILD_EXTLIB_EXAMPLE)
+ list(APPEND EXAMPLES_LIST external-lib-interfacing)
+ endif()
+
+-find_package(OpenCV QUIET)
+-if(OpenCV_FOUND)
++if(FALSE)
+ list(APPEND EXAMPLES_LIST heat-equation schroedinger-splitting)
+ else()
+ message(STATUS "No OpenCV found, disabling examples with video output")
+@@ -55,8 +54,7 @@ if(GINKGO_BUILD_MPI)
+ list(APPEND EXAMPLES_LIST distributed-solver)
+ endif()
+
+-find_package(Kokkos QUIET)
+-if(Kokkos_FOUND)
++if(FALSE)
+ if(GINKGO_WITH_CCACHE)
+ message(WARNING "The CMAKE_CXX_COMPILER_LAUNCHER is set due to "
+ "GINKGO_WITH_CCACHE=ON which is known to casue issues with CUDA enabled "
diff --git a/sci-libs/ginkgo/files/ginkgo-1.6.0-fix_type_mismatch.patch b/sci-libs/ginkgo/files/ginkgo-1.6.0-fix_type_mismatch.patch
new file mode 100644
index 000000000000..d248fe87f2d7
--- /dev/null
+++ b/sci-libs/ginkgo/files/ginkgo-1.6.0-fix_type_mismatch.patch
@@ -0,0 +1,12 @@
+diff --git a/core/base/timer.cpp b/core/base/timer.cpp
+index bc1c716..0185567 100644
+--- a/core/base/timer.cpp
++++ b/core/base/timer.cpp
+@@ -124,7 +124,7 @@ void CpuTimer::wait(time_point& time) {}
+ std::chrono::nanoseconds CpuTimer::difference_async(const time_point& start,
+ const time_point& stop)
+ {
+- return std::chrono::duration_cast<std::chrono::nanoseconds, int64>(
++ return std::chrono::duration_cast<std::chrono::nanoseconds>(
+ stop.data_.chrono - start.data_.chrono);
+ }
diff --git a/sci-libs/ginkgo/ginkgo-1.1.1-r1.ebuild b/sci-libs/ginkgo/ginkgo-1.1.1-r1.ebuild
deleted file mode 100644
index 5348b9a51be6..000000000000
--- a/sci-libs/ginkgo/ginkgo-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-DESCRIPTION="Numerical linear algebra software package"
-HOMEPAGE="https://ginkgo-project.github.io/"
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo"
- SRC_URI=""
- KEYWORDS=""
- inherit git-r3
-else
- SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="BSD-with-attribution"
-SLOT="0"
-IUSE="+openmp cuda"
-
-RDEPEND="
- cuda? ( dev-util/nvidia-cuda-sdk )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.1-set_soname.patch
-)
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && \
- use openmp && ! tc-has-openmp ; then
- die "Need an OpenMP capable compiler"
- fi
-}
-
-src_prepare() {
- sed -i \
- -e "s#\"lib\"#\"$(get_libdir)\"#g" \
- -e "s#\"lib/#\"$(get_libdir)/#g" \
- cmake/install_helpers.cmake || die "sed failed"
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
-
- local mycmakeargs=(
- -DGINKGO_DEVEL_TOOLS=OFF
- -DGINKGO_BUILD_TESTS=OFF
- -DGINKGO_BUILD_BENCHMARKS=OFF
- -DGINKGO_BUILD_REFERENCE=ON
- -DGINKGO_BUILD_OMP="$(usex openmp)"
- -DGINKGO_BUILD_CUDA="$(usex cuda)"
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/ginkgo/ginkgo-1.4.0-r3.ebuild b/sci-libs/ginkgo/ginkgo-1.4.0-r3.ebuild
new file mode 100644
index 000000000000..abd270c911c4
--- /dev/null
+++ b/sci-libs/ginkgo/ginkgo-1.4.0-r3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Numerical linear algebra software package"
+HOMEPAGE="https://ginkgo-project.github.io/"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD-with-attribution"
+SLOT="0"
+IUSE="cuda hwloc +openmp"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ hwloc? ( sys-apps/hwloc:= )
+"
+DEPEND="${RDEPEND}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ sed -i \
+ -e "s#\"lib\"#\"$(get_libdir)\"#g" \
+ -e "s#\"lib/#\"$(get_libdir)/#g" \
+ cmake/install_helpers.cmake || die "sed failed"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGINKGO_DEVEL_TOOLS=OFF
+ -DGINKGO_BUILD_TESTS=OFF
+ -DGINKGO_BUILD_BENCHMARKS=OFF
+ -DGINKGO_BUILD_REFERENCE=ON
+ -DGINKGO_BUILD_CUDA=$(usex cuda)
+ -DGINKGO_BUILD_HWLOC=$(usex hwloc)
+ -DGINKGO_BUILD_OMP=$(usex openmp)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/ginkgo/ginkgo-1.6.0.ebuild b/sci-libs/ginkgo/ginkgo-1.6.0.ebuild
new file mode 100644
index 000000000000..4cceeb06c5b6
--- /dev/null
+++ b/sci-libs/ginkgo/ginkgo-1.6.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Numerical linear algebra software package"
+HOMEPAGE="https://ginkgo-project.github.io/"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD-with-attribution"
+SLOT="0"
+IUSE="cuda hwloc +openmp"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ hwloc? ( sys-apps/hwloc:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix_type_mismatch.patch
+ "${FILESDIR}"/${P}-disable_automagic_dependencies.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ sed -i \
+ -e "s#\"lib\"#\"$(get_libdir)\"#g" \
+ -e "s#\"lib/#\"$(get_libdir)/#g" \
+ cmake/install_helpers.cmake || die "sed failed"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGINKGO_DEVEL_TOOLS=OFF
+ -DGINKGO_BUILD_TESTS=OFF
+ -DGINKGO_BUILD_BENCHMARKS=OFF
+ -DGINKGO_BUILD_REFERENCE=ON
+ -DGINKGO_BUILD_CUDA=$(usex cuda)
+ -DGINKGO_BUILD_HWLOC=$(usex hwloc)
+ -DGINKGO_BUILD_OMP=$(usex openmp)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/ginkgo/ginkgo-9999.ebuild b/sci-libs/ginkgo/ginkgo-9999.ebuild
deleted file mode 100644
index 5348b9a51be6..000000000000
--- a/sci-libs/ginkgo/ginkgo-9999.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-DESCRIPTION="Numerical linear algebra software package"
-HOMEPAGE="https://ginkgo-project.github.io/"
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo"
- SRC_URI=""
- KEYWORDS=""
- inherit git-r3
-else
- SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="BSD-with-attribution"
-SLOT="0"
-IUSE="+openmp cuda"
-
-RDEPEND="
- cuda? ( dev-util/nvidia-cuda-sdk )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.1-set_soname.patch
-)
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && \
- use openmp && ! tc-has-openmp ; then
- die "Need an OpenMP capable compiler"
- fi
-}
-
-src_prepare() {
- sed -i \
- -e "s#\"lib\"#\"$(get_libdir)\"#g" \
- -e "s#\"lib/#\"$(get_libdir)/#g" \
- cmake/install_helpers.cmake || die "sed failed"
-
- cmake-utils_src_prepare
-}
-
-src_configure() {
-
- local mycmakeargs=(
- -DGINKGO_DEVEL_TOOLS=OFF
- -DGINKGO_BUILD_TESTS=OFF
- -DGINKGO_BUILD_BENCHMARKS=OFF
- -DGINKGO_BUILD_REFERENCE=ON
- -DGINKGO_BUILD_OMP="$(usex openmp)"
- -DGINKGO_BUILD_CUDA="$(usex cuda)"
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/ginkgo/metadata.xml b/sci-libs/ginkgo/metadata.xml
index 2b6a2c10b332..8c638bee8543 100644
--- a/sci-libs/ginkgo/metadata.xml
+++ b/sci-libs/ginkgo/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
@@ -15,7 +15,8 @@
implemented using modern C++, with GPU kernels implemented in CUDA.
</longdescription>
<use>
- <flag name="cuda">Add support for cuda assimp (<pkg>dev-util/nvidia-cuda-sdk</pkg>)</flag>
+ <flag name="cuda">Add support for cuda assimp (<pkg>dev-util/nvidia-cuda-toolkit</pkg>)</flag>
+ <flag name="hwloc">Add support for hwloc (<pkg>sys-apps/hwloc</pkg>)</flag>
</use>
<upstream>
<remote-id type="github">ginkgo-project/ginkgo</remote-id>
diff --git a/sci-libs/givaro/Manifest b/sci-libs/givaro/Manifest
index 6682189b6b2d..20cac6206f66 100644
--- a/sci-libs/givaro/Manifest
+++ b/sci-libs/givaro/Manifest
@@ -1 +1,2 @@
DIST givaro-4.1.1.tar.gz 1008358 BLAKE2B 246fd1a263174f58d96dd66fa79e6113368b6c318c33d68858a339bd9cb778dfda84636c683ee9d02f2ac72ccff8ac22d395b92741448a8ed2ce08c041ac8ba9 SHA512 7ad15ac24f55ad65c9c5d0d48ff4388d0494e75dc7b66d1e139195cd086ff2371259bdb5df940fead1db2fd378bb76289f2327a8d6f41575d99d424a74cf644c
+DIST givaro-4.2.0.tar.gz 969595 BLAKE2B 07c9f08269ee60c06b1589e56ccf61870df6c7cab93fb8ebf27791d9231b153a2da9aed296105fd6dcd52aaa7d27ea03eacd6f2066d29de267455c9ca3747995 SHA512 1a3280563181710d364b77e1efe8c8f52ce3119a08b35f329cfd98136a742431b7e9d102289448d337797f815439682d0cfce1567a5a88d5851b244673a84486
diff --git a/sci-libs/givaro/files/givaro-4.1.1-fix-pc-libdir.patch b/sci-libs/givaro/files/givaro-4.1.1-fix-pc-libdir.patch
new file mode 100644
index 000000000000..35a536c04ad8
--- /dev/null
+++ b/sci-libs/givaro/files/givaro-4.1.1-fix-pc-libdir.patch
@@ -0,0 +1,21 @@
+From f5cbcebd7fcc2b68d6e1e9f1ba3aa53b9ed17b56 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Sun, 7 Aug 2022 13:25:24 +1200
+Subject: [PATCH] Fix givaro.pc.in file for issue #200
+
+---
+ givaro.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/givaro.pc.in b/givaro.pc.in
+index a4805555..9487ef8c 100644
+--- a/givaro.pc.in
++++ b/givaro.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@prefix@
+ exec_prefix=@prefix@
+-libdir=@prefix@/lib
++libdir=@libdir@
+ includedir=@prefix@/include
+
+ Name: Givaro
diff --git a/sci-libs/givaro/files/givaro-4.1.1-gcc-10.patch b/sci-libs/givaro/files/givaro-4.1.1-gcc-10.patch
new file mode 100644
index 000000000000..0564c7f94fef
--- /dev/null
+++ b/sci-libs/givaro/files/givaro-4.1.1-gcc-10.patch
@@ -0,0 +1,36 @@
+From 5ba9fa4930b347aea8817da444bea5a88971079a Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 7 Aug 2021 11:43:29 -0400
+Subject: [PATCH 1/1] configure: hack out old GCC-4.x test.
+
+The Givaro ./configure script fails to detect modern versions of GCC,
+instead deciding that they must be gcc-4.8. As a result, we wind up
+with "-fabi-version=6" in CXXFLAGS, which then gets propagated to
+users of "givaro-config --cflags", like fflas-ffpack.
+
+This is already fixed upstream, but not in a release, and not in a
+way that I care to backport. Here we just hack the configure script
+directly since the change is so trivial.
+---
+ configure | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure b/configure
+index 1eb75b0..f3bbb52 100755
+--- a/configure
++++ b/configure
+@@ -17172,11 +17172,6 @@ fi
+
+ echo "-----------------------------------------------"
+
+-if test "x$CCNAM" = "xgcc48"; then :
+- REQUIRED_FLAGS="${REQUIRED_FLAGS} -fabi-version=6"
+-fi
+-
+-
+
+ # Machine characteristics
+
+--
+2.31.1
+
diff --git a/sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch b/sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch
new file mode 100644
index 000000000000..15178289ca84
--- /dev/null
+++ b/sci-libs/givaro/files/givaro-4.1.1-gcc-13.patch
@@ -0,0 +1,23 @@
+From c7744bb133496cd7ac04688f345646d505e1bf52 Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Thu, 19 Jan 2023 09:12:22 -0500
+Subject: [PATCH] Add missing #include <cstdint> for (u)int64_t
+
+Fixes failure to compile on GCC 13.
+---
+ src/library/poly1/givdegree.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/library/poly1/givdegree.h b/src/library/poly1/givdegree.h
+index 3753a425..eb85a0dd 100644
+--- a/src/library/poly1/givdegree.h
++++ b/src/library/poly1/givdegree.h
+@@ -19,6 +19,8 @@
+ #ifndef __GIVARO_poly1degree_H
+ #define __GIVARO_poly1degree_H
+
++#include <cstdint>
++
+ #include <iostream>
+
+ namespace Givaro {
diff --git a/sci-libs/givaro/files/givaro-4.2.0-configure.ac-fix-a-bashism.patch b/sci-libs/givaro/files/givaro-4.2.0-configure.ac-fix-a-bashism.patch
new file mode 100644
index 000000000000..f8d942191040
--- /dev/null
+++ b/sci-libs/givaro/files/givaro-4.2.0-configure.ac-fix-a-bashism.patch
@@ -0,0 +1,32 @@
+From 1132161483e756902c86c190855e260164c025fd Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 9 Feb 2024 16:41:03 -0500
+Subject: [PATCH] configure.ac: fix a bashism
+
+There's one instance of VAR+=" value" in the configure script, but
+that only works in bash. With dash, for example, it results in
+
+ checking whether gmp version is at least 40000... yes
+ ./configure: 17953: REQUIRED_FLAGS+= : not found
+
+We change it to a VAR="${VAR} value" instead.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index b03e5e4d..a94286ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -121,7 +121,7 @@ AS_ECHO([---------------------------------------])
+
+ # Look for GMP and add flags if necessary
+ GIV_CHECK_GMP(40000)
+-REQUIRED_FLAGS+=" ${GMP_CFLAGS}"
++REQUIRED_FLAGS="${REQUIRED_FLAGS} ${GMP_CFLAGS}"
+
+ GIV_DOC
+
+--
+2.43.0
+
diff --git a/sci-libs/givaro/files/givaro-4.2.0-cstdint.patch b/sci-libs/givaro/files/givaro-4.2.0-cstdint.patch
new file mode 100644
index 000000000000..0fc532220da7
--- /dev/null
+++ b/sci-libs/givaro/files/givaro-4.2.0-cstdint.patch
@@ -0,0 +1,46 @@
+From a6b370873e406f9921a50359ed8ebf4714776411 Mon Sep 17 00:00:00 2001
+From: Jean-Guillaume Dumas <Jean-Guillaume.Dumas@imag.fr>
+Date: Wed, 11 Oct 2023 14:19:52 +0200
+Subject: [PATCH] cstdint required for uint64_t
+
+---
+ src/kernel/system/givpower.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/kernel/system/givpower.h b/src/kernel/system/givpower.h
+index 5644264d..080e114d 100644
+--- a/src/kernel/system/givpower.h
++++ b/src/kernel/system/givpower.h
+@@ -16,6 +16,8 @@
+ #ifndef __GIVARO_power_H
+ #define __GIVARO_power_H
+
++#include <cstdint>
++
+ namespace Givaro {
+
+ // -------------------------------------------------------------
+
+From c7744bb133496cd7ac04688f345646d505e1bf52 Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Thu, 19 Jan 2023 09:12:22 -0500
+Subject: [PATCH] Add missing #include <cstdint> for (u)int64_t
+
+Fixes failure to compile on GCC 13.
+---
+ src/library/poly1/givdegree.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/library/poly1/givdegree.h b/src/library/poly1/givdegree.h
+index 3753a425..eb85a0dd 100644
+--- a/src/library/poly1/givdegree.h
++++ b/src/library/poly1/givdegree.h
+@@ -19,6 +19,8 @@
+ #ifndef __GIVARO_poly1degree_H
+ #define __GIVARO_poly1degree_H
+
++#include <cstdint>
++
+ #include <iostream>
+
+ namespace Givaro {
diff --git a/sci-libs/givaro/files/givaro-4.2.0-gcc14.patch b/sci-libs/givaro/files/givaro-4.2.0-gcc14.patch
new file mode 100644
index 000000000000..83d7256abfd5
--- /dev/null
+++ b/sci-libs/givaro/files/givaro-4.2.0-gcc14.patch
@@ -0,0 +1,31 @@
+From 20caba1b549fe46b483f120f8eec6ec4e9f4572d Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Thu, 25 Jan 2024 08:29:17 -0500
+Subject: [PATCH] Temporary GCC 14 workaround
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes https://github.com/linbox-team/givaro/issues/226 “GCC 14: No match
+for operator= for Givaro::ZRing<Givaro::Integer>â€
+
+Recommended in
+https://github.com/linbox-team/givaro/issues/226#issuecomment-1908853755
+---
+ src/kernel/integer/random-integer.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/kernel/integer/random-integer.h b/src/kernel/integer/random-integer.h
+index f9361d33..ea189a36 100644
+--- a/src/kernel/integer/random-integer.h
++++ b/src/kernel/integer/random-integer.h
+@@ -87,7 +87,6 @@ namespace Givaro
+ if (this != &R) {
+ _bits = R._bits;
+ _integer = R._integer;
+- const_cast<Integer_Domain&>(_ring)=R._ring;
+ }
+ return *this;
+ }
+--
+2.43.0
diff --git a/sci-libs/givaro/givaro-4.1.1-r3.ebuild b/sci-libs/givaro/givaro-4.1.1-r3.ebuild
new file mode 100644
index 000000000000..e6da3ebb6eaa
--- /dev/null
+++ b/sci-libs/givaro/givaro-4.1.1-r3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="C++ library for arithmetic and algebraic computations"
+HOMEPAGE="https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro/"
+SRC_URI="https://github.com/linbox-team/givaro/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="CeCILL-B"
+SLOT="0/9"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 doc static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+"
+DEPEND="dev-libs/gmp:0[cxx(+)]"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS ChangeLog README.md )
+
+PATCHES=(
+ "${FILESDIR}/givaro-4.1.1-gcc-10.patch"
+ "${FILESDIR}/givaro-4.1.1-gcc-13.patch"
+ "${FILESDIR}/givaro-4.1.1-fix-pc-libdir.patch"
+)
+
+src_configure() {
+ # Passing "--disable-doc" also accidentally enables building
+ # the documentation, so we can't just $(use_enable doc) here.
+ # https://github.com/linbox-team/givaro/issues/148
+ econf \
+ $(usex doc --enable-doc "" "" "") \
+ --with-docdir="/usr/share/doc/${PF}/html" \
+ $(use_enable static-libs static) \
+ $(use_enable cpu_flags_x86_fma3 fma) \
+ $(use_enable cpu_flags_x86_fma4 fma4) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_ssse3 ssse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse41) \
+ $(use_enable cpu_flags_x86_sse4_2 sse42) \
+ $(use_enable cpu_flags_x86_avx avx) \
+ $(use_enable cpu_flags_x86_avx2 avx2)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/givaro/givaro-4.1.1.ebuild b/sci-libs/givaro/givaro-4.1.1.ebuild
deleted file mode 100644
index 935649abda69..000000000000
--- a/sci-libs/givaro/givaro-4.1.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="C++ library for arithmetic and algebraic computations"
-HOMEPAGE="https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro/"
-SRC_URI="https://github.com/linbox-team/givaro/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="CeCILL-B"
-SLOT="0/9"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2 doc static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- doc? (
- app-doc/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
-"
-DEPEND="dev-libs/gmp:0[cxx]"
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog README.md )
-
-src_configure() {
- # Passing "--disable-doc" also accidentally enables building
- # the documentation, so we can't just $(use_enable doc) here.
- # https://github.com/linbox-team/givaro/issues/148
- econf \
- $(usex doc --enable-doc "" "" "") \
- --with-docdir="/usr/share/doc/${PF}/html" \
- $(use_enable static-libs static) \
- $(use_enable cpu_flags_x86_fma3 fma) \
- $(use_enable cpu_flags_x86_fma4 fma4) \
- $(use_enable cpu_flags_x86_sse sse) \
- $(use_enable cpu_flags_x86_sse2 sse2) \
- $(use_enable cpu_flags_x86_sse3 sse3) \
- $(use_enable cpu_flags_x86_ssse3 ssse3) \
- $(use_enable cpu_flags_x86_sse4_1 sse41) \
- $(use_enable cpu_flags_x86_sse4_2 sse42) \
- $(use_enable cpu_flags_x86_avx avx) \
- $(use_enable cpu_flags_x86_avx2 avx2)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/givaro/givaro-4.2.0.ebuild b/sci-libs/givaro/givaro-4.2.0.ebuild
new file mode 100644
index 000000000000..d657e0e4660f
--- /dev/null
+++ b/sci-libs/givaro/givaro-4.2.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C++ library for arithmetic and algebraic computations"
+HOMEPAGE="https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro/"
+SRC_URI="https://github.com/linbox-team/givaro/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="CeCILL-B"
+SLOT="0/9" # soname major
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+"
+DEPEND="dev-libs/gmp:0[cxx(+)]"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS ChangeLog README.md )
+
+PATCHES=(
+ "${FILESDIR}/givaro-4.1.1-fix-pc-libdir.patch"
+ "${FILESDIR}/${P}-configure.ac-fix-a-bashism.patch"
+ "${FILESDIR}/${P}-cstdint.patch"
+ "${FILESDIR}/${P}-gcc14.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-docdir="/usr/share/doc/${PF}/html" \
+ $(use_enable doc)
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sci-libs/givaro/metadata.xml b/sci-libs/givaro/metadata.xml
index e1c0c3cbd9cd..91e58ef1027b 100644
--- a/sci-libs/givaro/metadata.xml
+++ b/sci-libs/givaro/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sci-libs/gklib/Manifest b/sci-libs/gklib/Manifest
new file mode 100644
index 000000000000..4d3ba01da662
--- /dev/null
+++ b/sci-libs/gklib/Manifest
@@ -0,0 +1 @@
+DIST gklib-5.1.1_p20230327.tar.gz 186266 BLAKE2B f8c8bad20d98717141f748364614bfe95644dbaadf9370f3ad4751eb5a8f1cc7a429b42481af86bbe4df18541366e594d3b8d078305d2154f76928f587af91fc SHA512 128cd9a48047b18b8013288162556f0b0f1d81845f5445f7cc62590ab28c06ee0a6c602cc999ce268ab27237eca3e8295df6432d377e45071946b98558872997
diff --git a/sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch b/sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch
new file mode 100644
index 000000000000..92fd8024f9a8
--- /dev/null
+++ b/sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9cd1b4b..592b70a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,6 +26,6 @@ include_directories("test")
+ add_subdirectory("test")
+
+ install(TARGETS GKlib
+- ARCHIVE DESTINATION lib/${LINSTALL_PATH}
+- LIBRARY DESTINATION lib/${LINSTALL_PATH})
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}/${LINSTALL_PATH}
++ LIBRARY DESTINATION lib${LIB_SUFFIX}/${LINSTALL_PATH})
+ install(FILES ${GKlib_includes} DESTINATION include/${HINSTALL_PATH})
diff --git a/sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch b/sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch
new file mode 100644
index 000000000000..bbad20ee1113
--- /dev/null
+++ b/sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch
@@ -0,0 +1,51 @@
+diff --git a/GKlibSystem.cmake b/GKlibSystem.cmake
+index 31a1cf1..15ccfe7 100644
+--- a/GKlibSystem.cmake
++++ b/GKlibSystem.cmake
+@@ -31,21 +31,6 @@ endif(CYGWIN)
+ if(CMAKE_COMPILER_IS_GNUCC)
+ # GCC opts.
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -std=c99 -fno-strict-aliasing")
+-if(VALGRIND)
+- set(GKlib_COPTIONS "${GK_COPTIONS} -march=x86-64 -mtune=generic")
+-else()
+-# -march=native is not a valid flag on PPC:
+-if(CMAKE_SYSTEM_PROCESSOR MATCHES "power|ppc|powerpc|ppc64|powerpc64" OR (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64"))
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -mtune=native")
+-else()
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -march=native")
+-endif()
+-endif(VALGRIND)
+- if(NOT MINGW)
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -fPIC")
+- endif(NOT MINGW)
+-# GCC warnings.
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label")
+ elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
+ # Sun insists on -xc99.
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -xc99")
+@@ -71,24 +56,6 @@ if(NO_X86)
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNO_X86=${NO_X86}")
+ endif(NO_X86)
+
+-# Add various definitions.
+-if(GDB)
+- set(GKlib_COPTS "${GKlib_COPTS} -g")
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror")
+-else()
+- set(GKlib_COPTS "-O3")
+-endif(GDB)
+-
+-
+-if(DEBUG)
+- set(GKlib_COPTS "-g")
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DDEBUG")
+-endif(DEBUG)
+-
+-if(GPROF)
+- set(GKlib_COPTS "-pg")
+-endif(GPROF)
+-
+ if(NOT ASSERT)
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNDEBUG")
+ endif(NOT ASSERT)
diff --git a/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild
new file mode 100644
index 000000000000..0090a307166a
--- /dev/null
+++ b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="8bd6bad750b2b0d90800c632cf18e8ee93ad72d7"
+
+DESCRIPTION="Helper routines and frameworks used by KarypisLab software"
+HOMEPAGE="https://github.com/KarypisLab/GKlib"
+SRC_URI="https://github.com/KarypisLab/GKlib/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/GKlib-${COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}/${P}-multilib.patch"
+ "${FILESDIR}/${P}-respect-user-flags.patch"
+)
+
+src_configure() {
+ local mycmakeargs=()
+ if ! use amd64 && ! use x86; then # bug 905642
+ mycmakeargs+=(
+ -DNO_X86=ON
+ )
+ fi
+ cmake_src_configure
+}
diff --git a/sci-libs/gklib/metadata.xml b/sci-libs/gklib/metadata.xml
new file mode 100644
index 000000000000..1c83399ced50
--- /dev/null
+++ b/sci-libs/gklib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">KarypisLab/GKlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/gloo/Manifest b/sci-libs/gloo/Manifest
new file mode 100644
index 000000000000..7d98435ecdbe
--- /dev/null
+++ b/sci-libs/gloo/Manifest
@@ -0,0 +1 @@
+DIST gloo-2023.07.19.tar.gz 260264 BLAKE2B b787794a6b5e791da5f8693ad9a522c8caa5410316d64ad3a2c23ae744ca9f0b45ac6a6f60572049d3e5825a2e29833ff887fc39f6fe6a6efef61d848c225318 SHA512 e84e8a69a8548a8bfcb6044b960fca3204eb358c50fa79f3053779f2a61703d5219ef428f4ba057ed08e6ec437aadb7f8e67565f03f3510e0bf94c6f793af8d9
diff --git a/sci-libs/gloo/files/gloo-2022.05.18-gentoo.patch b/sci-libs/gloo/files/gloo-2022.05.18-gentoo.patch
new file mode 100644
index 000000000000..1344d42a0c3f
--- /dev/null
+++ b/sci-libs/gloo/files/gloo-2022.05.18-gentoo.patch
@@ -0,0 +1,94 @@
+--- a/CMakeLists.txt 2022-06-09 08:29:13.172119535 +0200
++++ b/CMakeLists.txt 2022-06-09 08:29:27.474929097 +0200
+@@ -2,6 +2,9 @@
+
+ project(gloo CXX C)
+
++include(GNUInstallDirs)
++include(CTest)
++
+ set(GLOO_VERSION_MAJOR 0)
+ set(GLOO_VERSION_MINOR 5)
+ set(GLOO_VERSION_PATCH 0)
+--- a/gloo/CMakeLists.txt 2022-06-09 08:41:09.883773600 +0200
++++ b/gloo/CMakeLists.txt 2022-06-09 08:42:39.045637103 +0200
+@@ -181,7 +181,7 @@
+ # want to statically link with Gloo and not install any artifacts.
+ if(GLOO_INSTALL)
+ install(TARGETS gloo EXPORT GlooTargets
+- DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(USE_CUDA)
+ install(TARGETS gloo_cuda EXPORT GlooTargets
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+--- a/gloo/test/CMakeLists.txt 2022-06-10 22:17:03.682856314 +0200
++++ b/gloo/test/CMakeLists.txt 2022-06-10 22:17:49.671242697 +0200
+@@ -73,3 +73,4 @@
+ gloo_hip_add_executable(gloo_test_hip ${GLOO_TEST_HIP_SRCS})
+ target_link_libraries(gloo_test_hip gloo_hip gtest OpenSSL::SSL OpenSSL::Crypto)
+ endif()
++add_test(NAME gloo_test COMMAND gloo_test)
+--- a/gloo/test/memory_test.cc 2022-06-10 22:28:53.815371465 +0200
++++ b/gloo/test/memory_test.cc 2022-06-10 22:29:14.504094854 +0200
+@@ -52,7 +52,7 @@
+ class MemoryTest : public BaseTest,
+ public ::testing::WithParamInterface<Param> {};
+
+-TEST_P(MemoryTest, ManySlotsNoLeaks) {
++TEST_P(MemoryTest, DISABLED_ManySlotsNoLeaks) {
+ const auto transport = GetParam();
+ spawn(transport, 2, [&](std::shared_ptr<Context> context) {
+ size_t tmp0;
+--- a/cmake/Dependencies.cmake 2022-06-11 23:38:57.367089917 +0200
++++ b/cmake/Dependencies.cmake 2022-06-11 23:48:57.690866797 +0200
+@@ -81,7 +81,7 @@
+ pkg_search_module(libuv REQUIRED libuv>=1.26)
+ find_file(
+ libuv_LIBRARY
+- NAMES libuv.a libuv_a.a
++ NAMES libuv.so
+ PATHS ${libuv_LIBDIR}
+ NO_DEFAULT_PATH)
+ if(NOT EXISTS ${libuv_LIBRARY})
+@@ -90,10 +90,7 @@
+ endif()
+
+ add_library(uv_a INTERFACE IMPORTED)
+- set_target_properties(uv_a PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES ${libuv_INCLUDE_DIRS}
+- INTERFACE_LINK_LIBRARIES ${libuv_LIBRARY}
+- )
++ list(APPEND gloo_DEPENDENCY_LIBS -luv)
+ endif()
+ endif()
+
+--- a/gloo/transport/tcp/tls/pair.cc 2022-10-04 21:14:04.099150060 +0200
++++ b/gloo/transport/tcp/tls/pair.cc 2022-10-04 21:14:22.330886610 +0200
+@@ -17,6 +17,7 @@
+
+ #include <cstring>
+ #include <poll.h>
++#include <array>
+
+ namespace gloo {
+ namespace transport {
+--- a/gloo/common/linux.cc 2022-10-04 21:20:21.401691929 +0200
++++ b/gloo/common/linux.cc 2022-10-04 21:23:13.924192100 +0200
+@@ -198,7 +198,7 @@
+ } ecmd;
+ int rv;
+
+- ifr->ifr_data = (__caddr_t)&ecmd;
++ ifr->ifr_data = (char *)&ecmd;
+ memset(&ecmd, 0, sizeof(ecmd));
+ ecmd.req.cmd = ETHTOOL_GLINKSETTINGS;
+
+@@ -226,7 +226,7 @@
+ struct ethtool_cmd edata;
+ int rv;
+
+- ifr->ifr_data = (__caddr_t)&edata;
++ ifr->ifr_data = (char *)&edata;
+ memset(&edata, 0, sizeof(edata));
+ edata.cmd = ETHTOOL_GSET;
+
diff --git a/sci-libs/gloo/files/gloo-2023.01.17-cuda.patch b/sci-libs/gloo/files/gloo-2023.01.17-cuda.patch
new file mode 100644
index 000000000000..1a894d3e4251
--- /dev/null
+++ b/sci-libs/gloo/files/gloo-2023.01.17-cuda.patch
@@ -0,0 +1,13 @@
+diff --git a/gloo/CMakeLists.txt b/gloo/CMakeLists.txt
+index 9ee82df..3b3affb 100644
+--- a/gloo/CMakeLists.txt
++++ b/gloo/CMakeLists.txt
+@@ -184,7 +184,7 @@ if(GLOO_INSTALL)
+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(USE_CUDA)
+ install(TARGETS gloo_cuda EXPORT GlooTargets
+- DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+ if(USE_ROCM)
+ install(TARGETS gloo_hip EXPORT GlooTargets
diff --git a/sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch b/sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch
new file mode 100644
index 000000000000..f01beafa4596
--- /dev/null
+++ b/sci-libs/gloo/files/gloo-2023.01.17-ssl3.patch
@@ -0,0 +1,19 @@
+--- a/gloo/CMakeLists.txt 2023-11-27 22:39:53.709670525 +0100
++++ b/gloo/CMakeLists.txt 2023-11-27 22:42:29.784250524 +0100
+@@ -77,7 +77,7 @@
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ set(GLOO_HAVE_TRANSPORT_TCP 1)
+ if(${USE_TCP_OPENSSL_LINK} OR ${USE_TCP_OPENSSL_LOAD})
+- find_package(OpenSSL 1.1 REQUIRED EXACT)
++ find_package(OpenSSL 1.1...<4 REQUIRED)
+ set(GLOO_HAVE_TRANSPORT_TCP_TLS 1)
+ else()
+ set(GLOO_HAVE_TRANSPORT_TCP_TLS 0)
+--- a/gloo/test/CMakeLists.txt 2023-11-27 22:42:55.969844380 +0100
++++ b/gloo/test/CMakeLists.txt 2023-11-27 22:43:14.873551147 +0100
+@@ -1,4 +1,4 @@
+-find_package(OpenSSL 1.1 REQUIRED EXACT)
++find_package(OpenSSL 1.1...<4 REQUIRED)
+
+ set(GLOO_TEST_SRCS
+ "${CMAKE_CURRENT_SOURCE_DIR}/allgather_test.cc"
diff --git a/sci-libs/gloo/gloo-2023.07.19.ebuild b/sci-libs/gloo/gloo-2023.07.19.ebuild
new file mode 100644
index 000000000000..5bdcf1d00a44
--- /dev/null
+++ b/sci-libs/gloo/gloo-2023.07.19.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake cuda
+
+CommitId=cf1e1abc95d0b961222ee82b6935f76250fbcf16
+
+DESCRIPTION="library of floating-point neural network inference operators"
+HOMEPAGE="https://github.com/facebookincubator/gloo/"
+SRC_URI="https://github.com/facebookincubator/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda libuv mpi redis ssl test"
+
+RDEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ libuv? ( dev-libs/libuv )
+ mpi? ( virtual/mpi )
+ redis? (
+ dev-db/redis
+ dev-libs/hiredis
+ )
+ ssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}
+"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="test" # For some test the network is needed
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.05.18-gentoo.patch
+ "${FILESDIR}"/${PN}-2023.01.17-cuda.patch
+ "${FILESDIR}"/${PN}-2023.01.17-ssl3.patch
+)
+
+src_prepare() {
+ eapply_user
+ cmake_src_prepare
+ use cuda && cuda_add_sandbox
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DUSE_CUDA=$(usex cuda ON OFF)
+ -DGLOO_USE_CUDA_TOOLKIT=$(usex cuda ON OFF)
+ -DUSE_LIBUV=$(usex libuv ON OFF)
+ -DUSE_MPI=$(usex mpi ON OFF)
+ -DUSE_REDIS=$(usex redis ON OFF)
+ -DUSE_TCP_OPENSSL_LINK=$(usex ssl ON OFF)
+ )
+ if use cuda; then
+ addpredict "/proc/self/task"
+
+ mycmakeargs+=(
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ )
+ fi
+ cmake_src_configure
+}
diff --git a/sci-libs/gloo/metadata.xml b/sci-libs/gloo/metadata.xml
new file mode 100644
index 000000000000..453b2878b484
--- /dev/null
+++ b/sci-libs/gloo/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facebookincubator/gloo</remote-id>
+ </upstream>
+ <use>
+ <flag name="libuv">Enable libuv support</flag>
+ <flag name="redis">Enable Redis backend for storage via <pkg>dev-libs/hiredis</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/gmsh/Manifest b/sci-libs/gmsh/Manifest
index 810e33fd3444..0e815ee19216 100644
--- a/sci-libs/gmsh/Manifest
+++ b/sci-libs/gmsh/Manifest
@@ -1 +1,2 @@
-DIST gmsh-4.4.1-source.tgz 13227645 BLAKE2B 68df0a54655d2a85012d2961daafbe92f0295661f6f71b0be4c7a78b7c814af21b39b29e65a201c4918d7e31462ac391b208fcceca356c4d9974c5de3c88da13 SHA512 cfdd353de051d1deffca90bfa31a007a466d39c145e704612b92441556dec0c8d7b58ab07c2fa3166de893d99f0308ffb66b4f321172ea60da0b6db907aa7a2e
+DIST gmsh-4.11.1-source.tgz 17985611 BLAKE2B 087664cfbfec758eaa3740a65920ccf673dbcc97a1ef8010222da64b8c586334ed1a77904e94061bdf34e714aae34311ee4f6fb38740473046f99ad6c1e0984c SHA512 8f2a71d6db80dd6bacde6dc1ccd120c7f83609dd69a84a910455a21a43b7392cd7e0e7b4d37aaa6a1b1cbfdb816646cd4828d2ac6d784edba072167280432e4c
+DIST gmsh-4.12.2-source.tgz 18150293 BLAKE2B 16f8048d8962d2a8e41d813713c147a691d24c7fabdcc7f3787bff804b1dfa477d4853b4b366a409c2ed9649e8c83710b4f73ac23a0c5885d0e65cd25bb88d6f SHA512 935148aff89b608f9d671d5fd4f12aed52b5c8ba4453e978d0febcc6934c045f2bba0078b13a64b2cbf4e852b413bbd05873335099ea7a967cc81ef58a7f8367
diff --git a/sci-libs/gmsh/files/gmsh-4.11.1-metis-5-2.patch b/sci-libs/gmsh/files/gmsh-4.11.1-metis-5-2.patch
new file mode 100644
index 000000000000..c7413e6e4bf4
--- /dev/null
+++ b/sci-libs/gmsh/files/gmsh-4.11.1-metis-5-2.patch
@@ -0,0 +1,19 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 63fb873..2563850 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -860,11 +860,12 @@ endif()
+
+ if(HAVE_MESH OR HAVE_SOLVER)
+ if(ENABLE_METIS)
+- find_library(METIS_LIB metis PATH_SUFFIXES lib)
++ find_library(METIS_LIB metis PATH_SUFFIXES lib64 REQUIRED)
++ find_library(GKLIB_LIB GKlib PATH_SUFFIXES lib64 REQUIRED)
+ find_path(METIS_INC "metis.h" PATH_SUFFIXES include)
+ if(ENABLE_SYSTEM_CONTRIB AND METIS_LIB AND METIS_INC)
+ message(STATUS "Using system version of METIS")
+- list(APPEND EXTERNAL_LIBRARIES ${METIS_LIB})
++ list(APPEND EXTERNAL_LIBRARIES ${METIS_LIB} ${GKLIB_LIB})
+ list(APPEND EXTERNAL_INCLUDES ${METIS_INC})
+ set_config_option(HAVE_METIS "Metis")
+ elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/contrib/metis)
diff --git a/sci-libs/gmsh/files/gmsh-4.11.1_gcc13_fix_cstdint_include.patch b/sci-libs/gmsh/files/gmsh-4.11.1_gcc13_fix_cstdint_include.patch
new file mode 100644
index 000000000000..2b1b491ef81f
--- /dev/null
+++ b/sci-libs/gmsh/files/gmsh-4.11.1_gcc13_fix_cstdint_include.patch
@@ -0,0 +1,29 @@
+# Based on upstream patches:
+# https://gitlab.onelab.info/gmsh/gmsh/-/commit/fb81a9c90
+# https://gitlab.onelab.info/gmsh/gmsh/-/commit/aceb09c80
+#
+# Upstream issue: https://gitlab.onelab.info/gmsh/gmsh/-/issues/2416
+# Gentoo issue: https://bugs.gentoo.org/905445
+
+diff -Naur a/contrib/QuadMeshingTools/qmtMeshGeometryOptimization.h b/contrib/QuadMeshingTools/qmtMeshGeometryOptimization.h
+--- a/contrib/QuadMeshingTools/qmtMeshGeometryOptimization.h
++++ b/contrib/QuadMeshingTools/qmtMeshGeometryOptimization.h
+@@ -8,6 +8,7 @@
+ #pragma once
+
+ #include <float.h>
++#include <cstdint>
+ #include "qmtMeshUtils.h"
+
+ class SurfaceProjector;
+diff -Naur a/src/mesh/meshGFacePack.cpp b/src/mesh/meshGFacePack.cpp
+--- a/src/mesh/meshGFacePack.cpp
++++ b/src/mesh/meshGFacePack.cpp
+@@ -8,6 +8,7 @@
+ #include <queue>
+ #include <map>
+ #include <vector>
++#include <cstdint>
+ #include "gmsh.h"
+ #include "SPoint2.h"
+ #include "SVector3.h"
diff --git a/sci-libs/gmsh/files/gmsh-4.9.5-opencascade.patch b/sci-libs/gmsh/files/gmsh-4.9.5-opencascade.patch
new file mode 100644
index 000000000000..63281d42e1f2
--- /dev/null
+++ b/sci-libs/gmsh/files/gmsh-4.9.5-opencascade.patch
@@ -0,0 +1,20 @@
+--- ./CMakeLists.txt 2022-05-24 12:36:43.084752081 +0200
++++ ./CMakeLists.txt.new 2022-05-24 12:44:08.895710126 +0200
+@@ -1282,7 +1282,7 @@
+ else()
+ set(OCC_LIBS)
+ foreach(OCC ${OCC_LIBS_REQUIRED})
+- find_library(OCC_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES
++ find_library(OCC_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES opencascade
+ lib ${OCC_SYS_NAME}/vc8/lib ${OCC_SYS_NAME}/vc9/lib
+ ${OCC_SYS_NAME}/vc10/lib ${OCC_SYS_NAME}/vc11/lib
+ ${OCC_SYS_NAME}/vc12/lib ${OCC_SYS_NAME}/vc14/lib
+@@ -1308,7 +1308,7 @@
+ list(LENGTH OCC_CAF_LIBS_REQUIRED NUM_OCC_CAF_LIBS_REQUIRED)
+ set(OCC_CAF_LIBS)
+ foreach(OCC ${OCC_CAF_LIBS_REQUIRED})
+- find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES
++ find_library(OCC_CAF_LIB ${OCC} HINTS ENV CASROOT PATH_SUFFIXES opencascade
+ lib ${OCC_SYS_NAME}/vc8/lib ${OCC_SYS_NAME}/vc9/lib
+ ${OCC_SYS_NAME}/vc10/lib ${OCC_SYS_NAME}/vc11/lib
+ ${OCC_SYS_NAME}/vc12/lib ${OCC_SYS_NAME}/vc14/lib
diff --git a/sci-libs/gmsh/gmsh-4.11.1-r2.ebuild b/sci-libs/gmsh/gmsh-4.11.1-r2.ebuild
new file mode 100644
index 000000000000..deffafdf47c5
--- /dev/null
+++ b/sci-libs/gmsh/gmsh-4.11.1-r2.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit cmake desktop fortran-2 python-any-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="Three-dimensional finite element mesh generator"
+HOMEPAGE="https://gmsh.info https://gitlab.onelab.info/gmsh/gmsh"
+SRC_URI="https://gmsh.info/src/${P}-source.tgz"
+S="${WORKDIR}/${P}-source"
+
+LICENSE="
+ GPL-2+ free-noncomm
+ alglib? ( MIT )
+ gmm? ( LGPL-2.1+ )
+ metis? ( Apache-2.0 )
+ netgen? ( LGPL-2.1+ )
+ voro? ( BSD )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+## cgns is not compiling ATM, maybe fix cgns lib first
+IUSE="+alglib +blas cgns eigen examples +gmm jpeg med metis mpi mumps netgen opencascade petsc pdf png python shared slepc X voro zlib"
+
+REQUIRED_USE="
+ ^^ ( blas eigen )
+ mumps? ( blas )
+ slepc? ( petsc )
+ "
+
+RDEPEND="
+ virtual/fortran
+ X? ( x11-libs/fltk:1[xft] )
+ alglib? ( sci-libs/alglib )
+ blas? (
+ virtual/blas
+ virtual/lapack
+ sci-libs/fftw:3.0
+ )
+ cgns? (
+ sci-libs/cgnslib
+ sci-libs/hdf5:=[mpi=]
+ )
+ eigen? ( dev-cpp/eigen )
+ gmm? ( sci-mathematics/gmm )
+ jpeg? ( media-libs/libjpeg-turbo )
+ med? (
+ sci-libs/med[mpi=]
+ sci-libs/hdf5:=[mpi=]
+ )
+ metis? ( >=sci-libs/metis-5.2.0 )
+ mpi? ( virtual/mpi[cxx] )
+ mumps? ( sci-libs/mumps[mpi=] )
+ opencascade? ( sci-libs/opencascade:* )
+ pdf? ( app-text/poppler:= )
+ png? ( media-libs/libpng:0 )
+ petsc? ( sci-mathematics/petsc[mpi=] )
+ slepc? ( sci-mathematics/slepc[mpi=] )
+ voro? ( sci-libs/voro++ )
+ zlib? ( sys-libs/zlib )
+ "
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ python? ( dev-lang/swig:0 )
+ "
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.9.5-opencascade.patch
+ "${FILESDIR}"/${P}_gcc13_fix_cstdint_include.patch
+ "${FILESDIR}"/${P}-metis-5-2.patch
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=( )
+
+ use blas && \
+ mycmakeargs+=(-DCMAKE_Fortran_COMPILER=$(tc-getF77))
+
+ mycmakeargs+=(
+ -DENABLE_ALGLIB="$(usex alglib)"
+ -DENABLE_BLAS_LAPACK="$(usex blas)"
+ -DENABLE_BUILD_DYNAMIC="$(usex shared)"
+ -DENABLE_CGNS="$(usex cgns)"
+ -DENABLE_EIGEN="$(usex eigen)"
+ -DENABLE_FLTK="$(usex X)"
+ -DENABLE_GMM="$(usex gmm)"
+ -DENABLE_GRAPHICS="$(usex X)"
+ -DENABLE_MED="$(usex med)"
+ -DENABLE_MPI="$(usex mpi)"
+ -DENABLE_METIS="$(usex metis)"
+ -DENABLE_MUMPS="$(usex mumps)"
+ -DENABLE_NETGEN="$(usex netgen)"
+ -DENABLE_OCC="$(usex opencascade)"
+ -DENABLE_PETSC="$(usex petsc)"
+ -DENABLE_POPPLER="$(usex pdf)"
+ -DENABLE_SLEPC="$(usex slepc)"
+ -DENABLE_PRIVATE_API="$(usex shared)"
+ -DENABLE_SYSTEM_CONTRIB="YES"
+ -DENABLE_VOROPP="$(usex voro)"
+ -DENABLE_WRAP_PYTHON="$(usex python)")
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples ; then
+ dodoc -r examples tutorials
+ docompress -x /usr/share/doc/${PF}/{examples,tutorials}
+ fi
+
+ if use X ; then
+ newicon -s 64 "/${S}/utils/icons/gmsh-no-text.png" gmsh.png
+ make_desktop_entry "/usr/bin/gmsh" "Gmsh ${PV}" "gmsh" "Science;Math"
+ fi
+}
+
+pkg_postinst() {
+ if use X ; then
+ xdg_icon_cache_update
+ fi
+}
+
+pkg_postrm() {
+ if use X ; then
+ xdg_icon_cache_update
+ fi
+}
diff --git a/sci-libs/gmsh/gmsh-4.12.2-r1.ebuild b/sci-libs/gmsh/gmsh-4.12.2-r1.ebuild
new file mode 100644
index 000000000000..60c811c184fd
--- /dev/null
+++ b/sci-libs/gmsh/gmsh-4.12.2-r1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit cmake desktop fortran-2 python-any-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="Three-dimensional finite element mesh generator"
+HOMEPAGE="https://gmsh.info https://gitlab.onelab.info/gmsh/gmsh"
+SRC_URI="https://gmsh.info/src/${P}-source.tgz"
+S="${WORKDIR}/${P}-source"
+
+LICENSE="
+ GPL-2+ free-noncomm
+ alglib? ( MIT )
+ gmm? ( LGPL-2.1+ )
+ metis? ( Apache-2.0 )
+ netgen? ( LGPL-2.1+ )
+ voro? ( BSD )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+## cgns is not compiling ATM, maybe fix cgns lib first
+IUSE="+alglib +blas cgns eigen examples +gmm jpeg med metis mpi mumps netgen opencascade petsc pdf png python shared slepc X voro zlib"
+
+REQUIRED_USE="
+ ^^ ( blas eigen )
+ mumps? ( blas )
+ slepc? ( petsc )
+ "
+
+RDEPEND="
+ virtual/fortran
+ X? ( x11-libs/fltk:1[xft] )
+ alglib? ( sci-libs/alglib )
+ blas? (
+ virtual/blas
+ virtual/lapack
+ sci-libs/fftw:3.0
+ )
+ cgns? (
+ sci-libs/cgnslib
+ sci-libs/hdf5:=[mpi=]
+ )
+ eigen? ( dev-cpp/eigen )
+ gmm? ( sci-mathematics/gmm )
+ jpeg? ( media-libs/libjpeg-turbo )
+ med? (
+ sci-libs/med[mpi=]
+ sci-libs/hdf5:=[mpi=]
+ )
+ metis? ( >=sci-libs/metis-5.2.0 )
+ mpi? ( virtual/mpi[cxx] )
+ mumps? ( sci-libs/mumps[mpi=] )
+ opencascade? ( sci-libs/opencascade:* )
+ pdf? ( app-text/poppler:= )
+ png? ( media-libs/libpng:0 )
+ petsc? ( sci-mathematics/petsc[mpi=] )
+ slepc? ( sci-mathematics/slepc[mpi=] )
+ voro? ( sci-libs/voro++ )
+ zlib? ( sys-libs/zlib )
+ "
+
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ python? ( dev-lang/swig:0 )
+ "
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.9.5-opencascade.patch
+ "${FILESDIR}"/${PN}-4.11.1-metis-5-2.patch
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=( )
+
+ use blas && \
+ mycmakeargs+=(-DCMAKE_Fortran_COMPILER=$(tc-getF77))
+
+ mycmakeargs+=(
+ -DENABLE_ALGLIB="$(usex alglib)"
+ -DENABLE_BLAS_LAPACK="$(usex blas)"
+ -DENABLE_BUILD_DYNAMIC="$(usex shared)"
+ -DENABLE_CGNS="$(usex cgns)"
+ -DENABLE_EIGEN="$(usex eigen)"
+ -DENABLE_FLTK="$(usex X)"
+ -DENABLE_GMM="$(usex gmm)"
+ -DENABLE_GRAPHICS="$(usex X)"
+ -DENABLE_MED="$(usex med)"
+ -DENABLE_MPI="$(usex mpi)"
+ -DENABLE_METIS="$(usex metis)"
+ -DENABLE_MUMPS="$(usex mumps)"
+ -DENABLE_NETGEN="$(usex netgen)"
+ -DENABLE_OCC="$(usex opencascade)"
+ -DENABLE_PETSC="$(usex petsc)"
+ -DENABLE_POPPLER="$(usex pdf)"
+ -DENABLE_SLEPC="$(usex slepc)"
+ -DENABLE_PRIVATE_API="$(usex shared)"
+ -DENABLE_SYSTEM_CONTRIB="YES"
+ -DENABLE_VOROPP="$(usex voro)"
+ -DENABLE_WRAP_PYTHON="$(usex python)")
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples ; then
+ dodoc -r examples tutorials
+ docompress -x /usr/share/doc/${PF}/{examples,tutorials}
+ fi
+
+ if use X ; then
+ newicon -s 64 "/${S}/utils/icons/gmsh-no-text.png" gmsh.png
+ make_desktop_entry "/usr/bin/gmsh" "Gmsh ${PV}" "gmsh" "Science;Math"
+ fi
+}
+
+pkg_postinst() {
+ if use X ; then
+ xdg_icon_cache_update
+ fi
+}
+
+pkg_postrm() {
+ if use X ; then
+ xdg_icon_cache_update
+ fi
+}
diff --git a/sci-libs/gmsh/gmsh-4.4.1.ebuild b/sci-libs/gmsh/gmsh-4.4.1.ebuild
deleted file mode 100644
index af727805d6c1..000000000000
--- a/sci-libs/gmsh/gmsh-4.4.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils flag-o-matic fortran-2 python-any-r1 toolchain-funcs
-
-DESCRIPTION="A three-dimensional finite element mesh generator"
-HOMEPAGE="http://www.geuz.org/gmsh/"
-SRC_URI="http://www.geuz.org/gmsh/src/${P}-source.tgz"
-
-LICENSE="GPL-3 free-noncomm"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-## cgns is not compiling ATM, maybe fix cgns lib first
-IUSE="blas cgns examples jpeg lua med metis mpi netgen opencascade petsc png python X zlib"
-
-REQUIRED_USE="med? ( mpi )"
-
-RDEPEND="
- virtual/fortran
- X? ( x11-libs/fltk:1 )
- blas? ( virtual/blas virtual/lapack sci-libs/fftw:3.0 )
- cgns? ( sci-libs/cgnslib )
- jpeg? ( virtual/jpeg:0 )
- lua? ( dev-lang/lua:0 )
- med? ( sci-libs/med )
- opencascade? ( sci-libs/opencascade:* )
- png? ( media-libs/libpng:0 )
- petsc? ( sci-mathematics/petsc )
- zlib? ( sys-libs/zlib )
- mpi? ( virtual/mpi[cxx] )"
-
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- virtual/pkgconfig
- python? ( dev-lang/swig:0 )
- "
-
-S=${WORKDIR}/${P}-source
-
-pkg_setup() {
- fortran-2_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=( )
-
- use blas && \
- mycmakeargs+=(-DCMAKE_Fortran_COMPILER=$(tc-getF77))
-
- mycmakeargs+=(
- -DENABLE_BLAS_LAPACK="$(usex blas)"
- -DENABLE_CGNS="$(usex cgns)"
- -DENABLE_FLTK="$(usex X)"
- -DENABLE_GRAPHICS="$(usex X)"
- -DENABLE_MED="$(usex med)"
- -DENABLE_METIS="$(usex metis)"
- -DENABLE_NETGEN="$(usex netgen)"
- -DENABLE_OCC="$(usex opencascade)"
- -DENABLE_PETSC="$(usex petsc)"
- -DENABLE_WRAP_PYTHON="$(usex python)")
-
- cmake-utils_src_configure mycmakeargs
-}
-
-src_install() {
- cmake-utils_src_install
-
- if use examples ; then
- insinto /usr/share/doc/${PF}
- doins -r demos tutorial
- fi
-}
diff --git a/sci-libs/gmsh/metadata.xml b/sci-libs/gmsh/metadata.xml
index 20c781af95c5..c7862eabe094 100644
--- a/sci-libs/gmsh/metadata.xml
+++ b/sci-libs/gmsh/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
@@ -10,11 +10,18 @@
<name>Gentoo Science Project</name>
</maintainer>
<use>
- <flag name="cgns"> Enables cgns output support</flag>
- <flag name="metis"> Enables metis support</flag>
- <flag name="med"> Enables med support</flag>
- <flag name="netgen"> Enable 3D Frontal triangulation using netgen lib</flag>
- <flag name="petsc"> Enable sci-mathematics/petsc support</flag>
- <flag name="opencascade"> Enable OpenCASCADE support</flag>
+ <flag name="alglib">Enable alglib support for mesh optimizers</flag>
+ <flag name="cgns">Enables cgns output support</flag>
+ <flag name="eigen">Build matrix manipulation with <pkg>dev-cpp/eigen</pkg></flag>
+ <flag name="gmm">A simple alternative to petsc based on <pkg>sci-mathematics/gmm</pkg></flag>
+ <flag name="metis">Enables metis support</flag>
+ <flag name="med">Enables med support</flag>
+ <flag name="mumps">Enables mumps solver support</flag>
+ <flag name="netgen">Enable 3D Frontal triangulation using netgen lib</flag>
+ <flag name="petsc">Enable <pkg>sci-mathematics/petsc</pkg> support</flag>
+ <flag name="opencascade">Enable OpenCASCADE support</flag>
+ <flag name="shared">Install shared library and headers</flag>
+ <flag name="slepc">Enable <pkg>sci-mathematics/slepc</pkg> support</flag>
+ <flag name="voro">Enable support to <pkg>sci-libs/voro++</pkg> meshing</flag>
</use>
</pkgmetadata>
diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest
index 00fc6640e730..52bf6e92f49e 100644
--- a/sci-libs/gsl/Manifest
+++ b/sci-libs/gsl/Manifest
@@ -1,5 +1,2 @@
-DIST gsl-1.16-cblas.patch.bz2 2810 BLAKE2B 364c9f93a386e5d95c86789a3c00231cdfbe588fe4371ae85447bc6574b7798721a8559fda747ee656de96e7d8c5657901db86dc9c59bcee27789c918222e38f SHA512 55a2dab850697b1e378ecf64d299ed6f021f1b1eb7dbad749f5014e5b7f275ec6c981a5699a87969c4d0794677efa51a5a2317526b58ca96aabb3f6a68cabd81
-DIST gsl-1.16.tar.gz 3534080 BLAKE2B 1c55a41e5ed57b57f671074240d23416aa8f23e3cc2bb832e455d4f44d307e6be6adfa3671dbbf2aa14604ea49f96ff636de7909f3532cdc811f6bd99b0aa59d SHA512 94e998953f30d701e1cd0a5e05d572c5cca7b6f40f0533aa85394ba4218946826408093ffe3049a0ab13d6ba87034fcec1a7d52a67d0b8860dc02b5fd4feb8eb
-DIST gsl-2.3-cblas.patch.bz2 12036 BLAKE2B ddad801cc42f925581e2e4995292f3eab0d2faf70c43c3b205fcf521b98e426df1d0824ed7d98b2c4cc89bbc4068fd45f2595dc02d23bded5c702b5a01bbfdb2 SHA512 37b867a21e60cd96c453ae24139bcf16c00c85bb6d5a3dcece81185fd9af5870c5167d2fa3c74cffce55bfb84f72be34d28ea94e0889904f8dda8687f66b4d23
-DIST gsl-2.4.tar.gz 5916715 BLAKE2B f22c07b2d5759a383e05b8bfdba70071672cc27f12ff2a8c755451fe7e10c8e2d80e3fcc601508c5e9942e4cfd05e51c43ba96666326b760e4390eb0c2552886 SHA512 12442b023dd959e8b22a9c486646b5cedec7fdba0daf2604cda365cf96d10d99aefdec2b42e59c536cc071da1525373454e5ed6f4b15293b305ca9b1dc6db130
-DIST gsl-2.5.tar.gz 7303881 BLAKE2B 7c6d10c21071a1af1f03123f83244476d2e90fcd27d05a115b03a74fe631eb7d8081f5260e534ae58ab0997c1111f980a5e4cb50d110ca626fe810c44be70180 SHA512 5b4c5c023f9029ce220f4e09aa4d0234fed94d42ac224d58fda095fe0532d54237a7c33278f8b5d0ba051f6004486edb38d0adb4fcb49337a8c1d8a18cf4a24a
+DIST gsl-2.7-cblas.patch.bz2 12073 BLAKE2B 71f2bdafdb1f42ca5c3515f8e39266242185218495705018d88e523be9bc776b39749156500cdc5746a16e481e9cfe2b79660e250eb1a70f3b18819d16fe11c5 SHA512 5b9b2a798079610d7d4981b83672cc978ed44b66aaf6e671794685f10bd4069764bb358870019dc0eec1e251639cde12aaa3598cae0e2fc050ea39c79435fe2f
+DIST gsl-2.7.1.tar.gz 7509209 BLAKE2B dd216c2fdb536e57b6e29613e46e1a05183fd18c47434039caac68fefffc0390cfe2f21eb117347d4bbdf9004de837ef2db02c17c01eaea4b615e3e45a4fd90f SHA512 3300a748b63b583374701d5ae2a9db7349d0de51061a9f98e7c145b2f7de9710b3ad58b3318d0be2a9a287ace4cc5735bb9348cdf48075b98c1f6cc1029df131
diff --git a/sci-libs/gsl/files/cblas.pc.in b/sci-libs/gsl/files/cblas.pc.in
deleted file mode 100644
index a2580f85e6e8..000000000000
--- a/sci-libs/gsl/files/cblas.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-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
deleted file mode 100644
index af6fee51fef9..000000000000
--- a/sci-libs/gsl/files/eselect.cblas.gsl
+++ /dev/null
@@ -1,5 +0,0 @@
-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-2.7.1-configure-clang16.patch b/sci-libs/gsl/files/gsl-2.7.1-configure-clang16.patch
new file mode 100644
index 000000000000..ba239563a38e
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-2.7.1-configure-clang16.patch
@@ -0,0 +1,26 @@
+https://bugs.gentoo.org/898410
+https://savannah.gnu.org/bugs/?63679
+
+Avoid calling the undeclared exit function and future failures
+with compilers which do not support implicit function declarations.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -449,7 +449,7 @@ int main (void)
+ inf = exp(1.0e10);
+ nan = inf / inf ;
+ status = (nan == nan);
+- exit (status);
++ return status;
+ }]])],[ac_cv_c_ieee_comparisons="yes"],[ac_cv_c_ieee_comparisons="no"],[ac_cv_c_ieee_comparisons="yes"])
+ ])
+
+@@ -469,7 +469,7 @@ int main (void)
+ for (i = 0; i < 5; i++) { z = z / 10.0 ; };
+ for (i = 0; i < 5; i++) { z = z * 10.0 ; };
+ status = (z == 0.0);
+- exit (status);
++ return status;
+ }]])],[ac_cv_c_ieee_denormals="yes"],[ac_cv_c_ieee_denormals="no"],[ac_cv_c_ieee_denormals="yes"])
+ ])
+
diff --git a/sci-libs/gsl/gsl-1.16.ebuild b/sci-libs/gsl/gsl-1.16.ebuild
deleted file mode 100644
index 079f9e21ec17..000000000000
--- a/sci-libs/gsl/gsl-1.16.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils flag-o-matic autotools toolchain-funcs
-
-DESCRIPTION="The GNU Scientific Library"
-HOMEPAGE="https://www.gnu.org/software/gsl/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz
- https://dev.gentoo.org/~mgorny/dist/${P}-cblas.patch.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~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 "${WORKDIR}"/${P}-cblas.patch
- eautoreconf
-
- cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ || die
- 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_test() {
- emake -j1 check
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -exec rm -f {} + || die
-
- # 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
- 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
-}
diff --git a/sci-libs/gsl/gsl-2.4.ebuild b/sci-libs/gsl/gsl-2.4.ebuild
deleted file mode 100644
index 717234335f10..000000000000
--- a/sci-libs/gsl/gsl-2.4.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils flag-o-matic toolchain-funcs
-
-DESCRIPTION="The GNU Scientific Library"
-HOMEPAGE="https://www.gnu.org/software/gsl/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz
- https://dev.gentoo.org/~mgorny/dist/${PN}-2.3-cblas.patch.bz2"
-
-LICENSE="GPL-3"
-SLOT="0/23"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cblas-external +deprecated static-libs"
-
-RDEPEND="cblas-external? ( virtual/cblas:= )"
-DEPEND="${RDEPEND}
- app-eselect/eselect-cblas
- virtual/pkgconfig"
-
-PATCHES=( "${WORKDIR}"/${PN}-2.3-cblas.patch )
-
-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
-
- default
- if use deprecated; then
- sed -i -e "/GSL_DISABLE_DEPRECATED/,+2d" configure.ac || die
- fi
- eautoreconf
-
- cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ || die
- 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_test() {
- local MAKEOPTS="${MAKEOPTS} -j1"
- default
-}
-
-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
- 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
-}
diff --git a/sci-libs/gsl/gsl-2.5-r1.ebuild b/sci-libs/gsl/gsl-2.5-r1.ebuild
deleted file mode 100644
index f1d81874a93a..000000000000
--- a/sci-libs/gsl/gsl-2.5-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic toolchain-funcs
-
-DESCRIPTION="The GNU Scientific Library"
-HOMEPAGE="https://www.gnu.org/software/gsl/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz
- https://dev.gentoo.org/~mgorny/dist/${PN}-2.3-cblas.patch.bz2"
-
-LICENSE="GPL-3"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cblas-external +deprecated static-libs"
-
-RDEPEND="cblas-external? ( virtual/cblas:= )"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${WORKDIR}"/${PN}-2.3-cblas.patch )
-
-src_prepare() {
- # bug 349005
- [[ $(tc-getCC)$ == *gcc* ]] && \
- [[ $(tc-getCC)$ != *apple* ]] && \
- [[ $(gcc-major-version)$(gcc-minor-version) -eq 44 ]] \
- && filter-mfpmath sse
- filter-flags -ffast-math
-
- default
- if use deprecated; then
- sed -i -e "/GSL_DISABLE_DEPRECATED/,+2d" configure.ac || die
- fi
- eautoreconf
-}
-
-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_test() {
- local MAKEOPTS="${MAKEOPTS} -j1"
- default
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -exec rm -f {} +
-}
diff --git a/sci-libs/gsl/gsl-2.5.ebuild b/sci-libs/gsl/gsl-2.5.ebuild
deleted file mode 100644
index 491d3cbe7610..000000000000
--- a/sci-libs/gsl/gsl-2.5.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic toolchain-funcs
-
-DESCRIPTION="The GNU Scientific Library"
-HOMEPAGE="https://www.gnu.org/software/gsl/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz
- https://dev.gentoo.org/~mgorny/dist/${PN}-2.3-cblas.patch.bz2"
-
-LICENSE="GPL-3"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cblas-external +deprecated static-libs"
-
-RDEPEND="cblas-external? ( virtual/cblas:= )"
-DEPEND="${RDEPEND}
- app-eselect/eselect-cblas
- virtual/pkgconfig"
-
-PATCHES=( "${WORKDIR}"/${PN}-2.3-cblas.patch )
-
-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
-
- default
- if use deprecated; then
- sed -i -e "/GSL_DISABLE_DEPRECATED/,+2d" configure.ac || die
- fi
- eautoreconf
-
- cp "${FILESDIR}"/eselect.cblas.gsl "${T}"/ || die
- 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_test() {
- local MAKEOPTS="${MAKEOPTS} -j1"
- default
-}
-
-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
- 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
-}
diff --git a/sci-libs/gsl/gsl-2.7.1-r2.ebuild b/sci-libs/gsl/gsl-2.7.1-r2.ebuild
new file mode 100644
index 000000000000..62c11d0d8578
--- /dev/null
+++ b/sci-libs/gsl/gsl-2.7.1-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU Scientific Library"
+HOMEPAGE="https://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-2.7-cblas.patch.bz2"
+
+LICENSE="GPL-3+"
+# Usually 0/${PV} but check
+SLOT="0/27"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="cblas-external +deprecated static-libs"
+
+RDEPEND="cblas-external? ( virtual/cblas:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${WORKDIR}"/${PN}-2.7-cblas.patch
+ "${FILESDIR}"/${PN}-2.7.1-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ if use deprecated; then
+ sed -i -e "/GSL_DISABLE_DEPRECATED/,+2d" configure.ac || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -ffast-math
+
+ 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_test() {
+ local MAKEOPTS="${MAKEOPTS} -j1"
+ default
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml
index 4a8296b2f944..acd1668f306e 100644
--- a/sci-libs/gsl/metadata.xml
+++ b/sci-libs/gsl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -17,10 +17,14 @@
numbers, least-squares fitting, fast Fourier transforms (FFT),
differential equations, quadrature, Monte Carlo integration, special
functions, physical constants, and much more.
-</longdescription>
+ </longdescription>
<use>
<flag name="cblas-external">Link gsl with external cblas provided by
(<pkg>virtual/cblas</pkg>) instead of shipped internal version</flag>
<flag name="deprecated">Enable deprecated functions</flag>
</use>
+ <upstream>
+ <remote-id type="savannah">gsl</remote-id>
+ <remote-id type="cpe">cpe:/a:gnu:gnu_scientific_library</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/gts/files/gts-20111025-autotools.patch b/sci-libs/gts/files/gts-20111025-autotools.patch
deleted file mode 100644
index 7ab3805e2477..000000000000
--- a/sci-libs/gts/files/gts-20111025-autotools.patch
+++ /dev/null
@@ -1,56 +0,0 @@
---- 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/files/gts-20121130-autotools.patch b/sci-libs/gts/files/gts-20121130-autotools.patch
new file mode 100644
index 000000000000..2c651e9ba959
--- /dev/null
+++ b/sci-libs/gts/files/gts-20121130-autotools.patch
@@ -0,0 +1,32 @@
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -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)
+
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -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
index dad0b660079a..c5de6af4d23e 100644
--- a/sci-libs/gts/gts-20121130.ebuild
+++ b/sci-libs/gts/gts-20121130.ebuild
@@ -1,49 +1,62 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-AUTOTOOLS_AUTORECONF=1
+inherit autotools
-inherit autotools-utils
-
-MYP=${P/-20/-snapshot-}
+MY_P=${P/-20/-snapshot-}
DESCRIPTION="GNU Triangulated Surface Library"
HOMEPAGE="http://gts.sourceforge.net/"
-SRC_URI="http://gts.sourceforge.net/tarballs/${MYP}.tar.gz"
+SRC_URI="http://gts.sourceforge.net/tarballs/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
-SLOT="0"
LICENSE="LGPL-2"
-KEYWORDS="amd64 ~arm64 hppa ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples static-libs test"
+SLOT="0"
+KEYWORDS="amd64 arm64 hppa ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="test" # bug #277165
RDEPEND="dev-libs/glib:2"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
virtual/pkgconfig
doc? ( dev-util/gtk-doc )
test? ( media-libs/netpbm )"
-# buggy
-RESTRICT=test
+PATCHES=( "${FILESDIR}"/${PN}-20121130-autotools.patch )
+
+src_prepare() {
+ default
-S="${WORKDIR}/${MYP}"
+ # fix doc generation (bug #727536)
+ sed -i 's/\xe9/\xc3\xa9/;s/\xf6/\xc3\xb6/' src/*.{c,h} || die
-AUTOTOOLS_IN_SOURCE_BUILD=1
+ # allow to run tests (bug #277165)
+ chmod +x test/*/*.sh || die
+
+ eautoreconf
+}
-PATCHES=( "${FILESDIR}"/${PN}-20111025-autotools.patch )
+src_configure() {
+ econf --disable-static
+}
src_compile() {
- autotools-utils_src_compile
- use doc && autotools-utils_src_compile -C doc html
- chmod +x test/*/*.sh || die
+ default
+
+ if use doc; then
+ emake DOC_MAIN_SGML_FILE=gts-docs.xml -C doc html
+ HTML_DOCS=( doc/html/. )
+ fi
}
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
+ default
+
+ docinto examples
+ dodoc examples/*.c
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/gts/metadata.xml b/sci-libs/gts/metadata.xml
index 9980dad1bf17..dab9c96e6331 100644
--- a/sci-libs/gts/metadata.xml
+++ b/sci-libs/gts/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/h5hut/h5hut-1.99.13-r1.ebuild b/sci-libs/h5hut/h5hut-1.99.13-r1.ebuild
new file mode 100644
index 000000000000..8401f6468846
--- /dev/null
+++ b/sci-libs/h5hut/h5hut-1.99.13-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_P="${P^h}"
+DESCRIPTION="High-Performance I/O Library for Particle-based Simulations"
+HOMEPAGE="http://www-vis.lbl.gov/Research/H5hut/"
+SRC_URI="https://amas.psi.ch/H5hut/raw-attachment/wiki/DownloadSources/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# < dep on hdf5 because of bug #809221
+# Needs a proper fix.
+DEPEND="
+ virtual/mpi
+ <sci-libs/hdf5-1.12[mpi]
+ "
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-mpio.patch"
+ "${FILESDIR}/${P}-autotools.patch"
+ )
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-parallel --enable-shared --disable-static CC=mpicc CXX=mpicxx
+}
diff --git a/sci-libs/h5hut/h5hut-1.99.13.ebuild b/sci-libs/h5hut/h5hut-1.99.13.ebuild
deleted file mode 100644
index 5eca8e34f1dc..000000000000
--- a/sci-libs/h5hut/h5hut-1.99.13.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-MY_P="${P^h}"
-DESCRIPTION="High-Performance I/O Library for Particle-based Simulations"
-HOMEPAGE="http://www-vis.lbl.gov/Research/H5hut/"
-SRC_URI="https://amas.psi.ch/H5hut/raw-attachment/wiki/DownloadSources/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- virtual/mpi
- sci-libs/hdf5[mpi]
- "
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-mpio.patch"
- "${FILESDIR}/${P}-autotools.patch"
- )
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf --enable-parallel --enable-shared --disable-static CC=mpicc CXX=mpicxx
-}
diff --git a/sci-libs/h5hut/metadata.xml b/sci-libs/h5hut/metadata.xml
index 903883b48f16..c0cd18916a93 100644
--- a/sci-libs/h5hut/metadata.xml
+++ b/sci-libs/h5hut/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
diff --git a/sci-libs/h5part/h5part-1.6.6-r1.ebuild b/sci-libs/h5part/h5part-1.6.6-r1.ebuild
new file mode 100644
index 000000000000..388a4fe89c55
--- /dev/null
+++ b/sci-libs/h5part/h5part-1.6.6-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${P^^[hp]}"
+DESCRIPTION="Portable High Performance Parallel Data Interface to HDF5"
+HOMEPAGE="https://vis.lbl.gov/archive/Research/H5Part/"
+SRC_URI="https://codeforge.lbl.gov/frs/download.php/latestfile/18/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="
+ virtual/mpi
+ sci-libs/hdf5:=[mpi]
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-mpio.patch" )
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ econf --enable-parallel --enable-shared --disable-static CC=mpicc CXX=mpicxx
+}
diff --git a/sci-libs/h5part/h5part-1.6.6.ebuild b/sci-libs/h5part/h5part-1.6.6.ebuild
deleted file mode 100644
index 3e15653d504a..000000000000
--- a/sci-libs/h5part/h5part-1.6.6.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P="${P^^[hp]}"
-DESCRIPTION="Portable High Performance Parallel Data Interface to HDF5"
-HOMEPAGE="http://vis.lbl.gov/Research/H5Part/"
-SRC_URI="https://codeforge.lbl.gov/frs/download.php/latestfile/18/${MY_P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- virtual/mpi
- sci-libs/hdf5[mpi]
- "
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-mpio.patch" )
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- econf --enable-parallel --enable-shared --disable-static CC=mpicc CXX=mpicxx
-}
diff --git a/sci-libs/h5part/metadata.xml b/sci-libs/h5part/metadata.xml
index 903883b48f16..c0cd18916a93 100644
--- a/sci-libs/h5part/metadata.xml
+++ b/sci-libs/h5part/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
diff --git a/sci-libs/hdf/Manifest b/sci-libs/hdf/Manifest
index 5fbf047ece69..d44550729bb1 100644
--- a/sci-libs/hdf/Manifest
+++ b/sci-libs/hdf/Manifest
@@ -1,2 +1,2 @@
-DIST hdf-4.2.11.tar.bz2 3173535 BLAKE2B a35a366858cc67d6ef68959cf407c21a929d5dca82834937b648eded506c7c3f75dd67be763f0d1fc24b7be92849b53d688abb25611cbc9b918340dbb23a83e1 SHA512 b3be9a91c62fa258c8aa6f97d1ccbd8301225e43938b525a826c639fd8b30b7dd566f58f4d54e365606d861ad01660887163e5ca6521293791080e5ed41ef781
-DIST hdf-4.2.13.tar.bz2 3616255 BLAKE2B 3b20f018849b64aebc0e5fa53516f65f6e181b421c3842a033c2ec5586c262f18cb0be5c2a146bdecd9ae7580963817face2a21458852756f5b7072b7e6d5899 SHA512 d7be2b3650255590b72db4a6931325ec0af256db4b846cfe886c76bf24034901b2ba7a7e546566f426d265b1793287ea3f95d8fbd818a3d018fa6813a4541657
+DIST hdf-4.2.15-arch-patches-1.tar.bz2 7187 BLAKE2B 461e3d7c5e3603fb909d59d6fb23b59f64ef6a6c4e58fe85ddf906a8f27918ac25d3928f5c705290d9d778e1ed07b009bd0602409c05d13a06905d58f2a2cfff SHA512 616c39d06fb6f479a7bed88a89828530ac32018dae827259b76d6e177e5b50378722b60532533a02ae534dddc445f4e360e7a19a28e2cf9728549e5ee27c3e67
+DIST hdf-4.2.15.tar.bz2 3647900 BLAKE2B b1d60ee880563bf64ae6eae4c66f86afe55f4c512f06c84c154de30034fa7a65cfa2b9bd68fbf8a055bb42b57215455ac8967f2a73ec88b361750aa07e0da5e6 SHA512 7d4037800ef8950ed74f225355ef5458444bed26fc189fbbd2ce7d36009998013ac1f6ba5d4e60834acf8f6f73550357238745acc35e162679919400a48191e9
diff --git a/sci-libs/hdf/files/0001-simply-do-not-build-the-mfhdf-tools-ncgen-ncdump.patch b/sci-libs/hdf/files/0001-simply-do-not-build-the-mfhdf-tools-ncgen-ncdump.patch
new file mode 100644
index 000000000000..c57481a6cb84
--- /dev/null
+++ b/sci-libs/hdf/files/0001-simply-do-not-build-the-mfhdf-tools-ncgen-ncdump.patch
@@ -0,0 +1,30 @@
+From 5a93f7ba5bea12bd78616a2168035324054ed7b7 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 23:11:43 -0400
+Subject: [PATCH] simply do not build the mfhdf tools ncgen/ncdump
+
+They were removed upstream in:
+https://github.com/HDFGroup/hdf4/commit/57b87b9927f0127d0d04ab7cd6c93e01bf54e3ee
+
+With the note that people who want them can get them from... yup, you
+guessed it, netcdf.
+---
+ mfhdf/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mfhdf/Makefile.am b/mfhdf/Makefile.am
+index d62d3af..0963923 100644
+--- a/mfhdf/Makefile.am
++++ b/mfhdf/Makefile.am
+@@ -17,7 +17,7 @@ FORTRAN_DIR =
+ endif
+
+ # src folder in root Makefile, build other folders now
+-SUBDIRS = $(XDR_DIR) libsrc $(FORTRAN_DIR) test ncdump ncgen dumper hdfimport hdiff hrepack nctest
++SUBDIRS = $(XDR_DIR) libsrc $(FORTRAN_DIR) test dumper hdfimport hdiff hrepack nctest
+
+ DIST_SUBDIRS = xdr libsrc fortran test ncdump ncgen dumper hdfimport hdiff hrepack nctest examples
+
+--
+2.43.2
+
diff --git a/sci-libs/hdf/files/hdf-4.2.11-enable-fortran-shared.patch b/sci-libs/hdf/files/hdf-4.2.11-enable-fortran-shared.patch
deleted file mode 100644
index 7d48a8a0ca97..000000000000
--- a/sci-libs/hdf/files/hdf-4.2.11-enable-fortran-shared.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- hdf-4.2.11.orig/configure.ac 2016-03-16 20:07:45.093493050 +0000
-+++ hdf-4.2.11/configure.ac 2016-03-16 20:15:56.767311873 +0000
-@@ -224,20 +224,6 @@
- ## 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], [])
-
-@@ -847,11 +833,6 @@
- ## ------------------------------------------------------------------------
- ## 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.
diff --git a/sci-libs/hdf/files/hdf-4.2.11-fix-examples-dir.patch b/sci-libs/hdf/files/hdf-4.2.11-fix-examples-dir.patch
deleted file mode 100644
index f6f15545d66b..000000000000
--- a/sci-libs/hdf/files/hdf-4.2.11-fix-examples-dir.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff -Nur hdf-4.2.11.orig/hdf/examples/Makefile.am hdf-4.2.11/hdf/examples/Makefile.am
---- hdf-4.2.11.orig/hdf/examples/Makefile.am 2016-03-16 20:07:45.103492925 +0000
-+++ hdf-4.2.11/hdf/examples/Makefile.am 2016-03-16 22:16:35.836304451 +0000
-@@ -46,8 +46,8 @@
- INSTALL_TOP_FILES = README
-
- # Where to install example files
--EXAMPLEDIR=$(prefix)/examples/c
--EXAMPLETOPDIR=$(prefix)/examples
-+EXAMPLEDIR=$(docdir)/examples/c
-+EXAMPLETOPDIR=$(docdir)/examples
-
- # How to build C programs using h4cc
- $(EXTRA_PROG): $(H4CC)
-diff -Nur hdf-4.2.11.orig/hdf/fortran/examples/Makefile.am hdf-4.2.11/hdf/fortran/examples/Makefile.am
---- hdf-4.2.11.orig/hdf/fortran/examples/Makefile.am 2016-03-16 20:07:45.103492925 +0000
-+++ hdf-4.2.11/hdf/fortran/examples/Makefile.am 2016-03-16 22:17:58.775261767 +0000
-@@ -41,7 +41,7 @@
- INSTALL_SCRIPT_FILES = run-fortran-ex.sh
-
- # Where to install Fortran example files
--EXAMPLEDIR=$(prefix)/examples/fortran
-+EXAMPLEDIR=$(docdir)/examples/fortran
-
- # How to build Fortran programs using h4fc
- $(EXTRA_PROG): $(H4FC)
-diff -Nur hdf-4.2.11.orig/mfhdf/examples/Makefile.am hdf-4.2.11/mfhdf/examples/Makefile.am
---- hdf-4.2.11.orig/mfhdf/examples/Makefile.am 2016-03-16 20:07:45.183491919 +0000
-+++ hdf-4.2.11/mfhdf/examples/Makefile.am 2016-03-16 22:18:38.304764814 +0000
-@@ -23,7 +23,7 @@
- SD_get_info.c SD_find_sds_by_name.c SD_set_get_dim_info.c \
- SD_dimscale_vs_sds.c SD_set_attr.c SD_get_attr.c SD_chunking_example.c
-
--EXAMPLEDIR=$(prefix)/examples/c
-+EXAMPLEDIR=$(docdir)/examples/c
-
- # How to build programs using h4cc
- $(EXTRA_PROG): $(H4CC)
-diff -Nur hdf-4.2.11.orig/mfhdf/fortran/examples/Makefile.am hdf-4.2.11/mfhdf/fortran/examples/Makefile.am
---- hdf-4.2.11.orig/mfhdf/fortran/examples/Makefile.am 2016-03-16 20:07:45.183491919 +0000
-+++ hdf-4.2.11/mfhdf/fortran/examples/Makefile.am 2016-03-16 22:18:15.075056851 +0000
-@@ -24,7 +24,7 @@
- SD_set_attr.f SD_get_attr.f SD_compress_sds.f SD_chunking_example.f
-
- # Where to install example files
--EXAMPLEDIR=$(prefix)/examples/fortran
-+EXAMPLEDIR=$(docdir)/examples/fortran
-
- # How to build Fortran programs using h4fc
- $(EXTRA_PROG): $(H4FC)
-diff -up hdf-4.2.11/config/examples.am.destdir hdf-4.2.11/config/examples.am
---- hdf-4.2.11/config/examples.am.destdir 2015-02-09 09:43:05.000000000 -0700
-+++ hdf-4.2.11/config/examples.am 2015-02-13 13:24:09.008230956 -0700
-@@ -44,7 +44,7 @@ CHECK_CLEANFILES+= *.hdf
- CLEANFILES=$(EXAMPLE_PROG)
-
- # How to create EXAMPLEDIR if it doesn't already exist
--$(EXAMPLEDIR):
-+$(DESTDIR)$(EXAMPLEDIR):
- mkdir -p $@
-
- # Install and uninstall rules. We install the source files, not the
-@@ -54,42 +54,42 @@ install-data-local:
- uninstall-local:
- @$(MAKE) $(AM_MAKEFLAGS) uninstall-examples
-
--install-examples: $(EXAMPLEDIR)
-+install-examples: $(DESTDIR)$(EXAMPLEDIR)
- @for f in X $(INSTALL_FILES); do \
- if test $$f != X; then \
-- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \
-- chmod a-x $(EXAMPLEDIR)/$$f; \
-+ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLEDIR)/. || exit 1); \
-+ chmod a-x $(DESTDIR)$(EXAMPLEDIR)/$$f; \
- fi; \
- done
- @for f in X $(INSTALL_SCRIPT_FILES); do \
- if test $$f != X; then \
-- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \
-+ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLEDIR)/. || exit 1); \
- fi; \
- done
- @for f in X $(INSTALL_TOP_FILES); do \
- if test $$f != X; then \
-- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \
-- chmod a-x $(EXAMPLETOPDIR)/$$f; \
-+ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLETOPDIR)/. || exit 1); \
-+ chmod a-x $(DESTDIR)$(EXAMPLETOPDIR)/$$f; \
- fi; \
- done
- @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \
- if test $$f != X; then \
-- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \
-+ (set -x; $(INSTALL) $(srcdir)/$$f $(DESTDIR)$(EXAMPLETOPDIR)/. || exit 1); \
- fi; \
- done
-
- uninstall-examples:
-- @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
-- set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
-+ @if test -n "$(INSTALL_FILES)" -a -d $(DESTDIR)$(EXAMPLEDIR); then \
-+ set -x; cd $(DESTDIR)$(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
- fi
-- @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
-- set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
-+ @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(DESTDIR)$(EXAMPLEDIR); then \
-+ set -x; cd $(DESTDIR)$(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
- fi
-- @if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
-- set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
-+ @if test -n "$(INSTALL_TOP_FILES)" -a -d $(DESTDIR)$(EXAMPLETOPDIR); then \
-+ set -x; cd $$(DESTDIR)(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
- fi
-- @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
-- set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
-+ @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(DESTDIR)$(EXAMPLETOPDIR); then \
-+ set -x; cd $(DESTDIR)$(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
- fi
-
- installcheck-local:
diff --git a/sci-libs/hdf/files/hdf-4.2.11-fix-szip-detection.patch b/sci-libs/hdf/files/hdf-4.2.11-fix-szip-detection.patch
deleted file mode 100644
index 4486eb959b82..000000000000
--- a/sci-libs/hdf/files/hdf-4.2.11-fix-szip-detection.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- hdf-4.2.11.orig/configure.ac 2016-03-16 20:07:45.093493050 +0000
-+++ hdf-4.2.11/configure.ac 2016-03-16 22:08:06.232711036 +0000
-@@ -473,12 +473,14 @@
- yes)
- HAVE_SZIP="yes"
- AC_CHECK_HEADERS([szlib.h], [HAVE_SZLIB_H="yes"], [unset HAVE_SZIP])
-- if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then
-+ if test "x$HAVE_SZIP" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then
- AC_CHECK_LIB([sz], [SZ_BufftoBuffCompress],, [unset HAVE_SZIP])
- fi
-
- if test -z "$HAVE_SZIP"; then
- AC_MSG_ERROR([couldn't find szlib library])
-+ else
-+ USE_COMP_SZIP="yes"
- fi
- ;;
- no)
-@@ -525,7 +527,7 @@
- AC_CHECK_LIB([sz], [SZ_BufftoBuffCompress],, [unset HAVE_SZIP])
- fi
-
-- 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"
diff --git a/sci-libs/hdf/files/hdf-4.2.13-fix-xdr-configure.patch b/sci-libs/hdf/files/hdf-4.2.13-fix-xdr-configure.patch
deleted file mode 100644
index a4514ab267ec..000000000000
--- a/sci-libs/hdf/files/hdf-4.2.13-fix-xdr-configure.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: hdf-4.2.13/configure.ac
-===================================================================
---- hdf-4.2.13.orig/configure.ac
-+++ hdf-4.2.13/configure.ac
-@@ -676,7 +676,7 @@ case "$host" in
- *) ;;
- esac
-
--if test "X$BUILD_XDR" != "Xyes"; then
-+if test "X$BUILD_XDR" = "Xyes"; then
- AC_TRY_LINK([
- #include <rpc/types.h>
- #include <rpc/xdr.h>], [xdr_int],
diff --git a/sci-libs/hdf/files/hdf-4.2.13-linux-tirpc.patch b/sci-libs/hdf/files/hdf-4.2.13-linux-tirpc.patch
deleted file mode 100644
index 963388f66982..000000000000
--- a/sci-libs/hdf/files/hdf-4.2.13-linux-tirpc.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Index: hdf-4.2.13/configure.ac
-===================================================================
---- hdf-4.2.13.orig/configure.ac
-+++ hdf-4.2.13/configure.ac
-@@ -673,6 +673,9 @@ case "$host" in
- *-pc-cygwin*)
- LIBS="$LIBS -ltirpc"
- CPPFLAGS="$CPPFLAGS -I/usr/include/tirpc" ;;
-+ *-pc-linux*)
-+ LIBS="$LIBS -ltirpc"
-+ CPPFLAGS="$CPPFLAGS -I/usr/include/tirpc" ;;
- *) ;;
- esac
-
-@@ -703,6 +706,14 @@ if test "X$BUILD_XDR" != "Xyes"; then
- HAVE_RPC="yes"
- AC_CHECK_HEADER([rpc.h],[:], [unset HAVE_RPC])
- AC_CHECK_LIB([tirpc], [xdr_opaque],[:], [unset HAVE_RPC])
-+ if test -z "$HAVE_RPC"; then
-+ AC_MSG_ERROR([couldn't find tirpc library])
-+ fi
-+ ;;
-+ *-pc-linux*)
-+ HAVE_RPC="yes"
-+ AC_CHECK_HEADER([rpc/rpc.h],[:], [unset HAVE_RPC])
-+ AC_CHECK_LIB([tirpc], [xdr_opaque],[:], [unset HAVE_RPC])
- if test -z "$HAVE_RPC"; then
- AC_MSG_ERROR([couldn't find tirpc library])
- fi
diff --git a/sci-libs/hdf/files/hdf-4.2.15-enable-fortran-shared.patch b/sci-libs/hdf/files/hdf-4.2.15-enable-fortran-shared.patch
new file mode 100644
index 000000000000..8c6a1c9f8681
--- /dev/null
+++ b/sci-libs/hdf/files/hdf-4.2.15-enable-fortran-shared.patch
@@ -0,0 +1,37 @@
+diff --git a/configure.ac b/configure.ac
+index 0014f85..5601a1c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -290,20 +290,6 @@ fi
+ ## 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], [])
+
+@@ -948,11 +934,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.
diff --git a/sci-libs/hdf/files/hdf-4.2.15-fix-rpch-location.patch b/sci-libs/hdf/files/hdf-4.2.15-fix-rpch-location.patch
new file mode 100644
index 000000000000..a373649e2ab4
--- /dev/null
+++ b/sci-libs/hdf/files/hdf-4.2.15-fix-rpch-location.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 5601a1c..df03984 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -693,7 +693,7 @@ if test "X$BUILD_XDR" != "Xyes"; then
+ if test -z "$HAVE_OLDRPC" ; then
+ LIBS="$LIBS -ltirpc"
+ CPPFLAGS="$SYSCPPFLAGS -I/usr/include/tirpc"
+- AC_CHECK_HEADER([rpc/rpc.h],[:], [unset HAVE_TIRPC])
++ AC_CHECK_HEADER([tirpc/rpc/rpc.h],[:], [unset HAVE_TIRPC])
+ if test -z "$HAVE_TIRPC" ; then
+ CPPFLAGS="$SYSCPPFLAGS"
+ AC_MSG_ERROR([couldn't find rpc headers])
diff --git a/sci-libs/hdf/files/hdf4-c99.patch b/sci-libs/hdf/files/hdf4-c99.patch
new file mode 100644
index 000000000000..de5f5d07847d
--- /dev/null
+++ b/sci-libs/hdf/files/hdf4-c99.patch
@@ -0,0 +1,371 @@
+From a3d4d30fe457fc9a85fce5508119dffd3ace54c1 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 21:28:39 -0400
+Subject: [PATCH 01/11] fix tests omitting required header
+
+sys/time.h is not time.h.
+
+Purports to be fixed by https://github.com/HDFGroup/hdf4/commit/276e2c205b767d31f9d0b757f53a36aee1e1f9b2
+which however doesn't directly include time.h, as of the current
+version. In later releases it does.
+---
+ hdf/test/buffer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/hdf/test/buffer.c b/hdf/test/buffer.c
+index c7990e7..9f0f06f 100644
+--- a/hdf/test/buffer.c
++++ b/hdf/test/buffer.c
+@@ -50,6 +50,7 @@
+ #ifdef H4_HAVE_SYS_TIME_H
+ #include <sys/time.h>
+ #endif
++#include <time.h>
+ #include "tutils.h"
+ #include "hfile.h"
+
+--
+2.43.2
+
+
+From 02ec8e25e096241e20664acfc6596767f050ec86 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 20:41:06 -0400
+Subject: [PATCH 02/11] fix util omitting required header
+
+sys/wait.h is POSIX, but for some godforsaken reason upstream has
+decided to only include it behind random OS identifier macros. In a
+newer upstream version, they at least migrate over to including it
+whenever the header exists.
+
+https://github.com/HDFGroup/hdf4/commit/67e11955e41471c8892acc3c8930ea538f719a03
+---
+ hdf/util/he_file.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/hdf/util/he_file.c b/hdf/util/he_file.c
+index 8686e2f..d6c5e7f 100644
+--- a/hdf/util/he_file.c
++++ b/hdf/util/he_file.c
+@@ -17,9 +17,7 @@
+ #include "he.h"
+
+ /* get the prototype for the wait() func. */
+-#if defined SUN | defined HP9000 | defined IRIX | defined UNIX386
+ #include <sys/wait.h>
+-#endif /* SUN | HP9000 */
+ #ifdef H4_HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+--
+2.43.2
+
+
+From 60223f44459e7b43a26bdccf473804f1f0fd710f Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 20:46:48 -0400
+Subject: [PATCH 03/11] another POSIX function with a missing header
+
+For this one it is not immediately apparent to me that it's fixed
+upstream at all. Will check later.
+---
+ mfhdf/libsrc/file.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mfhdf/libsrc/file.c b/mfhdf/libsrc/file.c
+index a53301f..df73212 100644
+--- a/mfhdf/libsrc/file.c
++++ b/mfhdf/libsrc/file.c
+@@ -20,6 +20,7 @@
+ #include <assert.h>
+ #endif /* DEBUG */
+
++#include <unistd.h>
+ #include <string.h>
+ #include <errno.h>
+ #include "local_nc.h"
+--
+2.43.2
+
+
+From 2b4772cf958a1af0fff6117d4f7127607d3f1a50 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 20:48:56 -0400
+Subject: [PATCH 04/11] add brand new definition of function no one bothered to
+ define at all
+
+Added upstream in https://github.com/HDFGroup/hdf4/commit/8a4137d60e2d932703fc6ee91501ad374ccba885
+---
+ mfhdf/test/hdftest.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/mfhdf/test/hdftest.h b/mfhdf/test/hdftest.h
+index a211c49..a946e5c 100644
+--- a/mfhdf/test/hdftest.h
++++ b/mfhdf/test/hdftest.h
+@@ -52,6 +52,9 @@
+
+ /*************************** Utility Functions ***************************/
+
++/* Generates the correct name for the test file */
++intn make_datafilename(char* basename, char* testfile, unsigned int size);
++
+ /* Calls SDcreate, SDwritedata, and SDendaccess */
+ int32 make_SDS(int32 sd_id, char* sds_name, int32 type, int32 rank,
+ int32* dim_sizes, int32 unlim_dim, VOIDP written_data);
+@@ -65,6 +68,9 @@ int32 make_Ext3D_SDS(int32 sd_id, char* sds_name, int32 type, int32 rank,
+ int32* dim_sizes, VOIDP written_data,
+ int32 offset, char* ext_file_name);
+
++/* Verifies the unlimited dimension's size and the variable's data. */
++int verify_info_data(int32 sds_id, int32 expected_dimsize, int16 *result);
++
+ /* Calls SDnametoindex and SDselect */
+ int32 get_SDSbyName(int32 sd_id, char* sds_name);
+
+--
+2.43.2
+
+
+From 1be129c91ec9db6991daebddfe5124cc8180f0ea Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 20:58:13 -0400
+Subject: [PATCH 05/11] fix typoed function definition
+
+https://github.com/HDFGroup/hdf4/commit/490abfc71219657ecfa81cd90413b623f73603fd
+---
+ mfhdf/test/hdftest.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mfhdf/test/hdftest.c b/mfhdf/test/hdftest.c
+index da9a36b..04f8641 100644
+--- a/mfhdf/test/hdftest.c
++++ b/mfhdf/test/hdftest.c
+@@ -59,7 +59,7 @@ extern int test_SDSprops();
+ extern int test_coordvar();
+ extern int test_chunk();
+ extern int test_compression();
+-extern int test_dimension();
++extern int test_dimensions();
+ extern int test_attributes();
+ extern int test_datasizes();
+ extern int test_datainfo();
+--
+2.43.2
+
+
+From 60fcf1802bd015b01095c6a0463200f09c47f677 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 21:53:59 -0400
+Subject: [PATCH 06/11] make defines actually do anything whatsoever
+
+Rendered obsolete by https://github.com/HDFGroup/hdf4/commit/218c8da49eda25799577ac905209c1e972a77771
+---
+ mfhdf/test/tdatainfo.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/mfhdf/test/tdatainfo.c b/mfhdf/test/tdatainfo.c
+index df2539b..ab36044 100644
+--- a/mfhdf/test/tdatainfo.c
++++ b/mfhdf/test/tdatainfo.c
+@@ -23,6 +23,9 @@
+ * -BMR, Jul 2010
+ ****************************************************************************/
+
++#ifndef DATAINFO_TESTER
++#define DATAINFO_TESTER /* to include mfdatainfo.h */
++#endif
+ #include "mfhdf.h"
+
+ #ifdef H4_HAVE_SYS_TYPES_H
+@@ -44,10 +47,6 @@
+ #define ssize_t int32
+ #endif
+
+-#ifndef DATAINFO_TESTER
+-#define DATAINFO_TESTER /* to include mfdatainfo.h */
+-#endif
+-
+ #ifdef H4_HAVE_LIBSZ
+ #include "szlib.h"
+ #endif
+--
+2.43.2
+
+
+From e967cb577fa0ba39cee7d5a128672c61adbb839e Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 22:01:14 -0400
+Subject: [PATCH 07/11] Include correct header
+
+https://github.com/HDFGroup/hdf4/commit/3f61fb461d2d19cc1d9da41f29e5cbb2ce0c4365
+---
+ mfhdf/test/tfile.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mfhdf/test/tfile.c b/mfhdf/test/tfile.c
+index a90fc02..b0ea001 100644
+--- a/mfhdf/test/tfile.c
++++ b/mfhdf/test/tfile.c
+@@ -13,6 +13,7 @@
+
+ /* $Id: tfile.c 5218 2009-08-29 04:21:49Z bmribler $ */
+
++#include "local_nc.h"
+ #include "mfhdf.h"
+
+ #ifdef HDF
+--
+2.43.2
+
+
+From fda204abcb83516177d6c81a23261e1c641bcdcf Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 22:03:18 -0400
+Subject: [PATCH 08/11] include header needed for unlink()
+
+Upstream in https://github.com/HDFGroup/hdf4/commit/9055b673990b2dc3c9248f720f3e8a03f8d86434
+
+It is unclear why they think it was only needed then...
+---
+ mfhdf/test/tsd.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/mfhdf/test/tsd.c b/mfhdf/test/tsd.c
+index 397aeba..a6e9b6c 100644
+--- a/mfhdf/test/tsd.c
++++ b/mfhdf/test/tsd.c
+@@ -15,6 +15,8 @@
+ * tsd.c - tests SDstart for file with no write permission
+ ****************************************************************************/
+
++#include <unistd.h>
++
+ #include "mfhdf.h"
+
+ #ifdef HDF
+--
+2.43.2
+
+
+From 572ef6889599b58535bd2285d98ac63c7fdf870d Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 22:49:39 -0400
+Subject: [PATCH 09/11] include the getopt() header
+
+Which isn't getopt.h, though upstream helpfully added one in
+https://github.com/HDFGroup/hdf4/commit/9be7f29942d286873d0b4fa125be11b3f79f6916
+
+They then went a bit further and stopped using getopt at all:
+https://github.com/HDFGroup/hdf4/commit/0b3ad421b3ba8045d078196edd0492067f1ea576
+
+Helpful rationale:
+> Instead of relying on the system getopt(), HDF4 includes its own
+
+Intriguing.
+
+"Fortunately" this is a patch for an old version of hdf4. All we want to
+do is get the POSIX prototype which we intend to link to.
+---
+ mfhdf/hdiff/hdiff_main.c | 1 +
+ mfhdf/ncdump/ncdump.c | 1 +
+ mfhdf/ncgen/main.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/mfhdf/hdiff/hdiff_main.c b/mfhdf/hdiff/hdiff_main.c
+index 2fb2342..e2987be 100644
+--- a/mfhdf/hdiff/hdiff_main.c
++++ b/mfhdf/hdiff/hdiff_main.c
+@@ -12,6 +12,7 @@
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
++#include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/mfhdf/ncdump/ncdump.c b/mfhdf/ncdump/ncdump.c
+index bdaa120..8697c0a 100644
+--- a/mfhdf/ncdump/ncdump.c
++++ b/mfhdf/ncdump/ncdump.c
+@@ -4,6 +4,7 @@
+ * $Id$
+ *********************************************************************/
+
++#include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/mfhdf/ncgen/main.c b/mfhdf/ncgen/main.c
+index 16c0204..7f6e2c0 100644
+--- a/mfhdf/ncgen/main.c
++++ b/mfhdf/ncgen/main.c
+@@ -4,6 +4,7 @@
+ * $Id$
+ *********************************************************************/
+
++#include <unistd.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+--
+2.43.2
+
+
+From b569c20be9d3c65ba48bd2a81a5daa9ee8a419bc Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 22:57:19 -0400
+Subject: [PATCH 10/11] Remove never-defined macros that prevented including a
+ crucial header
+
+Also removed upstream:
+https://github.com/HDFGroup/hdf4/commit/3f61fb461d2d19cc1d9da41f29e5cbb2ce0c4365
+---
+ mfhdf/ncgen/close.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/mfhdf/ncgen/close.c b/mfhdf/ncgen/close.c
+index 036d8f0..3dedbd7 100644
+--- a/mfhdf/ncgen/close.c
++++ b/mfhdf/ncgen/close.c
+@@ -6,9 +6,7 @@
+
+ #include <stdio.h>
+ #include "ncgen.h"
+-#ifdef EIP
+ #include "genlib.h"
+-#endif
+
+ extern void fline(), cline();
+ extern int netcdf_flag;
+--
+2.43.2
+
+
+From 9bce6a7a5ea7095f4a51d38bd7e378670c33fb06 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 7 Apr 2024 23:23:16 -0400
+Subject: [PATCH 11/11] fix blatantly missing type
+
+Upstream applied via:
+https://github.com/HDFGroup/hdf4/commit/38e08e0d12d2ee84917111583a007fdcb5ad1aed
+---
+ mfhdf/hdfimport/gen_sds_floats.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mfhdf/hdfimport/gen_sds_floats.c b/mfhdf/hdfimport/gen_sds_floats.c
+index 81f62c5..d08576f 100644
+--- a/mfhdf/hdfimport/gen_sds_floats.c
++++ b/mfhdf/hdfimport/gen_sds_floats.c
+@@ -23,7 +23,7 @@
+ #define RANK2 2 /* Number of dimensions of the SDS */
+ #define RANK3 3 /* Number of dimensions of the SDS */
+
+-main()
++int main()
+ {
+ /************************* Variable declaration ************************/
+
+--
+2.43.2
+
diff --git a/sci-libs/hdf/hdf-4.2.11.ebuild b/sci-libs/hdf/hdf-4.2.11.ebuild
deleted file mode 100644
index e898f4d07374..000000000000
--- a/sci-libs/hdf/hdf-4.2.11.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit fortran-2 toolchain-funcs autotools flag-o-matic ltprune
-
-MYP=${P/_p/-patch}
-
-DESCRIPTION="General purpose library and format for storing scientific data"
-HOMEPAGE="https://www.hdfgroup.org/hdf4.html"
-SRC_URI="https://www.hdfgroup.org/ftp/HDF/HDF_Current/src/${MYP}.tar.bz2"
-
-SLOT="0"
-LICENSE="NCSA-HDF"
-KEYWORDS="~amd64 ~ia64 ~ppc -sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="examples fortran szip static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( szip )"
-
-RDEPEND="
- sys-libs/zlib
- virtual/jpeg:0
- szip? ( virtual/szip )"
-DEPEND="${RDEPEND}
- test? ( virtual/szip )"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.2.11-fix-szip-detection.patch
- "${FILESDIR}"/${PN}-4.2.11-enable-fortran-shared.patch
- "${FILESDIR}"/${PN}-4.2.11-fix-examples-dir.patch
-)
-
-src_prepare() {
- default
- 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
- use static-libs || prune_libtool_files --all
- dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
- cd "${ED}"usr
- use examples || rm -rf share/doc/${PF}/examples
- 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.13-r1.ebuild b/sci-libs/hdf/hdf-4.2.13-r1.ebuild
deleted file mode 100644
index ae60cc865d33..000000000000
--- a/sci-libs/hdf/hdf-4.2.13-r1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit fortran-2 toolchain-funcs autotools flag-o-matic ltprune
-
-MYP=${P/_p/-patch}
-
-DESCRIPTION="General purpose library and format for storing scientific data"
-HOMEPAGE="https://www.hdfgroup.org/hdf4.html"
-SRC_URI="https://www.hdfgroup.org/ftp/HDF/HDF_Current/src/${MYP}.tar.bz2"
-
-SLOT="0"
-LICENSE="NCSA-HDF"
-KEYWORDS="amd64 ~ia64 ppc -sparc x86 ~amd64-linux ~x86-linux"
-IUSE="examples fortran szip static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( szip )"
-
-RDEPEND="
- net-libs/libtirpc
- sys-libs/zlib
- virtual/jpeg:0
- szip? ( virtual/szip )"
-DEPEND="${RDEPEND}
- test? ( virtual/szip )"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.2.11-fix-szip-detection.patch
- "${FILESDIR}"/${PN}-4.2.11-enable-fortran-shared.patch
- "${FILESDIR}"/${PN}-4.2.13-fix-xdr-configure.patch
- "${FILESDIR}"/${PN}-4.2.13-linux-tirpc.patch
-)
-
-src_prepare() {
- default
- 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
- use static-libs || prune_libtool_files --all
- dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
- cd "${ED}"usr
- if use examples; then
- mv share/hdf4_examples share/doc/${PF}/examples || die
- docompress -x /usr/share/doc/${PF}/examples
- else
- rm -r share/hdf4_examples || die
- fi
- 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.13.ebuild b/sci-libs/hdf/hdf-4.2.13.ebuild
deleted file mode 100644
index feefb99d01aa..000000000000
--- a/sci-libs/hdf/hdf-4.2.13.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit fortran-2 toolchain-funcs autotools flag-o-matic ltprune
-
-MYP=${P/_p/-patch}
-
-DESCRIPTION="General purpose library and format for storing scientific data"
-HOMEPAGE="https://www.hdfgroup.org/hdf4.html"
-SRC_URI="https://www.hdfgroup.org/ftp/HDF/HDF_Current/src/${MYP}.tar.bz2"
-
-SLOT="0"
-LICENSE="NCSA-HDF"
-KEYWORDS="~amd64 ~ia64 ~ppc -sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="examples fortran szip static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( szip )"
-
-RDEPEND="
- sys-libs/zlib
- virtual/jpeg:0
- szip? ( virtual/szip )"
-DEPEND="${RDEPEND}
- test? ( virtual/szip )"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.2.11-fix-szip-detection.patch
- "${FILESDIR}"/${PN}-4.2.11-enable-fortran-shared.patch
-)
-
-src_prepare() {
- default
- 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
- use static-libs || prune_libtool_files --all
- dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
- cd "${ED}"usr
- if use examples; then
- mv share/hdf4_examples share/doc/${PF}/examples || die
- docompress -x /usr/share/doc/${PF}/examples
- else
- rm -r share/hdf4_examples || die
- fi
- 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.15-r2.ebuild b/sci-libs/hdf/hdf-4.2.15-r2.ebuild
new file mode 100644
index 000000000000..02fc69143873
--- /dev/null
+++ b/sci-libs/hdf/hdf-4.2.15-r2.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2 toolchain-funcs autotools flag-o-matic
+
+DESCRIPTION="General purpose library and format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/hdf4.html"
+SRC_URI="https://support.hdfgroup.org/ftp/HDF/releases/${PN^^}${PV}/src/${P}.tar.bz2"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-4.2.15-arch-patches-1.tar.bz2"
+SRC_URI+=" https://dev.gentoo.org/~dlan/distfiles/${CATEGORY}/${PN}/${PN}-4.2.15-arch-patches-1.tar.bz2"
+
+LICENSE="NCSA-HDF"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ia64 ~ppc ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="examples fortran szip static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( szip )"
+
+RDEPEND="net-libs/libtirpc:=
+ sys-libs/zlib
+ virtual/jpeg:0
+ szip? ( virtual/szip )"
+DEPEND="${RDEPEND}
+ test? ( virtual/szip )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.2.15-enable-fortran-shared.patch
+ "${FILESDIR}"/${PN}-4.2.15-fix-rpch-location.patch
+
+ # May need to extend these for more arches in future.
+ # bug #664856
+ "${WORKDIR}"/${PN}-4.2.15-arch-patches/
+
+ # backport fix for Modern C
+ "${FILESDIR}"/hdf4-c99.patch
+
+ # These tools were dropped upstream. Get them from netcdf...
+ "${FILESDIR}"/0001-simply-do-not-build-the-mfhdf-tools-ncgen-ncdump.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e 's/-R/-L/g' config/commence.am || die #rpath
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=strict-aliasing, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862720
+ #
+ # Do not trust with LTO either, just because of strict-aliasing.
+ # But also because it does have blatant LTO errors too.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ [[ $(tc-getFC) = *gfortran ]] && append-fflags -fno-range-check
+ # GCC 10 workaround
+ # bug #723014
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
+
+ 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
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
+ dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
+
+ cd "${ED}/usr" || die
+ if use examples; then
+ mv share/hdf4_examples share/doc/${PF}/examples || die
+ docompress -x /usr/share/doc/${PF}/examples
+ else
+ rm -r share/hdf4_examples || die
+ fi
+}
diff --git a/sci-libs/hdf/metadata.xml b/sci-libs/hdf/metadata.xml
index fedc7089f83e..c4fb0d5104c1 100644
--- a/sci-libs/hdf/metadata.xml
+++ b/sci-libs/hdf/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -16,4 +16,7 @@
unstructured grids. You can also mix and match them in HDF files
according to your needs.
</longdescription>
+ <upstream>
+ <remote-id type="github">HDFGroup/hdf4</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
index 64df5831a55d..f07fe2e1a3ad 100644
--- a/sci-libs/hdf5/Manifest
+++ b/sci-libs/hdf5/Manifest
@@ -1 +1,6 @@
DIST hdf5-1.10.5.tar.bz2 8706317 BLAKE2B ac326be8fe4ccc4b0153f15bc7d65aa8f1adc2ae279d3980f57ed46722b754d3f36ecf1d6273c75e80ed1afd4bbf10c6b1c5d9408e1f83a4b2e397e7902a7d3c SHA512 769e43b8672e26fe24ed68da0228c010d3d9bc950ca09f0bc60707911a2f26f2f8415c8abc8ec06e07667148d8cdb3b0c7b3e7860d9b19739629c5dfd5ce73d4
+DIST hdf5-1.12.2.tar.bz2 10494264 BLAKE2B 99ca5b57f6f54fa044c909f0773de62b218c1f0ec3c011f88f3c227536dd719e77ddbe42d562b1214e8843e41d8fc56db499d7f122876fdd36ef31b235229cb7 SHA512 cbb4663570de76b11adb6bf62cfdb754371d31eeab04691479a5764a45207a9c1309665ab80f51c63a4b9b87354f9cbe6835cef506a9fd554d142c6d2bec21e5
+DIST hdf5-1.14.1.tar.bz2 16257319 BLAKE2B fbabbe2a61fca3f841d0206e3918390001ec1ec713696b69845eb6390595794a63740db9a7b48fd132814268e216d8fea6288cd23b04b2fa981058b557113e73 SHA512 b4dd3fca88547fdcbb2afcc22cb11bb45b7b15c3c01d9e11b7f06030ffff1a9d5c4995abb6cf27b0c4e748f1a7ca497a7f2d995ba00586f447fcd2fa537e0e16
+DIST hdf5-1.14.2.tar.bz2 16070491 BLAKE2B 04acdc5352f7f0455bf6304ef07ddf51b99125bb585984bd3e27a521a784a6ad6723d64aa3b4179e4bd382334b7e68d06650404d7d4617a696d3f64917487dbc SHA512 1e1bfdff50c2e0e172d399c2d5b79b9ad0c7c72b9b30c4849aad7c5656393e8cf2af788cdf62b51fbe596023483fbc7fa23fdebf37bfe3109dae7f0783ea590f
+DIST hdf5-1.14.3.tar.bz2 16320137 BLAKE2B 4c58edc04788db739c5c74d6edbfb9277011e2d6776862404fc29b30bb2c06a4314eb317393c230ebd2617a9a362ff78183d39ae80ce08f8963bdf6c02e8a865 SHA512 06d51638a56f387f6d0ef484b72e182509c15ab639315052be9821adeed6ad08551c50d7fe84d2b550b64211f68484cf3022a4660c8004cd0afd90eaa83c1bb1
+DIST hdf5-1.14.4-2.tar.gz 37033062 BLAKE2B cd75e0fec1ccea8622bb93839c4898e07093b298612cd3ba5aaa48178eba33f49e6a6492df779f0cc36ee263a107a3fa3e592caec35576d0e637b9e457da3965 SHA512 f1714b7999468d580b7cae2e575d3d7f31cea2fb81bfa4e37abd248d7223476b2351d1714197ace04eee970b451cf1f6971f5a291fd7426398737b8d7eb26924
diff --git a/sci-libs/hdf5/files/hdf5-1.12.2-configure-clang16.patch b/sci-libs/hdf5/files/hdf5-1.12.2-configure-clang16.patch
new file mode 100644
index 000000000000..f341fa99ddac
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.12.2-configure-clang16.patch
@@ -0,0 +1,30 @@
+https://github.com/HDFGroup/hdf5/commit/9dd36f016a4316b94f5df15856d228de01d304c6
+
+From 9dd36f016a4316b94f5df15856d228de01d304c6 Mon Sep 17 00:00:00 2001
+From: Ryan Schmidt <ryandesign@macports.org>
+Date: Thu, 17 Nov 2022 16:28:44 -0600
+Subject: [PATCH] Simplify & fix check for szlib encoder (#2263)
+
+Return the result rather than setting the exit code. "return" is a
+language keyword whereas "exit" is a function for which the <stdlib.h>
+header has to be included which it wasn't in this test, therefore the
+test would previously fail to identify that the encoder was enabled if
+"-Werror=implicit-function-declaration" was used, which it is by default
+with clang from Xcode 12 and later.
+
+Fixes #2262
+--- a/configure.ac
++++ b/configure.ac
+@@ -1737,10 +1737,7 @@ if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then
+ #include "szlib.h"
+ ],[[
+ /* SZ_encoder_enabled returns 1 if encoder is present */
+- if(SZ_encoder_enabled() == 1)
+- exit(0);
+- else
+- exit(1);
++ return SZ_encoder_enabled() != 1;
+ ]])]
+ , [hdf5_cv_szlib_can_encode=yes], [hdf5_cv_szlib_can_encode=no],)]
+ )
+
diff --git a/sci-libs/hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch b/sci-libs/hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch
new file mode 100644
index 000000000000..b8585fc647f6
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch
@@ -0,0 +1,20 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -159,8 +159,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)
+@@ -171,8 +169,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.12.2-no-strip-symbols.patch b/sci-libs/hdf5/files/hdf5-1.12.2-no-strip-symbols.patch
new file mode 100644
index 000000000000..0f3bf3981fa7
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.12.2-no-strip-symbols.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/665378
+--- a/configure.ac
++++ b/configure.ac
+@@ -2368,9 +2368,9 @@ case "X-$SYMBOLS" in
+ AC_MSG_RESULT([yes])
+ ;;
+ X-no)
+- H5_CFLAGS="$H5_CFLAGS $NO_SYMBOLS_CFLAGS"
+- H5_CXXFLAGS="$H5_CXXFLAGS $NO_SYMBOLS_CXXFLAGS"
+- H5_FCFLAGS="$H5_FCFLAGS $NO_SYMBOLS_FCFLAGS"
++ H5_CFLAGS="$H5_CFLAGS"
++ H5_CXXFLAGS="$H5_CXXFLAGS"
++ H5_FCFLAGS="$H5_FCFLAGS"
+ AC_MSG_RESULT([no])
+ ;;
+ *)
diff --git a/sci-libs/hdf5/files/hdf5-1.14.2-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch b/sci-libs/hdf5/files/hdf5-1.14.2-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
new file mode 100644
index 000000000000..91ed578ccc14
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.2-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
@@ -0,0 +1,28 @@
+From 1a5293a30594afbfd3a24899e055429046a47837 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:25:43 +0000
+Subject: [PATCH 1/3] Make sure that during runtime we'll use the same
+ libgfortran as during linking
+
+Bug: https://bugs.gentoo.org/419991
+Bug: https://bugs.gentoo.org/419895
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ fortran/src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am
+index d42a41d..2b2a316 100644
+--- a/fortran/src/Makefile.am
++++ b/fortran/src/Makefile.am
+@@ -96,6 +96,7 @@ if BUILD_PARALLEL_CONDITIONAL
+ else
+ H5FC_NAME = h5fc
+ endif
++H5test_kind_LDFLAGS=-static-libgfortran
+
+ # Rules for automatically detecting which fortran types are present
+ # and matching them to C types. This is accomplished using helper
+--
+2.43.0
+
diff --git a/sci-libs/hdf5/files/hdf5-1.14.2-0002-Disable-forced-stripping.patch b/sci-libs/hdf5/files/hdf5-1.14.2-0002-Disable-forced-stripping.patch
new file mode 100644
index 000000000000..646950c62167
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.2-0002-Disable-forced-stripping.patch
@@ -0,0 +1,31 @@
+From 260c90de63af19ff96fcf735d75d497356747788 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:26:33 +0000
+Subject: [PATCH 2/3] Disable forced stripping
+
+Bug: https://bugs.gentoo.org/665378
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index baad732..8c6b6f4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2183,9 +2183,9 @@ case "X-$SYMBOLS" in
+ AC_MSG_RESULT([yes])
+ ;;
+ X-no)
+- H5_CFLAGS="$H5_CFLAGS $NO_SYMBOLS_CFLAGS"
+- H5_CXXFLAGS="$H5_CXXFLAGS $NO_SYMBOLS_CXXFLAGS"
+- H5_FCFLAGS="$H5_FCFLAGS $NO_SYMBOLS_FCFLAGS"
++ H5_CFLAGS="$H5_CFLAGS"
++ H5_CXXFLAGS="$H5_CXXFLAGS"
++ H5_FCFLAGS="$H5_FCFLAGS"
+ AC_MSG_RESULT([no])
+ ;;
+ *)
+--
+2.43.0
+
diff --git a/sci-libs/hdf5/files/hdf5-1.14.2-0003-Drop-broken-Werror-stripping.patch b/sci-libs/hdf5/files/hdf5-1.14.2-0003-Drop-broken-Werror-stripping.patch
new file mode 100644
index 000000000000..fbe69dcadb92
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.2-0003-Drop-broken-Werror-stripping.patch
@@ -0,0 +1,37 @@
+From 5c87a2125ca2620de633e33a52020d12b7661da8 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:27:18 +0000
+Subject: [PATCH 3/3] Drop broken -Werror stripping
+
+The stripping is broken and mangles -Werror=x -> -x [0].
+
+[0] https://github.com/HDFGroup/hdf5/commit/41526f68f3482f2b3a7aa581288bc86e9c6dcb43#r100076265
+
+Bug: https://bugs.gentoo.org/917448
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8c6b6f4..a66830e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -189,14 +189,6 @@ saved_user_JAVAFLAGS="$JAVAFLAGS"
+ saved_user_LDFLAGS="$LDFLAGS"
+ saved_user_CPPFLAGS="$CPPFLAGS"
+
+-## Strip out -Werror from CFLAGS since that can cause checks to fail when
+-## compiling the test program fails due to warnings
+-CFLAGS="`echo $CFLAGS | sed -e 's/-Werror//g'`"
+-CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-Werror//g'`"
+-FCFLAGS="`echo $FCFLAGS | sed -e 's/-Werror//g'`"
+-JAVACFLAGS="`echo $JAVACFLAGS | sed -e 's/-Werror//g'`"
+-CPPFLAGS="`echo $CPPFLAGS | sed -e 's/-Werror//g'`"
+-
+ ## Support F9X variable to define Fortran compiler if FC variable is
+ ## not used. This should be deprecated in the future.
+ if test "x" = "x$FC"; then
+--
+2.43.0
+
diff --git a/sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch b/sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
new file mode 100644
index 000000000000..5b3a5f85f2ce
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
@@ -0,0 +1,28 @@
+From dcfab0f9f0c41cb61a25b11cd61eac7204365693 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:25:43 +0000
+Subject: [PATCH 1/3] Make sure that during runtime we'll use the same
+ libgfortran as during linking
+
+Bug: https://bugs.gentoo.org/419991
+Bug: https://bugs.gentoo.org/419895
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ fortran/src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am
+index 8d8396f..de03df9 100644
+--- a/fortran/src/Makefile.am
++++ b/fortran/src/Makefile.am
+@@ -98,6 +98,7 @@ if BUILD_PARALLEL_CONDITIONAL
+ else
+ H5FC_NAME = h5fc
+ endif
++H5test_kind_LDFLAGS=-static-libgfortran
+
+ # Rules for automatically detecting which fortran types are present
+ # and matching them to C types. This is accomplished using helper
+--
+2.44.0
+
diff --git a/sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch b/sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch
new file mode 100644
index 000000000000..25a3088dc031
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.4-0002-Disable-forced-stripping.patch
@@ -0,0 +1,31 @@
+From 9bcb00e44ce2442db9dcd173e70f8635d7e22c1d Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:26:33 +0000
+Subject: [PATCH 2/3] Disable forced stripping
+
+Bug: https://bugs.gentoo.org/665378
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6a3beee..fc44a39 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2512,9 +2512,9 @@ case "X-$SYMBOLS" in
+ AC_MSG_RESULT([yes])
+ ;;
+ X-no)
+- H5_CFLAGS="$H5_CFLAGS $NO_SYMBOLS_CFLAGS"
+- H5_CXXFLAGS="$H5_CXXFLAGS $NO_SYMBOLS_CXXFLAGS"
+- H5_FCFLAGS="$H5_FCFLAGS $NO_SYMBOLS_FCFLAGS"
++ H5_CFLAGS="$H5_CFLAGS"
++ H5_CXXFLAGS="$H5_CXXFLAGS"
++ H5_FCFLAGS="$H5_FCFLAGS"
+ AC_MSG_RESULT([no])
+ ;;
+ *)
+--
+2.44.0
+
diff --git a/sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch b/sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch
new file mode 100644
index 000000000000..3b8a628b0384
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch
@@ -0,0 +1,65 @@
+From 014f4857dc0e5883cb07393d5875412806855d28 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Dec 2023 09:27:18 +0000
+Subject: [PATCH 3/3] Drop broken -Werror stripping
+
+The stripping is broken and mangles -Werror=x -> -x [0].
+
+[0] https://github.com/HDFGroup/hdf5/commit/41526f68f3482f2b3a7aa581288bc86e9c6dcb43#r100076265
+
+Bug: https://bugs.gentoo.org/917448
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 36 ------------------------------------
+ 1 file changed, 36 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fc44a39..2117303 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -193,42 +193,6 @@ saved_user_JAVAFLAGS="$JAVAFLAGS"
+ saved_user_LDFLAGS="$LDFLAGS"
+ saved_user_CPPFLAGS="$CPPFLAGS"
+
+-## Strip out -Werror from CFLAGS since that can cause checks to fail when
+-## compiling test programs fails due to warnings
+-##
+-## Regex:
+-##
+-## -Werror Literal -Werror
+-## \( Start optional capturing group
+-## = Literal equals sign
+-## [^[:space:]] Non-space characters
+-## \+ 1 or more of the above
+-## \) End optional capturing group
+-## \? 0 or 1 capturing group matches
+-##
+-## Note that the outer pair of '[]' ends up getting removed
+-WERROR_SED='s/-Werror\(=[[^[:space:]]]\+\)\?//g'
+-CFLAGS_SED="`echo $CFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- CFLAGS="$CFLAGS_SED"
+-fi
+-CXXFLAGS_SED="`echo $CXXFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- CXXFLAGS="$CXXFLAGS_SED"
+-fi
+-FCFLAGS_SED="`echo $FCFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- FCFLAGS="$FCFLAGS_SED"
+-fi
+-JAVACFLAGS_SED="`echo $JAVACFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- JAVACFLAGS="$JAVACFLAGS_SED"
+-fi
+-CPPFLAGS_SED="`echo $CPPFLAGS | sed -e $WERROR_SED`"
+-if test $? -eq 0; then
+- CPPFLAGS="$CPPFLAGS_SED"
+-fi
+-
+ ## Support F9X variable to define Fortran compiler if FC variable is
+ ## not used. This should be deprecated in the future.
+ if test "x" = "x$FC"; then
+--
+2.44.0
+
diff --git a/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild b/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild
index 47f24fba7d92..bd0d0095ae1a 100644
--- a/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild
+++ b/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
FORTRAN_NEEDED="fortran"
-inherit autotools eutils fortran-2 flag-o-matic toolchain-funcs multilib prefix
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
MY_P="${PN}-${PV/_p/-patch}"
MAJOR_P="${PN}-$(ver_cut 1-2)"
@@ -16,7 +16,7 @@ SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_
LICENSE="NCSA-HDF"
SLOT="0/${PV%%_p*}"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="cxx debug examples fortran +hl mpi szip threads unsupported zlib"
REQUIRED_USE="
@@ -30,8 +30,8 @@ RDEPEND="
zlib? ( sys-libs/zlib:0= )
"
DEPEND="${RDEPEND}
- sys-devel/libtool:2
- >=sys-devel/autoconf-2.69
+ dev-build/libtool:2
+ >=dev-build/autoconf-2.69
"
S="${WORKDIR}/${MY_P}"
@@ -75,11 +75,15 @@ src_prepare() {
sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" tools/src/misc/h5cc.in || die
hprefixify m4/libtool.m4
+ # bug #775305
+ use fortran && tc-enables-pie && append-fflags -fPIC
+
default
eautomake
}
src_configure() {
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp # bug 686620
local myconf=(
--disable-static
--enable-deprecated-symbols
diff --git a/sci-libs/hdf5/hdf5-1.10.5.ebuild b/sci-libs/hdf5/hdf5-1.10.5.ebuild
deleted file mode 100644
index 9d3676dd8897..000000000000
--- a/sci-libs/hdf5/hdf5-1.10.5.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-FORTRAN_NEEDED=fortran
-
-inherit autotools eutils fortran-2 flag-o-matic toolchain-funcs multilib prefix
-
-MY_P=${PN}-${PV/_p/-patch}
-MAJOR_P=${PN}-$(ver_cut 1-2)
-
-DESCRIPTION="General purpose library and file format for storing scientific data"
-HOMEPAGE="https://www.hdfgroup.org/HDF5/"
-SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2"
-
-LICENSE="NCSA-HDF"
-SLOT="0/${PV%%_p*}"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="cxx debug examples fortran +hl mpi szip threads zlib"
-
-REQUIRED_USE="
- cxx? ( !mpi ) mpi? ( !cxx )
- threads? ( !cxx !mpi !fortran !hl )"
-
-RDEPEND="
- mpi? ( virtual/mpi[romio] )
- szip? ( virtual/szip )
- 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
-)
-
-pkg_setup() {
- tc-export CXX CC AR # workaround for bug 285148
- use fortran && fortran-2_pkg_setup
-
- 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/src/misc/h5cc.in || die
- hprefixify m4/libtool.m4
-
- default
- eautomake
-}
-
-src_configure() {
- econf \
- --disable-static \
- --enable-deprecated-symbols \
- --enable-build-mode=$(usex debug debug production) \
- $(use_enable cxx) \
- $(use_enable debug codestack) \
- $(use_enable fortran) \
- $(use_enable hl) \
- $(use_enable mpi parallel) \
- $(use_enable threads threadsafe) \
- $(use_with szip szlib) \
- $(use_with threads pthread) \
- $(use_with zlib)
-}
-
-src_install() {
- default
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/hdf5/hdf5-1.12.2-r4.ebuild b/sci-libs/hdf5/hdf5-1.12.2-r4.ebuild
new file mode 100644
index 000000000000..7ef23c173f17
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.12.2-r4.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_P=${PN}-${PV/_p/-patch}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/"
+SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran +hl mpi szip threads unsupported zlib"
+REQUIRED_USE="
+ !unsupported? (
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran !hl )
+ )
+"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( virtual/szip )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.9-static_libgfortran.patch
+ "${FILESDIR}"/${PN}-1.12.2-no-messing-ldpath.patch
+ "${FILESDIR}"/${PN}-1.12.2-no-strip-symbols.patch
+)
+
+pkg_setup() {
+ # Workaround for bug 285148
+ tc-export CXX CC AR
+
+ use fortran && fortran-2_pkg_setup
+
+ 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() {
+ default
+
+ # 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
+ # bug #409091
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die
+ fi
+
+ # Enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+ hprefixify m4/libtool.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #686620
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+
+ econf \
+ --disable-static \
+ --enable-deprecated-symbols \
+ --enable-build-mode=$(usex debug debug production) \
+ $(use_enable cxx) \
+ $(use_enable debug codestack) \
+ $(use_enable fortran) \
+ $(use_enable hl) \
+ $(use_enable mpi parallel) \
+ $(use_enable threads threadsafe) \
+ $(use_enable unsupported) \
+ $(use_with szip szlib) \
+ $(use_with threads pthread) \
+ $(use_with zlib)
+}
+
+src_install() {
+ emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+
+ # Remove "perf" executable due to file collisions with dev-util/perf.
+ # Previously with the CMake build system we only installed h5perf, so
+ # let's simply remove the file for now.
+ use mpi && { rm "${ED}"/usr/bin/perf || die "rm failed" ; }
+}
diff --git a/sci-libs/hdf5/hdf5-1.12.2-r6.ebuild b/sci-libs/hdf5/hdf5-1.12.2-r6.ebuild
new file mode 100644
index 000000000000..c723c3ad3dde
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.12.2-r6.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_P=${PN}-${PV/_p/-patch}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/"
+SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran +hl mpi szip threads unsupported zlib"
+REQUIRED_USE="
+ !unsupported? (
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran !hl )
+ )
+"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( virtual/szip )
+ zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.9-static_libgfortran.patch
+ "${FILESDIR}"/${PN}-1.12.2-no-messing-ldpath.patch
+ "${FILESDIR}"/${PN}-1.12.2-no-strip-symbols.patch
+ "${FILESDIR}"/${PN}-1.12.2-configure-clang16.patch
+)
+
+pkg_setup() {
+ # Workaround for bug 285148
+ tc-export CXX CC AR
+
+ use fortran && fortran-2_pkg_setup
+
+ 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() {
+ default
+
+ # 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
+ # bug #409091
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die
+ fi
+
+ # Enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+ hprefixify m4/libtool.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #686620
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+
+ econf \
+ --disable-static \
+ --enable-deprecated-symbols \
+ --enable-build-mode=$(usex debug debug production) \
+ --with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin" \
+ $(use_enable cxx) \
+ $(use_enable debug codestack) \
+ $(use_enable fortran) \
+ $(use_enable hl) \
+ $(use_enable mpi parallel) \
+ $(use_enable threads threadsafe) \
+ $(use_enable unsupported) \
+ $(use_with szip szlib) \
+ $(use_with threads pthread) \
+ $(use_with zlib)
+}
+
+src_install() {
+ emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+
+ # Remove "perf" executable due to file collisions with dev-util/perf.
+ # Previously with the CMake build system we only installed h5perf, so
+ # let's simply remove the file for now.
+ use mpi && { rm "${ED}"/usr/bin/perf || die "rm failed" ; }
+}
diff --git a/sci-libs/hdf5/hdf5-1.14.1.ebuild b/sci-libs/hdf5/hdf5-1.14.1.ebuild
new file mode 100644
index 000000000000..07005227c9e1
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.14.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_P=${PN}-${PV/_p/-patch}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/"
+SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ !unsupported? (
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran !hl )
+ )
+"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( virtual/szip )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.8.9-static_libgfortran.patch
+ "${FILESDIR}"/${PN}-1.12.2-no-strip-symbols.patch
+)
+
+pkg_setup() {
+ # Workaround for bug 285148
+ tc-export CXX CC AR
+
+ use fortran && fortran-2_pkg_setup
+
+ 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() {
+ default
+
+ # 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
+ # bug #409091
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die
+ fi
+
+ # Enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+ hprefixify m4/libtool.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #686620
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+
+ econf \
+ --disable-static \
+ --enable-deprecated-symbols \
+ --enable-build-mode=$(usex debug debug production) \
+ --with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin" \
+ $(use_enable cxx) \
+ $(use_enable debug codestack) \
+ $(use_enable fortran) \
+ $(use_enable hl) \
+ $(use_enable mpi parallel) \
+ $(use_enable test tests) \
+ $(use_enable threads threadsafe) \
+ $(use_enable unsupported) \
+ $(use_with szip szlib) \
+ $(use_with threads pthread) \
+ $(use_with zlib)
+}
+
+src_install() {
+ emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/hdf5/hdf5-1.14.2.ebuild b/sci-libs/hdf5/hdf5-1.14.2.ebuild
new file mode 100644
index 000000000000..874a59f5ed76
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.14.2.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_P=${PN}-${PV/_p/-patch}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/"
+SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ !unsupported? (
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran !hl )
+ )
+"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( virtual/szip )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/hdf5-1.14.2-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
+ "${FILESDIR}"/hdf5-1.14.2-0002-Disable-forced-stripping.patch
+ "${FILESDIR}"/hdf5-1.14.2-0003-Drop-broken-Werror-stripping.patch
+)
+
+pkg_setup() {
+ # Workaround for bug 285148
+ tc-export CXX CC AR
+
+ use fortran && fortran-2_pkg_setup
+
+ 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() {
+ default
+
+ # 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
+ # bug #409091
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die
+ fi
+
+ # Enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+ hprefixify m4/libtool.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #686620
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+
+ econf \
+ --disable-static \
+ --enable-deprecated-symbols \
+ --enable-build-mode=$(usex debug debug production) \
+ --with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin" \
+ $(use_enable cxx) \
+ $(use_enable debug codestack) \
+ $(use_enable fortran) \
+ $(use_enable hl) \
+ $(use_enable mpi parallel) \
+ $(use_enable test tests) \
+ $(use_enable threads threadsafe) \
+ $(use_enable unsupported) \
+ $(use_with szip szlib) \
+ $(use_with threads pthread) \
+ $(use_with zlib)
+}
+
+src_install() {
+ emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/hdf5/hdf5-1.14.3-r1.ebuild b/sci-libs/hdf5/hdf5-1.14.3-r1.ebuild
new file mode 100644
index 000000000000..a5ec57304de1
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.14.3-r1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_P=${PN}-${PV/_p/-patch}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/"
+SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ !unsupported? (
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran !hl )
+ )
+"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( virtual/szip )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/hdf5-1.14.2-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
+ "${FILESDIR}"/hdf5-1.14.2-0002-Disable-forced-stripping.patch
+ "${FILESDIR}"/hdf5-1.14.2-0003-Drop-broken-Werror-stripping.patch
+)
+
+pkg_setup() {
+ # Workaround for bug 285148
+ tc-export CXX CC AR
+
+ use fortran && fortran-2_pkg_setup
+
+ 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() {
+ default
+
+ sed \
+ -e '/docdir/d' \
+ -i config/commence.am || die
+
+ if ! use examples; then
+ # bug #409091
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die
+ fi
+
+ # Enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+ hprefixify m4/libtool.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #686620
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+ # bug #922800, LTO failures:
+ filter-lto
+
+ local myeconfargs=(
+ --disable-static
+ --disable-doxygen-errors
+ --enable-deprecated-symbols
+ --enable-build-mode=$(usex debug debug production)
+ --with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin"
+ --with-examplesdir="\${datarootdir}/doc/${PF}/examples" \
+ $(use_enable cxx)
+ $(use_enable debug codestack)
+ $(use_enable fortran)
+ $(use_enable hl)
+ $(use_enable mpi parallel)
+ $(use_enable test tests)
+ $(use_enable threads threadsafe)
+ $(use_enable unsupported)
+ $(use_with szip szlib)
+ $(use_with threads pthread)
+ $(use_with zlib)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/hdf5/hdf5-1.14.4_p2.ebuild b/sci-libs/hdf5/hdf5-1.14.4_p2.ebuild
new file mode 100644
index 000000000000..e0e67c452ed5
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.14.4_p2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_PV=${PV/_p/-}
+MY_P=${PN}-${MY_PV}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/"
+SRC_URI="https://github.com/HDFGroup/hdf5/releases/download/${PN}_${MY_PV/-/.}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+# Upstream make SONAME changes all the time even within stable releases.
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ !unsupported? (
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran !hl )
+ )
+"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( virtual/szip )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/hdf5-1.14.4-0001-Make-sure-that-during-runtime-we-ll-use-the-same-lib.patch
+ "${FILESDIR}"/hdf5-1.14.4-0002-Disable-forced-stripping.patch
+ "${FILESDIR}"/hdf5-1.14.4-0003-Drop-broken-Werror-stripping.patch
+)
+
+pkg_setup() {
+ # Workaround for bug 285148
+ tc-export CXX CC AR
+
+ use fortran && fortran-2_pkg_setup
+
+ 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() {
+ default
+
+ sed \
+ -e '/docdir/d' \
+ -i config/commence.am || die
+
+ if ! use examples; then
+ # bug #409091
+ sed -e '/^install:/ s/install-examples//' \
+ -i Makefile.am || die
+ fi
+
+ # Enable shared libs by default for h5cc config utility
+ sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+ hprefixify m4/libtool.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # bug #686620
+ use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+
+ local myeconfargs=(
+ --disable-static
+ --disable-doxygen-errors
+ --enable-deprecated-symbols
+ --enable-build-mode=$(usex debug debug production)
+ --with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin"
+ --with-examplesdir="\${datarootdir}/doc/${PF}/examples" \
+ $(use_enable cxx)
+ $(use_enable debug codestack)
+ $(use_enable fortran)
+ $(use_enable hl)
+ $(use_enable mpi parallel)
+ $(use_enable test tests)
+ $(use_enable threads threadsafe)
+ $(use_enable unsupported)
+ $(use_with szip szlib)
+ $(use_with threads pthread)
+ $(use_with zlib)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+ # No static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/hdf5/metadata.xml b/sci-libs/hdf5/metadata.xml
index 2fa4f45de1bb..e36b723f3510 100644
--- a/sci-libs/hdf5/metadata.xml
+++ b/sci-libs/hdf5/metadata.xml
@@ -1,18 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</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="hl">Enable high level API (https://support.hdfgroup.org/HDF5/doc/HL/index.html)</flag>
- <flag name="unsupported">Enable unsupported combinations of configuration options</flag>
- </use>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</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="hl">Enable high level API (https://support.hdfgroup.org/HDF5/doc/HL/index.html)</flag>
+ <flag name="unsupported">Enable unsupported combinations of configuration options</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">HDFGroup/hdf5</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/hipBLAS/Manifest b/sci-libs/hipBLAS/Manifest
new file mode 100644
index 000000000000..21eceaa7bab4
--- /dev/null
+++ b/sci-libs/hipBLAS/Manifest
@@ -0,0 +1,3 @@
+DIST hipBLAS-5.1.3.tar.gz 526704 BLAKE2B d32d7029ea910c341e00dccab1ee9ab984518368cf38524f2264bb808cc1242b3d57db283937650f54460cb01174ec90f02c4bd66866cba4be5d0a1855814f0e SHA512 41dbc86b7ea53e7c0f1d629130f90b719f864ceddae972f1c68911e97b6233286f0c22c0fcfce049ae7db73a1ed41bdaf730040c72f1790fca367362c14ac707
+DIST hipBLAS-5.4.2.tar.gz 930814 BLAKE2B 702df09010b50652feb8f7e5741b27117aa58fc3e3b1b5f89f5043073a47581d1710f0831740453e84f7594b1b305e95d2681709898e5231c3eee2e8207404a3 SHA512 a941350d2d25022cf5142f68559242a048136bdd048dafcd544a0241cf3b510062273163f7a0eecc55f17ec47a1063d84d6102ca766ba7cde9b704eee5c44cd8
+DIST hipBLAS-5.7.1.tar.gz 669163 BLAKE2B e065f77eba0bb99d347f71920e733d30b7693f9eaf0c1f2a87a169360ccff23b8294e367eebfd6489440308b9bb1ae662c39617c5bb94275bf9b0ed60d555f85 SHA512 24c074f07865e1a3dfb0aca0b1d494e340a584ecb408813bb5b053f8282437cfd3644d730163f4faf1b93da306626ba68904141f9c3730a29749537fb7fd1a63
diff --git a/sci-libs/hipBLAS/hipBLAS-5.1.3.ebuild b/sci-libs/hipBLAS/hipBLAS-5.1.3.ebuild
new file mode 100644
index 000000000000..3ac3a0ae1200
--- /dev/null
+++ b/sci-libs/hipBLAS/hipBLAS-5.1.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+DESCRIPTION="ROCm BLAS marshalling library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipBLAS"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/hipBLAS-rocm-${PV}"
+
+src_prepare() {
+ sed -e "s:<INSTALL_INTERFACE\:include:<INSTALL_INTERFACE\:include/hipblas/:" -i library/src/CMakeLists.txt || die
+ sed -e "/PREFIX hipblas/d" -i library/src/CMakeLists.txt || die
+ sed -e "/rocm_install_symlink_subdir( hipblas )/d" -i library/src/CMakeLists.txt || die
+ sed -e "s:hipblas/include:include/hipblas:" -i library/src/CMakeLists.txt || die
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DBUILD_CLIENTS_TESTS=OFF # currently hipBLAS is a wrapper of rocBLAS which has tests, so no need to perform test here
+ -DBUILD_CLIENTS_BENCHMARKS=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/hipBLAS/hipBLAS-5.4.2.ebuild b/sci-libs/hipBLAS/hipBLAS-5.4.2.ebuild
new file mode 100644
index 000000000000..b61f8865b925
--- /dev/null
+++ b/sci-libs/hipBLAS/hipBLAS-5.4.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+DESCRIPTION="ROCm BLAS marshalling library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipBLAS"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/hipBLAS-rocm-${PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CLIENTS_TESTS=OFF # currently hipBLAS is a wrapper of rocBLAS which has tests, so no need to perform test here
+ -DBUILD_CLIENTS_BENCHMARKS=OFF
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
diff --git a/sci-libs/hipBLAS/hipBLAS-5.7.1.ebuild b/sci-libs/hipBLAS/hipBLAS-5.7.1.ebuild
new file mode 100644
index 000000000000..f5afa385cdee
--- /dev/null
+++ b/sci-libs/hipBLAS/hipBLAS-5.7.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+DESCRIPTION="ROCm BLAS marshalling library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipBLAS"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/hipBLAS-rocm-${PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ # currently hipBLAS is a wrapper of rocBLAS which has tests, so no need to perform test here
+ -DBUILD_CLIENTS_TESTS=OFF
+ -DBUILD_CLIENTS_BENCHMARKS=OFF
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
diff --git a/sci-libs/hipBLAS/metadata.xml b/sci-libs/hipBLAS/metadata.xml
new file mode 100644
index 000000000000..65b9259ded18
--- /dev/null
+++ b/sci-libs/hipBLAS/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/hipBLAS</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/hipCUB/Manifest b/sci-libs/hipCUB/Manifest
new file mode 100644
index 000000000000..7d95be621dad
--- /dev/null
+++ b/sci-libs/hipCUB/Manifest
@@ -0,0 +1,2 @@
+DIST hipCUB-5.1.3.tar.gz 278021 BLAKE2B f30e567370fea80ef63a455c2c27b3f4ff241e7e405688fa4dc33d1e0ce3dffb016a1a1523b20613a7963bff061758eac0c0d110243a9a6cedbc100bb087d7d4 SHA512 dd3ca341b78cf6985ba723feeeb560c0503ab283b63067e9a5e68d12ad42f752a7f56fd60f0f0c26c2853538853e09a102cfc6006c18c31c3162fa7b536ffb9f
+DIST hipCUB-5.7.1.tar.gz 322980 BLAKE2B a9b2a69b47661532858f18e7296ef37be41da814bb4886f7b8b444829e6ad1374d1c3117b57e7599095253ed56ea2403c895bb820dbde9cec77c28a041af3898 SHA512 7cf7dc819a3d8bac2cf70aa077616e65d785d76bae3ad3991db7b940a061f694ac82b1e4219aa16476351f1329e3f0d09a818b0ff0b9c5ad261937879c21dca8
diff --git a/sci-libs/hipCUB/files/hipCUB-4.3.0-add-memory-header.patch b/sci-libs/hipCUB/files/hipCUB-4.3.0-add-memory-header.patch
new file mode 100644
index 000000000000..c9991944101a
--- /dev/null
+++ b/sci-libs/hipCUB/files/hipCUB-4.3.0-add-memory-header.patch
@@ -0,0 +1,12 @@
+resolves compilation error: no template named 'shared_ptr' in namespace 'std'
+
+--- orig/benchmark/benchmark_device_radix_sort.cpp 2021-08-26 11:37:12.587196186 +0800
++++ hipCUB-rocm-4.3.0/benchmark/benchmark_device_radix_sort.cpp 2021-08-26 11:37:27.459196285 +0800
+@@ -21,6 +21,7 @@
+ // SOFTWARE.
+
+ #include "common_benchmark_header.hpp"
++#include <memory>
+
+ // HIP API
+ #include "hipcub/device/device_radix_sort.hpp"
diff --git a/sci-libs/hipCUB/hipCUB-5.1.3.ebuild b/sci-libs/hipCUB/hipCUB-5.1.3.ebuild
new file mode 100644
index 000000000000..4588711d36b2
--- /dev/null
+++ b/sci-libs/hipCUB/hipCUB-5.1.3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="Wrapper of rocPRIM or CUB for GPU parallel primitives"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipCUB"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-${PV}.tar.gz -> hipCUB-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}]
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/hipCUB-rocm-${PV}"
+
+PATCHES="${FILESDIR}/${PN}-4.3.0-add-memory-header.patch"
+
+src_prepare() {
+ sed -e "/PREFIX hipcub/d" \
+ -e "/DESTINATION/s:hipcub/include/:include/:" \
+ -e "/rocm_install_symlink_subdir(hipcub)/d" \
+ -e "/<INSTALL_INTERFACE/s:hipcub/include/:include/hipcub/:" -i hipcub/CMakeLists.txt || die
+
+ sed -e "s:\${ROCM_INSTALL_LIBDIR}:\${CMAKE_INSTALL_LIBDIR}:" -i cmake/ROCMExportTargetsHeaderOnly.cmake || die
+
+ # disable downloading googletest and googlebenchmark
+ sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ # remove GIT dependency
+ sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ if use benchmark; then
+ sed -e "/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \
+ -e "/add_executable/a\ install(TARGETS \${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die
+ fi
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild b/sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..8ff00b145b09
--- /dev/null
+++ b/sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="Wrapper of rocPRIM or CUB for GPU parallel primitives"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipCUB"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-${PV}.tar.gz -> hipCUB-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}]
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/hipCUB-rocm-${PV}"
+
+src_prepare() {
+ sed -e "s:set(ROCM_INSTALL_LIBDIR lib):set(ROCM_INSTALL_LIBDIR $(get_libdir)):" \
+ -i cmake/ROCMExportTargetsHeaderOnly.cmake || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ # uses HMM to fit tests to default <512M iGPU VRAM
+ MAKEOPTS="-j1" HIPCUB_USE_HMM="1" cmake_src_test
+}
diff --git a/sci-libs/hipCUB/metadata.xml b/sci-libs/hipCUB/metadata.xml
new file mode 100644
index 000000000000..5e18b914d070
--- /dev/null
+++ b/sci-libs/hipCUB/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCm-Developer-Tools/hipCUB</remote-id>
+ </upstream>
+ <use>
+ <flag name="benchmark">Build and install benchmark binaries.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/hipFFT/Manifest b/sci-libs/hipFFT/Manifest
new file mode 100644
index 000000000000..df28313d1787
--- /dev/null
+++ b/sci-libs/hipFFT/Manifest
@@ -0,0 +1,2 @@
+DIST hipFFT-rocm-5.1.3.tar.gz 89397 BLAKE2B 3c29d5d660e9f3db8afd8c9e524296c29f50faf06a5d6a58ec628b5cc5ddb47ac2b99f137c7bc5090a311189b44014ea2f6f1f7547d22506f5ba18f837fbeb68 SHA512 8d7a90630cd8bfeade9cb026e45b6b6c1ab9c96dba424559a7ced8c881cd45c1cb06d3f7e82c8e6558e4ccb8bb41b6278842057a0cf0957b0644b1139f2c9706
+DIST hipFFT-rocm-5.7.1.tar.gz 102616 BLAKE2B ee8d6dcb7924c8989987b02533126c4e4419d8dc83067a816f2253efe4537e094f1665d95699d4bf27f30cd13f3fc5df7d3b0062c267ecbdcbb3aad961fab6f6 SHA512 4bfd812fa1e949574b4170833755a435f47e893f0615b65d8d273af6e8f89ea4d28632a208de20321e834c8bc237b11816e2af0363b60adca9af736b9bc87465
diff --git a/sci-libs/hipFFT/files/hipFFT-4.3.0-add-complex-header.patch b/sci-libs/hipFFT/files/hipFFT-4.3.0-add-complex-header.patch
new file mode 100644
index 000000000000..200481788b95
--- /dev/null
+++ b/sci-libs/hipFFT/files/hipFFT-4.3.0-add-complex-header.patch
@@ -0,0 +1,11 @@
+diff --color -uprN orig/clients/rider/rider.cpp hipFFT-rocm-4.3.0/clients/rider/rider.cpp
+--- orig/clients/rider/rider.cpp 2021-08-26 15:05:32.267279103 +0800
++++ hipFFT-rocm-4.3.0/clients/rider/rider.cpp 2021-08-26 15:05:48.795279212 +0800
+@@ -22,6 +22,7 @@
+ #include <cstddef>
+ #include <iostream>
+ #include <numeric>
++#include <complex>
+ #include <random>
+ #include <sstream>
+
diff --git a/sci-libs/hipFFT/files/hipFFT-5.0.2-remove-git-dependency.patch b/sci-libs/hipFFT/files/hipFFT-5.0.2-remove-git-dependency.patch
new file mode 100644
index 000000000000..fb2c97936a42
--- /dev/null
+++ b/sci-libs/hipFFT/files/hipFFT-5.0.2-remove-git-dependency.patch
@@ -0,0 +1,35 @@
+Index: hipFFT-rocm-5.0.2/cmake/dependencies.cmake
+===================================================================
+--- hipFFT-rocm-5.0.2.orig/cmake/dependencies.cmake
++++ hipFFT-rocm-5.0.2/cmake/dependencies.cmake
+@@ -21,9 +21,6 @@
+ #
+ # #############################################################################
+
+-# Git
+-find_package(Git REQUIRED)
+-
+ # HIP
+ if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" )
+ if( NOT BUILD_WITH_LIB STREQUAL "CUDA" )
+Index: hipFFT-rocm-5.0.2/clients/CMakeLists.txt
+===================================================================
+--- hipFFT-rocm-5.0.2.orig/clients/CMakeLists.txt
++++ hipFFT-rocm-5.0.2/clients/CMakeLists.txt
+@@ -54,16 +54,6 @@ list( APPEND CMAKE_MODULE_PATH ${CMAKE_C
+
+ include( build-options )
+
+-if( GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git" )
+- message(STATUS "rocFFT submodule update")
+- execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
+- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/clients/rocFFT
+- RESULT_VARIABLE GIT_SUBMOD_RESULT)
+- if( NOT GIT_SUBMOD_RESULT EQUAL "0" )
+- message(FATAL_ERROR "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout submodules manually.")
+- endif( )
+-endif( )
+-
+ if( NOT EXISTS "${CMAKE_SOURCE_DIR}/clients/rocFFT/CMakeLists.txt" )
+ message(FATAL_ERROR "The rocFFT submodule is not present! Please update git submodules and try again. ${CMAKE_CURRENT_SOURCE_DIR}/clients/rocFFT/CMakeLists.txt")
+ endif( )
diff --git a/sci-libs/hipFFT/files/hipFFT-5.1.3-gentoo-install-locations.patch b/sci-libs/hipFFT/files/hipFFT-5.1.3-gentoo-install-locations.patch
new file mode 100644
index 000000000000..fe395de42f86
--- /dev/null
+++ b/sci-libs/hipFFT/files/hipFFT-5.1.3-gentoo-install-locations.patch
@@ -0,0 +1,29 @@
+Fix install location to meet FHS, and remove useless symlink
+===================================================================
+--- hipFFT-rocm-5.1.3.orig/library/CMakeLists.txt
++++ hipFFT-rocm-5.1.3/library/CMakeLists.txt
+@@ -81,7 +81,7 @@ target_include_directories( hipfft
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/library/include>
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
+ $<BUILD_INTERFACE:${HIP_INCLUDE_DIRS}>
+- $<INSTALL_INTERFACE:include>
++ $<INSTALL_INTERFACE:include/hipfft>
+ ${HIP_INCLUDE_DIRS}
+ )
+
+@@ -142,13 +142,11 @@ if( ROCM_FOUND )
+ rocm_install_targets( TARGETS hipfft
+ INCLUDE
+ ${CMAKE_SOURCE_DIR}/library/include
+- ${CMAKE_BINARY_DIR}/include
+- PREFIX hipfft )
++ ${CMAKE_BINARY_DIR}/include )
+ rocm_export_targets( TARGETS hip::hipfft
+- PREFIX hipfft
++ PREFIX .
+ DEPENDS PACKAGE hip
+ NAMESPACE hip:: )
+- rocm_install_symlink_subdir( hipfft )
+
+ # Package specific CPACK vars
+ if( NOT BUILD_WITH_LIB STREQUAL "CUDA" )
diff --git a/sci-libs/hipFFT/files/hipFFT-5.1.3_hip-config.patch b/sci-libs/hipFFT/files/hipFFT-5.1.3_hip-config.patch
new file mode 100644
index 000000000000..2f63a0f8e6f7
--- /dev/null
+++ b/sci-libs/hipFFT/files/hipFFT-5.1.3_hip-config.patch
@@ -0,0 +1,90 @@
+reverts the following commit.
+
+Upstream: https://github.com/ROCmSoftwarePlatform/hipFFT/pull/67
+
+commit 41491c9a70f808ed74690a538ca7bd25ff1ae1ca
+Author: Steve Leung <Steve.Leung@amd.com>
+Date: Wed Sep 1 11:25:26 2021 -0600
+
+ cmake: use HIP CONFIG on Windows
+
+diff --git a/clients/rider/CMakeLists.txt b/clients/rider/CMakeLists.txt
+index de1fc7d..8b88103 100644
+--- b/clients/rider/CMakeLists.txt
++++ a/clients/rider/CMakeLists.txt
+@@ -43,11 +43,7 @@
+
+ if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" )
+ if( NOT BUILD_WITH_LIB STREQUAL "CUDA" )
+- if( WIN32 )
+- find_package( HIP CONFIG REQUIRED )
+- else()
+- find_package( HIP MODULE REQUIRED )
+- endif()
++ find_package( HIP REQUIRED )
+ target_link_libraries( hipfft-rider PRIVATE hip::host )
+ else()
+
+diff --git a/clients/samples/CMakeLists.txt b/clients/samples/CMakeLists.txt
+index 5a882c6..37162ab 100644
+--- b/clients/samples/CMakeLists.txt
++++ a/clients/samples/CMakeLists.txt
+@@ -48,11 +48,7 @@
+ target_link_libraries( ${sample} PRIVATE hip::hipfft )
+
+ if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" )
+- if( WIN32 )
+- find_package( HIP CONFIG REQUIRED )
+- else()
+- find_package( HIP MODULE REQUIRED )
+- endif()
++ find_package( HIP REQUIRED )
+ if( NOT BUILD_WITH_LIB STREQUAL "CUDA" )
+ target_link_libraries( ${sample} PRIVATE hip::host )
+ else()
+diff --git a/clients/tests/CMakeLists.txt b/clients/tests/CMakeLists.txt
+index 2b965e2..0442a79 100644
+--- b/clients/tests/CMakeLists.txt
++++ a/clients/tests/CMakeLists.txt
+@@ -81,11 +81,7 @@
+
+ if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" )
+ if( NOT BUILD_WITH_LIB STREQUAL "CUDA" )
+- if( WIN32 )
+- find_package( HIP CONFIG REQUIRED )
+- else()
+- find_package( HIP MODULE REQUIRED )
+- endif()
++ find_package( HIP REQUIRED )
+ target_link_libraries( hipfft-test PRIVATE hip::host )
+ else()
+ target_compile_definitions( hipfft-test PRIVATE __HIP_PLATFORM_NVIDIA__)
+diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake
+index 022e3e4..0c8b3f8 100644
+--- b/cmake/dependencies.cmake
++++ a/cmake/dependencies.cmake
+@@ -27,22 +27,14 @@
+ # HIP
+ if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" )
+ if( NOT BUILD_WITH_LIB STREQUAL "CUDA" )
+- if( WIN32 )
+- find_package( HIP CONFIG REQUIRED )
+- else()
+- find_package( HIP MODULE REQUIRED )
+- endif()
++ find_package( HIP REQUIRED )
+ list( APPEND HIP_INCLUDE_DIRS "${HIP_ROOT_DIR}/include" )
+ endif()
+ else()
+ if( BUILD_WITH_LIB STREQUAL "CUDA" )
+ set(HIP_INCLUDE_DIRS "${HIP_ROOT_DIR}/include")
+ else()
+- if( WIN32 )
+- find_package( HIP CONFIG REQUIRED )
+- else()
+- find_package( HIP MODULE REQUIRED )
+- endif()
++ find_package( HIP REQUIRED )
+ endif()
+ endif()
+
diff --git a/sci-libs/hipFFT/files/hipFFT-5.7.1_hip-config.patch b/sci-libs/hipFFT/files/hipFFT-5.7.1_hip-config.patch
new file mode 100644
index 000000000000..71d75417c0d3
--- /dev/null
+++ b/sci-libs/hipFFT/files/hipFFT-5.7.1_hip-config.patch
@@ -0,0 +1,40 @@
+From c2b06a3b49257b3f89cf203895cf370e64e47b27 Mon Sep 17 00:00:00 2001
+From: trixirt <trix@redhat.com>
+Date: Mon, 31 Jul 2023 09:50:19 -0700
+Subject: [PATCH] Simplify finding the hip package
+
+On Fedora, where hip is installed as an rpm, its cmake files can
+not be found and are reported as an error.
+
+CMake Error at cmake/dependencies.cmake:44 (find_package):
+ No "FindHIP.cmake" found in CMAKE_MODULE_PATH.
+
+This change treats hip as a normal package.
+
+Signed-off-by: Tom Rix <trix@redhat.com>
+---
+ cmake/dependencies.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake
+index 262478d..5810e37 100644
+--- a/cmake/dependencies.cmake
++++ b/cmake/dependencies.cmake
+@@ -30,7 +30,7 @@ if( NOT CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" )
+ if( WIN32 )
+ find_package( HIP CONFIG REQUIRED )
+ else()
+- find_package( HIP MODULE REQUIRED )
++ find_package( HIP REQUIRED )
+ endif()
+ list( APPEND HIP_INCLUDE_DIRS "${HIP_ROOT_DIR}/include" )
+ endif()
+@@ -41,7 +41,7 @@ else()
+ if( WIN32 )
+ find_package( HIP CONFIG REQUIRED )
+ else()
+- find_package( HIP MODULE REQUIRED )
++ find_package( HIP REQUIRED )
+ endif()
+ endif()
+ endif()
diff --git a/sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild b/sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..79eb8052324f
--- /dev/null
+++ b/sci-libs/hipFFT/hipFFT-5.1.3-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="CU / ROCM agnostic hip FFT implementation"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipFFT"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${PV}.tar.gz -> hipFFT-rocm-${PV}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RESTRICT="test"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocFFT:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/hipFFT-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3_hip-config.patch"
+ "${FILESDIR}/${PN}-5.1.3-gentoo-install-locations.patch"
+ "${FILESDIR}/${PN}-5.0.2-remove-git-dependency.patch"
+ "${FILESDIR}/${PN}-4.3.0-add-complex-header.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_INCLUDEDIR="include/hipfft"
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_CLIENTS_TESTS=OFF
+ -DBUILD_CLIENTS_RIDER=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
diff --git a/sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild b/sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..aefdf2660b42
--- /dev/null
+++ b/sci-libs/hipFFT/hipFFT-5.7.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="CU / ROCM agnostic hip FFT implementation"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipFFT"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipFFT/archive/refs/tags/rocm-${PV}.tar.gz -> hipFFT-rocm-${PV}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RESTRICT="test"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocFFT:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/hipFFT-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.2-remove-git-dependency.patch"
+ "${FILESDIR}/${PN}-4.3.0-add-complex-header.patch"
+ "${FILESDIR}/${PN}-5.7.1_hip-config.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_CLIENTS_TESTS=OFF
+ -DBUILD_CLIENTS_RIDER=OFF
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
diff --git a/sci-libs/hipFFT/metadata.xml b/sci-libs/hipFFT/metadata.xml
new file mode 100644
index 000000000000..54e78eb20141
--- /dev/null
+++ b/sci-libs/hipFFT/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/hipFFT</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/hipRAND/Manifest b/sci-libs/hipRAND/Manifest
new file mode 100644
index 000000000000..39e54dc94d02
--- /dev/null
+++ b/sci-libs/hipRAND/Manifest
@@ -0,0 +1,2 @@
+DIST hipRAND-rocm-5.6.0.tar.gz 477597 BLAKE2B fdc88ac7076ab6b31ba794f9274881323fba32295bab5b90e38d8c8f336e0255b7d20dcba6e334b7bacd8b67eaac8a3ac6e11e3d490e7c95a973d16c9598922f SHA512 47d0cca92b458f8ef682b3c15fe4ccc5201370b1458e541080dc2150e98256962b78806c20b26d789b232d420eb305639fa50180e379ba123851d35d24d40cb2
+DIST hipRAND-rocm-5.7.1.tar.gz 478352 BLAKE2B 5f435cf53d213b1d95ee8b766df2c9bc4b4d590ccf63fe867bd033eeb4b7fef67e2bde22242525686a8dee59fd811363857312481e9cb3575357c612ab519a41 SHA512 b3c51728c1d7cc37760f49f36ab7765c166f105bc5b1b6ce65ac4a1de9bb70f8e2c10f5c41f89040288b09c9257d913d745a416bd4785b71f170a4f57e1f95e2
diff --git a/sci-libs/hipRAND/hipRAND-5.6.0-r1.ebuild b/sci-libs/hipRAND/hipRAND-5.6.0-r1.ebuild
new file mode 100644
index 000000000000..006440bb6a29
--- /dev/null
+++ b/sci-libs/hipRAND/hipRAND-5.6.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="CU / ROCM agnostic hip RAND implementation"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipRAND"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipRAND/archive/refs/tags/rocm-${PV}.tar.gz -> hipRAND-rocm-${PV}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RESTRICT="test"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/hipRAND-rocm-${PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
diff --git a/sci-libs/hipRAND/hipRAND-5.7.1.ebuild b/sci-libs/hipRAND/hipRAND-5.7.1.ebuild
new file mode 100644
index 000000000000..006440bb6a29
--- /dev/null
+++ b/sci-libs/hipRAND/hipRAND-5.7.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="CU / ROCM agnostic hip RAND implementation"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipRAND"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipRAND/archive/refs/tags/rocm-${PV}.tar.gz -> hipRAND-rocm-${PV}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RESTRICT="test"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}/hipRAND-rocm-${PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
diff --git a/sci-libs/hipRAND/metadata.xml b/sci-libs/hipRAND/metadata.xml
new file mode 100644
index 000000000000..27c8916b67d4
--- /dev/null
+++ b/sci-libs/hipRAND/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/hipRAND</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/hipSOLVER/Manifest b/sci-libs/hipSOLVER/Manifest
new file mode 100644
index 000000000000..44e9bd41301a
--- /dev/null
+++ b/sci-libs/hipSOLVER/Manifest
@@ -0,0 +1 @@
+DIST hipSOLVER-rocm-5.7.1.tar.gz 1516012 BLAKE2B 8d0966d34877978784b9872150283719602465c85036c3a74a72a2fe7c516b6029af3f4aefbc022088b2cf37bb1e0a450c0221aef0ac3227018020de340adfcd SHA512 f9c14b51ea582f17d1b323c7d066d9c0c95f4250f08515768d7a11067774fd2841fa3dec7354d3c98e56bd8dd53cff3b993c68b1d7df4b24f562b3afe9c4625e
diff --git a/sci-libs/hipSOLVER/hipSOLVER-5.7.1.ebuild b/sci-libs/hipSOLVER/hipSOLVER-5.7.1.ebuild
new file mode 100644
index 000000000000..fc195db69e10
--- /dev/null
+++ b/sci-libs/hipSOLVER/hipSOLVER-5.7.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="CU / ROCM agnostic marshalling library for LAPACK routines on the GPU"
+HOMEPAGE="https://github.com/ROCm/hipSOLVER"
+SRC_URI="https://github.com/ROCm/hipSOLVER/archive/refs/tags/rocm-${PV}.tar.gz -> hipSOLVER-rocm-${PV}.tar.gz"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+RESTRICT="test"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/hipSOLVER-rocm-${PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
diff --git a/sci-libs/hipSOLVER/metadata.xml b/sci-libs/hipSOLVER/metadata.xml
new file mode 100644
index 000000000000..dfd45574f216
--- /dev/null
+++ b/sci-libs/hipSOLVER/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/hipSOLVER</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/hipSPARSE/Manifest b/sci-libs/hipSPARSE/Manifest
new file mode 100644
index 000000000000..1876cfe32d71
--- /dev/null
+++ b/sci-libs/hipSPARSE/Manifest
@@ -0,0 +1,21 @@
+DIST hipSPARSE-5.1.tar.gz 449838 BLAKE2B 7727ecb9fa397e2730cfda4c9367188c37ad201d501b50129994869c6ef15b51cdf2d1f481f19f2f37cf0530f1ec3689c40a9651924f70fabe945d80732df64a SHA512 8b01c01a10b8419d14a532ebccfa5b5b5b5c3f6a6e73f3f0ecee58c7e240d2754485a9da020fe4693df3ef9fc08e5bb09b05396472ccbeebf89bc2635d94eb64
+DIST hipSPARSE-5.7.tar.gz 458521 BLAKE2B 94695ef3cf4294f571723e31ab5d4295b5aaa24528e90838375ee8477cf0957b297663d80e5fe3406762b475b6ef4741f9ccfb4dfb1448ce71ea4014da14b46e SHA512 bb28cd81b7ec298eb2e6462a8588ed93eee7b4892923b11087a91d1c32341f29f488fd4e6797debe51a989f463db31030eae02d07be6512d6b755367ba221aac
+DIST rocSPARSE_ASIC_320k.tar.gz 11301444 BLAKE2B a00cc4a3ededab3fb56339319e34e936645ddce2dee3c630153b37e337384c207b0a2829227fb7f4c2db1fe33383e97410ab7ad459d391c025f5410843d51cf2 SHA512 1db3af391c30a371c1ac0087436e266721474273a39d5b2b6d56408d950dcbbee004750e4dce4e3dbc4cb512f38f6d945676d7f29b62c52fd5a7fed0fe789e03
+DIST rocSPARSE_Chebyshev4.tar.gz 50165660 BLAKE2B f1a95554c8f38937f501488fabfd406b773eb980d7463cadac0de162529ac2f834c655cadd2b65f4c42a8487bc2d67c749601ae33bd789051f9e4d1e157196a0 SHA512 fdec4947a4af923d28b4be8d23690fd6d356c58f8344a5dcdd2e3fa61769d83e47a84d65316b527e6e82d9f988de2675a852367d406e44b44d784137a90b95c0
+DIST rocSPARSE_amazon0312.tar.gz 11303646 BLAKE2B 388947a29380253bb5eecb22d3a3b6f3378711044b3fe98d6d2517cd27330f11b3d12fdb96320a2889e139224f1a6a5ad1c455ff8e91a262aa2aadbe16301330 SHA512 aed2d62581763742d9c7faf3dcaf1eaa983caa1e2e7ad4abebe97c5e7c2aec9942e0e32291092b348b60052c92b130e721ec19ed59bda22e1b233ef72ac7d2ff
+DIST rocSPARSE_bibd_22_8.tar.gz 20548479 BLAKE2B b6d0f7b7eb9c3b4ccade55313ca29f5706dde264c03d5d342f16ff27d7cf38ff2648dabea0342683257a6bb16cae85259c7e102a56c70d1e81c8a334c36f3d91 SHA512 3df85485f679c82e7554e8f6dff9d498bc9135bfc70aa81e85d83dbef457f31831dfc23b8d83425289329efc45fdcd41eef1e79f5205500479992892bbcf11fe
+DIST rocSPARSE_bmwcra_1.tar.gz 67958791 BLAKE2B 8be4e73cf837fd717e77042c416dee81995cd39bae39bdc1b7f6e6b309ee263130774f030ce7883ae89234227fec115d0178cfe1b2589af79fde6e2a3270b01c SHA512 049722d3524fb7397c4f00ce9a034e75612b839353bbbd7b963900ec19eeb5a4ec54a780882b4929fc4dd6932efb2f676432d444c3d256f9b57d5f392e5241ca
+DIST rocSPARSE_mac_econ_fwd500.tar.gz 12051668 BLAKE2B cd59723ea4fa8b0b4024c3534b3c3b42541754353319eca88628ca8216fb619dce3b1e774d6b823155c8afc9b5a65b3ea113edb36f6141c72e1189e97bfcbd37 SHA512 f279d2d71c92456bb0a5168bf3d8bc77eb991f4cbef6eea2c98d038be9ab2f2b576480e081099f766fe888480e91026a619a8de9d04758c26ee316ac4a09fdb5
+DIST rocSPARSE_mc2depi.tar.gz 10874561 BLAKE2B 89fd12479a76a9ec2f488aeadcf58688a2bf9dbc0e1065a7002b0a458bfa48704711ab69d1be6a25396c3c3e48ee4f6b6866984c1ff76074619898eeebb951bc SHA512 82e5bd935d5d6fb83801b5a7848bf7dc636459ba7b14b327a135c5e88528bdc47e4822927aa44c8e21316b538e5f6563024152253c5deb606dbaec77ff986594
+DIST rocSPARSE_nos1.tar.gz 3025 BLAKE2B cb0630782e996fd8717f845dfecc979abf9d59e5573c00226990a9575a9ec4b14d25197c3a0602baa5bf3e9073e14484374f28ce43108e3df680c1f62995cc77 SHA512 6eb5b65ba2230bb2468d93526990772ce7508faffe0fa5b0c5767859cd0fb0acbdc2d94dab3e5097a4a47dc4d7b0313891037d8a29720eb803cfaf26ae529495
+DIST rocSPARSE_nos2.tar.gz 10313 BLAKE2B 15e83686358285746b4d51e4d69d27bf058ea29aa448745fde76e3cb9ed6f1f8612f94739d980ff830e3610da7a9afe8ee9f6eb86e28e41bf8df74032a23ad63 SHA512 2e50b3bf99e2bedb1eabf58d0293bf9484713204340b2f68ae919d9e842a8c6e4ca917b7d61d4e171ae9e4002ced034913d83c5de6e75f16dae9079467cc424a
+DIST rocSPARSE_nos3.tar.gz 34282 BLAKE2B 741257a8c0945cfacce808ad56ee5c306a6d7ea96c8c36183bd3b5b24ddef586d78bbfb5dfdb251ab8e6905842b63ebfa9c481c272d598ff195558248a566e01 SHA512 cb260dec5947765004f497249c0b46d15271e2dd69e99bc2925352d52ac75d27bb9635b1d4bb445b1d79de03aa6803a219a5c80a242fcf7ff74c7e80c0f8f59c
+DIST rocSPARSE_nos4.tar.gz 1760 BLAKE2B 24b9dadfd42a6c5f1988c98ef01319d8ae20f447293ce334723f9290f76b878311df4e0ae0fe7788081f27303359392b8694e06b7dc0a64a69fac00a3168d59a SHA512 2f0c40c971d5eea986efc389fc6770f5e8099c8924c7221b1c46ab0be44641d499f20d536b313999d2b31b356568255c98cbba3b0804a00de18a95a052431e0b
+DIST rocSPARSE_nos5.tar.gz 13125 BLAKE2B 3b5e7166dfae258e9b6667eaa7b172d862eb3fc755751f6f9e63e76b16b5a0b14bf2f58a59ed5513fc641eb7df7f478e1cacc45940a6a49ec87eb1007c3209c3 SHA512 6151b9de84498495f3e03d11ff26d7013b5109068474abbee6018b3fe90a5e518823a06a9cc8c62013cd61925061b45d3f5aabaa01da61286665039d8cb06655
+DIST rocSPARSE_nos6.tar.gz 7644 BLAKE2B 1690af9969bcd2eee760571874a04e36ef4dd76a8349a307c0cc4d02cbc59ed12df0646509528e3b136836230d887a8eb4e1095b7423737a3831e5680ea07e9e SHA512 22dbbb825648948fd3d2eb7a2ca8c45d6746b5b386406b1dacbeb575f1ebeeb14ff49f62e5fbdc8a784def398c319f810537991180740f6efffe4e94fdb15aef
+DIST rocSPARSE_nos7.tar.gz 9639 BLAKE2B 5d63cfbe45f2f968a62cd8bcf0c25b831f485cd9dd0d95bdb248ab7b62ab67476c60ed8a4ad811f7db158a893e08a753beb3b1e7ed6f727219b985d932570eb0 SHA512 39109bbe3d0d791a0a2eeb272f2359bad34332191c53db7487a01770ac4c7ea1af2cc5e05a0ff5744f413113b7fcbe493a36cfc880436af274fe7dc6c39d6e11
+DIST rocSPARSE_rma10.tar.gz 19466055 BLAKE2B bb8ac5fe06bb6d7814864b3d43f9ddd1d2daafe55c31bdd9153cf6744d3d113fff878c4396a26d1a021bf9612c08798964c3bd9de8ea9829b202b912fb31db2e SHA512 c8ce8fc8fa7192ba2ac240439c90701080a590945dfb92bb80886f513205a0360ff8e5fd19819ad97d1eb58c3d83b57e5482e5361199cc9626e2afee8d84f4ac
+DIST rocSPARSE_scircuit.tar.gz 8635362 BLAKE2B 3f1d6e35a6a774664bd653dd466fa3c07818bfdee4a2633bfcacd5936569194863753fe7ebd0e1497ecdabbc716617ca6012801242e8d733f5d5d189e8d3feb2 SHA512 4949c869c17a66f19660cbe21b61615fb468d5afb1a773f9d6fe09cbc45b4c6245b647148dbab102b45599c53acaf4ed96ab815e17e538068c927a4d25b9bd2a
+DIST rocSPARSE_shipsec1.tar.gz 22175245 BLAKE2B f1d34482b8c3d3ee48033097d7d6f9b648e3c396a5ab2379efdc7de218adec519a235e2e94904f85a4f24c8d4ff15af096ca089379e00db47519023f64b85c16 SHA512 e027097e74f8ffc058339855b1c38cab52c68b661058318b429487e7188e11e907f6734894f9c71d1e38d262986525fba8d0f165bc0a1b4632d7e25be8db4f17
+DIST rocSPARSE_sme3Dc.tar.gz 42483568 BLAKE2B f0d16b58f6ea28e67727637697a812a0b10d524c73aeb82f702411b9ebaea3670780e762ed0701aae80c6829e950233f74555523ef2d6c5740b007c7a65c03d4 SHA512 c5a0be2db919a45310a73ea1dd96d0d30168135f887a8c5c3d7ca11e2c3d12ea7d1331be20968d0135bd18da4ef2b043db68eeb7567b6f0f8daf782b87083c3a
+DIST rocSPARSE_webbase-1M.tar.gz 11360460 BLAKE2B 01b1d06adb5fb32fa402ed888d25a7e52a34779b078fc2e21c60e688d03579bb4ca8694f5ee4a824f7859952d55590a1fd9449dc80d6fe894d7b662b918882d4 SHA512 6401a965b8f6dd5392879956fde3c94f77fe1801a4a43428c03b6d639031575c647eab47b1babe53f4ecc2c3b8fc183e8339536b78dcd0d94ce62bfedd87c161
diff --git a/sci-libs/hipSPARSE/files/hipSPARSE-5.0.2-remove-matrices-unpacking.patch b/sci-libs/hipSPARSE/files/hipSPARSE-5.0.2-remove-matrices-unpacking.patch
new file mode 100644
index 000000000000..021e10b7ab2c
--- /dev/null
+++ b/sci-libs/hipSPARSE/files/hipSPARSE-5.0.2-remove-matrices-unpacking.patch
@@ -0,0 +1,126 @@
+Adopted from 4.3.0 patch to remove downloads during test.
+
+Ultimately the to be downloaded matrices should be in DISTFILES.
+
+Index: hipSPARSE-rocm-5.0.2/clients/tests/CMakeLists.txt
+===================================================================
+--- hipSPARSE-rocm-5.0.2.orig/clients/tests/CMakeLists.txt
++++ hipSPARSE-rocm-5.0.2/clients/tests/CMakeLists.txt
+@@ -23,117 +23,6 @@
+
+ find_package(GTest REQUIRED)
+
+-# Download some test matrices
+-set(TEST_MATRICES
+- SNAP/amazon0312
+- Muite/Chebyshev4
+- FEMLAB/sme3Dc
+- Williams/webbase-1M
+- Bova/rma10
+- JGD_BIBD/bibd_22_8
+- Williams/mac_econ_fwd500
+- Williams/mc2depi
+- Hamm/scircuit
+- Sandia/ASIC_320k
+- GHS_psdef/bmwcra_1
+- HB/nos1
+- HB/nos2
+- HB/nos3
+- HB/nos4
+- HB/nos5
+- HB/nos6
+- HB/nos7
+- DNVS/shipsec1
+-)
+-
+-set(TEST_MD5HASH
+- f567e5f5029d052e3004bc69bb3f13f5
+- e39879103dafab21f4cf942e0fe42a85
+- a95eee14d980a9cfbbaf5df4a3c64713
+- 2d4c239daad6f12d66a1e6a2af44cbdb
+- a899a0c48b9a58d081c52ffd88a84955
+- 455d5b699ea10232bbab5bc002219ae6
+- f1b0e56fbb75d1d6862874e3d7d33060
+- 8c8633eada6455c1784269b213c85ea6
+- 3e62f7ea83914f7e20019aefb2a5176f
+- fcfaf8a25c8f49b8d29f138f3c65c08f
+- 8a3cf5448a4fe73dcbdb5a16b326715f
+- b203f7605cb1f20f83280061068f7ec7
+- b0f812ffcc9469f0bf9be701205522c4
+- f185514062a0eeabe86d2909275fe1dc
+- 04b781415202db404733ca0c159acbef
+- c98e35f1cfd1ee8177f37bdae155a6e7
+- c39375226aa5c495293003a5f637598f
+- 9a6481268847e6cf0d70671f2ff1ddcd
+- 73372e7d6a0848f8b19d64a924fab73e
+-)
+-
+-if(NOT TARGET hipsparse)
+- set(CONVERT_SOURCE ${CMAKE_SOURCE_DIR}/../deps/convert.cpp)
+-else()
+- set(CONVERT_SOURCE ${CMAKE_SOURCE_DIR}/deps/convert.cpp)
+-endif()
+-
+-if(BUILD_ADDRESS_SANITIZER)
+- execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CONVERT_SOURCE} -O3 -fsanitize=address -shared-libasan -o ${PROJECT_BINARY_DIR}/mtx2csr.exe)
+-else()
+- execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CONVERT_SOURCE} -O3 -o ${PROJECT_BINARY_DIR}/mtx2csr.exe)
+-endif()
+-
+-list(LENGTH TEST_MATRICES len)
+-math(EXPR len1 "${len} - 1")
+-
+-foreach(i RANGE 0 ${len1})
+- list(GET TEST_MATRICES ${i} m)
+- list(GET TEST_MD5HASH ${i} md5)
+-
+- string(REPLACE "/" ";" sep_m ${m})
+- list(GET sep_m 0 dir)
+- list(GET sep_m 1 mat)
+-
+- # Download test matrices if not already downloaded
+- set(CMAKE_MATRICES_DIR ${PROJECT_BINARY_DIR}/matrices)
+- if(NOT EXISTS "${CMAKE_MATRICES_DIR}/${mat}.bin")
+- message("-- Downloading and extracting test matrix ${m}.tar.gz")
+- file(DOWNLOAD https://sparse.tamu.edu/MM/${m}.tar.gz ${CMAKE_MATRICES_DIR}/${mat}.tar.gz
+- INACTIVITY_TIMEOUT 3
+- STATUS DL)
+-
+- list(GET DL 0 stat)
+- list(GET DL 1 msg)
+-
+- if(NOT stat EQUAL 0)
+- message("-- Timeout has been reached, trying mirror ...")
+- # Try again using ufl links
+- file(DOWNLOAD https://www.cise.ufl.edu/research/sparse/MM/${m}.tar.gz ${CMAKE_MATRICES_DIR}/${mat}.tar.gz
+- INACTIVITY_TIMEOUT 3
+- STATUS DL)
+-
+- list(GET DL 0 stat)
+- list(GET DL 1 msg)
+-
+- if(NOT stat EQUAL 0)
+- message(FATAL_ERROR "${msg}")
+- endif()
+- endif()
+-
+- # Check MD5 hash before continuing
+- file(MD5 ${CMAKE_MATRICES_DIR}/${mat}.tar.gz hash)
+-
+- # Compare hash
+- if(NOT hash STREQUAL md5)
+- message(FATAL_ERROR "${mat}.tar.gz is corrupted")
+- endif()
+- execute_process(COMMAND tar xf ${mat}.tar.gz WORKING_DIRECTORY ${CMAKE_MATRICES_DIR})
+-
+- file(RENAME ${CMAKE_MATRICES_DIR}/${mat}/${mat}.mtx ${CMAKE_MATRICES_DIR}/${mat}.mtx)
+- execute_process(COMMAND ${PROJECT_BINARY_DIR}/mtx2csr.exe ${mat}.mtx ${mat}.bin WORKING_DIRECTORY ${CMAKE_MATRICES_DIR})
+- # TODO: add 'COMMAND_ERROR_IS_FATAL ANY' once cmake supported version is 3.19
+- file(REMOVE_RECURSE ${CMAKE_MATRICES_DIR}/${mat}.tar.gz ${CMAKE_MATRICES_DIR}/${mat} ${CMAKE_MATRICES_DIR}/${mat}.mtx)
+-
+- endif()
+-endforeach()
+-
+ set(HIPSPARSE_TEST_SOURCES
+ hipsparse_gtest_main.cpp
+ test_axpyi.cpp
diff --git a/sci-libs/hipSPARSE/hipSPARSE-5.1.3-r1.ebuild b/sci-libs/hipSPARSE/hipSPARSE-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..d0d519b18ce6
--- /dev/null
+++ b/sci-libs/hipSPARSE/hipSPARSE-5.1.3-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm toolchain-funcs
+
+DESCRIPTION="ROCm SPARSE marshalling library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipSPARSE"
+# share some test datasets with rocSPARSE
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-${PV}.tar.gz -> hipSPARSE-$(ver_cut 1-2).tar.gz
+test? (
+https://sparse.tamu.edu/MM/SNAP/amazon0312.tar.gz -> rocSPARSE_amazon0312.tar.gz
+https://sparse.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> rocSPARSE_Chebyshev4.tar.gz
+https://sparse.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> rocSPARSE_sme3Dc.tar.gz
+https://sparse.tamu.edu/MM/Williams/webbase-1M.tar.gz -> rocSPARSE_webbase-1M.tar.gz
+https://sparse.tamu.edu/MM/Bova/rma10.tar.gz -> rocSPARSE_rma10.tar.gz
+https://sparse.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> rocSPARSE_bibd_22_8.tar.gz
+https://sparse.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> rocSPARSE_mac_econ_fwd500.tar.gz
+https://sparse.tamu.edu/MM/Williams/mc2depi.tar.gz -> rocSPARSE_mc2depi.tar.gz
+https://sparse.tamu.edu/MM/Hamm/scircuit.tar.gz -> rocSPARSE_scircuit.tar.gz
+https://sparse.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> rocSPARSE_ASIC_320k.tar.gz
+https://sparse.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> rocSPARSE_bmwcra_1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos1.tar.gz -> rocSPARSE_nos1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos2.tar.gz -> rocSPARSE_nos2.tar.gz
+https://sparse.tamu.edu/MM/HB/nos3.tar.gz -> rocSPARSE_nos3.tar.gz
+https://sparse.tamu.edu/MM/HB/nos4.tar.gz -> rocSPARSE_nos4.tar.gz
+https://sparse.tamu.edu/MM/HB/nos5.tar.gz -> rocSPARSE_nos5.tar.gz
+https://sparse.tamu.edu/MM/HB/nos6.tar.gz -> rocSPARSE_nos6.tar.gz
+https://sparse.tamu.edu/MM/HB/nos7.tar.gz -> rocSPARSE_nos7.tar.gz
+https://sparse.tamu.edu/MM/DNVS/shipsec1.tar.gz -> rocSPARSE_shipsec1.tar.gz
+)"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0"/$(ver_cut 1-2)
+IUSE="test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/rocminfo
+ dev-util/hip
+ sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-build/rocm-cmake
+ >=dev-build/cmake-3.22
+ test? ( dev-cpp/gtest )"
+
+S="${WORKDIR}/hipSPARSE-rocm-${PV}"
+
+PATCHES=( "${FILESDIR}/${PN}-5.0.2-remove-matrices-unpacking.patch" )
+
+src_prepare() {
+ sed -e "s/PREFIX hipsparse//" \
+ -e "/<INSTALL_INTERFACE/s,include,include/hipsparse," \
+ -e "s:rocm_install_symlink_subdir(hipsparse):#rocm_install_symlink_subdir(hipsparse):" \
+ -i library/CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ # remove GIT dependency
+ sed -e "/find_package(Git/d" -i cmake/Dependencies.cmake || die
+
+ # Fix install path
+ sed -i -e "s.set(CMAKE_INSTALL_LIBDIR.#set(CMAKE_INSTALL_LIBDIR." CMakeLists.txt || die
+
+ if use test; then
+ mkdir -p "${BUILD_DIR}"/clients/matrices
+ # compile and use the mtx2bin converter. Do not use any optimization flags!
+ edo $(tc-getCXX) deps/convert.cpp -o deps/convert
+ find "${WORKDIR}" -maxdepth 2 -regextype grep -E -regex ".*/(.*)/\1\.mtx" -print0 |
+ while IFS= read -r -d '' mtxfile; do
+ destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' ${mtxfile}).bin
+ ebegin "Converting ${mtxfile} to ${destination}"
+ deps/convert ${mtxfile} ${destination}
+ eend $?
+ done
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DHIP_RUNTIME="ROCclr"
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_SAMPLES=OFF
+ -DCMAKE_INSTALL_INCLUDEDIR=include/hipsparse
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ edob ./${PN,,}-test
+}
diff --git a/sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild b/sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild
new file mode 100644
index 000000000000..b3aa027c2624
--- /dev/null
+++ b/sci-libs/hipSPARSE/hipSPARSE-5.7.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm toolchain-funcs
+
+DESCRIPTION="ROCm SPARSE marshalling library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipSPARSE"
+# share some test datasets with rocSPARSE
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-${PV}.tar.gz -> hipSPARSE-$(ver_cut 1-2).tar.gz
+test? (
+https://sparse.tamu.edu/MM/SNAP/amazon0312.tar.gz -> rocSPARSE_amazon0312.tar.gz
+https://sparse.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> rocSPARSE_Chebyshev4.tar.gz
+https://sparse.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> rocSPARSE_sme3Dc.tar.gz
+https://sparse.tamu.edu/MM/Williams/webbase-1M.tar.gz -> rocSPARSE_webbase-1M.tar.gz
+https://sparse.tamu.edu/MM/Bova/rma10.tar.gz -> rocSPARSE_rma10.tar.gz
+https://sparse.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> rocSPARSE_bibd_22_8.tar.gz
+https://sparse.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> rocSPARSE_mac_econ_fwd500.tar.gz
+https://sparse.tamu.edu/MM/Williams/mc2depi.tar.gz -> rocSPARSE_mc2depi.tar.gz
+https://sparse.tamu.edu/MM/Hamm/scircuit.tar.gz -> rocSPARSE_scircuit.tar.gz
+https://sparse.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> rocSPARSE_ASIC_320k.tar.gz
+https://sparse.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> rocSPARSE_bmwcra_1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos1.tar.gz -> rocSPARSE_nos1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos2.tar.gz -> rocSPARSE_nos2.tar.gz
+https://sparse.tamu.edu/MM/HB/nos3.tar.gz -> rocSPARSE_nos3.tar.gz
+https://sparse.tamu.edu/MM/HB/nos4.tar.gz -> rocSPARSE_nos4.tar.gz
+https://sparse.tamu.edu/MM/HB/nos5.tar.gz -> rocSPARSE_nos5.tar.gz
+https://sparse.tamu.edu/MM/HB/nos6.tar.gz -> rocSPARSE_nos6.tar.gz
+https://sparse.tamu.edu/MM/HB/nos7.tar.gz -> rocSPARSE_nos7.tar.gz
+https://sparse.tamu.edu/MM/DNVS/shipsec1.tar.gz -> rocSPARSE_shipsec1.tar.gz
+)"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0"/$(ver_cut 1-2)
+IUSE="test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/rocminfo
+ dev-util/hip
+ sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-build/rocm-cmake
+ >=dev-build/cmake-3.22
+ test? ( dev-cpp/gtest )"
+
+S="${WORKDIR}/hipSPARSE-rocm-${PV}"
+
+src_prepare() {
+ sed -e "s/PREFIX hipsparse//" \
+ -e "/<INSTALL_INTERFACE/s,include,include/hipsparse," \
+ -e "s:rocm_install_symlink_subdir(hipsparse):#rocm_install_symlink_subdir(hipsparse):" \
+ -i library/CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ # remove GIT dependency
+ sed -e "/find_package(Git/d" -i cmake/Dependencies.cmake || die
+
+ # Fix install path
+ sed -i -e "s.set(CMAKE_INSTALL_LIBDIR.#set(CMAKE_INSTALL_LIBDIR." CMakeLists.txt || die
+
+ if use test; then
+ mkdir -p "${BUILD_DIR}"/clients/matrices
+ # compile and use the mtx2bin converter. Do not use any optimization flags!
+ edo $(tc-getCXX) deps/convert.cpp -o deps/convert
+ find "${WORKDIR}" -maxdepth 2 -regextype grep -E -regex ".*/(.*)/\1\.mtx" -print0 |
+ while IFS= read -r -d '' mtxfile; do
+ destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' ${mtxfile}).bin
+ ebegin "Converting ${mtxfile} to ${destination}"
+ deps/convert ${mtxfile} ${destination}
+ eend $?
+ done
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DHIP_RUNTIME="ROCclr"
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_SAMPLES=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ edob ./${PN,,}-test
+}
diff --git a/sci-libs/hipSPARSE/metadata.xml b/sci-libs/hipSPARSE/metadata.xml
new file mode 100644
index 000000000000..693bc03ef766
--- /dev/null
+++ b/sci-libs/hipSPARSE/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/hipSPARSE</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/htslib/Manifest b/sci-libs/htslib/Manifest
index e89bbbd83014..23cea03c57b1 100644
--- a/sci-libs/htslib/Manifest
+++ b/sci-libs/htslib/Manifest
@@ -1,2 +1,2 @@
-DIST htslib-1.10.2.tar.bz2 1306320 BLAKE2B f877bd9c160921f498f4160f687094a1a369732bc9f61cd94a3c9ca311fa9f865505a205e38e0d348a1010b627f1ef07b590cd7e69c945df1d804133b17b2fd1 SHA512 3ecb83b0abccf731cd42b889e352e10dd922524f6e78bcafb04f8c6c71457b0dc1f5f22690b36f03cce7d97a6a905db286243ef4858138068dcac368e4ae1075
-DIST htslib-1.9.tar.bz2 1178859 BLAKE2B a0229313d3572717101f4f23d39fa124f3bb38d8b2e65055f4f801dbb5f1549df95115e8beadd8fa024171b3ff8a874d20087bf71819c36700666f168dbe41ab SHA512 ddb0e2d970e4c2c27e203b064898f95cb7c187cd497c02fc7b4312dcea25669d0b6063d537687521e7a065f6daefa1ae897add2df4981037a187b499d08fdef7
+DIST htslib-1.17.tar.bz2 4619884 BLAKE2B c45591b3f1da4f6ddfdf5e1a20864583d57de2a460d42049715335fce7dafe1f5cd14403e6033fee4f9d0bfc75f8777b5835d2d01bf2cadff0155d9fc92b97d9 SHA512 624ab449d57713dab2d34399926c065f8cff8a45e6fbe68e0bb518c601421f587b613caeb095f8639b1d67cdb4a65d658c85f942173bcaa48da026fe15def5d3
+DIST htslib-1.19.1.tar.bz2 4775086 BLAKE2B 3af6770ade9505a3c71f6d522c0971eb77ea2549670043a539a2a4681e583554dc154b9b9fb33f1faa94be336a09945a28c57aa4bcfe0f39b03dd7585c49269a SHA512 a40de47ecae68756c158c1c7b578fa2a5c13bf6f98626e863af31a20d7880ffd415d966280c00bfe726f496d913eb0fcf014dd4beb8c1dbe36ed9735a48bd01e
diff --git a/sci-libs/htslib/htslib-1.10.2.ebuild b/sci-libs/htslib/htslib-1.10.2.ebuild
deleted file mode 100644
index 67a341be70e3..000000000000
--- a/sci-libs/htslib/htslib-1.10.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit 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"
-
-LICENSE="MIT"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+bzip2 curl +lzma"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2:= )
- curl? ( net-misc/curl )
- lzma? ( app-arch/xz-utils:= )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- # upstream injects LDFLAGS into the .pc file,
- # which is a big nono for QA
- sed -e '/^\(static_l\|Libs.private\|Requires.private\)/d' \
- -i htslib.pc.in || die
-}
-
-src_configure() {
- econf \
- --disable-gcs \
- --disable-plugins \
- --disable-s3 \
- $(use_enable bzip2 bz2) \
- $(use_enable curl libcurl) \
- $(use_enable lzma)
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- default
-
- # doesn't use libtool, can't disable static libraries
- find "${ED}" -name '*.a' -delete || die
-}
diff --git a/sci-libs/htslib/htslib-1.17.ebuild b/sci-libs/htslib/htslib-1.17.ebuild
new file mode 100644
index 000000000000..6f690363326b
--- /dev/null
+++ b/sci-libs/htslib/htslib-1.17.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C library for high-throughput sequencing data formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 curl +lzma"
+
+RDEPEND="
+ sys-libs/zlib
+ bzip2? ( app-arch/bzip2 )
+ curl? ( net-misc/curl )
+ lzma? ( app-arch/xz-utils )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ # upstream injects LDFLAGS into the .pc file,
+ # which is a big nono for QA
+ sed -e '/^\(static_l\|Libs.private\|Requires.private\)/d' \
+ -i htslib.pc.in || die
+}
+
+src_configure() {
+ econf \
+ --disable-gcs \
+ --disable-plugins \
+ --disable-s3 \
+ $(use_enable bzip2 bz2) \
+ $(use_enable curl libcurl) \
+ $(use_enable lzma)
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ # doesn't use libtool, can't disable static libraries
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/sci-libs/htslib/htslib-1.19.1.ebuild b/sci-libs/htslib/htslib-1.19.1.ebuild
new file mode 100644
index 000000000000..2a38fa8634c8
--- /dev/null
+++ b/sci-libs/htslib/htslib-1.19.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C library for high-throughput sequencing data formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 curl +lzma"
+
+RDEPEND="
+ sys-libs/zlib
+ bzip2? ( app-arch/bzip2 )
+ curl? ( net-misc/curl )
+ lzma? ( app-arch/xz-utils )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ # upstream injects LDFLAGS into the .pc file,
+ # which is a big nono for QA
+ sed -e '/^\(static_l\|Libs.private\|Requires.private\)/d' \
+ -i htslib.pc.in || die
+}
+
+src_configure() {
+ econf \
+ --disable-gcs \
+ --disable-plugins \
+ --disable-s3 \
+ $(use_enable bzip2 bz2) \
+ $(use_enable curl libcurl) \
+ $(use_enable lzma)
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ # doesn't use libtool, can't disable static libraries
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/sci-libs/htslib/htslib-1.9.ebuild b/sci-libs/htslib/htslib-1.9.ebuild
deleted file mode 100644
index ea70899c061c..000000000000
--- a/sci-libs/htslib/htslib-1.9.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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/2"
-LICENSE="MIT"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="+bzip2 curl +lzma static-libs"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2:= )
- curl? ( net-misc/curl )
- lzma? ( app-arch/xz-utils:= )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- # upstream injects LDFLAGS into the .pc file,
- # which is a big nono for QA
- sed 's/private_LIBS=$LDFLAGS/private_LIBS=""/g' -i configure || die
-}
-
-src_configure() {
- econf \
- --disable-gcs \
- --disable-plugins \
- --disable-s3 \
- $(use_enable bzip2 bz2) \
- $(use_enable curl libcurl) \
- $(use_enable lzma)
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.a' -delete || die
- fi
-}
diff --git a/sci-libs/htslib/metadata.xml b/sci-libs/htslib/metadata.xml
index 5b953af488ad..1950263f31e1 100644
--- a/sci-libs/htslib/metadata.xml
+++ b/sci-libs/htslib/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci-biology@gentoo.org</email>
- <name>Gentoo Biology Project</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">samtools</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">samtools/htslib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/huggingface_hub/Manifest b/sci-libs/huggingface_hub/Manifest
new file mode 100644
index 000000000000..3c604dceedeb
--- /dev/null
+++ b/sci-libs/huggingface_hub/Manifest
@@ -0,0 +1,2 @@
+DIST huggingface_hub-0.20.3.gh.tar.gz 3276706 BLAKE2B 2dd9fe557db4e88481bcc675dd1d6d35ec26244b723ea6bed01555e20fcba1dfa269ab3a1de9c8afa21d25b57550f822ca05bfd9d54db7e7b4740116c5ea3469 SHA512 b6eb9875da4d3c0b7190e61beee14ba913fb0f967967a70a6a65e5d42881e06710fb132e471c6e9b0ea1cd0987b2ebd31754d90aded3a84f4ddcfb0a0efe2f21
+DIST huggingface_hub-0.21.4.gh.tar.gz 3565936 BLAKE2B 8aac3ca36369040fe8f7b628cc07a5d890b845d3bfec0dcf6cf7fc477c5c30d680c2dc0531d92c5e814d86f098fad87c80113f37719b41a1eac696f6abd82372 SHA512 886e553c474b59a47d1c5e04c7429ca5c1eb6bcb88a0f7ed6f1396d43c3195bb1f376093384f40497f18fb2220e3e0d9c4b7787c009b84d1d38b6d706307f67f
diff --git a/sci-libs/huggingface_hub/huggingface_hub-0.20.3.ebuild b/sci-libs/huggingface_hub/huggingface_hub-0.20.3.ebuild
new file mode 100644
index 000000000000..c033a2a89d94
--- /dev/null
+++ b/sci-libs/huggingface_hub/huggingface_hub-0.20.3.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="a client library to interact with the Hugging Face Hub"
+HOMEPAGE="
+ https://pypi.org/project/huggingface_hub/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" #Several modules not yet packaged
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/sci-libs/huggingface_hub/huggingface_hub-0.21.4.ebuild b/sci-libs/huggingface_hub/huggingface_hub-0.21.4.ebuild
new file mode 100644
index 000000000000..c033a2a89d94
--- /dev/null
+++ b/sci-libs/huggingface_hub/huggingface_hub-0.21.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="a client library to interact with the Hugging Face Hub"
+HOMEPAGE="
+ https://pypi.org/project/huggingface_hub/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" #Several modules not yet packaged
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/sci-libs/huggingface_hub/metadata.xml b/sci-libs/huggingface_hub/metadata.xml
new file mode 100644
index 000000000000..ed22415e0eec
--- /dev/null
+++ b/sci-libs/huggingface_hub/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/huggingface_hub</remote-id>
+ <remote-id type="pypi">huggingface_hub</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/hypre/Manifest b/sci-libs/hypre/Manifest
index 73775a2eb873..201bed67a1f1 100644
--- a/sci-libs/hypre/Manifest
+++ b/sci-libs/hypre/Manifest
@@ -1,3 +1,3 @@
-DIST hypre-2.14.0.tar.gz 7312329 BLAKE2B 93de48bdd05c383c74fb1b3b25ddcd5830be099aa7557262547932e17eba524c25ff69ff94d10f29ffdabfef9c05281fd485a7c9b999141f2488ae4fc0238736 SHA512 c7b59fb7ab1cc906e339fcc00603898e44234a65aa74600f740bc825aa94aa66ff0cbd4bd4b7f339c0d28ff5bd9494f15b57f2017a22348fee14b4e8333f1e6c
-DIST hypre-2.18.0.tar.gz 5698227 BLAKE2B e6562b78dcff6592a7df86d2162e3669c9ea3f71cc8926402038da319cb6c1b801a7ac5e44612ba86762ccdd63ae30cd2976451368309622b46e67a7a7dc1d83 SHA512 41292d590285703b5fb91c767fc9d064e36911f09583a81a3da9f2b5524143b23bb1beba3449d759e3f681760d9ad155072e1762d7d6bbe0e65660d5b16c472a
-DIST hypre-2.18.2.tar.gz 5699792 BLAKE2B 6adb343d23594adea60a4009f589285236365a5769b1d5cb66908ce83984dd48b3be929e6c7298c7b9cb1e2d67b1fe7ea641c8a160562d223edb9809977fb684 SHA512 7b343a5c8530d7f5e31cad6c940c2f154b2b954566d4fe8525d690fec41db23936a46fb642a994791de32984e696c624804fb1fde1f0c9ce026f1a6e46b9c0f4
+DIST hypre-2.20.0.tar.gz 5971556 BLAKE2B 63cef33913f1f4c569c396dd18227ae4346807e659306521e9340789944e22dc70be3b9baec7fb1385f562b53045e5c87fcad604aa242a941199ff9fe0a0c21d SHA512 842868b494960506fa3df4e72abb42084d701ec14305f9b040b9dcb578b4bbdaa8afb079057a7e53ad721b440c72ee804775c3b8319f2d01a2f281920a9cd350
+DIST hypre-2.21.0.tar.gz 6017038 BLAKE2B 500885cbd9f2b79c8740d1031a3dd9e5fd141dccfe2101ceed555cb7cbef77989b6af2c80f9b08e8efd6e2401269415532614d40512f93371397389e0fb15595 SHA512 20f860b0c25190608b50d577e03ab241d8caa1dbf7a7e56484e984710a586b1f4b63c72135488a756f42aa6a58d0a26b0c4e6e1680c3f7faabdf68e2559293b0
+DIST hypre-2.24.0.tar.gz 6116863 BLAKE2B fade61df0dcef3a93c8f4ff32eb72adbef56d572b8ef18202d8cdbbbd4c53a46a21f3478cf10720c64b1eaf0731e5a6f2236736ec9631f8500ce966f55d03cfe SHA512 4f27e99ba2923c6394ccc3705930897430becef840415004d6fae2fa311fef5b2399265ec1211364f883b35d00933523e65888419890902bcd4e1e6942b66560
diff --git a/sci-libs/hypre/hypre-2.14.0.ebuild b/sci-libs/hypre/hypre-2.14.0.ebuild
deleted file mode 100644
index a7d775a6c575..000000000000
--- a/sci-libs/hypre/hypre-2.14.0.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit cmake-utils fortran-2 toolchain-funcs flag-o-matic
-
-DESCRIPTION="Parallel matrix preconditioners library"
-HOMEPAGE="https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods"
-SRC_URI="https://github.com/LLNL/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc examples fei fortran int64 openmp mpi"
-
-RDEPEND="
- sci-libs/superlu:=
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( CHANGELOG COPYRIGHT README )
-
-# 2.11.1: fei and mli wrappers still buggy with big integers
-REQUIRED_USE="int64? ( !fei )"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] &&\
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && tc-check-openmp
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && \
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp ; then
- ewarn "You are using a non capable gcc compiler ( < 4.2 ? )"
- die "Need an OpenMP capable compiler"
- fi
-}
-
-src_prepare() {
- default
- # link with system superlu and propagate LDFLAGS
- sed -e "s:@LIBS@:@LIBS@ $($(tc-getPKG_CONFIG) --libs superlu):" \
- -e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \
- -i src/config/Makefile.config.in || die
- sed -e '/HYPRE_ARCH/s: = :=:g' \
- -i src/configure || die
- # link with system blas and lapack
- sed -e '/^BLASFILES/d' \
- -e '/^LAPACKFILES/d' \
- -i src/lib/Makefile || die
-}
-
-src_configure() {
- tc-export CC CXX
- append-flags -Dhypre_dgesvd=dgesvd_
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && \
- append-flags -fopenmp && append-ldflags -fopenmp
- use mpi && CC=mpicc FC=mpif77 CXX=mpicxx
-
- cd src
-
- # without-superlu: means do not use bundled one
- econf \
- --enable-shared \
- --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')" \
- --with-timing \
- --without-superlu \
- $(use_enable debug) \
- $(use_enable openmp hopscotch) \
- $(use_enable int64 bigint) \
- $(use_enable fortran) \
- $(use_with fei) \
- $(use_with fei mli) \
- $(use_with openmp) \
- $(use_with mpi MPI)
-}
-
-src_compile() {
- emake -C src
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}/src/lib:${LD_LIBRARY_PATH}" \
- PATH="${S}/src/test:${PATH}" \
- emake -C src check
-}
-
-src_install() {
- emake -C src install \
- HYPRE_INSTALL_DIR="${ED}" \
- HYPRE_LIB_INSTALL="${ED}/usr/$(get_libdir)" \
- HYPRE_INC_INSTALL="${ED}$/usr/include/hypre"
- use doc && dodoc docs/*.pdf
- if use examples; then
- insinto /usr/share/doc/${PF}
- doins -r src/examples
- fi
-}
diff --git a/sci-libs/hypre/hypre-2.18.0.ebuild b/sci-libs/hypre/hypre-2.18.0.ebuild
deleted file mode 100644
index 7f9dd4cc4b14..000000000000
--- a/sci-libs/hypre/hypre-2.18.0.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit cmake-utils fortran-2 toolchain-funcs flag-o-matic
-
-DESCRIPTION="Parallel matrix preconditioners library"
-HOMEPAGE="https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods"
-SRC_URI="https://github.com/${PN}-space/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug examples fortran int64 openmp mpi"
-
-RDEPEND="
- sci-libs/superlu:=
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( CHANGELOG COPYRIGHT README )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] &&\
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && tc-check-openmp
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && \
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp ; then
- ewarn "You are using a non capable gcc compiler ( < 4.2 ? )"
- die "Need an OpenMP capable compiler"
- fi
-}
-
-src_prepare() {
- default
- # link with system superlu and propagate LDFLAGS
- sed -e "s:@LIBS@:@LIBS@ $($(tc-getPKG_CONFIG) --libs superlu):" \
- -e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \
- -i src/config/Makefile.config.in || die
- sed -e '/HYPRE_ARCH/s: = :=:g' \
- -i src/configure || die
- # link with system blas and lapack
- sed -e '/^BLASFILES/d' \
- -e '/^LAPACKFILES/d' \
- -i src/lib/Makefile || die
-}
-
-src_configure() {
- tc-export CC CXX
- append-flags -Dhypre_dgesvd=dgesvd_
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && \
- append-flags -fopenmp && append-ldflags -fopenmp
- use mpi && CC=mpicc FC=mpif77 CXX=mpicxx
-
- cd src
-
- # without-superlu: means do not use bundled one
- econf \
- --enable-shared \
- --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')" \
- --with-timing \
- --without-superlu \
- $(use_enable debug) \
- $(use_enable openmp hopscotch) \
- $(use_enable int64 bigint) \
- $(use_enable fortran) \
- $(use_with openmp) \
- $(use_with mpi MPI)
-}
-
-src_compile() {
- emake -C src
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}/src/lib:${LD_LIBRARY_PATH}" \
- PATH="${S}/src/test:${PATH}" \
- emake -C src check
-}
-
-src_install() {
- emake -C src install \
- HYPRE_INSTALL_DIR="${ED}" \
- HYPRE_LIB_INSTALL="${ED}/usr/$(get_libdir)" \
- HYPRE_INC_INSTALL="${ED}$/usr/include/hypre"
-
- if use examples; then
- dodoc -r src/examples
- fi
-}
diff --git a/sci-libs/hypre/hypre-2.18.2.ebuild b/sci-libs/hypre/hypre-2.18.2.ebuild
deleted file mode 100644
index 71a4fd5fdacd..000000000000
--- a/sci-libs/hypre/hypre-2.18.2.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit cmake-utils fortran-2 toolchain-funcs flag-o-matic
-
-DESCRIPTION="Parallel matrix preconditioners library"
-HOMEPAGE="https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods"
-SRC_URI="https://github.com/${PN}-space/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/${PV}"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug examples fortran int64 openmp mpi"
-
-RDEPEND="
- sci-libs/superlu:=
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( CHANGELOG COPYRIGHT README )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] &&\
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && tc-check-openmp
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && \
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp ; then
- ewarn "You are using a non capable gcc compiler ( < 4.2 ? )"
- die "Need an OpenMP capable compiler"
- fi
-}
-
-src_prepare() {
- default
- # link with system superlu and propagate LDFLAGS
- sed -e "s:@LIBS@:@LIBS@ $($(tc-getPKG_CONFIG) --libs superlu):" \
- -e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \
- -i src/config/Makefile.config.in || die
- sed -e '/HYPRE_ARCH/s: = :=:g' \
- -i src/configure || die
- # link with system blas and lapack
- sed -e '/^BLASFILES/d' \
- -e '/^LAPACKFILES/d' \
- -i src/lib/Makefile || die
-}
-
-src_configure() {
- tc-export CC CXX
- append-flags -Dhypre_dgesvd=dgesvd_
- use openmp && [[ $(tc-getCC)$ == *gcc* ]] && \
- append-flags -fopenmp && append-ldflags -fopenmp
- use mpi && CC=mpicc FC=mpif77 CXX=mpicxx
-
- cd src
-
- # without-superlu: means do not use bundled one
- econf \
- --enable-shared \
- --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')" \
- --with-timing \
- --without-superlu \
- $(use_enable debug) \
- $(use_enable openmp hopscotch) \
- $(use_enable int64 bigint) \
- $(use_enable fortran) \
- $(use_with openmp) \
- $(use_with mpi MPI)
-}
-
-src_compile() {
- emake -C src
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}/src/lib:${LD_LIBRARY_PATH}" \
- PATH="${S}/src/test:${PATH}" \
- emake -C src check
-}
-
-src_install() {
- emake -C src install \
- HYPRE_INSTALL_DIR="${ED}" \
- HYPRE_LIB_INSTALL="${ED}/usr/$(get_libdir)" \
- HYPRE_INC_INSTALL="${ED}$/usr/include/hypre"
- if use examples; then
- dodoc -r src/examples
- fi
-}
diff --git a/sci-libs/hypre/hypre-2.20.0.ebuild b/sci-libs/hypre/hypre-2.20.0.ebuild
new file mode 100644
index 000000000000..f1b93093da7b
--- /dev/null
+++ b/sci-libs/hypre/hypre-2.20.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2 toolchain-funcs flag-o-matic
+
+DESCRIPTION="Parallel matrix preconditioners library"
+HOMEPAGE="https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods"
+SRC_URI="https://github.com/${PN}-space/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug examples fortran int64 openmp mpi"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ sci-libs/superlu:=
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG COPYRIGHT README )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # link with system superlu and propagate LDFLAGS
+ sed -e "s:@LIBS@:@LIBS@ $($(tc-getPKG_CONFIG) --libs superlu):" \
+ -e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \
+ -i src/config/Makefile.config.in || die
+
+ sed -e '/HYPRE_ARCH/s: = :=:g' \
+ -i src/configure || die
+
+ # link with system blas and lapack
+ sed -e '/^BLASFILES/d' \
+ -e '/^LAPACKFILES/d' \
+ -i src/lib/Makefile || die
+}
+
+src_configure() {
+ tc-export CC CXX
+ append-flags -Dhypre_dgesvd=dgesvd_
+
+ if use openmp ; then
+ append-flags -fopenmp
+ append-ldflags -fopenmp
+ fi
+
+ if use mpi ; then
+ CC=mpicc
+ FC=mpif77
+ CXX=mpicxx
+ fi
+
+ cd src || die
+
+ # without-superlu: means do not use bundled one
+ econf \
+ --enable-shared \
+ --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')" \
+ --with-timing \
+ --without-superlu \
+ $(use_enable debug) \
+ $(use_enable openmp hopscotch) \
+ $(use_enable int64 bigint) \
+ $(use_enable fortran) \
+ $(use_with openmp) \
+ $(use_with mpi MPI)
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/src/lib:${LD_LIBRARY_PATH}" \
+ PATH="${S}/src/test:${PATH}" \
+ emake -C src check
+}
+
+src_install() {
+ emake -C src install \
+ HYPRE_INSTALL_DIR="${ED}" \
+ HYPRE_LIB_INSTALL="${ED}/usr/$(get_libdir)" \
+ HYPRE_INC_INSTALL="${ED}/usr/include/hypre"
+
+ if use examples; then
+ dodoc -r src/examples
+ fi
+}
diff --git a/sci-libs/hypre/hypre-2.21.0.ebuild b/sci-libs/hypre/hypre-2.21.0.ebuild
new file mode 100644
index 000000000000..8c9d5ab220f1
--- /dev/null
+++ b/sci-libs/hypre/hypre-2.21.0.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2 toolchain-funcs flag-o-matic
+
+DESCRIPTION="Parallel matrix preconditioners library"
+HOMEPAGE="https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods"
+SRC_URI="https://github.com/hypre-space/hypre/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug examples fortran int64 openmp mpi"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ sci-libs/superlu:=
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi )
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG COPYRIGHT README )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # link with system superlu and propagate LDFLAGS
+ sed -e "s:@LIBS@:@LIBS@ $($(tc-getPKG_CONFIG) --libs superlu):" \
+ -e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \
+ -i src/config/Makefile.config.in || die
+
+ sed -e '/HYPRE_ARCH/s: = :=:g' \
+ -i src/configure || die
+
+ # link with system blas and lapack
+ sed -e '/^BLASFILES/d' \
+ -e '/^LAPACKFILES/d' \
+ -i src/lib/Makefile || die
+}
+
+src_configure() {
+ tc-export CC CXX
+ append-flags -Dhypre_dgesvd=dgesvd_
+
+ if use openmp ; then
+ append-flags -fopenmp
+ append-ldflags -fopenmp
+ fi
+
+ if use mpi ; then
+ CC=mpicc
+ FC=mpif77
+ CXX=mpicxx
+ fi
+
+ cd src || die
+
+ # without-superlu: means do not use bundled one
+ econf \
+ --enable-shared \
+ --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')" \
+ --with-timing \
+ --without-superlu \
+ $(use_enable debug) \
+ $(use_enable openmp hopscotch) \
+ $(use_enable int64 bigint) \
+ $(use_enable fortran) \
+ $(use_with openmp) \
+ $(use_with mpi MPI)
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/src/lib:${LD_LIBRARY_PATH}" \
+ PATH="${S}/src/test:${PATH}" \
+ emake -C src check
+}
+
+src_install() {
+ emake -C src install \
+ HYPRE_INSTALL_DIR="${ED}" \
+ HYPRE_LIB_INSTALL="${ED}/usr/$(get_libdir)" \
+ HYPRE_INC_INSTALL="${ED}/usr/include/hypre"
+
+ if use examples; then
+ dodoc -r src/examples
+ fi
+}
diff --git a/sci-libs/hypre/hypre-2.24.0.ebuild b/sci-libs/hypre/hypre-2.24.0.ebuild
new file mode 100644
index 000000000000..c05c8fa99193
--- /dev/null
+++ b/sci-libs/hypre/hypre-2.24.0.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2 toolchain-funcs flag-o-matic
+
+DESCRIPTION="Parallel matrix preconditioners library"
+HOMEPAGE="https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods"
+SRC_URI="https://github.com/hypre-space/hypre/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug examples fortran int64 openmp mpi"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ sci-libs/superlu:=
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi )
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( CHANGELOG COPYRIGHT README )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # link with system superlu and propagate LDFLAGS
+ sed -e "s:@LIBS@:@LIBS@ $($(tc-getPKG_CONFIG) --libs superlu):" \
+ -e 's:_SHARED@:_SHARED@ $(LDFLAGS):g' \
+ -i src/config/Makefile.config.in || die
+
+ sed -e '/HYPRE_ARCH/s: = :=:g' \
+ -i src/configure || die
+
+ # link with system blas and lapack
+ sed -e '/^BLASFILES/d' \
+ -e '/^LAPACKFILES/d' \
+ -i src/lib/Makefile || die
+}
+
+src_configure() {
+ tc-export CC CXX
+ append-flags -Dhypre_dgesvd=dgesvd_
+
+ if use openmp ; then
+ append-flags -fopenmp
+ append-ldflags -fopenmp
+ fi
+
+ if use mpi ; then
+ CC=mpicc
+ FC=mpif77
+ CXX=mpicxx
+ fi
+
+ cd src || die
+
+ # without-superlu: means do not use bundled one
+ econf \
+ --enable-shared \
+ --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')" \
+ --with-timing \
+ --without-superlu \
+ $(use_enable debug) \
+ $(use_enable openmp hopscotch) \
+ $(use_enable int64 bigint) \
+ $(use_enable fortran) \
+ $(use_with openmp) \
+ $(use_with mpi MPI)
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/src/lib:${LD_LIBRARY_PATH}" \
+ PATH="${S}/src/test:${PATH}" \
+ emake -C src check
+}
+
+src_install() {
+ emake -C src install \
+ HYPRE_INSTALL_DIR="${ED}" \
+ HYPRE_LIB_INSTALL="${ED}/usr/$(get_libdir)" \
+ HYPRE_INC_INSTALL="${ED}/usr/include/hypre"
+
+ if use examples; then
+ dodoc -r src/examples
+ fi
+}
diff --git a/sci-libs/hypre/metadata.xml b/sci-libs/hypre/metadata.xml
index 48b9bd61f1b4..b525b702f84a 100644
--- a/sci-libs/hypre/metadata.xml
+++ b/sci-libs/hypre/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
@@ -10,10 +10,9 @@
solution of large systems of linear equations.
</longdescription>
<upstream>
- <remote-id type="github">LLNL/hypre</remote-id>
+ <remote-id type="github">hypre-space/hypre</remote-id>
</upstream>
<use>
<flag name="int64">Build the 64 bits integer library</flag>
- <flag name="fei">Build the internal Finite Element Interface routines</flag>
</use>
</pkgmetadata>
diff --git a/sci-libs/ideep/Manifest b/sci-libs/ideep/Manifest
new file mode 100644
index 000000000000..9def4f3ea3e9
--- /dev/null
+++ b/sci-libs/ideep/Manifest
@@ -0,0 +1,2 @@
+DIST ideep-3.1.1.tar.gz 57015 BLAKE2B 054bb0363b5a6e8c40bf1192d557163f2e90195cbf3387562d5bf05a18eb0f3f2a45e5398ed0895ecc07807e753ab4f1a6375b12ede06aea33cc22e1e1d9cdb4 SHA512 1d636072512d90c1c47c0a976787a1fdaecdbd993ee319c40a2fbbc702143a0a752128e76e99f483d5628f64814684aa39b7355b2df675a4247037ddeeff03e5
+DIST ideep-3.3.2.tar.gz 57631 BLAKE2B 57ec733a3bf9e6e8ebdebdeb63000adcef8e9ecda00118c88bca24a80fd71602b5dc3d46892410d0231d2ecf2111d5a08c3a4e95bb785964cfc4c5d6c81537f0 SHA512 e0a9ca99f25b488e38b8887099c015ed0e67cc5c350c922b85f746e25c88e07a3291f8f5d71aef5f37c72814f32e00d81ec16853a425e0fe735c71c5fccc6a41
diff --git a/sci-libs/ideep/files/ideep-3.1.1-20230825.patch b/sci-libs/ideep/files/ideep-3.1.1-20230825.patch
new file mode 100644
index 000000000000..a8625e758b00
--- /dev/null
+++ b/sci-libs/ideep/files/ideep-3.1.1-20230825.patch
@@ -0,0 +1,36 @@
+From 6f4d653802bd43bc4eda515460df9f90353dbebe Mon Sep 17 00:00:00 2001
+From: leslie-fang-intel <leslie.fang@intel.com>
+Date: Fri, 25 Aug 2023 13:37:20 +0800
+Subject: [PATCH] reland remove conv weight scale reciprocal (#226)
+
+---
+ include/ideep.hpp | 2 +-
+ include/ideep/operators/conv.hpp | 3 ---
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/include/ideep.hpp b/include/ideep.hpp
+index 7e02c366..a11c3553 100644
+--- a/include/ideep.hpp
++++ b/include/ideep.hpp
+@@ -48,6 +48,6 @@
+ #define IDEEP_VERSION_MAJOR DNNL_VERSION_MAJOR
+ #define IDEEP_VERSION_MINOR DNNL_VERSION_MINOR
+ #define IDEEP_VERSION_PATCH DNNL_VERSION_PATCH
+-#define IDEEP_VERSION_REVISION 0
++#define IDEEP_VERSION_REVISION 1
+
+ #endif
+diff --git a/include/ideep/operators/conv.hpp b/include/ideep/operators/conv.hpp
+index 49677ff6..27ee84b6 100644
+--- a/include/ideep/operators/conv.hpp
++++ b/include/ideep/operators/conv.hpp
+@@ -161,9 +161,6 @@ struct conv_deconv_utils {
+ weights_scales_in.size(), oc_per_group, groups, is_deconv);
+ auto wei_scales = weights_scales_in;
+ if (!std::all_of(wei_scales.begin(), wei_scales.end(), [](float i){ return i == 1.0f; })) {
+- for (auto& s : wei_scales) {
+- s = 1.0 / s;
+- }
+ op_attr.set_scales(DNNL_ARG_WEIGHTS, wei_scale_mask, wei_scales);
+ }
+ if (dst_scales_in[0] != 1.0f) {
diff --git a/sci-libs/ideep/ideep-3.1.1.ebuild b/sci-libs/ideep/ideep-3.1.1.ebuild
new file mode 100644
index 000000000000..8f892eea0ed5
--- /dev/null
+++ b/sci-libs/ideep/ideep-3.1.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MYP=pytorch-rls-v${PV}
+DESCRIPTION="Intel® Optimization for Chainer"
+HOMEPAGE="https://github.com/intel/ideep"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${MYP}.tar.gz
+ -> ${PF}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PATCHES=( "${FILESDIR}"/${P}-20230825.patch )
+
+S="${WORKDIR}"/ideep-${MYP}
+
+src_install() {
+ doheader -r include/*
+}
diff --git a/sci-libs/ideep/ideep-3.3.2.ebuild b/sci-libs/ideep/ideep-3.3.2.ebuild
new file mode 100644
index 000000000000..58a69716df8e
--- /dev/null
+++ b/sci-libs/ideep/ideep-3.3.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MYP=pytorch-rls-v${PV}
+DESCRIPTION="Intel® Optimization for Chainer"
+HOMEPAGE="https://github.com/intel/ideep"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${MYP}.tar.gz
+ -> ${PF}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}"/ideep-${MYP}
+
+src_install() {
+ doheader -r include/*
+}
diff --git a/sci-libs/ideep/metadata.xml b/sci-libs/ideep/metadata.xml
new file mode 100644
index 000000000000..953b04a60d15
--- /dev/null
+++ b/sci-libs/ideep/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">intel/ideep</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/idlcoyote/idlcoyote-20161220.ebuild b/sci-libs/idlcoyote/idlcoyote-20161220.ebuild
index 20857bb5a31f..f779b30ce0ed 100644
--- a/sci-libs/idlcoyote/idlcoyote-20161220.ebuild
+++ b/sci-libs/idlcoyote/idlcoyote-20161220.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -12,7 +12,6 @@ else
inherit git-r3
GIT_ECLASS="git-r3"
EGIT_REPO_URI="https://github.com/idl-coyote/coyote.git"
- KEYWORDS=""
fi
DESCRIPTION="GDL library from D. Fannings IDL courses"
diff --git a/sci-libs/idlcoyote/idlcoyote-99999999.ebuild b/sci-libs/idlcoyote/idlcoyote-99999999.ebuild
index 20857bb5a31f..f779b30ce0ed 100644
--- a/sci-libs/idlcoyote/idlcoyote-99999999.ebuild
+++ b/sci-libs/idlcoyote/idlcoyote-99999999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -12,7 +12,6 @@ else
inherit git-r3
GIT_ECLASS="git-r3"
EGIT_REPO_URI="https://github.com/idl-coyote/coyote.git"
- KEYWORDS=""
fi
DESCRIPTION="GDL library from D. Fannings IDL courses"
diff --git a/sci-libs/idlcoyote/metadata.xml b/sci-libs/idlcoyote/metadata.xml
index 298edd428429..e89bab8154b2 100644
--- a/sci-libs/idlcoyote/metadata.xml
+++ b/sci-libs/idlcoyote/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-astronomy@gentoo.org</email>
diff --git a/sci-libs/idlmarkwardt/Manifest b/sci-libs/idlmarkwardt/Manifest
index 3e5d8f56dc12..77ed7f9fedcf 100644
--- a/sci-libs/idlmarkwardt/Manifest
+++ b/sci-libs/idlmarkwardt/Manifest
@@ -1,2 +1 @@
-DIST idlmarkwardt-20130418.tar.gz 703131 BLAKE2B 6898edaeebfadb827773bfd8653b581788fdfa45bd605a4b905f93cebe5a478b28abaace2e2494f022105370738adad3fb58f5594d3b5a901cfa26d72cf5472d SHA512 e93187ffa6c719c9b3b54bf61d5b138abd6c7cc91029b0802b9542c6699c29c3d8ee26e3afeccf10bfabecea36d588cd27031621739ab509e3dfd6c0ade7b4cc
DIST idlmarkwardt-20160319.tar.gz 705496 BLAKE2B 094cf3b7c83d717ede077ede9b62aca8de23e5c680569a0853183719d324aa7ae76552c3468ba6bfa7688e08db88d3247547c537ea219fb5dc7403632bb02599 SHA512 b0eb3ee4cf4ac9450e2557f1ec53660ed6e618a4602f592d551d0a81270aba15cd4eeefb1307b415f2b6f498c192db54ca1ef5e07400260b25a2f7f4b308ecdc
diff --git a/sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild b/sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild
deleted file mode 100644
index 695912942d65..000000000000
--- a/sci-libs/idlmarkwardt/idlmarkwardt-20130418.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-S="${WORKDIR}"
-
-src_install() {
- insinto /usr/share/gnudatalanguage/${PN}
- doins *.pro
- dodoc *README
-}
diff --git a/sci-libs/idlmarkwardt/idlmarkwardt-20160319-r1.ebuild b/sci-libs/idlmarkwardt/idlmarkwardt-20160319-r1.ebuild
new file mode 100644
index 000000000000..34606d4e1be8
--- /dev/null
+++ b/sci-libs/idlmarkwardt/idlmarkwardt-20160319-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+S="${WORKDIR}"
+
+LICENSE="Markwardt"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-lang/gdl"
+
+src_install() {
+ insinto /usr/share/gnudatalanguage/idlmarkwardt
+ doins *.pro
+ dodoc *README
+}
diff --git a/sci-libs/idlmarkwardt/idlmarkwardt-20160319.ebuild b/sci-libs/idlmarkwardt/idlmarkwardt-20160319.ebuild
deleted file mode 100644
index 695912942d65..000000000000
--- a/sci-libs/idlmarkwardt/idlmarkwardt-20160319.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-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
index 70e03dfd63b2..e390bc9f6eb3 100644
--- a/sci-libs/idlmarkwardt/metadata.xml
+++ b/sci-libs/idlmarkwardt/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/ignition-common/Manifest b/sci-libs/ignition-common/Manifest
index b17f5a45c396..9e65f0ac5d6c 100644
--- a/sci-libs/ignition-common/Manifest
+++ b/sci-libs/ignition-common/Manifest
@@ -1 +1,2 @@
-DIST ignition-common3_3.5.0.tar.gz 6984379 BLAKE2B decc26506544a58075583d302dbae30148bc22d750864bae3816722516a21d191dcdc5dc9376a026a103575d9489f038d3fc9e296c062c32ac076e9fea28d2ab SHA512 109161e55e51a6a37fb137f64e0cf3041c72bfc2030e3b8c09ecf9f81c57b3687a8a4d9e0142520fd9d0dfbf02cba2f123e01e9407ec046b0f134dbfdaf535f0
+DIST ignition-common3_3.14.2.tar.gz 7174986 BLAKE2B 38e42f139321aba5ab42c71d874b516bdf7a32edf3d1b0649991e27957d85e1b416d0206cadbeeea12957f7563920952982e4efb813ce8f33520c06e651553cc SHA512 fdc9dfdc8f69ff72e4381af61b3a6e120f361ab21417792db17f85e0ba2d60c4e32df0b72a45101ed72f65ea16a82c95d29e410962e9ecb40c2427a88593bc15
+DIST ignition-common3_3.17.0.tar.gz 8037300 BLAKE2B edebfa767c5640b2be5ca4cbe41687f7fb646dd3074789b4f4fb35242d6d2393f3ab2398945cf47cbe032a25f30284beb23a0b8d4ca72931f343a7be431efc5c SHA512 282024e5a99ae5f0879f1d11ed7ad4db0920b02e41051f76142b9de74ed296af365723e769ed3b0bd85a9f77a32d7735c85f2f7ef747ea83c5398697598473b1
diff --git a/sci-libs/ignition-common/files/ffmpeg5.patch b/sci-libs/ignition-common/files/ffmpeg5.patch
new file mode 100644
index 000000000000..dc0f763072eb
--- /dev/null
+++ b/sci-libs/ignition-common/files/ffmpeg5.patch
@@ -0,0 +1,28 @@
+Index: gz-common-ignition-common3_3.14.2/graphics/src/Image.cc
+===================================================================
+--- gz-common-ignition-common3_3.14.2.orig/graphics/src/Image.cc
++++ gz-common-ignition-common3_3.14.2/graphics/src/Image.cc
+@@ -20,6 +20,7 @@
+ #include <FreeImage.h>
+
+ #include <string>
++#include <cstring>
+
+ #include <ignition/common/Console.hh>
+ #include <ignition/common/Util.hh>
+Index: gz-common-ignition-common3_3.14.2/av/src/AudioDecoder.cc
+===================================================================
+--- gz-common-ignition-common3_3.14.2.orig/av/src/AudioDecoder.cc
++++ gz-common-ignition-common3_3.14.2/av/src/AudioDecoder.cc
+@@ -157,7 +157,11 @@ bool AudioDecoder::Decode(uint8_t **_out
+ // decodedFrame->linesize[0].
+ int size = decodedFrame->nb_samples *
+ av_get_bytes_per_sample(this->data->codecCtx->sample_fmt) *
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,24,100)
+ this->data->codecCtx->ch_layout.nb_channels;
++#else
++ this->data->codecCtx->channels;
++#endif
+ // Resize the audio buffer as necessary
+ if (*_outBufferSize + size > maxBufferSize)
+ {
diff --git a/sci-libs/ignition-common/files/ffmpeg6.patch b/sci-libs/ignition-common/files/ffmpeg6.patch
new file mode 100644
index 000000000000..b4d61f181291
--- /dev/null
+++ b/sci-libs/ignition-common/files/ffmpeg6.patch
@@ -0,0 +1,40 @@
+Index: gz-common-ignition-common3_3.14.2/av/src/AudioDecoder.cc
+===================================================================
+--- gz-common-ignition-common3_3.14.2.orig/av/src/AudioDecoder.cc
++++ gz-common-ignition-common3_3.14.2/av/src/AudioDecoder.cc
+@@ -348,6 +348,7 @@ bool AudioDecoder::SetFile(const std::st
+ return false;
+ }
+
++#if LIBAVCODEC_VERSION_MAJOR < 60
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(56, 60, 100)
+ if (this->data->codec->capabilities & AV_CODEC_CAP_TRUNCATED)
+ this->data->codecCtx->flags |= AV_CODEC_FLAG_TRUNCATED;
+@@ -355,6 +356,7 @@ bool AudioDecoder::SetFile(const std::st
+ if (this->data->codec->capabilities & CODEC_CAP_TRUNCATED)
+ this->data->codecCtx->flags |= CODEC_FLAG_TRUNCATED;
+ #endif
++#endif
+
+ // Open codec
+ if (avcodec_open2(this->data->codecCtx, this->data->codec, nullptr) < 0)
+Index: gz-common-ignition-common3_3.14.2/av/src/Video.cc
+===================================================================
+--- gz-common-ignition-common3_3.14.2.orig/av/src/Video.cc
++++ gz-common-ignition-common3_3.14.2/av/src/Video.cc
+@@ -179,6 +179,7 @@ bool Video::Load(const std::string &_fil
+ this->dataPtr->videoStream]->codec;
+ #endif
+
++#if LIBAVCODEC_VERSION_MAJOR < 60
+ // Inform the codec that we can handle truncated bitstreams -- i.e.,
+ // bitstreams where frame boundaries can fall in the middle of packets
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(56, 60, 100)
+@@ -188,6 +189,7 @@ bool Video::Load(const std::string &_fil
+ if (codec->capabilities & CODEC_CAP_TRUNCATED)
+ this->dataPtr->codecCtx->flags |= CODEC_FLAG_TRUNCATED;
+ #endif
++#endif
+
+ // Open codec
+ if (avcodec_open2(this->dataPtr->codecCtx, codec, nullptr) < 0)
diff --git a/sci-libs/ignition-common/ignition-common-3.14.2.ebuild b/sci-libs/ignition-common/ignition-common-3.14.2.ebuild
new file mode 100644
index 000000000000..04e87b079f9e
--- /dev/null
+++ b/sci-libs/ignition-common/ignition-common-3.14.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+inherit cmake
+
+IGN_MAJOR=3
+
+DESCRIPTION="Set of libraries designed to rapidly develop robot applications"
+HOMEPAGE="https://github.com/ignitionrobotics/ign-common"
+SRC_URI="https://github.com/ignitionrobotics/ign-common/archive/${PN}${IGN_MAJOR}_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="${IGN_MAJOR}"
+KEYWORDS="~amd64"
+IUSE="test"
+#RESTRICT="!test? ( test )"
+# tests dont even build
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/tinyxml2:=
+ sci-libs/ignition-math:6=
+ sys-apps/util-linux
+ media-libs/freeimage:=
+ sci-libs/gts:=
+ media-video/ffmpeg:0=
+"
+DEPEND="${RDEPEND}
+ dev-build/ignition-cmake:2"
+BDEPEND="
+ dev-build/ignition-cmake:2"
+
+S="${WORKDIR}/gz-common-ignition-common${IGN_MAJOR}_${PV}"
+PATCHES=(
+ "${FILESDIR}/ffmpeg5.patch"
+ "${FILESDIR}/ffmpeg6.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_TESTING=$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/ignition-common/ignition-common-3.17.0.ebuild b/sci-libs/ignition-common/ignition-common-3.17.0.ebuild
new file mode 100644
index 000000000000..04e87b079f9e
--- /dev/null
+++ b/sci-libs/ignition-common/ignition-common-3.17.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+inherit cmake
+
+IGN_MAJOR=3
+
+DESCRIPTION="Set of libraries designed to rapidly develop robot applications"
+HOMEPAGE="https://github.com/ignitionrobotics/ign-common"
+SRC_URI="https://github.com/ignitionrobotics/ign-common/archive/${PN}${IGN_MAJOR}_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="${IGN_MAJOR}"
+KEYWORDS="~amd64"
+IUSE="test"
+#RESTRICT="!test? ( test )"
+# tests dont even build
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/tinyxml2:=
+ sci-libs/ignition-math:6=
+ sys-apps/util-linux
+ media-libs/freeimage:=
+ sci-libs/gts:=
+ media-video/ffmpeg:0=
+"
+DEPEND="${RDEPEND}
+ dev-build/ignition-cmake:2"
+BDEPEND="
+ dev-build/ignition-cmake:2"
+
+S="${WORKDIR}/gz-common-ignition-common${IGN_MAJOR}_${PV}"
+PATCHES=(
+ "${FILESDIR}/ffmpeg5.patch"
+ "${FILESDIR}/ffmpeg6.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_TESTING=$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/ignition-common/ignition-common-3.5.0.ebuild b/sci-libs/ignition-common/ignition-common-3.5.0.ebuild
deleted file mode 100644
index c2bbe8a822a9..000000000000
--- a/sci-libs/ignition-common/ignition-common-3.5.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_BUILD_TYPE=RelWithDebInfo
-inherit cmake-utils
-
-IGN_MAJOR=3
-
-DESCRIPTION="Set of libraries designed to rapidly develop robot applications"
-HOMEPAGE="https://ignitionrobotics.org/libs/common https://github.com/ignitionrobotics/ign-common"
-SRC_URI="https://github.com/ignitionrobotics/ign-common/archive/${PN}${IGN_MAJOR}_${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="${IGN_MAJOR}"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- dev-libs/tinyxml2:=
- sci-libs/ignition-math:6=
- sys-apps/util-linux
- media-libs/freeimage:=
- sci-libs/gts:=
- media-video/ffmpeg:0=
-"
-DEPEND="${RDEPEND}
- dev-util/ignition-cmake:2"
-BDEPEND="
- dev-util/ignition-cmake:2"
-
-S="${WORKDIR}/ign-common-${PN}${IGN_MAJOR}_${PV}"
-
-src_configure() {
- local mycmakeargs=(
- "-DBUILD_TESTING=OFF"
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/ignition-common/metadata.xml b/sci-libs/ignition-common/metadata.xml
index c3e61fabcf50..87532696a9a2 100644
--- a/sci-libs/ignition-common/metadata.xml
+++ b/sci-libs/ignition-common/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/sci-libs/ignition-fuel-tools/Manifest b/sci-libs/ignition-fuel-tools/Manifest
index 3d548d905cd5..7943220dd7b5 100644
--- a/sci-libs/ignition-fuel-tools/Manifest
+++ b/sci-libs/ignition-fuel-tools/Manifest
@@ -1 +1 @@
-DIST ignition-fuel-tools4_4.1.0.tar.gz 451260 BLAKE2B aef6b1ca08e0d0c2099593c5d13842c5f73b6f041aea23aae57cc563ec624139331c45012f044212a53dfe82bfab6316caa51896785dd7e905c0950b3b91ca93 SHA512 7116460749870968508a0368435edfcc28f54128b2def0d93fa48e6f6ac961d27e0f0ff52ff70979ee4e626ee4cc0d5b421180487c1973ed844a1b16479466d3
+DIST ignition-fuel-tools4_4.9.1.tar.gz 352667 BLAKE2B e4cf7c90961b9513b442e98d8683740ba6f9d2291caec89e8efd9a38d699c5cc44007e5f6ebc2bffff5d643841fba3572dd6507282f04f62d0cb2aceade54e3e SHA512 037d590930a6d672e9286ee27b003b497108c8a961b5a7159141c7997f0c690218ed111fb35815f25f1f388e2a630a16386ff4a63d7306d312f27ba8fba84ab9
diff --git a/sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.1.0.ebuild b/sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.1.0.ebuild
deleted file mode 100644
index 1a7dd11d3928..000000000000
--- a/sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.1.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_BUILD_TYPE=RelWithDebInfo
-inherit cmake-utils
-
-IGN_MAJOR=4
-
-DESCRIPTION="Classes and tools for interacting with Ignition Fuel"
-HOMEPAGE="https://ignitionrobotics.org/libs/fuel_tools https://ignitionrobotics.org/libs/fuel_tools"
-SRC_URI="https://github.com/ignitionrobotics/ign-fuel-tools/archive/${PN}${IGN_MAJOR}_${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="${IGN_MAJOR}"
-KEYWORDS="~amd64"
-IUSE="test"
-
-RDEPEND="
- dev-libs/tinyxml2:=
- net-misc/curl:=
- dev-libs/jsoncpp:=
- dev-libs/libyaml:=
- dev-libs/libzip:=
- sci-libs/ignition-common:3=
- net-libs/ignition-msgs:5=
-"
-#igncurl
-DEPEND="${RDEPEND}
- dev-util/ignition-cmake:2"
-BDEPEND="
- dev-util/ignition-cmake:2"
-
-S="${WORKDIR}/ign-fuel-tools-${PN}${IGN_MAJOR}_${PV}"
-
-src_configure() {
- local mycmakeargs=(
- "-DBUILD_TESTING=$(usex test)"
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.9.1.ebuild b/sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.9.1.ebuild
new file mode 100644
index 000000000000..d42fabf96ff1
--- /dev/null
+++ b/sci-libs/ignition-fuel-tools/ignition-fuel-tools-4.9.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+inherit cmake
+
+IGN_MAJOR=4
+
+DESCRIPTION="Classes and tools for interacting with Ignition Fuel"
+HOMEPAGE="https://github.com/ignitionrobotics/ign-fuel-tools/"
+SRC_URI="https://github.com/ignitionrobotics/ign-fuel-tools/archive/${PN}${IGN_MAJOR}_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="${IGN_MAJOR}"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/tinyxml2:=
+ net-misc/curl:=
+ dev-libs/jsoncpp:=
+ dev-libs/libyaml:=
+ dev-libs/libzip:=
+ sci-libs/ignition-common:3=
+ net-libs/ignition-msgs:5=
+ dev-libs/protobuf:=
+"
+#igncurl
+DEPEND="${RDEPEND}
+ dev-build/ignition-cmake:2"
+BDEPEND="
+ dev-build/ignition-cmake:2"
+
+S="${WORKDIR}/gz-fuel-tools-${PN}${IGN_MAJOR}_${PV}"
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_TESTING=$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/ignition-fuel-tools/metadata.xml b/sci-libs/ignition-fuel-tools/metadata.xml
index b0a55265c08d..70c7ab91a787 100644
--- a/sci-libs/ignition-fuel-tools/metadata.xml
+++ b/sci-libs/ignition-fuel-tools/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/sci-libs/ignition-math/Manifest b/sci-libs/ignition-math/Manifest
index 101617f61906..0a8a2d604550 100644
--- a/sci-libs/ignition-math/Manifest
+++ b/sci-libs/ignition-math/Manifest
@@ -1,2 +1,2 @@
-DIST ignition-math4_4.0.0.tar.bz2 387717 BLAKE2B 1b19bcd377eb18b616a300e022419ba2651795e04c0f0a3769f565e6febdc1a37f321c81730e1c13c9f9b17f35e6cf558d1129b278b2477ec8d5a5f46b927d66 SHA512 4815c6222945fd228b2d23c9da7ad8876f8ba1fea382312e1eb320819ec5d8bbf637095c18dbe2413184bbea77040bd1a5492ea9427355fc5e62f6169277530e
-DIST ignition-math6_6.4.0.tar.gz 515870 BLAKE2B d975edfa2e23560784adef1d66e7613c822a65bcc8b20d33aa030a570fdf3b19043eb6750e93728f2ff5e8ee14ab047a1420bf9991ea6519ec7399235e262ba1 SHA512 8a6e672ef6de591d25200f288deaaa16cc43e3c90804ee5ead0f06345036afbfa40acb531eb5b6a1fa80bd34c0c5964662cc0659d8bed2c811ad7c776d6f77cb
+DIST ignition-math6_6.14.0.tar.gz 628564 BLAKE2B 6206f1f35472bf51a8a3bdb8fae26d9879044ea856abd8bcce2cfb5bf16d2638816b3fff7e451c165fec8b2ba82db083d78306d5441c4db3def14b08ddad7556 SHA512 ad95160cc1cd137779b9da589c47994d04f829af10865071e9ead4d55c4399d04d5398287d3b294e3f67230205656e1fe243129673e1f8e73f62f3933c314802
+DIST ignition-math6_6.15.1.tar.gz 632975 BLAKE2B 94a300b56a74a0c44da9ec74861fce7946e50d5a16bd56b383bfbd63e9d6f285bd803da6528d899711b74002cce1a8c95cc7c82580aa391794dd0d9fd63ae96f SHA512 569fb37be4b42f170189de680beb71c6274e2a48d02f77d6a9d675ca9901be32df7af6b86f69916ff96b4f7065f8f1d4a9fb3ef81c2b7f5fc3f325e17279edba
diff --git a/sci-libs/ignition-math/files/includes.patch b/sci-libs/ignition-math/files/includes.patch
deleted file mode 100644
index 5d7750bcec9a..000000000000
--- a/sci-libs/ignition-math/files/includes.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: ignition-math6_6.4.0/src/RollingMean.cc
-===================================================================
---- ignition-math6_6.4.0.orig/src/RollingMean.cc
-+++ ignition-math6_6.4.0/src/RollingMean.cc
-@@ -17,6 +17,7 @@
-
- #include <numeric>
- #include <deque>
-+#include <limits>
- #include "ignition/math/RollingMean.hh"
-
- using namespace ignition::math;
diff --git a/sci-libs/ignition-math/ignition-math-4.0.0-r1.ebuild b/sci-libs/ignition-math/ignition-math-4.0.0-r1.ebuild
deleted file mode 100644
index 522811b8b000..000000000000
--- a/sci-libs/ignition-math/ignition-math-4.0.0-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CMAKE_BUILD_TYPE=RelWithDebInfo
-inherit cmake-multilib vcs-snapshot
-
-DESCRIPTION="A small, fast, and high performance math library for robot applications"
-HOMEPAGE="https://ignitionrobotics.org/libraries/math"
-SRC_URI="https://bitbucket.org/ignitionrobotics/ign-math/get/${PN}4_${PV}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="4/4"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- dev-util/ignition-cmake[${MULTILIB_USEDEP}]"
-
-S="${WORKDIR}/${PN}4_${PV}"
diff --git a/sci-libs/ignition-math/ignition-math-6.14.0.ebuild b/sci-libs/ignition-math/ignition-math-6.14.0.ebuild
new file mode 100644
index 000000000000..eb0f9750bfd7
--- /dev/null
+++ b/sci-libs/ignition-math/ignition-math-6.14.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+inherit cmake vcs-snapshot
+
+DESCRIPTION="A small, fast, and high performance math library for robot applications"
+HOMEPAGE="https://github.com/ignitionrobotics/ign-math"
+SRC_URI="https://github.com/ignitionrobotics/ign-math/archive/${PN}6_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="6/6"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ dev-build/ignition-cmake:2"
+BDEPEND="
+ dev-build/ignition-cmake:2"
+
+S="${WORKDIR}/${PN}6_${PV}"
diff --git a/sci-libs/ignition-math/ignition-math-6.15.1.ebuild b/sci-libs/ignition-math/ignition-math-6.15.1.ebuild
new file mode 100644
index 000000000000..eb0f9750bfd7
--- /dev/null
+++ b/sci-libs/ignition-math/ignition-math-6.15.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+inherit cmake vcs-snapshot
+
+DESCRIPTION="A small, fast, and high performance math library for robot applications"
+HOMEPAGE="https://github.com/ignitionrobotics/ign-math"
+SRC_URI="https://github.com/ignitionrobotics/ign-math/archive/${PN}6_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="6/6"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ dev-build/ignition-cmake:2"
+BDEPEND="
+ dev-build/ignition-cmake:2"
+
+S="${WORKDIR}/${PN}6_${PV}"
diff --git a/sci-libs/ignition-math/ignition-math-6.4.0.ebuild b/sci-libs/ignition-math/ignition-math-6.4.0.ebuild
deleted file mode 100644
index e4620e3360bb..000000000000
--- a/sci-libs/ignition-math/ignition-math-6.4.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_BUILD_TYPE=RelWithDebInfo
-inherit cmake-utils vcs-snapshot
-
-DESCRIPTION="A small, fast, and high performance math library for robot applications"
-HOMEPAGE="https://ignitionrobotics.org/libraries/math"
-SRC_URI="https://github.com/ignitionrobotics/ign-math/archive/${PN}6_${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="6/6"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- dev-cpp/eigen:3
- dev-util/ignition-cmake:2"
-BDEPEND="
- dev-util/ignition-cmake:2"
-
-S="${WORKDIR}/${PN}6_${PV}"
-PATCHES=( "${FILESDIR}/includes.patch" )
diff --git a/sci-libs/ignition-math/metadata.xml b/sci-libs/ignition-math/metadata.xml
index cd92ae6d0f49..6d71f37175ae 100644
--- a/sci-libs/ignition-math/metadata.xml
+++ b/sci-libs/ignition-math/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/sci-libs/iml/iml-1.0.5.ebuild b/sci-libs/iml/iml-1.0.5.ebuild
index 29bfa917676e..41bcf98488dd 100644
--- a/sci-libs/iml/iml-1.0.5.ebuild
+++ b/sci-libs/iml/iml-1.0.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,9 +9,10 @@ DESCRIPTION="Integer Matrix Library"
HOMEPAGE="https://www.cs.uwaterloo.ca/~astorjoh/iml.html"
SRC_URI="https://www.cs.uwaterloo.ca/~astorjoh/${P}.tar.bz2"
-LICENSE="GPL-2"
+# COPYING is GPL-2, but the files under src/ all have a BSD header
+LICENSE="GPL-2 BSD"
SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="static-libs"
DEPEND="virtual/cblas"
diff --git a/sci-libs/iml/metadata.xml b/sci-libs/iml/metadata.xml
index 673326db1e86..6627d3652454 100644
--- a/sci-libs/iml/metadata.xml
+++ b/sci-libs/iml/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/inchi/Manifest b/sci-libs/inchi/Manifest
index a6149c0b2588..6d3e86309a7c 100644
--- a/sci-libs/inchi/Manifest
+++ b/sci-libs/inchi/Manifest
@@ -1,2 +1,4 @@
DIST inchi-1.04-doc.zip 2128303 BLAKE2B 041ee948e8a852b66e64c8b04a52a4b4972a750ebdc0e31ce68e6bacfae4d81e49e8356cde766fc87affacc6839c015d5e578e9bacff486605ce5d6b63ed1552 SHA512 930fe10ac2bae11074b7e47446b5af9c01e2aa55f891d04912c71c76e214871c78cc22b3dafea99b57eede5080ac0cfaa6b6d35a73242c8549bea8ffa86e7df7
DIST inchi-1.04.zip 2701930 BLAKE2B 12e5153fdefffdd97794b3942936f93742729cd195a1be0687762263e1d8aa9b0130a79cc1c8a652d2cad67b14a175b8f5ad968c83094f9ebf250f43bcebc18c SHA512 c5a1c2f08d472fcde603acbd898a9a8880407474869eadf0089444503693ae89ff805c579161cb3ee9d7f18e891289a21c4b8a65cc7ece69ee730f7f4e283be4
+DIST inchi-1.06-doc.zip 4143516 BLAKE2B 10daaffe40c1ce523ec1f51e090d4cb0080f17ee103859a872eb2a5606b06e84b25459c3ed0492e5009d4898caef36ce251c34bea8148ee773e4c9bff7f0ba3d SHA512 df31014d21d46498e3bcde85d8c782a23193225e8d3b6ba7f6e31816c935c8ea1a60b2472fb0cd81733a47ae71918de973324ccd20a49fea3808bdfed92e6850
+DIST inchi-1.06.zip 2931129 BLAKE2B 9ae317b359e886c5e16f6c5f2ef6037c1b9f46b4928b1cb372d7dc4ec9f50e695bd58424eb30c75b823f8c12d392a4aa0070161c43a448e6a078d2427df8c956 SHA512 56248030f30b0fa065cb783353cc9eab0da0e39b580a54120e9fca0a2ad8a0cfc85da1ea81b6231e48cfd59a3a5d81e1c6310778d913c21ec3f2e72d6a7fad8a
diff --git a/sci-libs/inchi/files/inchi-1.03-shared.patch b/sci-libs/inchi/files/inchi-1.03-shared.patch
index 6f4619d86bd9..6a47ce99c294 100644
--- a/sci-libs/inchi/files/inchi-1.03-shared.patch
+++ b/sci-libs/inchi/files/inchi-1.03-shared.patch
@@ -1,8 +1,3 @@
- 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)
diff --git a/sci-libs/inchi/files/inchi-1.04-static.patch b/sci-libs/inchi/files/inchi-1.04-static.patch
deleted file mode 100644
index a367c153824a..000000000000
--- a/sci-libs/inchi/files/inchi-1.04-static.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- 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-r1.ebuild b/sci-libs/inchi/inchi-1.04-r1.ebuild
new file mode 100644
index 000000000000..47eba9dec162
--- /dev/null
+++ b/sci-libs/inchi/inchi-1.04-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="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 )"
+S="${WORKDIR}"/INCHI-1-API
+
+LICENSE="IUPAC-InChi"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.03-shared.patch
+)
+
+src_configure() {
+ 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 || die
+ emake \
+ "${common_opts[@]}"
+ popd > /dev/null || die
+ done
+}
+
+src_install() {
+ dodoc readme*.txt
+ if use doc ; then
+ cd "${WORKDIR}"/INCHI-1-DOC || die
+ 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*
+ doheader ../../inchi_main/inchi_api.h
+}
diff --git a/sci-libs/inchi/inchi-1.04.ebuild b/sci-libs/inchi/inchi-1.04.ebuild
deleted file mode 100644
index 984b312edafc..000000000000
--- a/sci-libs/inchi/inchi-1.04.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils toolchain-funcs
-
-DESCRIPTION="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/inchi-1.06-r1.ebuild b/sci-libs/inchi/inchi-1.06-r1.ebuild
new file mode 100644
index 000000000000..8b8040286b7a
--- /dev/null
+++ b/sci-libs/inchi/inchi-1.06-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Program and library for generating standard and non-standard InChI and InChIKeys"
+HOMEPAGE="https://www.iupac.org/inchi/"
+SRC_URI="
+ https://www.inchi-trust.org/download/${PV//.}/INCHI-1-SRC.zip -> ${P}.zip
+ doc? ( https://www.inchi-trust.org/download/${PV//.}/INCHI-1-DOC.zip -> ${P}-doc.zip )
+"
+S="${WORKDIR}/INCHI-1-SRC"
+
+LICENSE="IUPAC-InChi"
+SLOT="0"
+KEYWORDS="amd64 arm ~ppc ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+BDEPEND="app-arch/unzip"
+
+src_compile() {
+ local common_opts target_opts
+
+ append-cflags \${P_INCL} -ansi -DCOMPILE_ANSI_ONLY -fPIC -c
+ append-cxxflags \${P_INCL} -ansi -frtti -c
+
+ common_opts=(
+ C_COMPILER="$(tc-getCC)"
+ CPP_COMPILER="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ LINKER="$(tc-getCXX)"
+ SHARED_LINK="$(tc-getCC)"
+ SHARED_LINK_PARM="${LDFLAGS} -shared "
+ ISLINUX=1
+ )
+
+ # Compile the library
+ target_opts=(
+ LINKER_OPTIONS="${LDFLAGS} "
+ C_OPTIONS="${CFLAGS} -DTARGET_API_LIB -D_LIB -D_XOPEN_SOURCE=500 " #874696
+ CPP_OPTIONS="${CXXFLAGS} -DTARGET_API_LIB -D_LIB "
+ CREATE_MAIN=
+ )
+ emake -C INCHI_API/libinchi/gcc "${common_opts[@]}" "${target_opts[@]}"
+
+ pushd "INCHI_API/bin/Linux" || die
+ ln -s libinchi.so.1 libinchi.so || die
+ popd > /dev/null || die
+
+ # Compile the executable
+ target_opts=(
+ LINKER_OPTIONS="${LDFLAGS} -L${S}/INCHI_API/bin/Linux -linchi "
+ C_COMPILER_OPTIONS="${CFLAGS} -DTARGET_EXE_STANDALONE "
+ CPP_COMPILER_OPTIONS="${CXXFLAGS} -DTARGET_EXE_STANDALONE "
+ CREATE_MAIN=
+ )
+ emake -C INCHI_EXE/inchi-1/gcc "${common_opts[@]}" "${target_opts[@]}"
+
+}
+
+src_install() {
+ dodoc readme*.txt
+ if use doc ; then
+ pushd "${WORKDIR}/INCHI-1-DOC" || die
+ docinto doc
+ dodoc *.pdf readme.txt
+ popd || die
+ fi
+ dobin "${S}/INCHI_EXE/bin/Linux/inchi-1"
+ dolib.so "${S}/INCHI_API/bin/Linux/"lib*so*
+ doheader "${S}/INCHI_BASE/src/"{inchi_api,ixa}.h
+}
diff --git a/sci-libs/inchi/metadata.xml b/sci-libs/inchi/metadata.xml
index 9b10958b0172..e490bcb8aa87 100644
--- a/sci-libs/inchi/metadata.xml
+++ b/sci-libs/inchi/metadata.xml
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-chemistry@gentoo.org</email>
<name>Gentoo Chemistry Project</name>
</maintainer>
- <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
index a052ed01aa0d..258a72594337 100644
--- a/sci-libs/indilib/Manifest
+++ b/sci-libs/indilib/Manifest
@@ -1,3 +1,2 @@
-DIST indilib-1.7.5.tar.xz 1380436 BLAKE2B 092f4100894218bf749ee0d7c910c4ee20026cf471f4f65686b67dd37a924b448b6de3733e70d7047dca6a77fd8ae26b9a568f8249336be78d052984838a2ccf SHA512 57205ed9ea9d8e8215886b17d9f0307755bca571d599967dc607320fad5ec62096f31526280f3b184ffeb0434d9adb71e65a7d6f89d29edaa643d729765f47a8
-DIST indilib-1.8.3.tar.gz 2062250 BLAKE2B f46b557dfbbe16070605ad638111505577b801ac6abc2cf42df3a322eaec35a25e6f8efe3ea740b5758b3aeadd656efb4b98e284d531621ab34ca00f28e39a2e SHA512 09c23299659efea795ec430566a5b51181878c382c72f1e530ef3abe3b996b670506f6f5f1bca4eb88fbdc756854c3a36d8bd646a2cf13e397e09ace1f1af044
-DIST indilib-1.8.5.tar.gz 2122866 BLAKE2B 203b6c78664aaf3f87b7f697b76544e6ed0fa6db8ac0fe43e6ebcf00de404e96a49b8cd7f8b0be2e4ff5c7f902b3e34177a244a4a49069887f11d28aea073620 SHA512 4c583f7ff0d96d787c7d035e23074f42db3f836ec74a0a7a1595574ae2d32d56234b16abddabacaf9bd5a10cb88c6c37994aafcef86d65a665b2bceae87446f9
+DIST indilib-2.0.6.tar.gz 2793169 BLAKE2B ebbbc40074df8ea77b781d09d802506003e3f71ee9450730b145ff9d190d9a0d41bcb7db4449fb05f138d536b811d7fcbfd095516b2f73a163bd110335d3d14d SHA512 e00ca31f4bc2298529586e5c1cc35389e9dcc72f9b93a1c5a4594c4c3d11f72a63e02d228a582f4ee08b7986a8eed6ebe53cb19b25fa05ebe53243708d2a8ff5
+DIST indilib-2.0.7.tar.gz 2843758 BLAKE2B dee94a40d4b3c5c4d994d945a3608a41765af14c4937d475bdf80dca5d5847b814e0d9a1060f39b15b109916dee45f1876ce8edd29588e209276e3b1bf6f3dd7 SHA512 292c0a5b8f07b24c42ea9424be19012c97317206b837d8601ec4d771fa35c314bf00712509f8199ee3da193ea12f0c3e90036a49deece304dc256cdeba60810d
diff --git a/sci-libs/indilib/files/indilib-2.0.7-fix-system-httplib.patch b/sci-libs/indilib/files/indilib-2.0.7-fix-system-httplib.patch
new file mode 100644
index 000000000000..81876a468fa2
--- /dev/null
+++ b/sci-libs/indilib/files/indilib-2.0.7-fix-system-httplib.patch
@@ -0,0 +1,32 @@
+From 1d9e7a4645aa9d1c8534a0e69c3fb212382ac1ed Mon Sep 17 00:00:00 2001
+From: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
+Date: Fri, 12 Apr 2024 11:31:01 +0200
+Subject: [PATCH] Link against httplib if using system libraries (#2039)
+
+---
+ drivers/auxiliary/CMakeLists.txt | 2 +-
+ drivers/dome/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/auxiliary/CMakeLists.txt b/drivers/auxiliary/CMakeLists.txt
+index 66f7e3a615..41279d0a9d 100644
+--- a/drivers/auxiliary/CMakeLists.txt
++++ b/drivers/auxiliary/CMakeLists.txt
+@@ -313,5 +313,5 @@ SET(dragonlight_SRC
+ dragonlight.cpp)
+
+ add_executable(indi_dragon_light ${dragonlight_SRC})
+-target_link_libraries(indi_dragon_light indidriver)
++target_link_libraries(indi_dragon_light indidriver ${HTTPLIB_LIBRARY})
+ install(TARGETS indi_dragon_light RUNTIME DESTINATION bin)
+diff --git a/drivers/dome/CMakeLists.txt b/drivers/dome/CMakeLists.txt
+index 9dfdc812b8..377af11d2f 100644
+--- a/drivers/dome/CMakeLists.txt
++++ b/drivers/dome/CMakeLists.txt
+@@ -80,5 +80,5 @@ SET(dragonlair_SRC
+ dragonlair.cpp)
+
+ add_executable(indi_dragonlair_dome ${dragonlair_SRC})
+-target_link_libraries(indi_dragonlair_dome indidriver)
++target_link_libraries(indi_dragonlair_dome indidriver ${HTTPLIB_LIBRARY})
+ install(TARGETS indi_dragonlair_dome RUNTIME DESTINATION bin)
diff --git a/sci-libs/indilib/indilib-1.7.5.ebuild b/sci-libs/indilib/indilib-1.7.5.ebuild
deleted file mode 100644
index 45012f5a0a87..000000000000
--- a/sci-libs/indilib/indilib-1.7.5.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils udev
-
-DESCRIPTION="INDI Astronomical Control Protocol library"
-HOMEPAGE="https://www.indilib.org/"
-# SRC_URI="https://github.com/${PN}/${PN/lib/}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
-
-LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+"
-SLOT="0/1"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
-IUSE="ogg test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- net-misc/curl
- sci-libs/cfitsio:=
- sci-libs/gsl:=
- sci-libs/libnova
- sys-libs/zlib
- virtual/jpeg:0
- virtual/libusb:0
- ogg? (
- media-libs/libogg
- media-libs/libtheora
- )
-"
-DEPEND="${RDEPEND}
- kernel_linux? ( sys-kernel/linux-headers )
- test? ( >=dev-cpp/gtest-1.8.0 )
-"
-
-S="${WORKDIR}/lib${PN/lib/}"
-
-src_test() {
- BUILD_DIR="${BUILD_DIR}"/test cmake-utils_src_test
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINDI_BUILD_QT5_CLIENT=OFF
- -DINDI_BUILD_UNITTESTS=$(usex test)
- -DUDEVRULES_INSTALL_DIR="$(get_udevdir)"
- $(cmake-utils_use_find_package ogg OggTheora)
- )
-
- cmake-utils_src_configure
-}
diff --git a/sci-libs/indilib/indilib-1.8.3.ebuild b/sci-libs/indilib/indilib-1.8.3.ebuild
deleted file mode 100644
index 883a84595b95..000000000000
--- a/sci-libs/indilib/indilib-1.8.3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake udev
-
-DESCRIPTION="INDI Astronomical Control Protocol library"
-HOMEPAGE="https://www.indilib.org/"
-SRC_URI="https://github.com/${PN}/${PN/lib/}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+"
-SLOT="0/1"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
-IUSE="ogg test websocket"
-
-RDEPEND="
- net-misc/curl
- sci-libs/cfitsio:=
- sci-libs/fftw:3.0=
- sci-libs/gsl:=
- sci-libs/libnova:=
- sys-libs/zlib
- virtual/jpeg:0
- virtual/libusb:0
- ogg? (
- media-libs/libogg
- media-libs/libtheora
- )
- websocket? ( dev-libs/boost:= )
-"
-DEPEND="${RDEPEND}
- kernel_linux? ( sys-kernel/linux-headers )
- test? ( >=dev-cpp/gtest-1.8.0 )
- websocket? ( dev-cpp/websocketpp )
-"
-
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${P/lib/}"
-
-src_configure() {
- local mycmakeargs=(
- -DINDI_BUILD_QT5_CLIENT=OFF
- -DINDI_BUILD_UNITTESTS=$(usex test)
- -DUDEVRULES_INSTALL_DIR="$(get_udevdir)"/rules.d
- $(cmake_use_find_package ogg OggTheora)
- -DINDI_BUILD_WEBSOCKET=$(usex websocket)
- )
-
- cmake_src_configure
-}
-
-src_test() {
- BUILD_DIR="${BUILD_DIR}"/test cmake_src_test
-}
diff --git a/sci-libs/indilib/indilib-1.8.5.ebuild b/sci-libs/indilib/indilib-1.8.5.ebuild
deleted file mode 100644
index c0ffca05006a..000000000000
--- a/sci-libs/indilib/indilib-1.8.5.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake udev
-
-DESCRIPTION="INDI Astronomical Control Protocol library"
-HOMEPAGE="https://www.indilib.org/"
-SRC_URI="https://github.com/${PN}/${PN/lib/}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+"
-SLOT="0/1"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE="ogg test websocket"
-
-RDEPEND="
- net-misc/curl
- sci-libs/cfitsio:=
- sci-libs/fftw:3.0=
- sci-libs/gsl:=
- sci-libs/libnova:=
- sys-libs/zlib
- virtual/jpeg:0
- virtual/libusb:0
- ogg? (
- media-libs/libogg
- media-libs/libtheora
- )
- websocket? ( dev-libs/boost:= )
-"
-DEPEND="${RDEPEND}
- kernel_linux? ( sys-kernel/linux-headers )
- test? ( >=dev-cpp/gtest-1.8.0 )
- websocket? ( dev-cpp/websocketpp )
-"
-
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${P/lib/}"
-
-src_configure() {
- local mycmakeargs=(
- -DINDI_BUILD_QT5_CLIENT=OFF
- -DINDI_BUILD_UNITTESTS=$(usex test)
- -DUDEVRULES_INSTALL_DIR="$(get_udevdir)"/rules.d
- $(cmake_use_find_package ogg OggTheora)
- -DINDI_BUILD_WEBSOCKET=$(usex websocket)
- )
-
- cmake_src_configure
-}
-
-src_test() {
- BUILD_DIR="${BUILD_DIR}"/test cmake_src_test
-}
diff --git a/sci-libs/indilib/indilib-2.0.6.ebuild b/sci-libs/indilib/indilib-2.0.6.ebuild
new file mode 100644
index 000000000000..77b317737296
--- /dev/null
+++ b/sci-libs/indilib/indilib-2.0.6.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic udev
+
+DESCRIPTION="INDI Astronomical Control Protocol library"
+HOMEPAGE="https://www.indilib.org/"
+SRC_URI="https://github.com/${PN}/${PN/lib/}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P/lib/}"
+
+LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="amd64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="ogg rtlsdr test websocket"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/cpp-httplib:=
+ dev-cpp/nlohmann_json
+ dev-libs/libev
+ media-libs/libjpeg-turbo:=
+ net-misc/curl
+ sci-libs/cfitsio:=
+ sci-libs/fftw:3.0=
+ sci-libs/gsl:=
+ sci-libs/libnova:=
+ sys-libs/zlib
+ virtual/libusb:1
+ ogg? (
+ media-libs/libogg
+ media-libs/libtheora
+ )
+ rtlsdr? ( net-wireless/rtl-sdr )
+ websocket? ( dev-libs/boost:= )
+"
+DEPEND="${RDEPEND}
+ kernel_linux? ( sys-kernel/linux-headers )
+ test? ( >=dev-cpp/gtest-1.8.0 )
+ websocket? ( dev-cpp/websocketpp )
+"
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/878525
+ # https://github.com/indilib/indi/issues/2023
+ filter-lto
+
+ local mycmakeargs=(
+ -DINDI_SYSTEM_HTTPLIB=ON
+ -DINDI_SYSTEM_JSONLIB=ON
+ -DINDI_BUILD_QT5_CLIENT=OFF
+ -DINDI_BUILD_SHARED=ON
+ -DINDI_BUILD_STATIC=OFF
+ -DINDI_BUILD_XISF=OFF # not packaged
+ -DUDEVRULES_INSTALL_DIR="${EPREFIX}$(get_udevdir)"/rules.d
+ $(cmake_use_find_package ogg OggTheora)
+ $(cmake_use_find_package rtlsdr RTLSDR)
+ -DINDI_BUILD_UNITTESTS=$(usex test)
+ -DINDI_BUILD_INTEGTESTS=$(usex test)
+ -DINDI_BUILD_WEBSOCKET=$(usex websocket)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Unit tests
+ BUILD_DIR="${BUILD_DIR}"/test cmake_src_test
+
+ # Integration tests
+ # They fail in parallel because they try to bind to the same port more
+ # than once.
+ BUILD_DIR="${BUILD_DIR}"/integs cmake_src_test -j1
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sci-libs/indilib/indilib-2.0.7.ebuild b/sci-libs/indilib/indilib-2.0.7.ebuild
new file mode 100644
index 000000000000..78c307accfed
--- /dev/null
+++ b/sci-libs/indilib/indilib-2.0.7.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic udev
+
+DESCRIPTION="INDI Astronomical Control Protocol library"
+HOMEPAGE="https://www.indilib.org/"
+SRC_URI="https://github.com/${PN}/${PN/lib/}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P/lib/}"
+
+LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="ogg rtlsdr test websocket"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/cpp-httplib:=
+ dev-cpp/nlohmann_json
+ dev-libs/libev
+ media-libs/libjpeg-turbo:=
+ net-misc/curl
+ sci-libs/cfitsio:=
+ sci-libs/fftw:3.0=
+ sci-libs/gsl:=
+ sci-libs/libnova:=
+ sys-libs/zlib
+ virtual/libusb:1
+ ogg? (
+ media-libs/libogg
+ media-libs/libtheora
+ )
+ rtlsdr? ( net-wireless/rtl-sdr )
+ websocket? ( dev-libs/boost:= )
+"
+DEPEND="${RDEPEND}
+ kernel_linux? ( sys-kernel/linux-headers )
+ test? ( >=dev-cpp/gtest-1.8.0 )
+ websocket? ( dev-cpp/websocketpp )
+"
+
+PATCHES=( "${FILESDIR}/${P}-fix-system-httplib.patch" )
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/878525
+ # https://github.com/indilib/indi/issues/2023
+ filter-lto
+
+ local mycmakeargs=(
+ -DINDI_SYSTEM_HTTPLIB=ON
+ -DINDI_SYSTEM_JSONLIB=ON
+ -DINDI_BUILD_QT5_CLIENT=OFF
+ -DINDI_BUILD_SHARED=ON
+ -DINDI_BUILD_STATIC=OFF
+ -DINDI_BUILD_XISF=OFF # not packaged
+ -DUDEVRULES_INSTALL_DIR="${EPREFIX}$(get_udevdir)"/rules.d
+ $(cmake_use_find_package ogg OggTheora)
+ $(cmake_use_find_package rtlsdr RTLSDR)
+ -DINDI_BUILD_UNITTESTS=$(usex test)
+ -DINDI_BUILD_INTEGTESTS=$(usex test)
+ -DINDI_BUILD_WEBSOCKET=$(usex websocket)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Unit tests
+ BUILD_DIR="${BUILD_DIR}"/test cmake_src_test
+
+ # Integration tests
+ # They fail in parallel because they try to bind to the same port more
+ # than once.
+ BUILD_DIR="${BUILD_DIR}"/integs cmake_src_test -j1
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sci-libs/indilib/metadata.xml b/sci-libs/indilib/metadata.xml
index 5d5d0f3c56e4..9442ce431ecc 100644
--- a/sci-libs/indilib/metadata.xml
+++ b/sci-libs/indilib/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
@@ -10,6 +10,7 @@
<remote-id type="sourceforge">indi</remote-id>
</upstream>
<use>
+ <flag name="rtlsdr">Enable support for devices supported by <pkg>net-wireless/rtl-sdr</pkg></flag>
<flag name="websocket">Enable support for WebSocket protocol</flag>
</use>
</pkgmetadata>
diff --git a/sci-libs/io_lib/Manifest b/sci-libs/io_lib/Manifest
deleted file mode 100644
index 8e2e6e6a3a02..000000000000
--- a/sci-libs/io_lib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST io_lib-1.14.7.tar.gz 2177248 BLAKE2B 6c1a8133a0f0edd253bf0c475cb206294f95659efc82679034f36d8eb963e4020b953f18c0ccfefa6dad61daffbd054513d36a7bdf0e725b8c5a943d98e0d567 SHA512 c1021f0a0dd284e8abbf9cc1dd11995550cf6621455c873effaab56b573fee053ed9e55879003c735c26c403a0aa34d75be87d337cd515cc912706abe7e08665
diff --git a/sci-libs/io_lib/io_lib-1.14.7.ebuild b/sci-libs/io_lib/io_lib-1.14.7.ebuild
deleted file mode 100644
index 61c5170f0012..000000000000
--- a/sci-libs/io_lib/io_lib-1.14.7.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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/11"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- net-misc/curl:=
- sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-
-# tests fails and might need sci-biology/staden from
-# the science overlay
-RESTRICT="test"
-
-src_configure() {
- econf $(use static-libs static)
-}
-
-src_install() {
- default
- dodoc docs/{Hash_File_Format,ZTR_format}
-
- if ! use static-libs; then
- find "${D}" \( -name '*.la' -o -name '*.a' \) -delete || die
- fi
-}
diff --git a/sci-libs/io_lib/metadata.xml b/sci-libs/io_lib/metadata.xml
deleted file mode 100644
index e4325132e2d2..000000000000
--- a/sci-libs/io_lib/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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
index bc13ac4fb942..2b5d26909c54 100644
--- a/sci-libs/ipopt/Manifest
+++ b/sci-libs/ipopt/Manifest
@@ -1,3 +1 @@
-DIST Ipopt-3.11.7.tgz 4749511 BLAKE2B c344634e427a6603544e50d661cafcf6004b4192a3912453dee96cfa143ca5f290f0efc39f46e983dcba6fe5b8a0becb2fa75bd6cc6f27be5c8ea8dc05f1ec4c SHA512 a9edd33b59c9744dc4e09d709519be1fc3d014cc4f50254402784aa8035d21617323f2879c430245886f2a13165cc81d26779331dc1601f0edfc406953dca56f
-DIST Ipopt-3.11.8.tgz 4749758 BLAKE2B c5ee5d3f01f1e8b4b6a1cd7606e2ad1a24c09fb0a8d8ed93fda7af61d543ac4f4579d7bb8817607d916223d9214693e1156f908cef1233a75df8759a1099b5d2 SHA512 1f60ea769dd7305348af3a5d4ed56938f04e59c36fb7a3fa0b808e4788dccee4711f82c3767e2aae87d21618d2a840d0bb22491c21c40bc2f9ebdf4b3a01aeec
-DIST Ipopt-3.12.12.tgz 4530034 BLAKE2B 8a8e24e4e5d8ad5bc1fcfa2de525e1e39c88a4c6dd77b51c0549249f517b3d6a1279e355a7cb606ebd8e606551031b653b78cd4d1cb51dd369e051ffa010011f SHA512 c543695feaa39a69b01e0025ebcd8a8772deb369ea1072f17da4ba34c1b522d322959067f3a6cfc40446e00c2e6dd2d6704a55623aba5d61dff44333727368cb
+DIST ipopt-3.14.4.tar.gz 1843885 BLAKE2B 83f6a983db282ced6e52237ff326c860a92df2c92dbd53db7581110d3003fd7b557a68453c74e48d780832d2c9c55d9eb4ea54e68f504c161952fce6bb81caaf SHA512 a27a08ae24c94da96efcfa236034cec79d79111d7dc9c028d808b412d5abb21495a0011f075a87db65b91ba69e191653552e7f99fe8da88c3b580d971eac3652
diff --git a/sci-libs/ipopt/ipopt-3.11.7.ebuild b/sci-libs/ipopt/ipopt-3.11.7.ebuild
deleted file mode 100644
index c0838cc7dedc..000000000000
--- a/sci-libs/ipopt/ipopt-3.11.7.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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
deleted file mode 100644
index 00636336536d..000000000000
--- a/sci-libs/ipopt/ipopt-3.11.8.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-RESTRICT="!test? ( 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/ipopt-3.12.12.ebuild b/sci-libs/ipopt/ipopt-3.12.12.ebuild
deleted file mode 100644
index 7aba7e67254c..000000000000
--- a/sci-libs/ipopt/ipopt-3.12.12.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED="mumps"
-
-inherit autotools fortran-2 toolchain-funcs
-
-MY_PN=${PN^}
-MY_P=${MY_PN}-${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/${MY_PN}/${MY_P}.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"
-RESTRICT="test" # Fails to compile
-
-RDEPEND="
- virtual/blas
- hsl? ( sci-libs/coinhsl:0= )
- lapack? ( virtual/lapack )
- mpi? ( virtual/mpi )
- 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}/${MY_PN}-${PV}/${MY_PN}"
-
-src_prepare() {
- if use mpi ; then
- export CXX=mpicxx FC=mpif77 F77=mpif77 CC=mpicc
- fi
- default
-}
-
-src_configure() {
- # needed for --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$(usex mpi '' '/mpiseq')
- --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
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake all
- use doc && emake doxydoc
-}
-
-src_test() {
- emake test
-}
-
-src_install() {
- default
- local HTML_DOCS DOCS
- use doc && HTML_DOCS=("${S}/doxydoc/html/.")
- use examples && DOCS+=( examples )
- einstalldocs
-
- rm -r "${ED%/}"/usr/share/coin || die
-}
diff --git a/sci-libs/ipopt/ipopt-3.14.4.ebuild b/sci-libs/ipopt/ipopt-3.14.4.ebuild
new file mode 100644
index 000000000000..44a78114fdfa
--- /dev/null
+++ b/sci-libs/ipopt/ipopt-3.14.4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="mumps"
+DOCS_BUILDER="doxygen"
+DOCS_DIR="doc"
+DOCS_DEPEND="media-gfx/graphviz"
+
+inherit docs fortran-2 toolchain-funcs
+
+DESCRIPTION="Interior-Point Optimizer for large-scale nonlinear optimization"
+HOMEPAGE="https://github.com/coin-or/Ipopt"
+SRC_URI="https://github.com/coin-or/Ipopt/archive/refs/tags/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Ipopt-releases-${PV}"
+
+LICENSE="EPL-1.0 hsl? ( HSL )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="hsl +lapack mpi mumps static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ virtual/blas
+ hsl? ( sci-libs/coinhsl:0= )
+ lapack? ( virtual/lapack )
+ mpi? ( virtual/mpi )
+ mumps? ( sci-libs/mumps:0=[mpi=] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sci-libs/coinor-sample sci-libs/mumps )"
+
+src_prepare() {
+ if use mpi ; then
+ export CXX=mpicxx FC=mpif77 F77=mpif77 CC=mpicc
+ fi
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc dot)
+ )
+
+ if use lapack; then
+ myeconfargs+=( --with-lapack="$($(tc-getPKG_CONFIG) --libs blas lapack)" )
+ else
+ myeconfargs+=( --without-lapack )
+ fi
+ if use mumps; then
+ myeconfargs+=(
+ --with-mumps-incdir="${EPREFIX}"/usr/include$(usex mpi '' '/mpiseq')
+ --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
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+ docs_compile
+}
+
+src_install() {
+ default
+ dodoc -r examples
+}
diff --git a/sci-libs/ipopt/metadata.xml b/sci-libs/ipopt/metadata.xml
index fa265c7e52e5..f5b474167afc 100644
--- a/sci-libs/ipopt/metadata.xml
+++ b/sci-libs/ipopt/metadata.xml
@@ -1,21 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
</maintainer>
<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).
+ 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>
+ <flag name="hsl">hsl</flag>
+ <flag name="mumps">Enable <pkg>sci-libs/mumps</pkg> support</flag>
</use>
+<upstream>
+ <bugs-to>https://github.com/coin-or/Ipopt/issues</bugs-to>
+ <remote-id type="github">coin-or/Ipopt</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sci-libs/itpp/files/itpp-4.3.1-use-GNUInstallDirs.patch b/sci-libs/itpp/files/itpp-4.3.1-use-GNUInstallDirs.patch
new file mode 100644
index 000000000000..4fa9c464e4e5
--- /dev/null
+++ b/sci-libs/itpp/files/itpp-4.3.1-use-GNUInstallDirs.patch
@@ -0,0 +1,116 @@
+From 3ed973b46b50015108a9577a51feec503f06025f Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 2 Mar 2022 04:10:20 +0000
+Subject: [PATCH] Use GNUInstallDirs
+
+---
+ CMakeLists.txt | 4 ----
+ itpp-config.cmake.in | 2 +-
+ itpp.pc.cmake.in | 2 +-
+ itpp/CMakeLists.txt | 23 ++++++++++++-----------
+ 4 files changed, 14 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a2c6958..cd661d1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -172,12 +172,8 @@ endif()
+ option(ITPP_SHARED_LIB "Building IT++ as shared library" on)
+ #set library name here to be available for all targets
+ if (ITPP_SHARED_LIB)
+- if ((CMAKE_BUILD_TYPE STREQUAL Release) OR (NOT CMAKE_BUILD_TYPE))
+ set (libitpp_target itpp)
+ set (CMAKE_CXX_FLAGS "-DNDEBUG ${CMAKE_CXX_FLAGS}")
+- else()
+- set (libitpp_target itpp_debug)
+- endif()
+ else()
+ set (libitpp_target itpp_static)
+ endif()
+diff --git a/itpp-config.cmake.in b/itpp-config.cmake.in
+index d24b57f..7d31753 100644
+--- a/itpp-config.cmake.in
++++ b/itpp-config.cmake.in
+@@ -2,7 +2,7 @@
+
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include
+
+ debug_flag=no
+diff --git a/itpp.pc.cmake.in b/itpp.pc.cmake.in
+index d92ce96..ac62b88 100644
+--- a/itpp.pc.cmake.in
++++ b/itpp.pc.cmake.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+-libdir=@CMAKE_INSTALL_PREFIX@/lib
++libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+ includedir=@CMAKE_INSTALL_PREFIX@/include
+
+ Name: @PACKAGE_NAME@
+diff --git a/itpp/CMakeLists.txt b/itpp/CMakeLists.txt
+index e8c78d3..ee8f587 100644
+--- a/itpp/CMakeLists.txt
++++ b/itpp/CMakeLists.txt
+@@ -24,6 +24,7 @@
+ # with IT++. If not, see <http://www.gnu.org/licenses/>.
+ #
+ # -------------------------------------------------------------------------
++include(GNUInstallDirs)
+
+ file ( GLOB ITPP_SRCS
+ "base/*.cpp"
+@@ -68,18 +69,18 @@ set_target_properties(${libitpp_target} PROPERTIES VERSION ${LIBITPP_VERSION_STR
+
+ #library
+ install(TARGETS ${libitpp_target}
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ #headers
+-install(DIRECTORY ${CMAKE_SOURCE_DIR}/itpp DESTINATION include FILES_MATCHING PATTERN "*.h")
++install(DIRECTORY ${CMAKE_SOURCE_DIR}/itpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h")
+ if (WIN32 AND NOT MINGW)
+- install(FILES ${CMAKE_BINARY_DIR}/itpp/config_msvc.h DESTINATION include/itpp)
++ install(FILES ${CMAKE_BINARY_DIR}/itpp/config_msvc.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/itpp)
+ else()
+- install(FILES ${CMAKE_BINARY_DIR}/itpp/config.h DESTINATION include/itpp)
++ install(FILES ${CMAKE_BINARY_DIR}/itpp/config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/itpp)
+ endif()
+-install(FILES ${CMAKE_BINARY_DIR}/itpp/itexports.h DESTINATION include/itpp)
++install(FILES ${CMAKE_BINARY_DIR}/itpp/itexports.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/itpp)
+
+ #extra files (MATLAB and python)
+ install(FILES ${CMAKE_SOURCE_DIR}/extras/itsave.m
+@@ -97,7 +98,7 @@ if (HTML_DOCS AND DOXYGEN_FOUND)
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ COMMENT "Generating API documentation with Doxygen" VERBATIM)
+ file(COPY ${CMAKE_SOURCE_DIR}/doc/images/itpp_logo.png DESTINATION ${CMAKE_BINARY_DIR}/html)
+- install(DIRECTORY ${CMAKE_BINARY_DIR}/html DESTINATION share/doc/itpp)
++ install(DIRECTORY ${CMAKE_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR}/itpp)
+ endif()
+
+ #itpp-config script for UNIX-like systems
+@@ -108,8 +109,8 @@ if (UNIX)
+ configure_file(${CMAKE_SOURCE_DIR}/itpp-config.cmake.in ${CMAKE_BINARY_DIR}/itpp-config @ONLY)
+ configure_file(${CMAKE_SOURCE_DIR}/itpp-config.1.cmake.in ${CMAKE_BINARY_DIR}/itpp-config.1 @ONLY)
+ configure_file(${CMAKE_SOURCE_DIR}/itpp.pc.cmake.in ${CMAKE_BINARY_DIR}/itpp.pc @ONLY)
+- install(FILES ${CMAKE_BINARY_DIR}/itpp-config DESTINATION bin PERMISSIONS OWNER_READ OWNER_EXECUTE
++ install(FILES ${CMAKE_BINARY_DIR}/itpp-config DESTINATION ${CMAKE_INSTALL_BINDIR} PERMISSIONS OWNER_READ OWNER_EXECUTE
+ GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+- install(FILES ${CMAKE_BINARY_DIR}/itpp-config.1 DESTINATION share/man/man1)
+- install(FILES ${CMAKE_BINARY_DIR}/itpp.pc DESTINATION lib/pkgconfig)
++ install(FILES ${CMAKE_BINARY_DIR}/itpp-config.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
++ install(FILES ${CMAKE_BINARY_DIR}/itpp.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ endif()
+--
+2.35.1
+
diff --git a/sci-libs/itpp/itpp-4.3.1-r1.ebuild b/sci-libs/itpp/itpp-4.3.1-r1.ebuild
deleted file mode 100644
index 8d522b501ed5..000000000000
--- a/sci-libs/itpp/itpp-4.3.1-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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="
- sci-libs/fftw:3.0=
- virtual/blas
- virtual/lapack
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? (
- app-doc/doxygen
- virtual/latex-base
- )
-"
-
-DOCS=( ChangeLog NEWS AUTHORS README )
-
-src_prepare() {
- cmake-utils_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 || die
- sed -i "s#/lib#/$(get_libdir)#" itpp.pc.cmake.in || die
- 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
- -DHTML_DOCS=$(usex doc)
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/itpp/itpp-4.3.1-r2.ebuild b/sci-libs/itpp/itpp-4.3.1-r2.ebuild
new file mode 100644
index 000000000000..80242c799244
--- /dev/null
+++ b/sci-libs/itpp/itpp-4.3.1-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ library of mathematical, signal processing and communication"
+HOMEPAGE="https://itpp.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="sci-libs/fftw:3.0=
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ doc? (
+ app-text/doxygen
+ virtual/latex-base
+ )"
+
+DOCS=( ChangeLog NEWS AUTHORS README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3.1-use-GNUInstallDirs.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBLA_VENDOR=Generic
+ -DHTML_DOCS=$(usex doc)
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/itpp/metadata.xml b/sci-libs/itpp/metadata.xml
index 6606a6014ad7..64a5bafacc5d 100644
--- a/sci-libs/itpp/metadata.xml
+++ b/sci-libs/itpp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -12,7 +12,7 @@
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>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">itpp</remote-id>
</upstream>
diff --git a/sci-libs/jama/metadata.xml b/sci-libs/jama/metadata.xml
index 5052beb3f7f5..c3eed4e8d3fa 100644
--- a/sci-libs/jama/metadata.xml
+++ b/sci-libs/jama/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/jiwer/Manifest b/sci-libs/jiwer/Manifest
new file mode 100644
index 000000000000..5046f9483225
--- /dev/null
+++ b/sci-libs/jiwer/Manifest
@@ -0,0 +1 @@
+DIST jiwer-3.0.3.gh.tar.gz 24092 BLAKE2B 593170953a8f56d654b7a749fd7b8a636065c1a3b1e51b810b1768b8acd817474010025d758a3af984bbe9d4d834411d8a5df446174e87b839be1325fbd1085f SHA512 fbd9d7a5d8c2056e99f47cf55ef8661fcf96ccd16bafe28f40036477def6e7ff433bd372169fdc92c5b727e106e90353468205d2d8238726ea501c3cbab8d156
diff --git a/sci-libs/jiwer/files/jiwer-3.0.1-tests.patch b/sci-libs/jiwer/files/jiwer-3.0.1-tests.patch
new file mode 100644
index 000000000000..cfd9530985a3
--- /dev/null
+++ b/sci-libs/jiwer/files/jiwer-3.0.1-tests.patch
@@ -0,0 +1,31 @@
+--- a/tests/test_speed.py 2023-05-14 18:22:53.206560417 +0200
++++ b/tests/test_speed.py 2023-05-14 18:24:35.611996479 +0200
+@@ -1,4 +1,6 @@
+ from jiwer import wer
++import pytest
++
+
+
+ def perform_computation(num_sentences):
+@@ -8,17 +10,21 @@
+ wer(truth, hypo)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n1(benchmark):
+ benchmark(perform_computation, 1)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n10(benchmark):
+ benchmark(perform_computation, 10)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n100(benchmark):
+ benchmark(perform_computation, 100)
+
+
++@pytest.mark.skip(reason="require pytest-benchmark")
+ def test_speed_n1000(benchmark):
+ benchmark(perform_computation, 1000)
diff --git a/sci-libs/jiwer/jiwer-3.0.3.ebuild b/sci-libs/jiwer/jiwer-3.0.3.ebuild
new file mode 100644
index 000000000000..dd694082ecbe
--- /dev/null
+++ b/sci-libs/jiwer/jiwer-3.0.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1
+
+DESCRIPTION="Evaluate an automatic speech recognition system"
+HOMEPAGE="
+ https://github.com/jitsi/jiwer
+ https://pypi.org/project/jiwer/
+"
+SRC_URI="https://github.com/jitsi/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RDEPEND="
+ dev-python/rapidfuzz[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${PN}-3.0.1-tests.patch )
diff --git a/sci-libs/jiwer/metadata.xml b/sci-libs/jiwer/metadata.xml
new file mode 100644
index 000000000000..183cb49efbc4
--- /dev/null
+++ b/sci-libs/jiwer/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">jiwer</remote-id>
+ <remote-id type="github">jitsi/jiwer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/keras-applications/Manifest b/sci-libs/keras-applications/Manifest
index 0a73422f78b7..ab10fe6c757d 100644
--- a/sci-libs/keras-applications/Manifest
+++ b/sci-libs/keras-applications/Manifest
@@ -1,2 +1 @@
-DIST keras-applications-1.0.7.tar.gz 289570 BLAKE2B 5f6fe2419b2de41f718e6beae56c8c4910efe0e6c282ad32b792f50a8b9ebc88c866eed84fb8c7dcbbd1680de605036a0012458af6d14250b1f8624ead5013b7 SHA512 5f2c5fb7b7f644a881f8cc9040633a69d3a72562206dd0601c8b31bf4fd3bb2aeee07a0d7040311f0fd42f16330bc249d306cdfa01c7b60717b05726040a0b78
DIST keras-applications-1.0.8.tar.gz 288909 BLAKE2B 41d70552f5dfdd0c1385a7ca0b527ce0e0c3441c1ee3f72c90569f3e43e6a82485d0d4affee83afc645f3b99a519facb41d11a3fc1384c98f44182dddbea02bb SHA512 58af0d8e0289d97b416559bf235deeb9a5405d50f2a2c93612cdbde36e4d6d006db5c570acb814c209414a4b61c2310a99257aa0e2feaf24e5260d549b8b94f6
diff --git a/sci-libs/keras-applications/keras-applications-1.0.7.ebuild b/sci-libs/keras-applications/keras-applications-1.0.7.ebuild
deleted file mode 100644
index 97ad5b054868..000000000000
--- a/sci-libs/keras-applications/keras-applications-1.0.7.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-inherit distutils-r1
-
-DESCRIPTION="Keras deep learning library reference implementations of deep learning models"
-HOMEPAGE="https://keras.io/applications/"
-SRC_URI="https://github.com/keras-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/sci-libs/keras-applications/keras-applications-1.0.8-r2.ebuild b/sci-libs/keras-applications/keras-applications-1.0.8-r2.ebuild
new file mode 100644
index 000000000000..16e901fdb80a
--- /dev/null
+++ b/sci-libs/keras-applications/keras-applications-1.0.8-r2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1
+
+DESCRIPTION="Keras deep learning library reference implementations of deep learning models"
+HOMEPAGE="https://keras.io/applications/"
+SRC_URI="https://github.com/keras-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
diff --git a/sci-libs/keras-applications/keras-applications-1.0.8.ebuild b/sci-libs/keras-applications/keras-applications-1.0.8.ebuild
deleted file mode 100644
index 97ad5b054868..000000000000
--- a/sci-libs/keras-applications/keras-applications-1.0.8.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-inherit distutils-r1
-
-DESCRIPTION="Keras deep learning library reference implementations of deep learning models"
-HOMEPAGE="https://keras.io/applications/"
-SRC_URI="https://github.com/keras-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/sci-libs/keras-applications/metadata.xml b/sci-libs/keras-applications/metadata.xml
index f195797ab3a0..00ca801f5326 100644
--- a/sci-libs/keras-applications/metadata.xml
+++ b/sci-libs/keras-applications/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>perfinion@gentoo.org</email>
diff --git a/sci-libs/keras-preprocessing/Manifest b/sci-libs/keras-preprocessing/Manifest
index dca1269031b7..15b2d81619e5 100644
--- a/sci-libs/keras-preprocessing/Manifest
+++ b/sci-libs/keras-preprocessing/Manifest
@@ -1,2 +1 @@
-DIST keras-preprocessing-1.0.9.tar.gz 46476 BLAKE2B af80a6647bb56f8c4dba93120bc2b70db36d2c6a0e36c3be9a4843e5c36c9ffe50db1cd9396eecd47f6c0595c110825d70d2e6b28a29a0a199b5cfcc499e4440 SHA512 93ef9b294638bfeaea82170b323f08b261a2519f5ee8b9aac7d88e5b32c6486646d91075cea71bfbc27780c8af55125319873361f0431d48b451e574d1e7a400
-DIST keras-preprocessing-1.1.0.tar.gz 50631 BLAKE2B 235a1a7d296684e5405c6472026a53b1930923e74065529ba6921e91bf8849d35c02378f8eeabc4f532a4e25937e8fd8f712a59067c5b358afe10b88e1531fcb SHA512 68c71e82ea2139d3db4142c86a2c404e4d65a9a881f72b07b4ccf28733b93a9e4837f91534a20c3ca5128600d8b885cc8723181d96c9045d5280ad7f84091cbb
+DIST Keras_Preprocessing-1.1.2.tar.gz 163598 BLAKE2B 94d0bac41ac140015a5d46453c99e1180c8c06d8fab4d6707890b1f24466d287f6da54d66b395e5e50c7aac67cc0abc8153fbfbeb4ffb0e79561bca528a6b81b SHA512 aae4d52accdfb9df260070336b1c5a628e57563978f7cb299aa67a6265f26eb44deb803cef795616a5e94cd8bcd2b9aa067570258fff96642b88cc0c701c3cec
diff --git a/sci-libs/keras-preprocessing/keras-preprocessing-1.0.9.ebuild b/sci-libs/keras-preprocessing/keras-preprocessing-1.0.9.ebuild
deleted file mode 100644
index 58c165ae5018..000000000000
--- a/sci-libs/keras-preprocessing/keras-preprocessing-1.0.9.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-inherit distutils-r1
-
-DESCRIPTION="Easy data preprocessing and data augmentation for deep learning models"
-HOMEPAGE="https://keras.io/"
-SRC_URI="https://github.com/keras-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/sci-libs/keras-preprocessing/keras-preprocessing-1.1.0.ebuild b/sci-libs/keras-preprocessing/keras-preprocessing-1.1.0.ebuild
deleted file mode 100644
index 58c165ae5018..000000000000
--- a/sci-libs/keras-preprocessing/keras-preprocessing-1.1.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-inherit distutils-r1
-
-DESCRIPTION="Easy data preprocessing and data augmentation for deep learning models"
-HOMEPAGE="https://keras.io/"
-SRC_URI="https://github.com/keras-team/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/sci-libs/keras-preprocessing/keras-preprocessing-1.1.2-r1.ebuild b/sci-libs/keras-preprocessing/keras-preprocessing-1.1.2-r1.ebuild
new file mode 100644
index 000000000000..120e85768ffc
--- /dev/null
+++ b/sci-libs/keras-preprocessing/keras-preprocessing-1.1.2-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN="Keras_Preprocessing"
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easy data preprocessing and data augmentation for deep learning models"
+HOMEPAGE="https://keras.io/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
diff --git a/sci-libs/keras-preprocessing/metadata.xml b/sci-libs/keras-preprocessing/metadata.xml
index 833dd3977c1a..89bac5c2363d 100644
--- a/sci-libs/keras-preprocessing/metadata.xml
+++ b/sci-libs/keras-preprocessing/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>perfinion@gentoo.org</email>
diff --git a/sci-libs/kim-api/Manifest b/sci-libs/kim-api/Manifest
index 35221f2e648f..059806d4dcc0 100644
--- a/sci-libs/kim-api/Manifest
+++ b/sci-libs/kim-api/Manifest
@@ -1 +1 @@
-DIST kim-api-2.1.3.txz 296492 BLAKE2B 707ae2eaeaa737865d9b4f48a7f1ed53fb6453fc3680dee3b5b41f315b60710dfa9546105bc871cf1a4667644434e4a8eab0c95976feef3bed73ff8401613ac3 SHA512 efbc0214234b43a65ed40d23d8faa5264ac1dbd056e9e340548ea7ee5dc530f9cfb2d85a1d9d47fba9dfc7aa660a8ec20374daf4aa8ee605e7c097ae2a12512d
+DIST kim-api-2.2.1.txz 351144 BLAKE2B d8086904051633549e9fa5e3fd774cad625048a55864aa52840c4a03f8fca4c3e91746fac78a85449c31254a2ffd39bbb521bd119b2f0a79a9ce809aa4eb8bf5 SHA512 b2625dc41474849f281f266a1fa8a2b1738d2433031d2181bde36ac5ec050fcdec3925cb588b287a46c80c01c730be04352ca88a9ba71fc3b37c2da1c84ae650
diff --git a/sci-libs/kim-api/kim-api-2.1.3-r1.ebuild b/sci-libs/kim-api/kim-api-2.1.3-r1.ebuild
deleted file mode 100644
index b1edca4f5a16..000000000000
--- a/sci-libs/kim-api/kim-api-2.1.3-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake fortran-2
-
-DESCRIPTION="Application Programming Interface for atomistic simulations"
-HOMEPAGE="https://openkim.org"
-SRC_URI="https://s3.openkim.org/${PN}/${P}.txz"
-
-LICENSE="CDDL"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-editors/vim-core"
-RDEPEND="${DEPEND}"
diff --git a/sci-libs/kim-api/kim-api-2.2.1.ebuild b/sci-libs/kim-api/kim-api-2.2.1.ebuild
new file mode 100644
index 000000000000..94107339ee17
--- /dev/null
+++ b/sci-libs/kim-api/kim-api-2.2.1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake fortran-2
+
+DESCRIPTION="Application Programming Interface for atomistic simulations"
+HOMEPAGE="https://openkim.org"
+SRC_URI="https://s3.openkim.org/${PN}/${P}.txz"
+
+LICENSE="CDDL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="app-editors/vim-core"
+RDEPEND="${DEPEND}"
diff --git a/sci-libs/kim-api/metadata.xml b/sci-libs/kim-api/metadata.xml
index ae9640ffb9f1..c0cd18916a93 100644
--- a/sci-libs/kim-api/metadata.xml
+++ b/sci-libs/kim-api/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/kineto/Manifest b/sci-libs/kineto/Manifest
new file mode 100644
index 000000000000..5306787a3e16
--- /dev/null
+++ b/sci-libs/kineto/Manifest
@@ -0,0 +1 @@
+DIST kineto-0.4.0_p20231127.tar.gz 8234629 BLAKE2B ac6e13340817eb283e387e699e70e5113571b258ee3ebf72f2d4a54a6349be22d84701ddec67fbc72d12be3fb0c321a71c8dd64a7f8a6d679522c49f21304fbc SHA512 316db3db624ae36720c0fcabb81f70c31b94ea64f18bc103aeadb75a25e06e113a774a3ec0c769881960ad61f3c2210172ccde1c451df653e7c430fbe89e4d9a
diff --git a/sci-libs/kineto/files/kineto-0.4.0-gcc13.patch b/sci-libs/kineto/files/kineto-0.4.0-gcc13.patch
new file mode 100644
index 000000000000..296104aef7fc
--- /dev/null
+++ b/sci-libs/kineto/files/kineto-0.4.0-gcc13.patch
@@ -0,0 +1,10 @@
+--- a/src/SampleListener.h 2023-04-12 12:07:58.869097270 +0200
++++ b/src/SampleListener.h 2023-04-12 12:09:42.930392363 +0200
+@@ -7,6 +7,7 @@
+ #include <iostream>
+ #include <string>
+ #include <vector>
++#include <cstdint>
+
+ namespace KINETO_NAMESPACE {
+
diff --git a/sci-libs/kineto/files/kineto-0.4.0_p20231031-gentoo.patch b/sci-libs/kineto/files/kineto-0.4.0_p20231031-gentoo.patch
new file mode 100644
index 000000000000..d0f8790ae5a5
--- /dev/null
+++ b/sci-libs/kineto/files/kineto-0.4.0_p20231031-gentoo.patch
@@ -0,0 +1,74 @@
+--- a/CMakeLists.txt 2022-05-24 11:16:18.537610972 +0200
++++ b/CMakeLists.txt 2022-05-24 11:19:15.011073535 +0200
+@@ -86,7 +86,8 @@
+ CXX_STANDARD_REQUIRED YES
+ CXX_EXTENSIONS NO)
+
+-set(KINETO_COMPILE_OPTIONS "-DKINETO_NAMESPACE=libkineto")
++set(KINETO_COMPILE_OPTIONS "-DKINETO_NAMESPACE=libkineto"
++ ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+ list(APPEND KINETO_COMPILE_OPTIONS "-DFMT_HEADER_ONLY")
+ list(APPEND KINETO_COMPILE_OPTIONS "-DENABLE_IPC_FABRIC")
+ if(NOT MSVC)
+@@ -111,7 +113,7 @@
+ target_compile_options(kineto_base PRIVATE "${KINETO_COMPILE_OPTIONS}")
+ target_compile_options(kineto_api PRIVATE "${KINETO_COMPILE_OPTIONS}")
+
+-if(NOT TARGET fmt)
++if(FALSE)
+ if(NOT FMT_SOURCE_DIR)
+ set(FMT_SOURCE_DIR "${LIBKINETO_THIRDPARTY_DIR}/fmt"
+ CACHE STRING "fmt source directory from submodules")
+@@ -129,9 +131,7 @@
+ set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE)
+ endif()
+
+-set(FMT_INCLUDE_DIR "${FMT_SOURCE_DIR}/include")
+ message(STATUS "Kineto: FMT_SOURCE_DIR = ${FMT_SOURCE_DIR}")
+-message(STATUS "Kineto: FMT_INCLUDE_DIR = ${FMT_INCLUDE_DIR}")
+ if (NOT CUPTI_INCLUDE_DIR)
+ set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/extras/CUPTI/include")
+ endif()
+@@ -144,15 +144,14 @@
+ set(ROCM_INCLUDE_DIRS "${ROCM_SOURCE_DIR}/include")
+ endif()
+
+-set(DYNOLOG_INCLUDE_DIR "${LIBKINETO_THIRDPARTY_DIR}/dynolog/")
+-set(IPCFABRIC_INCLUDE_DIR "${DYNOLOG_INCLUDE_DIR}/dynolog/src/ipcfabric/")
++set(DYNOLOG_INCLUDE_DIR "@GENTOO_PORTAGE_EPREFIX@/usr/include/dynolog/")
++set(IPCFABRIC_INCLUDE_DIR "@GENTOO_PORTAGE_EPREFIX@/usr/include/dynolog/src/ipcfabric/")
+
+ message(INFO " CUPTI_INCLUDE_DIR = ${CUPTI_INCLUDE_DIR}")
+ message(INFO " ROCTRACER_INCLUDE_DIR = ${ROCTRACER_INCLUDE_DIR}")
+ message(INFO " DYNOLOG_INCLUDE_DIR = ${DYNOLOG_INCLUDE_DIR}")
+ message(INFO " IPCFABRIC_INCLUDE_DIR = ${IPCFABRIC_INCLUDE_DIR}")
+
+-add_subdirectory("${IPCFABRIC_INCLUDE_DIR}")
+ target_link_libraries(kineto_base PRIVATE dynolog_ipcfabric_lib)
+
+ target_include_directories(kineto_base PUBLIC
+@@ -160,7 +159,6 @@
+ $<BUILD_INTERFACE:${LIBKINETO_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${LIBKINETO_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${DYNOLOG_INCLUDE_DIR}>
+- $<BUILD_INTERFACE:${FMT_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${IPCFABRIC_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CUPTI_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CUDA_INCLUDE_DIRS}>
+@@ -168,7 +166,6 @@
+ $<BUILD_INTERFACE:${ROCM_INCLUDE_DIRS}>)
+
+ target_include_directories(kineto_api PUBLIC
+- $<BUILD_INTERFACE:${FMT_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${LIBKINETO_INCLUDE_DIR}>)
+
+ if(KINETO_LIBRARY_TYPE STREQUAL "default")
+@@ -202,8 +199,6 @@
+ if(CUDA_nvperf_host_LIBRARY)
+ target_link_libraries(kineto "${CUDA_nvperf_host_LIBRARY}")
+ endif()
+-target_link_libraries(kineto $<BUILD_INTERFACE:fmt::fmt-header-only>)
+-add_dependencies(kineto fmt::fmt-header-only)
+
+ install(TARGETS kineto EXPORT kinetoLibraryConfig
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/sci-libs/kineto/kineto-0.4.0_p20231127.ebuild b/sci-libs/kineto/kineto-0.4.0_p20231127.ebuild
new file mode 100644
index 000000000000..3a0dcc58057b
--- /dev/null
+++ b/sci-libs/kineto/kineto-0.4.0_p20231127.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-any-r1 cmake prefix
+
+CommitId=c7aeac02222978e7673ee5381bfcaa6b60d5d69c
+
+DESCRIPTION="part of the PyTorch Profiler"
+HOMEPAGE="https://github.com/pytorch/kineto"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="
+ dev-libs/libfmt
+ dev-libs/dynolog
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.0-gcc13.patch
+)
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+src_prepare() {
+ cd libkineto
+ cmake_src_prepare
+}
+
+src_configure() {
+ cd libkineto
+ local mycmakeargs=(
+ -DLIBKINETO_THIRDPARTY_DIR="${EPREFIX}"/usr/include/
+ )
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-0.4.0_p20231031-gentoo.patch)
+
+ cmake_src_configure
+}
diff --git a/sci-libs/kineto/metadata.xml b/sci-libs/kineto/metadata.xml
new file mode 100644
index 000000000000..9d79d73e5c54
--- /dev/null
+++ b/sci-libs/kineto/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/kineto</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/kissfft/Manifest b/sci-libs/kissfft/Manifest
new file mode 100644
index 000000000000..12e96cdb00eb
--- /dev/null
+++ b/sci-libs/kissfft/Manifest
@@ -0,0 +1 @@
+DIST kissfft-131.1.0.tar.gz 52383 BLAKE2B 74e6d2e7d132a311b31c28a468e13d9772a53f0ea0abed0e0f49d8db9c183fb0646f58fd38df3e797b8577285899daf6b80446b149ce2582bb828410656d96df SHA512 bd715868ce0e93a291a0592fb1f8b960e832fc64efe863755e52b67d5addff9bcb444a1bf2570d1914c52b41dad1023d0d86400f5ea30c9fb84cd6b4f7210708
diff --git a/sci-libs/kissfft/files/kissfft-131.1.0-cmake.patch b/sci-libs/kissfft/files/kissfft-131.1.0-cmake.patch
new file mode 100644
index 000000000000..a3cb3e468e17
--- /dev/null
+++ b/sci-libs/kissfft/files/kissfft-131.1.0-cmake.patch
@@ -0,0 +1,26 @@
+diff --git a/kissfft-config.cmake.in b/kissfft-config.cmake.in
+index cd7139a..7d6c7a2 100644
+--- a/kissfft-config.cmake.in
++++ b/kissfft-config.cmake.in
+@@ -66,14 +66,19 @@ foreach(_kissfft_datatype simd int16 int32 float double)
+ endforeach()
+
+ if(_kissfft_datatype_detected)
+- if(NOT TARGET kissfft::kissfft-${_kissfft_datatype_detected})
+- message(FATAL_ERROR "kissfft with datatype=${_kissfft_datatype_detected} is not installed")
++ if(TARGET kissfft::kissfft-${_kissfft_datatype_detected}-openmp)
++ set(_kissfft_openmp_detected "-openmp")
+ endif()
++
++ if(NOT TARGET kissfft::kissfft-${_kissfft_datatype_detected}${_kissfft_openmp_detected})
++ message(FATAL_ERROR "kissfft with datatype=${_kissfft_datatype_detected}${_kissfft_openmp_detected} is not installed")
++ endif()
++
+ if(TARGET kissfft::kissfft)
+ message(SEND_ERROR "kissfft::kissfft already exists. You cannot use 2 find_package's with datatype that are visible to eachother.")
+ else()
+ add_library(kissfft::kissfft INTERFACE IMPORTED)
+- set_property(TARGET kissfft::kissfft PROPERTY INTERFACE_LINK_LIBRARIES kissfft::kissfft-${_kissfft_datatype_detected})
++ set_property(TARGET kissfft::kissfft PROPERTY INTERFACE_LINK_LIBRARIES kissfft::kissfft-${_kissfft_datatype_detected}${_kissfft_openmp_detected})
+ endif()
+ endif()
diff --git a/sci-libs/kissfft/files/kissfft-131.1.0-cross.patch b/sci-libs/kissfft/files/kissfft-131.1.0-cross.patch
new file mode 100644
index 000000000000..137a5a939872
--- /dev/null
+++ b/sci-libs/kissfft/files/kissfft-131.1.0-cross.patch
@@ -0,0 +1,30 @@
+From 8b308c28e5c3684ac002289b0eebc64500bbed1c Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 24 Dec 2023 16:37:38 +0000
+Subject: [PATCH] GNUInstallDirs is not supposed to be used conditionally
+
+Always include it to fix cross-compiling. This should not break Windows.
+
+Closes: https://github.com/mborgerding/kissfft/issues/65
+---
+ CMakeLists.txt | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0213798..c4d7d3e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -105,9 +105,7 @@ endif()
+ # Add GNUInstallDirs for GNU infrastructure before target)include_directories
+ #
+
+-if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$" AND NOT CMAKE_CROSSCOMPILING)
+- include(GNUInstallDirs)
+-endif()
++include(GNUInstallDirs)
+
+ #
+ # Declare PKGINCLUDEDIR for kissfft include path
+--
+2.43.0
+
diff --git a/sci-libs/kissfft/kissfft-131.1.0-r1.ebuild b/sci-libs/kissfft/kissfft-131.1.0-r1.ebuild
new file mode 100644
index 000000000000..14e039c7eec1
--- /dev/null
+++ b/sci-libs/kissfft/kissfft-131.1.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit cmake python-any-r1 toolchain-funcs
+
+DESCRIPTION="A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid"
+HOMEPAGE="https://github.com/mborgerding/kissfft"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/mborgerding/kissfft"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/mborgerding/kissfft/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="alloca cpu_flags_x86_sse openmp test tools"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? (
+ sci-libs/fftw:3.0
+ $(python_gen_any_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-131.1.0-cross.patch
+ "${FILESDIR}"/${PN}-131.1.0-cmake.patch
+)
+
+python_check_deps() {
+ python_has_version -d "dev-python/numpy[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DKISSFFT_OPENMP=$(usex openmp 1 0)
+ -DKISSFFT_TEST=$(usex test)
+ -DKISSFFT_TOOLS=$(usex tools)
+ -DKISSFFT_USE_ALLOCA=$(usex alloca)
+ -DKISSFFT_DATATYPE=$(usex cpu_flags_x86_sse simd float)
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/kissfft/kissfft-131.1.0.ebuild b/sci-libs/kissfft/kissfft-131.1.0.ebuild
new file mode 100644
index 000000000000..453b134283b6
--- /dev/null
+++ b/sci-libs/kissfft/kissfft-131.1.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-any-r1 toolchain-funcs
+
+DESCRIPTION="A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid"
+HOMEPAGE="https://github.com/mborgerding/kissfft"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/mborgerding/kissfft"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/mborgerding/kissfft/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="alloca cpu_flags_x86_sse openmp test tools"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? (
+ sci-libs/fftw:3.0
+ $(python_gen_any_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-131.1.0-cross.patch
+)
+
+python_check_deps() {
+ python_has_version -d "dev-python/numpy[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DKISSFFT_OPENMP=$(usex openmp 1 0)
+ -DKISSFFT_TEST=$(usex test)
+ -DKISSFFT_TOOLS=$(usex tools)
+ -DKISSFFT_USE_ALLOCA=$(usex alloca)
+ -DKISSFFT_DATATYPE=$(usex cpu_flags_x86_sse simd float)
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/kissfft/kissfft-9999.ebuild b/sci-libs/kissfft/kissfft-9999.ebuild
new file mode 100644
index 000000000000..14e039c7eec1
--- /dev/null
+++ b/sci-libs/kissfft/kissfft-9999.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit cmake python-any-r1 toolchain-funcs
+
+DESCRIPTION="A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid"
+HOMEPAGE="https://github.com/mborgerding/kissfft"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/mborgerding/kissfft"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/mborgerding/kissfft/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="alloca cpu_flags_x86_sse openmp test tools"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? (
+ sci-libs/fftw:3.0
+ $(python_gen_any_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-131.1.0-cross.patch
+ "${FILESDIR}"/${PN}-131.1.0-cmake.patch
+)
+
+python_check_deps() {
+ python_has_version -d "dev-python/numpy[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DKISSFFT_OPENMP=$(usex openmp 1 0)
+ -DKISSFFT_TEST=$(usex test)
+ -DKISSFFT_TOOLS=$(usex tools)
+ -DKISSFFT_USE_ALLOCA=$(usex alloca)
+ -DKISSFFT_DATATYPE=$(usex cpu_flags_x86_sse simd float)
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/kissfft/metadata.xml b/sci-libs/kissfft/metadata.xml
new file mode 100644
index 000000000000..9cc777a3ea9c
--- /dev/null
+++ b/sci-libs/kissfft/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <use>
+ <flag name="alloca">Use alloca(3) instead of malloc(3) for memory management</flag>
+ <flag name="tools">Build command line tools</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mborgerding/kissfft</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/klu/Manifest b/sci-libs/klu/Manifest
index 5b61d529d95c..0e6da4f95109 100644
--- a/sci-libs/klu/Manifest
+++ b/sci-libs/klu/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST klu-1.3.9.tar.bz2 635596 BLAKE2B 6c6c84cf1b30e78cbaaee6bebed21c806d1672bee5f7ea061e7ef057ff56fd456e8517ca2ff1018a14ebcbc8f96b9e87989e22d8996817394666e6d8d2d727dd SHA512 b7fd862fe8443596758c27f9c918e367b3b3816340836e74cf8d97a2e755fbe07d133778eea3d054bc70243fa15c2bd71f4fd90c1179879661ba2d624b8f0706
diff --git a/sci-libs/klu/files/klu-1.3.9-dash_doc.patch b/sci-libs/klu/files/klu-1.3.9-dash_doc.patch
new file mode 100644
index 000000000000..a0db5d45c597
--- /dev/null
+++ b/sci-libs/klu/files/klu-1.3.9-dash_doc.patch
@@ -0,0 +1,25 @@
+--- a/Doc/Makefile.am
++++ b/Doc/Makefile.am
+@@ -1,15 +1,14 @@
+
+ KLU_UserGuide.pdf:
+- echo '\begin{verbatim}' > klu_h.tex
++ printf '\\begin{verbatim}\n' > klu_h.tex
+ expand -8 $(top_srcdir)/Include/klu.h >> klu_h.tex
+- echo '\end{verbatim}' >> klu_h.tex
+- echo '\begin{verbatim}' > btf_h.tex
+- echo 'See your btf.h local install' >> btf_h.tex
+- echo '\end{verbatim}' >> btf_h.tex
+- echo '\begin{verbatim}' > klu_simple_c.tex
++ printf '\\end{verbatim}\n' >> klu_h.tex
++ printf '\\begin{verbatim}\n' > btf_h.tex
++ printf 'See your btf.h local install\n' >> btf_h.tex
++ printf '\\end{verbatim}\n' >> btf_h.tex
++ printf '\\begin{verbatim}\n' > klu_simple_c.tex
+ expand -8 $(top_srcdir)/Demo/klu_simple.c >> klu_simple_c.tex
+- echo '\end{verbatim}' >> klu_simple_c.tex
+- -ln -s $(srcdir)/*.{tex,bib} .
++ printf '\\end{verbatim}\n' >> klu_simple_c.tex
+ $(PDFLATEX) KLU_UserGuide
+ $(BIBTEX) KLU_UserGuide
+ $(PDFLATEX) KLU_UserGuide
diff --git a/sci-libs/klu/klu-1.3.9-r2.ebuild b/sci-libs/klu/klu-1.3.9-r2.ebuild
new file mode 100644
index 000000000000..de79b06f2f39
--- /dev/null
+++ b/sci-libs/klu/klu-1.3.9-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Sparse LU factorization for circuit simulation"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+DEPEND="
+ >=sci-libs/amd-2.4
+ >=sci-libs/btf-1.2
+ >=sci-libs/colamd-2.9"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.3.9-dash_doc.patch )
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_with doc)
+}
+
+src_install() {
+ default
+
+ # remove .la file
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/klu/klu-1.3.9.ebuild b/sci-libs/klu/klu-1.3.9.ebuild
deleted file mode 100644
index 63bce3c1c125..000000000000
--- a/sci-libs/klu/klu-1.3.9.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Sparse LU factorization for circuit simulation"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
-SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc static-libs"
-
-BDEPEND="virtual/pkgconfig
- doc? ( virtual/latex-base )"
-DEPEND="
- >=sci-libs/amd-2.4
- >=sci-libs/btf-1.2
- >=sci-libs/colamd-2.9"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with doc)
-}
diff --git a/sci-libs/klu/klu-2.0.3.ebuild b/sci-libs/klu/klu-2.0.3.ebuild
new file mode 100644
index 000000000000..3aca27a557ad
--- /dev/null
+++ b/sci-libs/klu/klu-2.0.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Sparse LU factorization for circuit simulation"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-7.0.0
+ >=sci-libs/amd-3.0.3
+ >=sci-libs/btf-2.0.3
+ >=sci-libs/colamd-3.0.3
+ >=sci-libs/cholmod-4.0.3"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run demo files
+ ./klu_simple || die "failed testing"
+ ./kludemo < "${S}"/Matrix/1c.mtx || die "failed testing"
+ ./kludemo < "${S}"/Matrix/arrowc.mtx || die "failed testing"
+ ./kludemo < "${S}"/Matrix/arrow.mtx || die "failed testing"
+ ./kludemo < "${S}"/Matrix/impcol_a.mtx || die "failed testing"
+ ./kludemo < "${S}"/Matrix/w156.mtx || die "failed testing"
+ ./kludemo < "${S}"/Matrix/ctina.mtx || die "failed testing"
+ ./kluldemo < "${S}"/Matrix/1c.mtx || die "failed testing"
+ ./kluldemo < "${S}"/Matrix/arrowc.mtx || die "failed testing"
+ ./kluldemo < "${S}"/Matrix/arrow.mtx || die "failed testing"
+ ./kluldemo < "${S}"/Matrix/impcol_a.mtx || die "failed testing"
+ ./kluldemo < "${S}"/Matrix/w156.mtx || die "failed testing"
+ ./kluldemo < "${S}"/Matrix/ctina.mtx || die "failed testing"
+}
+
+multilib_src_install() {
+ if use doc; then
+ pushd "${S}/Doc"
+ emake clean
+ rm -rf *.pdf
+ emake
+ popd
+ DOCS="${S}/Doc/*.pdf"
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/klu/metadata.xml b/sci-libs/klu/metadata.xml
index ad32bd7d4556..16b070542e68 100644
--- a/sci-libs/klu/metadata.xml
+++ b/sci-libs/klu/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,4 +10,7 @@
circuit simulation. It is also part of the University
of Florida sparse matrix suite.
</longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/lapack-reference/Manifest b/sci-libs/lapack-reference/Manifest
deleted file mode 100644
index 82ed4199cf2e..000000000000
--- a/sci-libs/lapack-reference/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST lapack-3.2.1.tgz 4792502 BLAKE2B e9d39c958406db05383ebda7e781ae6c2d0b1f3896d4071a33bec0c7038f9ffca3e254f8ef36aa27118c83a1e5df9110c57ce90ab897e0f8f0ca5750d20cba0e SHA512 a89b88540f8e5b05b7c58e8e301a5068729ceb35fcb2143edfff1644458ff1a375e5185492cf116b50409fe0c17b51c253a2987f4df83e9f9c3968a4b77e5d97
-DIST lapack-3.6.0.tgz 6792324 BLAKE2B 438f3376b63b38ef0fe70f6becac847816f3a11c01f5ab237dc0d941792ceb54dbd2f8dc22d56286f5dab3499289ed94e67521ea951a98973c9640abc294ad6c SHA512 bc50441d415ef8896dd7626d77c6104184b996e758704366288089f03d4c99d068e33153b0d13305310886017e5d2e716130f812a95cfcad36ef37fe20417ab8
-DIST lapack-3.7.0.tgz 7359812 BLAKE2B 20aa42e22d8c920d1360afe41ceec7b36f6cd5fbe43ca9d7848ef7cc45a64a0314cb1321941c1a7c03654f41e28ec805445882ded0ca0ea07674e70b66cba6b5 SHA512 e4f4c7d0ba8a096eeb813160c6dbcdd535647df6b2ad5beac9181908158956b31d1a9554ec9b9836fd44fe7404c1f377b297cbb20d744f20d70e357fd246c91b
-DIST lapack-reference-3.2.1-autotools.patch.bz2 13338 BLAKE2B 1be1d2c273b92a106a9c914f17e0350b44fc42b3837ee48b040d7a61802bf5036c30e8800ec613ccf12a082a7801cad6878b6ddcbd4db32e27a06b7462f8ecd2 SHA512 957e8c7646a0d6ade9c0dfdaf2aa665a01f932dfda376ba1db164106fb174793e6504cdbed7daf158f23bb69502937963cb2e2d45ac720980d3832f6fc0fedbd
diff --git a/sci-libs/lapack-reference/files/eselect.lapack.reference b/sci-libs/lapack-reference/files/eselect.lapack.reference
deleted file mode 100644
index fe1a777b2dc2..000000000000
--- a/sci-libs/lapack-reference/files/eselect.lapack.reference
+++ /dev/null
@@ -1,4 +0,0 @@
-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-r1 b/sci-libs/lapack-reference/files/eselect.lapack.reference-r1
deleted file mode 100644
index b6c4db325593..000000000000
--- a/sci-libs/lapack-reference/files/eselect.lapack.reference-r1
+++ /dev/null
@@ -1,4 +0,0 @@
-lapack/reference/liblapack.so /usr/@LIBDIR@/liblapack.so
-lapack/reference/liblapack.so.3 /usr/@LIBDIR@/liblapack.so.3
-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/lapack-reference-3.2.1-parallel-make.patch b/sci-libs/lapack-reference/files/lapack-reference-3.2.1-parallel-make.patch
deleted file mode 100644
index 72bc71ca2d95..000000000000
--- a/sci-libs/lapack-reference/files/lapack-reference-3.2.1-parallel-make.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-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/files/lapack-reference-3.6.0-fix-build-system.patch b/sci-libs/lapack-reference/files/lapack-reference-3.6.0-fix-build-system.patch
deleted file mode 100644
index 8661709d369b..000000000000
--- a/sci-libs/lapack-reference/files/lapack-reference-3.6.0-fix-build-system.patch
+++ /dev/null
@@ -1,92 +0,0 @@
---- lapack-3.6.0/BLAS/blas.pc.in
-+++ lapack-3.6.0/BLAS/blas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: blas
- Description: Basic Linear Algebra Subprograms F77 reference implementations
---- lapack-3.6.0/BLAS/CMakeLists.txt
-+++ lapack-3.6.0/BLAS/CMakeLists.txt
-@@ -2,7 +2,7 @@
- if(BUILD_TESTING)
- add_subdirectory(TESTING)
- endif(BUILD_TESTING)
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/blas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/blas.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/blas.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/CBLAS/cblas.pc.in
-+++ lapack-3.6.0/CBLAS/cblas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapacke
- Description: C Standard Interface to BLAS Linear Algebra PACKage
---- lapack-3.6.0/CBLAS/CMakeLists.txt
-+++ lapack-3.6.0/CBLAS/CMakeLists.txt
-@@ -71,7 +71,7 @@
- ${LAPACK_BINARY_DIR}/cblas-config.cmake @ONLY)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cblas.pc.in ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/cblas.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/CMakeLists.txt
-+++ lapack-3.6.0/CMakeLists.txt
-@@ -333,7 +333,7 @@
- ${LAPACK_BINARY_DIR}/lapack-config.cmake @ONLY)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapack.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/lapack.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/LAPACKE/CMakeLists.txt
-+++ lapack-3.6.0/LAPACKE/CMakeLists.txt
-@@ -65,7 +65,7 @@
- endif(BUILD_TESTING)
-
-
--configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc)
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lapacke.pc.in ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc @ONLY)
- install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/lapacke.pc
- DESTINATION ${PKG_CONFIG_DIR}
---- lapack-3.6.0/LAPACKE/lapacke.pc.in
-+++ lapack-3.6.0/LAPACKE/lapacke.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapacke
- Description: C Standard Interface to LAPACK Linear Algebra PACKage
---- lapack-3.6.0/lapack.pc.in
-+++ lapack-3.6.0/lapack.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: lapack
- Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.7.0-fix-build-system.patch b/sci-libs/lapack-reference/files/lapack-reference-3.7.0-fix-build-system.patch
deleted file mode 100644
index 70f7cb0ee926..000000000000
--- a/sci-libs/lapack-reference/files/lapack-reference-3.7.0-fix-build-system.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/BLAS/blas.pc.in b/BLAS/blas.pc.in
-index 7fd6f1e..e52f3ad 100644
---- a/BLAS/blas.pc.in
-+++ b/BLAS/blas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: BLAS
- Description: FORTRAN reference implementation of BLAS Basic Linear Algebra Subprograms
-diff --git a/CBLAS/cblas.pc.in b/CBLAS/cblas.pc.in
-index 4a938fe..311aed9 100644
---- a/CBLAS/cblas.pc.in
-+++ b/CBLAS/cblas.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: CBLAS
- Description: C Standard Interface to BLAS Basic Linear Algebra Subprograms
-diff --git a/LAPACKE/lapacke.pc.in b/LAPACKE/lapacke.pc.in
-index 028f8da..dc092b1 100644
---- a/LAPACKE/lapacke.pc.in
-+++ b/LAPACKE/lapacke.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: LAPACKE
- Description: C Standard Interface to LAPACK Linear Algebra PACKage
-diff --git a/lapack.pc.in b/lapack.pc.in
-index 878efc2..2cca4c2 100644
---- a/lapack.pc.in
-+++ b/lapack.pc.in
-@@ -1,5 +1,7 @@
--prefix=@prefix@
--libdir=@libdir@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/include
-
- Name: LAPACK
- Description: FORTRAN reference implementation of LAPACK Linear Algebra PACKage
diff --git a/sci-libs/lapack-reference/lapack-reference-3.2.1-r4.ebuild b/sci-libs/lapack-reference/lapack-reference-3.2.1-r4.ebuild
deleted file mode 100644
index b9ee0e8c6fee..000000000000
--- a/sci-libs/lapack-reference/lapack-reference-3.2.1-r4.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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 arm64 hppa ~ia64 ppc ppc64 s390 sparc x86 ~amd64-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 \
- "${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}"/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() {
- default
- eselect lapack add $(get_libdir) "${T}"/eselect.lapack.reference ${ESELECT_PROF}
-}
-
-src_test() {
- MAKEOPTS+=" -j1"
- cd "${S}"/TESTING/MATGEN && emake
- cd "${S}"/TESTING && emake
-}
-
-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.6.0.ebuild b/sci-libs/lapack-reference/lapack-reference-3.6.0.ebuild
deleted file mode 100644
index a3080330b1ff..000000000000
--- a/sci-libs/lapack-reference/lapack-reference-3.6.0.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils fortran-2 cmake-utils multilib flag-o-matic toolchain-funcs
-
-DESCRIPTION="Reference implementation of LAPACK"
-HOMEPAGE="http://www.netlib.org/lapack/"
-SRC_URI="http://www.netlib.org/lapack/lapack-${PV}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="+deprecated"
-
-DEPEND="app-eselect/eselect-lapack
- >=virtual/blas-3.6
- virtual/pkgconfig"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/lapack-${PV}"
-PATCHES=( "${FILESDIR}/${P}-fix-build-system.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- ESELECT_PROF=reference
-
- # some string does not get passed properly
- sed -i \
- -e '/lapack_testing.py/d' \
- CTestCustom.cmake.in || die
- # separate ebuild to tmglib
- sed -i \
- -e '/lapack_install_library(tmglib)/d' \
- TESTING/MATGEN/CMakeLists.txt || die
-
- cp "${FILESDIR}"/eselect.lapack.reference-r1 "${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
-}
-
-src_configure() {
- local mycmakeargs=(
- -Wno-dev
- -DUSE_OPTIMIZED_BLAS=ON
- -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
- -DBUILD_DEPRECATED=$(usex deprecated)
- -DCMAKE_Fortran_FLAGS="$($(tc-getPKG_CONFIG) --cflags blas) $(get_abi_CFLAGS) ${FCFLAGS}"
- -DBUILD_STATIC_LIBS=ON
- -DBUILD_SHARED_LIBS=ON
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- mkdir -p "${ED}/usr/$(get_libdir)/lapack/reference" || die
- mv "${ED}/usr/$(get_libdir)"/lib* "${ED}/usr/$(get_libdir)/pkgconfig"/* \
- "${ED}/usr/$(get_libdir)/lapack/reference" || die
- rmdir "${ED}/usr/$(get_libdir)/pkgconfig" || die
-
- eselect lapack add $(get_libdir) "${T}"/eselect.lapack.reference ${ESELECT_PROF}
-}
-
-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.7.0.ebuild b/sci-libs/lapack-reference/lapack-reference-3.7.0.ebuild
deleted file mode 100644
index 32c1ba6cfd12..000000000000
--- a/sci-libs/lapack-reference/lapack-reference-3.7.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils fortran-2 cmake-utils multilib flag-o-matic toolchain-funcs
-
-DESCRIPTION="Reference implementation of LAPACK"
-HOMEPAGE="http://www.netlib.org/lapack/"
-SRC_URI="http://www.netlib.org/lapack/lapack-${PV}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="+deprecated"
-
-DEPEND="app-eselect/eselect-lapack
- >=virtual/blas-3.6
- virtual/pkgconfig"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/lapack-${PV}"
-PATCHES=( "${FILESDIR}/${P}-fix-build-system.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- ESELECT_PROF=reference
-
- # some string does not get passed properly
- sed -i \
- -e '/lapack_testing.py/d' \
- CTestCustom.cmake.in || die
- # separate ebuild to tmglib
- sed -i \
- -e '/lapack_install_library(tmglib)/d' \
- TESTING/MATGEN/CMakeLists.txt || die
-
- cp "${FILESDIR}"/eselect.lapack.reference-r1 "${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
-}
-
-src_configure() {
- local mycmakeargs=(
- -Wno-dev
- -DUSE_OPTIMIZED_BLAS=ON
- -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
- -DBUILD_DEPRECATED=$(usex deprecated)
- -DCMAKE_Fortran_FLAGS="$($(tc-getPKG_CONFIG) --cflags blas) $(get_abi_CFLAGS) ${FCFLAGS}"
- -DBUILD_STATIC_LIBS=ON
- -DBUILD_SHARED_LIBS=ON
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-
- mkdir -p "${ED}/usr/$(get_libdir)/lapack/reference" || die
- mv "${ED}/usr/$(get_libdir)"/lib* "${ED}/usr/$(get_libdir)/pkgconfig"/* \
- "${ED}/usr/$(get_libdir)/lapack/reference" || die
- if [[ ${CHOST} == *-darwin* ]] ; then
- # modify install_names accordingly, bug #608266
- local lib
- for lib in "${ED}"/usr/$(get_libdir)/lapack/reference/*.dylib ; do
- install_name_tool -id "${lib#${D%/}}" "${lib}"
- done
- fi
- rmdir "${ED}/usr/$(get_libdir)/pkgconfig" || die
-
- eselect lapack add $(get_libdir) "${T}"/eselect.lapack.reference ${ESELECT_PROF}
-}
-
-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
deleted file mode 100644
index 9bd49b11cd5c..000000000000
--- a/sci-libs/lapack-reference/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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>
- <use>
- <flag name="deprecated">Build deprecated routines</flag>
- </use>
-</pkgmetadata>
diff --git a/sci-libs/lapack/Manifest b/sci-libs/lapack/Manifest
index fe865c2bdc84..dd55df1f8618 100644
--- a/sci-libs/lapack/Manifest
+++ b/sci-libs/lapack/Manifest
@@ -1 +1,2 @@
-DIST lapack-3.8.0.tar.gz 7426094 BLAKE2B 27cd75eea498250382b2df6f5d7dc95fdee8d37b1a0faba5296ca0145ec40a1165a4ecc727aa1647086be6783b50cf475f79cea0f30f541da789051db99b2f37 SHA512 17786cb7306fccdc9b4a242de7f64fc261ebe6a10b6ec55f519deb4cb673cb137e8742aa5698fd2dc52f1cd56d3bd116af3f593a01dcf6770c4dcc86c50b2a7f
+DIST lapack-3.11.tar.gz 7723909 BLAKE2B b3f8ec8cd439d790ba5869b8b071fe924a4ac53328bce77d46032602b45353670966ed9223324a0780aabc2e95624f439e03f90a89586f96afbe1374c4261bc5 SHA512 d2f23c5f6ae14fb868312a25235459bd0c04f4b43b82a5ade01314776ade9a75dc518a457eb58595f29f64cb0bb86f1a12ce8beea3ec87ef9caf49493ce29fb3
+DIST lapack-3.12.0.tar.gz 7933607 BLAKE2B dafb1f9a717f2cbc00a26f8cff2c7a1ebb720714fe6d7bd5fabb511a2f4af317165814340864c9d601e4e16c7762f643fbbafc058170ebcdc6529a9b4f2d70b6 SHA512 f8f3c733a0221be0b3f5618235408ac59cbd4e5f1c4eab5f509b831a6ec6a9ef14b8849aa6ea10810df1aff90186ca454d15e9438d1dd271c2449d42d3da9dda
diff --git a/sci-libs/lapack/files/lapack-3.12.0-correct-64bit-interface.patch b/sci-libs/lapack/files/lapack-3.12.0-correct-64bit-interface.patch
new file mode 100644
index 000000000000..c9c9479f4522
--- /dev/null
+++ b/sci-libs/lapack/files/lapack-3.12.0-correct-64bit-interface.patch
@@ -0,0 +1,38 @@
+From 26db2da3eb84856d997e05caf9904a6b56eac1e8 Mon Sep 17 00:00:00 2001
+From: Simon Maertens <simon@slmaertens.dev>
+Date: Wed, 29 Nov 2023 14:30:30 +0000
+Subject: [PATCH] Fixed Fortran compiler flags check for nagfor compiler and
+ usage in CBLAS target
+
+---
+ CBLAS/CMakeLists.txt | 4 ++++
+ CMAKE/CheckLAPACKCompilerFlags.cmake | 1 +
+ 2 files changed, 5 insertions(+)
+
+diff --git a/CBLAS/CMakeLists.txt b/CBLAS/CMakeLists.txt
+index c276f7da3d..b01d795af9 100644
+--- a/CBLAS/CMakeLists.txt
++++ b/CBLAS/CMakeLists.txt
+@@ -14,6 +14,10 @@ if(CMAKE_Fortran_COMPILER)
+ FortranCInterface_HEADER(${LAPACK_BINARY_DIR}/include/cblas_mangling.h
+ MACRO_NAMESPACE "F77_"
+ SYMBOL_NAMESPACE "F77_")
++
++ # Check for any necessary platform specific compiler flags
++ include(CheckLAPACKCompilerFlags)
++ CheckLAPACKCompilerFlags()
+ endif()
+ if(NOT FortranCInterface_GLOBAL_FOUND OR NOT FortranCInterface_MODULE_FOUND)
+ message(WARNING "Reverting to pre-defined include/cblas_mangling.h")
+diff --git a/CMAKE/CheckLAPACKCompilerFlags.cmake b/CMAKE/CheckLAPACKCompilerFlags.cmake
+index ecb5009ae5..653b817583 100644
+--- a/CMAKE/CheckLAPACKCompilerFlags.cmake
++++ b/CMAKE/CheckLAPACKCompilerFlags.cmake
+@@ -177,6 +177,7 @@ elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" )
+ endif()
+
+ # Suppress compiler banner and summary
++ include(CheckFortranCompilerFlag)
+ check_fortran_compiler_flag("-quiet" _quiet)
+ if( _quiet AND NOT ("${CMAKE_Fortran_FLAGS}" MATCHES "[-/]quiet") )
+ set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -quiet")
diff --git a/sci-libs/lapack/files/lapack-3.12.0-test-summary.patch b/sci-libs/lapack/files/lapack-3.12.0-test-summary.patch
new file mode 100644
index 000000000000..1d2303cdb018
--- /dev/null
+++ b/sci-libs/lapack/files/lapack-3.12.0-test-summary.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/924929
+https://github.com/Reference-LAPACK/lapack/commit/a4298d5ff68047acfa44d6394ceb3a688a3b2534
+
+From 5b0687f429cf420629c0eeafba6a74a2564d4131 Mon Sep 17 00:00:00 2001
+From: Simon Maertens <simon@slmaertens.dev>
+Date: Fri, 1 Dec 2023 14:05:54 +0000
+Subject: [PATCH] Fixed search phrase for determining the amount of successful
+ tests
+
+--- a/lapack_testing.py
++++ b/lapack_testing.py
+@@ -136,7 +136,7 @@ def run_summary_test( f, cmdline, short_summary):
+ for line in pipe.readlines():
+ f.write(str(line))
+ words_in_line=line.split()
+- if (line.find("run")!=-1):
++ if (line.find("run)")!=-1):
+ # print line
+ whereisrun=words_in_line.index("run)")
+ nb_test_run+=int(words_in_line[whereisrun-2])
+
diff --git a/sci-libs/lapack/lapack-3.11.ebuild b/sci-libs/lapack/lapack-3.11.ebuild
new file mode 100644
index 000000000000..91d893cac281
--- /dev/null
+++ b/sci-libs/lapack/lapack-3.11.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Some additional tests are run if Python is found
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake flag-o-matic fortran-2 python-any-r1
+
+DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations"
+HOMEPAGE="https://www.netlib.org/lapack/"
+SRC_URI="https://github.com/Reference-LAPACK/lapack/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+# TODO: static-libs 64bit-index
+IUSE="lapacke deprecated doc eselect-ldso test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !app-eselect/eselect-cblas
+ virtual/fortran
+ eselect-ldso? (
+ >=app-eselect/eselect-blas-0.2
+ >=app-eselect/eselect-lapack-0.2
+ )
+ doc? ( app-doc/blas-docs )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/878891
+ # https://github.com/Reference-LAPACK/lapack/issues/990
+ filter-lto
+
+ local mycmakeargs=(
+ -DCBLAS=ON
+ -DLAPACKE=$(usex lapacke)
+ -DBUILD_DEPRECATED=$(usex deprecated)
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_TESTING=$(usex test)
+
+ # Breaks cross, will default to OFF in next release.
+ -DTEST_FORTRAN_COMPILER=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use eselect-ldso || return
+ # Create private lib directory for eselect::blas (ld.so.conf)
+ dodir /usr/$(get_libdir)/blas/reference
+ dosym ../../libblas.so usr/$(get_libdir)/blas/reference/libblas.so
+ dosym ../../libblas.so.3 usr/$(get_libdir)/blas/reference/libblas.so.3
+ dosym ../../libcblas.so usr/$(get_libdir)/blas/reference/libcblas.so
+ dosym ../../libcblas.so.3 usr/$(get_libdir)/blas/reference/libcblas.so.3
+
+ # Create private lib directory for eselect::lapack (ld.so.conf)
+ dodir /usr/$(get_libdir)/lapack/reference
+ dosym ../../liblapack.so usr/$(get_libdir)/lapack/reference/liblapack.so
+ dosym ../../liblapack.so.3 usr/$(get_libdir)/lapack/reference/liblapack.so.3
+}
+
+pkg_postinst() {
+ use eselect-ldso || return
+
+ local me=reference libdir=$(get_libdir)
+ # check eselect-blas
+ eselect blas add ${libdir} "${EPREFIX}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == ${me} || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check eselect-lapack
+ eselect lapack add ${libdir} "${EPREFIX}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == ${me} || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ use eselect-ldso || return
+
+ eselect blas validate
+ eselect lapack validate
+}
diff --git a/sci-libs/lapack/lapack-3.12.0-r1.ebuild b/sci-libs/lapack/lapack-3.12.0-r1.ebuild
new file mode 100644
index 000000000000..c8770940f40e
--- /dev/null
+++ b/sci-libs/lapack/lapack-3.12.0-r1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Some additional tests are run if Python is found
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake flag-o-matic fortran-2 python-any-r1
+
+DESCRIPTION="BLAS, CBLAS, LAPACK, LAPACKE reference implementations"
+HOMEPAGE="https://www.netlib.org/lapack/"
+SRC_URI="https://github.com/Reference-LAPACK/lapack/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+# TODO: static-libs 64bit-index
+IUSE="lapacke deprecated doc eselect-ldso test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !app-eselect/eselect-cblas
+ virtual/fortran
+ eselect-ldso? (
+ >=app-eselect/eselect-blas-0.2
+ >=app-eselect/eselect-lapack-0.2
+ )
+ doc? ( app-doc/blas-docs )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+"
+
+PATCHES=(
+ # fix -Werror=lto-type-mismatch caused by a bug that breaks
+ # the 64-bit interface for cblas
+ # https://github.com/Reference-LAPACK/lapack/issues/990#issuecomment-1973258284
+ # https://bugs.gentoo.org/878891
+ "${FILESDIR}"/lapack-3.12.0-correct-64bit-interface.patch
+ "${FILESDIR}"/lapack-3.12.0-test-summary.patch
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ # bug #878891
+ filter-lto
+
+ local mycmakeargs=(
+ -DCBLAS=ON
+ -DLAPACKE=$(usex lapacke)
+ -DBUILD_DEPRECATED=$(usex deprecated)
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_TESTING=$(usex test)
+ -DLAPACK_TESTING_USE_PYTHON=$(usex test)
+ # Breaks cross
+ -DTEST_FORTRAN_COMPILER=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use eselect-ldso || return
+ # Create private lib directory for eselect::blas (ld.so.conf)
+ dodir /usr/$(get_libdir)/blas/reference
+ dosym -r /usr/$(get_libdir)/libblas.so /usr/$(get_libdir)/blas/reference/libblas.so
+ dosym -r /usr/$(get_libdir)/libblas.so.3 /usr/$(get_libdir)/blas/reference/libblas.so.3
+ dosym -r /usr/$(get_libdir)/libcblas.so /usr/$(get_libdir)/blas/reference/libcblas.so
+ dosym -r /usr/$(get_libdir)/libcblas.so.3 /usr/$(get_libdir)/blas/reference/libcblas.so.3
+
+ # Create private lib directory for eselect::lapack (ld.so.conf)
+ dodir /usr/$(get_libdir)/lapack/reference
+ dosym -r /usr/$(get_libdir)/liblapack.so /usr/$(get_libdir)/lapack/reference/liblapack.so
+ dosym -r /usr/$(get_libdir)/liblapack.so.3 /usr/$(get_libdir)/lapack/reference/liblapack.so.3
+}
+
+pkg_postinst() {
+ use eselect-ldso || return
+
+ local me=reference libdir=$(get_libdir)
+ # check eselect-blas
+ eselect blas add ${libdir} "${EPREFIX}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == ${me} || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check eselect-lapack
+ eselect lapack add ${libdir} "${EPREFIX}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == ${me} || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ use eselect-ldso || return
+
+ eselect blas validate
+ eselect lapack validate
+}
diff --git a/sci-libs/lapack/lapack-3.12.0.ebuild b/sci-libs/lapack/lapack-3.12.0.ebuild
new file mode 100644
index 000000000000..4cc2f91f5f67
--- /dev/null
+++ b/sci-libs/lapack/lapack-3.12.0.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Some additional tests are run if Python is found
+PYTHON_COMPAT=( python3_{10..11} )
+inherit cmake flag-o-matic fortran-2 python-any-r1
+
+DESCRIPTION="BLAS, CBLAS, LAPACK, LAPACKE reference implementations"
+HOMEPAGE="https://www.netlib.org/lapack/"
+SRC_URI="https://github.com/Reference-LAPACK/lapack/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+# TODO: static-libs 64bit-index
+IUSE="lapacke deprecated doc eselect-ldso test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !app-eselect/eselect-cblas
+ virtual/fortran
+ eselect-ldso? (
+ >=app-eselect/eselect-blas-0.2
+ >=app-eselect/eselect-lapack-0.2
+ )
+ doc? ( app-doc/blas-docs )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/878891
+ # https://github.com/Reference-LAPACK/lapack/issues/990
+ filter-lto
+
+ local mycmakeargs=(
+ -DCBLAS=ON
+ -DLAPACKE=$(usex lapacke)
+ -DBUILD_DEPRECATED=$(usex deprecated)
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_TESTING=$(usex test)
+ -DLAPACK_TESTING_USE_PYTHON=$(usex test)
+ # Breaks cross
+ -DTEST_FORTRAN_COMPILER=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use eselect-ldso || return
+ # Create private lib directory for eselect::blas (ld.so.conf)
+ dodir /usr/$(get_libdir)/blas/reference
+ dosym -r /usr/$(get_libdir)/libblas.so /usr/$(get_libdir)/blas/reference/libblas.so
+ dosym -r /usr/$(get_libdir)/libblas.so.3 /usr/$(get_libdir)/blas/reference/libblas.so.3
+ dosym -r /usr/$(get_libdir)/libcblas.so /usr/$(get_libdir)/blas/reference/libcblas.so
+ dosym -r /usr/$(get_libdir)/libcblas.so.3 /usr/$(get_libdir)/blas/reference/libcblas.so.3
+
+ # Create private lib directory for eselect::lapack (ld.so.conf)
+ dodir /usr/$(get_libdir)/lapack/reference
+ dosym -r /usr/$(get_libdir)/liblapack.so /usr/$(get_libdir)/lapack/reference/liblapack.so
+ dosym -r /usr/$(get_libdir)/liblapack.so.3 /usr/$(get_libdir)/lapack/reference/liblapack.so.3
+}
+
+pkg_postinst() {
+ use eselect-ldso || return
+
+ local me=reference libdir=$(get_libdir)
+ # check eselect-blas
+ eselect blas add ${libdir} "${EPREFIX}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == ${me} || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check eselect-lapack
+ eselect lapack add ${libdir} "${EPREFIX}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == ${me} || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ use eselect-ldso || return
+
+ eselect blas validate
+ eselect lapack validate
+}
diff --git a/sci-libs/lapack/lapack-3.8.0-r1.ebuild b/sci-libs/lapack/lapack-3.8.0-r1.ebuild
deleted file mode 100644
index fe759a13f358..000000000000
--- a/sci-libs/lapack/lapack-3.8.0-r1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake-utils
-
-DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations"
-HOMEPAGE="http://www.netlib.org/lapack/"
-SRC_URI="http://www.netlib.org/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lapacke deprecated doc eselect-ldso"
-# TODO: static-libs 64bit-index
-
-RDEPEND="
- eselect-ldso? ( >=app-eselect/eselect-blas-0.2
- >=app-eselect/eselect-lapack-0.2 )
- !app-eselect/eselect-cblas
- !sci-libs/blas-reference
- !sci-libs/cblas-reference
- !sci-libs/lapack-reference
- !sci-libs/lapacke-reference
- virtual/fortran
- doc? ( app-doc/blas-docs )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- local mycmakeargs=(
- -DCBLAS=ON
- -DLAPACKE=$(usex lapacke)
- -DBUILD_DEPRECATED=$(usex deprecated)
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- use eselect-ldso || return
- # Create private lib directory for eselect::blas (ld.so.conf)
- dodir /usr/$(get_libdir)/blas/reference
- dosym ../../libblas.so usr/$(get_libdir)/blas/reference/libblas.so
- dosym ../../libblas.so.3 usr/$(get_libdir)/blas/reference/libblas.so.3
- dosym ../../libcblas.so usr/$(get_libdir)/blas/reference/libcblas.so
- dosym ../../libcblas.so.3 usr/$(get_libdir)/blas/reference/libcblas.so.3
-
- # Create private lib directory for eselect::lapack (ld.so.conf)
- dodir /usr/$(get_libdir)/lapack/reference
- dosym ../../liblapack.so usr/$(get_libdir)/lapack/reference/liblapack.so
- dosym ../../liblapack.so.3 usr/$(get_libdir)/lapack/reference/liblapack.so.3
-}
-
-pkg_postinst() {
- use eselect-ldso || return
-
- local me=reference libdir=$(get_libdir)
- # check eselect-blas
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == ${me} || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-
- # check eselect-lapack
- eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
- local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
- if [[ ${current_lapack} == ${me} || -z ${current_lapack} ]]; then
- eselect lapack set ${libdir} ${me}
- elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
- else
- elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
- elog "To use lapack [${me}] implementation, you have to issue (as root):"
- elog "\t eselect lapack set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- use eselect-ldso || return
-
- eselect blas validate
- eselect lapack validate
-}
diff --git a/sci-libs/lapack/lapack-3.8.0.ebuild b/sci-libs/lapack/lapack-3.8.0.ebuild
deleted file mode 100644
index 7b7241aeb315..000000000000
--- a/sci-libs/lapack/lapack-3.8.0.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake-utils
-
-DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations"
-HOMEPAGE="http://www.netlib.org/lapack/"
-SRC_URI="http://www.netlib.org/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="lapacke doc eselect-ldso"
-# TODO: static-libs 64bit-index
-
-RDEPEND="
- eselect-ldso? ( >=app-eselect/eselect-blas-0.2
- >=app-eselect/eselect-lapack-0.2 )
- !app-eselect/eselect-cblas
- !sci-libs/blas-reference
- !sci-libs/cblas-reference
- !sci-libs/lapack-reference
- !sci-libs/lapacke-reference
- virtual/fortran
- doc? ( app-doc/blas-docs )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- local mycmakeargs=(
- -DCBLAS=ON
- -DLAPACKE=$(usex lapacke)
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- use eselect-ldso || return
- # Create private lib directory for eselect::blas (ld.so.conf)
- dodir /usr/$(get_libdir)/blas/reference
- dosym ../../libblas.so usr/$(get_libdir)/blas/reference/libblas.so
- dosym ../../libblas.so.3 usr/$(get_libdir)/blas/reference/libblas.so.3
- dosym ../../libcblas.so usr/$(get_libdir)/blas/reference/libcblas.so
- dosym ../../libcblas.so.3 usr/$(get_libdir)/blas/reference/libcblas.so.3
-
- # Create private lib directory for eselect::lapack (ld.so.conf)
- dodir /usr/$(get_libdir)/lapack/reference
- dosym ../../liblapack.so usr/$(get_libdir)/lapack/reference/liblapack.so
- dosym ../../liblapack.so.3 usr/$(get_libdir)/lapack/reference/liblapack.so.3
-}
-
-pkg_postinst() {
- use eselect-ldso || return
-
- local me=reference libdir=$(get_libdir)
- # check eselect-blas
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == ${me} || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-
- # check eselect-lapack
- eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
- local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
- if [[ ${current_lapack} == ${me} || -z ${current_lapack} ]]; then
- eselect lapack set ${libdir} ${me}
- elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
- else
- elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
- elog "To use lapack [${me}] implementation, you have to issue (as root):"
- elog "\t eselect lapack set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- use eselect-ldso || return
-
- eselect blas validate
- eselect lapack validate
-}
diff --git a/sci-libs/lapack/metadata.xml b/sci-libs/lapack/metadata.xml
index e4cd26e0166e..e9670e6df2cf 100644
--- a/sci-libs/lapack/metadata.xml
+++ b/sci-libs/lapack/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -28,4 +28,7 @@ This package installs the reference FORTRAN 77 implementation from Netlib.
<flag name="eselect-ldso">Enable runtime library switching by
eselect and ld.so.</flag>
</use>
+ <upstream>
+ <remote-id type="github">Reference-LAPACK/lapack</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/ldl/Manifest b/sci-libs/ldl/Manifest
index f8c366affa12..e7ab12f27e1c 100644
--- a/sci-libs/ldl/Manifest
+++ b/sci-libs/ldl/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST ldl-2.2.6.tar.bz2 342923 BLAKE2B 7acf1a82824de013fe9a7742fb2d5c44c86de96e95d1d7408106d4af420dc3655ab7533eb80592b52523245c7545bc246bf129712547ff6eba856a807c78b6ad SHA512 266c9e62c474a6a9b2d7f74aa580e313fbe4b322197236ba6fbbab6d1756348cf146c1d807ea6d8d0e5941cedc48298e8437aaf386dd6c433dcaf41a9d0b7371
diff --git a/sci-libs/ldl/ldl-2.2.6.ebuild b/sci-libs/ldl/ldl-2.2.6.ebuild
index d29a5c1298df..6cb4ceafd590 100644
--- a/sci-libs/ldl/ldl-2.2.6.ebuild
+++ b/sci-libs/ldl/ldl-2.2.6.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Simple but educational LDL^T matrix factorization algorithm"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="http://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc static-libs"
BDEPEND="virtual/pkgconfig
diff --git a/sci-libs/ldl/ldl-3.0.3.ebuild b/sci-libs/ldl/ldl-3.0.3.ebuild
new file mode 100644
index 000000000000..28b394008845
--- /dev/null
+++ b/sci-libs/ldl/ldl-3.0.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Simple but educational LDL^T matrix factorization algorithm"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}
+ >=sci-libs/amd-3.0.3"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Some programs assume that they can access the Matrix folder in ${S}
+ ln -s "${S}/Matrix" || die "cannot link to the Matrix folder"
+ # Run demo files
+ local demofiles=(
+ ldlsimple
+ ldllsimple
+ ldlmain
+ ldllmain
+ ldlamd
+ ldllamd
+ )
+ for i in ${demofiles[@]}; do
+ ./"${i}" > "${i}.out" || die "failed to run test ${i}"
+ diff "${S}/Demo/${i}.out" "${i}.out" || die "failed testing ${i}"
+ done
+}
+
+multilib_src_install() {
+ if use doc; then
+ pushd "${S}/Doc"
+ rm -rf *.pdf
+ emake
+ popd
+ DOCS="${S}/Doc/*.pdf"
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/ldl/metadata.xml b/sci-libs/ldl/metadata.xml
index dc5e74837c9f..c450822b982c 100644
--- a/sci-libs/ldl/metadata.xml
+++ b/sci-libs/ldl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -16,4 +16,7 @@
consists of a total of only 49 lines of code. The package is written
in C, and includes a MATLAB interface.
</longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/lemon/lemon-1.3.1-r2.ebuild b/sci-libs/lemon/lemon-1.3.1-r2.ebuild
new file mode 100644
index 000000000000..15fae94bf9e3
--- /dev/null
+++ b/sci-libs/lemon/lemon-1.3.1-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Needed to build tests for now
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake
+
+DESCRIPTION="C++ template static library of common data structures and algorithms"
+HOMEPAGE="https://lemon.cs.elte.hu/trac/lemon/"
+SRC_URI="https://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"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="|| ( coin glpk )"
+
+RDEPEND="coin? (
+ sci-libs/coinor-cbc:=
+ sci-libs/coinor-clp:=
+ )
+ glpk? ( sci-mathematics/glpk:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? (
+ app-text/doxygen
+ app-text/ghostscript-gpl
+ <dev-libs/mathjax-3
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${PN}-1.3-as-needed.patch
+)
+
+src_prepare() {
+ local t
+ 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_comment_add_subdirectory demo
+
+ use doc || cmake_comment_add_subdirectory doc
+ use test || cmake_comment_add_subdirectory test
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLEMON_ENABLE_COIN=$(usex coin)
+ -DLEMON_ENABLE_GLPK=$(usex glpk)
+ )
+
+ use coin && mycmakeargs+=( -DCOIN_ROOT_DIR="${EPREFIX}/usr" )
+
+ if use doc; then
+ mycmakeargs+=(
+ -DLEMON_DOC_MATHJAX_RELPATH="${EPREFIX}/usr/share/mathjax"
+ -DLEMON_DOC_SOURCE_BROWSER=$(usex doc)
+ -DLEMON_DOC_USE_MATHJAX=$(usex doc)
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${S}" || die
+ emake -C "${BUILD_DIR}" check
+}
+
+src_install() {
+ cmake_src_install
+
+ # TODO: Upstream needs to see the light of GNUInstallDirs
+ if use doc; then
+ mv "${ED}"/usr/share/doc/lemon/html "${ED}"/usr/share/doc/${PF} || die
+ rmdir "${ED}"/usr/share/doc/lemon || die
+ fi
+}
diff --git a/sci-libs/lemon/lemon-1.3.1.ebuild b/sci-libs/lemon/lemon-1.3.1.ebuild
deleted file mode 100644
index cb3bee35083d..000000000000
--- a/sci-libs/lemon/lemon-1.3.1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="C++ template static library of common data structures and algorithms"
-HOMEPAGE="https://lemon.cs.elte.hu/trac/lemon/"
-SRC_URI="https://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"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( coin glpk )"
-
-RDEPEND="
- coin? (
- sci-libs/coinor-cbc:=
- sci-libs/coinor-clp:=
- )
- glpk? ( sci-mathematics/glpk:= )
-"
-DEPEND="${RDEPEND}
- doc? (
- app-doc/doxygen
- app-text/ghostscript-gpl
- dev-libs/mathjax
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-multilib.patch
- "${FILESDIR}"/${PN}-1.3-as-needed.patch
-)
-
-src_prepare() {
- cmake-utils_src_prepare
- cmake_comment_add_subdirectory demo
-
- use doc || cmake_comment_add_subdirectory doc
- use test || cmake_comment_add_subdirectory test
-
- 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
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=TRUE
- -DLEMON_ENABLE_COIN=$(usex coin)
- -DLEMON_ENABLE_GLPK=$(usex glpk)
- )
- use coin && mycmakeargs+=( -DCOIN_ROOT_DIR="${EPREFIX}/usr" )
- if use doc; then
- mycmakeargs+=(
- -DLEMON_DOC_MATHJAX_RELPATH="${EPREFIX}/usr/share/mathjax"
- -DLEMON_DOC_SOURCE_BROWSER=$(usex doc)
- -DLEMON_DOC_USE_MATHJAX=$(usex doc)
- )
- fi
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- # TODO: Upstream needs to see the light of GNUInstallDirs
- if use doc; then
- mv "${D}"/usr/share/doc/lemon/html "${D}"/usr/share/doc/${PF} || die
- rmdir "${D}"/usr/share/doc/lemon || die
- fi
-}
-
-src_test() {
- emake -C "${BUILD_DIR}" check
-}
diff --git a/sci-libs/lemon/metadata.xml b/sci-libs/lemon/metadata.xml
index 92e66a920f00..8fca14a06fa0 100644
--- a/sci-libs/lemon/metadata.xml
+++ b/sci-libs/lemon/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/levmar/levmar-2.6-r1.ebuild b/sci-libs/levmar/levmar-2.6-r1.ebuild
new file mode 100644
index 000000000000..c1e0151de459
--- /dev/null
+++ b/sci-libs/levmar/levmar-2.6-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Levenberg-Marquardt nonlinear least squares C library"
+HOMEPAGE="https://www.ics.forth.gr/~lourakis/levmar/"
+SRC_URI="https://www.ics.forth.gr/~lourakis/levmar/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-shared.patch
+ "${FILESDIR}"/${P}-demo-underlinking.patch
+)
+
+DOCS=(README.txt)
+
+src_configure() {
+ local mycmakeargs+=(
+ -DNEED_F2C=OFF
+ -DHAVE_LAPACK=ON
+ -DLAPACKBLAS_LIB_NAMES="$($(tc-getPKG_CONFIG) --libs blas lapack)"
+ -DBUILD_DEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/lmdemo || die "Tests failed"
+}
+
+src_install() {
+ dolib.so "${BUILD_DIR}"/liblevmar.so
+ insinto /usr/include
+ doins "${S}"/levmar.h
+}
diff --git a/sci-libs/levmar/levmar-2.6.ebuild b/sci-libs/levmar/levmar-2.6.ebuild
deleted file mode 100644
index e2729c65c384..000000000000
--- a/sci-libs/levmar/levmar-2.6.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit cmake-utils eutils toolchain-funcs
-
-DESCRIPTION="Levenberg-Marquardt nonlinear least squares C library"
-HOMEPAGE="https://www.ics.forth.gr/~lourakis/levmar/"
-SRC_URI="https://www.ics.forth.gr/~lourakis/levmar/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( 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
index 114a1bee0b24..b67b88aecfbe 100644
--- a/sci-libs/levmar/metadata.xml
+++ b/sci-libs/levmar/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>amynka@gentoo.org</email>
@@ -8,7 +8,7 @@
<email>3dprint@gentoo.org</email>
<name>Gentoo 3D print</name>
</maintainer>
- <longdescription lang="en">
+ <longdescription>
levmar is a native ANSI C implementation of the Levenberg-Marquardt
optimization algorithm. Both unconstrained and constrained (under
linear equations, inequality and box constraints)
diff --git a/sci-libs/libaec/Manifest b/sci-libs/libaec/Manifest
index f34687967f9b..9aadf362c49e 100644
--- a/sci-libs/libaec/Manifest
+++ b/sci-libs/libaec/Manifest
@@ -1,4 +1 @@
-DIST libaec-0.3.2.tar.gz 353185 BLAKE2B 7578b35f25ecf8e3e5172f1f0fcbb84a0354cf5a1cb3bfb8588d63ee6872ea8ad7e220b53ea4989dfc1741417f5f10023e91d3a3db7d2ed9e7bc1f6a4eae3509 SHA512 c3935f7d3e2e289e66f24d5af8f8fe21aab1044adbe883708ed64eb194bf93511fe2a9dd2b1658571ebbcc502123b3a5e6dfaa1bc4a1b85eaeaedc8b43d8085e
-DIST libaec-1.0.0.tar.gz 3118578 BLAKE2B f3b8ef52e636cd3a04710f75de6fac6d4ab97bbb9422a7753ec5acf98a9cfedf8dacfd13a610f6a5445312448e3490d43182753c8f82995b112de1ad3dd0f45a SHA512 112ded6151e46a90adfe230d8298452b2e42105e0e9d40ce10ac49f1e0160a13fa7ddec22e22346f0d5defc397bbba7c12f9d58b08e024da19991108e6e8d8ba
-DIST libaec-1.0.1.tar.gz 769507 BLAKE2B 7a5f0e3c016f6562a94013a072e33638ba6e4b4af1a607befd508e442dae750d59435b96628bc59e4b86694d5745c302a615fa00603221d642700b86519c4428 SHA512 e3e38298d8d1fdf86332612c4dd62cafb8fa59ec8de00ed96aabee5bfbb46fd2396fcc0ad7fa2e4f89f9a22de538e58be5017d214b42176c0450dcc7c35bfedb
-DIST libaec-1.0.2.tar.gz 767910 BLAKE2B 4d843839b21d93a7ae0f90627217978d1d7262dff35962bb7fe7a9f62f57b5042c36278ff61ad7d7aa3ad1a7cdd1ceb75a59dcc1ab9b3d1c899c506ffe5819d3 SHA512 28a8839089e4b643b259cb8679b96e602a35098d1129baae6b3923767060e5deabfa33256d628a8bcbf205368cda5f2e6701078de0caccf44e0597d932a67ba2
+DIST libaec-1.0.6.tar.gz 2777547 BLAKE2B 20da3fdf659c9d47ffde442ceaa9f9a831aab70330e27683ed4b62a28fdad02ec9c100413580f04d5a2bbbe86f3fe54b065230393bfb5e7746c522cce71513bc SHA512 f5d118c48225f97b229ac11425b94adff4d3698733bf18767b427e49047f8e08768464bc9cd9f5e6a66ceb44c8ebd9904c4f6f46566e2e66fcaa1049b2ebfcc1
diff --git a/sci-libs/libaec/libaec-0.3.2.ebuild b/sci-libs/libaec/libaec-0.3.2.ebuild
deleted file mode 100644
index a242649f4d19..000000000000
--- a/sci-libs/libaec/libaec-0.3.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-# number that might change every version
-PID=453
-
-DESCRIPTION="Adaptive Entropy Coding library"
-HOMEPAGE="https://www.dkrz.de/redmine/projects/aec"
-SRC_URI="https://www.dkrz.de/redmine/attachments/download/${PID}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs +szip"
-
-DEPEND=""
-RDEPEND="szip? ( !sci-libs/szip )"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- # avoid conflict with szip (easier than to patch autotools)
- if ! use szip; then
- rm "${ED}"/usr/include/szlib.h || die
- rm "${ED}"/usr/$(get_libdir)/libsz* || die
- rm "${ED}"/usr/share/doc/${PF}/README.SZIP || die
- fi
- use static-libs || prune_libtool_files --all
-}
diff --git a/sci-libs/libaec/libaec-1.0.0.ebuild b/sci-libs/libaec/libaec-1.0.0.ebuild
deleted file mode 100644
index 12418e922659..000000000000
--- a/sci-libs/libaec/libaec-1.0.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-# number that might change every version
-PID="631e85bcf877c2dcaca9b2e6d6526339"
-
-DESCRIPTION="Adaptive Entropy Coding library"
-HOMEPAGE="https://gitlab.dkrz.de/k202009/libaec"
-SRC_URI="https://gitlab.dkrz.de/k202009/libaec/uploads/${PID}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/2"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs +szip"
-
-DEPEND=""
-RDEPEND="szip? ( !sci-libs/szip )"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- # avoid conflict with szip (easier than to patch autotools)
- if ! use szip; then
- rm "${ED}"/usr/include/szlib.h || die
- rm "${ED}"/usr/$(get_libdir)/libsz* || die
- rm "${ED}"/usr/share/doc/${PF}/README.SZIP || die
- fi
- use static-libs || prune_libtool_files --all
-}
diff --git a/sci-libs/libaec/libaec-1.0.1.ebuild b/sci-libs/libaec/libaec-1.0.1.ebuild
deleted file mode 100644
index 09a38b3d5844..000000000000
--- a/sci-libs/libaec/libaec-1.0.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils vcs-snapshot
-
-DESCRIPTION="Adaptive Entropy Coding library"
-HOMEPAGE="https://gitlab.dkrz.de/k202009/libaec"
-SRC_URI="https://gitlab.dkrz.de/k202009/libaec/repository/archive.tar.gz?ref=v${PV} -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/2"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+szip"
-
-DEPEND=""
-RDEPEND="szip? ( !sci-libs/szip )"
-
-src_install() {
- cmake-utils_src_install
- # avoid conflict with szip (easier than to patch autotools)
- if ! use szip; then
- rm "${ED}"/usr/include/szlib.h || die
- rm "${ED}"/usr/$(get_libdir)/libsz* || die
- rm "${ED}"/usr/share/doc/${PF}/README.SZIP || die
- fi
-}
diff --git a/sci-libs/libaec/libaec-1.0.2.ebuild b/sci-libs/libaec/libaec-1.0.2.ebuild
deleted file mode 100644
index 522312775eda..000000000000
--- a/sci-libs/libaec/libaec-1.0.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils vcs-snapshot
-
-DESCRIPTION="Adaptive Entropy Coding library"
-HOMEPAGE="https://gitlab.dkrz.de/k202009/libaec"
-SRC_URI="https://gitlab.dkrz.de/k202009/libaec/repository/archive.tar.gz?ref=v${PV} -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/2"
-KEYWORDS="~amd64 arm64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+szip"
-
-DEPEND=""
-RDEPEND="szip? ( !sci-libs/szip )"
-
-src_install() {
- cmake-utils_src_install
- # avoid conflict with szip (easier than to patch)
- if ! use szip; then
- rm "${ED}"/usr/include/szlib.h || die
- rm "${ED}"/usr/$(get_libdir)/libsz* || die
- rm "${ED}"/usr/share/doc/${PF}/README.SZIP || die
- fi
-}
diff --git a/sci-libs/libaec/libaec-1.0.6.ebuild b/sci-libs/libaec/libaec-1.0.6.ebuild
new file mode 100644
index 000000000000..0304f18d144d
--- /dev/null
+++ b/sci-libs/libaec/libaec-1.0.6.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake
+
+MY_P="${PN}-v${PV}"
+DESCRIPTION="Adaptive Entropy Coding library"
+HOMEPAGE="https://gitlab.dkrz.de/k202009/libaec"
+SRC_URI="https://gitlab.dkrz.de/k202009/libaec/-/archive/v${PV}/${MY_P}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+SLOT="0/2"
+KEYWORDS="amd64 arm arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="+szip"
+
+RDEPEND="szip? ( !sci-libs/szip )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_LIBDIR=$(get_libdir)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # avoid conflict with szip (easier than to patch)
+ if ! use szip; then
+ rm "${ED}"/usr/include/szlib.h || die
+ rm "${ED}"/usr/$(get_libdir)/libsz* || die
+ rm "${ED}"/usr/share/doc/${PF}/README.SZIP || die
+ fi
+
+ # Move these cmake files to a proper location
+ dodir "/usr/$(get_libdir)/cmake/${PN}"
+ mv "${ED}/usr/cmake/"* "${ED}/usr/$(get_libdir)/cmake/${PN}" || die
+ rm -r "${ED}/usr/cmake/" || die
+}
diff --git a/sci-libs/libaec/metadata.xml b/sci-libs/libaec/metadata.xml
index 6d596231fcd7..276aa45e4036 100644
--- a/sci-libs/libaec/metadata.xml
+++ b/sci-libs/libaec/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/libbraiding/Manifest b/sci-libs/libbraiding/Manifest
index 65b1c811bcdc..f1e19d383a74 100644
--- a/sci-libs/libbraiding/Manifest
+++ b/sci-libs/libbraiding/Manifest
@@ -1 +1 @@
-DIST libbraiding-1.0.tar.gz 377140 BLAKE2B 93520ca1af05dfe77028d3a8d94e94fb4b387662c0f71048db5aa8b1dcc4115996be2ac95108c01a574095cdaba97db1997a65e98a64f87230dda4ae1b6bd8cb SHA512 0fb389d4483b665165bf9ef8dc770b51884eb4ab576c4ca06944080d87ddae806bcf4ebee1fd586f97de171d2ec79c89aeef86ffdeac10eed49ffd0541989ee6
+DIST libbraiding-1.2.tar.gz 380852 BLAKE2B 8d88861879e7566fa88f3a269c20efa4f37a692da6fd32736b695628a414cec0e03a01cb7a0cfcf20bd233fd21c15b070d9df3e0ee4951c9511949962b012f61 SHA512 f3dcfa77d5313ecfa91c0b9a61988eb2048dd27ed77f46a5c34fc57adb9eee53b250946a7158918b3198559bd016c723dba98465036d01c482b5c6000ab59d8a
diff --git a/sci-libs/libbraiding/libbraiding-1.0.ebuild b/sci-libs/libbraiding/libbraiding-1.0.ebuild
deleted file mode 100644
index c2f848f1a9bf..000000000000
--- a/sci-libs/libbraiding/libbraiding-1.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Expose the functionality of cbraid as a shared library"
-HOMEPAGE="https://github.com/miguelmarco/libbraiding"
-
-# The github release is missing the generated autotools files, like the
-# ./configure script. Rather than involve autotools.eclass, let's just
-# get it from sage.
-SRC_URI="http://files.sagemath.org/spkg/upstream/${PN}/${P}.tar.gz"
-
-# A few source headers still say GPLv2, but I believe that to be an
-# oversight: https://github.com/jeanluct/cbraid/issues/4
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="static-libs"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libbraiding/libbraiding-1.2.ebuild b/sci-libs/libbraiding/libbraiding-1.2.ebuild
new file mode 100644
index 000000000000..ac7b0cab046f
--- /dev/null
+++ b/sci-libs/libbraiding/libbraiding-1.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Expose the functionality of cbraid as a shared library"
+HOMEPAGE="https://github.com/miguelmarco/libbraiding"
+
+SRC_URI="https://github.com/miguelmarco/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+# A few source headers still say GPLv2, but I believe that to be an
+# oversight: https://github.com/jeanluct/cbraid/issues/4
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libbraiding/metadata.xml b/sci-libs/libbraiding/metadata.xml
index 1b46fd9baaa6..d816504879a2 100644
--- a/sci-libs/libbraiding/metadata.xml
+++ b/sci-libs/libbraiding/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sci-libs/libbufr/Manifest b/sci-libs/libbufr/Manifest
deleted file mode 100644
index 79737e4052d6..000000000000
--- a/sci-libs/libbufr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST bufrdc_000405.tar.gz 11873311 BLAKE2B e8282fc539b80365420c538afd911aaba698d6a60d15018eae2d4f00e0838c3f665894078b2c0969b4558841187dd6a4a9e620468cebd5b08e171a2c18c85288 SHA512 3355d6bac54ef152f9feb13ae13f3c94f4e01a665a4b9bc7f85f0c98f9aa37411170668ba9adfb6b62c2fe906d0dff67b03a708cdf1acd21a0037e327c7c6169
diff --git a/sci-libs/libbufr/files/libbufr-000405-makefile.patch b/sci-libs/libbufr/files/libbufr-000405-makefile.patch
deleted file mode 100644
index 08b30ded8d72..000000000000
--- a/sci-libs/libbufr/files/libbufr-000405-makefile.patch
+++ /dev/null
@@ -1,80 +0,0 @@
---- Makefile.orig 2016-01-04 13:09:58.661150785 -0800
-+++ Makefile 2016-01-04 13:17:12.707621825 -0800
-@@ -1,7 +1,7 @@
- # Makefile for libbufrex
- #
- R64 = R64
--TARGETS = all clean
-+TARGETS = all clean test
- LIBRARY = libbufr$(R64).a
- SHELL=/bin/sh
- SUBDIRS = fortranC bufrdc pbio bufrtables examples
-@@ -11,12 +11,14 @@
- ( echo "*************************"; \
- echo "*** Make in $$name "; \
- echo "*************************"; \
-- cd $$name ; make ; ) done
-+ $(MAKE) -C $$name LIB=bufr ; ) done
-+
-+test :
- ./test.sh
- tables_tools/check_tables.sh bufrtables
-
- clean :
- @for name in $(SUBDIRS); do\
-- ( echo "*** Clean in $$name ***" ;cd $$name ; make clean ); \
-+ ( echo "*** Clean in $$name ***" ;$(MAKE) -C $$name clean ); \
- done
- rm -f $(LIBRARY)
---- examples/Makefile.in.orig 2016-01-04 13:42:39.790648703 -0800
-+++ examples/Makefile.in 2016-01-04 13:45:02.384967830 -0800
-@@ -16,19 +16,19 @@
- #
- #
- TARGETS = all clean
--EXECS = decode_bufr decode_bufr_image bufr_decode_all tdexp tdexp create_bufr
-+EXECS = decode_bufr decode_bufr_image bufr_decode_all bufr_compress tdexp create_bufr
- #
- #
- all :$(EXECS)
-
--decode_bufr: decode_bufr.o
-+decode_bufr: decode_bufr.o
- $(FC) $(FFLAGS) -o $@ decode_bufr.o -L$(PLACE) -l$(LIB)$(R64)
-
--bufr_decode_all: bufr_decode_all.o
-- $(FC) $(FFLAGS) -o $@ bufr_decode_all.o -L$(PLACE) -l$(LIB)$(R64)
-+bufr_decode_all: bufr_decode_all.o
-+ $(FC) $(FFLAGS) -o $@ bufr_decode_all.o -L$(PLACE) -l$(LIB)$(R64)
-
--bufr_compress: bufr_compress.o
-- $(FC) $(FFLAGS) -o $@ bufr_compress.o -L$(PLACE) -l$(LIB)$(R64)
-+bufr_compress: bufr_compress.o
-+ $(FC) $(FFLAGS) -o $@ bufr_compress.o -L$(PLACE) -l$(LIB)$(R64)
-
- bufr2crex : bufr2crex.o
- $(FC) $(FFLAGS) -o $@ bufr2crex.o -L$(PLACE) -l$(LIB)$(R64) -lcrex$(R64)
-@@ -48,4 +48,4 @@
- clean :
- @for name in $(EXECS); do\
- (rm -f $$name *.o ); \
-- done
-+ done
---- bufrtables/Makefile.orig 2016-01-04 14:03:47.292850644 -0800
-+++ bufrtables/Makefile 2016-01-04 14:05:22.242500485 -0800
-@@ -25,11 +25,14 @@
- OBJECTS = $(OBJECTS.F) $(OBJECTS.c)
- #
- #
--all: links
-+all: pgms links
-
- links:
- ./clean.sh
- ./links.sh
-+
-+pgms: bufr2txt_tables bufr_split_tables txt2bufr_tables
-+
- bufr2txt_tables: bufr2txt_tables.f
- $(FC) $(FFLAGS) -o bufr2txt_tables bufr2txt_tables.f $(LIBRARY)
- bufr_split_tables: bufr_split_tables.f
diff --git a/sci-libs/libbufr/libbufr-000405.ebuild b/sci-libs/libbufr/libbufr-000405.ebuild
deleted file mode 100644
index a97b5cb6af7d..000000000000
--- a/sci-libs/libbufr/libbufr-000405.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils fortran-2 toolchain-funcs
-
-MY_P="${PN/lib/}dc_${PV}"
-
-DESCRIPTION="ECMWF BUFR library - includes both C and Fortran example utilities"
-HOMEPAGE="https://software.ecmwf.int/wiki/display/BUFR/BUFRDC+Home"
-SRC_URI="https://software.ecmwf.int/wiki/download/attachments/35752466/${MY_P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-# needs someone to test on these: ~alpha ~hppa ~ia64 ~sparc etc ...
-
-IUSE="debug doc examples"
-
-RDEPEND="
- virtual/fortran
- "
-
-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 submit 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}"/${P}-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|= |" \
- -e "s|-fdefault-real-8|-fdefault-real-8 -fdefault-double-8|" \
- ${config}
- elif [[ "${ARCH}" == "amd64" ]] ; then
- cp ${config}.in ${config}
- sed -i -e "s|-fdefault-real-8|-fdefault-real-8 -fdefault-double-8|" \
- ${config}
- else
- cp ${config}.in ${config} || die "Error updating config!"
- fi
-
- sed -i -e "s:DEBUG = -O2:DEBUG = -g:g" ${config}
- use debug || sed -i -e "s:DEBUG = -g:DEBUG =:g" ${config}
-
- # add local CFLAGS to build flags
- sed -i -e "s|\$(DEBUG)|${CFLAGS} \$(DEBUG) -fPIC|" \
- -e 's|emos|/usr/share/bufrtables|g' ${config}
-
- # add local LDFLAGS to bins
- sed -i \
- -e "s|-o|${LDFLAGS} -fPIC -o|" \
- examples/Makefile \
- bufrtables/Makefile
-}
-
-src_compile() {
- export BUFR_TABLES="${S}"/bufrtables
- EBUILD_ARCH="${ARCH}"
- EBUILD_CFLAGS="${CFLAGS}"
- unset ARCH CFLAGS
-
- tc-export CC FC AR NM RANLIB
- export STRIP="/bin/true"
- TC_FLAGS="CC=$CC FC=$FC AR=$AR RANLIB=$RANLIB"
- ARFLAGS="rv"
-
- # emake won't work with this fossil...
- BUFRFLAGS="ARCH=$target R64=$R64 CNAME=$CNAME"
- make $TC_FLAGS ARFLAGS="${ARFLAGS}" $BUFRFLAGS || die "make failed"
-
- generate_files
-
- ARCH="${EBUILD_ARCH}"
- CFLAGS="${EBUILD_CFLAGS}"
-}
-
-src_test() {
- unset ARCH CFLAGS
- BUFRFLAGS="ARCH=$target R64=$R64 CNAME=$CNAME"
- make $BUFRFLAGS test || die "make test failed"
-
- ARCH="${EBUILD_ARCH}"
- CFLAGS="${EBUILD_CFLAGS}"
-}
-
-src_install() {
- # install library
- dolib.a libbufr$R64.a
-
- dosbin bufrtables/{bufr2txt_tables,bufr_split_tables,txt2bufr_tables}
- dobin examples/{bufr_decode_all,create_bufr,decode_bufr,decode_bufr_image,tdexp}
-
- keepdir /usr/share/bufrtables
- insinto /usr/share/bufrtables
- doins -r bufrtables/{B,C,D}*.*
-
- # files generated above
- doenvd 20${PN}
-
- dodoc README
- if use doc ; then
- insinto /usr/share/doc/${PF}
- doins doc/*.pdf
- fi
-
- if use examples ; then
- newdoc examples/README README.examples
- insinto /usr/share/doc/${PF}/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"
- EOF
-}
-
-update_configs() {
- find . -type f -name \*.distinct -o -name \*.f -o -name \*.in \
- | xargs chmod -x
- 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_gfortran.in config.ppc_gfortran
- cp config.ppc_gfortranR64.in config.ppc_gfortranR64
- cp config.ppc_gfortran_G5.in config.ppc_gfortran_G5
- cp config.ppc_gfortranR64_G5.in config.ppc_gfortranR64_G5
- popd > /dev/null
-}
diff --git a/sci-libs/libbufr/metadata.xml b/sci-libs/libbufr/metadata.xml
deleted file mode 100644
index e6507199b201..000000000000
--- a/sci-libs/libbufr/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>nerdboy@gentoo.org</email>
- </maintainer>
- <longdescription lang="en">
- This is the only useable open source BUFR library (from ECMWF)
- and comes with a few example tools (some of which are built
- and installed).
- </longdescription>
-</pkgmetadata>
diff --git a/sci-libs/libccd/Manifest b/sci-libs/libccd/Manifest
index 59ed2f7be0f4..6c8f3bc992e9 100644
--- a/sci-libs/libccd/Manifest
+++ b/sci-libs/libccd/Manifest
@@ -1,2 +1 @@
-DIST libccd-2.0.tar.gz 68103 BLAKE2B 30a91dba9b5dec5edc40d014dd0cba23d75e99f296918b6e58199890508c39813f5170456b1301e9304c433ca3531b1f23c4cdbfc0f20fca21eeafe53991467d SHA512 627426f1acd24779e7d596fd5b18dede4cf3c13d3cceda87a8b2d0195b72d9ada45290fd41baa20d6e3adafda75074db355cb95a60f80023c32b5ad4e72235bf
DIST libccd-2.1.tar.gz 73971 BLAKE2B 77feeb42426e72cfc1392351acf84f4c4670ea7f6a555a2b15dd8927e49b855423c4262e319b06774a8d887423238b8d018021ebeba5ee188e52accf5aeb48a1 SHA512 ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
diff --git a/sci-libs/libccd/libccd-2.0.ebuild b/sci-libs/libccd/libccd-2.0.ebuild
deleted file mode 100644
index 894309a26239..000000000000
--- a/sci-libs/libccd/libccd-2.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://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-2.1.ebuild b/sci-libs/libccd/libccd-2.1.ebuild
index 8691045954d5..cdc23db29212 100644
--- a/sci-libs/libccd/libccd-2.1.ebuild
+++ b/sci-libs/libccd/libccd-2.1.ebuild
@@ -5,9 +5,9 @@ EAPI=7
inherit cmake
-if [ "${PV}" = "9999" ] ; then
+if [[ ${PV} == *9999 ]] ; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/danfis/libccd/${PN}.git"
+ EGIT_REPO_URI="https://github.com/danfis/libccd.git"
else
SRC_URI="https://github.com/danfis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm"
@@ -19,14 +19,10 @@ HOMEPAGE="http://libccd.danfis.cz/
LICENSE="BSD"
SLOT="0"
-IUSE="+double-precision doc +shared test"
+IUSE="+double-precision doc test"
RESTRICT="!test? ( test )"
-RDEPEND=""
-
-DEPEND="${RDEPEND}
- doc? ( dev-python/sphinx )
-"
+BDEPEND="doc? ( dev-python/sphinx )"
src_prepare() {
# upstream issue 72
@@ -40,11 +36,9 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
-DBUILD_DOCUMENTATION=$(usex doc ON OFF)
- -DBUILD_SHARED_LIBS=$(usex shared ON OFF)
-DENABLE_DOUBLE_PRECISION=$(usex double-precision ON OFF)
)
- local CMAKE_BUILD_TYPE="Release"
cmake_src_configure
}
diff --git a/sci-libs/libccd/libccd-9999.ebuild b/sci-libs/libccd/libccd-9999.ebuild
index 6f8c7c9f77b5..8c95229c7747 100644
--- a/sci-libs/libccd/libccd-9999.ebuild
+++ b/sci-libs/libccd/libccd-9999.ebuild
@@ -5,9 +5,9 @@ EAPI=7
inherit cmake
-if [ "${PV}" = "9999" ] ; then
+if [[ ${PV} == *9999 ]] ; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/danfis/libccd/${PN}.git"
+ EGIT_REPO_URI="https://github.com/danfis/libccd.git"
else
SRC_URI="https://github.com/danfis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm"
@@ -19,23 +19,17 @@ HOMEPAGE="http://libccd.danfis.cz/
LICENSE="BSD"
SLOT="0"
-IUSE="+double-precision doc +shared test"
+IUSE="+double-precision doc test"
RESTRICT="!test? ( test )"
-RDEPEND=""
-
-DEPEND="${RDEPEND}
- doc? ( dev-python/sphinx )
-"
+BDEPEND="doc? ( dev-python/sphinx )"
src_configure() {
local mycmakeargs=(
-DBUILD_DOCUMENTATION=$(usex doc ON OFF)
- -DBUILD_SHARED_LIBS=$(usex shared ON OFF)
-DENABLE_DOUBLE_PRECISION=$(usex double-precision ON OFF)
)
- local CMAKE_BUILD_TYPE="Release"
cmake_src_configure
}
diff --git a/sci-libs/libccd/metadata.xml b/sci-libs/libccd/metadata.xml
index 62004119dcce..33316116723d 100644
--- a/sci-libs/libccd/metadata.xml
+++ b/sci-libs/libccd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
@@ -11,8 +11,6 @@
implements algorithm Minkowski Portal Refinement (MPR, a.k.a. XenoCollide) as described in Game Programming Gems 7.
</longdescription>
<use>
- <flag name="shared">Build shared library</flag>
- <flag name="double">Use double precision floats</flag>
<flag name="double-precision">More precise calculations at the expense of speed</flag>
</use>
<upstream>
diff --git a/sci-libs/libcerf/Manifest b/sci-libs/libcerf/Manifest
index 8c42831e344c..50682d4b2a5a 100644
--- a/sci-libs/libcerf/Manifest
+++ b/sci-libs/libcerf/Manifest
@@ -1 +1 @@
-DIST libcerf-1.5.tgz 413926 BLAKE2B 1208c77658625d00d37f95f5dda9e07f99c91dc6b6fede4b8f936637dddd7450fa42c0ed3c8ff4c72bca0abe0195d6ebb58fdaa8c1bd535d8a488344fcccafad SHA512 bb97a1142d26dd2507a3fabc543accd5416f5ef3565bad6ea68ca8a62e13cb480b6e05bd8fe2215ed0133f43d4107fdc72efaedfcff7ffc0314492e97a92a8a3
+DIST libcerf-v1.17.tar.gz 76610 BLAKE2B 94310a8378b9272ecf39c29420eaec98716e4be71717515cebc37d9b101a1a6e4b1d673ccfb70ba55e4cd34bead21b39252738ccf8767dcb376205ac5edf12d3 SHA512 cfa9f56f69a7f030f256610f2bfcbf1b48e979af379e23aedb19df33421c488f91e5757df9a37083060b96093854e1a07175aa2d1b75ee9711f9089b61241688
diff --git a/sci-libs/libcerf/libcerf-1.17.ebuild b/sci-libs/libcerf/libcerf-1.17.ebuild
new file mode 100644
index 000000000000..6351323c8b54
--- /dev/null
+++ b/sci-libs/libcerf/libcerf-1.17.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P="${PN}-v${PV}"
+DESCRIPTION="Efficient and accurate implementation of complex error functions"
+HOMEPAGE="https://jugit.fz-juelich.de/mlz/libcerf"
+SRC_URI="https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
diff --git a/sci-libs/libcerf/libcerf-1.5.ebuild b/sci-libs/libcerf/libcerf-1.5.ebuild
deleted file mode 100644
index e254c3c379e4..000000000000
--- a/sci-libs/libcerf/libcerf-1.5.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="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 arm64 hppa ~ia64 ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc static-libs test"
-RESTRICT="!test? ( test )"
-
-src_configure() {
- econf --enable-shared $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
- mv "${ED}"/usr/share/man/man3/{,${PN}-}cerf.3 || die #collision with sys-apps/man-pages
- use doc || rm -r "${ED}"/usr/share/doc/${P}/html || die
-}
diff --git a/sci-libs/libcerf/metadata.xml b/sci-libs/libcerf/metadata.xml
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/sci-libs/libcerf/metadata.xml
+++ b/sci-libs/libcerf/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/libcifpp/Manifest b/sci-libs/libcifpp/Manifest
new file mode 100644
index 000000000000..4fcf5d210edf
--- /dev/null
+++ b/sci-libs/libcifpp/Manifest
@@ -0,0 +1,6 @@
+DIST libcifpp-5.1.1-components.cif.xz 58896016 BLAKE2B 2bf61944fe6b11325df3c6c32eaabeb27b0f117eed362dd2eba51f623f4054d142ee84aeb04908322b7aebd30a1bd17da969eeda953f7423cca922006fe767d2 SHA512 d4103ac0b0ae5698dd4c17e452ea35871c4854827d3a2ee93f00b73b6f57b87ee2278b44ec0501f818dfc34284b4c19d4617ba3a98df9552da5ebedaa59c9622
+DIST libcifpp-5.1.1.tar.gz 2244833 BLAKE2B 3a5feada63ee123dbed1ba776d0248569f46bbc2d39748db7d3cdfdfb66c89e08c54cdf5133182978e9ef4808c19adfc794ee895a95e882f0d5ff3d173e57311 SHA512 3e988d0e4f24174fb47274b0feaae5a8a793441efb9c8273b328f412fbd29ee082cd91e19f19008069ebfd3507c83f7945dc33fc015784727603f987091eaa5c
+DIST libcifpp-5.1.2-components.cif.xz 59092332 BLAKE2B 3672ca8e9553be80822ca7d7398fd3b73b14b1bf375e63f3a7aef33c2ee92d837c9ca08b3a756d838c512ac5918a0537d70e9a422331fafaf0ff77ecf2134515 SHA512 b2d3507d339d8467b10d0a638a5b86e75ed73fb64fee854aefeb2f0ce999e6a99755af30483749ce75e8a4ce63536111bd2a7a5f698dfc86d1a2be3d243304ce
+DIST libcifpp-5.1.2.tar.gz 2244795 BLAKE2B 7bec9f901c112fabf86c9ce691229f42dcf854be4c99bdf09dbe7dd0d0a3a7e92831cb2b72afa4debc1ce8b1a3a33e27cceda048adca6805802189e0ad50349c SHA512 3adb801ed52b250f6779228288a2c2926c1c7d8d0eff0bb6ed610b4258de8537253d2ce95208e8682b2eb8d0c09ecb53b6269c24bdce907360d9478c6c8c3c1b
+DIST libcifpp-5.2.2-components.cif.xz 60754468 BLAKE2B 899120c2d6749fb2da9be94de8665f4e961d08c101b33bce98b84bf126b32d43bb79c88da98fb926047522a6f138512dcc59df698f57a83b716e039d422308d4 SHA512 d861b83f8b363f2e64ccf073bae768d73f9f57ec2674bf30d43b05fc9a32d235e26c888faaa02b6276e0734632b237b6dd00d8b966dd63b4fcf6562ebcf41cfc
+DIST libcifpp-5.2.2.tar.gz 2277238 BLAKE2B a31af09bed7f1dbd6f610e104f0a8439742c863bc58b3680c058cb570a1f93fbcd6d23f29a372aafbb7166a4d86b2590cd24e092b1cc7af25bd09bbe437c93eb SHA512 2bbe9b13fd0ce8f686b5fa9e1675a41cc37c954cd9d80326fcc7c5f4c767be95dd71f6ddc3e841b6102214cd66205303515fa0750683e539f48b038a32a51af9
diff --git a/sci-libs/libcifpp/libcifpp-5.1.1.ebuild b/sci-libs/libcifpp/libcifpp-5.1.1.ebuild
new file mode 100644
index 000000000000..8d30793f975e
--- /dev/null
+++ b/sci-libs/libcifpp/libcifpp-5.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+DESCRIPTION="Code to work with mmCIF and PDB files"
+HOMEPAGE="https://github.com/PDB-REDO/libcifpp"
+# Update components file on every bump
+# ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz
+SRC_URI="
+ https://github.com/PDB-REDO/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~pacho/${PN}/${P}-components.cif.xz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-cpp/eigen:3
+ dev-libs/boost:=
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ cp "${WORKDIR}"/${P}-components.cif data/components.cif || die
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DCIFPP_DOWNLOAD_CCD=OFF
+ -DCIFPP_INSTALL_UPDATE_SCRIPT=OFF
+ -DENABLE_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/libcifpp/libcifpp-5.1.2.ebuild b/sci-libs/libcifpp/libcifpp-5.1.2.ebuild
new file mode 100644
index 000000000000..47d08fc49c68
--- /dev/null
+++ b/sci-libs/libcifpp/libcifpp-5.1.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+DESCRIPTION="Code to work with mmCIF and PDB files"
+HOMEPAGE="https://github.com/PDB-REDO/libcifpp"
+# Update components file on every bump
+# http://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz
+SRC_URI="
+ https://github.com/PDB-REDO/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~pacho/${PN}/${P}-components.cif.xz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-cpp/eigen:3
+ dev-libs/boost:=
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ cp "${WORKDIR}"/${P}-components.cif data/components.cif || die
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DCIFPP_DOWNLOAD_CCD=OFF
+ -DCIFPP_INSTALL_UPDATE_SCRIPT=OFF
+ -DENABLE_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/libcifpp/libcifpp-5.2.2.ebuild b/sci-libs/libcifpp/libcifpp-5.2.2.ebuild
new file mode 100644
index 000000000000..0a794df24722
--- /dev/null
+++ b/sci-libs/libcifpp/libcifpp-5.2.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+DESCRIPTION="Code to work with mmCIF and PDB files"
+HOMEPAGE="https://github.com/PDB-REDO/libcifpp"
+# Update components file on every bump
+# https://files.wwpdb.org/pub/pdb/data/monomers/components.cif.gz
+SRC_URI="
+ https://github.com/PDB-REDO/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~pacho/${PN}/${P}-components.cif.xz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-cpp/eigen:3
+ dev-libs/boost:=
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ cp "${WORKDIR}"/${P}-components.cif data/components.cif || die
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DCIFPP_DOWNLOAD_CCD=OFF
+ -DCIFPP_INSTALL_UPDATE_SCRIPT=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/libcifpp/metadata.xml b/sci-libs/libcifpp/metadata.xml
new file mode 100644
index 000000000000..403881fddf16
--- /dev/null
+++ b/sci-libs/libcifpp/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pacho@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">PDB-REDO/libcifpp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libcmatrix/Manifest b/sci-libs/libcmatrix/Manifest
deleted file mode 100644
index 62e8160f899d..000000000000
--- a/sci-libs/libcmatrix/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libcmatrix-3.11.0.tar.gz 1064634 BLAKE2B 5eb5ffe7ceb80f430fcfb8ca42ab029863a2571ef01adfdc59644fa9951cb1c5205eb74faefdef1fa335af3a16396bb154b6258f0d4dd2c52b5a40eac6cda9b0 SHA512 b0f5d9382e0a7c6f8695488481c51e5cdc38d89c9371203870c31a91bf957956a85301cf3aa035b9214d581077581dc1f599f092dd2f077ee14e6b4fd06128c2
diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch b/sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch
deleted file mode 100644
index 74e49285dd04..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-fix-c++14.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Fix building with C++14, which errors out due -Wnarrowing conversions.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=594680
-
---- a/include/lcm_ssecomplex.h
-+++ b/include/lcm_ssecomplex.h
-@@ -151,7 +151,7 @@
- {
- static const union {
- int i[4]; ssecomplex_t v;
-- } signbithigh = {{0,0,0,0x80000000}};
-+ } signbithigh = {{0,0,0,(int)0x80000000}};
- ssecomplex_t b_im = _mm_shuffle_pd(b,b,3); // Imag. part of b in both
- const ssecomplex_t b_re = _mm_shuffle_pd(b,b,0); // Real part of b in both
- const ssecomplex_t tmp=_mm_mul_pd(a,b_re);
-@@ -166,7 +166,7 @@
- ssecomplex_t b_re = _mm_set1_pd(b);
- static const union {
- int i[4]; ssecomplex_t v;
-- } signbithigh = {{0,0,0,0x80000000}};
-+ } signbithigh = {{0,0,0,(int)0x80000000}};
- b_re = _mm_xor_pd(b_re, signbithigh.v); // Change sign of high
- return complex(_mm_mul_pd(a.z_, b_re));
- }
-@@ -184,14 +184,14 @@
- inline complex operator- (const complex& a) {
- static const union { // (signbit,signbit)
- int i[4]; ssecomplex_t v;
-- } signbits = {{0,0x80000000,0,0x80000000}};
-+ } signbits = {{0,(int)0x80000000,0,(int)0x80000000}};
- return complex(_mm_xor_pd(a, signbits.v)); // Change sign of both elements
- }
-
- inline complex conj(const complex& a) {
- static const union { // (signbit,signbit)
- int i[4]; ssecomplex_t v;
-- } signbithigh = {{0,0,0,0x80000000}};
-+ } signbithigh = {{0,0,0,(int)0x80000000}};
- return complex(_mm_xor_pd(a.z_, signbithigh.v)); // Change sign of imag. part
- }
-
diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-gcc5.2.patch b/sci-libs/libcmatrix/files/libcmatrix-3.11.0-gcc5.2.patch
deleted file mode 100644
index d5d40246a2f8..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-gcc5.2.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- include/MultiMatrix.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/MultiMatrix.h b/include/MultiMatrix.h
-index 2d54db5..e95ce4c 100755
---- a/include/MultiMatrix.h
-+++ b/include/MultiMatrix.h
-@@ -1225,7 +1225,7 @@ template<class T,size_t N> struct new_trait_<T,N,N> { typedef MultiMatrix<T,N> v
- #endif
- //LCM_SUPPRESS_VIEWS
-
-- template<size_t N, template<size_t> class CheckClass =LCM_CheckBoundsDefault>
-+ template<size_t N, template<size_t> class CheckClass>
- class Indexer<N,CheckClass>::permuted_iterator : public ::std::iterator< ::std::bidirectional_iterator_tag,size_t>
- {
- private:
diff --git a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch b/sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch
deleted file mode 100644
index 6c5c3167619e..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.11.0-shared.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-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/libcmatrix-3.2.1-gcc4.4.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch
deleted file mode 100644
index 24c1a89b48d0..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-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/libcmatrix-3.2.1-gcc4.6.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch
deleted file mode 100644
index b3d8c8d19996..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.6.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- 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/libcmatrix-3.2.1-gcc4.7.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch
deleted file mode 100644
index 633c9d50cf94..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-gcc4.7.patch
+++ /dev/null
@@ -1,227 +0,0 @@
- 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/libcmatrix-3.2.1-minuit2.patch b/sci-libs/libcmatrix/files/libcmatrix-3.2.1-minuit2.patch
deleted file mode 100644
index e7a6cec644bf..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.2.1-minuit2.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/configure-libraries.ac
-+++ b/configure-libraries.ac
-@@ -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/libcmatrix-3.9.0-atlas.patch b/sci-libs/libcmatrix/files/libcmatrix-3.9.0-atlas.patch
deleted file mode 100644
index 329e794645eb..000000000000
--- a/sci-libs/libcmatrix/files/libcmatrix-3.9.0-atlas.patch
+++ /dev/null
@@ -1,24 +0,0 @@
- 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-r1.ebuild b/sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild
deleted file mode 100644
index 8596928ef6a1..000000000000
--- a/sci-libs/libcmatrix/libcmatrix-3.11.0-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-MY_P="${PN}${PV}_lite"
-
-DESCRIPTION="lite version of pNMRsim"
-HOMEPAGE="http://www.dur.ac.uk/paul.hodgkinson/pNMRsim/"
-SRC_URI="https://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"
-
-DOCS=( CHANGES docs/cmatrix.pdf )
-PATCHES=(
- "${FILESDIR}/${PN}-3.11.0-shared.patch"
- "${FILESDIR}/${PN}-3.2.1-minuit2.patch"
- "${FILESDIR}/${PN}-3.2.1-gcc4.4.patch"
- "${FILESDIR}/${PN}-3.2.1-gcc4.6.patch"
- "${FILESDIR}/${PN}-3.2.1-gcc4.7.patch"
- "${FILESDIR}/${PN}-3.9.0-atlas.patch"
- "${FILESDIR}/${PN}-3.11.0-gcc5.2.patch"
- "${FILESDIR}/${PN}-3.11.0-fix-c++14.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-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 -r include/.
-
- einstalldocs
-}
diff --git a/sci-libs/libcmatrix/metadata.xml b/sci-libs/libcmatrix/metadata.xml
deleted file mode 100644
index 8425c0d53cb0..000000000000
--- a/sci-libs/libcmatrix/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/sci-libs/libdap/Manifest b/sci-libs/libdap/Manifest
index c134d3de5301..eee8bdbe052b 100644
--- a/sci-libs/libdap/Manifest
+++ b/sci-libs/libdap/Manifest
@@ -1 +1 @@
-DIST libdap-3.18.1.tar.gz 2209343 BLAKE2B 0b71f5a557315a1481f45b465a73d62e8bf44c78c7b0d257f56c758a63137eca3777a1e2e9ef1e7dc3e2c434709f238fc7ed40e56f61eb89f8d5b47af7504efa SHA512 a1d06bbbad654718bbf9980dc0943935089c09772678f6457d4de8a9d37f1ce33c0e1cab4c5eefec6f9e159028b194d6e3a6021597276b233eda52603ae8dd38
+DIST libdap-3.20.9.tar.gz 2838651 BLAKE2B 84186a73455d8756d0dccaf11554861d48f55a358cc3f70d899d7f24b0b676b0bacdfff47b63c956619717c7fb7f7e3678669599724a2170221a4bc74d8388c2 SHA512 2e360148e5ca3b5c12552ff429b161d8be6905594ae2df98c5b005cd286cb803913b8336371cd07361082749122f7aa5cbc93ff1812ed598908afd0e83df927c
diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-broken-tests.patch b/sci-libs/libdap/files/libdap-3.18.1-disable-broken-tests.patch
deleted file mode 100644
index 09c33e6f381a..000000000000
--- a/sci-libs/libdap/files/libdap-3.18.1-disable-broken-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: D4FilterClauseTest breaks on arm*, powerpc, s390x.
-Author: Alastair McKinstry <mckinstry@debian.org>
-Last-Updated: 2016-08-31
-Forwarded: no
-
-Index: libdap-3.18.0/unit-tests/Makefile.am
-===================================================================
---- libdap-3.18.0.orig/unit-tests/Makefile.am
-+++ libdap-3.18.0/unit-tests/Makefile.am
-@@ -74,7 +74,7 @@ UNIT_TESTS = marshT arrayT attrTableT st
- if DAP4_DEFINED
- UNIT_TESTS += D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \
- D4EnumDefsTest D4GroupTest D4ParserSax2Test D4AttributesTest D4EnumTest \
-- chunked_iostream_test D4AsyncDocTest DMRTest D4FilterClauseTest \
-+ chunked_iostream_test D4AsyncDocTest DMRTest \
- D4SequenceTest
- endif
-
diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-cache-test.patch b/sci-libs/libdap/files/libdap-3.18.1-disable-cache-test.patch
deleted file mode 100644
index 6ce7ae0c4f6d..000000000000
--- a/sci-libs/libdap/files/libdap-3.18.1-disable-cache-test.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Author: Alastair McKinstry <mckinstry@debian.org>
-Description: Disable test as website appears to be down
-Forwarded: no
-Last-Updated: 2015-10-20
-
-Index: libdap-3.18.0/unit-tests/Makefile.am
-===================================================================
---- libdap-3.18.0.orig/unit-tests/Makefile.am
-+++ libdap-3.18.0/unit-tests/Makefile.am
-@@ -67,9 +67,9 @@ D4-xml.tar.gz: D4-xml/DMR_*[0-9].xml
- if CPPUNIT
- UNIT_TESTS = marshT arrayT attrTableT structT sequenceT ddsT dasT \
- RegexTest ArrayTest AttrTableTest ByteTest MIMEUtilTest ancT DASTest \
-- DDSTest DDXParserTest generalUtilTest HTTPConnectTest parserUtilTest \
-- RCReaderTest SequenceTest SignalHandlerTest MarshallerTest \
-- HTTPCacheTest ServerFunctionsListUnitTest
-+ DDSTest DDXParserTest generalUtilTest parserUtilTest \
-+ SequenceTest SignalHandlerTest MarshallerTest \
-+ ServerFunctionsListUnitTest
-
- if DAP4_DEFINED
- UNIT_TESTS += D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \
diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-dmr-tests.patch b/sci-libs/libdap/files/libdap-3.18.1-disable-dmr-tests.patch
deleted file mode 100644
index d4691f59518f..000000000000
--- a/sci-libs/libdap/files/libdap-3.18.1-disable-dmr-tests.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Author: Alastair McKinstry <mckinstry@debian.org>
-Description: Disable DMR tests which break on big-endian archs at the moment
-Last-Updated: 2015-11-08
-Forwarded: no
-
-Index: libdap-3.18.0/tests/Makefile.am
-===================================================================
---- libdap-3.18.0.orig/tests/Makefile.am
-+++ libdap-3.18.0/tests/Makefile.am
-@@ -31,7 +31,7 @@ endif
- # TESTS = DASTest DDSTest EXPRTest DMRTest getdapTest
-
- check_SCRIPTS = $(DASTESTSUITE) $(DDSTESTSUITE) $(EXPRTESTSUITE) \
-- $(DMRTESTSUITE) $(GETDAPTESTSUITE)
-+ $(GETDAPTESTSUITE)
-
- # Build the test drivers. The drivers all use the
- # subclassed types in Test*.cc and the TestTypesFactory.
-@@ -107,11 +107,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest
- GETDAPTESTSUITE = $(srcdir)/getdapTest
-
- check-local: atconfig atlocal $(DASTESTSUITE) $(DDSTESTSUITE) \
--$(EXPRTESTSUITE) $(DMRTESTSUITE) $(GETDAPTESTSUITE)
-+$(EXPRTESTSUITE) $(GETDAPTESTSUITE)
- $(SHELL) '$(DASTESTSUITE)' $(TESTSUITEFLAGS)
- $(SHELL) '$(DDSTESTSUITE)' $(TESTSUITEFLAGS)
- $(SHELL) '$(EXPRTESTSUITE)' $(TESTSUITEFLAGS)
-- $(SHELL) '$(DMRTESTSUITE)' $(TESTSUITEFLAGS)
- $(SHELL) '$(GETDAPTESTSUITE)' $(TESTSUITEFLAGS)
-
- # Make sure there are no spaces after the DASTESTSUITE names. jhrg 3/16/15
diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-net-tests.patch b/sci-libs/libdap/files/libdap-3.18.1-disable-net-tests.patch
deleted file mode 100644
index 7c42ec1199c4..000000000000
--- a/sci-libs/libdap/files/libdap-3.18.1-disable-net-tests.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Author: Alastair McKinstry <mckinstry@debian.org>
-Description: Disable network tests, as network not available on
- most build systems
-Last-Updated: 2016-02-06
-Forwarded: not-needed
-
-Index: libdap-3.18.0/tests/Makefile.am
-===================================================================
---- libdap-3.18.0.orig/tests/Makefile.am
-+++ libdap-3.18.0/tests/Makefile.am
-@@ -30,8 +30,7 @@ endif
-
- # TESTS = DASTest DDSTest EXPRTest DMRTest getdapTest
-
--check_SCRIPTS = $(DASTESTSUITE) $(DDSTESTSUITE) $(EXPRTESTSUITE) \
-- $(GETDAPTESTSUITE)
-+check_SCRIPTS = $(DASTESTSUITE) $(DDSTESTSUITE) $(EXPRTESTSUITE)
-
- # Build the test drivers. The drivers all use the
- # subclassed types in Test*.cc and the TestTypesFactory.
-@@ -107,11 +106,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest
- GETDAPTESTSUITE = $(srcdir)/getdapTest
-
- check-local: atconfig atlocal $(DASTESTSUITE) $(DDSTESTSUITE) \
--$(EXPRTESTSUITE) $(GETDAPTESTSUITE)
-+$(EXPRTESTSUITE)
- $(SHELL) '$(DASTESTSUITE)' $(TESTSUITEFLAGS)
- $(SHELL) '$(DDSTESTSUITE)' $(TESTSUITEFLAGS)
- $(SHELL) '$(EXPRTESTSUITE)' $(TESTSUITEFLAGS)
-- $(SHELL) '$(GETDAPTESTSUITE)' $(TESTSUITEFLAGS)
-
- # Make sure there are no spaces after the DASTESTSUITE names. jhrg 3/16/15
- # Delete the scripts here and not using CLEANFILES because this target is
diff --git a/sci-libs/libdap/files/libdap-3.18.1-fix-buildsystem.patch b/sci-libs/libdap/files/libdap-3.18.1-fix-buildsystem.patch
deleted file mode 100644
index f36fdceb1fd0..000000000000
--- a/sci-libs/libdap/files/libdap-3.18.1-fix-buildsystem.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Do not install headers and static library required only for test suite.
-
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -36,13 +36,13 @@
- # Build the test drivers. The drivers all use the
- # subclassed types in Test*.cc and the TestTypesFactory.
-
--lib_LIBRARIES = libtest-types.a
-+noinst_LIBRARIES = libtest-types.a
-
- libtest_types_a_SOURCES = $(TESTSRCS) $(TEST_HDR)
- libtest_types_a_CXXFLAGS = -fPIC
-
- testheadersdir = $(pkgincludedir)/test
--testheaders_HEADERS = $(TEST_HDR)
-+noinst_testheaders = $(TEST_HDR)
-
- das_test_SOURCES = das-test.cc
- das_test_LDADD = libtest-types.a ../libdapserver.la ../libdap.la
diff --git a/sci-libs/libdap/files/libdap-3.18.1-fix-c++14.patch b/sci-libs/libdap/files/libdap-3.18.1-fix-c++14.patch
deleted file mode 100644
index 6b74fa10a240..000000000000
--- a/sci-libs/libdap/files/libdap-3.18.1-fix-c++14.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-C++11 changed destructor semantics to be noexcept(true)
-by default, leading to potentially changed semantics.
-
---- a/HTTPResponse.h
-+++ b/HTTPResponse.h
-@@ -115,6 +115,9 @@
- temp_file and headers are deleted. If the tmp file name is "", it is
- not deleted. */
- virtual ~HTTPResponse()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- DBG(cerr << "Freeing HTTPConnect resources (" + d_file + ")... ");
-
---- a/MarshallerThread.cc
-+++ b/MarshallerThread.cc
-@@ -106,6 +106,9 @@
- * Unlock the mutex
- */
- Locker::~Locker()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- DBG(cerr << "Unlocking the mutex! (" << pthread_self() << ")" << endl);
-
-@@ -140,6 +143,9 @@
- }
-
- ChildLocker::~ChildLocker()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- DBG(cerr << "Unlocking the mutex! (" << pthread_self() << ")" << endl);
-
-@@ -164,6 +170,9 @@
- }
-
- MarshallerThread::~MarshallerThread()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- int status = pthread_mutex_lock(&d_out_mutex);
- if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not lock m_mutex");
---- a/MarshallerThread.h
-+++ b/MarshallerThread.h
-@@ -52,7 +52,11 @@
- class Locker {
- public:
- Locker(pthread_mutex_t &lock, pthread_cond_t &cond, int &count);
-- virtual ~Locker();
-+ virtual ~Locker()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+ ;
-
- private:
- pthread_mutex_t& m_mutex;
-@@ -74,7 +78,11 @@
- class ChildLocker {
- public:
- ChildLocker(pthread_mutex_t &lock, pthread_cond_t &cond, int &count);
-- virtual ~ChildLocker();
-+ virtual ~ChildLocker()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+ ;
-
- private:
- pthread_mutex_t& m_mutex;
-@@ -144,7 +152,11 @@
-
- public:
- MarshallerThread();
-- virtual ~MarshallerThread();
-+ virtual ~MarshallerThread()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+ ;
-
- pthread_mutex_t &get_mutex() { return d_out_mutex; }
- pthread_cond_t &get_cond() { return d_out_cond; }
---- a/Response.h
-+++ b/Response.h
-@@ -93,6 +93,9 @@
-
- /** Close the stream. */
- virtual ~Response()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- if (d_stream)
- fclose(d_stream);
diff --git a/sci-libs/libdap/files/libdap-3.20.9-disable-net-tests.patch b/sci-libs/libdap/files/libdap-3.20.9-disable-net-tests.patch
new file mode 100644
index 000000000000..9426a287b42e
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.20.9-disable-net-tests.patch
@@ -0,0 +1,26 @@
+https://src.fedoraproject.org/rpms/libdap/raw/rawhide/f/libdap-offline.patch
+https://bugs.gentoo.org/830221
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -120,7 +120,6 @@ $(EXPRTESTSUITE) $(DMRTESTSUITE) $(GETDA
+ $(SHELL) '$(DDSTESTSUITE)' $(TESTSUITEFLAGS)
+ $(SHELL) '$(EXPRTESTSUITE)' $(TESTSUITEFLAGS)
+ $(SHELL) '$(DMRTESTSUITE)' $(TESTSUITEFLAGS)
+- $(SHELL) '$(GETDAPTESTSUITE)' $(TESTSUITEFLAGS)
+
+ # Make sure there are no spaces after the DASTESTSUITE names. jhrg 3/16/15
+ # Delete the scripts here and not using CLEANFILES because this target is
+--- a/unit-tests/Makefile.am
++++ b/unit-tests/Makefile.am
+@@ -78,9 +78,9 @@ D4-xml.tar.gz: D4-xml/DMR_*[0-9].xml
+ if CPPUNIT
+ UNIT_TESTS = marshT arrayT attrTableT structT sequenceT ddsT dasT \
+ RegexTest ArrayTest AttrTableTest ByteTest MIMEUtilTest ancT DASTest \
+- DDSTest DDXParserTest generalUtilTest HTTPConnectTest parserUtilTest \
++ DDSTest DDXParserTest generalUtilTest parserUtilTest \
+ RCReaderTest SequenceTest SignalHandlerTest MarshallerTest \
+- HTTPCacheTest ServerFunctionsListUnitTest Int8Test Int16Test UInt16Test \
++ ServerFunctionsListUnitTest Int8Test Int16Test UInt16Test \
+ Int32Test UInt32Test Int64Test UInt64Test Float32Test Float64Test \
+ D4BaseTypeFactoryTest BaseTypeFactoryTest
+
diff --git a/sci-libs/libdap/libdap-3.18.1.ebuild b/sci-libs/libdap/libdap-3.18.1.ebuild
deleted file mode 100644
index 07e468687be9..000000000000
--- a/sci-libs/libdap/libdap-3.18.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Implementation of a C++ SDK for DAP 2.0 and 3.2"
-HOMEPAGE="https://www.opendap.org"
-SRC_URI="https://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="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/libxml2:2
- net-misc/curl
- sys-libs/zlib"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- sys-devel/flex
- test? ( dev-util/cppunit )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.18.1-fix-buildsystem.patch"
- "${FILESDIR}/${PN}-3.18.1-fix-c++14.patch"
- "${FILESDIR}/${PN}-3.18.1-disable-cache-test.patch"
- "${FILESDIR}/${PN}-3.18.1-disable-dmr-tests.patch"
- "${FILESDIR}/${PN}-3.18.1-disable-net-tests.patch"
- "${FILESDIR}/${PN}-3.18.1-disable-broken-tests.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- # bug 619144
- append-cxxflags -std=c++14
-
- econf \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libdap/libdap-3.20.9.ebuild b/sci-libs/libdap/libdap-3.20.9.ebuild
new file mode 100644
index 000000000000..1692827e92de
--- /dev/null
+++ b/sci-libs/libdap/libdap-3.20.9.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Implementation of a C++ SDK for DAP 2.0 and 3.2"
+HOMEPAGE="https://www.opendap.org"
+SRC_URI="https://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="static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libxml2:2
+ net-misc/curl
+ sys-apps/util-linux
+ sys-libs/zlib"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ app-alternatives/lex
+ test? ( dev-util/cppunit )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.20.9-disable-net-tests.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto, -Werror=strict-aliasing
+ # https://bugs.gentoo.org/878895
+ # https://github.com/OPENDAP/libdap4/issues/244
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # bug 619144
+ append-cxxflags -std=c++14
+
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ # package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libdap/metadata.xml b/sci-libs/libdap/metadata.xml
index c1f3d9787739..722148b3c95a 100644
--- a/sci-libs/libdap/metadata.xml
+++ b/sci-libs/libdap/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-geosciences@gentoo.org</email>
diff --git a/sci-libs/libecpint/Manifest b/sci-libs/libecpint/Manifest
new file mode 100644
index 000000000000..6c175d79bd31
--- /dev/null
+++ b/sci-libs/libecpint/Manifest
@@ -0,0 +1 @@
+DIST libecpint-1.0.6.tar.gz 1331016 BLAKE2B 9b1a8452b6810eaca17eb9e6efe876537ae32e980593ec89681fa4b2d6eaf5a908d5971c774eccd75858025599eeeb119a74b03fdbf7bcee644316dc6acad0d9 SHA512 8b0bf20d263891255ea8828cb9df7c919155ef461a66ae6c8979e9996e3392ea1b7adf21ef9ad9188e2f56547c1e2b525c3711f7cd1ace2b3c09b8ae38f75ee8
diff --git a/sci-libs/libecpint/libecpint-1.0.6-r1.ebuild b/sci-libs/libecpint/libecpint-1.0.6-r1.ebuild
new file mode 100644
index 000000000000..6f56bf9ddced
--- /dev/null
+++ b/sci-libs/libecpint/libecpint-1.0.6-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Efficient evaluation of integrals over ab initio effective core potentials"
+HOMEPAGE="https://github.com/robashaw/libecpint"
+SRC_URI="https://github.com/robashaw/libecpint/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/pugixml"
+DEPEND="${RDEPEND}
+ test? ( dev-cpp/gtest )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ find . -name CMakeLists.txt -exec \
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/g' {} \; || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBECPINT_BUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/libecpint/metadata.xml b/sci-libs/libecpint/metadata.xml
new file mode 100644
index 000000000000..230c9374fc5b
--- /dev/null
+++ b/sci-libs/libecpint/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Libecpint is a C++ library for the efficient evaluation of integrals over ab
+ initio effective core potentials, using a mixture of generated, recursive
+ code and Gauss-Chebyshev quadrature. It is designed to be standalone and
+ generic.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">robashaw/libecpint</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libexcelformat/files/libexcelformat-101016-Wliteral-suffix.patch b/sci-libs/libexcelformat/files/libexcelformat-101016-Wliteral-suffix.patch
new file mode 100644
index 000000000000..9ce8f4a7aa85
--- /dev/null
+++ b/sci-libs/libexcelformat/files/libexcelformat-101016-Wliteral-suffix.patch
@@ -0,0 +1,13 @@
+Fix -Wliteral-suffix (#731886)
+
+--- a/BasicExcel.cpp
++++ b/BasicExcel.cpp
+@@ -4913,7 +4913,7 @@
+ do
+ {
+ char sname[50];
+- sprintf(sname, "Sheet"FMT_SIZE_T, sheetNo++);
++ sprintf(sname, "Sheet" FMT_SIZE_T, sheetNo++);
+ yesheet = AddWorksheet(sname, sheetIndex);
+ } while (!yesheet);
+ return yesheet;
diff --git a/sci-libs/libexcelformat/libexcelformat-101016-r1.ebuild b/sci-libs/libexcelformat/libexcelformat-101016-r1.ebuild
new file mode 100644
index 000000000000..23fb0ef4f630
--- /dev/null
+++ b/sci-libs/libexcelformat/libexcelformat-101016-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="reading, writing, and editing of XLS (BIFF8 format) files using C++"
+HOMEPAGE="https://www.codeproject.com/Articles/42504/ExcelFormat-Library"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+S="${WORKDIR}/libExcelFormat"
+
+LICENSE="CPOL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+PATCHES=( "${FILESDIR}"/${P}-Wliteral-suffix.patch )
+
+src_configure() {
+ tc-export CXX
+}
+
+src_install() {
+ doheader *.h*
+ dolib.so libExcelFormat.so*
+}
diff --git a/sci-libs/libexcelformat/libexcelformat-101016.ebuild b/sci-libs/libexcelformat/libexcelformat-101016.ebuild
deleted file mode 100644
index 6b346b4f29f2..000000000000
--- a/sci-libs/libexcelformat/libexcelformat-101016.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit 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() {
- default
- tc-export CXX
-}
-
-src_install() {
- doheader *.h*
-
- dolib.so libExcelFormat.so*
-}
diff --git a/sci-libs/libexcelformat/metadata.xml b/sci-libs/libexcelformat/metadata.xml
index ae9640ffb9f1..c0cd18916a93 100644
--- a/sci-libs/libexcelformat/metadata.xml
+++ b/sci-libs/libexcelformat/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/libgenome/Manifest b/sci-libs/libgenome/Manifest
deleted file mode 100644
index 68624fb9fdc2..000000000000
--- a/sci-libs/libgenome/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libgenome-1.3-r1.tar.bz2 128503 BLAKE2B d64784f8b220fa5bf32a4e22b8884755e38ce03fa9d17fc11cd79dfe662051f5518852631bd5a081ab52f0139434d5571d0dde49ae873297cb52a9153949e478 SHA512 0fd1895d9ea1ac75e4efaeae9abd5241193dba17f91426a5be7b244331ac7939c37d51bb08f8378d64a96573ad38b39e2583a928aadf9421e8b5c17fe217dfd4
diff --git a/sci-libs/libgenome/files/libgenome-1.3-fix-c++14.patch b/sci-libs/libgenome/files/libgenome-1.3-fix-c++14.patch
deleted file mode 100644
index ffe30ef91fa2..000000000000
--- a/sci-libs/libgenome/files/libgenome-1.3-fix-c++14.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Fix building with C++14, which errors out due to collisions with internal abs() function.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=594372
-
---- a/libGenome/gnDefs.h
-+++ b/libGenome/gnDefs.h
-@@ -175,13 +175,6 @@
-
- #define CONTIG_SECTION_SIZE 3
-
--// some compilers don't have abs() for 64 bit ints
--#if (defined(__GNUG__) && ( __GNUC__ <= 2 )) || defined(__INTEL_COMPILER) || (defined _MSC_VER && defined __cplusplus)
--
--int64 abs( int64 a );
--
--#endif
--
- #ifdef __cplusplus
- namespace genome {
- #endif
---- a/libGenome/Makefile.am
-+++ b/libGenome/Makefile.am
-@@ -29,7 +29,7 @@
- gnGenomeSpec.cpp gnLocation.cpp \
- gnRAWSource.cpp gnBaseFeature.cpp gnSEQSource.cpp gnSequence.cpp \
- gnContigSpec.cpp gnSourceHeader.cpp gnException.cpp \
--gnFastTranslator.cpp gnPosSpecificTranslator.cpp gnDefs.cpp
-+gnFastTranslator.cpp gnPosSpecificTranslator.cpp
-
- library_includedir=$(includedir)/$(GENERIC_LIBRARY_NAME)-$(GENERIC_API_VERSION)/$(GENERIC_LIBRARY_NAME)
-
diff --git a/sci-libs/libgenome/libgenome-1.3-r1.ebuild b/sci-libs/libgenome/libgenome-1.3-r1.ebuild
deleted file mode 100644
index 03f05c029ad0..000000000000
--- a/sci-libs/libgenome/libgenome-1.3-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Library for sci-biology/mauve"
-HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
-SRC_URI="mirror://gentoo/${PF}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="doc static-libs"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-PATCHES=( "${FILESDIR}/${PN}-1.3-fix-c++14.patch" )
-
-src_prepare() {
- default
- rm libGenome/gnDefs.cpp || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libgenome/metadata.xml b/sci-libs/libgenome/metadata.xml
deleted file mode 100644
index 8417d1580d40..000000000000
--- a/sci-libs/libgenome/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-biology@gentoo.org</email>
- <name>Gentoo Biology Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/sci-libs/libgeodecomp/Manifest b/sci-libs/libgeodecomp/Manifest
index 01dad4a3f838..b0f683b51f4b 100644
--- a/sci-libs/libgeodecomp/Manifest
+++ b/sci-libs/libgeodecomp/Manifest
@@ -1 +1 @@
-DIST libgeodecomp-0.5.0_pre20200420.tar.gz 1507078 BLAKE2B 64d5c9a138c54175ce049a1a02def90553bca617b22c9ac5fa93cd66aebfd7892f5a458f2d3eb3dd987d3c897cbb338b64cb64af7447f6ae74b41d02a762888e SHA512 0e1caa011641fba5af3c32f165fc95ced578ebeb45cb7ef56f1ede416f2e6aef532569a85339e48b43b0050bbfb60ffa1760604577c07137590445a87e691c70
+DIST libgeodecomp-0.5.0_pre20201009.tar.gz 1510212 BLAKE2B fdddf8ef8dd93d0a4860dbde27d1e59bda039b27ff7526a1ddfb6cfe8103f54edd2a847dad2ffa1cdc0c4454b2d48e0df7e5f941ad2a9df9c848868817413b03 SHA512 42a28fcce6408c610265f8cde9c9d46e83519a8ec4a3e6b1f0e6637597b4b9a702c43655f9c1cf5a159012533f2c2e937de21bda2aed54cdd6acd19ec5b4030a
diff --git a/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200420-mpi.patch b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20201009-mpi.patch
index 1a1164e342be..1a1164e342be 100644
--- a/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20200420-mpi.patch
+++ b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20201009-mpi.patch
diff --git a/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20201009-opencv.patch b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20201009-opencv.patch
new file mode 100644
index 000000000000..0a0632812493
--- /dev/null
+++ b/sci-libs/libgeodecomp/files/libgeodecomp-0.5.0_pre20201009-opencv.patch
@@ -0,0 +1,186 @@
+From 3a20ca303ccc8d9d7cfd9787b392f1436d266243 Mon Sep 17 00:00:00 2001
+From: Kurt Kanzenbach <kurt@kmk-computers.de>
+Date: Mon, 28 Dec 2020 15:03:16 +0100
+Subject: [PATCH] cmake: Fix build with OpenCV
+
+The FindOpenCV module assumes that OpenCV in installed into a separate
+directory which makes sense for cluster machines etc.
+
+However, on Gentoo OpenCV is installed by portage and the corresponding Cmake
+module can be used directly.
+
+Signed-off-by: Kurt Kanzenbach <kurt@kmk-computers.de>
+---
+ CMakeModules/FindOpenCV.cmake | 160 ----------------------------------
+ 1 file changed, 160 deletions(-)
+ delete mode 100644 CMakeModules/FindOpenCV.cmake
+
+diff --git a/CMakeModules/FindOpenCV.cmake b/CMakeModules/FindOpenCV.cmake
+deleted file mode 100644
+index 68d629da5a4d..000000000000
+--- a/CMakeModules/FindOpenCV.cmake
++++ /dev/null
+@@ -1,160 +0,0 @@
+-###########################################################
+-# Find OpenCV Library
+-# See http://sourceforge.net/projects/opencvlibrary/
+-#----------------------------------------------------------
+-#
+-## 1: Setup:
+-# The following variables are optionally searched for defaults
+-# OpenCV_DIR: Base directory of OpenCv tree to use.
+-#
+-## 2: Variable
+-# The following are set after configuration is done:
+-#
+-# OpenCV_FOUND
+-# OpenCV_LIBS
+-# OpenCV_INCLUDE_DIR
+-# OpenCV_VERSION (OpenCV_VERSION_MAJOR, OpenCV_VERSION_MINOR, OpenCV_VERSION_PATCH)
+-#
+-#
+-# Deprecated variable are used to maintain backward compatibility with
+-# the script of Jan Woetzel (2006/09): www.mip.informatik.uni-kiel.de/~jw
+-# OpenCV_INCLUDE_DIRS
+-# OpenCV_LIBRARIES
+-# OpenCV_LINK_DIRECTORIES
+-#
+-## 3: Version
+-#
+-# 2010/04/07 Benoit Rat, Correct a bug when OpenCVConfig.cmake is not found.
+-# 2010/03/24 Benoit Rat, Add compatibility for when OpenCVConfig.cmake is not found.
+-# 2010/03/22 Benoit Rat, Creation of the script.
+-#
+-#
+-# tested with:
+-# - OpenCV 2.1: MinGW, MSVC2008
+-# - OpenCV 2.0: MinGW, MSVC2008, GCC4
+-#
+-#
+-## 4: Licence:
+-#
+-# LGPL 2.1 : GNU Lesser General Public License Usage
+-# Alternatively, this file may be used under the terms of the GNU Lesser
+-
+-# General Public License version 2.1 as published by the Free Software
+-# Foundation and appearing in the file LICENSE.LGPL included in the
+-# packaging of this file. Please review the following information to
+-# ensure the GNU Lesser General Public License version 2.1 requirements
+-# will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+-#
+-#----------------------------------------------------------
+-
+-
+-find_path(OpenCV_DIR "OpenCVConfig.cmake" /usr/share/OpenCV DOC "Root directory of OpenCV")
+-
+-##====================================================
+-## Find OpenCV libraries
+-##----------------------------------------------------
+-if(EXISTS "${OpenCV_DIR}")
+-
+- #When its possible to use the Config script use it.
+- if(EXISTS "${OpenCV_DIR}/OpenCVConfig.cmake")
+-
+- ## Include the standard CMake script
+- include("${OpenCV_DIR}/OpenCVConfig.cmake")
+-
+- ## Search for a specific version
+- set(CVLIB_SUFFIX "${OpenCV_VERSION_MAJOR}${OpenCV_VERSION_MINOR}${OpenCV_VERSION_PATCH}")
+-
+- #Otherwise it try to guess it.
+- else(EXISTS "${OpenCV_DIR}/OpenCVConfig.cmake")
+-
+- set(OPENCV_LIB_COMPONENTS cxcore cv ml highgui cvaux)
+- find_path(OpenCV_INCLUDE_DIR "cv.h" PATHS "${OpenCV_DIR}" PATH_SUFFIXES "include" "include/opencv" DOC "")
+- if(EXISTS ${OpenCV_INCLUDE_DIR})
+- include_directories(${OpenCV_INCLUDE_DIR})
+- endif(EXISTS ${OpenCV_INCLUDE_DIR})
+-
+- #Find OpenCV version by looking at cvver.h
+- file(STRINGS ${OpenCV_INCLUDE_DIR}/cvver.h OpenCV_VERSIONS_TMP REGEX "^#define CV_[A-Z]+_VERSION[ \t]+[0-9]+$")
+- string(REGEX REPLACE ".*#define CV_MAJOR_VERSION[ \t]+([0-9]+).*" "\\1" OpenCV_VERSION_MAJOR ${OpenCV_VERSIONS_TMP})
+- string(REGEX REPLACE ".*#define CV_MINOR_VERSION[ \t]+([0-9]+).*" "\\1" OpenCV_VERSION_MINOR ${OpenCV_VERSIONS_TMP})
+- string(REGEX REPLACE ".*#define CV_SUBMINOR_VERSION[ \t]+([0-9]+).*" "\\1" OpenCV_VERSION_PATCH ${OpenCV_VERSIONS_TMP})
+- set(OpenCV_VERSION ${OpenCV_VERSION_MAJOR}.${OpenCV_VERSION_MINOR}.${OpenCV_VERSION_PATCH} CACHE STRING "" FORCE)
+- set(CVLIB_SUFFIX "${OpenCV_VERSION_MAJOR}${OpenCV_VERSION_MINOR}${OpenCV_VERSION_PATCH}")
+-
+- endif(EXISTS "${OpenCV_DIR}/OpenCVConfig.cmake")
+-
+-
+-
+-
+- ## Initiate the variable before the loop
+- set(GLOBAL OpenCV_LIBS "")
+- set(OpenCV_FOUND_TMP true)
+-
+- ## Loop over each components
+- foreach(__CVLIB ${OPENCV_LIB_COMPONENTS})
+-
+- find_library(OpenCV_${__CVLIB}_LIBRARY_DEBUG NAMES "${__CVLIB}${CVLIB_SUFFIX}d" "lib${__CVLIB}${CVLIB_SUFFIX}d" PATHS "${OpenCV_DIR}/lib" NO_DEFAULT_PATH)
+- find_library(OpenCV_${__CVLIB}_LIBRARY_RELEASE NAMES "${__CVLIB}${CVLIB_SUFFIX}" "lib${__CVLIB}${CVLIB_SUFFIX}" PATHS "${OpenCV_DIR}/lib" NO_DEFAULT_PATH)
+-
+- #Remove the cache value
+- set(OpenCV_${__CVLIB}_LIBRARY "" CACHE STRING "" FORCE)
+-
+- #both debug/release
+- if(OpenCV_${__CVLIB}_LIBRARY_DEBUG AND OpenCV_${__CVLIB}_LIBRARY_RELEASE)
+- set(OpenCV_${__CVLIB}_LIBRARY debug ${OpenCV_${__CVLIB}_LIBRARY_DEBUG} optimized ${OpenCV_${__CVLIB}_LIBRARY_RELEASE} CACHE STRING "" FORCE)
+- #only debug
+- elseif(OpenCV_${__CVLIB}_LIBRARY_DEBUG)
+- set(OpenCV_${__CVLIB}_LIBRARY ${OpenCV_${__CVLIB}_LIBRARY_DEBUG} CACHE STRING "" FORCE)
+- #only release
+- elseif(OpenCV_${__CVLIB}_LIBRARY_RELEASE)
+- set(OpenCV_${__CVLIB}_LIBRARY ${OpenCV_${__CVLIB}_LIBRARY_RELEASE} CACHE STRING "" FORCE)
+- #no library found
+- else()
+- set(OpenCV_FOUND_TMP false)
+- endif()
+-
+- #Add to the general list
+- if(OpenCV_${__CVLIB}_LIBRARY)
+- set(OpenCV_LIBS ${OpenCV_LIBS} ${OpenCV_${__CVLIB}_LIBRARY})
+- endif(OpenCV_${__CVLIB}_LIBRARY)
+-
+- endforeach(__CVLIB)
+-
+-
+- set(OpenCV_FOUND ${OpenCV_FOUND_TMP} CACHE BOOL "" FORCE)
+-
+-
+-else(EXISTS "${OpenCV_DIR}")
+- set(ERR_MSG "Please specify OpenCV directory using OpenCV_DIR env. variable")
+-endif(EXISTS "${OpenCV_DIR}")
+-##====================================================
+-
+-
+-##====================================================
+-## Print message
+-##----------------------------------------------------
+-if(NOT OpenCV_FOUND)
+- # make FIND_PACKAGE friendly
+- if(NOT OpenCV_FIND_QUIETLY)
+- if(OpenCV_FIND_REQUIRED)
+- message(FATAL_ERROR "OpenCV required but some headers or libs not found. ${ERR_MSG}")
+- else(OpenCV_FIND_REQUIRED)
+- message(STATUS "WARNING: OpenCV was not found. ${ERR_MSG}")
+- endif(OpenCV_FIND_REQUIRED)
+- endif(NOT OpenCV_FIND_QUIETLY)
+-endif(NOT OpenCV_FOUND)
+-##====================================================
+-
+-
+-##====================================================
+-## Backward compatibility
+-##----------------------------------------------------
+-if(OpenCV_FOUND)
+- option(OpenCV_BACKWARD_COMPA "Add some variable to make this script compatible with the other version of FindOpenCV.cmake" false)
+- if(OpenCV_BACKWARD_COMPA)
+- find_path(OpenCV_INCLUDE_DIRS "cv.h" PATHS "${OpenCV_DIR}" PATH_SUFFIXES "include" "include/opencv" DOC "Include directory")
+- find_path(OpenCV_INCLUDE_DIR "cv.h" PATHS "${OpenCV_DIR}" PATH_SUFFIXES "include" "include/opencv" DOC "Include directory")
+- set(OpenCV_LIBRARIES "${OpenCV_LIBS}" CACHE STRING "" FORCE)
+- endif(OpenCV_BACKWARD_COMPA)
+-endif(OpenCV_FOUND)
+-##====================================================
+--
+2.26.2
+
diff --git a/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200420.ebuild b/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200420.ebuild
deleted file mode 100644
index d269428d5cd1..000000000000
--- a/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20200420.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake cuda virtualx
-
-MY_COMMIT="69c5573ac7b2b654d649e8902fad73b05bf33644"
-
-DESCRIPTION="An auto-parallelizing library to speed up computer simulations"
-HOMEPAGE="
- http://www.libgeodecomp.org
- https://github.com/STEllAR-GROUP/libgeodecomp"
-SRC_URI="https://github.com/STEllAR-GROUP/libgeodecomp/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-SLOT="0"
-LICENSE="Boost-1.0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="cuda doc hpx mpi opencl opencv qt5 silo"
-
-BDEPEND="
- doc? (
- app-doc/doxygen
- app-text/texlive
- media-gfx/graphviz
- )"
-RDEPEND="dev-libs/boost"
-DEPEND="${RDEPEND}
- ~dev-libs/libflatarray-0.4.0_pre20200314
- cuda? ( dev-util/nvidia-cuda-toolkit )
- hpx? ( sys-cluster/hpx )
- mpi? ( virtual/mpi )
- opencl? ( virtual/opencl )
- opencv? ( media-libs/opencv )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtwidgets:5
- )
- silo? ( sci-libs/silo )"
-
-S="${WORKDIR}/libgeodecomp-${MY_COMMIT}"
-
-PATCHES=( "${FILESDIR}/${P}-mpi.patch" )
-
-DOCS=( README )
-
-src_prepare() {
- cmake_src_prepare
- use cuda && cuda_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_CUDA=$(usex cuda)
- -DWITH_HPX=$(usex hpx)
- -DWITH_MPI=$(usex mpi)
- -DWITH_OPENCL=$(usex opencl)
- -DWITH_OPENCV=$(usex opencv)
- -DWITH_QT5=$(usex qt5)
- -DWITH_SCOTCH=false
- -DWITH_SILO=$(usex silo)
- -DWITH_TYPEMAPS=false
- -DWITH_VISIT=false
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use doc && cmake_build doc
-}
-
-src_install() {
- use doc && local HTML_DOCS=( doc/html/* )
- cmake_src_install
-}
-
-src_test() {
- virtx cmake_build check
-}
diff --git a/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20201009.ebuild b/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20201009.ebuild
new file mode 100644
index 000000000000..d66f3e634af3
--- /dev/null
+++ b/sci-libs/libgeodecomp/libgeodecomp-0.5.0_pre20201009.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake cuda virtualx
+
+MY_COMMIT="6848b3a17b359e03585e56dd1f37dc7c71136114"
+
+DESCRIPTION="An auto-parallelizing library to speed up computer simulations"
+HOMEPAGE="
+ http://www.libgeodecomp.org
+ https://github.com/STEllAR-GROUP/libgeodecomp"
+SRC_URI="https://github.com/STEllAR-GROUP/libgeodecomp/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="cuda doc hpx mpi opencl opencv qt5 silo"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ app-text/texlive
+ media-gfx/graphviz
+ )"
+RDEPEND="dev-libs/boost"
+DEPEND="${RDEPEND}
+ ~dev-libs/libflatarray-0.4.0_pre20201009
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ hpx? ( sys-cluster/hpx )
+ mpi? ( virtual/mpi )
+ opencl? ( virtual/opencl )
+ opencv? ( media-libs/opencv )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtwidgets:5
+ )
+ silo? ( sci-libs/silo )"
+
+S="${WORKDIR}/libgeodecomp-${MY_COMMIT}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-mpi.patch"
+ "${FILESDIR}/${P}-opencv.patch"
+)
+
+DOCS=( README )
+
+src_prepare() {
+ cmake_src_prepare
+ use cuda && cuda_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_CUDA=$(usex cuda)
+ -DWITH_HPX=$(usex hpx)
+ -DWITH_MPI=$(usex mpi)
+ -DWITH_OPENCL=$(usex opencl)
+ -DWITH_OPENCV=$(usex opencv)
+ -DWITH_QT5=$(usex qt5)
+ -DWITH_SCOTCH=false
+ -DWITH_SILO=$(usex silo)
+ -DWITH_TYPEMAPS=false
+ -DWITH_VISIT=false
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_build doc
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( doc/html/* )
+ cmake_src_install
+}
+
+src_test() {
+ virtx cmake_build check
+}
diff --git a/sci-libs/libgeodecomp/metadata.xml b/sci-libs/libgeodecomp/metadata.xml
index 402ba5be0c94..fbbe417e9a1c 100644
--- a/sci-libs/libgeodecomp/metadata.xml
+++ b/sci-libs/libgeodecomp/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>kurt@kmk-computers.de</email>
<name>Kurt Kanzenbach</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -20,12 +20,6 @@
details of the parallel computer.
</longdescription>
<use>
- <flag name="cuda">
- Enables plugins for NVIDIA GPUs
- </flag>
- <flag name="opencl">
- Enables OpenCL backend
- </flag>
<flag name="opencv">
Enables OpenCV related code
</flag>
diff --git a/sci-libs/libgeotiff/Manifest b/sci-libs/libgeotiff/Manifest
index 998b19aee176..acd4359a5eee 100644
--- a/sci-libs/libgeotiff/Manifest
+++ b/sci-libs/libgeotiff/Manifest
@@ -1 +1 @@
-DIST libgeotiff-1.5.1.tar.gz 528083 BLAKE2B 24dd812c4b12a942b21640c031fd890bb2151f6dfedfd98d0b54cf41d6341ee4d352edd427d350f36542169f822a360f8d0c9f3bb13019a422db77f43e7bd893 SHA512 6599ec89dd39d975ba389584778dd084ded628d3304b302e3af25bb7d156cf583c56b52f1c89c253b041df43f99d6893190ee1556398dab1ba044f12ef8b8dc1
+DIST libgeotiff-1.7.1.tar.gz 542779 BLAKE2B e26a14fcb463f4a9e5a3652b978223da6b11dcb4ec6a3b6068460f929a57e9affafdb652f16fad23a2da4612c6ae3c2624bfb4f26c96fc4290a33f1e0629b726 SHA512 af119040598f4349124848d9788ea1d0d2019e23fc48eaf4b0445320c51e91afa6c7e25b49738bdaf0aa4467a19104b00838d669da27dee77898c489fe5fe4c1
diff --git a/sci-libs/libgeotiff/files/libgeotiff-1.5.1-proj-6.2-tests.patch b/sci-libs/libgeotiff/files/libgeotiff-1.5.1-proj-6.2-tests.patch
deleted file mode 100644
index 5004aadb9817..000000000000
--- a/sci-libs/libgeotiff/files/libgeotiff-1.5.1-proj-6.2-tests.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 678ffd97db2d63cf6856428bea65a93e069f812f Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Wed, 4 Sep 2019 16:11:37 +0200
-Subject: [PATCH] Adapt test script for PROJ 6.2 EPSG database (fixes #22)
-
----
- libgeotiff/test/testlistgeo | 8 +++++++-
- libgeotiff/test/testlistgeo_out.dist | 4 ++--
- 3 files changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/test/testlistgeo b/test/testlistgeo
-index 7fb4a2f..571f5d0 100755
---- a/test/testlistgeo
-+++ b/test/testlistgeo
-@@ -210,10 +210,15 @@ echo "Testing listgeo equidistant_cylindrical.tif" >> ${OUT}
- $EXE ${DATA_DIR}/equidistant_cylindrical.tif >>${OUT}
- echo "" >>${OUT}
-
-+# Normalize for results depending on the exact version of PROJ / EPSG database
-+sed "s/ETRS89-extended/ETRS89/g" < ${OUT} > ${OUT}.tmp
-+mv ${OUT}.tmp ${OUT}
-+
-+sed "s/ETRS89-extended/ETRS89/g" < ${TEST_CLI_DIR}/testlistgeo_out.dist > testlistgeo_out.dist.tmp
-
- # do 'diff' with distribution results
- echo "diff ${OUT} with testlistgeo_out.dist"
--diff -u ${OUT} ${TEST_CLI_DIR}/testlistgeo_out.dist
-+diff -u ${OUT} testlistgeo_out.dist.tmp
- if [ $? -ne 0 ] ; then
- echo ""
- echo "PROBLEMS HAVE OCCURRED"
-@@ -224,6 +229,7 @@ else
- echo "TEST OK"
- echo "test file ${OUT} removed"
- echo
-+ rm testlistgeo_out.dist.tmp
- /bin/rm -f ${OUT}
- exit 0
- fi
-diff --git a/test/testlistgeo_out.dist b/test/testlistgeo_out.dist
-index 68a948c..c157f00 100644
---- a/test/testlistgeo_out.dist
-+++ b/test/testlistgeo_out.dist
-@@ -1738,11 +1738,11 @@ Geotiff_Information:
- Keyed_Information:
- GTModelTypeGeoKey (Short,1): ModelTypeProjected
- GTRasterTypeGeoKey (Short,1): RasterPixelIsArea
-- ProjectedCSTypeGeoKey (Short,1): Code-3035 (ETRS89 / LAEA Europe)
-+ ProjectedCSTypeGeoKey (Short,1): Code-3035 (ETRS89-extended / LAEA Europe)
- End_Of_Keys.
- End_Of_Geotiff.
-
--PCS = 3035 (ETRS89 / LAEA Europe)
-+PCS = 3035 (ETRS89-extended / LAEA Europe)
- Projection = 19986 (Europe Equal Area 2001)
- Projection Method: CT_LambertAzimEqualArea
- ProjCenterLatGeoKey: 52.000000 ( 52d 0' 0.00"N)
diff --git a/sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch b/sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch
new file mode 100644
index 000000000000..6fdcd9753f95
--- /dev/null
+++ b/sci-libs/libgeotiff/files/libgeotiff-1.7.1-gnuinstalldirs.patch
@@ -0,0 +1,120 @@
+https://github.com/OSGeo/libgeotiff/pull/74
+
+From d18deccb461990c826ceee8fbcc57a44502ace2e Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 20 Mar 2022 02:55:50 +0000
+Subject: [PATCH] CMake: adopt GNUInstallDirs
+
+This makes it a lot easier for packagers (it happens by default
+if we've setup our environment correctly) to have files installed in the right
+places, including libdir, but also documentation, which can vary.
+
+This works cross-platform still but it means libgeotiff uses the
+standard options which CMake projects tend to use for such locations
+and therefore no special treatment is needed when packaging it.
+
+Fixes: https://github.com/OSGeo/issues/33
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ CMakeLists.txt | 41 ++++++++++-------------------------
+ bin/CMakeLists.txt | 6 ++---
+ 2 files changed, 14 insertions(+), 33 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 001df67..1840258 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,6 +7,8 @@
+ ###############################################################################
+ PROJECT(GeoTIFF)
+
++include(GNUInstallDirs)
++
+ SET(GEOTIFF_LIB_NAME geotiff)
+ SET(GEOTIFF_LIBRARY_TARGET geotiff_library)
+
+@@ -239,38 +241,17 @@ SET(GEOTIFF_MAN_PAGES
+
+ # ${PROJECT_BINARY_DIR}/geotiff_version.h
+
+-SET(DEFAULT_BIN_SUBDIR bin)
+-SET(DEFAULT_LIB_SUBDIR lib)
+-SET(DEFAULT_INCLUDE_SUBDIR include)
+-
+-# Locations are changeable by user to customize layout of GeoTIFF installation
+-# (default values are platform-specIFic)
+-SET(GEOTIFF_BIN_SUBDIR ${DEFAULT_BIN_SUBDIR} CACHE STRING
+- "Subdirectory where executables will be installed")
+-SET(GEOTIFF_LIB_SUBDIR ${DEFAULT_LIB_SUBDIR} CACHE STRING
+- "Subdirectory where libraries will be installed")
+-SET(GEOTIFF_INCLUDE_SUBDIR ${DEFAULT_INCLUDE_SUBDIR} CACHE STRING
+- "Subdirectory where header files will be installed")
+-
+-# Mark *_SUBDIR variables as advanced and dedicated to use by power-users only.
+-MARK_AS_ADVANCED(GEOTIFF_BIN_SUBDIR GEOTIFF_LIB_SUBDIR GEOTIFF_INCLUDE_SUBDIR)
+-
+-# Full paths for the installation
+-SET(GEOTIFF_BIN_DIR ${GEOTIFF_BIN_SUBDIR})
+-SET(GEOTIFF_LIB_DIR ${GEOTIFF_LIB_SUBDIR})
+-SET(GEOTIFF_INCLUDE_DIR ${GEOTIFF_INCLUDE_SUBDIR})
+-
+ # Install doc files
+ INSTALL(FILES
+ AUTHORS ChangeLog COPYING INSTALL LICENSE README README_BIN README.WIN
+- DESTINATION doc)
++ DESTINATION ${CMAKE_INSTALL_DOCDIR})
+
+ # Install man pages
+-INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION share/man/man1)
++INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+
+
+ # Install header files for development distribution
+-INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${GEOTIFF_INCLUDE_DIR})
++INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ ###############################################################################
+ # Build libxtiff library
+@@ -323,7 +304,7 @@ if(UNIX)
+ set_target_properties(
+ ${GEOTIFF_LIBRARY_TARGET}
+ PROPERTIES
+- INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${GEOTIFF_LIB_DIR}")
++ INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ endif()
+ endif()
+
+@@ -348,14 +329,14 @@ target_link_libraries(${GEOTIFF_LIBRARY_TARGET} PRIVATE
+ target_include_directories(
+ ${GEOTIFF_LIBRARY_TARGET}
+ PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
+- $<INSTALL_INTERFACE:${GEOTIFF_INCLUDE_DIR}>)
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+
+ INSTALL( TARGETS ${GEOTIFF_LIBRARY_TARGET}
+ EXPORT depends
+- RUNTIME DESTINATION ${GEOTIFF_BIN_DIR}
+- LIBRARY DESTINATION ${GEOTIFF_LIB_DIR}
+- PUBLIC_HEADER DESTINATION ${GEOTIFF_INCLUDE_DIR}
+- ARCHIVE DESTINATION ${GEOTIFF_LIB_DIR} )
++ RUNTIME DESTINATION ${CMAKE_INSTALLL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ # Define grouping of source files in PROJECT file (e.g. Visual Studio)
+ SOURCE_GROUP("CMake Files" FILES CMakeLists.txt)
+diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
+index dad465f..c61585c 100644
+--- a/bin/CMakeLists.txt
++++ b/bin/CMakeLists.txt
+@@ -41,6 +41,6 @@ MESSAGE(STATUS "Adding GeoTIFF utilities to build - done: ${GEOTIFF_UTILITIES}")
+ # Targets installation
+
+ INSTALL(TARGETS ${GEOTIFF_UTILITIES}
+- RUNTIME DESTINATION ${GEOTIFF_BIN_DIR}
+- LIBRARY DESTINATION ${GEOTIFF_LIB_DIR}
+- ARCHIVE DESTINATION ${GEOTIFF_LIB_DIR})
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/sci-libs/libgeotiff/libgeotiff-1.5.1-r1.ebuild b/sci-libs/libgeotiff/libgeotiff-1.5.1-r1.ebuild
deleted file mode 100644
index 58b7bdac277c..000000000000
--- a/sci-libs/libgeotiff/libgeotiff-1.5.1-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Library for reading TIFF files with embedded tags for geographic information"
-HOMEPAGE="https://trac.osgeo.org/geotiff/ https://github.com/OSGeo/libgeotiff"
-SRC_URI="https://download.osgeo.org/geotiff/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/5"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc static-libs"
-
-BDEPEND="
- doc? ( app-doc/doxygen )
-"
-DEPEND="
- >=media-libs/tiff-3.9.1:0
- >=sci-libs/proj-6.0.0:=
- sys-libs/zlib
- virtual/jpeg:=
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-proj-6.2-tests.patch" )
-
-src_prepare() {
- default
- sed -e "s:-O3::g" -i configure.ac || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-debug=$(usex debug) \
- $(use_enable static-libs static) \
- --with-jpeg="${EPREFIX}"/usr/ \
- --with-zip="${EPREFIX}"/usr/
-
-}
-
-src_compile() {
- default
-
- if use doc; then
- mkdir -p docs/api || die
- cp "${FILESDIR}"/Doxyfile Doxyfile || die
- doxygen -u Doxyfile || die "updating doxygen config failed"
- doxygen Doxyfile || die "docs generation failed"
- fi
-}
-
-src_install() {
- use doc && local HTML_DOCS=( docs/api/. )
- default
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sci-libs/libgeotiff/libgeotiff-1.7.1-r3.ebuild b/sci-libs/libgeotiff/libgeotiff-1.7.1-r3.ebuild
new file mode 100644
index 000000000000..a10ddebd692f
--- /dev/null
+++ b/sci-libs/libgeotiff/libgeotiff-1.7.1-r3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Library for reading TIFF files with embedded tags for geographic information"
+HOMEPAGE="https://trac.osgeo.org/geotiff/ https://github.com/OSGeo/libgeotiff"
+SRC_URI="https://download.osgeo.org/geotiff/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/5"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc jpeg +tiff zlib"
+
+DEPEND=">=sci-libs/proj-6.0.0:=
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ tiff? ( >=media-libs/tiff-3.9.1:= )
+ zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.1-gnuinstalldirs.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_JPEG=$(usex jpeg)
+ -DWITH_TIFF=$(usex tiff)
+ -DWITH_ZLIB=$(usex zlib)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ mkdir -p docs/api || die
+ cp "${FILESDIR}"/Doxyfile Doxyfile || die
+ doxygen -u Doxyfile || die "updating doxygen config failed"
+ doxygen Doxyfile || die "docs generation failed"
+ fi
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( docs/api/. )
+
+ cmake_src_install
+}
diff --git a/sci-libs/libgeotiff/metadata.xml b/sci-libs/libgeotiff/metadata.xml
index d78f80981828..4a868130c3b5 100644
--- a/sci-libs/libgeotiff/metadata.xml
+++ b/sci-libs/libgeotiff/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-geosciences@gentoo.org</email>
<name>Gentoo Geosciences Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">OSGeo/libgeotiff</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/libghemical/metadata.xml b/sci-libs/libghemical/metadata.xml
index 82a6530d10c8..d7bc678f012b 100644
--- a/sci-libs/libghemical/metadata.xml
+++ b/sci-libs/libghemical/metadata.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-chemistry@gentoo.org</email>
<name>Gentoo Chemistry Project</name>
</maintainer>
<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>
+ 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>
diff --git a/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild b/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild
index 2b52c92af381..ab2faf8e14d9 100644
--- a/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild
+++ b/sci-libs/libh2o/libh2o-0.2.1-r1.ebuild
@@ -1,23 +1,23 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Library of routines for IF97 water & steam properties"
-HOMEPAGE="https://github.com/mgorny/libh2o/"
-SRC_URI="https://github.com/mgorny/libh2o/releases/download/${P}/${P}.tar.bz2"
+HOMEPAGE="https://github.com/projg2/libh2o/"
+SRC_URI="https://github.com/projg2/libh2o/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug static-libs"
-DEPEND="virtual/pkgconfig"
+RDEPEND="!www-servers/h2o"
+BDEPEND="virtual/pkgconfig"
src_configure() {
local myconf=(
$(use_enable debug)
- $(use_enable static-libs static)
)
econf "${myconf[@]}"
diff --git a/sci-libs/libh2o/libh2o-9999.ebuild b/sci-libs/libh2o/libh2o-9999.ebuild
deleted file mode 100644
index 731e477a3910..000000000000
--- a/sci-libs/libh2o/libh2o-9999.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools git-r3
-
-DESCRIPTION="Library of routines for IF97 water & steam properties"
-HOMEPAGE="https://github.com/mgorny/libh2o/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/mgorny/libh2o.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="debug static-libs"
-
-DEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- $(use_enable debug)
- $(use_enable static-libs static)
- )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libh2o/metadata.xml b/sci-libs/libh2o/metadata.xml
index d7baf471a705..abd4fda5e9a6 100644
--- a/sci-libs/libh2o/metadata.xml
+++ b/sci-libs/libh2o/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
@@ -10,7 +10,7 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
- <bugs-to>https://github.com/mgorny/libh2o/issues/</bugs-to>
- <remote-id type="github">mgorny/libh2o</remote-id>
+ <bugs-to>https://github.com/projg2/libh2o/issues/</bugs-to>
+ <remote-id type="github">projg2/libh2o</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild b/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild
index 7dcb50db90ff..6c2e7a0a6672 100644
--- a/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild
+++ b/sci-libs/libh2oxx/libh2oxx-0.2-r1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="C++ bindings for libh2o"
-HOMEPAGE="https://github.com/mgorny/libh2oxx/"
-SRC_URI="https://github.com/mgorny/libh2oxx/releases/download/${P}/${P}.tar.bz2"
+HOMEPAGE="https://github.com/projg2/libh2oxx/"
+SRC_URI="https://github.com/projg2/libh2oxx/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="debug static-libs"
+IUSE="debug"
RDEPEND=">=sci-libs/libh2o-0.2:0="
DEPEND="${RDEPEND}"
@@ -18,7 +18,6 @@ DEPEND="${RDEPEND}"
src_configure() {
local myconf=(
$(use_enable debug)
- $(use_enable static-libs static)
)
econf "${myconf[@]}"
diff --git a/sci-libs/libh2oxx/libh2oxx-9999.ebuild b/sci-libs/libh2oxx/libh2oxx-9999.ebuild
deleted file mode 100644
index a9e3eef7129e..000000000000
--- a/sci-libs/libh2oxx/libh2oxx-9999.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools git-r3
-
-DESCRIPTION="C++ bindings for libh2o"
-HOMEPAGE="https://github.com/mgorny/libh2oxx/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/mgorny/libh2oxx.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="debug static-libs"
-
-RDEPEND=">=sci-libs/libh2o-0.2:0="
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- $(use_enable debug)
- $(use_enable static-libs static)
- )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libh2oxx/metadata.xml b/sci-libs/libh2oxx/metadata.xml
index ab8b9c0d2e6c..4ee008f4b14f 100644
--- a/sci-libs/libh2oxx/metadata.xml
+++ b/sci-libs/libh2oxx/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
@@ -10,7 +10,7 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
- <bugs-to>https://github.com/mgorny/libh2oxx/issues/</bugs-to>
- <remote-id type="github">mgorny/libh2oxx</remote-id>
+ <bugs-to>https://github.com/projg2/libh2oxx/issues/</bugs-to>
+ <remote-id type="github">projg2/libh2oxx</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/libhomfly/Manifest b/sci-libs/libhomfly/Manifest
new file mode 100644
index 000000000000..e40e3f0519c7
--- /dev/null
+++ b/sci-libs/libhomfly/Manifest
@@ -0,0 +1 @@
+DIST libhomfly-1.02r6.tar.gz 359354 BLAKE2B 7b60c54e56777dc4b81240cbdd63726591323dc6d841f8d56d641ea304d9a4c1c3ffb3078fc54861f22b5007b36bd32c5f397e2fe8d40f10362eca8d08ba4915 SHA512 44f81815a0ba4c0358d433eb9769944af2ee02790d78aaa08e791d03ba68ba3dcf0389b4287f687211e6a7ba84e1bea3d2ebe69fc8bb4f12d677b7f54872d618
diff --git a/sci-libs/libhomfly/libhomfly-1.02.6.ebuild b/sci-libs/libhomfly/libhomfly-1.02.6.ebuild
new file mode 100644
index 000000000000..9107465b4d8c
--- /dev/null
+++ b/sci-libs/libhomfly/libhomfly-1.02.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV=$(ver_rs 2 r)
+MY_P="${PN}-${MY_PV}"
+DESCRIPTION="Library to compute the homfly polynomial of a link"
+HOMEPAGE="https://github.com/miguelmarco/libhomfly"
+SRC_URI="https://github.com/miguelmarco/${PN}/releases/download/${MY_PV}/${MY_P}.tar.gz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="static-libs"
+
+DEPEND="dev-libs/boehm-gc"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libhomfly/metadata.xml b/sci-libs/libhomfly/metadata.xml
new file mode 100644
index 000000000000..37825533559b
--- /dev/null
+++ b/sci-libs/libhomfly/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+ <!--
+ mjo: François maintained this package in the sage-on-gentoo overlay
+ long before I moved it into ::gentoo. You don't need an ACK from me
+ to merge his changes.
+ -->
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="github">miguelmarco/libhomfly</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libigl/Manifest b/sci-libs/libigl/Manifest
new file mode 100644
index 000000000000..f7966dfde000
--- /dev/null
+++ b/sci-libs/libigl/Manifest
@@ -0,0 +1 @@
+DIST libigl-2.5.0.tar.gz 1230536 BLAKE2B c92df589a6e114c33151256945786aa7357d89f32bf4b0dedb3d523e3beef85beed67e926875066c05b899b3dfc70d9f64aeb7674449a2487acaf0f67e9217b3 SHA512 39b92ec4c2479a3c0a8e99b2890643c9d76a7e5b61b485c1a3a5f5abff1da4e62b67b879dbcf6e18a43f98172fc9f87f0a6c92b99e2a1900e6f1d2e809899b11
diff --git a/sci-libs/libigl/libigl-2.5.0.ebuild b/sci-libs/libigl/libigl-2.5.0.ebuild
new file mode 100644
index 000000000000..498c245e2cce
--- /dev/null
+++ b/sci-libs/libigl/libigl-2.5.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A simple C++ geometry processing library"
+HOMEPAGE="https://libigl.github.io/"
+SRC_URI="https://github.com/libigl/libigl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+ MPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="static-libs"
+
+DEPEND="dev-cpp/eigen:3"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFETCHCONTENT_FULLY_DISCONNECTED=ON
+ -DLIBIGL_BUILD_TESTS=OFF
+ -DLIBIGL_BUILD_TUTORIALS=OFF
+ -DLIBIGL_USE_STATIC_LIBRARY=$(usex static-libs)
+ -DLIBIGL_COPYLEFT_CGAL=OFF
+ -DLIBIGL_COPYLEFT_COMISO=OFF
+ -DLIBIGL_EMBREE=OFF
+ -DLIBIGL_DEFAULT_MATLAB=OFF
+ -DLIBIGL_DEFAULT_MOSEK=OFF
+ -DLIBIGL_OPENGL=OFF
+ -DLIBIGL_GLFW=OFF
+ -DLIBIGL_IMGUI=OFF
+ -DLIBIGL_STB=OFF
+ -DLIBIGL_PREDICATES=OFF
+ -DLIBIGL_SPECTRA=OFF
+ -DLIBIGL_COPYLEFT_TETGEN=OFF
+ -DLIBIGL_RESTRICTED_TRIANGLE=OFF
+ -DLIBIGL_XML=OFF
+ )
+ cmake_src_configure
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Tries to copy eigen headers into /usr/include
+ sed -e '/install(DIRECTORY/d' -i cmake/recipes/external/eigen.cmake || die
+}
+
+src_install() {
+ cmake_src_install
+
+ # Install won't install all headers
+ insinto /usr/include/
+ doins -r include/igl
+}
diff --git a/sci-libs/libigl/metadata.xml b/sci-libs/libigl/metadata.xml
new file mode 100644
index 000000000000..cf81a4fd43e8
--- /dev/null
+++ b/sci-libs/libigl/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <longdescription>
+ ibigl is a simple C++ geometry processing library with a wide functionality including construction of sparse
+ discrete differential geometry operators and finite-elements matrices such as the cotangent Laplacian and
+ diagonalized mass matrix, simple facet and edge-based topology data structures, mesh-viewing utilities for
+ OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/libigl/libigl/issues</bugs-to>
+ <remote-id type="github">libigl/libigl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libint/Manifest b/sci-libs/libint/Manifest
index 072822675c1a..037fb5fba076 100644
--- a/sci-libs/libint/Manifest
+++ b/sci-libs/libint/Manifest
@@ -1,2 +1,3 @@
DIST libint-1.1.6.tar.gz 256404 BLAKE2B c754e25f0c3bc6c52eb434beafd2cb794a2e715003ee9409d76e8ae06e0ce19a42a9331ad4db9be2745d6820e7248210d10b4c004146e99192fd16fd2c31966d SHA512 cb39d73e89431c324e32d4a71593fe913c7ae2132677d4600e63ce1ed99e8e431758f0aa3d130991da841e98a1064fa931eb0e82dbe80af4c0ece10ee3a4f2d7
-DIST libint-2.0.5.tar.gz 3209528 BLAKE2B 348dd7e2bf17504e19522f053e4dc25936702e7feea1342954af1fc3656711b38b70676c0ac574ee37bb74b37ca30b323d29d156c90711a127b7404b0ca8d5cd SHA512 d7717a6337b73645dcb77d3c0731df17884b4c662b0d52061b7b80ac0ebd9de344e6c301294f714db09e7b6e3dff5b4b6958ef06122303df52d0ebb6a011cf24
+DIST libint-2.6.0.tar.gz 24743255 BLAKE2B 3ab7baba012828485c6c8425bce100e1ab50d2a3c8443ea2ef5cf173d58d8aa211a07e837b10a7f89d7e57f2e15b9384060bbf7b9885f32e9426525e65e15960 SHA512 56343c64b0dfb829702f4bb2fe14a04ad063acd7cb8b5a21cd1a45a830944c1ee98c888c9a28d6746b1bc17459aefcfb0aafe6ef310bfe554056212ad19e43ef
+DIST libint-2.9.0.tar.gz 21705777 BLAKE2B b2e8f36356f6eb8eff1207ba47c0f3bcc4471bd918cf933d03a1dd97efddd72d65464af743815d8bb633567ba97b19b8629881a5115b14f1630df1be7e6d0304 SHA512 6cffbd3d78dee4722b8085f4dd93085351cb610b5cb7ac090335adb2c43e87256ca06a658c202473fd763a38f7c0eeb6570b2c6a107e3f41d1258baf6e5b17de
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
index c48505314b39..d9f6e449ba08 100644
--- a/sci-libs/libint/files/libint-1.1.6-as-needed.patch
+++ b/sci-libs/libint/files/libint-1.1.6-as-needed.patch
@@ -1,12 +1,3 @@
- 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
@@ -23,8 +14,6 @@ index dc86e88..8cc3aac 100644
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
@@ -36,8 +25,6 @@ index 5b90607..8ea5005 100644
.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)
@@ -49,8 +36,6 @@ index ee152ef..8debfe8 100644
$(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)
@@ -62,8 +47,6 @@ index 23e2918..01c4225 100644
$(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)
diff --git a/sci-libs/libint/libint-1.1.6.ebuild b/sci-libs/libint/libint-1.1.6.ebuild
index 760d266a7811..46357d7c10ee 100644
--- a/sci-libs/libint/libint-1.1.6.ebuild
+++ b/sci-libs/libint/libint-1.1.6.ebuild
@@ -1,40 +1,37 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-AUTOTOOLS_AUTORECONF=true
+inherit autotools fortran-2 toolchain-funcs
-inherit autotools-utils fortran-2 toolchain-funcs versionator
-
-MY_PV="$(replace_all_version_separators -)"
+MY_PV="$(ver_rs 0- -)"
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"
+S="${WORKDIR}/${PN}-release-${MY_PV}"
-SLOT="1"
LICENSE="GPL-2"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-S="${WORKDIR}/${PN}-release-${MY_PV}"
+SLOT="1"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
PATCHES=( "${FILESDIR}"/${P}-as-needed.patch )
src_prepare() {
mv configure.{in,ac} || die
- autotools-utils_src_prepare
+ default
+ eautoreconf
}
src_configure() {
local myeconfargs=(
--enable-deriv
--enable-r12
- --with-cc=$(tc-getCC)
- --with-cxx=$(tc-getCXX)
+ --with-cc="$(tc-getCC)"
+ --with-cxx="$(tc-getCXX)"
--with-cc-optflags="${CFLAGS}"
--with-cxx-optflags="${CXXFLAGS}"
)
- autotools-utils_src_configure
+ econf "${myeconfargs[@]}"
}
diff --git a/sci-libs/libint/libint-2.0.5.ebuild b/sci-libs/libint/libint-2.0.5.ebuild
deleted file mode 100644
index 625e42a700c7..000000000000
--- a/sci-libs/libint/libint-2.0.5.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=true
-
-inherit autotools-utils eutils 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="2"
-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/libint-2.6.0-r5.ebuild b/sci-libs/libint/libint-2.6.0-r5.ebuild
new file mode 100644
index 000000000000..dcbf1716c8ed
--- /dev/null
+++ b/sci-libs/libint/libint-2.6.0-r5.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools fortran-2 toolchain-funcs
+
+DESCRIPTION="Matrix elements (integrals) evaluation over Cartesian Gaussian functions"
+HOMEPAGE="https://github.com/evaleev/libint"
+SRC_URI="https://github.com/evaleev/libint/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="2"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs doc"
+
+DEPEND="
+ dev-libs/boost
+ dev-libs/gmp[cxx(+)]
+ doc? (
+ dev-texlive/texlive-latex
+ dev-tex/latex2html
+ )"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # bug 725454
+ sed -i -e '/RANLIB/d' src/bin/libint/Makefile || die
+}
+
+src_configure() {
+ econf \
+ --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)" \
+ --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \
+ --with-eri-max-am=7,5,4 --with-eri-opt-am=3 \
+ --with-eri3-max-am=7 --with-eri2-max-am=7 \
+ --with-g12-max-am=5 --with-g12-opt-am=3 \
+ --with-g12dkh-max-am=5 --with-g12dkh-opt-am=3 \
+ --enable-contracted-ints \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}"
+
+ use doc && emake html pdf
+}
+
+src_install() {
+ default
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die "Failed to remove .la files"
+ fi
+
+ 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/libint-2.9.0.ebuild b/sci-libs/libint/libint-2.9.0.ebuild
new file mode 100644
index 000000000000..f2d1c2fa4e39
--- /dev/null
+++ b/sci-libs/libint/libint-2.9.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Matrix elements (integrals) evaluation over Cartesian Gaussian functions"
+HOMEPAGE="https://github.com/evaleev/libint"
+SRC_URI="https://github.com/evaleev/libint/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs doc"
+
+DEPEND="
+ dev-libs/boost
+ dev-libs/gmp[cxx(+)]
+ doc? (
+ dev-texlive/texlive-latex
+ dev-tex/latex2html
+ )
+"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # bug 725454
+ sed -i -e '/RANLIB/d' src/bin/libint/Makefile || die
+}
+
+src_configure() {
+ # bug #862894
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ econf \
+ --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)" \
+ --enable-eri=2 --enable-eri3=2 --enable-eri2=2 \
+ --with-eri-max-am=7,5,4 --with-eri-opt-am=3 \
+ --with-eri3-max-am=7 --with-eri2-max-am=7 \
+ --with-g12-max-am=5 --with-g12-opt-am=3 \
+ --with-g12dkh-max-am=5 --with-g12dkh-opt-am=3 \
+ --enable-contracted-ints \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}"
+
+ use doc && emake html pdf
+}
+
+src_install() {
+ default
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die "Failed to remove .la files"
+ fi
+
+ 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
index c6610a75fe01..ac6ca5192ede 100644
--- a/sci-libs/libint/metadata.xml
+++ b/sci-libs/libint/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,7 +10,7 @@
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>
+ </longdescription>
<upstream>
<remote-id type="github">evaleev/libint</remote-id>
</upstream>
diff --git a/sci-libs/libmems/Manifest b/sci-libs/libmems/Manifest
deleted file mode 100644
index b82404e2854c..000000000000
--- a/sci-libs/libmems/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libmems-1.6_p1.tar.xz 226628 BLAKE2B 6410f8e0dc40855ce7a09127f4aa70face9007d5edbe424d595d8607a341137d8892008c5e6d9a37cbed05158d04b7d5a5ff5f02ba441b90cb30cbea2d21c88a SHA512 c6336f69b767bba010617deb2de9bb8fbbbaf516de3b1d293b062c76c6a763166080badd730938c6d849602d64a968edb6d4622b5d3e7ea7a6d8bc38164d3d73
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-boost-1.62-type-traits.patch b/sci-libs/libmems/files/libmems-1.6_p1-boost-1.62-type-traits.patch
deleted file mode 100644
index 609d0de0c478..000000000000
--- a/sci-libs/libmems/files/libmems-1.6_p1-boost-1.62-type-traits.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Shuffle around Boost type_traits, which otherwise causes issues with boost 1.62.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=595986
-
---- a/libMems/AbstractMatch.h
-+++ b/libMems/AbstractMatch.h
-@@ -16,8 +16,7 @@
- #include "libGenome/gnClone.h"
- #include <vector>
- #include <algorithm>
--#include <boost/type_traits/remove_pointer.hpp>
--#include <boost/type_traits/add_pointer.hpp>
-+#include <boost/type_traits.hpp>
- #include <boost/dynamic_bitset.hpp>
- #include <libMems/SlotAllocator.h>
- #include <libMems/configuration.h>
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-boost.patch b/sci-libs/libmems/files/libmems-1.6_p1-boost.patch
deleted file mode 100644
index 4f0c775a6d9c..000000000000
--- a/sci-libs/libmems/files/libmems-1.6_p1-boost.patch
+++ /dev/null
@@ -1,120 +0,0 @@
- 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-broken-constness.patch b/sci-libs/libmems/files/libmems-1.6_p1-broken-constness.patch
deleted file mode 100644
index 0bd922c9e111..000000000000
--- a/sci-libs/libmems/files/libmems-1.6_p1-broken-constness.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix bug 529770 caused by non-const copy constructor.
-
---- libmems-1.6_p1/libMems/Aligner.cpp
-+++ libmems-1.6_p1/libMems/Aligner.cpp
-@@ -939,7 +939,7 @@
- MatchLeftEndComparator( unsigned seq = 0 ){
- m_seq = seq;
- }
-- MatchLeftEndComparator( MatchLeftEndComparator& msc ){
-+ MatchLeftEndComparator( const MatchLeftEndComparator& msc ){
- m_seq = msc.m_seq;
- }
- // TODO?? make this do a wraparound comparison if all is equal?
---- libmems-1.6_p1/libMems/Aligner.h
-+++ libmems-1.6_p1/libMems/Aligner.h
-@@ -49,7 +49,7 @@
- LabeledMemComparator( uint seq ){
- m_seq = seq;
- }
-- LabeledMemComparator( LabeledMemComparator& lmc ){
-+ LabeledMemComparator( const LabeledMemComparator& lmc ){
- m_seq = lmc.m_seq;
- }
- boolean operator()(const LabeledMem& a, const LabeledMem& b) const{
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-build.patch b/sci-libs/libmems/files/libmems-1.6_p1-build.patch
deleted file mode 100644
index 04d5dd9c82ac..000000000000
--- a/sci-libs/libmems/files/libmems-1.6_p1-build.patch
+++ /dev/null
@@ -1,29 +0,0 @@
- 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 \
---- a/libMems/dmSML/util.c
-+++ b/libMems/dmSML/util.c
-@@ -2,6 +2,7 @@
- #include "config.h"
- #endif
-
-+#include <stdlib.h>
- #include <stdio.h>
- #include "libMems/dmSML/util.h"
-
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-fix-c++14.patch b/sci-libs/libmems/files/libmems-1.6_p1-fix-c++14.patch
deleted file mode 100644
index bde8efeb4c9c..000000000000
--- a/sci-libs/libmems/files/libmems-1.6_p1-fix-c++14.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: Correct compilation with g++-6
-Author: Gert Wollny <gw.fossdev@gmail.com>
-Bug-Debian: https://bugs.debian.org/811870
-Forwarded: yes
-Bug: https://sourceforge.net/p/mauve/bugs/46/
-Last-Update: 2016-06-30
-
---- a/libMems/ProgressiveAligner.cpp
-+++ b/libMems/ProgressiveAligner.cpp
-@@ -1599,7 +1599,7 @@
- c.SetLeftEnd(child_1, ancestral_matches[mI]->LeftEnd(1));
- c.SetOrientation(child_1, ancestral_matches[mI]->Orientation(1));
- c.SetLength(ancestral_matches[mI]->Length(1), child_1);
-- cga_list.push_back(make_tuple(c.Copy(), &bs[mI], ancestral_matches[mI]));
-+ cga_list.push_back(boost::tuples::make_tuple(c.Copy(), &bs[mI], ancestral_matches[mI]));
- }
-
- stack<node_id_t> node_stack;
diff --git a/sci-libs/libmems/files/libmems-1.6_p1-format-security.patch b/sci-libs/libmems/files/libmems-1.6_p1-format-security.patch
deleted file mode 100644
index 3ad3da2a8d80..000000000000
--- a/sci-libs/libmems/files/libmems-1.6_p1-format-security.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- libMems/dmSML/dmsort.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libMems/dmSML/dmsort.c b/libMems/dmSML/dmsort.c
-index 4c99215..2cbfa7e 100644
---- a/libMems/dmSML/dmsort.c
-+++ b/libMems/dmSML/dmsort.c
-@@ -825,7 +825,7 @@ int InitdmSML( long working_mb, long buffer_size, const char* input_filename, co
- if ( fgets(buf, sizeof(buf), fp) )
- {
- sscanf(buf, "MemTotal: %ld kB", &memTotal);
-- fprintf( stderr, buf );
-+ fprintf( stderr, "%s", buf );
- }
- fclose(fp);
- // allocate about 6/10 of physical memory
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
deleted file mode 100644
index ec620ebb35aa..000000000000
--- a/sci-libs/libmems/files/libmems-1.6_p1-gcc-4.7.patch
+++ /dev/null
@@ -1,71 +0,0 @@
- 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_p1-r3.ebuild b/sci-libs/libmems/libmems-1.6_p1-r3.ebuild
deleted file mode 100644
index 513fd1f3af61..000000000000
--- a/sci-libs/libmems/libmems-1.6_p1-r3.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Library for sci-biology/mauve"
-HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
-SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
-
-SLOT="0"
-LICENSE="GPL-2"
-IUSE="doc static-libs"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-libs/boost:=
- sci-libs/libgenome
- sci-libs/libmuscle"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-build.patch
- "${FILESDIR}"/${P}-boost.patch
- "${FILESDIR}"/${P}-gcc-4.7.patch
- "${FILESDIR}"/${P}-broken-constness.patch
- "${FILESDIR}"/${P}-format-security.patch
- "${FILESDIR}"/${P}-fix-c++14.patch
- "${FILESDIR}"/${P}-boost-1.62-type-traits.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- default
-
- if use doc; then
- doxygen doxygen.am || die
- HTML_DOCS+=( html/. )
- fi
-}
-
-src_install() {
- default
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libmems/libmems-9999.ebuild b/sci-libs/libmems/libmems-9999.ebuild
deleted file mode 100644
index 782686270355..000000000000
--- a/sci-libs/libmems/libmems-9999.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools subversion
-
-DESCRIPTION="Library for sci-biology/mauve"
-HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
-SRC_URI=""
-ESVN_REPO_URI="https://svn.code.sf.net/p/mauve/code/libMems/trunk"
-
-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}"
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/sci-libs/libmems/metadata.xml b/sci-libs/libmems/metadata.xml
deleted file mode 100644
index 8417d1580d40..000000000000
--- a/sci-libs/libmems/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-biology@gentoo.org</email>
- <name>Gentoo Biology Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/sci-libs/libmuscle/libmuscle-3.7-r3.ebuild b/sci-libs/libmuscle/libmuscle-3.7-r3.ebuild
deleted file mode 100644
index d3a8107c1052..000000000000
--- a/sci-libs/libmuscle/libmuscle-3.7-r3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Library for sci-biology/mauve"
-HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
-SRC_URI="mirror://gentoo/${P}-r1.tar.bz2"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc static-libs"
-
-RDEPEND="!sci-biology/muscle"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-bufferoverflow.patch
- "${FILESDIR}"/${PN}-3.7-fix-build-system.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # package provides .pc file
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libmuscle/libmuscle-3.7-r4.ebuild b/sci-libs/libmuscle/libmuscle-3.7-r4.ebuild
new file mode 100644
index 000000000000..1a00a894d11e
--- /dev/null
+++ b/sci-libs/libmuscle/libmuscle-3.7-r4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Library for sci-biology/mauve"
+HOMEPAGE="http://gel.ahabs.wisc.edu/mauve/"
+SRC_URI="mirror://gentoo/${P}-r1.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc static-libs"
+
+RDEPEND="!sci-biology/muscle"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-bufferoverflow.patch
+ "${FILESDIR}"/${PN}-3.7-fix-build-system.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/862897
+ # Upstream website doesn't load. Nowhere to report bugs to.
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ # package provides .pc file
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libmuscle/metadata.xml b/sci-libs/libmuscle/metadata.xml
index 8417d1580d40..bdabd1d83788 100644
--- a/sci-libs/libmuscle/metadata.xml
+++ b/sci-libs/libmuscle/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-biology@gentoo.org</email>
diff --git a/sci-libs/libnova/files/libnova-0.16.0-slibtool.patch b/sci-libs/libnova/files/libnova-0.16.0-slibtool.patch
new file mode 100644
index 000000000000..746f46f443f4
--- /dev/null
+++ b/sci-libs/libnova/files/libnova-0.16.0-slibtool.patch
@@ -0,0 +1,26 @@
+From 857957a9229b49044070301da24b84dcb2bb0d67 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sun, 28 Mar 2021 07:49:22 -0700
+Subject: [PATCH] build: Link with the libelp .la file.
+
+---
+ src/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index aab450c..6d2b62e 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -46,8 +46,7 @@ noinst_HEADERS = \
+ lunar-priv.h
+
+ libnova_la_LIBADD = \
+- -Lelp/ \
+- -lelp
++ elp/libelp.la
+
+ libnova_la_LDFLAGS = \
+ -version-info $(LT_VERSION) \
+--
+2.29.2
+
diff --git a/sci-libs/libnova/libnova-0.16.0.ebuild b/sci-libs/libnova/libnova-0.16.0.ebuild
index e30955f870a3..bc3ef11b3d3a 100644
--- a/sci-libs/libnova/libnova-0.16.0.ebuild
+++ b/sci-libs/libnova/libnova-0.16.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,15 +6,17 @@ EAPI=7
inherit autotools
DESCRIPTION="Celestial Mechanics and Astronomical Calculation Library"
-HOMEPAGE="http://libnova.sourceforge.net/"
+HOMEPAGE="https://libnova.sourceforge.net/"
SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
LICENSE="LGPL-2"
SLOT="0/0.16"
-KEYWORDS="amd64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~hppa ~ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples"
-DEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=( "${FILESDIR}"/${P}-slibtool.patch )
src_prepare() {
default
diff --git a/sci-libs/libnova/metadata.xml b/sci-libs/libnova/metadata.xml
index 0c5d20811ad1..bad8acc79bf8 100644
--- a/sci-libs/libnova/metadata.xml
+++ b/sci-libs/libnova/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-astronomy@gentoo.org</email>
@@ -10,7 +10,7 @@
calculation library. The intended audience of libnova is C / C++ programmers,
astronomers and anyone else interested in calculating positions of
astronomical objects.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">libnova</remote-id>
</upstream>
diff --git a/sci-libs/liborigin/Manifest b/sci-libs/liborigin/Manifest
index 325e5f11cc4c..418d138d29d8 100644
--- a/sci-libs/liborigin/Manifest
+++ b/sci-libs/liborigin/Manifest
@@ -1 +1 @@
-DIST liborigin-3.0.0.tar.gz 156736 BLAKE2B 1c1fda3fc3ad47394b65637a808eca1ecf4cff19eb49de0811e50d395c3b7759f8ec19c680ed83f7a8191022aa17b4ba1211baa6ea16a48a5153736d9138ed5c SHA512 1cf00ec33a90b4baede0cd3b2a3e6d78ca4810511c6be58c4d1cce12e7e1001752422fe2ddbca80cd9016b91c5321eca1ab43606ace3acc21955a034ebc4094c
+DIST liborigin-3.0.1_p20210828.tar.gz 156437 BLAKE2B 48713d8854ccd7f46b1aca72bf7b7739af588f08aea32e1d27ff4416ca4fa96a942b19e37fb151f5e7afbd5133d870c305a608e639c620672e683fe805d4f5d1 SHA512 0c9866bef16844102be6ae6e150c927420ca07e6ee50342e9fbd4312f9cd3c476c8d730464b010076f31d7fdcc16bd1133de9ace3a6e5b9b321a231ddab00458
diff --git a/sci-libs/liborigin/files/liborigin-3.0.0-buildsystem.patch b/sci-libs/liborigin/files/liborigin-3.0.0-buildsystem.patch
deleted file mode 100644
index d8444dedafed..000000000000
--- a/sci-libs/liborigin/files/liborigin-3.0.0-buildsystem.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From a751f00ebba9fa226860ed4e2c1ae5fa35622e89 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 20 May 2020 22:33:08 +0200
-Subject: [PATCH 1/4] Don't install bundled tree.hh
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 17c613b..a6b4b8a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -25,7 +25,6 @@ set (devel-headers
- OriginObj.h
- OriginFile.h
- OriginParser.h
-- tree.hh
- )
-
- # LIB_SUFFIX can either be defined at cmake command line: cmake -DLIB_SUFFIX:STRING=64 ...
---
-2.26.2
-
-
-From 0b4fa1ce0946bc293d798484c609c6a7ac5ab50a Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 20 May 2020 22:35:02 +0200
-Subject: [PATCH 2/4] No static target, compile opj2dat against the shared lib
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a6b4b8a..6f2d87b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -52,22 +52,16 @@ set_target_properties(origin PROPERTIES
- VERSION ${LIBORIGIN_VERSION_MAJOR}.${LIBORIGIN_VERSION_MINOR}.${LIBORIGIN_VERSION_BUGFIX}
- SOVERSION ${LIBORIGIN_VERSION_MAJOR} )
-
--# static library
--add_library (origin-static STATIC ${sources})
--set_target_properties(origin-static PROPERTIES OUTPUT_NAME "origin" POSITION_INDEPENDENT_CODE ON)
--
- # inform on log setting
- if (DEFINED GENERATE_CODE_FOR_LOG)
- message("File parsing will be logged.")
- target_compile_definitions(origin PRIVATE GENERATE_CODE_FOR_LOG=${GENERATE_CODE_FOR_LOG})
-- target_compile_definitions(origin-static PRIVATE GENERATE_CODE_FOR_LOG=${GENERATE_CODE_FOR_LOG})
- else()
- message("File parsing will NOT be logged. Define GENERATE_CODE_FOR_LOG to activate logging.")
- endif ()
-
- # install libraries
- install(TARGETS origin DESTINATION lib${LIB_SUFFIX} OPTIONAL)
--install(TARGETS origin-static DESTINATION lib${LIB_SUFFIX} OPTIONAL)
-
- # install headers
- install(FILES ${devel-headers} DESTINATION include/liborigin)
-@@ -77,7 +71,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liborigin.pc DESTINATION lib${LIB_SUFF
-
- # command line util
- add_executable(opj2dat opj2dat.cpp)
--target_link_libraries (opj2dat origin-static)
-+target_link_libraries (opj2dat origin)
-
- install(TARGETS opj2dat DESTINATION bin OPTIONAL)
-
---
-2.26.2
-
-
-From 5f4c497408a6f144e581dd17fb3e49963e8b6b2b Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 20 May 2020 22:43:52 +0200
-Subject: [PATCH 3/4] Don't install README COPYING etc., distro package does
- that
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6f2d87b..4fc16e0 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -76,7 +76,6 @@ target_link_libraries (opj2dat origin)
- install(TARGETS opj2dat DESTINATION bin OPTIONAL)
-
- # documentation
--install(FILES COPYING FORMAT README DESTINATION share/doc/liborigin OPTIONAL)
- configure_file(doc/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
- find_package(Doxygen)
- if(DOXYGEN_FOUND)
---
-2.26.2
-
-
-From bb554d88b78e7575c04cf3e79098f35b776c3878 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 20 May 2020 22:47:22 +0200
-Subject: [PATCH 4/4] Drop 'OPTIONAL' from install targets, add ENABLE_TOOLS
- option
-
-I've never seen an optional install of library.
-ENABLE_TOOLS takes care of the binary.
-Doxygen is already optional.
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4fc16e0..1759eee 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,6 +9,8 @@ set(LIBORIGIN_VERSION_MAJOR 3)
- set(LIBORIGIN_VERSION_MINOR 0)
- set(LIBORIGIN_VERSION_BUGFIX 0)
-
-+option(ENABLE_TOOLS "Install opj2dat command line util" ON)
-+
- # compile-time configuration variables to be linked in
- configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
-@@ -61,7 +63,7 @@ else()
- endif ()
-
- # install libraries
--install(TARGETS origin DESTINATION lib${LIB_SUFFIX} OPTIONAL)
-+install(TARGETS origin DESTINATION lib${LIB_SUFFIX})
-
- # install headers
- install(FILES ${devel-headers} DESTINATION include/liborigin)
-@@ -70,10 +72,12 @@ install(FILES ${devel-headers} DESTINATION include/liborigin)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liborigin.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
-
- # command line util
--add_executable(opj2dat opj2dat.cpp)
--target_link_libraries (opj2dat origin)
-+if(ENABLE_TOOLS)
-+ add_executable(opj2dat opj2dat.cpp)
-+ target_link_libraries (opj2dat origin)
-
--install(TARGETS opj2dat DESTINATION bin OPTIONAL)
-+ install(TARGETS opj2dat DESTINATION bin)
-+endif()
-
- # documentation
- configure_file(doc/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
-@@ -82,5 +86,5 @@ if(DOXYGEN_FOUND)
- add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
- set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_CURRENT_BINARY_DIR}/html)
-- install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc/liborigin OPTIONAL)
-+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc/liborigin)
- endif(DOXYGEN_FOUND)
---
-2.26.2
-
diff --git a/sci-libs/liborigin/files/liborigin-3.0.0-missing-header.patch b/sci-libs/liborigin/files/liborigin-3.0.0-missing-header.patch
deleted file mode 100644
index 162dd93c3c5e..000000000000
--- a/sci-libs/liborigin/files/liborigin-3.0.0-missing-header.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 78da3c4456cef15c91b5e5fcc1e82ca2364ea654 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 20 May 2020 22:28:21 +0200
-Subject: [PATCH] Add missing header
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- OriginAnyParser.cpp | 1 +
- opj2dat.cpp | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/OriginAnyParser.cpp b/OriginAnyParser.cpp
-index 07a619e..c90f6e4 100644
---- a/OriginAnyParser.cpp
-+++ b/OriginAnyParser.cpp
-@@ -22,6 +22,7 @@
- #include "OriginAnyParser.h"
- #include <sstream>
- #include <cinttypes>
-+#include <iostream>
-
- /* define a macro to get an int (or uint) from a istringstream in binary mode */
- #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-diff --git a/opj2dat.cpp b/opj2dat.cpp
-index 230ac84..67b0815 100644
---- a/opj2dat.cpp
-+++ b/opj2dat.cpp
-@@ -31,6 +31,7 @@
- #include <cmath>
- #include <fstream>
- #include <sstream>
-+#include <iostream>
- #include <string>
-
- using namespace std;
---
-2.26.2
-
diff --git a/sci-libs/liborigin/files/liborigin-3.0.0-no-exit-calls.patch b/sci-libs/liborigin/files/liborigin-3.0.0-no-exit-calls.patch
deleted file mode 100644
index 44b56a296fde..000000000000
--- a/sci-libs/liborigin/files/liborigin-3.0.0-no-exit-calls.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a8b25b489b48086e2616df98688969f89e63fa69 Mon Sep 17 00:00:00 2001
-From: Miquel Garriga <gbmiquel@gmail.com>
-Date: Fri, 23 Nov 2018 00:15:04 +0100
-Subject: [PATCH] Remove exit() calls
-
----
- OriginFile.cpp | 15 ++++++++++-----
- OriginFile.h | 2 +-
- opj2dat.cpp | 2 ++
- 3 files changed, 13 insertions(+), 6 deletions(-)
-
-diff --git a/OriginFile.cpp b/OriginFile.cpp
-index f6c41b4..bcdcccb 100644
---- a/OriginFile.cpp
-+++ b/OriginFile.cpp
-@@ -33,14 +33,15 @@
- #include <string>
-
- OriginFile::OriginFile(const string& fileName)
--: fileVersion(0)
-+: fileVersion(0), ioError(0)
- {
- ifstream file(fileName.c_str(), ios_base::binary);
-
- if (!file.is_open())
- {
-- cerr << "Could not open " << fileName.c_str() << "!" << endl;
-- exit(EXIT_FAILURE);
-+ cerr << endl << "liborigin: " << strerror(errno) << ": " << fileName.c_str() << endl;
-+ ioError = errno;
-+ return;
- }
-
- #ifdef GENERATE_CODE_FOR_LOG
-@@ -48,8 +49,9 @@ OriginFile::OriginFile(const string& fileName)
- logfile = fopen("./opjfile.log", "w");
- if (logfile == nullptr)
- {
-- cerr << "Could not open opjfile.log !" << endl;
-- exit(EXIT_FAILURE);
-+ cerr << endl << "liborigin: " << strerror(errno) << ": opjfile.log" << endl;
-+ ioError = errno;
-+ return;
- }
- #endif // GENERATE_CODE_FOR_LOG
-
-@@ -152,10 +154,13 @@ OriginFile::OriginFile(const string& fileName)
- fclose(logfile);
- #endif // GENERATE_CODE_FOR_LOG
- parser.reset(createOriginAnyParser(fileName));
-+ ioError=0;
- }
-
- bool OriginFile::parse()
- {
-+ if (ioError != 0)
-+ return false;
- parser->buildVersion = buildVersion;
- parser->fileVersion = fileVersion;
- return parser->parse();
-diff --git a/OriginFile.h b/OriginFile.h
-index 80b6ff2..3a49395 100644
---- a/OriginFile.h
-+++ b/OriginFile.h
-@@ -70,7 +70,7 @@ public:
- string resultsLogString() const; //!< get Results Log
-
- private:
-- unsigned int fileVersion, buildVersion;
-+ unsigned int fileVersion, buildVersion, ioError;
- unique_ptr<OriginParser> parser;
- };
-
-diff --git a/opj2dat.cpp b/opj2dat.cpp
-index ff53309..230ac84 100644
---- a/opj2dat.cpp
-+++ b/opj2dat.cpp
-@@ -54,6 +54,8 @@ int main(int argc, char *argv[]) {
- OriginFile opj(inputfile);
- int status = opj.parse();
- cout << "Parsing status = " << status << endl;
-+ if (! status)
-+ return -1;
- cout << "OPJ PROJECT \"" << inputfile.c_str() << "\" VERSION = " << opj.version() << endl;
-
- cout << "number of datasets = " << opj.datasetCount() << endl;
---
-2.26.2
-
diff --git a/sci-libs/liborigin/files/liborigin-3.0.0-no-standard-streams.patch b/sci-libs/liborigin/files/liborigin-3.0.0-no-standard-streams.patch
deleted file mode 100644
index 227ce7b14d5e..000000000000
--- a/sci-libs/liborigin/files/liborigin-3.0.0-no-standard-streams.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-From 6cb6d9b328195e11c1f168f6e4b915b522c7089f Mon Sep 17 00:00:00 2001
-From: Stefan Gerlach <stefan.gerlach@uni-konstanz.de>
-Date: Wed, 15 May 2019 23:16:09 +0200
-Subject: [PATCH 1/3] do not output to standard streams (cout,
- cerr) by default
-
-it might be better to hide all such usage behind #ifdefs,
-since the streams might not belong to the shared library
-
-provided by Ivan Krylov (Ropj)
----
- OriginAnyParser.cpp | 11 +++++------
- OriginAnyParser.h | 2 +-
- OriginFile.cpp | 2 --
- 3 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/OriginAnyParser.cpp b/OriginAnyParser.cpp
-index d45026b..ff7b8f7 100644
---- a/OriginAnyParser.cpp
-+++ b/OriginAnyParser.cpp
-@@ -756,7 +756,7 @@ void OriginAnyParser::readProjectTree() {
-
- // log info on project tree
- #ifdef GENERATE_CODE_FOR_LOG
-- outputProjectTree();
-+ outputProjectTree(cout);
- #endif // GENERATE_CODE_FOR_LOG
-
- return;
-@@ -2835,7 +2835,6 @@ void OriginAnyParser::getColorMap(ColorMap& cmap, const string& cmapdata, unsign
- // check we have enough data to fill the map
- unsigned int minDataSize = cmoffset + 0x114 + (colorMapSize+2)*0x38;
- if (minDataSize > cmapdatasz) {
-- cerr << "WARNING: Too few data while getting ColorMap. Needed: at least " << minDataSize << " bytes. Have: " << cmapdatasz << " bytes." << endl;
- LOG_PRINT(logfile, "WARNING: Too few data while getting ColorMap. Needed: at least %d bytes. Have: %d bytes.\n", minDataSize, cmapdatasz)
- return;
- }
-@@ -2988,15 +2987,15 @@ void OriginAnyParser::getProjectFolderProperties(tree<ProjectNode>::iterator cur
- (*current_folder).modificationDate = doubleToPosixTime(modificationDate);
- }
-
--void OriginAnyParser::outputProjectTree() {
-+void OriginAnyParser::outputProjectTree(std::ostream & out) {
- size_t windowsCount = spreadSheets.size()+matrixes.size()+excels.size()+graphs.size()+notes.size();
-
-- cout << "Project has " << windowsCount << " windows." << endl;
-- cout << "Origin project Tree" << endl;
-+ out << "Project has " << windowsCount << " windows." << endl;
-+ out << "Origin project Tree" << endl;
-
- char cdsz[21];
- for (tree<ProjectNode>::iterator it = projectTree.begin(projectTree.begin()); it != projectTree.end(projectTree.begin()); ++it) {
- strftime(cdsz, sizeof(cdsz), "%F %T", gmtime(&(*it).creationDate));
-- cout << string(projectTree.depth(it) - 1, ' ') << (*it).name.c_str() << "\t" << cdsz << endl;
-+ out << string(projectTree.depth(it) - 1, ' ') << (*it).name.c_str() << "\t" << cdsz << endl;
- }
- }
-diff --git a/OriginAnyParser.h b/OriginAnyParser.h
-index ed62bbb..bd7c1ae 100644
---- a/OriginAnyParser.h
-+++ b/OriginAnyParser.h
-@@ -68,7 +68,7 @@ protected:
- void getZcolorsMap(ColorMap&, const string&, unsigned int);
- void getProjectLeafProperties(tree<ProjectNode>::iterator, const string&, unsigned int);
- void getProjectFolderProperties(tree<ProjectNode>::iterator, const string&, unsigned int);
-- void outputProjectTree();
-+ void outputProjectTree(std::ostream &);
-
- inline time_t doubleToPosixTime(double jdt)
- {
-diff --git a/OriginFile.cpp b/OriginFile.cpp
-index 5ac8e22..dba050f 100644
---- a/OriginFile.cpp
-+++ b/OriginFile.cpp
-@@ -39,7 +39,6 @@ OriginFile::OriginFile(const string& fileName)
-
- if (!file.is_open())
- {
-- cerr << endl << "liborigin: " << strerror(errno) << ": " << fileName.c_str() << endl;
- ioError = errno;
- return;
- }
-@@ -49,7 +48,6 @@ OriginFile::OriginFile(const string& fileName)
- logfile = fopen("./opjfile.log", "w");
- if (logfile == nullptr)
- {
-- cerr << endl << "liborigin: " << strerror(errno) << ": opjfile.log" << endl;
- ioError = errno;
- return;
- }
---
-2.26.2
-
-
-From 588bbc357cd34b9d353470ed6c0632b6f00805f5 Mon Sep 17 00:00:00 2001
-From: Stefan Gerlach <stefan.gerlach@uni-konstanz.de>
-Date: Wed, 15 May 2019 23:28:46 +0200
-Subject: [PATCH 2/3] fix bugs found by UBSan
-
- - check values before casting to enum Attach
- - default-initialize sensitive struct elements
-
-provided by Ivan Krylov (Ropj)
----
- OriginAnyParser.cpp | 1 +
- OriginObj.h | 5 ++++-
- README | 3 +++
- 3 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/OriginAnyParser.cpp b/OriginAnyParser.cpp
-index ff7b8f7..9f9731c 100644
---- a/OriginAnyParser.cpp
-+++ b/OriginAnyParser.cpp
-@@ -1543,6 +1543,7 @@ void OriginAnyParser::getAnnotationProperties(const string& anhd, unsigned int a
- GET_SHORT(stmp, r.bottom)
-
- unsigned char attach = anhd[0x28];
-+ if (attach >= (unsigned char)Attach::End_) attach = Attach::Frame;
- unsigned char border = anhd[0x29];
-
- Color color = getColor(anhd.substr(0x33,4));
-diff --git a/OriginObj.h b/OriginObj.h
-index 3a9f719..aeeeb6b 100644
---- a/OriginObj.h
-+++ b/OriginObj.h
-@@ -67,7 +67,7 @@ namespace Origin
- enum DayOfWeekFormat {DAY_DDD = 0, DAY_DDDD = 1, DAY_LETTER = 2};
-
- enum NumericDisplayType {DefaultDecimalDigits = 0, DecimalPlaces = 1, SignificantDigits = 2};
-- enum Attach {Frame = 0, Page = 1, Scale = 2};
-+ enum Attach {Frame = 0, Page = 1, Scale = 2, End_};
- enum BorderType {BlackLine = 0, Shadow = 1, DarkMarble = 2, WhiteOut = 3, BlackOut = 4, None = -1};
- enum FillPattern {NoFill = 0, BDiagDense = 1, BDiagMedium = 2, BDiagSparse = 3, FDiagDense = 4, FDiagMedium = 5, FDiagSparse = 6,
- DiagCrossDense = 7, DiagCrossMedium = 8, DiagCrossSparse = 9, HorizontalDense = 10, HorizontalMedium = 11, HorizontalSparse = 12,
-@@ -345,6 +345,7 @@ namespace Origin
- , width(8)
- , index(_index)
- , view(DataView)
-+ , colorMap()
- {coordinates.push_back(10.0);coordinates.push_back(10.0);coordinates.push_back(1.0);coordinates.push_back(1.0);};
- };
-
-@@ -895,9 +896,11 @@ namespace Origin
- GraphLayer()
- : backgroundColor({Color::Regular, {Color::White}})
- , borderType(BlackLine)
-+ , xAxis(), yAxis(), zAxis()
- , histogramBin(0.5)
- , histogramBegin(0.0)
- , histogramEnd(10.0)
-+ , colorMap()
- , xAngle(0)
- , yAngle(0)
- , zAngle(0)
-diff --git a/README b/README
-index 1dd56ef..598eacc 100644
---- a/README
-+++ b/README
-@@ -7,6 +7,9 @@ It is based on the code at
- http://sourceforge.net/projects/liborigin
- http://soft.proindependent.com/liborigin2
-
-+Additionally, some fixes were applied to silence UBSan warnings caused by
-+uninitialised POD struct members.
-+
- AUTHORS: Knut Franke, Miquel Garriga, Stefan Gerlach, Alex Kargovsky, Russell Standish, Ion Vasilief
-
- DEPENDENCIES: tree.hh (included) http://tree.phi-sci.com/
---
-2.26.2
-
-
-From 88b4de31e1860b8b5de6e3eea4a32e92f2e58c71 Mon Sep 17 00:00:00 2001
-From: Stefan Gerlach <stefan.gerlach@uni-konstanz.de>
-Date: Wed, 15 May 2019 23:32:50 +0200
-Subject: [PATCH 3/3] readProjectTree: provide root node to append
- to
-
-append_child() is not supposed to work on an empty tree,
-and I couldn't find any initialization before its use.
-All inserted nodes seemed to end up below tree_node::feet
-(or something) and were not cleaned up by the destructor.
-
-Using insert() to create a dummy node for others to be
-children of fixes the leak.
-
-provided by Ivan Krylov (Ropj)
----
- OriginAnyParser.cpp | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/OriginAnyParser.cpp b/OriginAnyParser.cpp
-index 9f9731c..4a79423 100644
---- a/OriginAnyParser.cpp
-+++ b/OriginAnyParser.cpp
-@@ -743,7 +743,10 @@ void OriginAnyParser::readProjectTree() {
- string pte_pre2 = readObjectAsString(pte_pre2_size);
-
- // root element and children
-- unsigned int rootfolder = readFolderTree(projectTree.begin(), pte_depth);
-+ unsigned int rootfolder = readFolderTree(
-+ projectTree.insert(projectTree.begin(), ProjectNode("", ProjectNode::Folder)),
-+ pte_depth
-+ );
- if (rootfolder > 0) {
- LOG_PRINT(logfile, "Number of files at root: %d\n", rootfolder)
- }
---
-2.26.2
-
diff --git a/sci-libs/liborigin/files/liborigin-3.0.1-missing-header.patch b/sci-libs/liborigin/files/liborigin-3.0.1-missing-header.patch
new file mode 100644
index 000000000000..3f78c61ebabe
--- /dev/null
+++ b/sci-libs/liborigin/files/liborigin-3.0.1-missing-header.patch
@@ -0,0 +1,24 @@
+diff --git a/OriginAnyParser.cpp b/OriginAnyParser.cpp
+index 05bfb95..dd5dd9b 100644
+--- a/OriginAnyParser.cpp
++++ b/OriginAnyParser.cpp
+@@ -22,6 +22,7 @@
+ #include "OriginAnyParser.h"
+ #include <sstream>
+ #include <cinttypes>
++#include <iostream>
+
+ /* define a macro to get an int (or uint) from a istringstream in binary mode */
+ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+diff --git a/opj2dat.cpp b/opj2dat.cpp
+index 4b8d57a..5a31b4e 100644
+--- a/opj2dat.cpp
++++ b/opj2dat.cpp
+@@ -31,6 +31,7 @@
+ #include <cmath>
+ #include <fstream>
+ #include <sstream>
++#include <iostream>
+ #include <string>
+
+ using namespace std;
diff --git a/sci-libs/liborigin/files/liborigin-3.0.1_p20210828-buildsystem.patch b/sci-libs/liborigin/files/liborigin-3.0.1_p20210828-buildsystem.patch
new file mode 100644
index 000000000000..150ae4e21be1
--- /dev/null
+++ b/sci-libs/liborigin/files/liborigin-3.0.1_p20210828-buildsystem.patch
@@ -0,0 +1,70 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a8e5914..a1a129c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,7 +41,6 @@ set (devel-headers
+ OriginObj.h
+ OriginFile.h
+ OriginParser.h
+- tree.hh
+ )
+
+ # allow for installation of individual targets
+@@ -59,12 +58,8 @@ else()
+ message("File parsing will NOT be logged. Define GENERATE_CODE_FOR_LOG to activate logging.")
+ endif ()
+
+-# Static library
+-add_library (origin_static STATIC $<TARGET_OBJECTS:origin>)
+-
+-set_target_properties(origin_static PROPERTIES OUTPUT_NAME "origin" )
+-
+ if( "${CMAKE_SOURCE_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}" )
++ include(GNUInstallDirs)
+
+ # Shared library
+ add_library( origin_shared SHARED $<TARGET_OBJECTS:origin>)
+@@ -74,15 +69,16 @@ if( "${CMAKE_SOURCE_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}" )
+ SOVERSION ${PROJECT_VERSION_MAJOR}
+ )
+ # Generate a pkg-config file matching this config
+- configure_file( "liborigin.pc.in" "$liborigin.pc" @ONLY )
++ configure_file( "liborigin.pc.in" "liborigin.pc" @ONLY )
+
++ if(ENABLE_TOOLS)
+ # command line util
+ add_executable(opj2dat opj2dat.cpp)
+- target_link_libraries (opj2dat origin_static)
++ target_link_libraries (opj2dat origin_shared)
++ endif ()
+
+- include(GNUInstallDirs)
+ # install libraries
+- install( TARGETS origin_shared origin_static
++ install( TARGETS origin_shared
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+@@ -92,7 +88,9 @@ if( "${CMAKE_SOURCE_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}" )
+ # install pkg-config file
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liborigin.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ #
++ if(ENABLE_TOOLS)
+ install(TARGETS opj2dat DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
++ endif ()
+ # documentation
+ install(FILES COPYING FORMAT README
+ DESTINATION ${CMAKE_INSTALL_DOCDIR}
+diff --git a/liborigin.pc.in b/liborigin.pc.in
+index b6f7c90..55f82fa 100644
+--- a/liborigin.pc.in
++++ b/liborigin.pc.in
+@@ -5,7 +5,7 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+
+ Name: liborigin
+ Description: Library for reading OriginLab files
+-Version: @LIBORIGIN_VERSION_MAJOR@.@LIBORIGIN_VERSION_MINOR@.@LIBORIGIN_VERSION_BUGFIX@
++Version: @liborigin_VERSION_MAJOR@.@liborigin_VERSION_MINOR@.@liborigin_VERSION_PATCH@
+
+ Requires:
+ Libs: -L${libdir} -lorigin
diff --git a/sci-libs/liborigin/liborigin-3.0.0.ebuild b/sci-libs/liborigin/liborigin-3.0.0.ebuild
deleted file mode 100644
index aa4538748af9..000000000000
--- a/sci-libs/liborigin/liborigin-3.0.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Library for reading OriginLab OPJ project files"
-HOMEPAGE="https://sourceforge.net/projects/liborigin/"
-SRC_URI="http://downloads.sourceforge.net/liborigin/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc tools"
-
-BDEPEND="
- doc? ( app-doc/doxygen )
-"
-RDEPEND="
- dev-cpp/tree
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- # git master
- "${FILESDIR}/${P}-no-exit-calls.patch"
- "${FILESDIR}/${P}-no-standard-streams.patch"
- # TODO upstream
- "${FILESDIR}/${P}-missing-header.patch"
- # downstream
- "${FILESDIR}/${P}-buildsystem.patch" # ENABLE_TOOLS, shared link, doc paths
-)
-
-src_prepare() {
- cmake_src_prepare
- rm tree.hh || die "failed to remove bundled tree.hh"
-
- sed -e "/install.*html/s/liborigin/${PF}/" \
- -i CMakeLists.txt || die "failed to fix htmldoc install path"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DGENERATE_CODE_FOR_LOG=$(usex debug)
- $(cmake_use_find_package doc Doxygen)
- -DENABLE_TOOLS=$(usex tools)
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use doc && cmake_src_compile doc
-}
diff --git a/sci-libs/liborigin/liborigin-3.0.1_p20210828-r1.ebuild b/sci-libs/liborigin/liborigin-3.0.1_p20210828-r1.ebuild
new file mode 100644
index 000000000000..d0237a668033
--- /dev/null
+++ b/sci-libs/liborigin/liborigin-3.0.1_p20210828-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="970b90ada051dfa2e80929cde91d052bf28be674"
+
+DESCRIPTION="Library for reading OriginLab OPJ project files"
+HOMEPAGE="https://sourceforge.net/projects/liborigin/ https://github.com/SciDAVis/liborigin/"
+SRC_URI="https://github.com/SciDAVis/liborigin/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3"
+SLOT="2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc tools"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+"
+RDEPEND="
+ dev-cpp/tree
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # add missing header
+ "${FILESDIR}/${PN}-3.0.1-missing-header.patch"
+ # downstream
+ "${FILESDIR}/${P}-buildsystem.patch" # ENABLE_TOOLS, shared link, doc paths
+)
+
+src_prepare() {
+ cmake_src_prepare
+ rm tree.hh || die "failed to remove bundled tree.hh"
+
+ sed -e "/install.*html/s/liborigin/${PF}/" \
+ -i CMakeLists.txt || die "failed to fix htmldoc install path"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGENERATE_CODE_FOR_LOG=$(usex debug)
+ $(cmake_use_find_package doc Doxygen)
+ -DENABLE_TOOLS=$(usex tools)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_src_compile doc
+}
diff --git a/sci-libs/liborigin/metadata.xml b/sci-libs/liborigin/metadata.xml
index e7dc202da9b1..9e1b2fba29be 100644
--- a/sci-libs/liborigin/metadata.xml
+++ b/sci-libs/liborigin/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -8,4 +8,8 @@
<use>
<flag name="tools">Install opj2dat command line util</flag>
</use>
+ <upstream>
+ <remote-id type="sourceforge">liborigin</remote-id>
+ <remote-id type="github">SciDAVis/liborigin</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/libpdb++/metadata.xml b/sci-libs/libpdb++/metadata.xml
index ae9640ffb9f1..c0cd18916a93 100644
--- a/sci-libs/libpdb++/metadata.xml
+++ b/sci-libs/libpdb++/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/libpdb/libpdb-991112-r1.ebuild b/sci-libs/libpdb/libpdb-991112-r1.ebuild
index d9f08556e58e..31d30652f13e 100644
--- a/sci-libs/libpdb/libpdb-991112-r1.ebuild
+++ b/sci-libs/libpdb/libpdb-991112-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit eutils toolchain-funcs
+inherit toolchain-funcs
DESCRIPTION="PDB Record I/O Libraries -- c version"
HOMEPAGE="http://www.cgl.ucsf.edu/Overview/software.html"
diff --git a/sci-libs/libpdb/metadata.xml b/sci-libs/libpdb/metadata.xml
index ae9640ffb9f1..c0cd18916a93 100644
--- a/sci-libs/libpdb/metadata.xml
+++ b/sci-libs/libpdb/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/libqalculate/Manifest b/sci-libs/libqalculate/Manifest
index 969f811ebebc..029cd91e973a 100644
--- a/sci-libs/libqalculate/Manifest
+++ b/sci-libs/libqalculate/Manifest
@@ -1,4 +1,7 @@
-DIST libqalculate-0.9.9.tar.gz 1509180 BLAKE2B 3f309add80ddb6b21730eab25d37c2d8fee163a79768a09ec5e7e5d329aa11ed9dafbf77f4ce194a96c2ac6a3b55a9c0d16755d5e106123cc2a5f931f6872d91 SHA512 c7692dcd91e0a7aea8184ca5366a3caf704b6e716c9e8552f4214ce7fc3157cf127daf7a063196383e4d5a99f8703486f2282c7fb01acafee5e1b3d8993de384
-DIST libqalculate-2.2.0.tar.gz 1717207 BLAKE2B 020ca544683ff140ab5f8256a5a955c895a6ea09a581e9e75ab6c0a0657886c352a1ec2d34400057fe80004481d3198998613113ca40fb4feebfca010445dced SHA512 e6f3693e4dba2beffca300b673657b90037a6b7acc5bbd4e659863f4f5aec148d6d385fc3c666b16b2be713d0a8ad1b4d7fda557cef0e2be340ca2435f62aae7
-DIST libqalculate-2.8.1.tar.gz 1961535 BLAKE2B 074d83a44cbc6cb5d8afe5121e4c34cec46f2f6fecf046f6b4e67c6ebc612030ccbd0f42c303cc675267374502ecb3e831c9bbfca0f13d339e31fb8933a99b7a SHA512 a258bf4f67db70263626ac77822afc75fd7a9e5af2feb1930314daff219865b28c43e82fef6ceae4f3f23957447d6eaebdc709e606d28457bca0f47eefb9274a
-DIST libqalculate-3.2.0.tar.gz 2035352 BLAKE2B 4ad9f1acaaa34693e3167514d16193b06af5a2d441946e636439cd9374c0061e0f20e72126a2cb020fed2e7c82e7144636a7eb545196bd6879af5a09320c3245 SHA512 6d0e1bbc1c9e4436208cd0ea855cc1d90b8a6d0525cd25bc9414db6e610e1e48aa84a9b552248926bd3c6f91db4997afb60658a5579502bac7194178e36fb857
+DIST libqalculate-4.5.0.tar.gz 2603599 BLAKE2B 142790cf89e97c601b08d553b1f9cd6c1bf184a43c2614a07fa91560a875ea3e3124cf29d7652640b1f2fb4fada1519d48e4cb0ebcfb844c26369d3031aee230 SHA512 a123eaa725c6c6badce0eceecd6ef7e37ca281e7de18085d6a28aa6043bb3f1069f9ebba82b29989c9958455aa093ee183fd8013a86b39bd34e56454bdb35770
+DIST libqalculate-4.6.1.tar.gz 2610769 BLAKE2B 02ad7371c537bf40d98bb1b32877f0a39394b0723c45e53b00381df2d0d326b79ab39c66238a8e3a89f10aa093f6c12bcc5ae0457f6d65503fb3712a78bb0dfc SHA512 7f03e0f8cc87918b8ec962ce8c85840b644aad02cdd53037d41602198cdcb6567099d175771ff3752fc99fccbc4b180527da5fef68b0059bd1b259c34c57620e
+DIST libqalculate-4.7.0.tar.gz 2618347 BLAKE2B 1ec01e124d9c96a2651f3e2a82a4eb8ae771b2701d3fd2be0894666e37eccf1e15e779ccfb96ff866c3e3d5a625ca8884961b505f30d34310be1efe69f0ba1d1 SHA512 d72754f00e26daa0afc1357cc30571b5dae28d7f5f79bcdba2f159644216288df20e5a518457fb244fd3057935f7d800a3e95bdf0f04929353841cc8371be138
+DIST libqalculate-4.8.0.tar.gz 2625669 BLAKE2B 957adcc6b5dabee4d9d6a593a4d5c894e6db05856875a241b1090bada49a0c802c94076a347df6b9b60d088edcba6f5e50ffa0d4a4517ead6da9cebc2f02c592 SHA512 db41bf883520d72f5d7c80b78492aba5367e74a6c5c452a420d6ecc79ae8f1dfa208c13bfff96ea699d31189cc49c264cf1b543946e4ec39b9df97a386c215ea
+DIST libqalculate-4.8.1.tar.gz 2625564 BLAKE2B 017188bd43da03c398ed17e883f460637d1af35df9643ac62c938f5aa189431fee49143d517c2d4489c4cca030f1220129f9dfce448969a9601c74273bfdb1a9 SHA512 e4e3f884ac42b706ee79f8fa37fbff69a30dc3f24edbe66b259507723dc3f028243acea4cb29dd68d933e7e357a55207aaf619fe9f66caa118a212de06c2a8d4
+DIST libqalculate-5.0.0.tar.gz 2674322 BLAKE2B 1ae2203c4443b57198a0e7862361f732ae8428cb6b55942f9ff9984f0956c5a2cda3fd9f5a49fa98c10526879e9ce2751a9e5c33d1e6092503640da13844df0d SHA512 d3467e79e1454a76ee0c4d8795241c105d42580f95321e24b0657d99535ed8827809cc7ec0474c9e75cd668158aa84a500e5bd3a92dd0f4a3d1e4fc91811c399
+DIST libqalculate-5.0.0b.tar.gz 2674304 BLAKE2B 8f41f141aedac2f1ccdd8b48182f972b29ae2835b1a4844ba076112754061f06970817ec3e1248c50c3c9792d41927e277b05bd8933b9a63446e0d56d5449a8b SHA512 88bddd961fca48b0c971ba035cd295d642aac009164654b0c6b18e1c72892c69614f3dd90d5b851c05dfab41fda9a6dd18fbaecac9d28bfed387a7063280ebc7
diff --git a/sci-libs/libqalculate/files/libqalculate-0.9.9-readline.patch b/sci-libs/libqalculate/files/libqalculate-0.9.9-readline.patch
deleted file mode 100644
index ab2a5a0eb3ff..000000000000
--- a/sci-libs/libqalculate/files/libqalculate-0.9.9-readline.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru libqalculate-0.9.9.orig/src/qalc.cc libqalculate-0.9.9/src/qalc.cc
---- libqalculate-0.9.9.orig/src/qalc.cc 2016-07-26 14:41:40.000000000 +0200
-+++ libqalculate-0.9.9/src/qalc.cc 2016-08-04 18:27:36.553906707 +0200
-@@ -3179,7 +3179,9 @@
- if(!file) {
- g_free(gstr_file);
- g_free(gstr_oldfile);
-+#ifdef HAVE_LIBREADLINE
- g_free(historyfile);
-+#endif
- first_time = true;
- set_saved_mode();
- return;
diff --git a/sci-libs/libqalculate/files/libqalculate-4.5.0-tests.patch b/sci-libs/libqalculate/files/libqalculate-4.5.0-tests.patch
new file mode 100644
index 000000000000..102b245a56b1
--- /dev/null
+++ b/sci-libs/libqalculate/files/libqalculate-4.5.0-tests.patch
@@ -0,0 +1,81 @@
+https://github.com/Qalculate/libqalculate/commit/e4c86b6124a3c8732f03dc1dfc8be9fac14a40eb
+
+From e4c86b6124a3c8732f03dc1dfc8be9fac14a40eb Mon Sep 17 00:00:00 2001
+From: Hanna K <hanna.knutsson@protonmail.com>
+Date: Wed, 28 Dec 2022 09:44:40 +0100
+Subject: [PATCH] Fix unit tests (issue #499); Fix some limits broken by
+ countTotalChildren() update
+
+--- a/libqalculate/MathStructure-limit.cc
++++ b/libqalculate/MathStructure-limit.cc
+@@ -595,7 +595,7 @@ bool calculate_limit_sub(MathStructure &mstruct, const MathStructure &x_var, con
+ }
+ }
+ }
+- if(!b_possible_zero && !b_fail && lhop_depth < 5 && !mzero.isOne() && !minfp.isOne() && mzero.countTotalChildren(false) + minfp.countTotalChildren(false) < 50) {
++ if(!b_possible_zero && !b_fail && lhop_depth < 5 && !mzero.isOne() && !minfp.isOne() && mzero.countTotalChildren(false) + minfp.countTotalChildren(false) < 250) {
+ //L'Hôpital's rule
+ MathStructure mden, mnum;
+ for(size_t i2 = 0; i2 < 2; i2++) {
+--- a/tests/calculus.batch
++++ b/tests/calculus.batch
+@@ -1,7 +1,7 @@
+ diff(6x^2)
+ 12x
+ diff(sinh(x^2)/(5x) + 3xy/sqrt(x))
+- 0.4 * cosh(x^2) - sinh(x^2) / (5x^2) + (3y) / (2 * sqrt(x))
++ 0.4 * cosh(x^2) + (3y) / (2 * sqrt(x)) - sinh(x^2) / (5x^2)
+
+ integrate(6x^2)
+ 2x^3 + C
+--- a/tests/solver.batch
++++ b/tests/solver.batch
+@@ -23,37 +23,37 @@ x^(-3x) = 2
+ x = e^lambertw(-ln(2) / 3) or x = e^lambertw(-ln(2) / 3, -1)
+
+ 1/3 * sin(3x) - 1/3 = 0
+- x = pi / 6 + (2/3) * pi * n
++ x = (2/3) * pi * n + pi / 6
+
+ 2/3 * sin(3x) - 1/3 = 0
+- x = (5/18) * pi + (2/3) * pi * n or x = pi / 18 + (2/3) * pi * n
++ x = (2/3) * pi * n + (5/18) * pi or x = (2/3) * pi * n + pi / 18
+
+ sin(x) + cos(x) = 1
+- x = 2 pi * n or x = pi / 2 + 2 pi * n
++ x = 2 pi * n or x = 2 pi * n + pi / 2
+
+ sin(x) = 1 + cos(x)
+- x = pi + 2 pi * n or x = pi / 2 + 2 pi * n
++ x = 2 pi * n + pi or x = 2 pi * n + pi / 2
+
+ sqrt(2) * cos(3x + pi/6) = 1
+- x = (2/3) * pi * n - (5/36) * pi or x = pi / 36 + (2/3) * pi * n
++ x = (2/3) * pi * n + pi / 36 or x = (2/3) * pi * n - (5/36) * pi
+
+ 2 * sin(3x/4) = 1
+- x = (10/9) * pi + (8/3) * pi * n or x = (2/9) * pi + (8/3) * pi * n
++ x = (8/3) * pi * n + (10/9) * pi or x = (8/3) * pi * n + (2/9) * pi
+
+ tan(x/4 + pi/3) = sqrt(3)
+ x = 4 pi * n
+
+ sqrt(3) * sin(x) + cos(x) = sqrt(3)
+- x = pi / 2 + 2 pi * n or x = pi / 6 + 2 pi * n
++ x = 2 pi * n + pi / 2 or x = 2 pi * n + pi / 6
+
+ sin(x)^2 = sin(x)^3
+- x = pi * n or x = pi / 2 + 2 pi * n
++ x = pi * n or x = 2 pi * n + pi / 2
+
+ sin(x) = sin(x/2)
+- x = 2 pi * n or x = 4 pi * n - (2/3) * pi or x = (2/3) * pi + 4 pi * n
++ x = 2 pi * n or x = 4 pi * n + (2/3) * pi or x = 4 pi * n - (2/3) * pi
+
+ sin(4x) + cos(2x) = 0
+- x = pi * n - pi / 12 or x = (7/12) * pi + pi * n or x = (pi * n) / 2 - pi / 4
++ x = pi * n + (7/12) * pi or x = pi * n - pi / 12 or x = (pi * n) / 2 - pi / 4
+
+ /set approximation try exact
+
+
diff --git a/sci-libs/libqalculate/libqalculate-0.9.9.ebuild b/sci-libs/libqalculate/libqalculate-0.9.9.ebuild
deleted file mode 100644
index 19d324e74252..000000000000
--- a/sci-libs/libqalculate/libqalculate-0.9.9.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A modern multi-purpose calculator library"
-HOMEPAGE="https://qalculate.github.io/"
-SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/6"
-KEYWORDS="~alpha amd64 ~arm arm64 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:0= )"
-DEPEND="${COMMON_DEPEND}
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig"
-RDEPEND="${COMMON_DEPEND}
- net-misc/wget
- gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
-
-PATCHES=(
- # https://github.com/Qalculate/libqalculate/issues/6
- "${FILESDIR}"/${P}-readline.patch
-)
-
-src_prepare() {
- default
-
- 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" \
- install
-
- dodoc AUTHORS ChangeLog NEWS README* TODO
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libqalculate/libqalculate-2.2.0.ebuild b/sci-libs/libqalculate/libqalculate-2.2.0.ebuild
deleted file mode 100644
index 4b4799063525..000000000000
--- a/sci-libs/libqalculate/libqalculate-2.2.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A modern multi-purpose calculator library"
-HOMEPAGE="https://qalculate.github.io/"
-SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/7"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~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:0= )"
-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() {
- default
-
- 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" \
- install
-
- dodoc AUTHORS ChangeLog NEWS README* TODO
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libqalculate/libqalculate-2.8.1.ebuild b/sci-libs/libqalculate/libqalculate-2.8.1.ebuild
deleted file mode 100644
index 2cd5124b9489..000000000000
--- a/sci-libs/libqalculate/libqalculate-2.8.1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A modern multi-purpose calculator library"
-HOMEPAGE="https://qalculate.github.io/"
-SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/20"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="curl icu gnuplot readline static-libs"
-
-COMMON_DEPEND="
- dev-libs/gmp:0=
- dev-libs/libxml2:2
- dev-libs/mpfr:0=
- virtual/libiconv
- curl? ( net-misc/curl )
- icu? ( dev-libs/icu:= )
- readline? ( sys-libs/readline:0= )"
-DEPEND="${COMMON_DEPEND}
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig"
-RDEPEND="${COMMON_DEPEND}
- gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
-
-src_prepare() {
- default
-
- 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 curl libcurl) \
- $(use_with icu) \
- $(use_with readline)
-}
-
-src_install() {
- # docs/reference/Makefile.am -> referencedir=
- emake \
- DESTDIR="${D}" \
- referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
- install
-
- dodoc AUTHORS ChangeLog NEWS README* TODO
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libqalculate/libqalculate-3.2.0-r1.ebuild b/sci-libs/libqalculate/libqalculate-3.2.0-r1.ebuild
deleted file mode 100644
index 059d1ce9b78a..000000000000
--- a/sci-libs/libqalculate/libqalculate-3.2.0-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A modern multi-purpose calculator library"
-HOMEPAGE="https://qalculate.github.io/"
-SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/22"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="curl icu gnuplot readline static-libs"
-
-COMMON_DEPEND="
- dev-libs/gmp:0=
- dev-libs/libxml2:2
- dev-libs/mpfr:0=
- virtual/libiconv
- curl? ( net-misc/curl )
- icu? ( dev-libs/icu:= )
- readline? ( sys-libs/readline:0= )"
-DEPEND="${COMMON_DEPEND}
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig"
-RDEPEND="${COMMON_DEPEND}
- gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
-
-src_prepare() {
- default
-
- 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 curl libcurl) \
- $(use_with icu) \
- $(use_with readline)
-}
-
-src_install() {
- # docs/reference/Makefile.am -> referencedir=
- emake \
- DESTDIR="${D}" \
- referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
- install
-
- dodoc AUTHORS ChangeLog NEWS README* TODO
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libqalculate/libqalculate-4.5.0.ebuild b/sci-libs/libqalculate/libqalculate-4.5.0.ebuild
new file mode 100644
index 000000000000..c8003aab4d1f
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-4.5.0.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with sci-calculators/qalculate-gtk!
+
+inherit toolchain-funcs
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="https://qalculate.github.io/"
+SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+# SONAME changes pretty often on bumps. Check!
+SLOT="0/22"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="curl icu gnuplot +hardened readline test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/gmp:=
+ dev-libs/libxml2:2
+ dev-libs/mpfr:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:= )
+ readline? ( sys-libs/readline:= )"
+RDEPEND="${DEPEND}
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-tests.patch
+)
+
+src_prepare() {
+ default
+
+ cat >po/POTFILES.skip <<-EOF || die
+ # 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/prefixes.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ # Needed for po-defs/Makefile
+ export CXX_FOR_BUILD="$(tc-getBUILD_CXX)"
+ export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E"
+
+ # bug #792027
+ tc-export CC
+
+ econf \
+ $(use_enable test tests) \
+ $(use_enable test unittests) \
+ $(use_with curl libcurl) \
+ $(use_with gnuplot gnuplot-call) \
+ $(use_enable !hardened insecure) \
+ $(use_with icu) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libqalculate/libqalculate-4.6.1.ebuild b/sci-libs/libqalculate/libqalculate-4.6.1.ebuild
new file mode 100644
index 000000000000..f367366c2910
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-4.6.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with sci-calculators/qalculate-gtk!
+
+inherit toolchain-funcs
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="https://qalculate.github.io/"
+SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+# SONAME changes pretty often on bumps. Check!
+SLOT="0/22"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="curl icu gnuplot +hardened readline test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/gmp:=
+ dev-libs/libxml2:2
+ dev-libs/mpfr:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:= )
+ readline? ( sys-libs/readline:= )"
+RDEPEND="${DEPEND}
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ cat >po/POTFILES.skip <<-EOF || die
+ # 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/prefixes.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ # Needed for po-defs/Makefile
+ export CXX_FOR_BUILD="$(tc-getBUILD_CXX)"
+ export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E"
+
+ # bug #792027
+ tc-export CC
+
+ econf \
+ $(use_enable test tests) \
+ $(use_enable test unittests) \
+ $(use_with curl libcurl) \
+ $(use_with gnuplot gnuplot-call) \
+ $(use_enable !hardened insecure) \
+ $(use_with icu) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libqalculate/libqalculate-4.7.0.ebuild b/sci-libs/libqalculate/libqalculate-4.7.0.ebuild
new file mode 100644
index 000000000000..6bdf2d129d50
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-4.7.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with sci-calculators/qalculate-gtk!
+
+inherit toolchain-funcs
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="https://qalculate.github.io/"
+SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+# SONAME changes pretty often on bumps. Check!
+SLOT="0/22"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="curl icu gnuplot +hardened readline test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/gmp:=
+ dev-libs/libxml2:2
+ dev-libs/mpfr:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:= )
+ readline? ( sys-libs/readline:= )"
+RDEPEND="${DEPEND}
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ cat >po/POTFILES.skip <<-EOF || die
+ # 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/prefixes.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ # Needed for po-defs/Makefile
+ export CXX_FOR_BUILD="$(tc-getBUILD_CXX)"
+ export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E"
+
+ # bug #792027
+ tc-export CC
+
+ econf \
+ $(use_enable test tests) \
+ $(use_enable test unittests) \
+ $(use_with curl libcurl) \
+ $(use_with gnuplot gnuplot-call) \
+ $(use_enable !hardened insecure) \
+ $(use_with icu) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libqalculate/libqalculate-4.8.0.ebuild b/sci-libs/libqalculate/libqalculate-4.8.0.ebuild
new file mode 100644
index 000000000000..886c0f5aef07
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-4.8.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with sci-calculators/qalculate-gtk and sci-calculators/qalculate-qt
+
+inherit toolchain-funcs
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="https://qalculate.github.io/"
+SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+# SONAME changes pretty often on bumps. Check!
+SLOT="0/22"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="curl icu gnuplot +hardened readline test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/gmp:=
+ dev-libs/libxml2:2
+ dev-libs/mpfr:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:= )
+ readline? ( sys-libs/readline:= )"
+RDEPEND="${DEPEND}
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ cat >po/POTFILES.skip <<-EOF || die
+ # 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/prefixes.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ # Needed for po-defs/Makefile
+ export CXX_FOR_BUILD="$(tc-getBUILD_CXX)"
+ export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E"
+
+ # bug #792027
+ tc-export CC
+
+ econf \
+ $(use_enable test tests) \
+ $(use_enable test unittests) \
+ $(use_with curl libcurl) \
+ $(use_with gnuplot gnuplot-call) \
+ $(use_enable !hardened insecure) \
+ $(use_with icu) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libqalculate/libqalculate-4.8.1.ebuild b/sci-libs/libqalculate/libqalculate-4.8.1.ebuild
new file mode 100644
index 000000000000..eebf39f1b7ff
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-4.8.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with sci-calculators/qalculate-gtk and sci-calculators/qalculate-qt
+
+inherit toolchain-funcs
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="https://qalculate.github.io/"
+SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+# SONAME changes pretty often on bumps. Check!
+SLOT="0/22"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="curl icu gnuplot +hardened readline test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/gmp:=
+ dev-libs/libxml2:2
+ dev-libs/mpfr:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:= )
+ readline? ( sys-libs/readline:= )"
+RDEPEND="${DEPEND}
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ cat >po/POTFILES.skip <<-EOF || die
+ # 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/prefixes.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ # Needed for po-defs/Makefile
+ export CXX_FOR_BUILD="$(tc-getBUILD_CXX)"
+ export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E"
+
+ # bug #792027
+ tc-export CC
+
+ econf \
+ $(use_enable test tests) \
+ $(use_enable test unittests) \
+ $(use_with curl libcurl) \
+ $(use_with gnuplot gnuplot-call) \
+ $(use_enable !hardened insecure) \
+ $(use_with icu) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libqalculate/libqalculate-5.0.0.ebuild b/sci-libs/libqalculate/libqalculate-5.0.0.ebuild
new file mode 100644
index 000000000000..685c8d1d9967
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-5.0.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with sci-calculators/qalculate-gtk and sci-calculators/qalculate-qt
+
+inherit toolchain-funcs
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="https://qalculate.github.io/"
+SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+# SONAME changes pretty often on bumps. Check!
+SLOT="0/22"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="curl icu gnuplot +hardened readline test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/gmp:=
+ dev-libs/libxml2:2
+ dev-libs/mpfr:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:= )
+ readline? ( sys-libs/readline:= )"
+RDEPEND="${DEPEND}
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ cat >po/POTFILES.skip <<-EOF || die
+ # 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/prefixes.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ # Needed for po-defs/Makefile
+ export CXX_FOR_BUILD="$(tc-getBUILD_CXX)"
+ export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E"
+
+ # bug #792027
+ tc-export CC
+
+ econf \
+ $(use_enable test tests) \
+ $(use_enable test unittests) \
+ $(use_with curl libcurl) \
+ $(use_with gnuplot gnuplot-call) \
+ $(use_enable !hardened insecure) \
+ $(use_with icu) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libqalculate/libqalculate-5.0.0b.ebuild b/sci-libs/libqalculate/libqalculate-5.0.0b.ebuild
new file mode 100644
index 000000000000..d7ef99549ebe
--- /dev/null
+++ b/sci-libs/libqalculate/libqalculate-5.0.0b.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with sci-calculators/qalculate-gtk and sci-calculators/qalculate-qt
+
+inherit toolchain-funcs
+
+MY_PV="${PV//b/}"
+
+DESCRIPTION="A modern multi-purpose calculator library"
+HOMEPAGE="https://qalculate.github.io/"
+SRC_URI="https://github.com/Qalculate/${PN}/releases/download/v${MY_PV}/${P}.tar.gz"
+S="${WORKDIR}"/"${PN}-${MY_PV}"
+
+LICENSE="GPL-2+"
+# SONAME changes pretty often on bumps. Check!
+SLOT="0/23"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="curl icu gnuplot +hardened readline test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/gmp:=
+ dev-libs/libxml2:2
+ dev-libs/mpfr:=
+ virtual/libiconv
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:= )
+ readline? ( sys-libs/readline:= )"
+RDEPEND="${DEPEND}
+ gnuplot? ( >=sci-visualization/gnuplot-3.7 )"
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+ cat >po/POTFILES.skip <<-EOF || die
+ # 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/prefixes.xml.in
+ data/units.xml.in
+ data/variables.xml.in
+ src/defs2doc.cc
+ EOF
+}
+
+src_configure() {
+ # Needed for po-defs/Makefile
+ export CXX_FOR_BUILD="$(tc-getBUILD_CXX)"
+ export CXXCPP_FOR_BUILD="$(tc-getBUILD_CXX) -E"
+
+ # bug #792027
+ tc-export CC
+
+ econf \
+ $(use_enable test tests) \
+ $(use_enable test unittests) \
+ $(use_with curl libcurl) \
+ $(use_with gnuplot gnuplot-call) \
+ $(use_enable !hardened insecure) \
+ $(use_with icu) \
+ $(use_with readline)
+}
+
+src_install() {
+ # docs/reference/Makefile.am -> referencedir=
+ emake \
+ DESTDIR="${D}" \
+ referencedir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ install
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libqalculate/metadata.xml b/sci-libs/libqalculate/metadata.xml
index 92e29b80e703..1fc5756c8fef 100644
--- a/sci-libs/libqalculate/metadata.xml
+++ b/sci-libs/libqalculate/metadata.xml
@@ -1,12 +1,17 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
+ <use>
+ <flag name="hardened">
+ Disable unsafe functions like 'command' and variables like 'uptime'.
+ </flag>
+ </use>
<upstream>
- <remote-id type="sourceforge">qalculate-0.9.7</remote-id>
+ <remote-id type="sourceforge">qalculate</remote-id>
<remote-id type="github">Qalculate/libqalculate</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/libsc/Manifest b/sci-libs/libsc/Manifest
index b334e463e47c..fdfb64071d01 100644
--- a/sci-libs/libsc/Manifest
+++ b/sci-libs/libsc/Manifest
@@ -1,2 +1,2 @@
-DIST libsc-2.0.tar.gz 296392 BLAKE2B b5e1ca5cf6802ed38c32db5e7a77aec2fc636d88f2562314088dc16d13a0dccd24706276b05f8ddd70bc3769270a378c0089873fb2a21ebc93d6ca2622d7a58e SHA512 e4cfe42a1c1fe17412e1ffb6ebebe1f760861a7fb707a6f8fd01cdebda96b166ee05e7ff034f3b9e30de5e9baa82c9a2cebe93d40772dbd206603321de40559c
-DIST libsc-2.2.tar.gz 311542 BLAKE2B 0879be69208f0964d73cc297a64b158ad88344e876a90dd4bd39c80fc0cf8237f4551cb684dee36e08068fa04644b887ec56230335a9984363055c1248aa6185 SHA512 97953794fdeb985bedb1dc9378f10ed4824446c63762d7813aced3309c2d6b27368c91fecb22587dccdf8b3b42aaaba9e782b739086cf542570360795897ac14
+DIST libsc-2.3.6.tar.gz 346618 BLAKE2B 6da88f1eec572a5d30ebef5e17554874e3d88d124fbbb7582092bd43a85a547f130a5406ffd40f86d564c95a3e600b2eb854ee0378b8e0c2d755a7d45d55ff1e SHA512 9037ebeebcf84d1dc3026172ee3fd3182729fbdbdadb478e8c05670b17bd3e2f3b192bac9a509bd99312c5f944a10fb7eb0636e8c7bd133b30677eb5ead6d117
+DIST libsc-2.8.5.tar.gz 401520 BLAKE2B 28f74c03dc9a6238c254683585e3a6e372718bbf147f1a1bfe051d9a9079491650eca645bb695ce4c36920dda459904be6f9d41fb53163952d9076302072e181 SHA512 d7854a77cb574531d410c978af5768782d6201c730a3248371a822172cb99fe0b2efc8c2e4f495160924fb867ed77ab1b9ac17a1db349d8a6495228698cf970b
diff --git a/sci-libs/libsc/files/libsc-2.3-autoconf_lua_version.patch b/sci-libs/libsc/files/libsc-2.3-autoconf_lua_version.patch
new file mode 100644
index 000000000000..9881d0aa6227
--- /dev/null
+++ b/sci-libs/libsc/files/libsc-2.3-autoconf_lua_version.patch
@@ -0,0 +1,64 @@
+diff --git a/config/sc_include.m4 b/config/sc_include.m4
+index f6f7873..3befe0e 100644
+--- a/config/sc_include.m4
++++ b/config/sc_include.m4
+@@ -281,8 +281,7 @@ AC_DEFUN([SC_CHECK_LIBRARIES],
+ [
+ SC_REQUIRE_LIB([m], [fabs])
+ SC_CHECK_LIB([z], [adler32_combine], [ZLIB], [$1])
+-SC_CHECK_LIB([lua53 lua5.3 lua52 lua5.2 lua51 lua5.1 lua lua5], [lua_createtable],
+- [LUA], [$1])
++SC_CHECK_LIB([$LUA_IMPL], [lua_createtable], [LUA], [$1])
+ SC_CHECK_BLAS_LAPACK([$1])
+ SC_BUILTIN_ALL_PREFIX([$1])
+ SC_CHECK_PTHREAD([$1])
+diff --git a/configure.ac b/configure.ac
+index ce462e0..b291685 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,7 +78,7 @@ echo "o---------------------------------------"
+ AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/select.h sys/stat.h])
+ AC_CHECK_HEADERS([linux/videodev2.h])
+ AC_CHECK_HEADERS([execinfo.h signal.h sys/time.h sys/types.h time.h])
+-AC_CHECK_HEADERS([lua.h lua5.1/lua.h lua5.2/lua.h lua5.3/lua.h])
++AC_CHECK_HEADERS([$LUA_IMPL/lua.h])
+
+ echo "o---------------------------------------"
+ echo "| Checking functions"
+diff --git a/src/sc_lua.h b/src/sc_lua.h
+index 770b52f..a6db175 100644
+--- a/src/sc_lua.h
++++ b/src/sc_lua.h
+@@ -30,29 +30,9 @@
+
+ SC_EXTERN_C_BEGIN;
+
+-#ifdef SC_HAVE_LUA5_3_LUA_H
+-#include <lua5.3/lua.h>
+-#include <lua5.3/lualib.h>
+-#include <lua5.3/lauxlib.h>
+-#else
+-#ifdef SC_HAVE_LUA5_2_LUA_H
+-#include <lua5.2/lua.h>
+-#include <lua5.2/lualib.h>
+-#include <lua5.2/lauxlib.h>
+-#else
+-#ifdef SC_HAVE_LUA5_1_LUA_H
+-#include <lua5.1/lua.h>
+-#include <lua5.1/lualib.h>
+-#include <lua5.1/lauxlib.h>
+-#else
+-#ifdef SC_HAVE_LUA_H
+-#include <lua.h>
+-#include <lualib.h>
+-#include <lauxlib.h>
+-#endif
+-#endif
+-#endif
+-#endif
++#include <@LUA_IMPL@/lua.h>
++#include <@LUA_IMPL@/lualib.h>
++#include <@LUA_IMPL@/lauxlib.h>
+
+ SC_EXTERN_C_END;
+
diff --git a/sci-libs/libsc/files/libsc-2.3.6-override_soname.patch b/sci-libs/libsc/files/libsc-2.3.6-override_soname.patch
new file mode 100644
index 000000000000..54a45294c380
--- /dev/null
+++ b/sci-libs/libsc/files/libsc-2.3.6-override_soname.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 914237c..0bf982a 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -45,7 +45,7 @@ src_libsc_la_SOURCES = \
+ src_libsc_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBSC_CPPFLAGS)
+ ## This is the official API versioning scheme of libtool. Please see:
+ ## Read https://www.gnu.org/software/libtool/manual/libtool.html#Versioning
+-src_libsc_la_LDFLAGS = -version-info 1:0:0
++src_libsc_la_LDFLAGS = -release $(VERSION)
+ LDADD += src/libsc.la
+
+ nodist_include_HEADERS += $(libsc_generated_headers)
diff --git a/sci-libs/libsc/files/libsc-2.8.5-do_not_compile_zlib-ng.patch b/sci-libs/libsc/files/libsc-2.8.5-do_not_compile_zlib-ng.patch
new file mode 100644
index 000000000000..fb0ce0de7dbb
--- /dev/null
+++ b/sci-libs/libsc/files/libsc-2.8.5-do_not_compile_zlib-ng.patch
@@ -0,0 +1,57 @@
+diff --git a/cmake/zlib.cmake b/cmake/zlib.cmake
+index 5ca9f6d..86b9035 100644
+--- a/cmake/zlib.cmake
++++ b/cmake/zlib.cmake
+@@ -1,51 +1,8 @@
+ # build Zlib to ensure compatibility.
+ # We use Zlib 2.x for speed and robustness.
+ include(GNUInstallDirs)
+-include(ExternalProject)
+
+-set(ZLIB_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include)
+-
+-if(BUILD_SHARED_LIBS)
+- if(WIN32)
+- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}zlib1${CMAKE_SHARED_LIBRARY_SUFFIX})
+- else()
+- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}z${CMAKE_SHARED_LIBRARY_SUFFIX})
+- endif()
+-else()
+- if(MSVC)
+- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}zlibstatic${CMAKE_STATIC_LIBRARY_SUFFIX})
+- else()
+- set(ZLIB_LIBRARIES ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}z${CMAKE_STATIC_LIBRARY_SUFFIX})
+- endif()
+-endif()
+-
+-set(zlib_cmake_args
+--DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+--DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+--DCMAKE_BUILD_TYPE=Release
+--DZLIB_COMPAT:BOOL=on
+--DZLIB_ENABLE_TESTS:BOOL=off
+--DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
+--DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
+-)
+-
+-ExternalProject_Add(ZLIB
+-GIT_REPOSITORY https://github.com/zlib-ng/zlib-ng.git
+-GIT_TAG 2.0.6
+-GIT_SHALLOW true
+-CMAKE_ARGS ${zlib_cmake_args}
+-BUILD_BYPRODUCTS ${ZLIB_LIBRARIES}
+-TLS_VERIFY true
+-CONFIGURE_HANDLED_BY_BUILD ON
+-INACTIVITY_TIMEOUT 60
+-)
+-
+-# --- imported target
+-
+-file(MAKE_DIRECTORY ${ZLIB_INCLUDE_DIRS})
+-# avoid race condition
++find_library(ZLIB_LIBRARIES NAMES z-ng)
+
+ add_library(ZLIB::ZLIB INTERFACE IMPORTED GLOBAL)
+-add_dependencies(ZLIB::ZLIB ZLIB) # to avoid include directory race condition
+ target_link_libraries(ZLIB::ZLIB INTERFACE ${ZLIB_LIBRARIES})
+-target_include_directories(ZLIB::ZLIB INTERFACE ${ZLIB_INCLUDE_DIRS})
diff --git a/sci-libs/libsc/files/libsc-2.8.5-fix_build_system.patch b/sci-libs/libsc/files/libsc-2.8.5-fix_build_system.patch
new file mode 100644
index 000000000000..6adfbf31c997
--- /dev/null
+++ b/sci-libs/libsc/files/libsc-2.8.5-fix_build_system.patch
@@ -0,0 +1,25 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 87af1b1..82cb357 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,6 +8,8 @@ HOMEPAGE_URL https://www.p4est.org/
+ DESCRIPTION "The SC library supports parallel scientific applications."
+ VERSION ${PROJECT_VERSION})
+
++set(CMAKE_POSITION_INDEPENDENT_CODE ON)
++
+ enable_testing()
+
+ include(cmake/options.cmake)
+@@ -57,7 +59,10 @@ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ FILES_MATCHING PATTERN "*.h"
+ )
+
+-install(TARGETS sc EXPORT ${PROJECT_NAME}-targets)
++install(TARGETS sc EXPORT ${PROJECT_NAME}-targets
++ARCHIVE DESTINATION ${library_reldir}
++LIBRARY DESTINATION ${library_reldir}
++)
+
+ add_subdirectory(src)
+ add_subdirectory(example)
diff --git a/sci-libs/libsc/files/libsc-2.8.5-fix_cmake_path.patch b/sci-libs/libsc/files/libsc-2.8.5-fix_cmake_path.patch
new file mode 100644
index 000000000000..d36f9151901c
--- /dev/null
+++ b/sci-libs/libsc/files/libsc-2.8.5-fix_cmake_path.patch
@@ -0,0 +1,33 @@
+diff --git a/cmake/install.cmake b/cmake/install.cmake
+index f093fa9..c281f66 100644
+--- a/cmake/install.cmake
++++ b/cmake/install.cmake
+@@ -14,13 +14,13 @@ COMPATIBILITY SameMajorVersion
+
+ install(EXPORT ${PROJECT_NAME}-targets
+ NAMESPACE ${PROJECT_NAME}::
+-DESTINATION cmake
++DESTINATION ${library_reldir}/cmake/SC
+ )
+
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake
+-DESTINATION cmake
++DESTINATION ${library_reldir}/cmake/SC
+ )
+
+ export(EXPORT ${PROJECT_NAME}-targets
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 800937f..9de0cfe 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -75,7 +75,7 @@ endif(BUILD_TESTING)
+
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindSC.cmake
+-DESTINATION cmake)
++DESTINATION ${library_reldir}/cmake/SC)
+
+ include(cmake/pkgconf.cmake)
+ include(cmake/install.cmake)
diff --git a/sci-libs/libsc/files/libsc-2.8.5-set_version.patch b/sci-libs/libsc/files/libsc-2.8.5-set_version.patch
new file mode 100644
index 000000000000..061081a0da9e
--- /dev/null
+++ b/sci-libs/libsc/files/libsc-2.8.5-set_version.patch
@@ -0,0 +1,49 @@
+diff --git a/cmake/git.cmake b/cmake/git.cmake
+index f88e984..f04f52b 100644
+--- a/cmake/git.cmake
++++ b/cmake/git.cmake
+@@ -1,39 +1,5 @@
+-# --- extract version from Git
+-
+-set(PROJECT_MAJOR 0)
+-set(PROJECT_MINOR 0)
+-set(PROJECT_PATCH 0)
+-set(PROJECT_VERSION 0.0.0)
+-find_program(GIT_VERSION_GEN NAMES git-version-gen
+- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH)
+-if(GIT_VERSION_GEN)
+- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball-version
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- RESULT_VARIABLE _err
+- OUTPUT_VARIABLE git_version
+- OUTPUT_STRIP_TRAILING_WHITESPACE)
+-endif()
+-if(_err EQUAL 0)
+- if(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_MINOR "${CMAKE_MATCH_2}")
+- set(PROJECT_PATCH "${CMAKE_MATCH_3}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}.999)
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_MINOR "${CMAKE_MATCH_2}")
+- set(PROJECT_PATCH "${CMAKE_MATCH_3}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH})
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_MINOR "${CMAKE_MATCH_2}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR})
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR})
+- endif()
+-endif()
++set(git_version 2.8.5)
++set(PROJECT_MAJOR 2)
++set(PROJECT_MINOR 8)
++set(PROJECT_PATCH 5)
++set(PROJECT_VERSION 2.8.5)
diff --git a/sci-libs/libsc/files/libsc-2.8.5-use_zlib-ng_symbols.patch b/sci-libs/libsc/files/libsc-2.8.5-use_zlib-ng_symbols.patch
new file mode 100644
index 000000000000..74827050243b
--- /dev/null
+++ b/sci-libs/libsc/files/libsc-2.8.5-use_zlib-ng_symbols.patch
@@ -0,0 +1,135 @@
+diff --git a/src/sc_containers.c b/src/sc_containers.c
+index 47c86d7..b9a1979 100644
+--- a/src/sc_containers.c
++++ b/src/sc_containers.c
+@@ -23,7 +23,7 @@
+
+ #include <sc_containers.h>
+ #ifdef SC_HAVE_ZLIB
+-#include <zlib.h>
++#include <zlib-ng.h>
+ #endif
+
+ /* array routines */
+@@ -636,13 +636,13 @@ sc_array_checksum (sc_array_t * array)
+ unsigned int crc;
+ size_t bytes;
+
+- crc = adler32 (0, Z_NULL, 0);
++ crc = zng_adler32 (0, Z_NULL, 0);
+ if (array->elem_count == 0) {
+ return crc;
+ }
+
+ bytes = array->elem_count * array->elem_size;
+- crc = adler32 (crc, (const Bytef *) array->array, bytes);
++ crc = zng_adler32 (crc, (const Bytef *) array->array, bytes);
+
+ return crc;
+ #else
+diff --git a/src/sc_io.c b/src/sc_io.c
+index a7ed413..bc2df7d 100644
+--- a/src/sc_io.c
++++ b/src/sc_io.c
+@@ -25,7 +25,7 @@
+ #include <sc_puff.h>
+ #include <libb64.h>
+ #ifdef SC_HAVE_ZLIB
+-#include <zlib.h>
++#include <zlib-ng.h>
+ #endif
+
+ #ifndef SC_ENABLE_MPIIO
+@@ -706,7 +706,7 @@ sc_io_encode_zlib (sc_array_t *data, sc_array_t *out,
+ #ifndef SC_HAVE_ZLIB
+ input_compress_bound = sc_io_noncompress_bound (input_size);
+ #else
+- input_compress_bound = compressBound ((uLong) input_size);
++ input_compress_bound = zng_compressBound ((uLong) input_size);
+ #endif /* SC_HAVE_ZLIB */
+ sc_array_init_count (&compressed, 1,
+ SC_IO_ENCODE_INFO_LEN + input_compress_bound);
+@@ -715,9 +715,9 @@ sc_io_encode_zlib (sc_array_t *data, sc_array_t *out,
+ sc_io_noncompress (compressed.array + SC_IO_ENCODE_INFO_LEN,
+ input_compress_bound, data->array, input_size);
+ #else
+- zrv = compress2 ((Bytef *) compressed.array + SC_IO_ENCODE_INFO_LEN,
+- &input_compress_bound, (Bytef *) data->array,
+- (uLong) input_size, zlib_compression_level);
++ zrv = zng_compress2 ((Bytef *) compressed.array + SC_IO_ENCODE_INFO_LEN,
++ &input_compress_bound, (Bytef *) data->array,
++ (uLong) input_size, zlib_compression_level);
+ SC_CHECK_ABORT (zrv == Z_OK, "Error on zlib compression");
+ #endif /* SC_HAVE_ZLIB */
+
+@@ -993,9 +993,9 @@ sc_io_decode (sc_array_t *data, sc_array_t *out,
+ }
+ #else
+ uncompsize = (uLong) encoded_size;
+- zrv = uncompress ((Bytef *) out->array, &uncompsize,
+- (Bytef *) (compressed.array + SC_IO_ENCODE_INFO_LEN),
+- ocnt - SC_IO_ENCODE_INFO_LEN);
++ zrv = zng_uncompress ((Bytef *) out->array, &uncompsize,
++ (Bytef *) (compressed.array + SC_IO_ENCODE_INFO_LEN),
++ ocnt - SC_IO_ENCODE_INFO_LEN);
+ if (zrv != Z_OK) {
+ SC_LERROR ("zlib uncompress error\n");
+ goto decode_error;
+@@ -1120,9 +1120,9 @@ sc_vtk_write_compressed (FILE * vtkfile, char *numeric_data,
+ base64_init_encodestate (&encode_state);
+ for (theblock = 0; theblock < numregularblocks; ++theblock) {
+ comp_length = code_length;
+- retval = compress2 ((Bytef *) comp_data, &comp_length,
+- (const Bytef *) (numeric_data + theblock * blocksize),
+- (uLong) blocksize, Z_BEST_COMPRESSION);
++ retval = zng_compress2 ((Bytef *) comp_data, &comp_length,
++ (const Bytef *) (numeric_data + theblock * blocksize),
++ (uLong) blocksize, Z_BEST_COMPRESSION);
+ SC_CHECK_ZLIB (retval);
+ compression_header[3 + theblock] = comp_length;
+ base_length = base64_encode_block (comp_data, comp_length,
+@@ -1135,9 +1135,9 @@ sc_vtk_write_compressed (FILE * vtkfile, char *numeric_data,
+ /* write odd-sized last block if necessary */
+ if (lastsize > 0) {
+ comp_length = code_length;
+- retval = compress2 ((Bytef *) comp_data, &comp_length,
+- (const Bytef *) (numeric_data + theblock * blocksize),
+- (uLong) lastsize, Z_BEST_COMPRESSION);
++ retval = zng_compress2 ((Bytef *) comp_data, &comp_length,
++ (const Bytef *) (numeric_data + theblock * blocksize),
++ (uLong) lastsize, Z_BEST_COMPRESSION);
+ SC_CHECK_ZLIB (retval);
+ compression_header[3 + theblock] = comp_length;
+ base_length = base64_encode_block (comp_data, comp_length,
+diff --git a/test/test_builtin.c b/test/test_builtin.c
+index 371aff6..9a99c2d 100644
+--- a/test/test_builtin.c
++++ b/test/test_builtin.c
+@@ -27,7 +27,7 @@
+
+ /* truthfully, the libraries below are not builtin anymore */
+ #ifdef SC_HAVE_ZLIB
+-#include <zlib.h>
++#include <zlib-ng.h>
+ #endif
+
+ static int
+@@ -87,13 +87,13 @@ test_zlib (void)
+ char b3[BUFSIZ];
+ uLong adler0, adler1, adler2, adler3a, adler3b;
+
+- adler0 = adler32 (0L, Z_NULL, 0);
+- adler1 = adler32 (adler0, (const Bytef *) b1, l1);
+- adler2 = adler32 (adler0, (const Bytef *) b2, l2);
+- adler3a = adler32_combine (adler1, adler2, l2);
++ adler0 = zng_adler32 (0L, Z_NULL, 0);
++ adler1 = zng_adler32 (adler0, (const Bytef *) b1, l1);
++ adler2 = zng_adler32 (adler0, (const Bytef *) b2, l2);
++ adler3a = zng_adler32_combine (adler1, adler2, l2);
+
+ snprintf (b3, BUFSIZ, "%s%s", b1, b2);
+- adler3b = adler32 (adler0, (const Bytef *) b3, l1 + l2);
++ adler3b = zng_adler32 (adler0, (const Bytef *) b3, l1 + l2);
+
+ return adler3a != adler3b;
+ }
diff --git a/sci-libs/libsc/libsc-2.0.ebuild b/sci-libs/libsc/libsc-2.0.ebuild
deleted file mode 100644
index 229d1ccd05fc..000000000000
--- a/sci-libs/libsc/libsc-2.0.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs eutils
-
-DESCRIPTION="Support for parallel scientific applications"
-HOMEPAGE="http://www.p4est.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="debug examples mpi openmp romio static-libs threads"
-
-REQUIRED_USE="romio? ( mpi )"
-
-RDEPEND="
- dev-lang/lua:*
- sys-apps/util-linux
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[romio?] )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( AUTHORS NEWS README )
-
-AUTOTOOLS_AUTORECONF=true
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != "binary" ]] && use openmp; then
- tc-has-openmp || \
- die "Please select an openmp capable compiler like gcc[openmp]"
- fi
-}
-
-src_prepare() {
- default
-
- # Inject a version number into the build system
- echo "${PV}" > ${S}/.tarball-version
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable mpi)
- $(use_enable openmp openmp)
- $(use_enable romio mpiio)
- $(use_enable static-libs static)
- $(use_enable threads pthread)
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- if use examples; then
- docinto examples
- dodoc -r example/*
- docompress -x /usr/share/doc/${PF}/examples
- else
- # Remove compiled example binaries in case of -examples:
- rm -r "${ED}"/usr/bin || die "rm failed"
- fi
-
- # Remove ac files, bug #619806
- rm -r "${ED}"/usr/share/aclocal || die "rm failed"
-
- # Fix wrong installation paths:
- dodir /usr/share/libsc
- mv "${ED}"/etc/* "${ED}"/usr/share/libsc || die "mv failed"
- rmdir "${ED}"/etc/ || die "rmdir failed"
- mv "${ED}"/usr/share/ini/* "${ED}"/usr/share/libsc || die "mv failed"
- rmdir "${ED}"/usr/share/ini || die "rmdir failed"
-}
diff --git a/sci-libs/libsc/libsc-2.2.ebuild b/sci-libs/libsc/libsc-2.2.ebuild
deleted file mode 100644
index 832e275e91d8..000000000000
--- a/sci-libs/libsc/libsc-2.2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools toolchain-funcs eutils
-
-DESCRIPTION="Support for parallel scientific applications"
-HOMEPAGE="http://www.p4est.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="debug examples mpi openmp romio static-libs threads"
-
-REQUIRED_USE="romio? ( mpi )"
-
-RDEPEND="
- dev-lang/lua:*
- sys-apps/util-linux
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[romio?] )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( AUTHORS NEWS README )
-
-AUTOTOOLS_AUTORECONF=true
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != "binary" ]] && use openmp; then
- tc-has-openmp || \
- die "Please select an openmp capable compiler like gcc[openmp]"
- fi
-}
-
-src_prepare() {
- default
-
- # Inject a version number into the build system
- echo "${PV}" > ${S}/.tarball-version
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable mpi)
- $(use_enable openmp openmp)
- $(use_enable romio mpiio)
- $(use_enable static-libs static)
- $(use_enable threads pthread)
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- if use examples; then
- docinto examples
- dodoc -r example/*
- docompress -x /usr/share/doc/${PF}/examples
- else
- # Remove compiled example binaries in case of -examples:
- rm -r "${ED}"/usr/bin || die "rm failed"
- fi
-
- # Remove ac files, bug #619806
- rm -r "${ED}"/usr/share/aclocal || die "rm failed"
-
- # Fix wrong installation paths:
- dodir /usr/share/libsc
- mv "${ED}"/etc/* "${ED}"/usr/share/libsc || die "mv failed"
- rmdir "${ED}"/etc/ || die "rmdir failed"
- mv "${ED}"/usr/share/ini/* "${ED}"/usr/share/libsc || die "mv failed"
- rmdir "${ED}"/usr/share/ini || die "rmdir failed"
-}
diff --git a/sci-libs/libsc/libsc-2.3.6.ebuild b/sci-libs/libsc/libsc-2.3.6.ebuild
new file mode 100644
index 000000000000..fcea0df228e5
--- /dev/null
+++ b/sci-libs/libsc/libsc-2.3.6.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..3} )
+
+inherit autotools lua-single toolchain-funcs
+
+DESCRIPTION="Support for parallel scientific applications"
+HOMEPAGE="http://www.p4est.org/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+IUSE="debug examples mpi openmp romio threads"
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ romio? ( mpi )"
+
+RDEPEND="
+ ${LUA_DEPS}
+ sys-apps/util-linux
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[romio?] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3-autoconf_lua_version.patch
+ "${FILESDIR}"/${PN}-2.3.6-override_soname.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ sed -i -e "s/@LUA_IMPL@/${ELUA}/" "${S}"/src/sc_lua.h || die
+
+ # Inject a version number into the build system
+ echo "${PV}" > "${S}"/.tarball-version || die
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ $(use_enable debug)
+ $(use_enable mpi)
+ $(use_enable openmp openmp)
+ $(use_enable romio mpiio)
+ $(use_enable threads pthread)
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
+ )
+ econf LUA_IMPL="${ELUA}" "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/*
+ docompress -x /usr/share/doc/${PF}/examples
+ else
+ # Remove compiled example binaries in case of -examples:
+ rm -r "${ED}"/usr/bin || die "rm failed"
+ fi
+
+ # Remove ac files, bug #619806
+ rm -r "${ED}"/usr/share/aclocal || die "rm failed"
+
+ # Fix wrong installation paths:
+ dodir /usr/share/libsc
+ mv "${ED}"/etc/* "${ED}"/usr/share/libsc || die "mv failed"
+ rmdir "${ED}"/etc/ || die "rmdir failed"
+ mv "${ED}"/usr/share/ini/* "${ED}"/usr/share/libsc || die "mv failed"
+ rmdir "${ED}"/usr/share/ini || die "rmdir failed"
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libsc/libsc-2.8.5-r3.ebuild b/sci-libs/libsc/libsc-2.8.5-r3.ebuild
new file mode 100644
index 000000000000..037755f94524
--- /dev/null
+++ b/sci-libs/libsc/libsc-2.8.5-r3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Support for parallel scientific applications"
+HOMEPAGE="http://www.p4est.org/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+IUSE="debug examples mpi openmp threads"
+
+RDEPEND="
+ sys-apps/util-linux
+ sys-libs/zlib-ng
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[romio] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-set_version.patch
+ "${FILESDIR}"/${P}-fix_build_system.patch
+ "${FILESDIR}"/${P}-do_not_compile_zlib-ng.patch
+ "${FILESDIR}"/${P}-use_zlib-ng_symbols.patch
+ "${FILESDIR}"/${P}-fix_cmake_path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ # avoid using debug codepaths that are manually enabled with the
+ # RelWithDebInfo build type
+ local CMAKE_BUILD_TYPE="Release"
+
+ local mycmakeargs=(
+ -Dmpi="$(usex mpi)"
+ -Dopenmp="$(usex openmp)"
+ -Dlibrary_reldir="$(get_libdir)"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ rm -r "${ED}"/usr/include/getopt.h \
+ "${ED}"/usr/include/getopt_int.h \
+ "${ED}"/usr/include/sc_builtin || die "rm failed"
+
+ mv "${ED}"/usr/share/docs/SC/* "${ED}"/usr/share/doc/${PF}/ || die "mv failed"
+ rm -r "${ED}"/usr/share/docs || die "rm failed"
+}
diff --git a/sci-libs/libsc/libsc-9999.ebuild b/sci-libs/libsc/libsc-9999.ebuild
deleted file mode 100644
index 229d1ccd05fc..000000000000
--- a/sci-libs/libsc/libsc-9999.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs eutils
-
-DESCRIPTION="Support for parallel scientific applications"
-HOMEPAGE="http://www.p4est.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="debug examples mpi openmp romio static-libs threads"
-
-REQUIRED_USE="romio? ( mpi )"
-
-RDEPEND="
- dev-lang/lua:*
- sys-apps/util-linux
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[romio?] )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( AUTHORS NEWS README )
-
-AUTOTOOLS_AUTORECONF=true
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != "binary" ]] && use openmp; then
- tc-has-openmp || \
- die "Please select an openmp capable compiler like gcc[openmp]"
- fi
-}
-
-src_prepare() {
- default
-
- # Inject a version number into the build system
- echo "${PV}" > ${S}/.tarball-version
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable mpi)
- $(use_enable openmp openmp)
- $(use_enable romio mpiio)
- $(use_enable static-libs static)
- $(use_enable threads pthread)
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- if use examples; then
- docinto examples
- dodoc -r example/*
- docompress -x /usr/share/doc/${PF}/examples
- else
- # Remove compiled example binaries in case of -examples:
- rm -r "${ED}"/usr/bin || die "rm failed"
- fi
-
- # Remove ac files, bug #619806
- rm -r "${ED}"/usr/share/aclocal || die "rm failed"
-
- # Fix wrong installation paths:
- dodir /usr/share/libsc
- mv "${ED}"/etc/* "${ED}"/usr/share/libsc || die "mv failed"
- rmdir "${ED}"/etc/ || die "rmdir failed"
- mv "${ED}"/usr/share/ini/* "${ED}"/usr/share/libsc || die "mv failed"
- rmdir "${ED}"/usr/share/ini || die "rmdir failed"
-}
diff --git a/sci-libs/libsc/metadata.xml b/sci-libs/libsc/metadata.xml
index 18bfaa1e5479..9267d0132a0b 100644
--- a/sci-libs/libsc/metadata.xml
+++ b/sci-libs/libsc/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
@@ -11,7 +11,7 @@
</maintainer>
<longdescription lang="en">
The SC Library provides support for parallel scientific applications.
-This support library is primarily used by sci-libs/p4est.
+This support library is primarily used by <pkg>sci-libs/p4est</pkg>.
</longdescription>
<use>
<flag name="romio">Build with support for the ROMIO MPI-IO component</flag>
diff --git a/sci-libs/libsemigroups/Manifest b/sci-libs/libsemigroups/Manifest
new file mode 100644
index 000000000000..1f3974c71a46
--- /dev/null
+++ b/sci-libs/libsemigroups/Manifest
@@ -0,0 +1 @@
+DIST libsemigroups-2.7.3.tar.gz 2543883 BLAKE2B 02700cb9f132d7121ce42f978e9a1c01ed9f1957fab0da45c60837240639f7a049d3b7e1f9b989be71de8b85a669b475733aeb0e96760eda846b50db903da895 SHA512 001cfdfc55ee9a0bb3fe0914229905083e8eaaec682952bb23b2dc44680631909478bf32e67e93488a7347bfb674305b0cc3b713afa9bce1997a0b1a5693ad36
diff --git a/sci-libs/libsemigroups/libsemigroups-2.7.3.ebuild b/sci-libs/libsemigroups/libsemigroups-2.7.3.ebuild
new file mode 100644
index 000000000000..04bbfd48d7b9
--- /dev/null
+++ b/sci-libs/libsemigroups/libsemigroups-2.7.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="C++ library for semigroups and monoids"
+HOMEPAGE="https://github.com/libsemigroups/libsemigroups"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+# Source headers have "or any later version"
+LICENSE="GPL-3+"
+SLOT="0/2"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_popcnt"
+
+src_configure() {
+ econf \
+ $(use_enable cpu_flags_x86_popcnt popcnt) \
+ --disable-eigen \
+ --disable-hpcombi \
+ --disable-fmt
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sci-libs/libsemigroups/metadata.xml b/sci-libs/libsemigroups/metadata.xml
new file mode 100644
index 000000000000..77788e074722
--- /dev/null
+++ b/sci-libs/libsemigroups/metadata.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ libsemigroups is a C++14 library containing implementations of
+ several algorithms for computing finite, and finitely presented,
+ semigroups and monoids. Namely:
+
+ * the Froidure-Pin algorithm for computing finite semigroups;
+ * the Todd-Coxeter algorithm for finitely presented semigroups
+ and monoids;
+ * the Knuth-Bendix algorithm for finitely presented semigroups
+ and monoids;
+ * the Schreier-Sims algorithm for permutation groups;
+ * a preliminary implementation of the Konieczny and Lallement-
+ McFadden algorithm for computing finite semigroups which act
+ on sets;
+ * an implementation of the Radoszewski-Rytter algorithm for
+ testing equivalence of words in free bands;
+ * an implementation of the algorithm for solving the word problem
+ for small overlap monoids, and for computing normal forms in
+ such monoids;
+ * a version of Sims low index subgroup algorithm for computing
+ one-sided congruences of a semigroup or monoid;
+ * a version of Stephen's procedure for finitely presented
+ semigroups and monoids (for a given word w this procedure
+ is for determining words equivalent to w or that are left
+ divisors of w).
+ </longdescription>
+ <upstream>
+ <remote-id type="github">libsemigroups/libsemigroups</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/libsigrok/Manifest b/sci-libs/libsigrok/Manifest
index a25f3c7b87d3..c98a79f59391 100644
--- a/sci-libs/libsigrok/Manifest
+++ b/sci-libs/libsigrok/Manifest
@@ -1,2 +1 @@
-DIST libsigrok-0.3.0.tar.gz 924503 BLAKE2B 132cc952b7314e11034100973f1086d17515fb7b1eb3792506569211fe05e9f35b113fceaff7c0468ad9be0bbcac0251ae63ae856f1393c51e743983e60886df SHA512 b94e8a8da1346f9ab267fd693975411243f2cb016e48ec05f4ad88a8a1dfe5ed6f5ad4ac4bf0e94dc551dc92cd70d2719983e21abaa4811693fb28a27bf74550
DIST libsigrok-0.5.2.tar.gz 1779465 BLAKE2B fc6fdde1054e9ac50bc42249c34b3dbfff1e89d77f0db5a8762e52fcf2ea5ea69b2defcf1cde4ed7b1edd1e21770002ed661a470c8d666904daa48a84a2bbfc5 SHA512 cf673dad6280302d69050c29490621f66c6d6a73932d019a53ec3501316d3f2e23e7667a04f866dbe6ed73f86a63de73d2173e2b6cea563631d705e06f887092
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
deleted file mode 100644
index 16e13349360c..000000000000
--- a/sci-libs/libsigrok/files/libsigrok-0.3.0-configure-flags.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-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
deleted file mode 100644
index f638c47b196e..000000000000
--- a/sci-libs/libsigrok/files/libsigrok-0.3.0-no-check-linkage.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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/files/libsigrok-0.5.2-check-0.15.patch b/sci-libs/libsigrok/files/libsigrok-0.5.2-check-0.15.patch
new file mode 100644
index 000000000000..8099dcc6c49d
--- /dev/null
+++ b/sci-libs/libsigrok/files/libsigrok-0.5.2-check-0.15.patch
@@ -0,0 +1,26 @@
+From 505a55f7899ee2eb41418e753a1290252202ecd3 Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jslaby@suse.cz>
+Date: Tue, 15 Sep 2020 08:50:48 +0200
+Subject: [PATCH] tests: strutil, use ck_assert
+
+We pass no message, so use ck_assert instead of ck_assert_msg. This
+results in an error with check 0.15:
+tests/strutil.c:157:2: error: too few arguments to function '_ck_assert_failed'
+ 157 | ck_assert_msg(saved_locale != NULL);
+---
+ tests/strutil.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/strutil.c b/tests/strutil.c
+index fca70eaae..ec2233329 100644
+--- a/tests/strutil.c
++++ b/tests/strutil.c
+@@ -154,7 +154,7 @@ START_TEST(test_locale)
+ fprintf(stderr, "Old locale = %s\n", old_locale);
+ /* Copy the name so it won’t be clobbered by setlocale. */
+ saved_locale = g_strdup(old_locale);
+- ck_assert_msg(saved_locale != NULL);
++ ck_assert(saved_locale != NULL);
+
+ #ifdef _WIN32
+ /*
diff --git a/sci-libs/libsigrok/files/libsigrok-0.5.2-ruby-swig-docs.patch b/sci-libs/libsigrok/files/libsigrok-0.5.2-ruby-swig-docs.patch
deleted file mode 100644
index 808227a2fffb..000000000000
--- a/sci-libs/libsigrok/files/libsigrok-0.5.2-ruby-swig-docs.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From bae9308ec157378bd22ce4f4a0226f1e7ef23594 Mon Sep 17 00:00:00 2001
-From: Anatol Pomozov <anatol.pomozov@gmail.com>
-Date: Mon, 8 Jun 2020 20:46:44 -0700
-Subject: [PATCH] Fix ruby SWIG bindings generation
-
-bindings/swig/doc.py generates a swig interface file for ruby bindings
-that includes docstrings with comments braces ( /* and */ ) like this:
-
- %feature("docstring") sigrok::Channel::type "/* Type of this channel. */\n";
- %feature("docstring") sigrok::Channel::enabled "/* Enabled status of this channel. */\n";
-
-SWIG generates *.cxx and adds its own braces to the docstring:
-
-/*/* Document-class: Sigrok::Error
-Exception thrown when an error code is returned by any libsigrok call. */
-*/
-
-this causes compilation error for Ruby bindings.
-
-To fix the error we should not add extra braces to the docstring.
-With this patch libsigrok compiles fine with with ruby 2.7 and swig 4.0.2.
-
-Fixes bug #1526
-
-Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
----
- bindings/swig/doc.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/bindings/swig/doc.py b/bindings/swig/doc.py
-index e8767af8..182f5477 100644
---- a/bindings/swig/doc.py
-+++ b/bindings/swig/doc.py
-@@ -46,7 +46,7 @@ for compound in index.findall('compound'):
- if language == 'python':
- print('%%feature("docstring") %s "%s";' % (class_name, brief))
- elif language == 'ruby':
-- print('%%feature("docstring") %s "/* Document-class: %s\\n%s */\\n";' % (class_name, class_name.replace("sigrok", "Sigrok", 1), brief))
-+ print('%%feature("docstring") %s "Document-class: %s\\n%s\\n";' % (class_name, class_name.replace("sigrok", "Sigrok", 1), brief))
- elif language == 'java':
- print('%%typemap(javaclassmodifiers) %s "/** %s */\npublic class"' % (
- class_name, brief))
-@@ -77,10 +77,10 @@ for compound in index.findall('compound'):
- for name, desc in parameters.items()]) + '";')
- if language == 'ruby' and kind == 'public-func':
- print(str.join('\n', [
-- '%%feature("docstring") %s::%s "/* %s' % (
-+ '%%feature("docstring") %s::%s "%s' % (
- class_name, member_name, brief)] + [
- '@param %s %s' % (name, desc)
-- for name, desc in parameters.items()]) + ' */\\n";')
-+ for name, desc in parameters.items()]) + '\\n";')
- elif language == 'java' and kind == 'public-func':
- print(str.join('\n', [
- '%%javamethodmodifiers %s::%s "/** %s' % (
-@@ -111,4 +111,4 @@ for compound in index.findall('compound'):
- print('%}')
- elif language == 'ruby' and constants:
- for member_name, brief in constants:
-- print('%%feature("docstring") %s::%s "/* %s */\\n";' % (class_name, member_name, brief))
-+ print('%%feature("docstring") %s::%s "%s\\n";' % (class_name, member_name, brief))
---
-2.27.0
diff --git a/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch b/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch
new file mode 100644
index 000000000000..6513491270cf
--- /dev/null
+++ b/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/878395
+--- a/bindings/cxx/enums.py
++++ b/bindings/cxx/enums.py
+@@ -73,6 +73,8 @@
+ code = open(os.path.join(outdirname, 'cxx/enums.cpp'), 'w')
+ swig = open(os.path.join(outdirname, 'swig/enums.i'), 'w')
+
++print('%include "attribute.i" \n', file=swig)
++
+ for file in (header, code):
+ print("/* Generated file - edit enums.py instead! */", file=file)
diff --git a/sci-libs/libsigrok/libsigrok-0.3.0.ebuild b/sci-libs/libsigrok/libsigrok-0.3.0.ebuild
deleted file mode 100644
index 3c1c6c14e61a..000000000000
--- a/sci-libs/libsigrok/libsigrok-0.3.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils autotools ltprune
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="git://sigrok.org/${PN}"
- inherit git-r3 autotools
-else
- SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-DESCRIPTION="basic hardware drivers for logic analyzers and input/output file format support"
-HOMEPAGE="https://sigrok.org/wiki/Libsigrok"
-
-LICENSE="GPL-3"
-SLOT="0/2"
-IUSE="ftdi serial static-libs test usb"
-RESTRICT="!test? ( test )"
-
-# 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-0.1.0[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-0.5.2-r3.ebuild b/sci-libs/libsigrok/libsigrok-0.5.2-r3.ebuild
new file mode 100644
index 000000000000..53a03db1cb71
--- /dev/null
+++ b/sci-libs/libsigrok/libsigrok-0.5.2-r3.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit autotools python-r1 java-pkg-opt-2 udev xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-r3
+else
+ SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~x86"
+fi
+
+DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file format support"
+HOMEPAGE="https://sigrok.org/wiki/Libsigrok"
+
+LICENSE="GPL-3"
+SLOT="0/4"
+IUSE="bluetooth +cxx ftdi hidapi java parport python serial static-libs test +udev usb"
+REQUIRED_USE="java? ( cxx )
+ python? ( cxx ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+# 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(+)]
+ bluetooth? ( >=net-wireless/bluez-4.0:= )
+ cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
+ ftdi? ( dev-embedded/libftdi:1[static-libs(+)] )
+ hidapi? ( >=dev-libs/hidapi-0.8.0 )
+ parport? ( sys-libs/libieee1284[static-libs(+)] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}]
+ )
+ serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] )
+ usb? ( virtual/libusb:1[static-libs(+)] )
+"
+RDEPEND="
+ java? ( >=virtual/jre-1.8:* )
+ !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ static-libs? ( ${LIB_DEPEND} )
+"
+DEPEND="${LIB_DEPEND//\[static-libs(+)]}
+ cxx? ( app-text/doxygen )
+ java? (
+ >=dev-lang/swig-3.0.6
+ >=virtual/jdk-1.8:*
+ )
+ python? (
+ >=dev-lang/swig-3.0.6
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+ test? ( >=dev-libs/check-0.9.4 )
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}"/${P}
+
+PATCHES=(
+ # https://sigrok.org/bugzilla/show_bug.cgi?id=1527
+ "${FILESDIR}/${P}-swig-4.patch"
+ # https://sigrok.org/bugzilla/show_bug.cgi?id=1526
+ "${FILESDIR}/${P}-check-0.15.patch"
+)
+
+pkg_setup() {
+ use python && python_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack || default
+}
+
+sigrok_src_prepare() {
+ eautoreconf
+}
+
+src_prepare() {
+ default
+ sigrok_src_prepare
+ use python && python_copy_sources
+}
+
+sigrok_src_configure() {
+ econf \
+ $(use_with bluetooth libbluez) \
+ $(use_with ftdi libftdi) \
+ $(use_with hidapi libhidapi) \
+ $(use_with parport libieee1284) \
+ $(use_with serial libserialport) \
+ $(use_with usb libusb) \
+ $(use_enable cxx) \
+ $(use_enable java) \
+ $(use_enable static-libs static) \
+ "${@}"
+}
+
+each_python_configure() {
+ cd "${BUILD_DIR}"
+ sigrok_src_configure --disable-ruby --enable-python
+}
+
+src_configure() {
+ sigrok_src_configure --disable-ruby --disable-python
+ use python && python_foreach_impl each_python_configure
+}
+
+each_python_compile() {
+ cd "${BUILD_DIR}"
+ emake python-build
+}
+
+src_compile() {
+ default
+ use python && python_foreach_impl each_python_compile
+}
+
+src_test() {
+ emake check
+}
+
+each_python_install() {
+ cd "${BUILD_DIR}"
+ emake python-install DESTDIR="${D}"
+ python_optimize
+}
+
+src_install() {
+ default
+ use python && python_foreach_impl each_python_install
+ use udev && udev_dorules contrib/*.rules
+ find "${D}" -name '*.la' -type f -delete || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ udev_reload
+}
diff --git a/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild
new file mode 100644
index 000000000000..6c0b94824276
--- /dev/null
+++ b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit autotools python-r1 java-pkg-opt-2 udev xdg-utils
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-r3
+else
+ SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file format support"
+HOMEPAGE="https://sigrok.org/wiki/Libsigrok"
+
+LICENSE="GPL-3"
+SLOT="0/4"
+IUSE="bluetooth +cxx ftdi hidapi java parport python serial static-libs test +udev usb"
+REQUIRED_USE="java? ( cxx )
+ python? ( cxx ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+# 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(+)]
+ bluetooth? ( >=net-wireless/bluez-4.0:= )
+ cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
+ ftdi? ( dev-embedded/libftdi:1[static-libs(+)] )
+ hidapi? ( >=dev-libs/hidapi-0.8.0 )
+ parport? ( sys-libs/libieee1284[static-libs(+)] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}]
+ )
+ serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] )
+ usb? ( virtual/libusb:1[static-libs(+)] )
+"
+RDEPEND="
+ java? ( >=virtual/jre-1.8:* )
+ !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ static-libs? ( ${LIB_DEPEND} )
+"
+DEPEND="${LIB_DEPEND//\[static-libs(+)]}
+ cxx? ( app-text/doxygen )
+ java? (
+ >=dev-lang/swig-3.0.6
+ >=virtual/jdk-1.8:*
+ )
+ python? (
+ >=dev-lang/swig-3.0.6
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+ test? ( >=dev-libs/check-0.9.4 )
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}"/${P}
+
+PATCHES=(
+ # https://sigrok.org/bugzilla/show_bug.cgi?id=1527
+ "${FILESDIR}/${P}-swig-4.patch"
+ # https://sigrok.org/bugzilla/show_bug.cgi?id=1526
+ "${FILESDIR}/${P}-check-0.15.patch"
+ # https://bugs.gentoo.org/878395
+ "${FILESDIR}/${PN}-0.5.2-swig-4.1.patch"
+)
+
+pkg_setup() {
+ use python && python_setup
+ java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack || default
+}
+
+sigrok_src_prepare() {
+ eautoreconf
+}
+
+src_prepare() {
+ default
+ sigrok_src_prepare
+ use python && python_copy_sources
+}
+
+sigrok_src_configure() {
+ econf \
+ $(use_with bluetooth libbluez) \
+ $(use_with ftdi libftdi) \
+ $(use_with hidapi libhidapi) \
+ $(use_with parport libieee1284) \
+ $(use_with serial libserialport) \
+ $(use_with usb libusb) \
+ $(use_enable cxx) \
+ $(use_enable java) \
+ $(use_enable static-libs static) \
+ "${@}"
+}
+
+each_python_configure() {
+ cd "${BUILD_DIR}"
+ sigrok_src_configure --disable-ruby --enable-python
+}
+
+src_configure() {
+ sigrok_src_configure --disable-ruby --disable-python
+ use python && python_foreach_impl each_python_configure
+}
+
+each_python_compile() {
+ cd "${BUILD_DIR}"
+ emake python-build
+}
+
+src_compile() {
+ default
+ use python && python_foreach_impl each_python_compile
+}
+
+src_test() {
+ emake check
+}
+
+each_python_install() {
+ cd "${BUILD_DIR}"
+ emake python-install DESTDIR="${D}"
+ python_optimize
+}
+
+src_install() {
+ default
+ use python && python_foreach_impl each_python_install
+ use udev && udev_dorules contrib/*.rules
+ find "${D}" -name '*.la' -type f -delete || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ udev_reload
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ udev_reload
+}
diff --git a/sci-libs/libsigrok/libsigrok-0.5.2.ebuild b/sci-libs/libsigrok/libsigrok-0.5.2.ebuild
deleted file mode 100644
index 7ee8b26cb480..000000000000
--- a/sci-libs/libsigrok/libsigrok-0.5.2.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-USE_RUBY="ruby26 ruby25"
-RUBY_OPTIONAL="yes"
-
-inherit python-r1 java-pkg-opt-2 ruby-ng udev xdg-utils
-
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="git://sigrok.org/${PN}"
- inherit git-r3 autotools
-else
- SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-
-DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file format support"
-HOMEPAGE="https://sigrok.org/wiki/Libsigrok"
-
-LICENSE="GPL-3"
-SLOT="0/4"
-IUSE="+cxx ftdi java parport python ruby serial static-libs test +udev usb"
-REQUIRED_USE="java? ( cxx )
- python? ( cxx ${PYTHON_REQUIRED_USE} )
- ruby? ( cxx || ( $(ruby_get_use_targets) ) )"
-
-RESTRICT="!test? ( test )"
-
-# 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(+)]
- cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
- ftdi? ( >=dev-embedded/libftdi-0.16:=[static-libs(+)] )
- parport? ( sys-libs/libieee1284[static-libs(+)] )
- python? (
- ${PYTHON_DEPS}
- >=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}]
- )
- ruby? ( $(ruby_implementations_depend) )
- serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] )
- usb? ( virtual/libusb:1[static-libs(+)] )
-"
-RDEPEND="
- java? ( >=virtual/jre-1.4 )
- !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
- static-libs? ( ${LIB_DEPEND} )
-"
-DEPEND="${LIB_DEPEND//\[static-libs(+)]}
- cxx? ( app-doc/doxygen )
- java? (
- >=dev-lang/swig-3.0.6
- >=virtual/jdk-1.4
- )
- python? (
- >=dev-lang/swig-3.0.6
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
- ruby? ( >=dev-lang/swig-3.0.8 )
- test? ( >=dev-libs/check-0.9.4 )
- virtual/pkgconfig
-"
-
-S="${WORKDIR}"/${P}
-
-PATCHES=(
- # https://sigrok.org/bugzilla/show_bug.cgi?id=1527
- "${FILESDIR}/${P}-swig-4.patch"
- # https://sigrok.org/bugzilla/show_bug.cgi?id=1526
- "${FILESDIR}/${P}-ruby-swig-docs.patch" # bug 705074
-)
-
-pkg_setup() {
- use python && python_setup
- use ruby && ruby-ng_pkg_setup
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- [[ ${PV} == *9999* ]] && git-r3_src_unpack || default
-}
-
-sigrok_src_prepare() {
- [[ ${PV} == *9999* ]] && eautoreconf
-}
-
-each_ruby_prepare() {
- sigrok_src_prepare
-}
-
-src_prepare() {
- if use ruby; then
- cp -rl "${S}" "${WORKDIR}"/all || die
- ruby-ng_src_prepare
- fi
- default
- sigrok_src_prepare
- use python && python_copy_sources
-}
-
-sigrok_src_configure() {
- econf \
- $(use_with ftdi libftdi) \
- $(use_with parport libieee1284) \
- $(use_with serial libserialport) \
- $(use_with usb libusb) \
- $(use_enable cxx) \
- $(use_enable java) \
- $(use_enable static-libs static) \
- "${@}"
-}
-
-each_ruby_configure() {
- RUBY="${RUBY}" sigrok_src_configure --enable-ruby --disable-python
-}
-
-each_python_configure() {
- cd "${BUILD_DIR}"
- sigrok_src_configure --disable-ruby --enable-python
-}
-
-src_configure() {
- sigrok_src_configure --disable-ruby --disable-python
- use ruby && ruby-ng_src_configure
- use python && python_foreach_impl each_python_configure
-}
-
-each_ruby_compile() {
- emake ruby-build
-}
-
-each_python_compile() {
- cd "${BUILD_DIR}"
- emake python-build
-}
-
-src_compile() {
- default
- use ruby && ruby-ng_src_compile
- use python && python_foreach_impl each_python_compile
-}
-
-src_test() {
- emake check
-}
-
-each_ruby_install() {
- emake ruby-install DESTDIR="${D}"
-}
-
-each_python_install() {
- cd "${BUILD_DIR}"
- emake python-install DESTDIR="${D}"
- python_optimize
-}
-
-src_install() {
- default
- use python && python_foreach_impl each_python_install
- use ruby && ruby-ng_src_install
- use udev && udev_dorules contrib/*.rules
- find "${D}" -name '*.la' -type f -delete || die
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/sci-libs/libsigrok/libsigrok-9999.ebuild b/sci-libs/libsigrok/libsigrok-9999.ebuild
index 1449357471e6..f2bb661e3a94 100644
--- a/sci-libs/libsigrok/libsigrok-9999.ebuild
+++ b/sci-libs/libsigrok/libsigrok-9999.ebuild
@@ -1,13 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="8"
-PYTHON_COMPAT=( python3_{6,7,8} )
-USE_RUBY="ruby26 ruby25"
-RUBY_OPTIONAL="yes"
+PYTHON_COMPAT=( python3_{9..11} )
-inherit python-r1 java-pkg-opt-2 ruby-ng udev xdg-utils
+inherit python-r1 java-pkg-opt-2 udev xdg-utils
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
@@ -22,10 +20,9 @@ HOMEPAGE="https://sigrok.org/wiki/Libsigrok"
LICENSE="GPL-3"
SLOT="0/9999"
-IUSE="+cxx ftdi java parport python ruby serial static-libs test +udev usb"
+IUSE="bluetooth +cxx ftdi hidapi java nettle parport python serial static-libs test +udev usb"
REQUIRED_USE="java? ( cxx )
- python? ( cxx ${PYTHON_REQUIRED_USE} )
- ruby? ( cxx || ( $(ruby_get_use_targets) ) )"
+ python? ( cxx ${PYTHON_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
@@ -33,34 +30,35 @@ RESTRICT="!test? ( test )"
LIB_DEPEND="
>=dev-libs/glib-2.32.0[static-libs(+)]
>=dev-libs/libzip-0.8:=[static-libs(+)]
+ bluetooth? ( >=net-wireless/bluez-4.0:= )
cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
- ftdi? ( >=dev-embedded/libftdi-0.16:=[static-libs(+)] )
+ ftdi? ( dev-embedded/libftdi:1[static-libs(+)] )
+ hidapi? ( >=dev-libs/hidapi-0.8.0 )
+ nettle? ( dev-libs/nettle:=[static-libs(+)] )
parport? ( sys-libs/libieee1284[static-libs(+)] )
python? (
${PYTHON_DEPS}
>=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}]
)
- ruby? ( $(ruby_implementations_depend) )
serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] )
usb? ( virtual/libusb:1[static-libs(+)] )
"
RDEPEND="
- java? ( >=virtual/jre-1.4 )
+ java? ( >=virtual/jre-1.8:* )
!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
static-libs? ( ${LIB_DEPEND} )
"
DEPEND="${LIB_DEPEND//\[static-libs(+)]}
- cxx? ( app-doc/doxygen )
+ cxx? ( app-text/doxygen )
java? (
>=dev-lang/swig-3.0.6
- >=virtual/jdk-1.4
+ >=virtual/jdk-1.8:*
)
python? (
>=dev-lang/swig-3.0.6
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
)
- ruby? ( >=dev-lang/swig-3.0.8 )
test? ( >=dev-libs/check-0.9.4 )
virtual/pkgconfig
"
@@ -69,7 +67,6 @@ S="${WORKDIR}"/${P}
pkg_setup() {
use python && python_setup
- use ruby && ruby-ng_pkg_setup
java-pkg-opt-2_pkg_setup
}
@@ -81,15 +78,7 @@ sigrok_src_prepare() {
[[ ${PV} == *9999* ]] && eautoreconf
}
-each_ruby_prepare() {
- sigrok_src_prepare
-}
-
src_prepare() {
- if use ruby; then
- cp -rl "${S}" "${WORKDIR}"/all || die
- ruby-ng_src_prepare
- fi
default
sigrok_src_prepare
use python && python_copy_sources
@@ -97,7 +86,10 @@ src_prepare() {
sigrok_src_configure() {
econf \
+ $(use_with bluetooth libbluez) \
$(use_with ftdi libftdi) \
+ $(use_with hidapi libhidapi) \
+ $(use_with nettle libnettle) \
$(use_with parport libieee1284) \
$(use_with serial libserialport) \
$(use_with usb libusb) \
@@ -107,10 +99,6 @@ sigrok_src_configure() {
"${@}"
}
-each_ruby_configure() {
- RUBY="${RUBY}" sigrok_src_configure --enable-ruby --disable-python
-}
-
each_python_configure() {
cd "${BUILD_DIR}"
sigrok_src_configure --disable-ruby --enable-python
@@ -118,14 +106,9 @@ each_python_configure() {
src_configure() {
sigrok_src_configure --disable-ruby --disable-python
- use ruby && ruby-ng_src_configure
use python && python_foreach_impl each_python_configure
}
-each_ruby_compile() {
- emake ruby-build
-}
-
each_python_compile() {
cd "${BUILD_DIR}"
emake python-build
@@ -133,7 +116,6 @@ each_python_compile() {
src_compile() {
default
- use ruby && ruby-ng_src_compile
use python && python_foreach_impl each_python_compile
}
@@ -141,10 +123,6 @@ src_test() {
emake check
}
-each_ruby_install() {
- emake ruby-install DESTDIR="${D}"
-}
-
each_python_install() {
cd "${BUILD_DIR}"
emake python-install DESTDIR="${D}"
@@ -154,7 +132,6 @@ each_python_install() {
src_install() {
default
use python && python_foreach_impl each_python_install
- use ruby && ruby-ng_src_install
use udev && udev_dorules contrib/*.rules
find "${D}" -name '*.la' -type f -delete || die
}
@@ -162,9 +139,11 @@ src_install() {
pkg_postinst() {
xdg_icon_cache_update
xdg_mimeinfo_database_update
+ udev_reload
}
pkg_postrm() {
xdg_icon_cache_update
xdg_mimeinfo_database_update
+ udev_reload
}
diff --git a/sci-libs/libsigrok/metadata.xml b/sci-libs/libsigrok/metadata.xml
index 60598929d67c..d9f21398e7c8 100644
--- a/sci-libs/libsigrok/metadata.xml
+++ b/sci-libs/libsigrok/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>embedded@gentoo.org</email>
@@ -11,7 +11,9 @@
as well as input/output file format support.
</longdescription>
<use>
- <flag name="ftdi">Enable drivers that need libftdi</flag>
+ <flag name="ftdi">Enable drivers that need <pkg>dev-embedded/libftdi</pkg></flag>
+ <flag name="hidapi">Enable drivers that need <pkg>dev-libs/hidapi</pkg></flag>
+ <flag name="nettle">Enable drivers that need <pkg>dev-libs/nettle</pkg></flag>
<flag name="parport">Enable drivers that are parallel (IEEE1284) based</flag>
<flag name="serial">Enable drivers that are serial (RS232) based</flag>
</use>
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-0.5.3-r2.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-0.5.3-r2.ebuild
new file mode 100644
index 000000000000..617e1edb0d21
--- /dev/null
+++ b/sci-libs/libsigrokdecode/libsigrokdecode-0.5.3-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools python-single-r1
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-r3
+else
+ SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Provide (streaming) protocol decoding functionality"
+HOMEPAGE="https://sigrok.org/wiki/Libsigrokdecode"
+
+LICENSE="GPL-3"
+SLOT="0/4"
+IUSE="static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/glib-2.34.0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+
+ # bug #794592
+ sed -i -e "s/\[SRD_PKGLIBS\],\$/& [python-${EPYTHON#python}-embed], [python-${EPYTHON#python}],/" configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static) PYTHON3="${PYTHON}"
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+ python_optimize "${D}"/usr/share/libsigrokdecode/decoders
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-0.5.3.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-0.5.3.ebuild
deleted file mode 100644
index fe9dbe023f88..000000000000
--- a/sci-libs/libsigrokdecode/libsigrokdecode-0.5.3.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit python-single-r1
-
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="git://sigrok.org/${PN}"
- inherit git-r3 autotools
-else
- SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="Provide (streaming) protocol decoding functionality"
-HOMEPAGE="https://sigrok.org/wiki/Libsigrokdecode"
-
-LICENSE="GPL-3"
-SLOT="0/4"
-IUSE="static-libs"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-libs/glib-2.34.0
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- [[ ${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
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild b/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
index 4ab1fd8f07d5..8f04c30aebba 100644
--- a/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
+++ b/sci-libs/libsigrokdecode/libsigrokdecode-9999.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI="8"
-PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit python-single-r1
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools python-single-r1
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
- inherit git-r3 autotools
+ inherit git-r3
else
SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
@@ -32,17 +32,15 @@ BDEPEND="
src_prepare() {
default
- [[ ${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
+ # bug #794592
+ sed -i -e "s/\[SRD_PKGLIBS\],\$/& [python-${EPYTHON#python}-embed], [python-${EPYTHON#python}],/" configure.ac || die
+
+ eautoreconf
}
src_configure() {
- econf $(use_enable static-libs static)
+ econf $(use_enable static-libs static) PYTHON3="${PYTHON}"
}
src_test() {
@@ -51,5 +49,6 @@ src_test() {
src_install() {
default
+ python_optimize "${D}"/usr/share/libsigrokdecode/decoders
find "${D}" -name '*.la' -type f -delete || die
}
diff --git a/sci-libs/libsigrokdecode/metadata.xml b/sci-libs/libsigrokdecode/metadata.xml
index 71b1461e1146..98ae10b3c34a 100644
--- a/sci-libs/libsigrokdecode/metadata.xml
+++ b/sci-libs/libsigrokdecode/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>embedded@gentoo.org</email>
diff --git a/sci-libs/libspatialindex/Manifest b/sci-libs/libspatialindex/Manifest
index 48a85c3a79ce..d830821da52e 100644
--- a/sci-libs/libspatialindex/Manifest
+++ b/sci-libs/libspatialindex/Manifest
@@ -1,2 +1 @@
-DIST spatialindex-src-1.8.5.tar.bz2 407871 BLAKE2B 936d0fc4950b4c685088c84019aa22e720371c623bd1883725dc497380e90072333c25f979e13fbc91b7d164b87cb21a285c037bdbe0b8df84eb3876590e8dd1 SHA512 d3e47982cc2809d04490fae27796b31cdb59675790010d8b45e1a98b5a23048a4a44e321a2470dd36c01aba6f6e7620cafc4988a02b55e4f59d1b7fa9b588b06
DIST spatialindex-src-1.9.3.tar.bz2 520817 BLAKE2B 89bbb4ef76f620042cbaa2822daad1459bb8a3801fcdedaa73fdc666efcae0e5329e15e79607e3a31ef9a651fbbf9d3657f5bada19b229eaf37fe232935b8dae SHA512 7922807a2f7026542a014d3d7943da5410429b291cf469267ffea5b8075eab2a94e68b6c013425615d221b930fd319c403f3bf43404c9b1d2c92d0e2baae3066
diff --git a/sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch b/sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch
deleted file mode 100644
index 446452dc9ef1..000000000000
--- a/sci-libs/libspatialindex/files/libspatialindex-1.8.1-QA.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- 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.9.3-use-system-gtest.patch b/sci-libs/libspatialindex/files/libspatialindex-1.9.3-use-system-gtest.patch
new file mode 100644
index 000000000000..996fc9b96921
--- /dev/null
+++ b/sci-libs/libspatialindex/files/libspatialindex-1.9.3-use-system-gtest.patch
@@ -0,0 +1,12 @@
+diff --git a/test/gtest/CMakeLists.txt b/test/gtest/CMakeLists.txt
+--- a/test/gtest/CMakeLists.txt (revision 5a08124d541319d39886710afc1d61dfff5575a1)
++++ b/test/gtest/CMakeLists.txt (date 1615011059253)
+@@ -1,8 +1,5 @@
+ set (GOOGLETEST_VERSION "1.10.0")
+
+-add_subdirectory(gtest-1.10.0)
+-include_directories(./gtest-1.10.0/include)
+-
+ set (SOURCES
+ test.h
+ sidx_api_test.h
diff --git a/sci-libs/libspatialindex/libspatialindex-1.8.5-r1.ebuild b/sci-libs/libspatialindex/libspatialindex-1.8.5-r1.ebuild
deleted file mode 100644
index 2e959536740f..000000000000
--- a/sci-libs/libspatialindex/libspatialindex-1.8.5-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils ltprune
-
-MY_PN="spatialindex-src"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="General framework for developing spatial indices"
-HOMEPAGE="https://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}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.8.1-QA.patch
-)
-
-src_prepare() {
- default
- 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.9.3-r2.ebuild b/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild
new file mode 100644
index 000000000000..11ffc49a6b58
--- /dev/null
+++ b/sci-libs/libspatialindex/libspatialindex-1.9.3-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P="spatialindex-src-${PV}"
+
+DESCRIPTION="C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API"
+HOMEPAGE="https://libspatialindex.org/
+ https://github.com/libspatialindex/libspatialindex"
+SRC_URI="https://github.com/libspatialindex/${PN}/releases/download/${PV}/${MY_P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0/6"
+KEYWORDS="amd64 arm64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=""
+DEPEND="test? ( >=dev-cpp/gtest-1.10.0 )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-compiler-flags.patch
+ "${FILESDIR}"/${P}-use-system-gtest.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e 's/CMAKE_CXX_STANDARD 11/CMAKE_CXX_STANDARD 14/' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIDX_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/libspatialindex/libspatialindex-1.9.3.ebuild b/sci-libs/libspatialindex/libspatialindex-1.9.3.ebuild
deleted file mode 100644
index b923ee62d39f..000000000000
--- a/sci-libs/libspatialindex/libspatialindex-1.9.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-MY_P="spatialindex-src-${PV}"
-
-DESCRIPTION="C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API"
-HOMEPAGE="https://libspatialindex.org/
- https://github.com/libspatialindex/libspatialindex"
-SRC_URI="https://github.com/libspatialindex/${PN}/releases/download/${PV}/${MY_P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0/6"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.9.3-respect-compiler-flags.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DSIDX_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/sci-libs/libspatialindex/metadata.xml b/sci-libs/libspatialindex/metadata.xml
index 1e4ffa79ebdb..c1730d14653d 100644
--- a/sci-libs/libspatialindex/metadata.xml
+++ b/sci-libs/libspatialindex/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>3dprint@gentoo.org</email>
@@ -9,6 +9,7 @@
<subslots>Soname version number of libspatialindex</subslots>
</slots>
<upstream>
+ <bugs-to>https://github.com/libspatialindex/libspatialindex/issues</bugs-to>
<remote-id type="github">libspatialindex/libspatialindex</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/libsvm/Manifest b/sci-libs/libsvm/Manifest
index 4d7184371f79..6c6be2ee9892 100644
--- a/sci-libs/libsvm/Manifest
+++ b/sci-libs/libsvm/Manifest
@@ -1,2 +1,2 @@
-DIST libsvm-3.22.tar.gz 850563 BLAKE2B 824451dd2cafb7f2546d510d2c516dee67c27e586d5b16557a3c23e0c372cd577af5a322e24f70df6cda66e0a58f2e4d70017e6155a1d211ad3c728f840bfa2b SHA512 80a22fd2c2a82f70b8279fa5d8c5a2838b10ee439cf6d725816d608f8e45990ba1780ae6750cad78b25c1c18daf2c2315b342b9e329affbd5729d6fd7da87f7a
-DIST libsvm-3.24.tar.gz 876441 BLAKE2B 6781804ba9706de5ad363bcbda20f2ec181cc4ee9613c9e7429f03872f7a03b04859df2ec00692d9de3ea237d1e478435a4d4db3ce7e5292689a2eab26a1fe46 SHA512 ff3c39bc84291bfb707151d7b8b6fb2eece937afa769cb8ee579d00ee4c30e943d476cd7bb18851d482c9bed89cf94fb3fd8abca4d47253360e12e9406f2f24b
+DIST libsvm-3.25.tar.gz 892471 BLAKE2B a80b7192981811f57446a966c911a07a2de17042e67faa26451c23129dafeac642596a619731b57a27d9845f904e2e4c5c11ae8aa3006fa49e2f62d7cec4cca2 SHA512 91afbcfd204f5fc9c367df446550cecaf01d5e34770fa10fc6bb02277d79b756393f7d057290df0f72fc941faaf0f4c84a863a3bf9d8628eeff1f99b6bc57a98
+DIST libsvm-3.3.tar.gz 910001 BLAKE2B 69364210998e496e333c6a87a66ad3f1515f2b3e98fe7bc579e8aee6d4df0473a4282f979d4f7d1729ce7080fd8b009ce830caab0ac37b57fafff0d2686e86e0 SHA512 705cdebffce0d9ea053cf51b2bfd46303d306b7a2c34ee46065f19e1227459fbdbe6fde6e4769935a0c225da831ec137fb9c0c28fbc2efa06724a94bdd76500d
diff --git a/sci-libs/libsvm/files/3.11-openmp.patch b/sci-libs/libsvm/files/3.11-openmp.patch
deleted file mode 100644
index e07b03e57380..000000000000
--- a/sci-libs/libsvm/files/3.11-openmp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/svm.cpp.orig 2011-05-27 04:32:19.000000000 +0100
-+++ b/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
deleted file mode 100644
index e38dafc10b20..000000000000
--- a/sci-libs/libsvm/files/3.14-makefile.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-* 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
-
---- a/Makefile.orig 2012-11-29 10:39:07.149421728 -0800
-+++ b/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/files/libsvm-3.25-makefile.patch b/sci-libs/libsvm/files/libsvm-3.25-makefile.patch
new file mode 100644
index 000000000000..ea48368b27a5
--- /dev/null
+++ b/sci-libs/libsvm/files/libsvm-3.25-makefile.patch
@@ -0,0 +1,49 @@
+* 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
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,10 @@
+-CXX ?= g++
+-CFLAGS = -Wall -Wconversion -O3 -fPIC
++CFLAGS ?= -Wall -Wconversion
++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 +12,17 @@
+ 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) $(OPENMP_LIBS) ; \
++ ln -s libsvm.so.$(SHVER) libsvm.so
++
++svm-predict: svm-predict.o lib
++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm
++svm-train: svm-train.o lib
++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm
++svm-scale: svm-scale.o
++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS)
+
+-svm-predict: svm-predict.c svm.o
+- $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
+-svm-train: svm-train.c svm.o
+- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
+-svm-scale: svm-scale.c
+- $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
+ svm.o: svm.cpp svm.h
+- $(CXX) $(CFLAGS) -c svm.cpp
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PICFLAGS) $(OPENMP_CFLAGS) -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/files/libsvm-3.25-openmp.patch b/sci-libs/libsvm/files/libsvm-3.25-openmp.patch
new file mode 100644
index 000000000000..1d12e198648e
--- /dev/null
+++ b/sci-libs/libsvm/files/libsvm-3.25-openmp.patch
@@ -0,0 +1,34 @@
+--- a/svm.cpp
++++ b/svm.cpp
+@@ -1282,6 +1282,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));
+ }
+@@ -2506,7 +2509,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];
+@@ -2523,6 +2529,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/libsvm-3.30-makefile.patch b/sci-libs/libsvm/files/libsvm-3.30-makefile.patch
new file mode 100644
index 000000000000..6f8266d5cb02
--- /dev/null
+++ b/sci-libs/libsvm/files/libsvm-3.30-makefile.patch
@@ -0,0 +1,44 @@
+diff --git a/Makefile b/Makefile
+index 76fd929..a454f56 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,10 @@
+-CXX ?= g++
+-CFLAGS = -Wall -Wconversion -O3 -fPIC
++CFLAGS ?= -Wall -Wconversion
++CXXFLAGS ?= $(CFLAGS)
+ SHVER = 3
+ 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 +12,16 @@ lib: svm.o
+ 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) $(OPENMP_LIBS) ; \
++ 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
+-svm-train: svm-train.c svm.o
+- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
+-svm-scale: svm-scale.c
+- $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
++svm-predict: svm-predict.o lib
++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm
++svm-train: svm-train.o lib
++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS) -L. -lsvm -lm
++svm-scale: svm-scale.o
++ $(CXX) $(LDFLAGS) $< -o $@ $(LIBS)
+ svm.o: svm.cpp svm.h
+- $(CXX) $(CFLAGS) -c svm.cpp
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PICFLAGS) $(OPENMP_CFLAGS) -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.22.ebuild b/sci-libs/libsvm/libsvm-3.22.ebuild
deleted file mode 100644
index a84738b3fae5..000000000000
--- a/sci-libs/libsvm/libsvm-3.22.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit flag-o-matic java-pkg-opt-2 python-r1 toolchain-funcs
-
-DESCRIPTION="Library for Support Vector Machines"
-HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/libsvm/"
-SRC_URI="https://www.csie.ntu.edu.tw/~cjlin/libsvm/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/2"
-KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="java openmp python tools"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- java? ( >=virtual/jdk-1.4 )
- python? ( ${PYTHON_DEPS} )"
-RDEPEND="
- java? ( >=virtual/jre-1.4 )
- python? ( ${PYTHON_DEPS} )
- tools? ( sci-visualization/gnuplot )"
-
-PATCHES=(
- "${FILESDIR}/3.11-openmp.patch"
- "${FILESDIR}/3.14-makefile.patch"
-)
-
-pkg_setup() {
- if use openmp; then
- if ! tc-has-openmp; then
- ewarn "OpenMP is not supported by your currently selected compiler"
-
- if tc-is-clang; then
- ewarn "OpenMP support in sys-devel/clang is provided by sys-libs/libomp,"
- ewarn "which you will need to build ${CATEGORY}/${PN} for USE=\"openmp\""
- fi
-
- die "need openmp capable compiler"
- fi
-
- append-cflags -fopenmp
- append-cxxflags -fopenmp
- append-cppflags -DOPENMP
- fi
-}
-
-src_prepare() {
- default
-
- sed -i -e "s@\.\./@${EPREFIX}/usr/bin/@g" tools/*.py \
- || die "Failed to fix paths in python files"
- sed -i -e "s|./grid.py|${EPREFIX}/usr/bin/svm-grid|g" tools/*.py \
- || die "Failed to fix paths for svm-grid"
- sed -i -e 's/grid.py/svm-grid/g' tools/grid.py \
- || die "Failed to rename grid.py to svm-grid"
-
- 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*
- doheader svm.h
-
- DOCS=( README )
-
- if use tools; then
- local t
- for t in tools/*.py; do
- python_foreach_impl python_newscript ${t} svm-$(basename ${t} .py)
- done
-
- mv tools/README{,.tools} || die
- DOCS+=( tools/README.tools )
-
- insinto /usr/share/doc/${PF}/examples
- docompress -x /usr/share/doc/${PF}/examples
- 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
-
- mv python/README{,.python} || die
- DOCS+=( python/README.python )
- fi
-
- HTML_DOCS=( FAQ.html )
- if use java; then
- java-pkg_dojar java/libsvm.jar
- HTML_DOCS+=( java/test_applet.html )
- fi
-
- einstalldocs
-}
diff --git a/sci-libs/libsvm/libsvm-3.24.ebuild b/sci-libs/libsvm/libsvm-3.24.ebuild
deleted file mode 100644
index ecc085bc1c87..000000000000
--- a/sci-libs/libsvm/libsvm-3.24.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit flag-o-matic java-pkg-opt-2 python-r1 toolchain-funcs
-
-DESCRIPTION="Library for Support Vector Machines"
-HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/libsvm/"
-SRC_URI="https://www.csie.ntu.edu.tw/~cjlin/libsvm/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/2"
-KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="java openmp python tools"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- java? ( >=virtual/jdk-1.4 )
- python? ( ${PYTHON_DEPS} )
-"
-RDEPEND="
- java? ( >=virtual/jre-1.4 )
- python? ( ${PYTHON_DEPS} )
- tools? ( sci-visualization/gnuplot )
-"
-
-PATCHES=(
- "${FILESDIR}/3.11-openmp.patch"
- "${FILESDIR}/3.14-makefile.patch"
-)
-
-pkg_setup() {
- if use openmp; then
- if ! tc-has-openmp; then
- ewarn "OpenMP is not supported by your currently selected compiler"
-
- if tc-is-clang; then
- ewarn "OpenMP support in sys-devel/clang is provided by sys-libs/libomp,"
- ewarn "which you will need to build ${CATEGORY}/${PN} for USE=\"openmp\""
- fi
-
- die "need openmp capable compiler"
- fi
-
- append-cflags -fopenmp
- append-cxxflags -fopenmp
- append-cppflags -DOPENMP
- fi
-}
-
-src_prepare() {
- default
-
- sed -i -e "s@\.\./@${EPREFIX}/usr/bin/@g" tools/*.py \
- || die "Failed to fix paths in python files"
- sed -i -e "s|./grid.py|${EPREFIX}/usr/bin/svm-grid|g" tools/*.py \
- || die "Failed to fix paths for svm-grid"
- sed -i -e 's/grid.py/svm-grid/g' tools/grid.py \
- || die "Failed to rename grid.py to svm-grid"
-
- 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*
- doheader svm.h
-
- DOCS=( README )
-
- if use tools; then
- local t
- for t in tools/*.py; do
- python_foreach_impl python_newscript ${t} svm-$(basename ${t} .py)
- done
-
- mv tools/README{,.tools} || die
- DOCS+=( tools/README.tools )
-
- insinto /usr/share/doc/${PF}/examples
- docompress -x /usr/share/doc/${PF}/examples
- 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
-
- mv python/README{,.python} || die
- DOCS+=( python/README.python )
- fi
-
- HTML_DOCS=( FAQ.html )
- if use java; then
- java-pkg_dojar java/libsvm.jar
- HTML_DOCS+=( java/test_applet.html )
- fi
-
- einstalldocs
-}
diff --git a/sci-libs/libsvm/libsvm-3.25-r1.ebuild b/sci-libs/libsvm/libsvm-3.25-r1.ebuild
new file mode 100644
index 000000000000..43c67613dec8
--- /dev/null
+++ b/sci-libs/libsvm/libsvm-3.25-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{9..10} )
+
+inherit flag-o-matic java-pkg-opt-2 python-r1 toolchain-funcs
+
+DESCRIPTION="Library for Support Vector Machines"
+HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/libsvm/"
+SRC_URI="https://www.csie.ntu.edu.tw/~cjlin/libsvm/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="amd64 ~ppc ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="java openmp python tools"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ java? ( >=virtual/jdk-1.8:* )
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="
+ java? ( >=virtual/jre-1.8:* )
+ python? ( ${PYTHON_DEPS} )
+ tools? ( sci-visualization/gnuplot )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.25-openmp.patch
+ "${FILESDIR}"/${PN}-3.25-makefile.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ sed -i -e "s@\.\./@${EPREFIX}/usr/bin/@g" tools/*.py \
+ || die "Failed to fix paths in python files"
+ sed -i -e "s|./grid.py|${EPREFIX}/usr/bin/svm-grid|g" tools/*.py \
+ || die "Failed to fix paths for svm-grid"
+ sed -i -e 's/grid.py/svm-grid/g' tools/grid.py \
+ || die "Failed to rename grid.py to svm-grid"
+
+ 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
+}
+
+src_configure() {
+ if use openmp; then
+ export OPENMP_CFLAGS="-fopenmp -DOPENMP"
+ export OPENMP_LIBS="-fopenmp"
+ 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*
+ doheader svm.h
+
+ DOCS=( README )
+
+ if use tools; then
+ local t
+ for t in tools/*.py; do
+ python_foreach_impl python_newscript ${t} svm-$(basename ${t} .py)
+ done
+
+ mv tools/README{,.tools} || die
+ DOCS+=( tools/README.tools )
+
+ docinto examples
+ dodoc heart_scale
+ dodoc -r svm-toy
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ if use python ; then
+ installation() {
+ touch python/__init__.py || die
+ python_moduleinto libsvm
+ python_domodule python/*.py
+ }
+ python_foreach_impl installation
+
+ mv python/README{,.python} || die
+ DOCS+=( python/README.python )
+ fi
+
+ HTML_DOCS=( FAQ.html )
+ if use java; then
+ java-pkg_dojar java/libsvm.jar
+ HTML_DOCS+=( java/test_applet.html )
+ fi
+
+ einstalldocs
+}
diff --git a/sci-libs/libsvm/libsvm-3.30.ebuild b/sci-libs/libsvm/libsvm-3.30.ebuild
new file mode 100644
index 000000000000..e94e47acd243
--- /dev/null
+++ b/sci-libs/libsvm/libsvm-3.30.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit java-pkg-opt-2 python-r1 toolchain-funcs
+
+DESCRIPTION="Library for Support Vector Machines"
+HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/libsvm/"
+SRC_URI="https://www.csie.ntu.edu.tw/~cjlin/libsvm/${PN}-${PV/0}.tar.gz"
+S="${WORKDIR}/${PN}-${PV/0}"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="amd64 ~ppc ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="java openmp python tools"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ java? ( >=virtual/jdk-1.8:* )
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="
+ java? ( >=virtual/jre-1.8:* )
+ python? ( ${PYTHON_DEPS} )
+ tools? ( sci-visualization/gnuplot )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.25-openmp.patch
+ "${FILESDIR}"/${PN}-3.30-makefile.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ sed -i -e "s@\.\./@${EPREFIX}/usr/bin/@g" tools/*.py \
+ || die "Failed to fix paths in python files"
+ sed -i -e "s|./grid.py|${EPREFIX}/usr/bin/svm-grid|g" tools/*.py \
+ || die "Failed to fix paths for svm-grid"
+ sed -i -e 's/grid.py/svm-grid/g' tools/grid.py \
+ || die "Failed to rename grid.py to svm-grid"
+
+ 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
+}
+
+src_configure() {
+ if use openmp; then
+ export OPENMP_CFLAGS="-fopenmp -DOPENMP"
+ export OPENMP_LIBS="-fopenmp"
+ 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*
+ doheader svm.h
+
+ DOCS=( README )
+
+ if use tools; then
+ local t
+ for t in tools/*.py; do
+ python_foreach_impl python_newscript ${t} svm-$(basename ${t} .py)
+ done
+
+ mv tools/README{,.tools} || die
+ DOCS+=( tools/README.tools )
+
+ docinto examples
+ dodoc heart_scale
+ dodoc -r svm-toy
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ if use python ; then
+ installation() {
+ touch python/__init__.py || die
+ python_moduleinto libsvm
+ python_domodule python/*.py
+ }
+ python_foreach_impl installation
+
+ mv python/README{,.python} || die
+ DOCS+=( python/README.python )
+ fi
+
+ HTML_DOCS=( FAQ.html )
+ if use java; then
+ java-pkg_dojar java/libsvm.jar
+ HTML_DOCS+=( java/test_applet.html )
+ fi
+
+ einstalldocs
+}
diff --git a/sci-libs/libsvm/metadata.xml b/sci-libs/libsvm/metadata.xml
index 7ba70023b93f..0ebc02970a4e 100644
--- a/sci-libs/libsvm/metadata.xml
+++ b/sci-libs/libsvm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/libticables2/Manifest b/sci-libs/libticables2/Manifest
index 2c48b93e78a4..3cd4eed5e440 100644
--- a/sci-libs/libticables2/Manifest
+++ b/sci-libs/libticables2/Manifest
@@ -1,3 +1 @@
-DIST libticables2-1.3.3.tar.bz2 495883 BLAKE2B 203b09c39d925a5dc4e3f8b828388e0f311f2cdadbd64e3db929c011eb750b7a86f27c307a8585de1099421f24d10971652afe99dcd7f32a806cf7fe7b4d7748 SHA512 19c9a6bb8319ccf9e9004e10c4addffbee605c3735e53e4a5628b360b0c2e8575076208d14d00d6304eb894d3c69aede6de00120cd26f8c543c6e6cc4adb21a9
-DIST libticables2-1.3.4.tar.bz2 920163 BLAKE2B 3770ed280b8a6ccf81f09a251ff33b80f025d878f75486e43d74feb820414b5167829825e10c9fc26f98eb06c63ad008f7062d51a60081d6a61a64bc9d8a51cf SHA512 fbea9ed2041a04f79e02045d40e88a3ab20edc8d86ecef4ae6a181063f3609b8b2c3aeb2ce2f4508be56655accba60eab7379116ac341921f233f469eb99b461
DIST libticables2-1.3.5.tar.bz2 187416 BLAKE2B aea17b04783ff09a0f36fff60938c6f954f832b33dceec427e11b29b16e442921370b3cb43cb7c8d70dad854e3e9894a1d52378fed3cf232f38d69757725ad41 SHA512 171abdf41f496891c62da17a2b84d929ac32021b0f2abc0c37ed73ec93806d4a14df37a8ffbe2b0c172ff3461aa6c639fc1ba23aafb19e024b99448dd66c63bd
diff --git a/sci-libs/libticables2/libticables2-1.3.3-r1.ebuild b/sci-libs/libticables2/libticables2-1.3.3-r1.ebuild
deleted file mode 100644
index 6696e6c73d35..000000000000
--- a/sci-libs/libticables2/libticables2-1.3.3-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
deleted file mode 100644
index 3ac960c27d3a..000000000000
--- a/sci-libs/libticables2/libticables2-1.3.4.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
index 913b1258a5b3..f0cd6364ab60 100644
--- a/sci-libs/libticables2/metadata.xml
+++ b/sci-libs/libticables2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,7 +10,7 @@
for TI calculators. It currently supports all cables on i386,
including the USB one. Supported cables may vary depending on your
architecture.
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">tilp</remote-id>
</upstream>
diff --git a/sci-libs/libticalcs2/Manifest b/sci-libs/libticalcs2/Manifest
index b4b9479c4e6c..d8b8166215ca 100644
--- a/sci-libs/libticalcs2/Manifest
+++ b/sci-libs/libticalcs2/Manifest
@@ -1,2 +1 @@
-DIST libticalcs2-1.1.8.tar.bz2 524151 BLAKE2B ace580d1bb810b741fd40d310cd55d0743212fbd279e900e5a9e26000169e21a63a970300d7e355cff13f5893f61e79d02a633f4cfecd42f1a0446c8f666323a SHA512 0e09148006f5ee227d1b347ef44a6e755cb1dd757b8ff99e0f006aec0bc37c40dc5e293e44a0d91fc966b47da9113b4f00a71d9d9aa5cfbea4b01487232c1c08
DIST libticalcs2-1.1.9.tar.bz2 269963 BLAKE2B 9cebc63647afe5b7e45b44f4e6a48902b9ae551d38eeb4bb2112a84988355bb7beafb27192b90c597b9613f8cb2dfb67f2b2eeb2e270b1d3fdd620f8f8d0c2cf SHA512 a55fa92df787929397f4ed3e8f922355f71c7883459ceb98fbb8d39d18f06441147188aaabf7a67083d70549443e439744e68527742e2b7b5d3d2838cc41b4da
diff --git a/sci-libs/libticalcs2/files/0001-libticalcs-fix-erroneous-bashism-in-configure-script.patch b/sci-libs/libticalcs2/files/0001-libticalcs-fix-erroneous-bashism-in-configure-script.patch
new file mode 100644
index 000000000000..7cf0f173af34
--- /dev/null
+++ b/sci-libs/libticalcs2/files/0001-libticalcs-fix-erroneous-bashism-in-configure-script.patch
@@ -0,0 +1,39 @@
+From e27900a6b30f35b1a586b171603047fec3f39990 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Fri, 29 Mar 2024 01:48:47 -0400
+Subject: [PATCH] libticalcs: fix erroneous bashism in configure script
+
+configure scripts are POSIX /bin/sh scripts and cannot have
+bash-specific syntax. The `test xxx == yyy` construct with double equals
+is a bash-specific alias for single equals. It does exactly the same
+thing as single equals -- it provides no additional functionality, no
+behavior changes, it is *exactly* the same but with an additional
+alternate spelling. In exchange for doing nothing, it breaks muscle
+memory when writing POSIX sh scripts and tricks developers into writing
+the wrong thing.
+
+It should never be used under any circumstances. Ideally it would be
+removed altogether from GNU bash.
+
+Bug: https://bugs.gentoo.org/723452
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ libticalcs/trunk/configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libticalcs/trunk/configure.ac b/libticalcs/trunk/configure.ac
+index 3ec257ed..42588f9f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -180,7 +180,7 @@ esac
+ AC_ARG_VAR([CXX_FOR_BUILD], [C++ compiler for programs to be run on the build system])
+ AC_ARG_VAR([CXXFLAGS_FOR_BUILD], [C++ compiler flags for CXX_FOR_BUILD])
+ AC_MSG_CHECKING([for the host compiler])
+-if test "x$build" == "x$host" ; then
++if test "x$build" = "x$host" ; then
+ # Not cross-compiling.
+ CXX_FOR_BUILD=$CXX
+ CXXFLAGS_FOR_BUILD=$CXXFLAGS
+--
+2.43.2
+
diff --git a/sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild b/sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild
deleted file mode 100644
index c40ed386d70d..000000000000
--- a/sci-libs/libticalcs2/libticalcs2-1.1.8.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/libticalcs2-1.1.9-r1.ebuild b/sci-libs/libticalcs2/libticalcs2-1.1.9-r1.ebuild
new file mode 100644
index 000000000000..88acc8b83976
--- /dev/null
+++ b/sci-libs/libticalcs2/libticalcs2-1.1.9-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+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}"
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+PATCHES=(
+ # https://github.com/debrouxl/tilibs/pull/87
+ "${FILESDIR}"/0001-libticalcs-fix-erroneous-bashism-in-configure-script.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/927586
+ filter-lto
+
+ econf \
+ --disable-rpath \
+ $(use_enable static-libs static) \
+ $(use_enable nls)
+}
+
+src_install() {
+ use doc && HTML_DOCS+=( docs/html/. )
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libticalcs2/libticalcs2-1.1.9.ebuild b/sci-libs/libticalcs2/libticalcs2-1.1.9.ebuild
deleted file mode 100644
index fe2478ec3c3a..000000000000
--- a/sci-libs/libticalcs2/libticalcs2-1.1.9.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-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_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-rpath \
- $(use_enable static-libs static) \
- $(use_enable nls)
-}
-
-src_install() {
- use doc && HTML_DOCS+=( docs/html/. )
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libticalcs2/metadata.xml b/sci-libs/libticalcs2/metadata.xml
index 1cd5468cfcba..5f90a83db0f2 100644
--- a/sci-libs/libticalcs2/metadata.xml
+++ b/sci-libs/libticalcs2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -11,7 +11,7 @@
of calculator, independently of the link cable used to establish the
link.
All graphing calculators from Texas Instruments are supported
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">tilp</remote-id>
</upstream>
diff --git a/sci-libs/libticonv/Manifest b/sci-libs/libticonv/Manifest
index 62910082886d..25a7d26591ed 100644
--- a/sci-libs/libticonv/Manifest
+++ b/sci-libs/libticonv/Manifest
@@ -1,2 +1 @@
-DIST libticonv-1.1.4.tar.bz2 344616 BLAKE2B 38ab1d2c60873c8c544de13a605429212d75799d665470a2aabcde0f74bdd42a71b2ef7fce25cd41a691bb7f43ca68e0db8dce44643e22bea5db405865de80b8 SHA512 15ceb5acff888c841febc0d3ae96e3df649cce302b4ae2dc4ca150e3cb483337548fff0b32f0308bc759a08e6a167beaa8a2a4349f8ce47a2a7b62755a601018
DIST libticonv-1.1.5.tar.bz2 86036 BLAKE2B 494494f59c8fbdad183c2e7d4b66f3313ce1b968b5898b31da9bc3d54f73aafbe93ce676928dd9b986fa5eaafe12ad333e9dc0da2e3abf94bddfeebf481727e2 SHA512 ea589344a656c5c7d28ed45e8da36bf7b746b7a82d77a257ddd305e2ebdc34f0ae14a6090e991f47ef7ad37cdc8d7182181c705fb0814e671ef764ca2a6dc2bf
diff --git a/sci-libs/libticonv/libticonv-1.1.4.ebuild b/sci-libs/libticonv/libticonv-1.1.4.ebuild
deleted file mode 100644
index d36975c9db21..000000000000
--- a/sci-libs/libticonv/libticonv-1.1.4.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
index e176fa0cacff..1e91e243d44a 100644
--- a/sci-libs/libticonv/metadata.xml
+++ b/sci-libs/libticonv/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -9,7 +9,7 @@
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>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">tilp</remote-id>
</upstream>
diff --git a/sci-libs/libtifiles2/Manifest b/sci-libs/libtifiles2/Manifest
index e6d3eb8c3acf..87c03e569953 100644
--- a/sci-libs/libtifiles2/Manifest
+++ b/sci-libs/libtifiles2/Manifest
@@ -1,2 +1 @@
-DIST libtifiles2-1.1.6.tar.bz2 390447 BLAKE2B 182bd59aa5b45d2f86c64fb17b9ae9de6246cd6ffcd719069d7b94e67a5b5a2d674cbe0824f68a6492aa9844941bb74a59c2f81bea85a460f0463b962e81eb73 SHA512 abc40275e7af921a67b658c6b6aa8ec511e965a3e9e00fcdc676c2b85e1d95dbae0f118e127e0806950d26afde9949251e47eb85af04d8f8ecca777dc3afcd23
DIST libtifiles2-1.1.7.tar.bz2 122454 BLAKE2B 1ae51ccde4a5a9127b015b6fa5ad4d446e56b473330a3d220c6a6b7cb333161e9e9d80cae7ac8985beb0e844ce21ffdc4713847d69986b6d7f5506a5a6b1545f SHA512 e2ef4de0ce8c78f0da4098ec618a7194f9b94a028f9cb54a0ea1c29c00028d7cf144a067d8aaf8010ad094378b6426d05621d530cfbfa05f793f6c1ed41fcaef
diff --git a/sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild b/sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild
deleted file mode 100644
index 6ccf9e28bc6a..000000000000
--- a/sci-libs/libtifiles2/libtifiles2-1.1.6-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/libtifiles2-1.1.7-r1.ebuild b/sci-libs/libtifiles2/libtifiles2-1.1.7-r1.ebuild
new file mode 100644
index 000000000000..546127055cd2
--- /dev/null
+++ b/sci-libs/libtifiles2/libtifiles2-1.1.7-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+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}"
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+DOCS=( AUTHORS LOGO NEWS README ChangeLog docs/api.txt )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-rpath \
+ $(use_enable static-libs static) \
+ $(use_enable nls)
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( docs/html/. )
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/libtifiles2/libtifiles2-1.1.7.ebuild b/sci-libs/libtifiles2/libtifiles2-1.1.7.ebuild
deleted file mode 100644
index 158a6d79c8b8..000000000000
--- a/sci-libs/libtifiles2/libtifiles2-1.1.7.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-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() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf --disable-rpath \
- $(use_enable static-libs static) \
- $(use_enable nls)
-}
-
-src_install() {
- use doc && HTML_DOCS=( docs/html/. )
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/libtifiles2/metadata.xml b/sci-libs/libtifiles2/metadata.xml
index 95f486416a2c..c863e3e1a5dd 100644
--- a/sci-libs/libtifiles2/metadata.xml
+++ b/sci-libs/libtifiles2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -11,7 +11,7 @@
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>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">tilp</remote-id>
</upstream>
diff --git a/sci-libs/libxc/Manifest b/sci-libs/libxc/Manifest
index c019462953f3..227967bcf438 100644
--- a/sci-libs/libxc/Manifest
+++ b/sci-libs/libxc/Manifest
@@ -1,3 +1 @@
-DIST libxc-2.1.3.tar.gz 750044 BLAKE2B 6d6bb348bd8f7e25d6a3857fc40f0d7d3a7fe22c0a0514ca9f0ca60aadd67fde65b6052bc04e076a6328841c7ebe154921937083b8e9e2b9e55a5bcf197d08d0 SHA512 6cc7e4cb9b6187d3f7be9bca0aa574a1e0807db47201bee271d651e23c34ff7f00590cbe2ab1a6c399735e55d088a27e5b3456af6df46817137b3e6857c1c221
-DIST libxc-2.2.3.tar.gz 734714 BLAKE2B c5c4c3aec3373b8b481de8ec1779366b6916899e0b77964cbde0e83904b351e009b14a3ff64e9f020640e6ebf68d78828615b8abf83a46fdf86ea16480083643 SHA512 bfcd88c1946e459227e9b1a32c513f0e68ae7a5497925ac6e692085542526ebad9fe2cd5722077c839c06dbaaceca601c7f615ee6936e638eb150a9d68278d5a
-DIST libxc-3.0.0.tar.gz 8388775 BLAKE2B e82a7310c583c39b6c2313668a5d3a3d5ae7bf71ad450e9ac6241d1601bf1bb429abf98787f7e0c3c252e881c381b895e277d18619b57c46f2f910d7e079941c SHA512 42173341f917c2aed6954f76885d2a9149d7212d2525becf77072b9878753c28d752b5cf6b2c79c90a88d8aa033f0aa94fa9753eb67108e9325cee6919cece52
+DIST libxc-5.1.7.tar.gz 46172191 BLAKE2B e18acd864a5de7c93ce5499b79f60db473851ac6df35461bf0f13d16321fd2f68949a21b060aeed9c220a546c9aae614357f9815379356c9c9356555f4acc10a SHA512 ccb535e9d9427bdc9b2d05fae21995c92ae08efb64d51adaae44efc018bd9e5f7807d3a8ab073bb279968284e67bde80bba8a90d95145a484b396784ae072974
diff --git a/sci-libs/libxc/libxc-2.1.3.ebuild b/sci-libs/libxc/libxc-2.1.3.ebuild
deleted file mode 100644
index a54c26ddfc3a..000000000000
--- a/sci-libs/libxc/libxc-2.1.3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=true
-
-inherit autotools-utils flag-o-matic fortran-2 multilib
-
-MY_P=${P//_/-}
-
-DESCRIPTION="A library of exchange-correlation functionals for use in DFT"
-HOMEPAGE="https://octopus-code.org/wiki/Libxc"
-SRC_URI="https://www.tddft.org/programs/octopus/download/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux"
-IUSE="fortran static-libs -test"
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- sed \
- -e "s:${PN}.f90:${PN}.F90:g" \
- -i src/Makefile.am || die
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myeconfargs=( $(use_enable fortran) )
- autotools-utils_src_configure
-}
-
-## Upstream recommends not running the test suite because it requires
-## human expert interpretation to determine whether output is an error or
-## expected under certain circumstances. Nevertheless, experts might want the option.
-# The autotools src_test function modified not to die. Runs emake check in build directory.
-src_test() {
- debug-print-function ${FUNCNAME} "$@"
-
- _check_build_dir
- pushd "${BUILD_DIR}" > /dev/null || die
- make check || ewarn "Make check failed. See above for details."
- einfo "emake check done"
- popd > /dev/null || die
-}
-
-src_install() {
- autotools-utils_src_install
-
-}
diff --git a/sci-libs/libxc/libxc-2.2.3.ebuild b/sci-libs/libxc/libxc-2.2.3.ebuild
deleted file mode 100644
index 377fce27feed..000000000000
--- a/sci-libs/libxc/libxc-2.2.3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=true
-
-inherit autotools-utils flag-o-matic fortran-2 multilib
-
-MY_P=${P//_/-}
-
-DESCRIPTION="A library of exchange-correlation functionals for use in DFT"
-HOMEPAGE="https://octopus-code.org/wiki/Libxc"
-SRC_URI="https://www.tddft.org/programs/octopus/download/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux"
-IUSE="fortran static-libs -test"
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- sed \
- -e "s:${PN}.f90:${PN}.F90:g" \
- -i src/Makefile.am || die
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myeconfargs=( $(use_enable fortran) )
- autotools-utils_src_configure
-}
-
-## Upstream recommends not running the test suite because it requires
-## human expert interpretation to determine whether output is an error or
-## expected under certain circumstances. Nevertheless, experts might want the option.
-# The autotools src_test function modified not to die. Runs emake check in build directory.
-src_test() {
- debug-print-function ${FUNCNAME} "$@"
-
- _check_build_dir
- pushd "${BUILD_DIR}" > /dev/null || die
- make check || ewarn "Make check failed. See above for details."
- einfo "emake check done"
- popd > /dev/null || die
-}
-
-src_install() {
- autotools-utils_src_install
-
-}
diff --git a/sci-libs/libxc/libxc-3.0.0.ebuild b/sci-libs/libxc/libxc-3.0.0.ebuild
deleted file mode 100644
index a54c26ddfc3a..000000000000
--- a/sci-libs/libxc/libxc-3.0.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=true
-
-inherit autotools-utils flag-o-matic fortran-2 multilib
-
-MY_P=${P//_/-}
-
-DESCRIPTION="A library of exchange-correlation functionals for use in DFT"
-HOMEPAGE="https://octopus-code.org/wiki/Libxc"
-SRC_URI="https://www.tddft.org/programs/octopus/download/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux"
-IUSE="fortran static-libs -test"
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- sed \
- -e "s:${PN}.f90:${PN}.F90:g" \
- -i src/Makefile.am || die
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myeconfargs=( $(use_enable fortran) )
- autotools-utils_src_configure
-}
-
-## Upstream recommends not running the test suite because it requires
-## human expert interpretation to determine whether output is an error or
-## expected under certain circumstances. Nevertheless, experts might want the option.
-# The autotools src_test function modified not to die. Runs emake check in build directory.
-src_test() {
- debug-print-function ${FUNCNAME} "$@"
-
- _check_build_dir
- pushd "${BUILD_DIR}" > /dev/null || die
- make check || ewarn "Make check failed. See above for details."
- einfo "emake check done"
- popd > /dev/null || die
-}
-
-src_install() {
- autotools-utils_src_install
-
-}
diff --git a/sci-libs/libxc/libxc-5.1.7.ebuild b/sci-libs/libxc/libxc-5.1.7.ebuild
new file mode 100644
index 000000000000..883a843a3e26
--- /dev/null
+++ b/sci-libs/libxc/libxc-5.1.7.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools fortran-2
+
+DESCRIPTION="A library of exchange-correlation functionals for use in DFT"
+HOMEPAGE="https://octopus-code.org/wiki/Libxc"
+SRC_URI="https://gitlab.com/libxc/libxc/-/archive/${PV}/${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux"
+IUSE="fortran test"
+RESTRICT="!test? ( test )"
+
+pkg_setup() {
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable fortran)
+}
+
+src_install() {
+ default
+
+ dodoc ChangeLog.md
+
+ # no static archives
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/sci-libs/libxc/metadata.xml b/sci-libs/libxc/metadata.xml
index 064923854d28..9d192f5a7ea9 100644
--- a/sci-libs/libxc/metadata.xml
+++ b/sci-libs/libxc/metadata.xml
@@ -1,30 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>Hloupy.Honza@centrum.cz</email>
<name>Honza MacháÄek</name>
</maintainer>
<longdescription lang="en">
-Libxc is a library of exchange-correlation functionals for density-functional theory.
-The aim is to provide a portable, well tested and reliable set of exchange and correlation
-functionals that can be used by all the ETSF codes and also other codes.
+ Libxc is a library of exchange-correlation functionals for density-functional theory.
+ The aim is to provide a portable, well tested and reliable set of exchange and correlation
+ functionals that can be used by all the ETSF codes and also other codes.
-In Libxc you can find different types of functionals: LDA, GGA, hybrids, and mGGA (experimental).
-These functionals depend on local information, in the sense that the value of the potential
-at a given point depends only on the values of the density -- and the gradient of the density
-and the kinetic energy density, for the GGA and mGGA cases.
+ In Libxc you can find different types of functionals: LDA, GGA, hybrids, and mGGA (experimental).
+ These functionals depend on local information, in the sense that the value of the potential
+ at a given point depends only on the values of the density -- and the gradient of the density
+ and the kinetic energy density, for the GGA and mGGA cases.
-It can calculate the functional itself and its derivative; for some functionals,
-higher-order derivatives are available.
+ It can calculate the functional itself and its derivative; for some functionals,
+ higher-order derivatives are available.
-Libxc is written in C and has Fortran bindings. It is released under the LGPL license (v. 3.0).
-Contributions are welcome.
-</longdescription>
+ Libxc is written in C and has Fortran bindings. It is released under the LGPL license (v. 3.0).
+ Contributions are welcome.
+ </longdescription>
<upstream>
<doc>http://octopus-code.org/wiki/Libxc:manual</doc>
</upstream>
diff --git a/sci-libs/linbox/Manifest b/sci-libs/linbox/Manifest
index 11458f317018..cae18c309ee6 100644
--- a/sci-libs/linbox/Manifest
+++ b/sci-libs/linbox/Manifest
@@ -1 +1,2 @@
DIST linbox-1.6.3.tar.gz 1968034 BLAKE2B 55fb83db7da375d8d97f2567c6a120ac48fefc41eb02db68152cc32f1f16009b8c8108a07bbc68087ad2ef3279108db61b48b805c9ce39f4c5f0072ab6e96304 SHA512 ccef3b4c7b9d8f999e5e4ce4e544f22cd869154513827501ecb7e1abf132ff585dfb3315cced963abe842feecda9331dda9081efb3948987365d338223a8305c
+DIST linbox-1.7.0.tar.gz 2258420 BLAKE2B a416e7ab138c6f3f4778a00c0c1eb46aa0a5b26d84f19a2df93e9f8959d3237e5f298f8013f9414f66605c08eebd7d632f71dcdef7080c8df814afcd2de34456 SHA512 cb4e848186d1f6357f498d1e3bda6484b4c789c02440f9614a227a2ae206a31fb20b32be40bda74da3f2f8f981bbd58d80fc97c95499b5151bb06eafb867ef9e
diff --git a/sci-libs/linbox/files/linbox-1.7.0-hardened-testfails.patch b/sci-libs/linbox/files/linbox-1.7.0-hardened-testfails.patch
new file mode 100644
index 000000000000..9e46faa69dc4
--- /dev/null
+++ b/sci-libs/linbox/files/linbox-1.7.0-hardened-testfails.patch
@@ -0,0 +1,22 @@
+https://github.com/linbox-team/linbox/issues/304
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index d870aa9..f7234ea 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -57,7 +57,6 @@ EXTRA_DIST = \
+ BASIC_TESTS = \
+ test-solve \
+ test-solve-full \
+- test-smith-form-valence \
+ test-local-smith-form-sparseelim\
+ test-smith-form \
+ test-smith-form-adaptive \
+@@ -66,7 +65,6 @@ BASIC_TESTS = \
+ test-last-invariant-factor \
+ test-qlup \
+ test-det \
+- test-regression \
+ test-regression2 \
+ test-rank-ex \
+ test-rank-u32 \
diff --git a/sci-libs/linbox/linbox-1.6.3-r2.ebuild b/sci-libs/linbox/linbox-1.6.3-r2.ebuild
new file mode 100644
index 000000000000..550616620830
--- /dev/null
+++ b/sci-libs/linbox/linbox-1.6.3-r2.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C++ template library for integer and finite-field linear algebra"
+HOMEPAGE="https://linalg.org/"
+SRC_URI="https://github.com/linbox-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc opencl openmp static-libs cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+# The project README says that gmp, givaro, and blas/lapack are required
+# transitively via fflas-ffpack, but that's not true. The build system
+# checks for them, and `git grep` shows that they're used directly.
+DEPEND="dev-libs/gmp[cxx(+)]
+ =sci-libs/givaro-4.1*
+ =sci-libs/fflas-ffpack-2.4*
+ virtual/cblas
+ virtual/lapack
+ opencl? ( virtual/opencl )
+ dev-libs/ntl:=
+ sci-libs/iml
+ dev-libs/mpfr:=
+ sci-mathematics/flint"
+
+# Use mathjax to render inline latex rather than requiring a working latex
+# installation to generate bitmaps.
+RDEPEND="${DEPEND}
+ doc? ( >=dev-libs/mathjax-3 )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-1.6.3-pc.patch" )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ if use doc; then
+ # Avoid the need for a working LaTeX installation. MathJax does
+ # slow down the browser a bit but it also renders much more
+ # nicely than the latex-generated bitmaps would.
+ echo "
+ USE_MATHJAX = YES
+ MATHJAX_VERSION = MathJax_3
+ MATHJAX_RELPATH = \"${EPREFIX}/usr/share/mathjax\"
+ MATHJAX_EXTENSIONS = ams
+ " >> doc/Doxyfile.mod || die
+ fi
+}
+
+src_configure() {
+ #
+ # The --with-all flag includes,
+ #
+ # --with-givaro: used for finite fields, integer, etc. (required)
+ # --with-fflas-ffpack: small field dense linear algebra (required)
+ # --with-ntl: used for finite field, polynomial arithmetic (optional)
+ # --with-iml: used for fast integer/rational linear algebra (optional)
+ # --with-mpfr: not sure, doesn't seem to be used? (optional)
+ # --with-flint: used in algorithms/matrix-blas3 once (optional)
+ # --with-fplll: an fplll interface not directly used (optional)
+ # --with-doxygen: needed with --enable-doc to build them (optional)
+ #
+ # Some of these could be behind USE flags, but the ./configure output
+ # says that they're "not yet mandatory," which makes me think we might
+ # be overcomplicating things to make them optional right now.
+ #
+ # Note: after v1.6.3, we'll need to append --without-archnative to
+ # these flags to avoid -march=native being appended by default.
+ #
+ econf \
+ --with-docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --with-all="${EPREFIX}"/usr \
+ --without-fplll \
+ $(use_enable doc) \
+ $(use_enable openmp) \
+ $(use_with opencl ocl) \
+ $(use_enable cpu_flags_x86_fma3 fma) \
+ $(use_enable cpu_flags_x86_fma4 fma4) \
+ $(use_enable cpu_flags_x86_sse3 sse) \
+ $(use_enable cpu_flags_x86_sse3 sse2) \
+ $(use_enable cpu_flags_x86_sse3 sse3) \
+ $(use_enable cpu_flags_x86_ssse3 ssse3) \
+ $(use_enable cpu_flags_x86_sse4_1 sse41) \
+ $(use_enable cpu_flags_x86_sse4_2 sse42) \
+ $(use_enable cpu_flags_x86_avx avx) \
+ $(use_enable cpu_flags_x86_avx2 avx2) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+ if use doc; then
+ # These files are used for incremental doxygen builds but aren't
+ # part of the final output. Check on
+ #
+ # https://github.com/linbox-team/linbox/issues/252
+ #
+ # periodically to see if this is pointless.
+ find "${ED}/usr/share/doc/${PF}" -type f -name '*.md5' -delete || die
+ find "${ED}/usr/share/doc/${PF}" -type f -name '*.map' -delete || die
+ fi
+}
diff --git a/sci-libs/linbox/linbox-1.6.3.ebuild b/sci-libs/linbox/linbox-1.6.3.ebuild
deleted file mode 100644
index db82ccb781cd..000000000000
--- a/sci-libs/linbox/linbox-1.6.3.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="C++ template library for integer and finite-field linear algebra"
-HOMEPAGE="https://linalg.org/"
-SRC_URI="https://github.com/linbox-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc opencl openmp static-libs cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_avx cpu_flags_x86_avx2"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-# The project README says that gmp, givaro, and blas/lapack are required
-# transitively via fflas-ffpack, but that's not true. The build system
-# checks for them, and `git grep` shows that they're used directly.
-DEPEND="dev-libs/gmp[cxx]
- =sci-libs/givaro-4.1*
- =sci-libs/fflas-ffpack-2.4*
- virtual/cblas
- virtual/lapack
- opencl? ( virtual/opencl )
- dev-libs/ntl:=
- sci-libs/iml
- dev-libs/mpfr:=
- sci-mathematics/flint"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-1.6.3-pc.patch" )
-
-pkg_pretend() {
- [[ "${MERGE_TYPE}" != "binary" ]] && use openmp && tc-check-openmp
-}
-
-src_configure() {
- #
- # The --with-all flag includes,
- #
- # --with-givaro: used for finite fields, integer, etc. (required)
- # --with-fflas-ffpack: small field dense linear algebra (required)
- # --with-ntl: used for finite field, polynomial arithmetic (optional)
- # --with-iml: used for fast integer/rational linear algebra (optional)
- # --with-mpfr: not sure, doesn't seem to be used? (optional)
- # --with-flint: used in algorithms/matrix-blas3 once (optional)
- # --with-fplll: an fplll interface not directly used (optional)
- # --with-doxygen: needed with --enable-doc to build them (optional)
- #
- # Some of these could be behind USE flags, but the ./configure output
- # says that they're "not yet mandatory," which makes me think we might
- # be overcomplicating things to make them optional right now.
- #
- # Note: after v1.6.3, we'll need to append --without-archnative to
- # these flags to avoid -march=native being appended by default.
- #
- econf \
- --with-docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --with-all="${EPREFIX}"/usr \
- --without-fplll \
- $(use_enable doc) \
- $(use_enable openmp) \
- $(use_with opencl ocl) \
- $(use_enable cpu_flags_x86_fma3 fma) \
- $(use_enable cpu_flags_x86_fma4 fma4) \
- $(use_enable cpu_flags_x86_sse3 sse) \
- $(use_enable cpu_flags_x86_sse3 sse2) \
- $(use_enable cpu_flags_x86_sse3 sse3) \
- $(use_enable cpu_flags_x86_ssse3 ssse3) \
- $(use_enable cpu_flags_x86_sse4_1 sse41) \
- $(use_enable cpu_flags_x86_sse4_2 sse42) \
- $(use_enable cpu_flags_x86_avx avx) \
- $(use_enable cpu_flags_x86_avx2 avx2) \
- $(use_enable static-libs static)
-}
-
-src_install(){
- default
- find "${ED}" -name '*.la' -delete || die
- if use doc; then
- # These files are used for incremental doxygen builds but aren't
- # part of the final output. Check on
- #
- # https://github.com/linbox-team/linbox/issues/252
- #
- # periodically to see if this is pointless.
- find "${ED}/usr/share/doc/${PF}" -type f -name '*.md5' -delete || die
- find "${ED}/usr/share/doc/${PF}" -type f -name '*.map' -delete || die
- fi
-}
diff --git a/sci-libs/linbox/linbox-1.7.0.ebuild b/sci-libs/linbox/linbox-1.7.0.ebuild
new file mode 100644
index 000000000000..3fb0af5058b4
--- /dev/null
+++ b/sci-libs/linbox/linbox-1.7.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="C++ template library for integer and finite-field linear algebra"
+HOMEPAGE="https://linalg.org/"
+SRC_URI="https://github.com/linbox-team/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+# I think only macros/libtool.m4 (and COPYING) is GPL-2+; the source
+# headers all say LGPL-2.1
+LICENSE="GPL-2+ LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc opencl openmp"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+# The project README says that gmp, givaro, and blas/lapack are required
+# transitively via fflas-ffpack, but that's not true. The build system
+# checks for them, and `git grep` shows that they're used directly.
+DEPEND="dev-libs/gmp[cxx(+)]
+ =sci-libs/givaro-4.2*
+ =sci-libs/fflas-ffpack-2.5*
+ virtual/cblas
+ virtual/lapack
+ opencl? ( virtual/opencl )
+ dev-libs/ntl:=
+ sci-libs/iml
+ dev-libs/mpfr:=
+ sci-mathematics/flint"
+
+# Use mathjax to render inline latex rather than requiring a working latex
+# installation to generate bitmaps.
+RDEPEND="${DEPEND}
+ doc? ( >=dev-libs/mathjax-3 )
+"
+
+PATCHES=( "${FILESDIR}/${P}-hardened-testfails.patch" )
+
+# The --enable-openmp flag has been removed upstream, but we don't want
+# openmp support to disappear after the package has been compiled with
+# it, so we retain the USE flag and the toolchain check.
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ if use doc; then
+ # Avoid the need for a working LaTeX installation. MathJax does
+ # slow down the browser a bit but it also renders much more
+ # nicely than the latex-generated bitmaps would.
+ echo "
+ USE_MATHJAX = YES
+ MATHJAX_VERSION = MathJax_3
+ MATHJAX_RELPATH = \"${EPREFIX}/usr/share/mathjax\"
+ MATHJAX_EXTENSIONS = ams
+ " >> doc/Doxyfile.mod || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ #
+ # The --with-all flag includes,
+ #
+ # --with-givaro: used for finite fields, integer, etc. (required)
+ # --with-fflas-ffpack: small field dense linear algebra (required)
+ # --with-ntl: used for finite field, polynomial arithmetic (optional)
+ # --with-iml: used for fast integer/rational linear algebra (optional)
+ # --with-mpfr: not sure, doesn't seem to be used? (optional)
+ # --with-flint: used in algorithms/matrix-blas3 once (optional)
+ # --with-fplll: an fplll interface not directly used (optional)
+ # --with-doxygen: needed with --enable-doc to build them (optional)
+ #
+ # Some of these could be behind USE flags, but the ./configure output
+ # says that they're "not yet mandatory," which makes me think we might
+ # be overcomplicating things to make them optional right now.
+ #
+ econf \
+ --with-docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --with-all="${EPREFIX}"/usr \
+ --without-fplll \
+ --without-archnative \
+ $(use_enable doc) \
+ $(use_with opencl ocl)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+ if use doc; then
+ # These files are used for incremental doxygen builds but aren't
+ # part of the final output. Check on
+ #
+ # https://github.com/linbox-team/linbox/issues/252
+ #
+ # periodically to see if this is pointless.
+ find "${ED}/usr/share/doc/${PF}" -type f -name '*.md5' -delete || die
+ find "${ED}/usr/share/doc/${PF}" -type f -name '*.map' -delete || die
+ fi
+}
diff --git a/sci-libs/linbox/metadata.xml b/sci-libs/linbox/metadata.xml
index b8fdd1af15d4..db695272dc66 100644
--- a/sci-libs/linbox/metadata.xml
+++ b/sci-libs/linbox/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,21 +9,15 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <use>
- <flag name="opencl">
- Enable the use of OpenCL in LinBox
- </flag>
- </use>
-
<longdescription lang="en">
LinBox is a C++ template library for exact, high-performance
linear algebra computation with dense, sparse, and structured
diff --git a/sci-libs/linux-gpib-modules/Manifest b/sci-libs/linux-gpib-modules/Manifest
index 670d6729a245..16bfdea8a5f6 100644
--- a/sci-libs/linux-gpib-modules/Manifest
+++ b/sci-libs/linux-gpib-modules/Manifest
@@ -1,3 +1 @@
-DIST linux-gpib-4.3.0.tar.gz 1375852 BLAKE2B e2daa444ddf4c0c34084f264247051d4ce1c8103d8ae5d91b02d4742131c1f92ded02775eb0f8b0ea29820e2ae7b61c3132c74084a876e86fbb4efaf11688773 SHA512 8db4eb6d606c68ffacc67988479684fec815fc552756a6c93466ef0dfc93368771bb551944e3afc31db83e72e464ec1fb289fdcf80b4a6be1617e734fe3b9d65
-DIST linux-gpib-4.3.2.tar.gz 1377406 BLAKE2B 57ec8b3788606ffb42d204ad0e2476c432bc82f929b1854c6a1d48c73f48a149716d05b13906b4597a4bf03e4c10a0ffe2c66e6de8cf9a5891b86c3d459713fc SHA512 bf9963d885e0c974f41eed96359501bd41c7d4f051026f64d835e52f1031f39e6bba6ce976a27e660a8b36087e56b81205206066c68b42db9a1d578d351a8f8b
-DIST linux-gpib-4.3.3.tar.gz 1381420 BLAKE2B 0ee8c4d740272a55be03f07bd49c9a93d0ec4808465c9b0abc4ede2ee9ef4bcb8a48fb8c98617d007c8b7af970eae185de65094a8814b05cb81bfc983bf9df3e SHA512 91b2c345dc82778b757122dc41ae74138831223a73057ddf9f04d10b8f6a059760e17134378df46a1ecb13c42bec1383aced0f2446f803af425391193a77066e
+DIST linux-gpib-4.3.5.tar.gz 1462624 BLAKE2B fff30ed1a7abc18cd4317e8f8979ef4014a532baab8c014f9a2eaa3338a2e8e8b672214d3f2b3f44066be15f432861a3fe3d67652f6966e73e561d99ff1e1566 SHA512 018cc255922a6335f8d28418b0a0808c3a369506470d9c81432ac7183ae255217d938a419e10ba2b0c44205a9d901405ce00ad5bdd968db2721cedd83baa2f76
diff --git a/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.0-kernel53.patch b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.0-kernel53.patch
deleted file mode 100644
index e650ccb5ed15..000000000000
--- a/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.0-kernel53.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Index: linux-gpib-kernel/compat/include/linux/device.h
-===================================================================
---- linux-gpib-kernel/compat/include/linux/device.h (revision 1867)
-+++ linux-gpib-kernel/compat/include/linux/device.h (revision 1868)
-@@ -144,4 +144,10 @@
-
- #endif // LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,3,0)
-+#define DRIVER_FIND_DEVICE_DATA_TYPE void *
-+#else
-+#define DRIVER_FIND_DEVICE_DATA_TYPE const void *
-+#endif
-+
- #endif // __COMPAT_LINUX_DEVICE_H_
-Index: linux-gpib-kernel/drivers/gpib/fmh_gpib/fmh_gpib.c
-===================================================================
---- linux-gpib-kernel/drivers/gpib/fmh_gpib/fmh_gpib.c (revision 1867)
-+++ linux-gpib-kernel/drivers/gpib/fmh_gpib/fmh_gpib.c (revision 1868)
-@@ -982,7 +982,7 @@
- }
-
- /* Match callback for driver_find_device */
--static int fmh_gpib_device_match(struct device *dev, void *data)
-+static int fmh_gpib_device_match(struct device *dev, DRIVER_FIND_DEVICE_DATA_TYPE data)
- {
- const gpib_board_config_t *config = data;
-
-@@ -1014,7 +1014,7 @@
- struct platform_device *pdev;
-
- board->dev = driver_find_device(&fmh_gpib_platform_driver.driver,
-- NULL, (void*)config, &fmh_gpib_device_match);
-+ NULL, (DRIVER_FIND_DEVICE_DATA_TYPE)config, &fmh_gpib_device_match);
- if(board->dev == NULL)
- {
- printk("No matching fmh_gpib_core device was found, attach failed.");
diff --git a/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.2-returntype.patch b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.2-returntype.patch
deleted file mode 100644
index 88aa18081574..000000000000
--- a/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.2-returntype.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-https://sourceforge.net/p/linux-gpib/code/1901/
-
-Index: linux-gpib-kernel/drivers/gpib/eastwood/fluke_gpib.c
-===================================================================
---- linux-gpib-kernel/drivers/gpib/eastwood/fluke_gpib.c (revision 1900)
-+++ linux-gpib-kernel/drivers/gpib/eastwood/fluke_gpib.c (revision 1901)
-@@ -114,15 +114,15 @@
- fluke_private_t *priv = board->private_data;
- return nec7210_update_status( board, &priv->nec7210_priv, clear_mask );
- }
--void fluke_primary_address(gpib_board_t *board, unsigned int address)
-+int fluke_primary_address(gpib_board_t *board, unsigned int address)
- {
- fluke_private_t *priv = board->private_data;
-- nec7210_primary_address(board, &priv->nec7210_priv, address);
-+ return nec7210_primary_address(board, &priv->nec7210_priv, address);
- }
--void fluke_secondary_address(gpib_board_t *board, unsigned int address, int enable)
-+int fluke_secondary_address(gpib_board_t *board, unsigned int address, int enable)
- {
- fluke_private_t *priv = board->private_data;
-- nec7210_secondary_address(board, &priv->nec7210_priv, address, enable);
-+ return nec7210_secondary_address(board, &priv->nec7210_priv, address, enable);
- }
- int fluke_parallel_poll(gpib_board_t *board, uint8_t *result)
- {
-Index: linux-gpib-kernel/drivers/gpib/fmh_gpib/fmh_gpib.c
-===================================================================
---- linux-gpib-kernel/drivers/gpib/fmh_gpib/fmh_gpib.c (revision 1900)
-+++ linux-gpib-kernel/drivers/gpib/fmh_gpib/fmh_gpib.c (revision 1901)
-@@ -100,15 +100,15 @@
- fmh_gpib_private_t *priv = board->private_data;
- return nec7210_update_status( board, &priv->nec7210_priv, clear_mask );
- }
--void fmh_gpib_primary_address(gpib_board_t *board, unsigned int address)
-+int fmh_gpib_primary_address(gpib_board_t *board, unsigned int address)
- {
- fmh_gpib_private_t *priv = board->private_data;
-- nec7210_primary_address(board, &priv->nec7210_priv, address);
-+ return nec7210_primary_address(board, &priv->nec7210_priv, address);
- }
--void fmh_gpib_secondary_address(gpib_board_t *board, unsigned int address, int enable)
-+int fmh_gpib_secondary_address(gpib_board_t *board, unsigned int address, int enable)
- {
- fmh_gpib_private_t *priv = board->private_data;
-- nec7210_secondary_address(board, &priv->nec7210_priv, address, enable);
-+ return nec7210_secondary_address(board, &priv->nec7210_priv, address, enable);
- }
- int fmh_gpib_parallel_poll(gpib_board_t *board, uint8_t *result)
- {
diff --git a/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-depmod.patch b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-depmod.patch
new file mode 100644
index 000000000000..e858b974324c
--- /dev/null
+++ b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-depmod.patch
@@ -0,0 +1,21 @@
+Depmod fails here since we're still in DESTDIR and the actual target path may
+not exist...
+
+
+diff -ruN linux-gpib-kernel-4.3.4.orig/Makefile linux-gpib-kernel-4.3.4/Makefile
+--- linux-gpib-kernel-4.3.4.orig/Makefile 2020-12-29 10:42:34.000000000 +0100
++++ linux-gpib-kernel-4.3.4/Makefile 2022-08-02 12:21:38.097344102 +0200
+@@ -20,13 +20,9 @@
+ M="$(GPIB_SRCDIR)/drivers/gpib" \
+ GPIB_TOP_DIR=$(GPIB_SRCDIR)
+
+-#We run depmod explicitly because the depmod.sh script run
+-#by modules_install fails on Debian due to it failing to find
+-#the System.map file.
+ install:
+ $(MAKE) -C $(LINUX_SRCDIR) V=$(VERBOSE) modules_install\
+ M="$(GPIB_SRCDIR)/drivers/gpib" \
+ GPIB_TOP_DIR=$(GPIB_SRCDIR) \
+ INSTALL_MOD_DIR=gpib
+- /sbin/depmod -A
+
diff --git a/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-kernel-6.4.patch b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-kernel-6.4.patch
new file mode 100644
index 000000000000..90112106584d
--- /dev/null
+++ b/sci-libs/linux-gpib-modules/files/linux-gpib-modules-4.3.4-kernel-6.4.patch
@@ -0,0 +1,27 @@
+--- linux-gpib-kernel/compat/include/linux/device.h (revision 2052)
++++ linux-gpib-kernel/compat/include/linux/device.h (revision 2053)
+@@ -47,6 +47,13 @@
+ * for kernel versions prior to 2.6.26, so the 'drvdata' parameter of
+ * CLASS_DEVICE_CREATE() is pretty useless.
+ */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6,4,0)
++#define CLASS_CREATE(owner, name) \
++ class_create(owner, name)
++#else
++#define CLASS_CREATE(owner, name) \
++ class_create(name)
++#endif
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+ #include <pcmcia/cs_types.h>
+--- linux-gpib-kernel/drivers/gpib/sys/osinit.c (revision 2052)
++++ linux-gpib-kernel/drivers/gpib/sys/osinit.c (revision 2053)
+@@ -207,7 +207,7 @@
+ printk( "gpib: can't get major %d\n", GPIB_CODE );
+ return -EIO;
+ }
+- gpib_class = class_create(THIS_MODULE, "gpib_common");
++ gpib_class = CLASS_CREATE(THIS_MODULE, "gpib_common");
+ if(IS_ERR(gpib_class))
+ {
+ printk("gpib: failed to create gpib class\n");
diff --git a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.0.ebuild b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.0.ebuild
deleted file mode 100644
index 388a9a97a8c8..000000000000
--- a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit linux-info linux-mod toolchain-funcs
-
-DESCRIPTION="Kernel modules for GPIB (IEEE 488.2) hardware"
-HOMEPAGE="https://linux-gpib.sourceforge.io/"
-SRC_URI="mirror://sourceforge/linux-gpib/linux-gpib-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~x86"
-IUSE="debug"
-
-COMMONDEPEND=""
-RDEPEND="${COMMONDEPEND}
- acct-group/gpib
- !<sci-libs/linux-gpib-4.2.0_rc1
-"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig"
-
-S=${WORKDIR}/linux-gpib-kernel-${PV}
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.3.0-kernel53.patch"
-)
-
-pkg_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
-}
-
-src_unpack() {
- default
- unpack "${WORKDIR}/linux-gpib-${PV}/linux-gpib-kernel-${PV}.tar.gz"
-}
-
-src_configure() {
- set_arch_to_kernel
-
- my_gpib_makeopts=''
- use debug && my_gpib_makeopts+='GPIB-DEBUG=1 '
-
- my_gpib_makeopts+="LINUX_SRCDIR=${KERNEL_DIR} "
-}
-
-src_compile() {
- set_arch_to_kernel
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- docdir=/usr/share/doc/${PF}/html \
- ${my_gpib_makeopts}
-}
-
-src_install() {
- set_arch_to_kernel
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- DEPMOD="/bin/true" \
- docdir=/usr/share/doc/${PF}/html \
- ${my_gpib_makeopts} \
- install
-
- dodoc ChangeLog AUTHORS README* NEWS
-}
diff --git a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.2.ebuild b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.2.ebuild
deleted file mode 100644
index 031ea6766820..000000000000
--- a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit linux-info linux-mod toolchain-funcs
-
-DESCRIPTION="Kernel modules for GPIB (IEEE 488.2) hardware"
-HOMEPAGE="https://linux-gpib.sourceforge.io/"
-SRC_URI="mirror://sourceforge/linux-gpib/linux-gpib-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="debug"
-
-COMMONDEPEND=""
-RDEPEND="${COMMONDEPEND}
- acct-group/gpib
- !<sci-libs/linux-gpib-4.2.0_rc1
-"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig"
-
-S=${WORKDIR}/linux-gpib-kernel-${PV}
-
-PATCHES=(
- "${FILESDIR}/${P}-returntype.patch"
-)
-
-pkg_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
-}
-
-src_unpack() {
- default
- unpack "${WORKDIR}/linux-gpib-${PV}/linux-gpib-kernel-${PV}.tar.gz"
-}
-
-src_configure() {
- set_arch_to_kernel
-
- my_gpib_makeopts=''
- use debug && my_gpib_makeopts+='GPIB-DEBUG=1 '
-
- my_gpib_makeopts+="LINUX_SRCDIR=${KERNEL_DIR} "
-}
-
-src_compile() {
- set_arch_to_kernel
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- docdir=/usr/share/doc/${PF}/html \
- ${my_gpib_makeopts}
-}
-
-src_install() {
- set_arch_to_kernel
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- DEPMOD="/bin/true" \
- docdir=/usr/share/doc/${PF}/html \
- ${my_gpib_makeopts} \
- install
-
- dodoc ChangeLog AUTHORS README* NEWS
-}
diff --git a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.3.ebuild b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.3.ebuild
deleted file mode 100644
index 5b209c4c2813..000000000000
--- a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.3.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit linux-info linux-mod toolchain-funcs
-
-DESCRIPTION="Kernel modules for GPIB (IEEE 488.2) hardware"
-HOMEPAGE="https://linux-gpib.sourceforge.io/"
-SRC_URI="mirror://sourceforge/linux-gpib/linux-gpib-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="debug"
-
-COMMONDEPEND=""
-RDEPEND="${COMMONDEPEND}
- acct-group/gpib
- !<sci-libs/linux-gpib-4.2.0_rc1
-"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig"
-
-S=${WORKDIR}/linux-gpib-kernel-${PV}
-
-pkg_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
-}
-
-src_unpack() {
- default
- unpack "${WORKDIR}/linux-gpib-${PV}/linux-gpib-kernel-${PV}.tar.gz"
-}
-
-src_configure() {
- set_arch_to_kernel
-
- my_gpib_makeopts=''
- use debug && my_gpib_makeopts+='GPIB-DEBUG=1 '
-
- my_gpib_makeopts+="LINUX_SRCDIR=${KERNEL_DIR} "
-}
-
-src_compile() {
- set_arch_to_kernel
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- docdir=/usr/share/doc/${PF}/html \
- ${my_gpib_makeopts}
-}
-
-src_install() {
- set_arch_to_kernel
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- DEPMOD="/bin/true" \
- docdir=/usr/share/doc/${PF}/html \
- ${my_gpib_makeopts} \
- install
-
- dodoc ChangeLog AUTHORS README* NEWS
-}
diff --git a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild
new file mode 100644
index 000000000000..d60c35f56f5d
--- /dev/null
+++ b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5-r3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+DESCRIPTION="Kernel modules for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="https://linux-gpib.sourceforge.io/"
+SRC_URI="mirror://sourceforge/linux-gpib/linux-gpib-${PV}.tar.gz"
+S="${WORKDIR}/linux-gpib-kernel-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86"
+IUSE="debug"
+
+COMMONDEPEND=""
+RDEPEND="${COMMONDEPEND}
+ acct-group/gpib
+"
+DEPEND="${COMMONDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ # don't fix debian bugs if they break gentoo
+ "${FILESDIR}/${PN}-4.3.4-depmod.patch"
+ # https://sourceforge.net/p/linux-gpib/code/2053/
+ "${FILESDIR}/${PN}-4.3.4-kernel-6.4.patch"
+)
+
+MODULES_KERNEL_MIN=2.6.8
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}/linux-gpib-${PV}/linux-gpib-kernel-${PV}.tar.gz"
+}
+
+src_configure() {
+ MODULES_MAKEARGS+=( LINUX_SRCDIR="${KV_OUT_DIR}" )
+ use debug && MODULES_MAKEARGS+=( 'GPIB-DEBUG=1' )
+}
+
+src_compile() {
+ # The individual modules don't have separate targets so we can't use
+ # modlist here.
+ emake "${MODULES_MAKEARGS[@]}"
+}
+
+src_install() {
+ emake \
+ "${MODULES_MAKEARGS[@]}" \
+ DESTDIR="${ED}" \
+ INSTALL_MOD_PATH="${ED}" \
+ docdir="${ED}/usr/share/doc/${PF}/html" \
+ install
+
+ modules_post_process
+
+ dodoc ChangeLog AUTHORS README* NEWS
+ einstalldocs
+}
diff --git a/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5.ebuild b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5.ebuild
new file mode 100644
index 000000000000..fb572031d1ee
--- /dev/null
+++ b/sci-libs/linux-gpib-modules/linux-gpib-modules-4.3.5.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info linux-mod
+
+DESCRIPTION="Kernel modules for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="https://linux-gpib.sourceforge.io/"
+SRC_URI="mirror://sourceforge/linux-gpib/linux-gpib-${PV}.tar.gz"
+S="${WORKDIR}/linux-gpib-kernel-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86"
+IUSE="debug"
+
+COMMONDEPEND=""
+RDEPEND="${COMMONDEPEND}
+ acct-group/gpib
+"
+DEPEND="${COMMONDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ # don't fix debian bugs if they break gentoo
+ "${FILESDIR}/${PN}-4.3.4-depmod.patch"
+)
+
+pkg_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
+}
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}/linux-gpib-${PV}/linux-gpib-kernel-${PV}.tar.gz"
+}
+
+src_configure() {
+ set_arch_to_kernel
+
+ my_gpib_makeopts=''
+ use debug && my_gpib_makeopts+='GPIB-DEBUG=1 '
+
+ my_gpib_makeopts+="LINUX_SRCDIR=${KERNEL_DIR} "
+}
+
+src_compile() {
+ set_arch_to_kernel
+ emake \
+ ${my_gpib_makeopts}
+}
+
+src_install() {
+ set_arch_to_kernel
+ emake \
+ DESTDIR="${ED}" \
+ INSTALL_MOD_PATH="${ED}" \
+ DEPMOD="/bin/true" \
+ docdir="${ED}/usr/share/doc/${PF}/html" \
+ ${my_gpib_makeopts} \
+ install
+
+ dodoc ChangeLog AUTHORS README* NEWS
+}
diff --git a/sci-libs/linux-gpib-modules/metadata.xml b/sci-libs/linux-gpib-modules/metadata.xml
index 0781b9a96b94..9f59724a8233 100644
--- a/sci-libs/linux-gpib-modules/metadata.xml
+++ b/sci-libs/linux-gpib-modules/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dilfridge@gentoo.org</email>
diff --git a/sci-libs/linux-gpib/Manifest b/sci-libs/linux-gpib/Manifest
index 81c7d8d928fe..03b2905a5e32 100644
--- a/sci-libs/linux-gpib/Manifest
+++ b/sci-libs/linux-gpib/Manifest
@@ -1,4 +1,2 @@
-DIST gpib_firmware-2006-11-12.tar.gz 169357 BLAKE2B 05f1be78545e025d76e2b9819a5dcac5a6715dfbb6df5c6fbe8b78900adf8ca7b1c28db350674ff1dd9c77e24507e98b536ca1af8b558c9a46ef8c25034c9769 SHA512 164d6fcfb3af43933f0a16645276f7d527a7aa24ef311f6ae3dcd7f45c41f92c855cf221bc946772f43fc2f9524057abc34bbd7d805c89b33ed7e111bc6870af
-DIST linux-gpib-4.3.0.tar.gz 1375852 BLAKE2B e2daa444ddf4c0c34084f264247051d4ce1c8103d8ae5d91b02d4742131c1f92ded02775eb0f8b0ea29820e2ae7b61c3132c74084a876e86fbb4efaf11688773 SHA512 8db4eb6d606c68ffacc67988479684fec815fc552756a6c93466ef0dfc93368771bb551944e3afc31db83e72e464ec1fb289fdcf80b4a6be1617e734fe3b9d65
-DIST linux-gpib-4.3.2.tar.gz 1377406 BLAKE2B 57ec8b3788606ffb42d204ad0e2476c432bc82f929b1854c6a1d48c73f48a149716d05b13906b4597a4bf03e4c10a0ffe2c66e6de8cf9a5891b86c3d459713fc SHA512 bf9963d885e0c974f41eed96359501bd41c7d4f051026f64d835e52f1031f39e6bba6ce976a27e660a8b36087e56b81205206066c68b42db9a1d578d351a8f8b
-DIST linux-gpib-4.3.3.tar.gz 1381420 BLAKE2B 0ee8c4d740272a55be03f07bd49c9a93d0ec4808465c9b0abc4ede2ee9ef4bcb8a48fb8c98617d007c8b7af970eae185de65094a8814b05cb81bfc983bf9df3e SHA512 91b2c345dc82778b757122dc41ae74138831223a73057ddf9f04d10b8f6a059760e17134378df46a1ecb13c42bec1383aced0f2446f803af425391193a77066e
+DIST gpib_firmware-2008-08-10.tar.gz 173004 BLAKE2B 05fcde09de5246b86004c263c733d64316511bdb0b84dfbd9b94cb78e2909c0d191ff21ee0d77e7f0947e9231bd4cd62d6348e8f9beefd6d201b473732ff23d2 SHA512 f2a0ee3316b75ac36ed88568e45ca4c69935a6d10783c65582003ab39686f2a69d3002901866065f4f5efa9fdd4c779e038d1d7ce24bba266a619c164d5ac10d
+DIST linux-gpib-4.3.5.tar.gz 1462624 BLAKE2B fff30ed1a7abc18cd4317e8f8979ef4014a532baab8c014f9a2eaa3338a2e8e8b672214d3f2b3f44066be15f432861a3fe3d67652f6966e73e561d99ff1e1566 SHA512 018cc255922a6335f8d28418b0a0808c3a369506470d9c81432ac7183ae255217d938a419e10ba2b0c44205a9d901405ce00ad5bdd968db2721cedd83baa2f76
diff --git a/sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild b/sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild
deleted file mode 100644
index ae944aeda719..000000000000
--- a/sci-libs/linux-gpib/linux-gpib-4.3.0.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 python3_7 )
-
-inherit readme.gentoo-r1 autotools perl-functions python-single-r1 toolchain-funcs udev
-
-DESCRIPTION="Driver library for GPIB (IEEE 488.2) hardware"
-HOMEPAGE="https://linux-gpib.sourceforge.io/"
-SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
- firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-2006-11-12.tar.gz )
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~x86"
-IUSE="pcmcia static guile perl php python tcl doc firmware"
-
-S="${WORKDIR}/${PN}-user-${PV}"
-
-COMMONDEPEND="
- sys-libs/readline:=
- 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}
- acct-group/gpib
- ~sci-libs/linux-gpib-modules-${PV}
-"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- doc? ( app-text/docbook-sgml-utils )
- perl? ( virtual/perl-ExtUtils-MakeMaker )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.3.0-perl.patch
-)
-
-pkg_setup() {
- use perl && perl_set_version
- use python && python_setup
-}
-
-src_unpack() {
- default
- unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static) \
- $(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)
-}
-
-src_compile() {
- FIRM_DIR=/usr/share/usb
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
- UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
- USB_FIRMWARE_DIR=${FIRM_DIR} \
- docdir=/usr/share/doc/${PF}/html
-}
-
-src_install() {
- FIRM_DIR=/usr/share/usb
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
- UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
- USB_FIRMWARE_DIR=${FIRM_DIR} \
- docdir=/usr/share/doc/${PF}/html install
-
- if use perl; then
- einfo "Installing perl module"
- cd "${S}"/language/perl || die
- DESTDIR=${D} emake install
- perl_fix_packlist
- perl_delete_emptybsdir
- 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
- insinto /etc/pcmcia
- doins "${S}"/etc/pcmcia/*
- fi
-
- # fix rules files
- local f
- find "${D}$(get_udevdir)"/rules.d -type f -print0 | while read -rd '' f ; do
- grep -q "${D}" "${f}" && einfo "File ${f} contains a temporary path, fixing."
- sed -i -e "s:${D}:/:g" "${f}"
- done
-
- DOC_CONTENTS="
-As the udev rules were changed and refactored in this release it is
-necessary to remove any manually installed pre-4.3.0 gpib udev rules files
-in /etc/udev/rules.d/. The files to remove are:
-\n
- 99-agilent_82357a.rules\n
- 99-gpib-generic.rules\n
- 99-ni_usb_gpib.rules\n
-\n
-You need to run the 'gpib_config' utility to setup the driver before
-you can use it. In order to do it automatically you can add to your
-start script something like this (supposing the appropriate driver
-is loaded on the startup):
-\n
- gpib_config --minor 0
-\n
-To give a user access to the computer's gpib board you will have to add
-them to the group 'gpib' or, you could change the permissions on the device
-files /dev/gpib[0-15] to something you like better, using 'chmod'
-\n
-Edit /etc/gpib.conf to match your interface board, and any devices you wish
-to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for
-more information.
-\n
-"
-
- if use pcmcia; then
- DOC_CONTENTS+='
-For PCMCIA cards:\n
-All files needed for a PCMCIA board were copied to /etc/pcmcia.
-You may wish to edit the options passed to the gpib_config call in the
-/etc/pcmcia/linux-gpib-pcmcia script.
-You may need to send a SIGHUP signal to the cardmgr daemon to force it
-to reload the files in /etc/pcmcia \(alternatively you could use your
-pcmcia init.d script to restart the cardmgr, or you could just reboot\).
-The driver module will be loaded as needed by the cardmgr.
-
-'
- fi
-
- if use firmware; then
- DOC_CONTENTS+='
-For Agilent \(HP\) 82341C and 82341D cards:
-The firmware for these boards is uploaded by passing the appropriate
-firmware file from /usr/share/linux-gpib/hp_82341 directory to
-gpib_config using the -I or --init-data command line option. Example:\n
-gpib_config --minor 0 --init-data /usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin
-'
- fi
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sci-libs/linux-gpib/linux-gpib-4.3.2.ebuild b/sci-libs/linux-gpib/linux-gpib-4.3.2.ebuild
deleted file mode 100644
index 91351386ba0b..000000000000
--- a/sci-libs/linux-gpib/linux-gpib-4.3.2.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 python3_7 )
-
-inherit readme.gentoo-r1 autotools perl-functions python-single-r1 toolchain-funcs udev
-
-DESCRIPTION="Driver library for GPIB (IEEE 488.2) hardware"
-HOMEPAGE="https://linux-gpib.sourceforge.io/"
-SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
- firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-2006-11-12.tar.gz )
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="pcmcia static guile perl php python tcl doc firmware"
-
-S="${WORKDIR}/${PN}-user-${PV}"
-
-COMMONDEPEND="
- sys-libs/readline:=
- 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}
- acct-group/gpib
- ~sci-libs/linux-gpib-modules-${PV}
-"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- doc? ( app-text/docbook-sgml-utils )
- perl? ( virtual/perl-ExtUtils-MakeMaker )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.3.0-perl.patch
-)
-
-pkg_setup() {
- use perl && perl_set_version
- use python && python_setup
-}
-
-src_unpack() {
- default
- unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static) \
- $(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)
-}
-
-src_compile() {
- FIRM_DIR=/usr/share/usb
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
- UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
- USB_FIRMWARE_DIR=${FIRM_DIR} \
- docdir=/usr/share/doc/${PF}/html
-}
-
-src_install() {
- FIRM_DIR=/usr/share/usb
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
- UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
- USB_FIRMWARE_DIR=${FIRM_DIR} \
- docdir=/usr/share/doc/${PF}/html install
-
- if use perl; then
- einfo "Installing perl module"
- cd "${S}"/language/perl || die
- DESTDIR=${D} emake install
- perl_fix_packlist
- perl_delete_emptybsdir
- 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
- insinto /etc/pcmcia
- doins "${S}"/etc/pcmcia/*
- fi
-
- # fix rules files
- local f
- find "${D}$(get_udevdir)"/rules.d -type f -print0 | while read -rd '' f ; do
- grep -q "${D}" "${f}" && einfo "File ${f} contains a temporary path, fixing."
- sed -i -e "s:${D}:/:g" "${f}"
- done
-
- DOC_CONTENTS="
-As the udev rules were changed and refactored in this release it is
-necessary to remove any manually installed pre-4.3.0 gpib udev rules files
-in /etc/udev/rules.d/. The files to remove are:
-\n
- 99-agilent_82357a.rules\n
- 99-gpib-generic.rules\n
- 99-ni_usb_gpib.rules\n
-\n
-You need to run the 'gpib_config' utility to setup the driver before
-you can use it. In order to do it automatically you can add to your
-start script something like this (supposing the appropriate driver
-is loaded on the startup):
-\n
- gpib_config --minor 0
-\n
-To give a user access to the computer's gpib board you will have to add
-them to the group 'gpib' or, you could change the permissions on the device
-files /dev/gpib[0-15] to something you like better, using 'chmod'
-\n
-Edit /etc/gpib.conf to match your interface board, and any devices you wish
-to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for
-more information.
-\n
-"
-
- if use pcmcia; then
- DOC_CONTENTS+='
-For PCMCIA cards:\n
-All files needed for a PCMCIA board were copied to /etc/pcmcia.
-You may wish to edit the options passed to the gpib_config call in the
-/etc/pcmcia/linux-gpib-pcmcia script.
-You may need to send a SIGHUP signal to the cardmgr daemon to force it
-to reload the files in /etc/pcmcia \(alternatively you could use your
-pcmcia init.d script to restart the cardmgr, or you could just reboot\).
-The driver module will be loaded as needed by the cardmgr.
-
-'
- fi
-
- if use firmware; then
- DOC_CONTENTS+='
-For Agilent \(HP\) 82341C and 82341D cards:
-The firmware for these boards is uploaded by passing the appropriate
-firmware file from /usr/share/linux-gpib/hp_82341 directory to
-gpib_config using the -I or --init-data command line option. Example:\n
-gpib_config --minor 0 --init-data /usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin
-'
- fi
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sci-libs/linux-gpib/linux-gpib-4.3.3.ebuild b/sci-libs/linux-gpib/linux-gpib-4.3.3.ebuild
deleted file mode 100644
index 91351386ba0b..000000000000
--- a/sci-libs/linux-gpib/linux-gpib-4.3.3.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 python3_7 )
-
-inherit readme.gentoo-r1 autotools perl-functions python-single-r1 toolchain-funcs udev
-
-DESCRIPTION="Driver library for GPIB (IEEE 488.2) hardware"
-HOMEPAGE="https://linux-gpib.sourceforge.io/"
-SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
- firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-2006-11-12.tar.gz )
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="pcmcia static guile perl php python tcl doc firmware"
-
-S="${WORKDIR}/${PN}-user-${PV}"
-
-COMMONDEPEND="
- sys-libs/readline:=
- 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}
- acct-group/gpib
- ~sci-libs/linux-gpib-modules-${PV}
-"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- doc? ( app-text/docbook-sgml-utils )
- perl? ( virtual/perl-ExtUtils-MakeMaker )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.3.0-perl.patch
-)
-
-pkg_setup() {
- use perl && perl_set_version
- use python && python_setup
-}
-
-src_unpack() {
- default
- unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static) \
- $(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)
-}
-
-src_compile() {
- FIRM_DIR=/usr/share/usb
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
- UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
- USB_FIRMWARE_DIR=${FIRM_DIR} \
- docdir=/usr/share/doc/${PF}/html
-}
-
-src_install() {
- FIRM_DIR=/usr/share/usb
- emake \
- DESTDIR="${D}" \
- INSTALL_MOD_PATH="${D}" \
- HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
- UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
- USB_FIRMWARE_DIR=${FIRM_DIR} \
- docdir=/usr/share/doc/${PF}/html install
-
- if use perl; then
- einfo "Installing perl module"
- cd "${S}"/language/perl || die
- DESTDIR=${D} emake install
- perl_fix_packlist
- perl_delete_emptybsdir
- 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
- insinto /etc/pcmcia
- doins "${S}"/etc/pcmcia/*
- fi
-
- # fix rules files
- local f
- find "${D}$(get_udevdir)"/rules.d -type f -print0 | while read -rd '' f ; do
- grep -q "${D}" "${f}" && einfo "File ${f} contains a temporary path, fixing."
- sed -i -e "s:${D}:/:g" "${f}"
- done
-
- DOC_CONTENTS="
-As the udev rules were changed and refactored in this release it is
-necessary to remove any manually installed pre-4.3.0 gpib udev rules files
-in /etc/udev/rules.d/. The files to remove are:
-\n
- 99-agilent_82357a.rules\n
- 99-gpib-generic.rules\n
- 99-ni_usb_gpib.rules\n
-\n
-You need to run the 'gpib_config' utility to setup the driver before
-you can use it. In order to do it automatically you can add to your
-start script something like this (supposing the appropriate driver
-is loaded on the startup):
-\n
- gpib_config --minor 0
-\n
-To give a user access to the computer's gpib board you will have to add
-them to the group 'gpib' or, you could change the permissions on the device
-files /dev/gpib[0-15] to something you like better, using 'chmod'
-\n
-Edit /etc/gpib.conf to match your interface board, and any devices you wish
-to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for
-more information.
-\n
-"
-
- if use pcmcia; then
- DOC_CONTENTS+='
-For PCMCIA cards:\n
-All files needed for a PCMCIA board were copied to /etc/pcmcia.
-You may wish to edit the options passed to the gpib_config call in the
-/etc/pcmcia/linux-gpib-pcmcia script.
-You may need to send a SIGHUP signal to the cardmgr daemon to force it
-to reload the files in /etc/pcmcia \(alternatively you could use your
-pcmcia init.d script to restart the cardmgr, or you could just reboot\).
-The driver module will be loaded as needed by the cardmgr.
-
-'
- fi
-
- if use firmware; then
- DOC_CONTENTS+='
-For Agilent \(HP\) 82341C and 82341D cards:
-The firmware for these boards is uploaded by passing the appropriate
-firmware file from /usr/share/linux-gpib/hp_82341 directory to
-gpib_config using the -I or --init-data command line option. Example:\n
-gpib_config --minor 0 --init-data /usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin
-'
- fi
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
diff --git a/sci-libs/linux-gpib/linux-gpib-4.3.5.ebuild b/sci-libs/linux-gpib/linux-gpib-4.3.5.ebuild
new file mode 100644
index 000000000000..30f0a65b08bb
--- /dev/null
+++ b/sci-libs/linux-gpib/linux-gpib-4.3.5.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit readme.gentoo-r1 autotools perl-functions python-single-r1 udev
+
+# Check for latest firmware version on bump
+FW_PV="2008-08-10"
+
+DESCRIPTION="Driver library for GPIB (IEEE 488.2) hardware"
+HOMEPAGE="https://linux-gpib.sourceforge.io/"
+SRC_URI="mirror://sourceforge/linux-gpib/${P}.tar.gz
+ firmware? ( https://linux-gpib.sourceforge.io/firmware/gpib_firmware-${FW_PV}.tar.gz )
+"
+S="${WORKDIR}/${PN}-user-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86"
+IUSE="pcmcia static guile perl php python tcl doc firmware"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+COMMONDEPEND="
+ sys-libs/readline:=
+ 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}
+ acct-group/gpib
+ ~sci-libs/linux-gpib-modules-${PV}
+"
+DEPEND="${COMMONDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/docbook-sgml-utils )
+ perl? ( virtual/perl-ExtUtils-MakeMaker )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3.0-perl.patch
+)
+
+pkg_setup() {
+ use perl && perl_set_version
+ use python && python_setup
+}
+
+src_unpack() {
+ default
+ unpack "${WORKDIR}/${P}/${PN}-user-${PV}.tar.gz"
+}
+
+src_prepare() {
+ default
+
+ # We have to use --root instead of --prefix for setup.py.
+ # Otherwise the python files are not installed properly into site-packages.
+ sed -i -e \
+ 's/--prefix=$(DESTDIR)$(prefix)/--root=$(DESTDIR)/g' \
+ language/python/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static) \
+ $(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)
+}
+
+src_install() {
+ # PYTHONDONTWRITEBYTECODE=0 is required, otherwise
+ # installation of the python files is skipped
+ FIRM_DIR=/usr/share/usb
+ emake \
+ DESTDIR="${ED}" \
+ INSTALL_MOD_PATH="${ED}" \
+ HOTPLUG_USB_CONF_DIR=/etc/hotplug/usb \
+ UDEV_RULES_DIR="$(get_udevdir)"/rules.d \
+ USB_FIRMWARE_DIR=${FIRM_DIR} \
+ PYTHONDONTWRITEBYTECODE=0 \
+ docdir="/usr/share/doc/${PF}/html" install
+
+ if use perl; then
+ einfo "Installing perl module"
+ cd "${S}"/language/perl || die
+ emake DESTDIR="${ED}" install
+ perl_fix_packlist
+ perl_delete_emptybsdir
+ 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
+ insinto /etc/pcmcia
+ doins "${S}"/etc/pcmcia/*
+ fi
+
+ # fix rules files
+ local f
+ find "${ED}$(get_udevdir)"/rules.d -type f -print0 | while read -rd '' f ; do
+ grep -q "${ED}" "${f}" && einfo "File ${f} contains a temporary path, fixing."
+ sed -i -e "s:${ED}:/:g" "${f}"
+ done
+
+ DOC_CONTENTS="
+As the udev rules were changed and refactored in this release it is
+necessary to remove any manually installed pre-4.3.0 gpib udev rules files
+in /etc/udev/rules.d/. The files to remove are:
+\n
+ 99-agilent_82357a.rules\n
+ 99-gpib-generic.rules\n
+ 99-ni_usb_gpib.rules\n
+\n
+You need to run the 'gpib_config' utility to setup the driver before
+you can use it. In order to do it automatically you can add to your
+start script something like this (supposing the appropriate driver
+is loaded on the startup):
+\n
+ gpib_config --minor 0
+\n
+To give a user access to the computer's gpib board you will have to add
+them to the group 'gpib' or, you could change the permissions on the device
+files /dev/gpib[0-15] to something you like better, using 'chmod'
+\n
+Edit /etc/gpib.conf to match your interface board, and any devices you wish
+to open via ibfind(). See the documentation in /usr/share/linux-gpib/html for
+more information.
+\n
+"
+
+ if use pcmcia; then
+ DOC_CONTENTS+='
+For PCMCIA cards:\n
+All files needed for a PCMCIA board were copied to /etc/pcmcia.
+You may wish to edit the options passed to the gpib_config call in the
+/etc/pcmcia/linux-gpib-pcmcia script.
+You may need to send a SIGHUP signal to the cardmgr daemon to force it
+to reload the files in /etc/pcmcia \(alternatively you could use your
+pcmcia init.d script to restart the cardmgr, or you could just reboot\).
+The driver module will be loaded as needed by the cardmgr.
+
+'
+ fi
+
+ if use firmware; then
+ DOC_CONTENTS+='
+For Agilent \(HP\) 82341C and 82341D cards:
+The firmware for these boards is uploaded by passing the appropriate
+firmware file from /usr/share/linux-gpib/hp_82341 directory to
+gpib_config using the -I or --init-data command line option. Example:\n
+gpib_config --minor 0 --init-data /usr/share/linux-gpib/hp_82341/hp_82341c_fw.bin
+'
+ fi
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sci-libs/linux-gpib/metadata.xml b/sci-libs/linux-gpib/metadata.xml
index 0943a596eef1..27e81f251aac 100644
--- a/sci-libs/linux-gpib/metadata.xml
+++ b/sci-libs/linux-gpib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dilfridge@gentoo.org</email>
diff --git a/sci-libs/lis/Manifest b/sci-libs/lis/Manifest
index 213c948eee62..a9d864afb242 100644
--- a/sci-libs/lis/Manifest
+++ b/sci-libs/lis/Manifest
@@ -1 +1,2 @@
DIST lis-1.6.5.tar.gz 3130045 BLAKE2B 34627d7e310000a2b3acbbc5f11bd163b682224e42dc521adea318a69587e663e59c8296806f6271e8c39062a16bd6c3c24cda5b183bec41f2aba1be09f77a47 SHA512 0cd2fc445c6464490f01def99960f33bbde53b45b453e289edbc9f31b7a20f00d70538bd3feb03324b56ddbc5993d8ba3bfbc8a0574809be08a854c05c097f13
+DIST lis-2.1.3.zip 4002188 BLAKE2B 2249b05c15f3a13db02b240f4b517a004926a8cebb8072cfff74d9ad588b5d47190249c099b5b68b7031f3a9c3614f983cb3e8a27d59a252e9fc53d52ffad6c8 SHA512 5aa873d7ed928c816da6b7da4246c41fa3b3810e97bec1a0e8c914abdd2ef940134ab25a3f044b4dd206e81e8a9f7dab2eb0b631d75e1f52528e5de29b3f7028
diff --git a/sci-libs/lis/files/lis-2.1.3-autotools.patch b/sci-libs/lis/files/lis-2.1.3-autotools.patch
new file mode 100644
index 000000000000..c9020cc98fef
--- /dev/null
+++ b/sci-libs/lis/files/lis-2.1.3-autotools.patch
@@ -0,0 +1,431 @@
+From 81a98c67bd4e0653d719c76acd8f40d99b307d3e Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 31 Mar 2024 14:50:03 -0400
+Subject: [PATCH] Import undocumented patch: lis-1.6.2-autotools.patch
+
+---
+ configure.ac | 47 ++++---------------------------------
+ src/Makefile.am | 2 +-
+ src/array/Makefile.am | 13 +---------
+ src/esolver/Makefile.am | 13 +---------
+ src/fortran/Makefile.am | 11 ---------
+ src/fortran/amg/Makefile.am | 19 ---------------
+ src/matrix/Makefile.am | 13 +---------
+ src/matvec/Makefile.am | 13 +---------
+ src/precision/Makefile.am | 13 +---------
+ src/precon/Makefile.am | 13 +---------
+ src/solver/Makefile.am | 13 +---------
+ src/system/Makefile.am | 13 +---------
+ src/vector/Makefile.am | 13 +---------
+ test/Makefile.am | 39 +++++-------------------------
+ 14 files changed, 20 insertions(+), 215 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 02f226d..b887b13 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -500,26 +500,6 @@ if test "$TARGET" = ""; then
+ done
+ AC_MSG_CHECKING([for C compiler vendor])
+ AC_MSG_RESULT($[ax_cv_]_AC_LANG_ABBREV[_compiler_vendor])
+- case $ax_cv_c_compiler_vendor in
+- dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host $CFLAGS" ;;
+- gnu) CFLAGS="-O3 -fomit-frame-pointer $CFLAGS" ;;
+- intel) CFLAGS="-ansi_alias $CFLAGS" ;;
+- portland) CFLAGS="-O3 -B -fastsse $CFLAGS" ;;
+- pathscale) CFLAGS="-O3 $CFLAGS" ;;
+- ibm) CFLAGS="-O3 -qansialias -w -qarch=auto -qtune=auto $CFLAGS"
+- AR="ar -X any"
+- ;;
+- sun) case `(uname -m) 2>/dev/null` in
+- "i86pc") CFLAGS="-xtarget=native -xO5 -dalign $CFLAGS"
+- LDFLAGS="-xtarget=native -xO5"
+- ;;
+- *) CFLAGS="-xtarget=native64 -xO5 -dalign $CFLAGS"
+- LDFLAGS="-xtarget=native64 -xO5"
+- ;;
+- esac
+- ;;
+- hp) CFLAGS="+Oall +Optrs_ansi +DSnative $CFLAGS" ;;
+- esac
+
+ AC_DEFUN([_AX_PROG_FC_V_OUTPUT],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+@@ -666,6 +646,10 @@ if test "$enable_fortran" = "yes" || test "$enable_f90" = "yes" || test "$enable
+ 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
+@@ -710,29 +694,6 @@ if test "$TARGET" = ""; then
+ AC_MSG_CHECKING([for Fortran compiler vendor])
+ AC_MSG_RESULT($[ax_cv_]_AC_LANG_ABBREV[_compiler_vendor])
+ AC_LANG_POP(Fortran 77)
+- case $ax_cv_f77_compiler_vendor in
+- gnu) FFLAGS="-O3 -fomit-frame-pointer $FFLAGS"
+- FCFLAGS="-O3 -fomit-frame-pointer $FCFLAGS" ;;
+- intel) FFLAGS="-fpp $FFLAGS"
+- FCFLAGS="-fpp $FCFLAGS"
+- LDFLAGS="-Vaxlib"
+- FCLDFLAGS="-nofor_main" ;;
+- portland) FFLAGS="-O3 -fastsse -Mpreprocess $FFLAGS"
+- FCFLAGS="-O3 -fastsse -Mpreprocess $FCFLAGS"
+- FCLDFLAGS="-Mnomain" ;;
+- pathscale) FFLAGS="-O3 $FFLAGS" ;;
+- ibm) FFLAGS="-O3 -qsuffix=cpp=F -qfixed=72 -w -qarch=auto -qtune=auto $FFLAGS"
+- FCFLAGS="-O3 -qsuffix=cpp=F90 -w -qarch=auto -qtune=auto $FCFLAGS" ;;
+- sun) case `(uname -m) 2>/dev/null` in
+- "i86pc") FFLAGS="-fpp -xtarget=native -xO5 -dalign $FFLAGS"
+- FCFLAGS="-fpp -xtarget=native -xO5 -dalign $FCFLAGS"
+- FCLDFLAGS="-xO5" ;;
+- *) FFLAGS="-fpp -xtarget=native64 -xO5 -dalign $FFLAGS"
+- FCFLAGS="-fpp -xtarget=native64 -xO5 -dalign $FCFLAGS"
+- FCLDFLAGS="-xO5" ;;
+- esac
+- ;;
+- esac
+
+ if test x$ax_cv_c_compiler_vendor = x$ax_cv_f77_compiler_vendor; then
+ CLIBS=""
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 2af648b..3080b78 100755
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -23,7 +23,7 @@ if ENABLE_SAAMG
+ liblis@LIBSUFFIX@_la_LIBADD += fortran/libfortran.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 --git a/src/array/Makefile.am b/src/array/Makefile.am
+index 2f42d3c..66c9a1e 100755
+--- a/src/array/Makefile.am
++++ b/src/array/Makefile.am
+@@ -1,16 +1,5 @@
+ noinst_LTLIBRARIES = libarray.la
+ libarray_la_SOURCES = lis_array.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 --git a/src/esolver/Makefile.am b/src/esolver/Makefile.am
+index 5cdc9bc..d5e77a0 100755
+--- a/src/esolver/Makefile.am
++++ b/src/esolver/Makefile.am
+@@ -8,16 +8,5 @@ lis_esolver_pi.c \
+ lis_esolver_rqi.c \
+ lis_esolver_si.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 --git a/src/fortran/Makefile.am b/src/fortran/Makefile.am
+index 107c82e..fe06650 100755
+--- a/src/fortran/Makefile.am
++++ b/src/fortran/Makefile.am
+@@ -12,14 +12,3 @@ lisf_vector.c
+
+ 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 --git a/src/fortran/amg/Makefile.am b/src/fortran/amg/Makefile.am
+index 798e3b0..83219c8 100755
+--- a/src/fortran/amg/Makefile.am
++++ b/src/fortran/amg/Makefile.am
+@@ -25,25 +25,6 @@ endif
+
+ 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 --git a/src/matrix/Makefile.am b/src/matrix/Makefile.am
+index 2bb2497..ab831ee 100755
+--- a/src/matrix/Makefile.am
++++ b/src/matrix/Makefile.am
+@@ -17,16 +17,5 @@ lis_matrix_ops.c \
+ 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 --git a/src/matvec/Makefile.am b/src/matvec/Makefile.am
+index e23008c..2015116 100755
+--- a/src/matvec/Makefile.am
++++ b/src/matvec/Makefile.am
+@@ -13,16 +13,5 @@ lis_matvec_msr.c \
+ 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 --git a/src/precision/Makefile.am b/src/precision/Makefile.am
+index af9bd47..a94183d 100755
+--- a/src/precision/Makefile.am
++++ b/src/precision/Makefile.am
+@@ -4,16 +4,5 @@ lis_precision_matvec.c \
+ lis_precision_vec.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 --git a/src/precon/Makefile.am b/src/precon/Makefile.am
+index 3039cfa..14f025a 100755
+--- a/src/precon/Makefile.am
++++ b/src/precon/Makefile.am
+@@ -12,16 +12,5 @@ lis_precon_sainv.c \
+ 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 --git a/src/solver/Makefile.am b/src/solver/Makefile.am
+index f5c2d3d..d7ca4c3 100755
+--- a/src/solver/Makefile.am
++++ b/src/solver/Makefile.am
+@@ -17,16 +17,5 @@ lis_solver_qmr.c \
+ 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 --git a/src/system/Makefile.am b/src/system/Makefile.am
+index 97c84f3..f495ef9 100755
+--- a/src/system/Makefile.am
++++ b/src/system/Makefile.am
+@@ -13,16 +13,5 @@ lis_time.c \
+ 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 --git a/src/vector/Makefile.am b/src/vector/Makefile.am
+index 4c9e2e2..848adc2 100755
+--- a/src/vector/Makefile.am
++++ b/src/vector/Makefile.am
+@@ -4,16 +4,5 @@ lis_vector_ops.c \
+ 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 --git a/test/Makefile.am b/test/Makefile.am
+index 1a3e25a..3bc26fb 100755
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -5,21 +5,21 @@ AM_LDFLAGS = $(AMDEFS)
+
+ EXTRA_DIST = defs test.sh testmat.mtx testmat2.mtx testmat3.mtx testmat4.mtx testmat0.mtx testvec0.mtx
+
+-testdir = ${prefix}/share/examples/lis
++testdir = ${prefix}/share/lis/examples
+
+ test_DATA = testmat.mtx testmat2.mtx testmat3.mtx testmat4.mtx testmat0.mtx testvec0.mtx
+
+ test_SCRIPTS = defs test.sh
+
+-test_PROGRAMS = etest1 etest2 etest3 etest4 etest5 etest5b etest6 etest7 getest1 getest5 getest5b spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5 test1 test2 test2b test3 test3b test3c test4 test5 test6 test7
++check_PROGRAMS = etest1 etest2 etest3 etest4 etest5 etest5b etest6 etest7 getest1 getest5 getest5b spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5 test1 test2 test2b test3 test3b test3c test4 test5 test6 test7
+ if ENABLE_FORTRAN
+- test_PROGRAMS += etest1f etest4f test1f test4f test7f
++ check_PROGRAMS += etest1f etest4f test1f test4f test7f
+ endif
+ if ENABLE_F90
+- test_PROGRAMS += test2f test6f
++ check_PROGRAMS += test2f test6f
+ if ENABLE_SAAMG
+ if ENABLE_MPI
+- test_PROGRAMS += test8f
++ check_PROGRAMS += test8f
+ endif
+ endif
+ endif
+@@ -65,7 +65,7 @@ if ENABLE_F90
+ test8f_SOURCES = test8f.F90
+ endif
+
+-bin_PROGRAMS = esolve esolver gesolve gesolver hpcg_kernel hpcg_spmvtest lsolve spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5
++noinst_PROGRAMS = esolve esolver gesolve gesolver hpcg_kernel hpcg_spmvtest lsolve spmvtest1 spmvtest2 spmvtest2b spmvtest3 spmvtest3b spmvtest4 spmvtest5
+
+ lsolve_SOURCES = test1.c
+ esolve_SOURCES = etest5.c
+@@ -75,33 +75,6 @@ gesolver_SOURCES = getest5b.c
+ hpcg_kernel_SOURCES = test3b.c
+ hpcg_spmvtest_SOURCES = spmvtest3b.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
+
+
+--
+2.43.2
+
diff --git a/sci-libs/lis/lis-1.6.5-r1.ebuild b/sci-libs/lis/lis-1.6.5-r1.ebuild
new file mode 100644
index 000000000000..97ffc239f6f6
--- /dev/null
+++ b/sci-libs/lis/lis-1.6.5-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Library of Iterative Solvers for Linear Systems"
+HOMEPAGE="https://www.ssisc.org/lis/index.en.html"
+SRC_URI="https://www.ssisc.org/lis/dl/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse2 doc fortran mpi openmp quad saamg static-libs"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.6.2-autotools.patch )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp && FORTRAN_NEED_OPENMP=1
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/927587
+ # https://github.com/anishida/lis/issues/37
+ filter-lto
+
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static) \
+ $(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)
+}
+
+src_install() {
+ use doc && DOCS+=( doc/*.pdf )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/sci-libs/lis/lis-1.6.5.ebuild b/sci-libs/lis/lis-1.6.5.ebuild
deleted file mode 100644
index 75c41a7dd9e8..000000000000
--- a/sci-libs/lis/lis-1.6.5.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools fortran-2 toolchain-funcs
-
-DESCRIPTION="Library of Iterative Solvers for Linear Systems"
-HOMEPAGE="https://www.ssisc.org/lis/index.en.html"
-SRC_URI="https://www.ssisc.org/lis/dl/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse2 doc fortran mpi openmp quad saamg static-libs"
-
-RDEPEND="mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.6.2-autotools.patch )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- if ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected compiler"
-
- if tc-is-clang; then
- ewarn "OpenMP support in sys-devel/clang is provided by sys-libs/libomp,"
- ewarn "which you will need to build ${CATEGORY}/${PN} with USE=\"openmp\""
- fi
-
- die "need openmp capable compiler"
- fi
- FORTRAN_NEED_OPENMP=1
- fi
-
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(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)
-}
-
-src_install() {
- use doc && DOCS+=( doc/*.pdf )
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/sci-libs/lis/lis-2.1.3.ebuild b/sci-libs/lis/lis-2.1.3.ebuild
new file mode 100644
index 000000000000..fb4b08bdb429
--- /dev/null
+++ b/sci-libs/lis/lis-2.1.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Library of Iterative Solvers for Linear Systems"
+HOMEPAGE="https://www.ssisc.org/lis/index.en.html"
+SRC_URI="https://www.ssisc.org/lis/dl/${P}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 cpu_flags_x86_sse2 doc fortran mpi openmp quad saamg static-libs"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.1.3-autotools.patch )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp && FORTRAN_NEED_OPENMP=1
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/927587
+ # https://github.com/anishida/lis/issues/37
+ filter-lto
+
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static) \
+ $(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)
+}
+
+src_install() {
+ use doc && DOCS+=( doc/*.pdf )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/sci-libs/lis/metadata.xml b/sci-libs/lis/metadata.xml
index b2cb4b334b2e..adc6d0de7bdc 100644
--- a/sci-libs/lis/metadata.xml
+++ b/sci-libs/lis/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/lmfit/Manifest b/sci-libs/lmfit/Manifest
index 3fab8e98b75f..19a3cc374bc9 100644
--- a/sci-libs/lmfit/Manifest
+++ b/sci-libs/lmfit/Manifest
@@ -1,4 +1 @@
-DIST lmfit-5.1.tgz 345077 BLAKE2B df27621745601ffacd2110b28f3e3ea2b06d4c8c3c8fad5dda13bb4d6c2bd9f2a793ff88fab4f6d8c78075278bb26f3f424bd0074095e67ab1780a9d57b72b4b SHA512 1df6ed51d7f2137529793948f6c57ef3658932c9198776925a9f6e1d586352651c93aa053a064db7a201dbb848a7108f284223feff45171d142087539d834b29
-DIST lmfit-6.4.tgz 388809 BLAKE2B 48aa619642ac3fd009ec6a8f8b44ee4c800fc3f33e2603b557218cdf37c789159dc3947a648d560b9e2dd7fef08a6644fd25ac61505859dc3b1d151eeea58c27 SHA512 2bd0f24dd4638345b8b1ce6803ddcf45ca3ef888eb285e99f9f158c2e30b0f96016d9d84a112cdbf28f2ba98470e54fe773416179a65264426043c9a5186757d
-DIST lmfit-7.0.tgz 37950 BLAKE2B a509110f70e7e863d1172b8d91f7439763f0434702f265751e9955494f4982b4c17f0baaa080af86e5cae7f535555e27b98b45ba6a529061d107e53bdb9fd698 SHA512 78f479786c6e5c417781c6d629f5a517335fac70df049fafdefd511485da4e542c988d69c998f96eaab4306160de4bb09a631ca6ffff74bba70c51428d734fc3
-DIST lmfit-8.2.2.tgz 31970 BLAKE2B 67eebc0e58d3d78057afcd84f35adcfea783c8501a5f8934dd07c38eb2419b1c43bedd3401a830a993005913138bdf8d1dc73c2142983b9f881f0db9bec06b93 SHA512 5835dce914027429cb36765543cf6b872e4ef1acd8feaeca281f9edf286fda89db78fbc0713dcfea4e4f2fe55a1b05317e6428980060bc3acce579ef1fa0c271
+DIST lmfit-9.0.tar.gz 36686 BLAKE2B 34d77a9101dcea1387df09e58cf8b69e51b1961ba8f1f73ac070abcc4c6ddbf1a1cd1f4bf2568942442f0c4c3815288959259c16e505ad1a91a4db2a2753bed6 SHA512 523d18c75498f5586c55e6dfcab8d1005aaef61d60e8d482814ced4f90bcd14d72c53ee71ed1991651d38845cce67e3da756fab9500431d6f435fa5ad998c2b1
diff --git a/sci-libs/lmfit/files/lmfit-7.0-cmake.patch b/sci-libs/lmfit/files/lmfit-7.0-cmake.patch
deleted file mode 100644
index 9ca4efb248e9..000000000000
--- a/sci-libs/lmfit/files/lmfit-7.0-cmake.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 4e66272e1f5ebb220af517ca4d8804936f7f465c Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans@votca.org>
-Date: Thu, 31 May 2018 18:11:26 -0600
-Subject: [PATCH] cmake: minor distribution tweaks
-
-- Use GNUInstallDirs to allow to configure install dirs
-- Allow to disable injecting c flags
-
-Signed-off-by: Christoph Junghans <junghans@votca.org>
----
- CMakeLists.txt | 7 +++++--
- lib/CMakeLists.txt | 4 ++--
- man/CMakeLists.txt | 2 +-
- 3 files changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f2d0bdf..75753d3 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -13,9 +13,12 @@ set(lmfit_VERSION ${lmfit_SOVERSION}.0) # lib version
- # --- Declare project-wide user flags, and set default values ---
- option(FITTEST "Build with FitTest" OFF)
-
--set(destination ${CMAKE_INSTALL_PREFIX})
-+include(GNUInstallDirs)
-
--set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -pedantic -Wall -Wno-sign-compare -Wno-unused-result -Wno-parentheses -Wno-unknown-pragmas -Werror")
-+option(INJECT_C_FLAGS "Inject a bunch of useful c flags" ON)
-+if (INJECT_C_FLAGS)
-+ set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -pedantic -Wall -Wno-sign-compare -Wno-unused-result -Wno-parentheses -Wno-unknown-pragmas -Werror")
-+endif()
-
- add_subdirectory(lib)
- add_subdirectory(demo)
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index 51b79bb..754f60f 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -17,9 +17,9 @@ target_link_libraries(${library_name} m)
-
- install(
- TARGETS ${library_name} LIBRARY
-- DESTINATION ${destination}/lib
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT Libraries)
- install(
- FILES ${inc_files}
-- DESTINATION ${destination}/include
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- COMPONENT Headers)
-diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
-index a718d3d..4a15597 100644
---- a/man/CMakeLists.txt
-+++ b/man/CMakeLists.txt
-@@ -15,7 +15,7 @@ function(one_page pname section)
- )
- install(
- FILES ${CMAKE_CURRENT_BINARY_DIR}/${pname}.${section}
-- DESTINATION "${CMAKE_INSTALL_PREFIX}/man/man${section}"
-+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man${section}"
- )
- endfunction()
-
---
-2.16.4
-
diff --git a/sci-libs/lmfit/files/lmfit-8.2.2-cmake.patch b/sci-libs/lmfit/files/lmfit-8.2.2-cmake.patch
deleted file mode 100644
index 258f70a533d4..000000000000
--- a/sci-libs/lmfit/files/lmfit-8.2.2-cmake.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 72dae8c23604288331c9a7f03f60ec792a384121 Mon Sep 17 00:00:00 2001
-From: christoph junghans <junghans@votca.org>
-Date: Mon, 22 Oct 2018 21:00:00 -0600
-Subject: [PATCH] cmake: minor distribution tweaks
-
-- use gnuinstalldirs to allow to configure install dirs
-- allow to disable injecting c flags
-
-signed-off-by: christoph junghans <junghans@votca.org>
-Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
----
- CMakeLists.txt | 10 +++++++---
- lib/CMakeLists.txt | 4 ++--
- man/CMakeLists.txt | 4 ++--
- 3 files changed, 11 insertions(+), 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dbb571e..279f06a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -4,7 +4,7 @@ cmake_policy(SET CMP0048 NEW)
- list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
- include(PreventInSourceBuilds)
-
--project(lmfit VERSION 8.2.1 LANGUAGES C)
-+project(lmfit VERSION 8.2.2 LANGUAGES C)
-
- # --- Declare project-wide user flags, and set default values ---
- option(FITTEST "Build with FitTest" OFF)
-@@ -23,12 +23,16 @@ else()
- endif()
-
- include(CTest)
-+include(GNUInstallDirs)
-
--set(destination ${CMAKE_INSTALL_PREFIX})
-+option(INJECT_C_FLAGS "Inject a bunch of useful c flags" ON)
-+if (INJECT_C_FLAGS)
-+ set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -pedantic -Wall -Wno-sign-compare -Wno-unused-result -Wno-parentheses -Wno-unknown-pragmas")
-+endif()
-
- configure_file("lmfit.pc.in" "lmfit.pc" @ONLY)
- install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lmfit.pc"
-- DESTINATION "${destination}/lib/pkgconfig/")
-+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
-
- add_subdirectory(lib)
- add_subdirectory(demo)
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index a266f4e..e071a3c 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -18,9 +18,9 @@ link_libm(${library_name})
-
- install(
- TARGETS ${library_name} LIBRARY
-- DESTINATION ${destination}/lib
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
- COMPONENT Libraries)
- install(
- FILES ${inc_files}
-- DESTINATION ${destination}/include
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
- COMPONENT Headers)
-diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt
-index d4595fd..5505713 100644
---- a/man/CMakeLists.txt
-+++ b/man/CMakeLists.txt
-@@ -15,11 +15,11 @@ function(one_page pname section)
- )
- install(
- FILES ${CMAKE_CURRENT_BINARY_DIR}/${pname}.${section}
-- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man${section}"
-+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man${section}"
- )
- install(
- FILES ${CMAKE_CURRENT_BINARY_DIR}/${pname}.html
-- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/lmfit/html"
-+ DESTINATION "${CMAKE_INSTALL_DOCDIR}-${CMAKE_PROJECT_VERSION}/html"
- )
- endfunction()
-
---
-2.20.1
-
diff --git a/sci-libs/lmfit/files/lmfit-9.0-cmake.patch b/sci-libs/lmfit/files/lmfit-9.0-cmake.patch
new file mode 100644
index 000000000000..0c3270052cb6
--- /dev/null
+++ b/sci-libs/lmfit/files/lmfit-9.0-cmake.patch
@@ -0,0 +1,50 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -52,9 +52,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+ set(destination ${CMAKE_INSTALL_PREFIX})
+ configure_file("lmfit.pc.in" "lmfit.pc" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lmfit.pc"
+- DESTINATION "${destination}/lib/pkgconfig/")
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
+
+ include(CTest)
++include(GNUInstallDirs)
+
+ add_subdirectory(lib)
+ add_subdirectory(demo)
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -19,13 +19,13 @@ link_libm(${lib})
+
+ install(
+ TARGETS ${lib}
+- LIBRARY DESTINATION ${destination}/lib
+- RUNTIME DESTINATION ${destination}/lib
+- ARCHIVE DESTINATION ${destination}/lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/lib
++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/lib
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/lib
+ COMPONENT Libraries)
+ install(
+ FILES ${inc_files}
+- DESTINATION ${destination}/include
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/include
+ COMPONENT Headers)
+
+ if(WIN32)
+--- a/man/CMakeLists.txt
++++ b/man/CMakeLists.txt
+@@ -15,11 +15,11 @@ function(one_page pname section)
+ )
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${pname}.${section}
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man${section}"
++ DESTINATION "${CMAKE_INSTALL_MANDIR}/man${section}"
+ )
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/${pname}.html
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/lmfit/html"
++ DESTINATION "${CMAKE_INSTALL_DOCDIR}/html"
+ )
+ endfunction()
+
diff --git a/sci-libs/lmfit/lmfit-5.1.ebuild b/sci-libs/lmfit/lmfit-5.1.ebuild
deleted file mode 100644
index b4b814cf6704..000000000000
--- a/sci-libs/lmfit/lmfit-5.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-
-DESCRIPTION="library for Levenberg-Marquardt least-squares minimization and curve fitting"
-HOMEPAGE="http://apps.jcns.fz-juelich.de/doku/sc/lmfit"
-SRC_URI="http://apps.jcns.fz-juelich.de/src/lmfit/old/${P}.tgz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="static-libs"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/sci-libs/lmfit/lmfit-6.4.ebuild b/sci-libs/lmfit/lmfit-6.4.ebuild
deleted file mode 100644
index b4b814cf6704..000000000000
--- a/sci-libs/lmfit/lmfit-6.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-
-DESCRIPTION="library for Levenberg-Marquardt least-squares minimization and curve fitting"
-HOMEPAGE="http://apps.jcns.fz-juelich.de/doku/sc/lmfit"
-SRC_URI="http://apps.jcns.fz-juelich.de/src/lmfit/old/${P}.tgz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="static-libs"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/sci-libs/lmfit/lmfit-7.0.ebuild b/sci-libs/lmfit/lmfit-7.0.ebuild
deleted file mode 100644
index e4258a74110a..000000000000
--- a/sci-libs/lmfit/lmfit-7.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="library for Levenberg-Marquardt least-squares minimization and curve fitting"
-HOMEPAGE="http://apps.jcns.fz-juelich.de/doku/sc/lmfit"
-SRC_URI="http://apps.jcns.fz-juelich.de/src/lmfit/old/${P}.tgz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
-
-PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DINJECT_C_FLAGS=OFF
- )
-
- cmake-utils_src_configure
-}
diff --git a/sci-libs/lmfit/lmfit-8.2.2.ebuild b/sci-libs/lmfit/lmfit-8.2.2.ebuild
deleted file mode 100644
index 5a79ce239e5d..000000000000
--- a/sci-libs/lmfit/lmfit-8.2.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="library for Levenberg-Marquardt least-squares minimization and curve fitting"
-HOMEPAGE="http://apps.jcns.fz-juelich.de/doku/sc/lmfit"
-SRC_URI="http://apps.jcns.fz-juelich.de/src/lmfit/${P}.tgz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE=""
-
-PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DINJECT_C_FLAGS=OFF
- )
-
- cmake-utils_src_configure
-}
diff --git a/sci-libs/lmfit/lmfit-9.0-r1.ebuild b/sci-libs/lmfit/lmfit-9.0-r1.ebuild
new file mode 100644
index 000000000000..1c7f7fcdd3bf
--- /dev/null
+++ b/sci-libs/lmfit/lmfit-9.0-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P="${PN}-v${PV}"
+DESCRIPTION="library for Levenberg-Marquardt least-squares minimization and curve fitting"
+HOMEPAGE="https://jugit.fz-juelich.de/mlz/lmfit"
+SRC_URI="https://jugit.fz-juelich.de/mlz/lmfit/-/archive/v${PV}/${MY_P}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+SLOT="0/9"
+KEYWORDS="amd64 arm ~arm64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake.patch
+)
diff --git a/sci-libs/lmfit/metadata.xml b/sci-libs/lmfit/metadata.xml
index 2550df8221b6..8db92b6d42e4 100644
--- a/sci-libs/lmfit/metadata.xml
+++ b/sci-libs/lmfit/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/lrslib/Manifest b/sci-libs/lrslib/Manifest
index e6fd1344b669..65ee490c9030 100644
--- a/sci-libs/lrslib/Manifest
+++ b/sci-libs/lrslib/Manifest
@@ -1 +1 @@
-DIST lrslib-062.tar.gz 292745 BLAKE2B 1a2c0e264d590c38d83ee35616b1ec36d8a093b5c7f08179019261d8b321d5b95d8889ca6555ae69853f919d6d66358a865a8a2002516dfd560bec6658f3913d SHA512 1d644a7798580457ff266730f42f6fac317ec8cdf2509ad6028e7a838e5c4c948bd0f9499b840c227bad4269f7144ff72b87fe3a19bdb9ad0925ebe4a7bc4f9f
+DIST lrslib-071b.tar.gz 466789 BLAKE2B 57a8abd9d203b1cdc62d6848afa77aa6912d9d720a0dedfbe72ca602ad8ba36d13160f7da7d719e3fa140ba2cb6432d20590ae9ea9b1f66bc2e24c393d9fe1bd SHA512 feafc5726e66c977e917f0b59ae950cdb98dbd84639885b487930aab2a89a7f067a3f39c381acc3eae7206b91255e1befa5551488d8816afc0f8054d801eb539
diff --git a/sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch b/sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch
new file mode 100644
index 000000000000..1cc8303f616a
--- /dev/null
+++ b/sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch
@@ -0,0 +1,100 @@
+From 8a99af08a479c413d54c1a8def7479c778e55703 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 23 Oct 2021 07:53:22 -0400
+Subject: [PATCH 2/2] makefile: replace remaining "-O3" with $(CFLAGS).
+
+Some time in the past, $CFLAGS was inserted into most of the build
+rules, and defaulted to "-O3 -Wall" if the user does not override
+that. However a few lingering "-O3" and "-O3 -Wall" remain hard-
+coded in the makefile. Here we fix that.
+---
+ makefile | 48 ++++++++++++++++++++++++------------------------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/makefile b/makefile
+index fd8a613..c14b93e 100644
+--- a/makefile
++++ b/makefile
+@@ -64,12 +64,12 @@ MPLRSOBJ64=lrslong1-mplrs.o lrslib1-mplrs.o lrslibgmp-mplrs.o lrsgmp-mplrs.o lrs
+
+ lrs: ${LRSOBJ}
+ $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} $(LDFLAGS) -o lrs ${LRSOBJ} -lgmp
+- $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
++ $(CC) $(CFLAGS) hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrsmp: ${LRSOBJMP}
+ $(CC) ${CFLAGS} -DMA ${BITS} $(LDFLAGS) -o lrsmp ${LRSOBJMP}
+- $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
++ $(CC) $(CFLAGS) hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrs64: ${LRSOBJ64}
+@@ -157,8 +157,8 @@ singlemplrs: mplrsgmp mplrs1 mplrs2
+
+ flint: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h
+ @test -d ${INCLUDEDIR}/flint || { echo ${INCLUDEDIR}/flint not found; exit 1; }
+- $(CC) -O3 -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint $(LDFLAGS) -o lrsflint -lgmp
+-# $(CC) -O3 -DFLINT -I${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp
++ $(CC) $(CFLAGS) -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint $(LDFLAGS) -o lrsflint -lgmp
++# $(CC) $(CFLAGS) -DFLINT -I${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp
+
+ mplrsflint: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.c lrsdriver.h
+ ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -I${INCLUDEDIR}/flint -DPLRS $(LDFLAGS) -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -lgmp
+@@ -176,33 +176,33 @@ single: lrs.c lrslong.c lrslong.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver
+ ln -s -f lrs2 redund2
+
+ allmp: lrs.c lrslib.c lrslib.h lrsmp.c lrsmp.h lrsdriver.h lrsdriver.c
+- $(CC) -Wall -O3 $(LDFLAGS) -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG ${BITS} $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -O3 -DLRS_QUIET $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
+- $(CC) -O3 $(LDFLAGS) -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 $(LDFLAGS) -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 $(LDFLAGS) -o 2nash 2nash.c
++ $(CC) -Wall $(CFLAGS) $(LDFLAGS) -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -Wall $(CFLAGS) -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) -Wall $(CFLAGS) -DSAFE -DLRSLONG ${BITS} $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) $(CFLAGS) -DLRS_QUIET $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
++ $(CC) $(CFLAGS) $(LDFLAGS) -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o 2nash 2nash.c
+
+ demo: lpdemo1.c lrslib.c lrsdriver.c lrslib.h lrsgmp.c lrsgmp.h
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+
+ lrsnash: lrsnash.c nashdemo.c lrsnashlib.c lrslib.c lrsnashlib.h lrslib.h lrsgmp.c lrsgmp.h lrslong.h lrsdriver.h lrsdriver.c
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o 2nash 2nash.c
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o 2nash 2nash.c
+ cp lrsnashgmp lrsnash
+
+ fel: fel.c lrslib.h lrslib.c lrsgmp.h lrsgmp.c lrslong.c
+- $(CC) -O3 -Wall -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp $(LDFLAGS) -o felgmp
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE $(LDFLAGS) -o fel1
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} $(LDFLAGS) -o fel2
++ $(CC) $(CFLAGS) -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp $(LDFLAGS) -o felgmp
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE $(LDFLAGS) -o fel1
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} $(LDFLAGS) -o fel2
+
+ ######################################################################
+ # From here on the author is David Bremner <bremner@unb.ca> to whom you should turn for help
+--
+2.32.0
+
diff --git a/sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch b/sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch
new file mode 100644
index 000000000000..c8c9bc1e8206
--- /dev/null
+++ b/sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch
@@ -0,0 +1,184 @@
+From f9a97514196eb35de1cdae1c1fc622c8aff5fb04 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 23 Oct 2021 07:37:57 -0400
+Subject: [PATCH 1/2] makefile: add $(LDFLAGS) to commands that induce linkage.
+
+Like the more-familiar CFLAGS, there is a standard variable called
+LDFLAGS that should be used while linking libraries and executables.
+The default compilation rules for POSIX make include it,
+
+ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
+
+This commit adds LDFLAGS to the custom makefile commands that link
+either an executable or a shared library.
+---
+ makefile | 80 ++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 40 insertions(+), 40 deletions(-)
+
+diff --git a/makefile b/makefile
+index 32e6b52..fd8a613 100644
+--- a/makefile
++++ b/makefile
+@@ -63,17 +63,17 @@ LRSOBJ64=lrs64.o lrslong1.o lrslib1.o lrslibgmp.o lrsgmp.o lrsdriver.o
+ MPLRSOBJ64=lrslong1-mplrs.o lrslib1-mplrs.o lrslibgmp-mplrs.o lrsgmp-mplrs.o lrsdriver-mplrs.o mplrs64.o
+
+ lrs: ${LRSOBJ}
+- $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} -o lrs ${LRSOBJ} -lgmp
+- $(CC) -O3 hvref.c -o hvref
++ $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} $(LDFLAGS) -o lrs ${LRSOBJ} -lgmp
++ $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrsmp: ${LRSOBJMP}
+- $(CC) ${CFLAGS} -DMA ${BITS} -o lrsmp ${LRSOBJMP}
+- $(CC) -O3 hvref.c -o hvref
++ $(CC) ${CFLAGS} -DMA ${BITS} $(LDFLAGS) -o lrsmp ${LRSOBJMP}
++ $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrs64: ${LRSOBJ64}
+- $(CC) ${CFLAGS} -DMA -L${LIBDIR} -o lrs ${LRSOBJ64} -lgmp
++ $(CC) ${CFLAGS} -DMA -L${LIBDIR} $(LDFLAGS) -o lrs ${LRSOBJ64} -lgmp
+
+ lrs.o: lrs.c
+ $(CC) ${CFLAGS} -DMA ${BITS} -c -o lrs.o lrs.c
+@@ -106,7 +106,7 @@ lrsmp.o: lrsmp.c lrsmp.h
+ $(CC) ${CFLAGS} -DMA -DMP -c -o lrsmp.o lrsmp.c
+
+ checkpred: checkpred.c lrsgmp.h lrsgmp.c
+- $(CC) $(CFLAGS) -DGMP -lgmp -o checkpred checkpred.c lrsgmp.c
++ $(CC) $(CFLAGS) -DGMP -lgmp $(LDFLAGS) -o checkpred checkpred.c lrsgmp.c
+
+ lrslong1-mplrs.o: lrslong.c lrslong.h
+ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -DMA -DSAFE -DLRSLONG -DPLRS -c -o lrslong1-mplrs.o lrslong.c
+@@ -136,73 +136,73 @@ mplrs64.o: mplrs.c mplrs.h lrslib.h lrsgmp.h
+ $(mpicxx) ${CFLAGS} -I${INCLUDEDIR} -DMA -DPLRS -DTIMES -DSIGNALS -D_WITH_GETLINE -c -o mplrs64.o mplrs.c
+
+ mplrs: ${MPLRSOBJ} mplrsgmp
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA ${BITS} -L${LIBDIR} -o mplrs ${MPLRSOBJ} -lgmp
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA ${BITS} -L${LIBDIR} $(LDFLAGS) -o mplrs ${MPLRSOBJ} -lgmp
+
+ mplrs64: ${MPLRSOBJ64} mplrsgmp
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA -L${LIBDIR} -o mplrs ${MPLRSOBJ64} -lgmp
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA -L${LIBDIR} $(LDFLAGS) -o mplrs ${MPLRSOBJ64} -lgmp
+
+ mplrsgmp: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DGMP -I${INCLUDEDIR} mplrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -o mplrsgmp -lgmp
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DGMP -I${INCLUDEDIR} mplrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} $(LDFLAGS) -o mplrsgmp -lgmp
+
+ mplrs1: mplrs.c mplrs.h lrslib.c lrslib.h lrslong.c lrslong.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DLRSLONG mplrs.c lrslib.c lrslong.c lrsdriver.c -o mplrs1
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DLRSLONG mplrs.c lrslib.c lrslong.c lrsdriver.c $(LDFLAGS) -o mplrs1
+
+ mplrs2: mplrs.c mplrs.h lrslib.c lrslib.h lrslong.c lrslong.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DSAFE -DLRSLONG ${BITS} mplrs.c lrslib.c lrslong.c lrsdriver.c -o mplrs2
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DSAFE -DLRSLONG ${BITS} mplrs.c lrslib.c lrslong.c lrsdriver.c $(LDFLAGS) -o mplrs2
+
+ mplrsmp: mplrs.c mplrs.h lrslib.c lrslib.h lrsmp.c lrsmp.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DMP -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS mplrs.c lrslib.c lrsmp.c lrsdriver.c -o mplrsmp
++ $(mpicxx) ${CFLAGS} -DMP -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS mplrs.c lrslib.c lrsmp.c lrsdriver.c $(LDFLAGS) -o mplrsmp
+
+ singlemplrs: mplrsgmp mplrs1 mplrs2
+
+ flint: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h
+ @test -d ${INCLUDEDIR}/flint || { echo ${INCLUDEDIR}/flint not found; exit 1; }
+- $(CC) -O3 -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint -o lrsflint -lgmp
++ $(CC) -O3 -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint $(LDFLAGS) -o lrsflint -lgmp
+ # $(CC) -O3 -DFLINT -I${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp
+
+ mplrsflint: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.c lrsdriver.h
+- ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -I${INCLUDEDIR}/flint -DPLRS -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -lgmp
++ ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -I${INCLUDEDIR}/flint -DPLRS $(LDFLAGS) -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -lgmp
+
+ #comment out lines with ${BITS} if __int128 not supported by your C compiler
+
+ lrsgmp: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c
+- $(CC) ${CFLAGS} -DGMP -I${INCLUDEDIR} -o lrsgmp lrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -lgmp
++ $(CC) ${CFLAGS} -DGMP -I${INCLUDEDIR} $(LDFLAGS) -o lrsgmp lrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -lgmp
+ ln -s -f lrsgmp redundgmp
+
+ single: lrs.c lrslong.c lrslong.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c
+- $(CC) ${CFLAGS} -DSAFE -DLRSLONG -o lrs1 lrs.c lrslib.c lrslong.c lrsdriver.c
+- $(CC) ${CFLAGS} ${BITS} -DSAFE -DLRSLONG -o lrs2 lrs.c lrslib.c lrslong.c lrsdriver.c
++ $(CC) ${CFLAGS} -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrslong.c lrsdriver.c
++ $(CC) ${CFLAGS} ${BITS} -DSAFE -DLRSLONG $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrslong.c lrsdriver.c
+ ln -s -f lrs1 redund1
+ ln -s -f lrs2 redund2
+
+ allmp: lrs.c lrslib.c lrslib.h lrsmp.c lrsmp.h lrsdriver.h lrsdriver.c
+- $(CC) -Wall -O3 -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG ${BITS} -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -O3 -DLRS_QUIET -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
+- $(CC) -O3 -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 -o 2nash 2nash.c
++ $(CC) -Wall -O3 $(LDFLAGS) -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -Wall -O3 -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) -Wall -O3 -DSAFE -DLRSLONG ${BITS} $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) -O3 -DLRS_QUIET $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
++ $(CC) -O3 $(LDFLAGS) -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -O3 $(LDFLAGS) -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -O3 $(LDFLAGS) -o 2nash 2nash.c
+
+ demo: lpdemo1.c lrslib.c lrsdriver.c lrslib.h lrsgmp.c lrsgmp.h
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+
+ lrsnash: lrsnash.c nashdemo.c lrsnashlib.c lrslib.c lrsnashlib.h lrslib.h lrsgmp.c lrsgmp.h lrslong.h lrsdriver.h lrsdriver.c
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o 2nash 2nash.c
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o 2nash 2nash.c
+ cp lrsnashgmp lrsnash
+
+ fel: fel.c lrslib.h lrslib.c lrsgmp.h lrsgmp.c lrslong.c
+- $(CC) -O3 -Wall -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp -o felgmp
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE -o fel1
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} -o fel2
++ $(CC) -O3 -Wall -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp $(LDFLAGS) -o felgmp
++ $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE $(LDFLAGS) -o fel1
++ $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} $(LDFLAGS) -o fel2
+
+ ######################################################################
+ # From here on the author is David Bremner <bremner@unb.ca> to whom you should turn for help
+@@ -228,7 +228,7 @@ SHLIBBIN=lrs-shared lrsnash-shared
+ # Building (linking) the shared library, and relevant symlinks.
+
+ ${SHLIB}: ${SHLIBOBJ}
+- $(CC) -shared -Wl,-soname=$(SONAME) $(SHLIBFLAGS) -o $@ ${SHLIBOBJ} -lgmp
++ $(CC) -shared -Wl,-soname=$(SONAME) $(SHLIBFLAGS) $(LDFLAGS) -o $@ ${SHLIBOBJ} -lgmp
+
+ ${SONAME}: ${SHLIB}
+ ln -sf ${SHLIB} ${SONAME}
+@@ -241,11 +241,11 @@ ${SHLINK}: ${SONAME}
+ all-shared: ${SHLIBBIN}
+
+ lrs-shared: ${SHLINK} lrs-shared.o
+- $(CC) $^ -o $@ -L . -llrs
++ $(CC) $^ $(LDFLAGS) -o $@ -L . -llrs
+
+
+ lrsnash-shared: ${SHLINK} lrsnash.c
+- $(CC) ${CFLAGS} -DGMP -DMA lrsnash.c lrsnashlib.c -I${INCLUDEDIR} -o $@ -L . -llrs -lgmp
++ $(CC) ${CFLAGS} -DGMP -DMA lrsnash.c lrsnashlib.c -I${INCLUDEDIR} $(LDFLAGS) -o $@ -L . -llrs -lgmp
+
+ # driver object files
+
+--
+2.32.0
+
diff --git a/sci-libs/lrslib/lrslib-062.ebuild b/sci-libs/lrslib/lrslib-062.ebuild
deleted file mode 100644
index 77ff95622589..000000000000
--- a/sci-libs/lrslib/lrslib-062.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs eutils
-
-DESCRIPTION="Self-contained 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/archive/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
-IUSE="gmp mpi"
-
-RDEPEND="gmp? ( dev-libs/gmp:0=
- mpi? ( virtual/mpi ) )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- tc-export CC
- sed -e "s/gcc/$(tc-getCC)/g" \
- -e "s/g++/$(tc-getCXX)/g" \
- -e "s/-O3/${CFLAGS}/g" \
- -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
- -e "s,/usr/local,${EPREFIX}/usr,g" \
- -e "s,/lib,/$(get_libdir),g" \
- -i makefile || die
-}
-
-src_compile() {
- if use gmp ; then
- emake
- emake all-shared
- use mpi && emake mplrs
- else
- emake allmp
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install-common
- if use gmp; then
- emake DESTDIR="${D}" install-shared prefix="${EPREFIX}/usr"
- use mpi && dobin mplrs
- fi
- dodoc README
-}
diff --git a/sci-libs/lrslib/lrslib-071b-r1.ebuild b/sci-libs/lrslib/lrslib-071b-r1.ebuild
new file mode 100644
index 000000000000..75524f3d1210
--- /dev/null
+++ b/sci-libs/lrslib/lrslib-071b-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Reverse-search algorithm for vertex enumeration problems"
+HOMEPAGE="http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
+SRC_URI="http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/${P}.tar.gz"
+
+# COPYING is GPL-2, but e.g. lrslib.h says "or ... any later version."
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="gmp mpi"
+
+BDEPEND=""
+RDEPEND="
+ gmp? (
+ dev-libs/gmp:0=
+ mpi? ( virtual/mpi )
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-makefile-ldflags.patch"
+ "${FILESDIR}/${P}-makefile-cflags.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+
+ # The "makefile" sort-of supports CFLAGS as of lrslib-071b, but
+ # "-O3" is still included verbatim in many targets. Likewise, a
+ # LIBDIR variable exists but "lib" remains hard-coded in the install
+ # targets.
+ sed -e "s,/usr/local,${EPREFIX}/usr,g" \
+ -e "s,/lib,/$(get_libdir),g" \
+ -i makefile || die
+}
+
+src_compile() {
+ if use gmp ; then
+ emake
+ emake all-shared
+ use mpi && emake mplrs
+ else
+ emake allmp
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install-common
+ if use gmp; then
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install
+ use mpi && dobin mplrs
+ fi
+ dodoc README
+}
diff --git a/sci-libs/lrslib/lrslib-071b.ebuild b/sci-libs/lrslib/lrslib-071b.ebuild
new file mode 100644
index 000000000000..dce7bc19ece6
--- /dev/null
+++ b/sci-libs/lrslib/lrslib-071b.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Reverse-search algorithm for vertex enumeration problems"
+HOMEPAGE="http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
+SRC_URI="http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/${P}.tar.gz"
+
+# COPYING is GPL-2, but e.g. lrslib.h says "or ... any later version."
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="gmp mpi"
+
+BDEPEND=""
+RDEPEND="
+ gmp? (
+ dev-libs/gmp:0=
+ mpi? ( virtual/mpi )
+ )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ tc-export CC
+
+ # The "makefile" sort-of supports CFLAGS as of lrslib-071b, but
+ # "-O3" is still included verbatim in many targets. Likewise, a
+ # LIBDIR variable exists but "lib" remains hard-coded in the install
+ # targets.
+ sed -e "s/-O3/${CFLAGS}/g" \
+ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
+ -e "s,/usr/local,${EPREFIX}/usr,g" \
+ -e "s,/lib,/$(get_libdir),g" \
+ -i makefile || die
+}
+
+src_compile() {
+ if use gmp ; then
+ emake
+ emake all-shared
+ use mpi && emake mplrs
+ else
+ emake allmp
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install-common
+ if use gmp; then
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install
+ use mpi && dobin mplrs
+ fi
+ dodoc README
+}
diff --git a/sci-libs/lrslib/metadata.xml b/sci-libs/lrslib/metadata.xml
index 8b97646ef0f3..151b168de63a 100644
--- a/sci-libs/lrslib/metadata.xml
+++ b/sci-libs/lrslib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/m4ri/Manifest b/sci-libs/m4ri/Manifest
index 01691d598875..1b77571fb2a6 100644
--- a/sci-libs/m4ri/Manifest
+++ b/sci-libs/m4ri/Manifest
@@ -1,2 +1 @@
-DIST m4ri-20200115.tar.gz 510562 BLAKE2B 4522793ab61dd97dae5c8d82a4457364f437040c9c45c355007a3150bfebb5264e336b19a7416f62b5ef937480f15079d9c0e9711dd26a6f7c6f5ce66d699296 SHA512 4791576878097077bcda768c03a43ec9a5b05c29adaa9c5f1e737e798b3fc7d027f830183d57db7b8b6b75b25e01fb522eb8b2e5359efcb05054fc341cbb403c
DIST m4ri-20200125.tar.gz 511132 BLAKE2B 637dbf7f17b84dc5fc91c9d8f501fa223cfacd687cb953ce3b9c4716e9a6d39318ef168c2ec8a4b5eeb469a4b46abbcd8802aaf694991d82deb20c832843c3ab SHA512 212ea58a93b792c1901f62411b06cd1a2ee60b3506c987e45ded73c146f2fa6baf5461b1dcabf31a5771ab5a44eab050d64714f7a5fca3df2d141d0d80c6c51a
diff --git a/sci-libs/m4ri/files/m4ri-20200115-libm_underlinking.patch b/sci-libs/m4ri/files/m4ri-20200115-libm_underlinking.patch
deleted file mode 100644
index 8d9d2738c087..000000000000
--- a/sci-libs/m4ri/files/m4ri-20200115-libm_underlinking.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From be6c249e7838bd838174db5c2bb98bf63b026b83 Mon Sep 17 00:00:00 2001
-From: François Bissey <frp.bissey@gmail.com>
-Date: Tue, 21 Jan 2020 11:24:50 +1300
-Subject: [PATCH] Detect and use LIBM to link libm4ri in all cases.
-
----
- Makefile.am | 2 +-
- configure.ac | 6 +++++-
- m4ri.pc.in | 2 +-
- tests/Makefile.am | 2 +-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index e317d06..416d9f1 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -58,7 +58,7 @@ pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = m4ri.pc
-
- libm4ri_la_LDFLAGS = -release 0.0.$(RELEASE) -no-undefined
--libm4ri_la_LIBADD = $(LIBPNG_LIBADD)
-+libm4ri_la_LIBADD = $(LIBPNG_LIBADD) $(LIBM)
-
- SUBDIRS = . tests
- DIST_SUBDIRS = $(SUBDIRS) bench
-diff --git a/configure.ac b/configure.ac
-index 39de702..520154d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -15,7 +15,7 @@ AC_CONFIG_MACRO_DIR([m4])
- dnl Compiling with per-target flags (test_elimination.c) requires AM_PROG_CC_C_O.
- AM_PROG_CC_C_O
-
--AC_PROG_LIBTOOL
-+LT_INIT
-
- AC_PROG_INSTALL
-
-@@ -26,6 +26,10 @@ if test "$ac_cv_prog_cc_c99" = "no"; then
- AC_MSG_ERROR([C99 support is required but not found.])
- fi
-
-+# Find and set LIBM on the platform.
-+LT_LIB_M
-+AC_SUBST(LIBM)
-+
- # SSE2 support
- AC_ARG_ENABLE([sse2],
- AS_HELP_STRING([--disable-sse2], [don't use SSE2 instruction set.]),
-diff --git a/m4ri.pc.in b/m4ri.pc.in
-index 5044de7..07597bd 100644
---- a/m4ri.pc.in
-+++ b/m4ri.pc.in
-@@ -7,5 +7,5 @@ Name: M4RI
- Description: Dense linear algebra over GF(2).
- Version: @PACKAGE_VERSION@
- Requires: @M4RI_USE_PNG_PC@
--Libs: -L${libdir} -lm4ri @RAW_LIBPNG@ -lm
-+Libs: -L${libdir} -lm4ri @RAW_LIBPNG@ @LIBM@
- Cflags: -I${includedir} @SIMD_CFLAGS@ @OPENMP_CFLAGS@
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index c9839a2..069e360 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -15,7 +15,7 @@ DEFINES =
- AM_CFLAGS = -I$(TOPSRCDIR) -I$(TOPBUILDDIR) -D_XOPEN_SOURCE=600 $(DEFINES) @OPENMP_CFLAGS@ @PAPI_CFLAGS@
-
- STAGEDIR := $(realpath -s $(TOPBUILDDIR)/.libs)
--AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri -lm @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
-+AM_LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri $(LIBM) @PAPI_LDFLAGS@ @PAPI_LIBS@ -no-install
-
- test_smallops_SOURCES = test_smallops.c testing.c testing.h
-
---
-2.10.5
-
diff --git a/sci-libs/m4ri/files/m4ri-20200115-memory_violation.patch b/sci-libs/m4ri/files/m4ri-20200115-memory_violation.patch
deleted file mode 100644
index b74be3b4bf8f..000000000000
--- a/sci-libs/m4ri/files/m4ri-20200115-memory_violation.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From e2fb0dcb70a97972fa1576a528cb01458f57a85d Mon Sep 17 00:00:00 2001
-From: "Martin R. Albrecht" <martinralbrecht@googlemail.com>
-Date: Sun, 19 Jan 2020 17:44:57 -0800
-Subject: [PATCH] fix memory violation
-
-fixes #72
----
- m4ri/mzd.c | 2 +-
- tests/test_misc.c | 42 ++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 43 insertions(+), 1 deletion(-)
-
-diff --git a/m4ri/mzd.c b/m4ri/mzd.c
-index 861905c..922dc3c 100644
---- a/m4ri/mzd.c
-+++ b/m4ri/mzd.c
-@@ -1894,7 +1894,7 @@ mzd_t *mzd_submatrix(mzd_t *S, mzd_t const *M, rci_t const startrow, rci_t const
- } else {
- wi_t j;
- for(rci_t i=0; i<nrows; i++) {
-- for(j=0; j+m4ri_radix<=ncols; j+=m4ri_radix)
-+ for(j=0; j+m4ri_radix<ncols; j+=m4ri_radix)
- S->rows[i][j/m4ri_radix] = mzd_read_bits(M, startrow+i, startcol+j, m4ri_radix);
- S->rows[i][j/m4ri_radix] &= ~S->high_bitmask;
- S->rows[i][j/m4ri_radix] |= mzd_read_bits(M, startrow+i, startcol+j, ncols - j) & S->high_bitmask;
-diff --git a/tests/test_misc.c b/tests/test_misc.c
-index a9a9547..b1a2e32 100644
---- a/tests/test_misc.c
-+++ b/tests/test_misc.c
-@@ -76,6 +76,31 @@ int test_png(rci_t m, rci_t n) {
- return ret;
- }
-
-+int test_submatrix(const rci_t m, const rci_t n, const rci_t lowr, const rci_t lowc, const rci_t highr, const rci_t highc) {
-+ printf("submatrix: m: %4d, n: %4d, (%4d, %4d, %4d, %4d)", m, n, lowr, lowc, highr, highc);
-+ assert(highr-lowr > 0);
-+ assert(highc-lowc > 0);
-+ mzd_t *M = mzd_init(m, n);
-+ mzd_randomize(M);
-+ mzd_t *S = mzd_init(highr-lowr, highc-lowc);
-+ mzd_submatrix(S, M, lowr, lowc, highr, highc);
-+ int ret = 0;
-+ for(rci_t i=0; i<highr-lowr; i++) {
-+ for(rci_t j=0; j<highc-lowc; j++) {
-+ ret += (mzd_read_bit(M, lowr+i, lowc+j) ^ mzd_read_bit(S, i, j));
-+ }
-+ }
-+
-+ mzd_free(M);
-+ mzd_free(S);
-+
-+ if(ret==0) {
-+ printf(" ... passed\n");
-+ } else {
-+ printf(" ... FAILED\n");
-+ }
-+ return ret;
-+}
-
- int main(int argc, char *argv[]) {
- int status = 0;
-@@ -99,6 +124,23 @@ int main(int argc, char *argv[]) {
- status += test_png(126,12);
- status += test_png(128,200);
-
-+ status += test_submatrix(2, 127, 1, 1, 2, 127);
-+ status += test_submatrix(2, 128, 1, 1, 2, 128);
-+ status += test_submatrix(2, 129, 1, 1, 2, 129);
-+ status += test_submatrix(2, 130, 1, 1, 2, 130);
-+ status += test_submatrix(2, 131, 1, 1, 2, 131);
-+
-+ status += test_submatrix(2, 63, 1, 1, 1, 63);
-+ status += test_submatrix(2, 64, 1, 1, 1, 64);
-+ status += test_submatrix(2, 65, 1, 1, 1, 65);
-+ status += test_submatrix(2, 66, 1, 1, 1, 66);
-+ status += test_submatrix(2, 67, 1, 1, 1, 67);
-+
-+ status += test_submatrix(2, 127, 1, 63, 2, 127);
-+ status += test_submatrix(2, 128, 1, 64, 2, 128);
-+ status += test_submatrix(2, 129, 1, 65, 2, 129);
-+ status += test_submatrix(2, 130, 1, 66, 2, 130);
-+
- if (!status) {
- printf("All tests passed.\n");
- } else {
---
-2.10.5
-
diff --git a/sci-libs/m4ri/m4ri-20200115.ebuild b/sci-libs/m4ri/m4ri-20200115.ebuild
deleted file mode 100644
index 8521f51be38f..000000000000
--- a/sci-libs/m4ri/m4ri-20200115.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic toolchain-funcs
-
-DESCRIPTION="Method of four russian for inversion (M4RI)"
-HOMEPAGE="https://bitbucket.org/malb/m4ri"
-SRC_URI="https://bitbucket.org/malb/${PN}/downloads/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug openmp cpu_flags_x86_sse2 png static-libs"
-
-BDEPEND="virtual/pkgconfig"
-DEPEND="png? ( media-libs/libpng:= )"
-RDEPEND="${DEPEND}"
-
-# NEWS and ChangeLog are empty as of 2020-01-01, and README.md
-# didn't make it into the release tarball.
-DOCS=( AUTHORS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-20200115-memory_violation.patch
- "${FILESDIR}"/${PN}-20200115-libm_underlinking.patch
-)
-
-pkg_pretend() {
- use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- # when using openmp and -O0 the testsuite fails
- # https://github.com/cschwan/sage-on-gentoo/issues/475
- # Still current as of 20200115
- use openmp && replace-flags -O0 -O1
-
- econf \
- $(use_enable debug) \
- $(use_enable openmp) \
- $(use_enable png) \
- $(use_enable cpu_flags_x86_sse2 sse2) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/m4ri/m4ri-20200125.ebuild b/sci-libs/m4ri/m4ri-20200125.ebuild
index 09158e5ef290..adf6e85765c9 100644
--- a/sci-libs/m4ri/m4ri-20200125.ebuild
+++ b/sci-libs/m4ri/m4ri-20200125.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,12 +6,12 @@ EAPI=7
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Method of four russian for inversion (M4RI)"
-HOMEPAGE="https://bitbucket.org/malb/m4ri"
+HOMEPAGE="https://github.com/malb/m4ri"
SRC_URI="https://bitbucket.org/malb/${PN}/downloads/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="amd64 ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug openmp cpu_flags_x86_sse2 png static-libs"
BDEPEND="virtual/pkgconfig"
@@ -23,7 +23,11 @@ RDEPEND="${DEPEND}"
DOCS=( AUTHORS )
pkg_pretend() {
- use openmp && tc-check-openmp
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_configure() {
diff --git a/sci-libs/m4ri/metadata.xml b/sci-libs/m4ri/metadata.xml
index 9807bfb0055f..b31730792145 100644
--- a/sci-libs/m4ri/metadata.xml
+++ b/sci-libs/m4ri/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -28,6 +28,6 @@
</longdescription>
<upstream>
- <remote-id type="bitbucket">malb/m4ri</remote-id>
+ <remote-id type="github">malb/m4ri</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/m4rie/files/m4rie-20200115-link-libm.patch b/sci-libs/m4rie/files/m4rie-20200115-link-libm.patch
new file mode 100644
index 000000000000..d640b5085661
--- /dev/null
+++ b/sci-libs/m4rie/files/m4rie-20200115-link-libm.patch
@@ -0,0 +1,27 @@
+From afab50ea468b0b44be6e8584793c8ee98045f8f8 Mon Sep 17 00:00:00 2001
+From: "Martin R. Albrecht" <martinralbrecht@googlemail.com>
+Date: Fri, 12 Mar 2021 09:49:45 +0000
+Subject: [PATCH] we use sqrt() so link libm
+
+fixes #22
+---
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 1f19d49..71ed81c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -18,6 +18,9 @@ AC_PROG_CXX
+
+ AC_PROG_CC_C99()
+
++AC_SEARCH_LIBS([sqrt], [m], [], [
++ AC_MSG_ERROR([unable to find the sqrt() function])
++])
+
+ if test "$ac_cv_prog_cc_c99" = "no"; then
+ AC_MSG_ERROR([C99 support is required but not found.])
+--
+2.10.5
+
diff --git a/sci-libs/m4rie/m4rie-20200115-r1.ebuild b/sci-libs/m4rie/m4rie-20200115-r1.ebuild
new file mode 100644
index 000000000000..60d518b539d8
--- /dev/null
+++ b/sci-libs/m4rie/m4rie-20200115-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Fast dense matrix arithmetic over GF(2^e) for 2 <= e <= 16"
+HOMEPAGE="https://github.com/malb/m4rie"
+SRC_URI="https://bitbucket.org/malb/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug static-libs"
+
+DEPEND="sci-libs/m4ri"
+RDEPEND="${DEPEND}"
+
+# Requires eautoreconf.
+PATCHES=( "${FILESDIR}/${P}-link-libm.patch" )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # m4rie doesn't actually have any openmp code. The configure flag
+ # stems from a mistaken belief that it needs to be there to use the
+ # openmp code in m4ri.
+ econf \
+ --disable-openmp \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/m4rie/m4rie-20200115.ebuild b/sci-libs/m4rie/m4rie-20200115.ebuild
deleted file mode 100644
index 676a82f2a93a..000000000000
--- a/sci-libs/m4rie/m4rie-20200115.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Fast dense matrix arithmetic over GF(2^e) for 2 <= e <= 16"
-HOMEPAGE="https://bitbucket.org/malb/m4rie/"
-SRC_URI="https://bitbucket.org/malb/${PN}/downloads/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug static-libs"
-
-DEPEND=">=sci-libs/m4ri-20140914"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- # m4rie doesn't actually have any openmp code. The configure flag
- # stems from a mistaken belief that it needs to be there to use the
- # openmp code in m4ri.
- econf \
- --disable-openmp \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install(){
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/m4rie/metadata.xml b/sci-libs/m4rie/metadata.xml
index 33cb9a18e32a..37eece3977cd 100644
--- a/sci-libs/m4rie/metadata.xml
+++ b/sci-libs/m4rie/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,11 +9,11 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
@@ -25,6 +25,6 @@
</longdescription>
<upstream>
- <remote-id type="bitbucket">malb/m4rie</remote-id>
+ <remote-id type="github">malb/m4rie</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/magma/Manifest b/sci-libs/magma/Manifest
deleted file mode 100644
index 69864919e380..000000000000
--- a/sci-libs/magma/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST magma-1.4.0.tar.gz 3557459 BLAKE2B 610658835e09772f8a54cd851ca23f0123c45133faf7f7db0a9e62c690a0908f6769b7bf16ba955599503416d7ff1b979c7c9b7fa09b57f693a4da709bb483c6 SHA512 9857ac544cc1657ab7d2f6e8c9700facb7fa38278dbfbfeecc3656434de4bd5b96c268f1a98c9ffa823775aa64c315bd63e577b4d475e104311e09d3e5c3ca15
-DIST magma-1.4.1.tar.gz 3765589 BLAKE2B 9f382942e36492efb7a64d62bd62f704e54589aafcdc6d99d33cac1e49612014a139e01766539948f005d86b611c1bb772421635ccd66dd678549a662a410efa SHA512 d283b59b75ca35c8206c07eff97caf28f07ab598955c84a90d795d46905d879d0f1d7e6a2cb080dad74710255b28999e5ce9708e4f0f53a4adba50724fc5ef71
diff --git a/sci-libs/magma/magma-1.4.0.ebuild b/sci-libs/magma/magma-1.4.0.ebuild
deleted file mode 100644
index c50eea5b55ac..000000000000
--- a/sci-libs/magma/magma-1.4.0.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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 ~amd64-linux"
-IUSE="fermi kepler static-libs test"
-
-REQUIRED_USE="?? ( fermi kepler )"
-
-RDEPEND="
- dev-util/nvidia-cuda-toolkit
- virtual/cblas
- 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 !test? ( test )"
-
-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
deleted file mode 100644
index c50eea5b55ac..000000000000
--- a/sci-libs/magma/magma-1.4.1.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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 ~amd64-linux"
-IUSE="fermi kepler static-libs test"
-
-REQUIRED_USE="?? ( fermi kepler )"
-
-RDEPEND="
- dev-util/nvidia-cuda-toolkit
- virtual/cblas
- 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 !test? ( test )"
-
-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
deleted file mode 100644
index 63989ce9caba..000000000000
--- a/sci-libs/magma/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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
index c5725ed2951f..32667b8b502a 100644
--- a/sci-libs/mathgl/Manifest
+++ b/sci-libs/mathgl/Manifest
@@ -1,2 +1 @@
-DIST STIX_font.tgz 2450541 BLAKE2B f725eb0264d9c3cb7c32a935e8857c4a21cb905a1dc6c9cc8a16408afdc7dd9b6fcd312a8c2f77aff5484605a39a9ee36e86ad0234adb5d6bcc5c8839101194c SHA512 c9124ec552074c98f15d6d3572a063598ca6bc598e3e78dcb5a5d57ae3928b5327a1374635f428ea1cefc9e51ee1d1aa9bd6ba9a306429fc6965140251d368b5
-DIST mathgl-2.4.1.tar.gz 22665490 BLAKE2B a9c9e0ec7d145262994a754dfbcf1f789d2777f9334c8b4e73696265adba4d2fd7283621857318264c2162841e81427df21f7bc7b951d83876fbc066d3b9068f SHA512 10fd016662ca60b9507942691f85b4d9151104319627732f4add0175475f7e8dff16e3645bb858c283b747f34e58f410d0532e94dc64cf8cf472938d3966402d
+DIST mathgl-8.0.1.tar.gz 23979834 BLAKE2B 275301c945ea15a38d1c75fd509c126425080b811403d5a8c8e864c8a975b914b5f0909bdc2c0de2feb84638ef0655694cd4d0c2aec8fb537c937147d81608c9 SHA512 1ff3023f1bbd7bfd84202777a0166a8d4255a020a07f3650b9858929345bc8a2ceea4db155d2c93ba32b762d2304474276290a9edac99fda70fb4b5bc12982c2
diff --git a/sci-libs/mathgl/files/mathgl-2.4.1-mutex.patch b/sci-libs/mathgl/files/mathgl-2.4.1-mutex.patch
deleted file mode 100644
index 4ce7bb733114..000000000000
--- a/sci-libs/mathgl/files/mathgl-2.4.1-mutex.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/canvas.cpp b/src/canvas.cpp
-index ba4ffededb9b..7ea755d18265 100644
---- a/src/canvas.cpp
-+++ b/src/canvas.cpp
-@@ -1219,9 +1219,9 @@ void mglCanvas::Pop()
- {
- B = stack.back();
- #if MGL_HAVE_PTHREAD
-- pthread_mutex_lock(&m);
-+ pthread_mutex_lock(&mutexStk);
- stack.pop_back();
-- pthread_mutex_unlock(&m);
-+ pthread_mutex_unlock(&mutexStk);
- #else
- #pragma omp critical(stk)
- stack.pop_back();
diff --git a/sci-libs/mathgl/files/mathgl-libharu2.4.patch b/sci-libs/mathgl/files/mathgl-libharu2.4.patch
new file mode 100644
index 000000000000..fb0acb5da547
--- /dev/null
+++ b/sci-libs/mathgl/files/mathgl-libharu2.4.patch
@@ -0,0 +1,25 @@
+diff -up mathgl-8.0.1/src/prc.cpp.libharu2.4 mathgl-8.0.1/src/prc.cpp
+--- mathgl-8.0.1/src/prc.cpp.libharu2.4 2022-01-11 13:48:53.000000000 -0700
++++ mathgl-8.0.1/src/prc.cpp 2022-10-05 21:10:18.640050969 -0600
+@@ -36,6 +36,7 @@
+ #include <hpdf.h>
+ #include <hpdf_u3d.h>
+ #include <hpdf_annotation.h>
++#include <hpdf_version.h>
+ #endif // MGL_HAVE_PDF
+
+
+@@ -959,7 +960,12 @@ void MGL_EXPORT mgl_write_prc(HMGL gr, c
+ HPDF_U3D_SetDefault3DView(u3d, "DefaultView");
+
+ // Create annotation
+- annot = HPDF_Page_Create3DAnnot (page, rect, u3d );
++ annot
++#if HPDF_VERSION_ID >= 20400
++ = HPDF_Page_Create3DAnnot (page, rect, HPDF_FALSE, HPDF_FALSE, u3d, NULL);
++#else
++ = HPDF_Page_Create3DAnnot (page, rect, u3d );
++#endif
+
+ // Enable toolbar
+ HPDF_Dict action = (HPDF_Dict)HPDF_Dict_GetItem (annot, "3DA", HPDF_OCLASS_DICT);
diff --git a/sci-libs/mathgl/mathgl-2.4.1-r2.ebuild b/sci-libs/mathgl/mathgl-2.4.1-r2.ebuild
deleted file mode 100644
index e07d56b6edf5..000000000000
--- a/sci-libs/mathgl/mathgl-2.4.1-r2.ebuild
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-WX_GTK_VER=3.0
-
-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/7.5.0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc fltk gif glut gsl hdf hdf5 jpeg lua mpi octave opengl openmp pdf
- png python qt5 static-libs threads wxwidgets zlib"
-
-LANGS="ru"
-for l in ${LANGS}; do
- IUSE+=" l10n_${l}"
-done
-unset l
-
-RDEPEND="
- virtual/opengl
- fltk? ( x11-libs/fltk:1 )
- gif? ( media-libs/giflib )
- glut? ( media-libs/freeglut )
- gsl? ( >=sci-libs/gsl-2 )
- hdf? ( sci-libs/hdf )
- hdf5? ( >=sci-libs/hdf5-1.8[mpi=] )
- jpeg? ( virtual/jpeg:0 )
- lua? ( >=dev-lang/lua-5.1:0 )
- octave? ( >=sci-mathematics/octave-3.4.0 )
- openmp? ( sys-cluster/openmpi )
- pdf? ( media-libs/libharu )
- png? ( media-libs/libpng:0 )
- python? (
- $(python_gen_cond_dep '
- || (
- dev-python/numpy-python2[${PYTHON_MULTI_USEDEP}]
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
- )
- ')
- ${PYTHON_DEPS}
- )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- )
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[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 )
- openmp? ( !threads )
- png? ( zlib )
- pdf? ( png )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-mutex.patch
-)
-
-pkg_setup() {
- use mpi && export CC=mpicc CXX=mpicxx
- use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
- if ! [[ -d "${S}"/fonts ]]; then
- mkdir "${S}"/fonts || die
- fi
- 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
- # prevent sandbox violation
- sed -i -e 's/update-mime-database/true/' udav/CMakeLists.txt || die
- sed -i -e 's/update-desktop-database/true/' udav/CMakeLists.txt || die
-
- use python && \
- append-cppflags \
- -I"$(${EPYTHON} -c 'import numpy; print(numpy.get_include())')"
- use wxwidgets && need-wxwidgets unicode
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=()
- if use hdf; then
- mycmakeargs+=(
- -DHDF4_INCLUDE_DIR="${EPREFIX}/usr/include"
- )
- fi
- mycmakeargs+=(
- # No clue about this option:
- # option(enable-mgl2 "Use names 'libmgl2-*' instead of 'libmgl-*'")
- -DMathGL_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
- -Denable-all-docs=$(usex doc)
- -Denable-fltk=$(usex fltk)
- -Denable-gif=$(usex gif)
- -Denable-glut=$(usex glut)
- -Denable-gsl=$(usex gsl)
- -Denable-hdf4=$(usex hdf)
- -Denable-hdf5=$(usex hdf5)
- -Denable-jpeg=$(usex jpeg)
- -Denable-lua=$(usex lua)
- -Denable-mpi=$(usex mpi)
- -Denable-octave=$(usex octave)
- -Denable-opengl=$(usex opengl)
- -Denable-openmp=$(usex openmp)
- -Denable-pdf=$(usex pdf)
- -Denable-png=$(usex png)
- -Denable-qt4=OFF
- -Denable-qt5=$(usex qt5)
- -Denable-qt5asqt=$(usex qt5)
- -Denable-pthread=$(usex threads)
- -Denable-pthr-widget=$(usex threads)
- -Denable-python=$(usex python)
- -Denable-wx=$(usex wxwidgets)
- -Denable-zlib=$(usex 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
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/*.a || die
- fi
- if use qt5 ; then
- local lang
- insinto /usr/share/udav
- for lang in ${LANGS} ; do
- use l10n_${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-8.0.1-r1.ebuild b/sci-libs/mathgl/mathgl-8.0.1-r1.ebuild
new file mode 100644
index 000000000000..8d2a2064061c
--- /dev/null
+++ b/sci-libs/mathgl/mathgl-8.0.1-r1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
+
+inherit cmake wxwidgets multilib flag-o-matic xdg
+
+DESCRIPTION="Math Graphics Library"
+HOMEPAGE="https://mathgl.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="0/7.5.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc fltk gif glut gsl hdf hdf5 jpeg mpi octave opengl openmp pdf
+ png qt5 static-libs threads wxwidgets zlib"
+
+LANGS="ru"
+for l in ${LANGS}; do
+ IUSE+=" l10n_${l}"
+done
+unset l
+
+RDEPEND="
+ virtual/opengl
+ fltk? ( x11-libs/fltk:1 )
+ gif? ( media-libs/giflib )
+ glut? ( media-libs/freeglut )
+ gsl? ( >=sci-libs/gsl-2:= )
+ hdf? ( sci-libs/hdf )
+ hdf5? ( >=sci-libs/hdf5-1.8:=[mpi=] )
+ jpeg? ( virtual/jpeg:0 )
+ octave? ( >=sci-mathematics/octave-3.4.0 )
+ openmp? ( sys-cluster/openmpi )
+ pdf? ( media-libs/libharu )
+ png? ( media-libs/libpng:0 )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/texi2html virtual/texi2dvi )
+ octave? ( dev-lang/swig )"
+
+REQUIRED_USE="
+ mpi? ( hdf5 )
+ openmp? ( !threads )
+ png? ( zlib )
+ pdf? ( png )"
+
+pkg_setup() {
+ use mpi && export CC=mpicc CXX=mpicxx
+}
+
+PATCHES=(
+ # From Fedora
+ "${FILESDIR}"/${PN}-libharu2.4.patch
+)
+
+src_prepare() {
+ # Prevent sandbox violation
+ sed -i -e 's/update-mime-database/true/' udav/CMakeLists.txt || die
+ sed -i -e 's/update-desktop-database/true/' udav/CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ use wxwidgets && setup-wxwidgets unicode
+
+ local mycmakeargs=()
+ if use hdf; then
+ mycmakeargs+=(
+ -DHDF4_INCLUDE_DIR="${EPREFIX}/usr/include"
+ )
+ fi
+ mycmakeargs+=(
+ # No clue about this option:
+ # option(enable-mgl2 "Use names 'libmgl2-*' instead of 'libmgl-*'")
+ -DMathGL_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)"
+ -Denable-all-docs=$(usex doc)
+ -Denable-fltk=$(usex fltk)
+ -Denable-gif=$(usex gif)
+ -Denable-glut=$(usex glut)
+ -Denable-gsl=$(usex gsl)
+ -Denable-hdf4=$(usex hdf)
+ -Denable-hdf5=$(usex hdf5)
+ -Denable-jpeg=$(usex jpeg)
+ -Denable-mpi=$(usex mpi)
+ -Denable-octave=$(usex octave)
+ -Denable-opengl=$(usex opengl)
+ -Denable-openmp=$(usex openmp)
+ -Denable-pdf=$(usex pdf)
+ -Denable-png=$(usex png)
+ -Denable-qt4=OFF
+ -Denable-qt5=$(usex qt5)
+ -Denable-qt5asqt=$(usex qt5)
+ -Denable-pthread=$(usex threads)
+ -Denable-pthr-widget=$(usex threads)
+ -Denable-python=OFF
+ -Denable-wx=$(usex wxwidgets)
+ -Denable-zlib=$(usex zlib)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc README* *.txt AUTHORS
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+ if use qt5 ; then
+ local lang
+ insinto /usr/share/udav
+ for lang in ${LANGS} ; do
+ use l10n_${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
+}
+
+pkg_postinst() {
+ if use octave; then
+ octave <<-EOF
+ pkg install ${EROOT}/usr/share/${PN}/octave/${PN}.tar.gz
+ EOF
+ fi
+ xdg_pkg_postinst
+}
+
+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
index c8a7abfe76a2..57914f65fe06 100644
--- a/sci-libs/mathgl/metadata.xml
+++ b/sci-libs/mathgl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,7 +10,7 @@
* 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>
+ </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>
diff --git a/sci-libs/matio/Manifest b/sci-libs/matio/Manifest
index 05e6aaa14183..e9b55b9a88f1 100644
--- a/sci-libs/matio/Manifest
+++ b/sci-libs/matio/Manifest
@@ -1 +1 @@
-DIST matio-1.5.17.tar.gz 10066268 BLAKE2B 0852d1861bb4c43acd8a34d7114d29b7e15aa00e6f995d8516d22ff9420268cf7de7b82e08ee33978891bdfd02fcf3f8441aa1466e66e112a21f01abd6f3f0e0 SHA512 af8ff11c7c44fea9ea6886e381f49ef9186946f3def98ad9695f2d5d1df045c35e8f4ceac12a44be397f7bbd708b4803762b5ce54c45b60a9f446d551c04f5d2
+DIST matio-1.5.23.tar.gz 10115808 BLAKE2B a461cd8a0057db2bf1bc0249f4e9c3a0b901bc19fc274c7b9c38d3376b86d556bcfd997a32d5eb7d03b911f7a265c35ee337d98daccea5549d4e16d16f67932b SHA512 e125278dcb25695affb7c576d0e2a86c0eff4225aa866b81536c9e4d7b2aea2c554f5389e96d534a8b559f5554b6cbecff4b44fe8915173cd64b2da6d1dc2629
diff --git a/sci-libs/matio/matio-1.5.17.ebuild b/sci-libs/matio/matio-1.5.17.ebuild
deleted file mode 100644
index da6218a96d9f..000000000000
--- a/sci-libs/matio/matio-1.5.17.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Library for reading and writing matlab files"
-HOMEPAGE="https://sourceforge.net/projects/matio/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/9" # subslot = soname version
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples hdf5 sparse"
-
-RDEPEND="
- sys-libs/zlib
- hdf5? ( sci-libs/hdf5:= )"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( virtual/latex-base )"
-
-src_configure() {
- econf \
- --disable-static \
- $(use_enable hdf5 mat73) \
- $(use_enable sparse extended-sparse)
-}
-
-src_compile() {
- default
- use doc && emake -C documentation pdf
-}
-
-src_install() {
- default
- use doc && dodoc documentation/matio_user_guide.pdf
-
- if use examples; then
- docinto examples
- dodoc test/test*.c
- insinto /usr/share/${PN}
- doins share/test*
- fi
-
- # no static archives
- find "${D}" -name "*.la" -delete || die
-}
diff --git a/sci-libs/matio/matio-1.5.23.ebuild b/sci-libs/matio/matio-1.5.23.ebuild
new file mode 100644
index 000000000000..9e66ecdece8b
--- /dev/null
+++ b/sci-libs/matio/matio-1.5.23.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool
+
+DESCRIPTION="Library for reading and writing matlab files"
+HOMEPAGE="https://sourceforge.net/projects/matio/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/11" # subslot = soname version
+KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples hdf5 sparse"
+
+RDEPEND="
+ sys-libs/zlib
+ hdf5? ( sci-libs/hdf5:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable hdf5 mat73) \
+ $(use_enable sparse extended-sparse)
+}
+
+src_compile() {
+ default
+ use doc && emake -C documentation pdf
+}
+
+src_install() {
+ default
+ use doc && dodoc documentation/matio_user_guide.pdf
+
+ if use examples; then
+ docinto examples
+ dodoc test/test*.c
+ insinto /usr/share/${PN}
+ doins share/test*
+ fi
+
+ # no static archives
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/sci-libs/matio/metadata.xml b/sci-libs/matio/metadata.xml
index 2bc7cf11270b..486761421827 100644
--- a/sci-libs/matio/metadata.xml
+++ b/sci-libs/matio/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -8,7 +8,7 @@
<longdescription lang="en">
matio is an ISO C library (with a limited Fortran 90 interface) for
reading and writing Matlab MAT files.
-</longdescription>
+ </longdescription>
<use>
<flag name="sparse">Extend formats for sparse matrix (not matlab)</flag>
</use>
diff --git a/sci-libs/mc/mc-1.5.ebuild b/sci-libs/mc/mc-1.5.ebuild
index 788d5bfc75d4..68c2785c6417 100644
--- a/sci-libs/mc/mc-1.5.ebuild
+++ b/sci-libs/mc/mc-1.5.ebuild
@@ -1,20 +1,19 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-AUTOTOOLS_AUTORECONF=true
-
-inherit autotools-utils fortran-2 multilib
+inherit autotools fortran-2
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"
+S="${WORKDIR}"/${PN}
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
LICENSE="GPL-2"
-IUSE="debug doc static-libs"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc"
RDEPEND="
dev-libs/maloc
@@ -26,14 +25,12 @@ RDEPEND="
sci-libs/umfpack
virtual/blas
virtual/lapack"
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
doc? (
media-gfx/graphviz
- app-doc/doxygen
- )"
-
-S="${WORKDIR}"/${PN}
+ app-text/doxygen
+ )"
PATCHES=(
"${FILESDIR}"/1.4-superlu.patch
@@ -41,7 +38,7 @@ PATCHES=(
"${FILESDIR}"/1.4-multilib.patch
"${FILESDIR}"/1.4-doc.patch
"${FILESDIR}"/${P}-unbundle.patch
- )
+)
src_prepare() {
sed \
@@ -49,36 +46,37 @@ src_prepare() {
-e 's:UMFPACK_numeric:umfpack_di_numeric:g' \
-e 's:buildg_:matvec_:g' \
-i configure.ac || die
- autotools-utils_src_prepare
+
+ default
+ eautoreconf
}
src_configure() {
- local fetk_include
- local fetk_lib
- local myeconfargs
-
- use doc || myeconfargs+=( --with-doxygen= --with-dot= )
+ export FETK_INCLUDE="${ESYSROOT}"/usr/include
+ export FETK_LIBRARY="${ESYSROOT}"/usr/$(get_libdir)
- 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}"
+ export FETK_MPI_LIBRARY="${FETK_LIBRARY}"
+ export FETK_VF2C_LIBRARY="${FETK_LIBRARY}"
+ export FETK_BLAS_LIBRARY="${FETK_LIBRARY}"
+ export FETK_LAPACK_LIBRARY="${FETK_LIBRARY}"
+ export FETK_AMD_LIBRARY="${FETK_LIBRARY}"
+ export FETK_UMFPACK_LIBRARY="${FETK_LIBRARY}"
+ export FETK_SUPERLU_LIBRARY="${FETK_LIBRARY}"
+ export FETK_ARPACK_LIBRARY="${FETK_LIBRARY}"
+ export FETK_CGCODE_LIBRARY="${FETK_LIBRARY}"
+ export FETK_PMG_LIBRARY="${FETK_LIBRARY}"
- myeconfargs+=(
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ econf \
+ --disable-static \
+ --disable-triplet \
+ --with-doxygen=$(usex doc "${BROOT}"/usr/bin/doxygen '') \
+ --with-dot=$(usex doc "${BROOT}"/usr/bin/dot '') \
$(use_enable debug vdebug)
- --disable-triplet
- --enable-shared
- )
- autotools-utils_src_configure
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/mc/metadata.xml b/sci-libs/mc/metadata.xml
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/sci-libs/mc/metadata.xml
+++ b/sci-libs/mc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/med/Manifest b/sci-libs/med/Manifest
index cec3ed3d3f8a..fa39d9acb1a5 100644
--- a/sci-libs/med/Manifest
+++ b/sci-libs/med/Manifest
@@ -1 +1 @@
-DIST med-4.0.0.tar.gz 47849098 BLAKE2B 0bc6710f7b5156e09962e3125349573989429e614a203f649843f00dea06217040ebee70e481eed9c0dd304cb7d167efcd216c3600f6954a74f262cc845fff63 SHA512 2840437010481fc5f12a56e3282f8ca5e94df541899e2b511756702f86d0f87dbf2f6e086d8e591e2bd370d8f4bab8089e7f7f939fea16354a23e2b5a4d96cd7
+DIST med-4.1.1.tar.gz 50506725 BLAKE2B fb9bc3239c18c53fa42c5dd1101559746e8d38db2a3cb5fb47d1bf0cb578facc4ab95409af8524f5c20251848842cc1a331f6a816ce0754e9a6c95f507174ed1 SHA512 8917e7ecfe30e1259b0927c8e1c3d6efd86ed2386813f6d90217bd95589199478e587f0815031ab65cacf7901a30b77a6307414f9073caffe6e7f013e710d768
diff --git a/sci-libs/med/files/med-3.3.1-cmake-fortran.patch b/sci-libs/med/files/med-3.3.1-cmake-fortran.patch
deleted file mode 100644
index 1f475d584843..000000000000
--- a/sci-libs/med/files/med-3.3.1-cmake-fortran.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Make cmake properly disable fortran upon user requirments
-
---- ./CMakeLists.txt.orig 2016-07-01 15:28:57.139304608 +0300
-+++ ./CMakeLists.txt 2016-07-01 15:34:22.295899455 +0300
-@@ -8,10 +8,13 @@
-
- INCLUDE(CheckLanguage)
- CHECK_LANGUAGE(Fortran)
--IF(CMAKE_Fortran_COMPILER)
-+OPTION (MEDFILE_BUILD_FORTRAN "Build fortran library" ON)
-+IF(MEDFILE_BUILD_FORTRAN)
- ENABLE_LANGUAGE(Fortran)
-+ IF(NOT CMAKE_Fortran_COMPILER)
-+ MESSAGE(FATAL_EROOR "Fortran support was requested but not found")
-+ ENDIF()
- ELSE()
-- MESSAGE(STATUS "No Fortran support")
- ENDIF()
-
- ## Version number
-
diff --git a/sci-libs/med/files/med-3.3.1-disable-python-compile.patch b/sci-libs/med/files/med-3.3.1-disable-python-compile.patch
deleted file mode 100644
index 642b404ba880..000000000000
--- a/sci-libs/med/files/med-3.3.1-disable-python-compile.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- ./config/cmake_files/medMacros.cmake 2016-10-24 09:55:35.000000000 +0200
-+++ ./config/cmake_files/medMacros.cmake.new 2018-01-24 10:50:15.146953227 +0100
-@@ -412,9 +412,9 @@
- FOREACH(input ${PYFILE2COMPINST})
- GET_FILENAME_COMPONENT(inputname ${input} NAME)
- INSTALL(FILES ${input} DESTINATION ${CMAKE_INSTALL_PREFIX}/${PYFILELOC})
-- INSTALL(CODE "MESSAGE(STATUS \"py compiling ${CMAKE_INSTALL_PREFIX}/${PYFILELOC}/${inputname}\")")
-- INSTALL(CODE "SET(CMD \"import py_compile ; py_compile.compile('${CMAKE_INSTALL_PREFIX}/${PYFILELOC}/${inputname}')\")")
-- INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"\${CMD}\")")
-- INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -O -c \"\${CMD}\")")
-+ #INSTALL(CODE "MESSAGE(STATUS \"py compiling ${CMAKE_INSTALL_PREFIX}/${PYFILELOC}/${inputname}\")")
-+ #INSTALL(CODE "SET(CMD \"import py_compile ; py_compile.compile('${CMAKE_INSTALL_PREFIX}/${PYFILELOC}/${inputname}')\")")
-+ #INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"\${CMD}\")")
-+ #INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -O -c \"\${CMD}\")")
- ENDFOREACH(input ${PYFILE2COMPINST})
- ENDMACRO(INSTALL_AND_COMPILE_PYTHON_FILE PYFILE2COMPINST PYFILELOC)
-
diff --git a/sci-libs/med/files/med-4.0.0-0001-doc-html.doc-Makefile.am-install-into-htmldir.patch b/sci-libs/med/files/med-4.0.0-0001-doc-html.doc-Makefile.am-install-into-htmldir.patch
deleted file mode 100644
index e9dad6d5febe..000000000000
--- a/sci-libs/med/files/med-4.0.0-0001-doc-html.doc-Makefile.am-install-into-htmldir.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 73a776f76043d122438d716d0958489fc67bab8e Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl@gmail.com>
-Date: Sun, 1 Sep 2019 22:02:42 +0200
-Subject: [PATCH] doc/html.doc/Makefile.am: install into $htmldir
-
-Patches the install-data-local target to use $htmldir instead of $docdir
-
-Signed-off-by: Bernd Waibel <waebbl@gmail.com>
----
- doc/html.dox/Makefile.am | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/doc/html.dox/Makefile.am b/doc/html.dox/Makefile.am
-index 9dc5b08..3946777 100644
---- a/doc/html.dox/Makefile.am
-+++ b/doc/html.dox/Makefile.am
-@@ -36,25 +36,25 @@ html-local: $(builddir)/../dox/Doxyfile.cfg
- diff $(builddir)/htmllistfile2.am.tmp $(srcdir)/htmllistfile2.am || @CP@ $(builddir)/htmllistfile2.am.tmp $(srcdir)/htmllistfile2.am
-
- install-data-local: $(htmllistfile1) $(htmllistfile2) $(htmllistfile3)
-- test -z "$(DESTDIR)$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
-+ test -z "$(DESTDIR)$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
- for i in $(htmllistfile1) ; do \
- $(INSTALL_DATA) \
- `test -f $$i || echo $(srcdir)/`$$i \
-- $(DESTDIR)$(docdir) ; \
-+ $(DESTDIR)$(htmldir) ; \
- done
- for i in $(htmllistfile2) ; do \
- $(INSTALL_DATA) \
- `test -f $$i || echo $(srcdir)/`$$i \
-- $(DESTDIR)$(docdir) ; \
-+ $(DESTDIR)$(htmldir) ; \
- done
- for i in $(htmllistfile3) ; do \
- $(INSTALL_DATA) \
- `test -f $$i || echo $(srcdir)/`$$i \
-- $(DESTDIR)$(docdir) ; \
-+ $(DESTDIR)$(htmldir) ; \
- done
-
- uninstall-local: $(htmllistfile1) $(htmllistfile2) $(htmllistfile3)
-- rm -rf $(DESTDIR)$(docdir);
-+ rm -rf $(DESTDIR)$(htmldir);
-
- .PHONY: htmlclean
-
---
-2.22.0
-
diff --git a/sci-libs/med/files/med-4.0.0-cmakelist.patch b/sci-libs/med/files/med-4.0.0-cmakelist.patch
deleted file mode 100644
index 4c023cf24b31..000000000000
--- a/sci-libs/med/files/med-4.0.0-cmakelist.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/src/CMakeLists.txt 2018-07-28 16:37:01.180598992 +0200
-+++ a/src/CMakeLists.txt.new 2018-07-28 17:14:49.147775461 +0200
-@@ -1,7 +1,3 @@
--INCLUDE_DIRECTORIES(
-- ${HDF5_INCLUDE_DIRS}
-- ${MPI_INCLUDE_DIRS})
--
- # On Win platform, we need to make sure symbols are properly exported in
- # the intermediary OBJECT targes built in the sub-directories:
- # The definition "-D<target>_EXPORTS" is normally added automatically by CMake
-@@ -19,6 +15,12 @@
- INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/include
- ${PROJECT_SOURCE_DIR}/include)
-
-+# these includes must go after project ones to avoid masking by
-+# previous versions already installed
-+INCLUDE_DIRECTORIES(
-+ ${HDF5_INCLUDE_DIRS}
-+ ${MPI_INCLUDE_DIRS})
-+
- # Get pure C intermediary targets:
- ADD_SUBDIRECTORY(hdfi)
- ADD_SUBDIRECTORY(ci)
---- a/tools/mdump/CMakeLists.txt 2018-07-29 09:24:35.714930029 +0200
-+++ a/tools/mdump/CMakeLists.txt.new 2018-07-29 09:58:48.667089767 +0200
-@@ -33,6 +33,6 @@
- CONFIGURE_FILE(xmdump3.in ${PROJECT_BINARY_DIR}/xmdump3 @ONLY)
-
- INSTALL(PROGRAMS ${PROJECT_BINARY_DIR}/xmdump2 ${PROJECT_BINARY_DIR}/xmdump3 DESTINATION bin)
--INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink mdump3 mdump WORKING_DIRECTORY ${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin)")
--INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink xmdump3 xmdump WORKING_DIRECTORY ${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin)")
-+INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink mdump3 mdump WORKING_DIRECTORY \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin\")")
-+INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink xmdump3 xmdump WORKING_DIRECTORY \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin\")")
-
---- a/src/2.3.6/CMakeLists.txt 2018-07-30 22:45:56.205079148 +0200
-+++ a/src/2.3.6/CMakeLists.txt.new 2018-07-30 22:49:43.520096835 +0200
-@@ -1,8 +1,3 @@
--INCLUDE_DIRECTORIES(
-- ${HDF5_INCLUDE_DIRS}
-- ${MPI_INCLUDE_DIRS}
--)
--
- SET(med236_SOURCES MEDaffiche.c)
-
- # Definitions
-@@ -13,6 +8,13 @@
- "${PROJECT_BINARY_DIR}/include/2.3.6"
- "${PROJECT_SOURCE_DIR}/include/2.3.6")
-
-+# these includes must go after project ones to avoid masking by
-+# previous versions already installed
-+INCLUDE_DIRECTORIES(
-+ ${HDF5_INCLUDE_DIRS}
-+ ${MPI_INCLUDE_DIRS}
-+)
-+
- # Build intermediate targets _cfi236, _hdfi236, _misc236 and _ci236
- # (and their static counterpart):
- ADD_SUBDIRECTORY(cfi)
diff --git a/sci-libs/med/files/med-4.0.0-installdoc.patch b/sci-libs/med/files/med-4.0.0-installdoc.patch
deleted file mode 100644
index 2d9361c42657..000000000000
--- a/sci-libs/med/files/med-4.0.0-installdoc.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- ./CMakeLists.txt 2019-02-26 11:59:15.276962751 +0100
-+++ ./CMakeLists.txt.new 2019-02-26 11:59:26.660962707 +0100
-@@ -137,9 +137,10 @@
- ENDIF()
-
- ## Installation of the doc
-+set(MEDFILE_DOC_DIRECTORY ${CMAKE_INSTALL_PREFIX}/share/doc/med-fichier-${MED_STR_VERSION} CACHE PATH "install dir for documentation")
- IF(MEDFILE_INSTALL_DOC OR MEDFILE_BUILD_DOC)
-- INSTALL(DIRECTORY doc/html.dox/ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med-fichier-${MED_STR_VERSION} REGEX "Makefile*" EXCLUDE PATTERN "*.am" EXCLUDE)
-- INSTALL(DIRECTORY doc/gif doc/jpg doc/png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/med-fichier-${MED_STR_VERSION} FILES_MATCHING PATTERN "*.gif" PATTERN "*.jpg" PATTERN "*.svg" PATTERN "*.png")
-+ INSTALL(DIRECTORY doc/html.dox/ DESTINATION ${MEDFILE_DOC_DIRECTORY} REGEX "Makefile*" EXCLUDE PATTERN "*.am" EXCLUDE)
-+ INSTALL(DIRECTORY doc/gif doc/jpg doc/png DESTINATION ${MEDFILE_DOC_DIRECTORY} FILES_MATCHING PATTERN "*.gif" PATTERN "*.jpg" PATTERN "*.svg" PATTERN "*.png")
- ENDIF()
-
- #######################
diff --git a/sci-libs/med/files/med-4.1.0-0001-Gentoo-specific-Adjust-install-path-for-build-dir.patch b/sci-libs/med/files/med-4.1.0-0001-Gentoo-specific-Adjust-install-path-for-build-dir.patch
new file mode 100644
index 000000000000..e066385def8f
--- /dev/null
+++ b/sci-libs/med/files/med-4.1.0-0001-Gentoo-specific-Adjust-install-path-for-build-dir.patch
@@ -0,0 +1,26 @@
+From ccc372d4fa95ea2e083505ec5c536a48c49dd151 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl@gmail.com>
+Date: Wed, 25 Nov 2020 21:08:46 +0100
+Subject: [PATCH] [Gentoo-specific] Adjust install path for build dir
+
+Signed-off-by: Bernd Waibel <waebbl@gmail.com>
+---
+ tools/mdump/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/mdump/CMakeLists.txt b/tools/mdump/CMakeLists.txt
+index 991b5af..dd2018a 100644
+--- a/tools/mdump/CMakeLists.txt
++++ b/tools/mdump/CMakeLists.txt
+@@ -44,6 +44,6 @@ CONFIGURE_FILE(xmdump3.in ${PROJECT_BINARY_DIR}/xmdump3 @ONLY)
+ CONFIGURE_FILE(xmdump4.in ${PROJECT_BINARY_DIR}/xmdump4 @ONLY)
+
+ INSTALL(PROGRAMS ${PROJECT_BINARY_DIR}/xmdump2 ${PROJECT_BINARY_DIR}/xmdump3 ${PROJECT_BINARY_DIR}/xmdump4 DESTINATION bin)
+-INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink mdump4 mdump WORKING_DIRECTORY ${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin)")
+-INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink xmdump4 xmdump WORKING_DIRECTORY ${DESTDIR}${CMAKE_INSTALL_PREFIX}/bin)")
++INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink mdump4 mdump WORKING_DIRECTORY \"\$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/bin\")")
++INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink xmdump4 xmdump WORKING_DIRECTORY \"\$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/bin\")")
+
+--
+2.29.2
+
diff --git a/sci-libs/med/files/med-4.1.0-0002-Re-add-option-for-building-Fortran-library.patch b/sci-libs/med/files/med-4.1.0-0002-Re-add-option-for-building-Fortran-library.patch
new file mode 100644
index 000000000000..b5c3364b799e
--- /dev/null
+++ b/sci-libs/med/files/med-4.1.0-0002-Re-add-option-for-building-Fortran-library.patch
@@ -0,0 +1,39 @@
+From 3c8eb1ca6be13f185f20ee726f91f31d717947d2 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl@gmail.com>
+Date: Sat, 28 Nov 2020 21:52:29 +0100
+Subject: [PATCH] Re-add option for building Fortran library
+
+Signed-off-by: Bernd Waibel <waebbl@gmail.com>
+---
+ CMakeLists.txt | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2262275..7cb014c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,12 +6,15 @@ PROJECT(MEDFile C CXX)
+ ## See http://www.cmake.org/Bug/view.php?id=10227
+ #ENABLE_LANGUAGE(Fortran OPTIONAL)
+
+-INCLUDE(CheckLanguage)
+-CHECK_LANGUAGE(Fortran)
+-IF(CMAKE_Fortran_COMPILER)
+- ENABLE_LANGUAGE(Fortran)
+-ELSE()
+- MESSAGE(STATUS "No Fortran support")
++OPTION (MEDFILE_BUILD_FORTRAN "Build MED-file fortran library" ON)
++IF (MEDFILE_BUILD_FORTRAN)
++ INCLUDE(CheckLanguage)
++ CHECK_LANGUAGE(Fortran)
++ IF(CMAKE_Fortran_COMPILER)
++ ENABLE_LANGUAGE(Fortran)
++ ELSE()
++ MESSAGE(STATUS "No Fortran support")
++ ENDIF()
+ ENDIF()
+
+ ## Version number
+--
+2.29.2
+
diff --git a/sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.12.patch b/sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.12.patch
new file mode 100644
index 000000000000..46d7ed21af8d
--- /dev/null
+++ b/sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.12.patch
@@ -0,0 +1,117 @@
+From 5c9c1ce9911290283d39e16b1ed4c1d4ea5a5678 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Tue, 24 Aug 2021 08:32:13 +0200
+Subject: [PATCH] build against hdf5-1.12
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ config/cmake_files/medMacros.cmake | 4 ++--
+ src/ci/MEDfileCompatibility.c | 2 +-
+ src/hdfi/_MEDfileCreate.c | 2 +-
+ src/hdfi/_MEDfileOpen.c | 2 +-
+ src/hdfi/_MEDmemFileOpen.c | 2 +-
+ src/hdfi/_MEDparFileCreate.c | 2 +-
+ src/hdfi/_MEDparFileOpen.c | 2 +-
+ 7 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/config/cmake_files/medMacros.cmake b/config/cmake_files/medMacros.cmake
+index 957c59b..d73c7af 100644
+--- a/config/cmake_files/medMacros.cmake
++++ b/config/cmake_files/medMacros.cmake
+@@ -447,13 +447,13 @@ MACRO(MED_FIND_HDF5)
+ ##
+ ## Requires 1.10.x version
+ ##
+- IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1)
++ IF(HDF5_VERSION VERSION_LESS 1.10.2)
+ MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.")
+ ENDIF()
+ ##
+ ##
+
+- ADD_DEFINITIONS(-DH5_USE_16_API)
++ ADD_DEFINITIONS(-DH5_USE_18_API -DH5_USE_16_API)
+ IF(WIN32 AND MEDFILE_BUILD_SHARED_LIBS)
+ ADD_DEFINITIONS(-D_HDF5USEDLL_ -DH5_BUILT_AS_DYNAMIC_LIB=1)
+ ENDIF()
+diff --git a/src/ci/MEDfileCompatibility.c b/src/ci/MEDfileCompatibility.c
+index 1d6cabf..43b5b50 100644
+--- a/src/ci/MEDfileCompatibility.c
++++ b/src/ci/MEDfileCompatibility.c
+@@ -113,7 +113,7 @@ MEDfileCompatibility(const char* const filename,
+ #if MED_NUM_MAJEUR != 4
+ #error "Don't forget to update the test version here when you change the major version of the library !"
+ #endif
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !"
+ #error "Cf. _MEDfileCreate ..."
+ #endif
+diff --git a/src/hdfi/_MEDfileCreate.c b/src/hdfi/_MEDfileCreate.c
+index 4bc9551..b670c92 100644
+--- a/src/hdfi/_MEDfileCreate.c
++++ b/src/hdfi/_MEDfileCreate.c
+@@ -159,7 +159,7 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access
+ * En HDF5-1.10.0p1 cela n'a aucun effet !
+ * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+
+diff --git a/src/hdfi/_MEDfileOpen.c b/src/hdfi/_MEDfileOpen.c
+index 8ace00e..ebd875b 100644
+--- a/src/hdfi/_MEDfileOpen.c
++++ b/src/hdfi/_MEDfileOpen.c
+@@ -72,7 +72,7 @@ med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmod
+
+ • The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order).
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ /* L'avantage de bloquer le modèle interne HDF5
+diff --git a/src/hdfi/_MEDmemFileOpen.c b/src/hdfi/_MEDmemFileOpen.c
+index ae92ba7..4a929ff 100644
+--- a/src/hdfi/_MEDmemFileOpen.c
++++ b/src/hdfi/_MEDmemFileOpen.c
+@@ -434,7 +434,7 @@ med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile
+ goto ERROR;
+ }
+
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) {
+diff --git a/src/hdfi/_MEDparFileCreate.c b/src/hdfi/_MEDparFileCreate.c
+index f0b77be..b7d1b78 100644
+--- a/src/hdfi/_MEDparFileCreate.c
++++ b/src/hdfi/_MEDparFileCreate.c
+@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * const filename, const med_access_mode acc
+ * En HDF5-1.10.0p1 cela n'a aucun effet !
+ * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+
+diff --git a/src/hdfi/_MEDparFileOpen.c b/src/hdfi/_MEDparFileOpen.c
+index 0a9700d..4933692 100644
+--- a/src/hdfi/_MEDparFileOpen.c
++++ b/src/hdfi/_MEDparFileOpen.c
+@@ -55,7 +55,7 @@ med_idt _MEDparFileOpen(const char * const filename,const med_access_mode access
+ MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_PARALLEL_MSG);
+ goto ERROR;
+ }
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) {
+--
+2.32.0
+
diff --git a/sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.14.patch b/sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.14.patch
new file mode 100644
index 000000000000..8a95866b7b0a
--- /dev/null
+++ b/sci-libs/med/files/med-4.1.0-0003-build-against-hdf5-1.14.patch
@@ -0,0 +1,117 @@
+From 5c9c1ce9911290283d39e16b1ed4c1d4ea5a5678 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Tue, 24 Aug 2021 08:32:13 +0200
+Subject: [PATCH] build against hdf5-1.12
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ config/cmake_files/medMacros.cmake | 4 ++--
+ src/ci/MEDfileCompatibility.c | 2 +-
+ src/hdfi/_MEDfileCreate.c | 2 +-
+ src/hdfi/_MEDfileOpen.c | 2 +-
+ src/hdfi/_MEDmemFileOpen.c | 2 +-
+ src/hdfi/_MEDparFileCreate.c | 2 +-
+ src/hdfi/_MEDparFileOpen.c | 2 +-
+ 7 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/config/cmake_files/medMacros.cmake b/config/cmake_files/medMacros.cmake
+index 957c59b..d73c7af 100644
+--- a/config/cmake_files/medMacros.cmake
++++ b/config/cmake_files/medMacros.cmake
+@@ -447,13 +447,13 @@ MACRO(MED_FIND_HDF5)
+ ##
+ ## Requires 1.10.x version
+ ##
+- IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1)
++ IF(HDF5_VERSION VERSION_LESS 1.10.2)
+ MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.")
+ ENDIF()
+ ##
+ ##
+
+- ADD_DEFINITIONS(-DH5_USE_16_API)
++ ADD_DEFINITIONS(-DH5_USE_18_API -DH5_USE_16_API)
+ IF(WIN32 AND MEDFILE_BUILD_SHARED_LIBS)
+ ADD_DEFINITIONS(-D_HDF5USEDLL_ -DH5_BUILT_AS_DYNAMIC_LIB=1)
+ ENDIF()
+diff --git a/src/ci/MEDfileCompatibility.c b/src/ci/MEDfileCompatibility.c
+index 1d6cabf..43b5b50 100644
+--- a/src/ci/MEDfileCompatibility.c
++++ b/src/ci/MEDfileCompatibility.c
+@@ -113,7 +113,7 @@ MEDfileCompatibility(const char* const filename,
+ #if MED_NUM_MAJEUR != 4
+ #error "Don't forget to update the test version here when you change the major version of the library !"
+ #endif
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !"
+ #error "Cf. _MEDfileCreate ..."
+ #endif
+diff --git a/src/hdfi/_MEDfileCreate.c b/src/hdfi/_MEDfileCreate.c
+index 4bc9551..b670c92 100644
+--- a/src/hdfi/_MEDfileCreate.c
++++ b/src/hdfi/_MEDfileCreate.c
+@@ -159,7 +159,7 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access
+ * En HDF5-1.10.0p1 cela n'a aucun effet !
+ * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+
+diff --git a/src/hdfi/_MEDfileOpen.c b/src/hdfi/_MEDfileOpen.c
+index 8ace00e..ebd875b 100644
+--- a/src/hdfi/_MEDfileOpen.c
++++ b/src/hdfi/_MEDfileOpen.c
+@@ -72,7 +72,7 @@ med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmod
+
+ • The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order).
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ /* L'avantage de bloquer le modèle interne HDF5
+diff --git a/src/hdfi/_MEDmemFileOpen.c b/src/hdfi/_MEDmemFileOpen.c
+index ae92ba7..4a929ff 100644
+--- a/src/hdfi/_MEDmemFileOpen.c
++++ b/src/hdfi/_MEDmemFileOpen.c
+@@ -434,7 +434,7 @@ med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile
+ goto ERROR;
+ }
+
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) {
+diff --git a/src/hdfi/_MEDparFileCreate.c b/src/hdfi/_MEDparFileCreate.c
+index f0b77be..b7d1b78 100644
+--- a/src/hdfi/_MEDparFileCreate.c
++++ b/src/hdfi/_MEDparFileCreate.c
+@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * const filename, const med_access_mode acc
+ * En HDF5-1.10.0p1 cela n'a aucun effet !
+ * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+
+diff --git a/src/hdfi/_MEDparFileOpen.c b/src/hdfi/_MEDparFileOpen.c
+index 0a9700d..4933692 100644
+--- a/src/hdfi/_MEDparFileOpen.c
++++ b/src/hdfi/_MEDparFileOpen.c
+@@ -55,7 +55,7 @@ med_idt _MEDparFileOpen(const char * const filename,const med_access_mode access
+ MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_PARALLEL_MSG);
+ goto ERROR;
+ }
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) {
+--
+2.32.0
+
diff --git a/sci-libs/med/med-4.0.0-r1.ebuild b/sci-libs/med/med-4.0.0-r1.ebuild
deleted file mode 100644
index 267105d848af..000000000000
--- a/sci-libs/med/med-4.0.0-r1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit autotools flag-o-matic fortran-2 python-single-r1
-
-#DESCRIPTION="A library to store and exchange meshed data or computation results"
-DESCRIPTION="Modeling and Exchange of Data library"
-HOMEPAGE="https://www.salome-platform.org/user-section/about/med"
-SRC_URI="https://files.salome-platform.org/Salome/other/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc fortran hdf5-16-api python test"
-
-# fails to run parallel tests
-RESTRICT="test"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# dev-lang/tk is needed for wish-based xmdump utility
-RDEPEND="
- !sci-libs/libmed
- dev-lang/tk:0=
- >=sci-libs/hdf5-1.10.2:=[fortran=,mpi(+)]
- virtual/mpi[fortran=]
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="python? ( >=dev-lang/swig-3.0.8 )"
-
-PATCHES=(
- "${FILESDIR}/${P}-0001-doc-html.doc-Makefile.am-install-into-htmldir.patch"
-)
-
-DOCS=( AUTHORS ChangeLog README )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- if use hdf5-16-api; then
- append-cppflags -DH5_USE_16_API
- fi
-
- # add flag to produce python 3 code
- sed -e 's|SWIG_PYTHON_OPT += -c++|SWIG_PYTHON_OPT += -c++ -relativeimport -py3|' \
- -i ./python/Makefile.am || die "failed to change swig options"
-
- # don't use version information when linking python libraries
- sed -e 's|= -module|= -avoid-version -module|' \
- -i ./python/Makefile.am || die "failed to change python link flags"
-
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf=(
- --disable-api23
- --disable-installtest
- --disable-static
- --with-hdf5="${EPREFIX}"/usr
- --with-hdf5-lib="${EPREFIX}"/usr/$(get_libdir)
- $(use_enable fortran)
- $(use_enable python)
- )
-
- if ! use fortran; then
- myconf+=(
- --with-f90=no
- )
- fi
-
- if use python; then
- myconf+=(
- --with-swig="${EPREFIX}/usr"
- )
- fi
-
- export MPICC=mpicc
- export MPICXX=mpicxx
- export MPIFC=mpif90
- export MPIF77=mpif77
- export FC=mpif90
- export F77=mpif77
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- use python && python_optimize
-
- default
-
- find "${ED}/usr/$(get_libdir)" -type f -name '*.la' -delete || die "failed to delete *.la files"
-
- # remove unnecessary doc subdirs
- rm -r "${ED}"/usr/share/doc/${PF}/{gif,jpg,odt,png} || die "failed to remove unneeded doc subdirs"
- if ! use doc; then
- rm -r "${ED}"/usr/share/doc/${PF}/html || die "failed to remove html documentation"
- fi
-
- # Prevent test executables being installed
- if use test; then
- rm -r "${ED}"/usr/bin/{testc,testf,testpy} || die "failed to delete test executables"
- fi
-
- # we don't need old 2.3.6 include files
- rm -r "${ED}"/usr/include/2.3.6 || die "failed to delete obsolete include dir"
-
- rm "${ED}"/usr/$(get_libdir)/libmed3.settings || die "failed to remove libmed3.settings"
-}
diff --git a/sci-libs/med/med-4.0.0-r2.ebuild b/sci-libs/med/med-4.0.0-r2.ebuild
deleted file mode 100644
index 5ab14261fa8a..000000000000
--- a/sci-libs/med/med-4.0.0-r2.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# EAPI=7 uses ninja generator by default but it's incompatible with USE=fortran
-# https://github.com/Kitware/ninja/tree/features-for-fortran#readme
-CMAKE_MAKEFILE_GENERATOR=emake
-
-FORTRAN_NEEDED=fortran
-
-# NOTE:The build for multiple python versions should be possible but
-# complicated for the build system
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit cmake fortran-2 python-single-r1
-
-DESCRIPTION="A library to store and exchange meshed data or computation results"
-HOMEPAGE="https://www.salome-platform.org/user-section/about/med"
-SRC_URI="https://files.salome-platform.org/Salome/other/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc fortran mpi python test"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RESTRICT="!test? ( test ) python? ( test )"
-
-# dev-lang/tk is needed for wish-based xmdump utility
-RDEPEND="
- !sci-libs/libmed
- dev-lang/tk:0=
- >=sci-libs/hdf5-1.10.2:=[fortran?,mpi?]
- mpi? ( virtual/mpi[fortran=] )
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="python? ( >=dev-lang/swig-3.0.8 )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.3.1-cmake-fortran.patch"
- "${FILESDIR}/${PN}-3.3.1-disable-python-compile.patch" # managed by function of python eclass
- "${FILESDIR}/${P}-cmakelist.patch"
- "${FILESDIR}/${P}-installdoc.patch"
-)
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- if use python; then
- # fixes for correct libdir name
- local pysite=$(python_get_sitedir)
- pysite="${pysite##/usr/}"
- sed \
- -e 's@SET(_install_dir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/med)@SET(_install_dir '${pysite}'/med)@' \
- -i ./python/CMakeLists.txt || die "sed on ./python/CMakeLists.txt failed"
- fi
- for cm in ./src/CMakeLists.txt ./tools/medimport/CMakeLists.txt
- do
- sed -i -e "s@INSTALL(TARGETS \(.*\) DESTINATION lib)@INSTALL(TARGETS \1 DESTINATION $(get_libdir))@" \
- "${cm}" || die "sed on ${cm} failed"
- done
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- # as indicated in the CMakeLists.txt, the shipped documentation is generated by a custom doxygen,
- # so let's avoid rebuilding it because it will be different
- -DMEDFILE_BUILD_DOC=OFF
- -DMEDFILE_BUILD_FORTRAN=$(usex fortran)
- -DMEDFILE_BUILD_PYTHON=$(usex python)
- -DMEDFILE_BUILD_SHARED_LIBS=ON
- -DMEDFILE_BUILD_STATIC_LIBS=OFF
- -DMEDFILE_BUILD_TESTS=$(usex test)
- -DMEDFILE_DOC_DIRECTORY="${EPREFIX}"/usr/share/doc/${PF}/html # custom var created by patches
- -DMEDFILE_INSTALL_DOC=$(usex doc)
- -DMEDFILE_USE_MPI=$(usex mpi)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # we don't need old 2.3.6 include files
- rm -r "${ED}"/usr/include/2.3.6 || die "failed to delete obsolete include dir"
-
- # the optimization done in CMakeLists.txt has been disabled so
- # we need to do it manually
- use python && python_optimize
-
- # Prevent test executables being installed
- if use test; then
- rm -r "${ED}"/usr/bin/testc || die "failed to delete C test executables"
- if use fortran; then
- rm -r "${ED}"/usr/bin/testf || die "failed to delete fortran test executables"
- fi
- if use python; then
- rm -r "${ED}"/usr/bin/testpy || die "failed to delete python test executables"
- fi
- fi
-}
-
-src_test() {
- # override parallel mode only for tests
- local myctestargs=( "-j 1" )
- cmake_src_test
-}
diff --git a/sci-libs/med/med-4.1.1-r1.ebuild b/sci-libs/med/med-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..9b2d35e26ef3
--- /dev/null
+++ b/sci-libs/med/med-4.1.1-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake flag-o-matic fortran-2 python-single-r1
+
+DESCRIPTION="A library to store and exchange meshed data or computation results"
+HOMEPAGE="https://www.salome-platform.org/user-section/about/med"
+SRC_URI="https://files.salome-platform.org/Salome/other/${P}.tar.gz"
+LICENSE="LGPL-3"
+S="${WORKDIR}/${P}_SRC"
+
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="doc fortran mpi python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test ) python? ( test )"
+
+RDEPEND="
+ !sci-libs/libmed
+ dev-lang/tk:0=
+ <sci-libs/hdf5-1.14.0:=[fortran?,mpi(+)?]
+ mpi? ( virtual/mpi[fortran?] )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="python? ( >=dev-lang/swig-3.0.8 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.1.0-0001-Gentoo-specific-Adjust-install-path-for-build-dir.patch"
+ "${FILESDIR}/${PN}-4.1.0-0002-Re-add-option-for-building-Fortran-library.patch"
+ "${FILESDIR}/${PN}-4.1.0-0003-build-against-hdf5-1.12.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README README.CMAKE TODO )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ if use python; then
+ # fixes for correct libdir name
+ local pysite=$(python_get_sitedir)
+ pysite="${pysite##/usr/}"
+ sed \
+ -e 's@SET(_install_dir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/med)@SET(_install_dir '${pysite}'/med)@' \
+ -i ./python/CMakeLists.txt || die "sed on ./python/CMakeLists.txt failed"
+ fi
+ for cm in ./src/CMakeLists.txt ./tools/medimport/CMakeLists.txt
+ do
+ sed -i -e "s@INSTALL(TARGETS \(.*\) DESTINATION lib)@INSTALL(TARGETS \1 DESTINATION $(get_libdir))@" \
+ "${cm}" || die "sed on ${cm} failed"
+ done
+ sed -e 's/med-fichier/med/' -i CMakeLists.txt || die "fix paths failed"
+ sed -e 's|doc/med-${MED_STR_VERSION}|doc/med-${MED_STR_VERSION}/html|' \
+ -i CMakeLists.txt || die "fix doc path failed"
+
+ # bug #862900, already reported upstream. CHECK on updates!
+ filter-lto
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # as indicated in the CMakeLists.txt, the shipped documentation is generated by a custom doxygen,
+ # so let's avoid rebuilding it because it will be different
+ -DMEDFILE_BUILD_DOC=OFF
+ -DMEDFILE_BUILD_FORTRAN=$(usex fortran)
+ -DMEDFILE_BUILD_PYTHON=$(usex python)
+ -DMEDFILE_BUILD_SHARED_LIBS=ON
+ -DMEDFILE_BUILD_STATIC_LIBS=OFF
+ -DMEDFILE_BUILD_TESTS=$(usex test)
+ -DMEDFILE_INSTALL_DOC=$(usex doc)
+ -DMEDFILE_USE_MPI=$(usex mpi)
+ -DMEDFILE_USE_UNICODE=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # we don't need old 2.3.6 include files
+ rm -r "${ED}"/usr/include/2.3.6 || die "failed to delete obsolete include dir"
+
+ # the optimization done in CMakeLists.txt has been disabled so
+ # we need to do it manually
+ use python && python_optimize
+
+ # Prevent test executables being installed
+ if use test; then
+ rm -r "${ED}"/usr/bin/testc || die "failed to delete C test executables"
+ if use fortran; then
+ rm -r "${ED}"/usr/bin/testf || die "failed to delete fortran test executables"
+ fi
+ if use python; then
+ rm -r "${ED}"/usr/bin/testpy || die "failed to delete python test executables"
+ fi
+ fi
+}
+
+src_test() {
+ # override parallel mode only for tests
+ local myctestargs=( "-j 1" )
+ cmake_src_test
+}
diff --git a/sci-libs/med/med-4.1.1-r3.ebuild b/sci-libs/med/med-4.1.1-r3.ebuild
new file mode 100644
index 000000000000..c5d4f76fecce
--- /dev/null
+++ b/sci-libs/med/med-4.1.1-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake flag-o-matic fortran-2 python-single-r1
+
+DESCRIPTION="A library to store and exchange meshed data or computation results"
+HOMEPAGE="https://www.salome-platform.org/user-section/about/med"
+SRC_URI="https://files.salome-platform.org/Salome/other/${P}.tar.gz"
+LICENSE="LGPL-3"
+S="${WORKDIR}/${P}_SRC"
+
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="doc fortran mpi python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test ) python? ( test )"
+
+RDEPEND="
+ !sci-libs/libmed
+ dev-lang/tk:0=
+ >=sci-libs/hdf5-1.10.2:=[fortran?,mpi(+)?]
+ mpi? ( virtual/mpi[fortran?] )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="python? ( >=dev-lang/swig-3.0.8 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.1.0-0001-Gentoo-specific-Adjust-install-path-for-build-dir.patch"
+ "${FILESDIR}/${PN}-4.1.0-0002-Re-add-option-for-building-Fortran-library.patch"
+ "${FILESDIR}/${PN}-4.1.0-0003-build-against-hdf5-1.14.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README README.CMAKE TODO )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ if use python; then
+ # fixes for correct libdir name
+ local pysite=$(python_get_sitedir)
+ pysite="${pysite##/usr/}"
+ sed \
+ -e 's@SET(_install_dir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/med)@SET(_install_dir '${pysite}'/med)@' \
+ -i ./python/CMakeLists.txt || die "sed on ./python/CMakeLists.txt failed"
+ fi
+ sed -e 's/med-fichier/med/' -i CMakeLists.txt || die "fix paths failed"
+ sed -e 's|doc/med-${MED_STR_VERSION}|doc/'${PF}'/html|' \
+ -i CMakeLists.txt || die "fix doc path failed"
+
+ # bug #862900, already reported upstream. CHECK on updates!
+ filter-lto
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # as indicated in the CMakeLists.txt, the shipped documentation is generated by a custom doxygen,
+ # so let's avoid rebuilding it because it will be different
+ -DMEDFILE_BUILD_DOC=OFF
+ -DMEDFILE_BUILD_FORTRAN=$(usex fortran)
+ -DMEDFILE_BUILD_PYTHON=$(usex python)
+ -DMEDFILE_BUILD_SHARED_LIBS=ON
+ -DMEDFILE_BUILD_STATIC_LIBS=OFF
+ -DMEDFILE_BUILD_TESTS=$(usex test)
+ -DMEDFILE_INSTALL_DOC=$(usex doc)
+ -DMEDFILE_USE_MPI=$(usex mpi)
+ -DMEDFILE_USE_UNICODE=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # we don't need old 2.3.6 include files
+ rm -r "${ED}"/usr/include/2.3.6 || die "failed to delete obsolete include dir"
+
+ # the optimization done in CMakeLists.txt has been disabled so
+ # we need to do it manually
+ use python && python_optimize
+
+ # Prevent test executables being installed
+ if use test; then
+ rm -r "${ED}"/usr/bin/testc || die "failed to delete C test executables"
+ if use fortran; then
+ rm -r "${ED}"/usr/bin/testf || die "failed to delete fortran test executables"
+ fi
+ if use python; then
+ rm -r "${ED}"/usr/bin/testpy || die "failed to delete python test executables"
+ fi
+ fi
+}
+
+src_test() {
+ # override parallel mode only for tests
+ local myctestargs=( "-j 1" )
+ cmake_src_test
+}
diff --git a/sci-libs/med/metadata.xml b/sci-libs/med/metadata.xml
index 508afc5ef9c1..b744f23897b7 100644
--- a/sci-libs/med/metadata.xml
+++ b/sci-libs/med/metadata.xml
@@ -1,25 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
<name>Matthias Maier</name>
</maintainer>
- <maintainer type="person">
- <email>waebbl@gmail.com</email>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
<name>Bernd Waibel</name>
</maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<description>Gentoo Science Project</description>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
- <description>Gentoo Proxy Maintainers</description>
+ <name>Proxy Maintainers</name>
</maintainer>
- <use>
- <flag name="hdf5-16-api">
- Use -DH5_USE_16_API to build the package against old 1.6 API of HDF5
- </flag>
- </use>
</pkgmetadata>
diff --git a/sci-libs/metadata.xml b/sci-libs/metadata.xml
index de2ee5e82dd2..883490ed5ecb 100644
--- a/sci-libs/metadata.xml
+++ b/sci-libs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The sci-libs category contains various science-related libraries.
@@ -30,4 +30,3 @@
Kategoria sci-libs zawiera biblioteki zwiÄ…zane z programami naukowymi.
</longdescription>
</catmetadata>
-
diff --git a/sci-libs/metis/Manifest b/sci-libs/metis/Manifest
index b33bb1292720..c9a17a772929 100644
--- a/sci-libs/metis/Manifest
+++ b/sci-libs/metis/Manifest
@@ -1,2 +1 @@
-DIST metis-4.0.3.tar.gz 522624 BLAKE2B a09d15de35deb0a41bc7f54254effc68d977349e015b77c5523ed60343f5b7cc737c79b2f9420c42d7a60819c23322ad34770d1dcb93f0f1dea461bca3e7c831 SHA512 3d1388120c9c94bac6a20e2d38d6022c241bb6094cf71e31decf019d5500d2037716c6d615c5db69b536348a54e43f321c33ecfa25335fa6c84e412be227e332
-DIST metis-5.1.0.tar.gz 4984968 BLAKE2B c5f8ff552fce7e7cc02740e6197c9deb5e05e8bc2e2e56cad0cba85705eec6990b511182930c8758fd16a18015f54c8a4827038039bc3c58ee41df468ea175bc SHA512 deea47749d13bd06fbeaf98a53c6c0b61603ddc17a43dae81d72c8015576f6495fd83c11b0ef68d024879ed5415c14ebdbd87ce49c181bdac680573bea8bdb25
+DIST metis-5.2.1.tar.gz 4838377 BLAKE2B 7f2bb3b4dce71cd05e25d042095c311f814d5d197b1a6ae19994b6bcbb7d948d3a96210cbce5633f39d7bb8ad7cc3f8f4977c6465ec8591934aac00ea9637c94 SHA512 69127b7a777f9ba14cf399a7122000af9d6094a5f44be600a28384cfc0495c024fb0c6eab37c4473a5763ec1077cd9f30d9bcbb3c952462f6c9ead31c6b9e790
diff --git a/sci-libs/metis/files/metis-4.0.1-autotools.patch b/sci-libs/metis/files/metis-4.0.1-autotools.patch
deleted file mode 100644
index f5d3050a2998..000000000000
--- a/sci-libs/metis/files/metis-4.0.1-autotools.patch
+++ /dev/null
@@ -1,85 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -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
---- a/metis.pc.in
-+++ b/metis.pc.in
-@@ -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
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -0,0 +1,5 @@
-+SUBDIRS = Lib Programs Test
-+EXTRA_DIST = CHANGES VERSION metis.pc.in
-+
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = metis.pc
---- a/Lib/Makefile.am
-+++ b/Lib/Makefile.am
-@@ -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
---- a/Programs/Makefile.am
-+++ b/Programs/Makefile.am
-@@ -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
---- a/Test/Makefile.am
-+++ b/Test/Makefile.am
-@@ -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
deleted file mode 100644
index cbca8904ff73..000000000000
--- a/sci-libs/metis/files/metis-5.1.0-datatype.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/include/metis.h
-+++ b/include/metis.h
-@@ -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
deleted file mode 100644
index 9e72c5b1b2d3..000000000000
--- a/sci-libs/metis/files/metis-5.1.0-multilib.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/libmetis/CMakeLists.txt
-+++ b/libmetis/CMakeLists.txt
-@@ -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-remove-GKlib-O3.patch b/sci-libs/metis/files/metis-5.1.0-remove-GKlib-O3.patch
deleted file mode 100644
index 507395867fcc..000000000000
--- a/sci-libs/metis/files/metis-5.1.0-remove-GKlib-O3.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/GKlib/GKlibSystem.cmake
-+++ b/GKlib/GKlibSystem.cmake
-@@ -20,7 +20,7 @@
- elseif(MINGW)
- set(GKlib_COPTS "-DUSE_GKREGEX")
- else()
-- set(GKlib_COPTS "-O3")
-+ set(GKlib_COPTS "")
- set(GKlib_COPTIONS "-DLINUX -D_FILE_OFFSET_BITS=64")
- endif(MSVC)
- if(CYGWIN)
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
deleted file mode 100644
index 483820164638..000000000000
--- a/sci-libs/metis/files/metis-5.1.0-shared-GKlib.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/GKlib/CMakeLists.txt
-+++ b/GKlib/CMakeLists.txt
-@@ -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/files/metis-5.2.1-add-gklib-as-required.patch b/sci-libs/metis/files/metis-5.2.1-add-gklib-as-required.patch
new file mode 100644
index 000000000000..5fedf17b8051
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.2.1-add-gklib-as-required.patch
@@ -0,0 +1,15 @@
+diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt
+index fc6cec6..758835f 100644
+--- a/libmetis/CMakeLists.txt
++++ b/libmetis/CMakeLists.txt
+@@ -7,6 +7,10 @@ file(GLOB metis_sources *.c)
+ # Build libmetis.
+ add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources})
+
++if(SHARED)
++ target_link_libraries(metis GKlib)
++endif()
++
+ if(METIS_INSTALL)
+ install(TARGETS metis
+ LIBRARY DESTINATION lib
diff --git a/sci-libs/metis/files/metis-5.2.1-multilib.patch b/sci-libs/metis/files/metis-5.2.1-multilib.patch
new file mode 100644
index 000000000000..fc26f7556f12
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.2.1-multilib.patch
@@ -0,0 +1,19 @@
+diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt
+index fc6cec6..e10a1a1 100644
+--- a/libmetis/CMakeLists.txt
++++ b/libmetis/CMakeLists.txt
+@@ -6,10 +6,11 @@ file(GLOB metis_sources *.c)
+
+ # Build libmetis.
+ add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources})
++set_target_properties(metis PROPERTIES SOVERSION 0)
+
+ 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.2.1-respect-user-flags.patch b/sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch
new file mode 100644
index 000000000000..acdf17df5090
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch
@@ -0,0 +1,47 @@
+diff --git a/conf/gkbuild.cmake b/conf/gkbuild.cmake
+index 0e70a8e..d005f84 100644
+--- a/conf/gkbuild.cmake
++++ b/conf/gkbuild.cmake
+@@ -29,16 +29,7 @@ endif(CYGWIN)
+ if(CMAKE_COMPILER_IS_GNUCC)
+ # GCC opts.
+ set(GK_COPTIONS "${GK_COPTIONS} -std=c99 -fno-strict-aliasing")
+-if(VALGRIND)
+- set(GK_COPTIONS "${GK_COPTIONS} -march=x86-64 -mtune=generic")
+-else()
+- set(GK_COPTIONS "${GK_COPTIONS} -march=native")
+-endif(VALGRIND)
+- if(NOT MINGW)
+- set(GK_COPTIONS "${GK_COPTIONS} -fPIC")
+- endif(NOT MINGW)
+-# GCC warnings.
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label")
++
+ elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
+ # Sun insists on -xc99.
+ set(GK_COPTIONS "${GK_COPTIONS} -xc99")
+@@ -65,24 +56,10 @@ if(OPENMP)
+ endif(OPENMP)
+
+
+-# Add various definitions.
+-if(GDB)
+- set(GK_COPTS "${GK_COPTS} -g")
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror")
+-else()
+- set(GK_COPTS "-O3")
+-endif(GDB)
+-
+-
+ if(DEBUG)
+- set(GK_COPTS "-Og")
+ set(GK_COPTIONS "${GK_COPTIONS} -DDEBUG")
+ endif(DEBUG)
+
+-if(GPROF)
+- set(GK_COPTS "-pg")
+-endif(GPROF)
+-
+ if(NOT ASSERT)
+ set(GK_COPTIONS "${GK_COPTIONS} -DNDEBUG")
+ endif(NOT ASSERT)
diff --git a/sci-libs/metis/metadata.xml b/sci-libs/metis/metadata.xml
index 142ea93c83ad..3daf0ce6b84d 100644
--- a/sci-libs/metis/metadata.xml
+++ b/sci-libs/metis/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -11,5 +11,12 @@
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>
+ </longdescription>
+ <use>
+ <flag name="double-precision">Use double- rather than single-precision floating-point representation</flag>
+ <flag name="int64">Use 64- rather than 32-bit integer representation (needed for &gt; 2^31 vertices)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">KarypisLab/METIS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/metis/metis-4.0.3-r1.ebuild b/sci-libs/metis/metis-4.0.3-r1.ebuild
deleted file mode 100644
index 649d419b4124..000000000000
--- a/sci-libs/metis/metis-4.0.3-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc static-libs"
-RESTRICT="mirror bindist"
-
-DEPEND=""
-RDEPEND="${DEPEND}
- !sci-libs/parmetis"
-
-src_prepare() {
- epatch -p1 "${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-4.0.3-r2.ebuild b/sci-libs/metis/metis-4.0.3-r2.ebuild
deleted file mode 100644
index ca26fa871dcb..000000000000
--- a/sci-libs/metis/metis-4.0.3-r2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools 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"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc"
-RESTRICT="mirror bindist"
-
-RDEPEND="!sci-libs/parmetis"
-
-PATCHES=( "${FILESDIR}"/${PN}-4.0.1-autotools.patch )
-
-src_prepare() {
- default
- sed -i -e "s/4.0.1/${PV}/" configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- use doc && dodoc Doc/manual.ps
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/metis/metis-5.1.0-r4.ebuild b/sci-libs/metis/metis-5.1.0-r4.ebuild
deleted file mode 100644
index 73cb6ab6964c..000000000000
--- a/sci-libs/metis/metis-5.1.0-r4.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake 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}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc openmp"
-
-RDEPEND="!sci-libs/parmetis"
-
-PATCHES=(
- "${FILESDIR}"/${P}-datatype.patch
- "${FILESDIR}"/${P}-shared-GKlib.patch
- "${FILESDIR}"/${P}-multilib.patch
- "${FILESDIR}"/${P}-remove-GKlib-O3.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DGKLIB_PATH="${S}"/GKlib
- -DSHARED=yes
- -DOPENMP=$(usex openmp)
- )
- cmake_src_configure
-}
-
-src_test() {
- cd graphs || die
- local PATH="${BUILD_DIR}"/programs/:${PATH}
-
- ndmetis mdual.graph || die
- mpmetis metis.mesh 2 || die
- gpmetis test.mgraph 4 || die
- gpmetis copter2.graph 4 || die
- graphchk 4elt.graph || die
-}
-
-src_install() {
- cmake_src_install
- dodoc manual/manual.pdf
-
- cat >> "${T}"/metis.pc <<- EOF || die
- prefix=${EPREFIX}/usr
- exec_prefix=\${prefix}
- libdir=\${exec_prefix}/$(get_libdir)
- includedir=\${prefix}/include
-
- Name: METIS
- Description: Software for partioning unstructured graphes and meshes
- Version: ${PV}
- Cflags: -I\${includedir}/metis
- Libs: -L\${libdir} -lmetis
- EOF
- insinto /usr/$(get_libdir)/pkgconfig
- doins "${T}"/metis.pc
-}
diff --git a/sci-libs/metis/metis-5.2.1-r2.ebuild b/sci-libs/metis/metis-5.2.1-r2.ebuild
new file mode 100644
index 000000000000..3f6300981bd1
--- /dev/null
+++ b/sci-libs/metis/metis-5.2.1-r2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A package for unstructured serial graph partitioning"
+HOMEPAGE="https://github.com/KarypisLab/METIS"
+SRC_URI="https://github.com/KarypisLab/METIS/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/METIS-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~arm64-macos ~x64-macos"
+IUSE="double-precision examples int64 openmp"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${P}-respect-user-flags.patch
+ # https://github.com/KarypisLab/METIS/pull/52 Bug 905822
+ "${FILESDIR}"/${P}-add-gklib-as-required.patch
+)
+
+DEPEND="sci-libs/gklib"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ local idxwidth realwidth
+
+ if use int64; then
+ idxwidth="#define IDXTYPEWIDTH 64"
+ else
+ idxwidth="#define IDXTYPEWIDTH 32"
+ fi
+
+ if use double-precision; then
+ realwidth="#define REALTYPEWIDTH 64"
+ else
+ realwidth="#define REALTYPEWIDTH 32"
+ fi
+
+ cmake_src_prepare
+
+ # From Makefile
+ mkdir -p build/xinclude || die
+ echo ${idxwidth} > build/xinclude/metis.h || die
+ echo ${realwidth} >> build/xinclude/metis.h || die
+ cat include/metis.h >> build/xinclude/metis.h || die
+ cp include/CMakeLists.txt build/xinclude || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSHARED=yes
+ -DOPENMP=$(usex openmp)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cd graphs || die
+ local PATH="${BUILD_DIR}"/programs/:${PATH}
+
+ ndmetis mdual.graph || die
+ mpmetis metis.mesh 2 || die
+ gpmetis test.mgraph 4 || die
+ gpmetis copter2.graph 4 || die
+ graphchk 4elt.graph || die
+}
+
+src_install() {
+ cmake_src_install
+ dodoc manual/manual.pdf
+ if use examples; then
+ docinto examples
+ dodoc -r programs graphs
+ fi
+
+ cat >> "${T}"/metis.pc <<- EOF || die
+ prefix=${EPREFIX}/usr
+ exec_prefix=\${prefix}
+ libdir=\${exec_prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+
+ Name: METIS
+ Description: Software for partioning unstructured graphes and meshes
+ Version: ${PV}
+ Cflags: -I\${includedir}
+ Libs: -L\${libdir} -lmetis -lGKlib
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins "${T}"/metis.pc
+}
diff --git a/sci-libs/minfx/Manifest b/sci-libs/minfx/Manifest
deleted file mode 100644
index 90d4bb472a93..000000000000
--- a/sci-libs/minfx/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST minfx-1.0.11.tar.gz 62102 BLAKE2B 1a7a7be4d3a9290be84ec73786712ff99b605d72c13a0c32cd6965df3412d8a1f0de4f0bd9ebc0e4fd231b573fe8b3b9e6862586598452de1a4088cdbd2ffb85 SHA512 1eb3136f363be4e8798bc01e638777ef4713ddc33521980923f0157c7b25cbbb03762b571cea9231f64764a93085ce90b4c521b32d71845a18d5be60b8318976
diff --git a/sci-libs/minfx/metadata.xml b/sci-libs/minfx/metadata.xml
deleted file mode 100644
index 3140425edf5e..000000000000
--- a/sci-libs/minfx/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-chemistry@gentoo.org</email>
- <name>Gentoo Chemistry Project</name>
- </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.11.ebuild b/sci-libs/minfx/minfx-1.0.11.ebuild
deleted file mode 100644
index af544263d47d..000000000000
--- a/sci-libs/minfx/minfx-1.0.11.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python3_6 )
-
-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/metadata.xml b/sci-libs/minuit/metadata.xml
index b6037a530db7..f49fa95c6887 100644
--- a/sci-libs/minuit/metadata.xml
+++ b/sci-libs/minuit/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/minuit/minuit-5.34.14.ebuild b/sci-libs/minuit/minuit-5.34.14.ebuild
index 433d7e2663a2..108fecfc27e7 100644
--- a/sci-libs/minuit/minuit-5.34.14.ebuild
+++ b/sci-libs/minuit/minuit-5.34.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -19,7 +19,7 @@ SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc openmp static-libs"
-DEPEND="doc? ( app-doc/doxygen )"
+DEPEND="doc? ( app-text/doxygen )"
RDEPEND=""
S="${WORKDIR}/${PN^}2-${PV}"
diff --git a/sci-libs/miopen/Manifest b/sci-libs/miopen/Manifest
new file mode 100644
index 000000000000..13af314de19a
--- /dev/null
+++ b/sci-libs/miopen/Manifest
@@ -0,0 +1,3 @@
+DIST MIOpen-5.1.3.tar.gz 88118329 BLAKE2B d24722ffc5f5dab6d6a1de2ce34193ad2f25c9a2562e38c52e010a29870f01d9ea1c56970ba0601a088c8286e97958ee95d0da27fc8082126dd2ebe5ccb36b70 SHA512 a14e28cfcb12e5061e0e7b999ef3e67fa0a0e897e31bc50e7288b8a23eb1791312e33d3b697021c2b654ccc065ae1b046c1cfd77ba8e04b0f3e87e9cc0626dcd
+DIST MIOpen-5.7.1.tar.gz 100751593 BLAKE2B c5f847fe4374ab22737c281a65401125012328412d584fc09244b431ea6265d6d5028429115ee15fa8b04cbe0edd020e4e7ac8deb22561183ed76cb8c3d4d9d4 SHA512 3354b3b154f29a6337403abc5a71ec47c0b2558320c5a1b0cbfbbdb370c4fada2db12d4a19a312b5e30ca2e2302ee50ece3390603e84d132b2212a168e9523fa
+DIST gtest-1.11.0_p20210611.tar.gz 887296 BLAKE2B 8f29b7028a6dd8190a113cd93398705b23b61d88bee38beaf9dcc0dfc8a463aed7fcd3719f6f1b131d4363aa57231629aaeffa108f6558efb58416cfface6d6e SHA512 cf9e7f3fd3e31ce6677eac355fb8bfe19c5b56a8ec3af8b9417d0904cdf5da92f99f7411a08131cc9fa4fc7d38e6a71fcfac993648e47b269a74a27de7607f7a
diff --git a/sci-libs/miopen/files/miopen-4.2.0-disable-no-inline-boost.patch b/sci-libs/miopen/files/miopen-4.2.0-disable-no-inline-boost.patch
new file mode 100644
index 000000000000..769217acd9d1
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-4.2.0-disable-no-inline-boost.patch
@@ -0,0 +1,14 @@
+This let MIOpen compatible with >boost-1.72, for example 1.76
+
+Suggested by: Michael Boone <mike@protagonistsystems.io>
+
+--- a/CMakeLists.txt 2021-07-23 01:26:15.377754243 -0700
++++ b/CMakeLists.txt 2021-07-23 01:29:23.925685190 -0700
+@@ -216,6 +216,7 @@
+ message(STATUS "Hip compiler flags: ${HIP_COMPILER_FLAGS}")
+
+ add_definitions("-DHIP_COMPILER_FLAGS=${HIP_COMPILER_FLAGS}")
++add_definitions("-DBOOST_CONTAINER_DISABLE_NOINLINE")
+
+
+ # HIP
diff --git a/sci-libs/miopen/files/miopen-4.2.0-gcc11-numeric_limits.patch b/sci-libs/miopen/files/miopen-4.2.0-gcc11-numeric_limits.patch
new file mode 100644
index 000000000000..73997ce5d4db
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-4.2.0-gcc11-numeric_limits.patch
@@ -0,0 +1,14 @@
+See: https://stackoverflow.com/questions/4798936/numeric-limits-was-not-declared-in-this-scope-no-matching-function-for-call-t
+
+https://www.gnu.org/software/gcc/gcc-11/porting_to.html#header-dep-changes
+
+--- MIOpen-rocm-4.2.0/src/include/miopen/float_equal.hpp
++++ MIOpen-rocm-4.2.0/src/include/miopen/float_equal.hpp
+@@ -29,6 +29,7 @@
+ #include <algorithm>
+ #include <cmath>
+ #include <numeric>
++#include <limits>
+ #ifdef _MSC_VER
+ #include <iso646.h>
+ #endif
diff --git a/sci-libs/miopen/files/miopen-4.3.0-enable-test.patch b/sci-libs/miopen/files/miopen-4.3.0-enable-test.patch
new file mode 100644
index 000000000000..68d2f143bf4e
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-4.3.0-enable-test.patch
@@ -0,0 +1,31 @@
+This create option BUILD_TESTS for miopen, like other rocm math libs, and
+
+testing executables are always built if test enabled. The original behaviour, is
+
+always add test/CMakeLists.txt without adding test exes as targets, and compile them
+
+during test.
+--- orig/CMakeLists.txt
++++ MIOpen-rocm-4.3.0/CMakeLists.txt
+@@ -590,6 +590,9 @@ add_subdirectory(src)
+ if(MIOPEN_BUILD_DRIVER)
+ add_subdirectory(driver)
+ endif()
+-add_subdirectory(test)
++option(BUILD_TESTS "Build binaries for tests" OFF)
++if(BUILD_TESTS)
++ add_subdirectory(test)
++endif()
+ add_subdirectory(speedtests)
+ add_subdirectory(utils)
+--- orig/test/CMakeLists.txt
++++ MIOpen-rocm-4.3.0/test/CMakeLists.txt
+@@ -142,7 +142,7 @@ function(add_test_command NAME EXE)
+ endfunction()
+
+ function(add_test_executable TEST_NAME)
+- add_executable (${TEST_NAME} EXCLUDE_FROM_ALL ${ARGN})
++ add_executable (${TEST_NAME} ${ARGN})
+ clang_tidy_check(${TEST_NAME})
+ target_link_libraries(${TEST_NAME} ${CMAKE_THREAD_LIBS_INIT})
+ # Cmake does not add flags correctly for gcc
diff --git a/sci-libs/miopen/files/miopen-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch b/sci-libs/miopen/files/miopen-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch
new file mode 100644
index 000000000000..5c2762a32548
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch
@@ -0,0 +1,17 @@
+The interface inlude directories of hip::device should be included using -I, not -isystem;
+
+otherwise compilation at MIOpen runtime will fail due to cstdlib cannot find <stdlib.h> or similar errors.
+
+Suggested-by: Yuyi Wang <Strawberry_Str@hotmail.com>
+Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
+--- orig/cmake/TargetFlags.cmake
++++ MIOpen-rocm-4.3.0/cmake/TargetFlags.cmake
+@@ -41,7 +41,7 @@ function(target_flags FLAGS TARGET)
+ set(_flags)
+ append_flags(_flags ${TARGET} "INTERFACE_COMPILE_OPTIONS" "")
+ append_flags(_flags ${TARGET} "INTERFACE_COMPILE_DEFINITIONS" "-D")
+- append_flags(_flags ${TARGET} "INTERFACE_INCLUDE_DIRECTORIES" "-isystem ")
++ append_flags(_flags ${TARGET} "INTERFACE_INCLUDE_DIRECTORIES" "-I ")
+ append_flags(_flags ${TARGET} "INTERFACE_LINK_DIRECTORIES" "-L ")
+ append_flags(_flags ${TARGET} "INTERFACE_LINK_OPTIONS" "")
+ append_link_flags(_flags ${TARGET} "INTERFACE_LINK_LIBRARIES" "")
diff --git a/sci-libs/miopen/files/miopen-5.0.2-strip-xnack-in-flags.patch b/sci-libs/miopen/files/miopen-5.0.2-strip-xnack-in-flags.patch
new file mode 100644
index 000000000000..14d2c5b9daa5
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-5.0.2-strip-xnack-in-flags.patch
@@ -0,0 +1,20 @@
+if options like :xnack- exists in ${AMDGPU_TARGETS}, CMakeLists cannot handle HIP_COMPILER_FLAGS well
+
+the original regex replace should include :+- so xnack- is stripped as well. Otherwise clang complation at MIOpen runtime will fail.
+
+Signed-off-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
+Index: MIOpen-rocm-5.0.2/CMakeLists.txt
+===================================================================
+--- MIOpen-rocm-5.0.2.orig/CMakeLists.txt
++++ MIOpen-rocm-5.0.2/CMakeLists.txt
+@@ -198,8 +198,8 @@ find_package(hip REQUIRED PATHS /opt/roc
+ message(STATUS "Build with HIP ${hip_VERSION}")
+ target_flags(HIP_COMPILER_FLAGS hip::device)
+ # Remove cuda arch flags
+-string(REGEX REPLACE --cuda-gpu-arch=[a-z0-9]+ "" HIP_COMPILER_FLAGS "${HIP_COMPILER_FLAGS}")
+-string(REGEX REPLACE --offload-arch=[a-z0-9]+ "" HIP_COMPILER_FLAGS "${HIP_COMPILER_FLAGS}")
++string(REGEX REPLACE --cuda-gpu-arch=[a-z0-9:+-]+ "" HIP_COMPILER_FLAGS "${HIP_COMPILER_FLAGS}")
++string(REGEX REPLACE --offload-arch=[a-z0-9:+-]+ "" HIP_COMPILER_FLAGS "${HIP_COMPILER_FLAGS}")
+ string(REPLACE "$<LINK_LANGUAGE:CXX>" "1" HIP_COMPILER_FLAGS "${HIP_COMPILER_FLAGS}")
+ string(REPLACE "SHELL:" "" HIP_COMPILER_FLAGS "${HIP_COMPILER_FLAGS}")
+
diff --git a/sci-libs/miopen/files/miopen-5.1.3-avoid-metadata-error-for-vanilla-clang.patch b/sci-libs/miopen/files/miopen-5.1.3-avoid-metadata-error-for-vanilla-clang.patch
new file mode 100644
index 000000000000..3dca20f1fb12
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-5.1.3-avoid-metadata-error-for-vanilla-clang.patch
@@ -0,0 +1,183 @@
+Together with find-sed command in 5.1.3 ebuild, this fixes
+https://github.com/ROCmSoftwarePlatform/MIOpen/issues/1731
+index 71b2cabf1..60e7fab6e 100644
+--- a/src/kernels/Conv_Winograd_v13_3_12_epilogue.inc
++++ b/src/kernels/Conv_Winograd_v13_3_12_epilogue.inc
+@@ -76,7 +76,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/Conv_Winograd_v16_5_0_epilogue.inc b/src/kernels/Conv_Winograd_v16_5_0_epilogue.inc
+index 36d47c862..f8f677ec6 100644
+--- a/src/kernels/Conv_Winograd_v16_5_0_epilogue.inc
++++ b/src/kernels/Conv_Winograd_v16_5_0_epilogue.inc
+@@ -76,7 +76,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/Conv_Winograd_v21_1_3_metadata.inc b/src/kernels/Conv_Winograd_v21_1_3_metadata.inc
+index deff81e84..ed47abea7 100644
+--- a/src/kernels/Conv_Winograd_v21_1_3_metadata.inc
++++ b/src/kernels/Conv_Winograd_v21_1_3_metadata.inc
+@@ -51,7 +51,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv1x1u.s b/src/kernels/conv1x1u.s
+index 5dc213546..c890d45a4 100644
+--- a/src/kernels/conv1x1u.s
++++ b/src/kernels/conv1x1u.s
+@@ -1076,7 +1076,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv1x1u_bias_activ.s b/src/kernels/conv1x1u_bias_activ.s
+index 1675e819a..6bbdd9936 100644
+--- a/src/kernels/conv1x1u_bias_activ.s
++++ b/src/kernels/conv1x1u_bias_activ.s
+@@ -1230,7 +1230,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv1x1u_stride2.s b/src/kernels/conv1x1u_stride2.s
+index c5ea1e90c..6241edcf7 100644
+--- a/src/kernels/conv1x1u_stride2.s
++++ b/src/kernels/conv1x1u_stride2.s
+@@ -1162,7 +1162,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv1x1wrw.s b/src/kernels/conv1x1wrw.s
+index b13b6ffa4..eb63f17c6 100644
+--- a/src/kernels/conv1x1wrw.s
++++ b/src/kernels/conv1x1wrw.s
+@@ -1243,7 +1243,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv3x3wrw.s b/src/kernels/conv3x3wrw.s
+index a3f73aeae..b6fb1632c 100755
+--- a/src/kernels/conv3x3wrw.s
++++ b/src/kernels/conv3x3wrw.s
+@@ -1033,7 +1033,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv_3x3_wheel_alpha_v3_0b_epilogue.inc b/src/kernels/conv_3x3_wheel_alpha_v3_0b_epilogue.inc
+index 358772e63..b27ad5284 100644
+--- a/src/kernels/conv_3x3_wheel_alpha_v3_0b_epilogue.inc
++++ b/src/kernels/conv_3x3_wheel_alpha_v3_0b_epilogue.inc
+@@ -76,7 +76,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv_3x3_wheel_alpha_v7_0_3b_epilogue.inc b/src/kernels/conv_3x3_wheel_alpha_v7_0_3b_epilogue.inc
+index d3296969a..f873ce153 100644
+--- a/src/kernels/conv_3x3_wheel_alpha_v7_0_3b_epilogue.inc
++++ b/src/kernels/conv_3x3_wheel_alpha_v7_0_3b_epilogue.inc
+@@ -76,7 +76,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv_3x3_wheel_alpha_v9_0_15_epilogue.inc b/src/kernels/conv_3x3_wheel_alpha_v9_0_15_epilogue.inc
+index a253cc0f9..1582d002c 100644
+--- a/src/kernels/conv_3x3_wheel_alpha_v9_0_15_epilogue.inc
++++ b/src/kernels/conv_3x3_wheel_alpha_v9_0_15_epilogue.inc
+@@ -76,7 +76,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/conv_3x3_wheel_alpha_v9_2_7_epilogue.inc b/src/kernels/conv_3x3_wheel_alpha_v9_2_7_epilogue.inc
+index e40ac1f60..78495e024 100644
+--- a/src/kernels/conv_3x3_wheel_alpha_v9_2_7_epilogue.inc
++++ b/src/kernels/conv_3x3_wheel_alpha_v9_2_7_epilogue.inc
+@@ -76,7 +76,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/xform_bidirect_winograd_code.inc b/src/kernels/xform_bidirect_winograd_code.inc
+index 724845f49..d03314ef5 100644
+--- a/src/kernels/xform_bidirect_winograd_code.inc
++++ b/src/kernels/xform_bidirect_winograd_code.inc
+@@ -1566,7 +1566,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
+diff --git a/src/kernels/xform_metadata.inc b/src/kernels/xform_metadata.inc
+index 960a9a2d8..83b736bee 100644
+--- a/src/kernels/xform_metadata.inc
++++ b/src/kernels/xform_metadata.inc
+@@ -74,7 +74,7 @@ amdhsa.kernels:
+ .max_flat_workgroup_size: \wg_x
+ .wavefront_size: 64
+ .args:
+- - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: N }
++ - { .size: 4, .offset: 0, .value_kind: by_value, .value_type: i32, .name: X }
+ - { .size: 4, .offset: 4, .value_kind: by_value, .value_type: i32, .name: C }
+ - { .size: 4, .offset: 8, .value_kind: by_value, .value_type: i32, .name: H }
+ - { .size: 4, .offset: 12, .value_kind: by_value, .value_type: i32, .name: W }
diff --git a/sci-libs/miopen/files/miopen-5.1.3-deprecate-clang-ocl.patch b/sci-libs/miopen/files/miopen-5.1.3-deprecate-clang-ocl.patch
new file mode 100644
index 000000000000..93c66fd3ef05
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-5.1.3-deprecate-clang-ocl.patch
@@ -0,0 +1,55 @@
+This is a cherry picked PR on 5.1.3, which replace clang-ocl with clang
+From 98f001dfe61208af04ecf7690023efd772ee7d43 Mon Sep 17 00:00:00 2001
+From: Jehandad Khan <jahandad@gmail.com>
+Date: Tue, 19 Jul 2022 17:24:05 -0500
+Subject: [PATCH] Remove clang-ocl and replace with clang
+
+---
+ CMakeLists.txt | 7 +------
+ README.md | 1 -
+ src/hipoc/hipoc_program.cpp | 7 ++++++-
+ 3 files changed, 7 insertions(+), 8 deletions(-)
+
+Index: MIOpen-rocm-5.1.3/CMakeLists.txt
+===================================================================
+--- MIOpen-rocm-5.1.3.orig/CMakeLists.txt
++++ MIOpen-rocm-5.1.3/CMakeLists.txt
+@@ -241,7 +241,7 @@ if( MIOPEN_BACKEND STREQUAL "HIP" OR MIO
+ # miopentensile default off
+ set(MIOPEN_USE_MIOPENTENSILE OFF CACHE BOOL "")
+
+- find_program(HIP_OC_COMPILER clang-ocl
++ find_program(HIP_OC_COMPILER clang
+ PATH_SUFFIXES bin
+ PATHS
+ /opt/rocm
+Index: MIOpen-rocm-5.1.3/README.md
+===================================================================
+--- MIOpen-rocm-5.1.3.orig/README.md
++++ MIOpen-rocm-5.1.3/README.md
+@@ -14,7 +14,6 @@ MIOpen supports two programming models -
+ * OpenCL - OpenCL libraries and header files
+ * HIP -
+ * HIP and HCC libraries and header files
+- * [clang-ocl](https://github.com/RadeonOpenCompute/clang-ocl) -- **required**
+ * [MIOpenGEMM](https://github.com/ROCmSoftwarePlatform/MIOpenGEMM) to enable various functionalities including transposed and dilated convolutions. This is optional on the HIP backend. Users can enable this library using the cmake configuration flag `-DMIOPEN_USE_MIOPENGEMM=On`.
+ * ROCm cmake modules can be installed from [here](https://github.com/RadeonOpenCompute/rocm-cmake)
+ * [Half](http://half.sourceforge.net/) - IEEE 754-based half-precision floating point library
+Index: MIOpen-rocm-5.1.3/src/hipoc/hipoc_program.cpp
+===================================================================
+--- MIOpen-rocm-5.1.3.orig/src/hipoc/hipoc_program.cpp
++++ MIOpen-rocm-5.1.3/src/hipoc/hipoc_program.cpp
+@@ -255,7 +255,12 @@ void HIPOCProgramImpl::BuildCodeObjectIn
+ if(miopen::IsEnabled(MIOPEN_DEBUG_OPENCL_WAVE64_NOWGP{}))
+ params += " -mwavefrontsize64 -mcumode";
+ WriteFile(src, dir->path / filename);
+- dir->Execute(HIP_OC_COMPILER, params + " " + filename + " -o " + hsaco_file.string());
++ params += " -target amdgcn-amd-amdhsa -x cl -D__AMD__=1 -O3";
++ params += " -cl-kernel-arg-info -cl-denorms-are-zero";
++ params += " -cl-std=CL1.2 -mllvm -amdgpu-early-inline-all";
++ params += " -mllvm -amdgpu-internalize-symbols ";
++ params += " " + filename + " -o " + hsaco_file.string();
++ dir->Execute(HIP_OC_COMPILER, params);
+ }
+ if(!boost::filesystem::exists(hsaco_file))
+ MIOPEN_THROW("Cant find file: " + hsaco_file.string());
diff --git a/sci-libs/miopen/files/miopen-5.1.3-gfx1031.patch b/sci-libs/miopen/files/miopen-5.1.3-gfx1031.patch
new file mode 100644
index 000000000000..de22d66d887a
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-5.1.3-gfx1031.patch
@@ -0,0 +1,375 @@
+Enable gfx1031 support
+======================
+--- MIOpen-rocm-5.1.3/fin/src/include/conv_fin.hpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/fin/src/include/conv_fin.hpp 2022-09-01 18:36:18.630980283 +0800
+@@ -111,6 +111,10 @@ class ConvFin : public Fin
+ {
+ assert(num_cu == 72 || num_cu == 36);
+ }
++ else if(arch == "gfx1031")
++ {
++ assert(num_cu == 40 || num_cu == 20);
++ }
+ else if(arch == "gfx90a")
+ {
+ assert(num_cu == 110);
+Only in MIOpen-rocm-5.1.3: patches
+--- MIOpen-rocm-5.1.3/src/composable_kernel/composable_kernel/include/utility/config.hpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/composable_kernel/composable_kernel/include/utility/config.hpp 2022-09-01 18:36:18.634980274 +0800
+@@ -13,7 +13,7 @@
+ // GPU target
+ // should enable one and only one GPU target
+ #if !(defined(CK_AMD_GPU_GFX803) || defined(CK_AMD_GPU_GFX900) || defined(CK_AMD_GPU_GFX906) || \
+- defined(CK_AMD_GPU_GFX908) || defined(CK_AMD_GPU_GFX90A) || defined(CK_AMD_GPU_GFX1030))
++ defined(CK_AMD_GPU_GFX908) || defined(CK_AMD_GPU_GFX90A) || defined(CK_AMD_GPU_GFX1030) || defined(CK_AMD_GPU_GFX1031))
+ #error Need to define (only) one GPU target
+ #endif
+
+@@ -29,7 +29,7 @@
+ #if defined(CK_AMD_GPU_GFX803) || defined(CK_AMD_GPU_GFX900) || defined(CK_AMD_GPU_GFX906) || \
+ defined(CK_AMD_GPU_GFX908) || defined(CK_AMD_GPU_GFX90A)
+ #define CK_BUFFER_RESOURCE_3RD_DWORD 0x00020000
+-#elif defined(CK_AMD_GPU_GFX1030)
++#elif (defined(CK_AMD_GPU_GFX1030) || defined(CK_AMD_GPU_GFX1031))
+ #define CK_BUFFER_RESOURCE_3RD_DWORD 0x31014000
+ #endif
+
+@@ -37,7 +37,7 @@
+ #if defined(CK_AMD_GPU_GFX803) || defined(CK_AMD_GPU_GFX900)
+ #define CK_USE_AMD_V_MAC_F32
+ #elif defined(CK_AMD_GPU_GFX906) || defined(CK_AMD_GPU_GFX908) || defined(CK_AMD_GPU_GFX90a) || \
+- defined(CK_AMD_GPU_GFX1030)
++ (defined(CK_AMD_GPU_GFX1030) || defined(CK_AMD_GPU_GFX1031))
+ #define CK_USE_AMD_V_FMAC_F32
+ #define CK_USE_AMD_V_DOT2_F32_F16
+ #define CK_USE_AMD_V_DOT4_I32_I8
+--- MIOpen-rocm-5.1.3/src/include/miopen/solver/ck_utility_common.hpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/include/miopen/solver/ck_utility_common.hpp 2022-09-01 18:36:18.638980266 +0800
+@@ -54,6 +54,7 @@ static inline bool is_ck_supported_hardw
+ StartsWith(handle.GetDeviceName(), "gfx908") ||
+ StartsWith(handle.GetDeviceName(), "gfx90a") ||
+ StartsWith(handle.GetDeviceName(), "gfx1030");
++ StartsWith(handle.GetDeviceName(), "gfx1031");
+ }
+
+ static inline bool is_support_amd_buffer_atomic_fadd(const std::string& device_name)
+@@ -83,6 +84,8 @@ static inline auto get_ck_common_compile
+ compiler_flag << " -DCK_AMD_GPU_GFX90A";
+ else if(StartsWith(device_name, "gfx1030"))
+ compiler_flag << " -DCK_AMD_GPU_GFX1030";
++ else if(StartsWith(device_name, "gfx1031"))
++ compiler_flag << " -DCK_AMD_GPU_GFX1031";
+
+ // buffer atomic-fadd
+ compiler_flag << " -DCK_USE_AMD_BUFFER_ATOMIC_FADD="
+--- MIOpen-rocm-5.1.3/src/include/miopen/solver/implicitgemm_util.hpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/include/miopen/solver/implicitgemm_util.hpp 2022-09-01 18:36:18.638980266 +0800
+@@ -469,7 +469,7 @@ static inline bool is_use_amd_buffer_loa
+ {
+ #if WORKAROUND_MIOPEN_ISSUE_557
+ const auto device_name = ctx.GetStream().GetDeviceName();
+- return !StartsWith(device_name, "gfx1030");
++ return !StartsWith(device_name, "gfx1030") && !StartsWith(device_name, "gfx1031");
+ #else
+ return true;
+ #endif
+@@ -478,7 +478,7 @@ static inline bool is_use_amd_buffer_loa
+ static inline bool is_use_v_fmac_f32(const ConvolutionContext& ctx)
+ {
+ const auto device_name = ctx.GetStream().GetDeviceName();
+- return StartsWith(device_name, "gfx1030");
++ return StartsWith(device_name, "gfx1030") || StartsWith(device_name, "gfx1031");
+ }
+
+ static inline bool support_amd_buffer_atomic_fadd(const std::string& device_name)
+@@ -599,7 +599,8 @@ static inline bool IsComposableKernelSup
+ StartsWith(c.GetStream().GetDeviceName(), "gfx906") ||
+ StartsWith(c.GetStream().GetDeviceName(), "gfx908") ||
+ StartsWith(c.GetStream().GetDeviceName(), "gfx90a") ||
+- StartsWith(c.GetStream().GetDeviceName(), "gfx1030");
++ StartsWith(c.GetStream().GetDeviceName(), "gfx1030")||
++ StartsWith(c.GetStream().GetDeviceName(), "gfx1031");
+ }
+
+ // greatest common divisor, aka highest common factor
+--- MIOpen-rocm-5.1.3/src/kernels/batchnorm_functions.h 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/kernels/batchnorm_functions.h 2022-09-01 18:36:18.858979772 +0800
+@@ -159,6 +159,10 @@
+ #define MIO_BN_GFX1030 0
+ #endif
+
++#ifndef MIO_BN_GFX1031
++#define MIO_BN_GFX1031 0
++#endif
++
+ #define UNUSED __attribute__((__unused__))
+
+ #if(MIO_BN_VARIANT != 4)
+--- MIOpen-rocm-5.1.3/src/kernels/MIOpenBatchNormActivBwdPerAct.cl 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/kernels/MIOpenBatchNormActivBwdPerAct.cl 2022-09-01 18:36:18.858979772 +0800
+@@ -34,7 +34,7 @@
+ #endif
+
+ #define MIOPEN_USE_AMDGCN 0
+-#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1
++#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1 && MIO_BN_GFX1031 != 1
+ #undef MIOPEN_USE_AMDGCN
+ #define MIOPEN_USE_AMDGCN 1
+ #endif
+--- MIOpen-rocm-5.1.3/src/kernels/MIOpenBatchNormActivBwdSpatial.cl 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/kernels/MIOpenBatchNormActivBwdSpatial.cl 2022-09-01 18:36:18.858979772 +0800
+@@ -32,7 +32,7 @@
+ #endif
+
+ #define MIOPEN_USE_AMDGCN 0
+-#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1
++#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1 && MIO_BN_GFX1031 != 1
+ #undef MIOPEN_USE_AMDGCN
+ #define MIOPEN_USE_AMDGCN 1
+ #endif
+--- MIOpen-rocm-5.1.3/src/kernels/MIOpenBatchNormActivFwdTrainSpatial.cl 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/kernels/MIOpenBatchNormActivFwdTrainSpatial.cl 2022-09-01 18:36:18.858979772 +0800
+@@ -33,7 +33,7 @@
+ #endif
+
+ #define MIOPEN_USE_AMDGCN 0
+-#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1
++#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1 && MIO_BN_GFX1031 != 1
+ #undef MIOPEN_USE_AMDGCN
+ #define MIOPEN_USE_AMDGCN 1
+ #endif
+--- MIOpen-rocm-5.1.3/src/kernels/MIOpenBatchNormBwdSpatial.cl 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/kernels/MIOpenBatchNormBwdSpatial.cl 2022-09-01 18:36:18.858979772 +0800
+@@ -33,7 +33,7 @@
+ #endif
+
+ #define MIOPEN_USE_AMDGCN 0
+-#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1
++#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1 && MIO_BN_GFX1031 != 1
+ #undef MIOPEN_USE_AMDGCN
+ #define MIOPEN_USE_AMDGCN 1
+ #endif
+--- MIOpen-rocm-5.1.3/src/kernels/MIOpenBatchNormFwdTrainSpatial.cl 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/kernels/MIOpenBatchNormFwdTrainSpatial.cl 2022-09-01 18:36:18.858979772 +0800
+@@ -33,7 +33,7 @@
+ #endif
+
+ #define MIOPEN_USE_AMDGCN 0
+-#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1
++#if defined(__AMDGCN__) && MIO_BN_GFX1030 != 1 && MIO_BN_GFX1031 != 1
+ #undef MIOPEN_USE_AMDGCN
+ #define MIOPEN_USE_AMDGCN 1
+ #endif
+--- MIOpen-rocm-5.1.3/src/md_graph.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/md_graph.cpp 2022-09-01 18:36:18.630980283 +0800
+@@ -738,8 +738,8 @@ void FusionMDGraph::InitConv(FusionMDGra
+
+ add_v21_wino("gfx9", {"gfx900", "gfx906", "gfx908", "gfx90a"}, 1);
+ add_v21_wino("gfx9", {"gfx900", "gfx906", "gfx908", "gfx90a"}, 2);
+- add_v21_wino("gfx10", {"gfx1011", "gfx1012", "gfx1030"}, 1);
+- add_v21_wino("gfx10", {"gfx1011", "gfx1012", "gfx1030"}, 2);
++ add_v21_wino("gfx10", {"gfx1011", "gfx1012", "gfx1030", "gfx1031"}, 1);
++ add_v21_wino("gfx10", {"gfx1011", "gfx1012", "gfx1030", "gfx1031"}, 2);
+ }
+ }
+
+--- MIOpen-rocm-5.1.3/src/ocl/fusionopbiasbnactivocl.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/ocl/fusionopbiasbnactivocl.cpp 2022-09-01 18:36:18.634980274 +0800
+@@ -392,7 +392,8 @@ miopenStatus_t BatchNormBwdTrainFusionOp
+ " -DMIO_BN_USESAVED=" + std::to_string(static_cast<int>(true)) +
+ " -DMIO_BN_VARIANT=" + std::to_string(variant) +
+ " -DMIO_BN_CBA_WRITE_INTERMEDIATE=" + std::to_string(0) +
+- " -DMIO_BN_GFX1030=" + ((handle.GetDeviceName() == "gfx1030") ? "1" : "0");
++ " -DMIO_BN_GFX1030=" + ((handle.GetDeviceName() == "gfx1030") ? "1" : "0") +
++ " -DMIO_BN_GFX1031=" + ((handle.GetDeviceName() == "gfx1031") ? "1" : "0");
+
+ compile_config += add;
+ MIOPEN_LOG_I2(add);
+@@ -607,7 +608,8 @@ miopenStatus_t BatchNormFwdTrainFusionOp
+ " -DMIO_SAVE_MEAN_VARIANCE=" + (saveBatchStats ? "1" : "0") +
+ " -DMIO_RUNNING_RESULT=" + ((savePopStats) ? "1" : "0") +
+ " -DMIO_BN_VARIANT=" + std::to_string(variant) +
+- " -DMIO_BN_GFX1030=" + ((handle.GetDeviceName() == "gfx1030") ? "1" : "0");
++ " -DMIO_BN_GFX1030=" + ((handle.GetDeviceName() == "gfx1030") ? "1" : "0") +
++ " -DMIO_BN_GFX1031=" + ((handle.GetDeviceName() == "gfx1031") ? "1" : "0");
+
+ compile_config += add;
+ MIOPEN_LOG_I2(add);
+--- MIOpen-rocm-5.1.3/src/solver/batchnorm/backward_per_activation.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/solver/batchnorm/backward_per_activation.cpp 2022-09-01 18:36:18.638980266 +0800
+@@ -113,6 +113,7 @@ BnBwdTrainingPerActivation::GetSolution(
+ {"MIO_BN_GRP1", ylocalsize},
+ {"MIO_BN_GRP2", zlocalsize},
+ {"MIO_BN_GFX1030", ((handle.GetDeviceName() == "gfx1030") ? "1" : "0")},
++ {"MIO_BN_GFX1031", ((handle.GetDeviceName() == "gfx1031") ? "1" : "0")},
+ };
+
+ kernel.comp_options = build_params.GenerateFor(kbp::OpenCL{});
+--- MIOpen-rocm-5.1.3/src/solver/batchnorm/backward_spatial_multiple.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/solver/batchnorm/backward_spatial_multiple.cpp 2022-09-01 18:36:18.638980266 +0800
+@@ -210,6 +210,7 @@ ConvSolution BnBwdTrainingSpatialMultipl
+ {"MIO_BN_GRP1", ylocalsize},
+ {"MIO_BN_GRP2", zlocalsize},
+ {"MIO_BN_GFX1030", ((handle.GetDeviceName() == "gfx1030") ? "1" : "0")},
++ {"MIO_BN_GFX1031", ((handle.GetDeviceName() == "gfx1031") ? "1" : "0")},
+ {"MIO_LAYOUT_NHWC", static_cast<int>(problem.IsLayoutNHWC())},
+ };
+
+--- MIOpen-rocm-5.1.3/src/solver/batchnorm/backward_spatial_single.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/solver/batchnorm/backward_spatial_single.cpp 2022-09-01 18:36:18.638980266 +0800
+@@ -247,6 +247,7 @@ BnBwdTrainingSpatialSingle::GetSolution(
+
+ build_params << KernelBuildParameters{
+ {"MIO_BN_GFX1030", (handle.GetDeviceName() == "gfx1030") ? "1" : "0"},
++ {"MIO_BN_GFX1031", ((handle.GetDeviceName() == "gfx1031") ? "1" : "0")},
+ };
+
+ kernel.comp_options = build_params.GenerateFor(kbp::OpenCL{});
+--- MIOpen-rocm-5.1.3/src/solver/batchnorm/forward_inference.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/solver/batchnorm/forward_inference.cpp 2022-09-01 18:36:18.638980266 +0800
+@@ -103,6 +103,7 @@ ConvSolution BnFwdInference::GetSolution
+ {"MIO_BN_GRP1", ylocalsize},
+ {"MIO_BN_GRP2", zlocalsize},
+ {"MIO_BN_GFX1030", ((handle.GetDeviceName() == "gfx1030") ? "1" : "0")},
++ {"MIO_BN_GFX1031", ((handle.GetDeviceName() == "gfx1031") ? "1" : "0")},
+ };
+
+ kernel.comp_options = build_params.GenerateFor(kbp::OpenCL{});
+--- MIOpen-rocm-5.1.3/src/solver/batchnorm/forward_per_activation.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/solver/batchnorm/forward_per_activation.cpp 2022-09-01 18:36:18.638980266 +0800
+@@ -105,6 +105,7 @@ BnFwdTrainingPerActivation::GetSolution(
+ {"MIO_BN_GRP1", ylocalsize},
+ {"MIO_BN_GRP2", zlocalsize},
+ {"MIO_BN_GFX1030", ((handle.GetDeviceName() == "gfx1030") ? "1" : "0")},
++ {"MIO_BN_GFX1031", ((handle.GetDeviceName() == "gfx1031") ? "1" : "0")},
+ };
+
+ auto kernel = KernelInfo{};
+--- MIOpen-rocm-5.1.3/src/solver/batchnorm/forward_spatial_multiple.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/solver/batchnorm/forward_spatial_multiple.cpp 2022-09-01 18:36:18.638980266 +0800
+@@ -177,6 +177,7 @@ ConvSolution BnFwdTrainingSpatialMultipl
+ {"MIO_BN_GRP1", ylocalsize},
+ {"MIO_BN_GRP2", zlocalsize},
+ {"MIO_BN_GFX1030", ((handle.GetDeviceName() == "gfx1030") ? "1" : "0")},
++ {"MIO_BN_GFX1031", ((handle.GetDeviceName() == "gfx1031") ? "1" : "0")},
+ {"MIO_LAYOUT_NHWC", static_cast<int>(problem.IsLayoutNHWC())},
+ };
+
+--- MIOpen-rocm-5.1.3/src/solver/batchnorm/forward_spatial_single.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/solver/batchnorm/forward_spatial_single.cpp 2022-09-01 18:36:18.638980266 +0800
+@@ -211,6 +211,7 @@ BnFwdTrainingSpatialSingle::GetSolution(
+ {"MIO_BN_GRP1", ylocalsize},
+ {"MIO_BN_GRP2", zlocalsize},
+ {"MIO_BN_GFX1030", ((handle.GetDeviceName() == "gfx1030") ? "1" : "0")},
++ {"MIO_BN_GFX1031", ((handle.GetDeviceName() == "gfx1031") ? "1" : "0")},
+ {"MIO_LAYOUT_NHWC", static_cast<int>(problem.IsLayoutNHWC())},
+ };
+
+--- MIOpen-rocm-5.1.3/src/target_properties.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/src/target_properties.cpp 2022-09-01 18:36:18.630980283 +0800
+@@ -54,6 +54,7 @@ static std::string GetDeviceNameFromMap(
+ {"Vega10", "gfx900"},
+ {"gfx901", "gfx900"},
+ {"10.3.0 Sienna_Cichlid 18", "gfx1030"},
++ {"10.3.1 Navi_flounder 18", "gfx1031"},
+ };
+
+ const char* const p_asciz = miopen::GetStringEnv(MIOPEN_DEBUG_ENFORCE_DEVICE{});
+--- MIOpen-rocm-5.1.3/test/CMakeLists.txt 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/test/CMakeLists.txt 2022-09-01 18:36:19.022979405 +0800
+@@ -38,6 +38,7 @@ option( MIOPEN_TEST_GFX90A "Test on gfx9
+ option( MIOPEN_TEST_GFX900 "Test on Vega10 (gfx900)" OFF )
+ option( MIOPEN_TEST_GFX906 "Test on Vega20 (gfx906)" OFF )
+ option( MIOPEN_TEST_GFX1030 "Test on Navi21 (gfx1030)" OFF )
++option( MIOPEN_TEST_GFX1031 "Test on Navi21 (gfx1031)" OFF )
+ option( MIOPEN_TEST_GPU_XNACK_ENABLED "Test as if XNACK mode is enabled" OFF )
+ option( MIOPEN_TEST_CONV Off)
+ option( MIOPEN_TEST_DEEPBENCH Off)
+@@ -74,7 +75,7 @@ endif()
+ # Also we do not detect GPU when target GPU for testing is specified explicitly.
+ set(MIOPEN_TEST_GPU_DETECTION_FAILED FALSE)
+ set(MIOPEN_NO_GPU FALSE)
+-if(NOT (MIOPEN_TEST_GFX900 OR MIOPEN_TEST_GFX906 OR MIOPEN_TEST_GFX908 OR MIOPEN_TEST_GFX90A OR MIOPEN_TEST_GFX1030 OR MIOPEN_TEST_HIP_NOGPU))
++if(NOT (MIOPEN_TEST_GFX900 OR MIOPEN_TEST_GFX906 OR MIOPEN_TEST_GFX908 OR MIOPEN_TEST_GFX90A OR MIOPEN_TEST_GFX1030 OR MIOPEN_TEST_GFX1031 OR MIOPEN_TEST_HIP_NOGPU))
+ find_program(ROCMINFO
+ NAMES rocminfo
+ PATHS
+@@ -96,6 +97,8 @@ if(NOT (MIOPEN_TEST_GFX900 OR MIOPEN_TES
+ elseif (NOT ROCMINFO_EXIT_STATUS EQUAL 0)
+ message(WARNING "ROCMINFO FAILED, GPU TYPE UNKNOWN. Manually set respective MIOPEN_TEST_GFX* CMake variable to specify target GPU for testing.")
+ set(MIOPEN_TEST_GPU_DETECTION_FAILED TRUE)
++ elseif(ROCMINFO_OUTPUT MATCHES "gfx1031")
++ set(MIOPEN_TEST_GFX1031 ON)
+ elseif(ROCMINFO_OUTPUT MATCHES "gfx1030")
+ set(MIOPEN_TEST_GFX1030 ON)
+ elseif(ROCMINFO_OUTPUT MATCHES "gfx900")
+@@ -125,6 +128,7 @@ message(STATUS "MIOPEN_TEST_GFX906 ${MIO
+ message(STATUS "MIOPEN_TEST_GFX908 ${MIOPEN_TEST_GFX908}")
+ message(STATUS "MIOPEN_TEST_GFX90A ${MIOPEN_TEST_GFX90A}")
+ message(STATUS "MIOPEN_TEST_GFX1030 ${MIOPEN_TEST_GFX1030}")
++message(STATUS "MIOPEN_TEST_GFX1031 ${MIOPEN_TEST_GFX1031}")
+ message(STATUS "MIOPEN_TEST_GPU_XNACK_ENABLED ${MIOPEN_TEST_GPU_XNACK_ENABLED}")
+ message(STATUS "MIOPEN_TEST_GPU_DETECTION_FAILED ${MIOPEN_TEST_GPU_DETECTION_FAILED}")
+
+@@ -167,10 +171,10 @@ endmacro()
+ set_var_to_condition(WORKAROUND_ISSUE_1187_DEFAULT MIOPEN_TEST_GFX90A AND MIOPEN_TEST_FLOAT)
+ option( WORKAROUND_ISSUE_1187 "" ${WORKAROUND_ISSUE_1187_DEFAULT})
+
+-set_var_to_condition(WORKAROUND_ISSUE_1148_DEFAULT MIOPEN_TEST_GFX1030 AND MIOPEN_TEST_FLOAT)
++set_var_to_condition(WORKAROUND_ISSUE_1148_DEFAULT MIOPEN_TEST_GFX1030 OR MIOPEN_TEST_GFX1031 AND MIOPEN_TEST_FLOAT)
+ option( WORKAROUND_ISSUE_1148 "" ${WORKAROUND_ISSUE_1148_DEFAULT})
+
+-set_var_to_condition(WORKAROUND_ISSUE_1334_DEFAULT MIOPEN_TEST_GFX1030 AND MIOPEN_TEST_FLOAT)
++set_var_to_condition(WORKAROUND_ISSUE_1334_DEFAULT MIOPEN_TEST_GFX1030 OR MIOPEN_TEST_GFX1031 AND MIOPEN_TEST_FLOAT)
+ option( WORKAROUND_ISSUE_1334 "" ${WORKAROUND_ISSUE_1334_DEFAULT})
+
+ if(NOT MIOPEN_TEST_MIOTENSILE)
+@@ -216,7 +220,7 @@ if (MIOPEN_NO_GPU)
+ test_pooling3d test_perfdb)
+ endif()
+
+-if(MIOPEN_TEST_GFX1030)
++if(MIOPEN_TEST_GFX1030 OR MIOPEN_TEST_GFX1031)
+ if(WORKAROUND_ISSUE_1053 AND MIOPEN_TEST_ALL)
+ list(APPEND SKIP_TESTS test_lrn_test)
+ endif()
+@@ -439,7 +443,7 @@ endfunction()
+ # If nothing is specified, the default value is taken.
+ # Default: FLOAT_ENABLED HALF_DISABLED BF16_DISABLED INT8_DISABLED
+ #
+-# GPU types: GFX900, GFX906, GFX908, GFX90A, GFX1030
++# GPU types: GFX900, GFX906, GFX908, GFX90A, GFX1030, GFX1031
+ # The option can be enabled or disabled by using '_ENABLED' and '_DISABLED' suffix.
+ # If nothing is specified, the default value is taken.
+ # Default: GFX900_ENABLED, GFX906_ENABLED, GFX908_ENABLED, GFX90A_ENABLED, GFX1030_DISABLED
+@@ -571,7 +575,7 @@ function(add_custom_test NAME)
+ set_tests_properties(${NAME} PROPERTIES RUN_SERIAL On)
+ endif()
+
+- if( (is_gfx900_check OR is_gfx906_check OR is_gfx908_check OR is_gfx1030_check OR is_gfx90a_check)
++ if( (is_gfx900_check OR is_gfx906_check OR is_gfx908_check OR is_gfx1030_check OR is_gfx1031_check OR is_gfx90a_check)
+ AND is_full_check
+ AND is_xnack_on_check
+ AND (is_miotensile_check AND is_mlir_check)
+--- MIOpen-rocm-5.1.3/test/handle_test.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/test/handle_test.cpp 2022-09-01 18:36:19.018979413 +0800
+@@ -234,7 +234,7 @@ void test_warnings(kernel_type_t kern_ty
+ void test_arch_name()
+ {
+ auto&& h = get_handle();
+- auto known_arch = {"gfx908", "gfx90a", "gfx906", "gfx900", "gfx803", "gfx1030"};
++ auto known_arch = {"gfx908", "gfx90a", "gfx906", "gfx900", "gfx803", "gfx1030", "gfx1031"};
+ auto this_arch = h.GetDeviceName();
+ EXPECT(std::any_of(
+ known_arch.begin(), known_arch.end(), [&](std::string arch) { return arch == this_arch; }));
+--- MIOpen-rocm-5.1.3/test/mdgraph.cpp 2022-05-08 14:08:05.000000000 +0800
++++ gfx1031/test/mdgraph.cpp 2022-09-01 18:36:19.022979405 +0800
+@@ -222,7 +222,7 @@ struct mdgraph_driver : test_driver
+ auto target = h.GetTargetProperties();
+
+ auto wino_supported_arch = {
+- "gfx1030", "gfx1012", "gfx1011", "gfx90a", "gfx908", "gfx906", "gfx900", "gfx803"};
++ "gfx1030", "gfx1031","gfx1012", "gfx1011", "gfx90a", "gfx908", "gfx906", "gfx900", "gfx803"};
+
+ auto is_wino_support = !xnack_enabled &&
+ !miopen::IsDisabled(MIOPEN_DEBUG_GCN_ASM_KERNELS{}) &&
diff --git a/sci-libs/miopen/files/miopen-5.1.3-include-array.patch b/sci-libs/miopen/files/miopen-5.1.3-include-array.patch
new file mode 100644
index 000000000000..fc6a36d22548
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-5.1.3-include-array.patch
@@ -0,0 +1,12 @@
+This fixes compile error upon gcc-12 libstdc++
+index 1cfb2a72c..0f4feb406 100644
+--- a/test/sequences.cpp
++++ b/test/sequences.cpp
+@@ -25,6 +25,7 @@
+ *******************************************************************************/
+ #include "test.hpp"
+ #include <miopen/sequences.hpp>
++#include <array>
+
+ namespace miopen {
+ namespace seq {
diff --git a/sci-libs/miopen/files/miopen-5.1.3-no-strip.patch b/sci-libs/miopen/files/miopen-5.1.3-no-strip.patch
new file mode 100644
index 000000000000..0d1d429dbb85
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-5.1.3-no-strip.patch
@@ -0,0 +1,17 @@
+Don't strip for release. Let portage handle stripping.
+Index: MIOpen-rocm-5.1.3/CMakeLists.txt
+===================================================================
+--- MIOpen-rocm-5.1.3.orig/CMakeLists.txt
++++ MIOpen-rocm-5.1.3/CMakeLists.txt
+@@ -78,11 +78,6 @@ option( BUILD_DEV "Build for development
+ option(MIOPEN_ENABLE_FIN "Enable the fin driver for MIOpen" OFF)
+
+
+-# Strip symbols for release
+-if(NOT WIN32 AND NOT APPLE)
+- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+-endif()
+
+ rocm_setup_version(VERSION 2.16.0)
+
diff --git a/sci-libs/miopen/files/miopen-5.7.1-fix-miopendriver-gemm.patch b/sci-libs/miopen/files/miopen-5.7.1-fix-miopendriver-gemm.patch
new file mode 100644
index 000000000000..859667f3da30
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-5.7.1-fix-miopendriver-gemm.patch
@@ -0,0 +1,74 @@
+Fix uninitialized variable in MIOpenDriver gemm and restore gemmfp16 for testing
+Upstream bug: https://github.com/ROCmSoftwarePlatform/MIOpen/issues/2505
+--- a/driver/driver.hpp
++++ b/driver/driver.hpp
+@@ -141,7 +141,7 @@ inline void PadBufferSize(size_t& sz, int datatype_sz)
+ printf("Usage: ./driver *base_arg* *other_args*\n");
+ printf("Supported Base Arguments: conv[fp16|int8|bfp16], CBAInfer[fp16], "
+ "pool[fp16], lrn[fp16], "
+- "activ[fp16], softmax[fp16], bnorm[fp16], rnn[fp16], gemm, ctc, dropout[fp16], "
++ "activ[fp16], softmax[fp16], bnorm[fp16], rnn[fp16], gemm[fp16], ctc, dropout[fp16], "
+ "tensorop[fp16], reduce[fp16,fp64]\n");
+ exit(0); // NOLINT (concurrency-mt-unsafe)
+ }
+@@ -160,7 +160,7 @@ inline std::string ParseBaseArg(int argc, char* argv[])
+ arg != "CBAInfer" && arg != "CBAInferfp16" && arg != "pool" && arg != "poolfp16" &&
+ arg != "lrn" && arg != "lrnfp16" && arg != "activ" && arg != "activfp16" &&
+ arg != "softmax" && arg != "softmaxfp16" && arg != "bnorm" && arg != "bnormfp16" &&
+- arg != "rnn" && arg != "rnnfp16" && arg != "gemm" /*&& arg != "gemmfp16"*/ && arg != "ctc" &&
++ arg != "rnn" && arg != "rnnfp16" && arg != "gemm" && arg != "gemmfp16" && arg != "ctc" &&
+ arg != "dropout" && arg != "dropoutfp16" && arg != "tensorop" && arg != "tensoropfp16" &&
+ arg != "reduce" && arg != "reducefp16" && arg != "reducefp64" && arg != "--version")
+ {
+--- a/driver/gemm_driver.hpp
++++ b/driver/gemm_driver.hpp
+@@ -207,6 +207,19 @@ int GemmDriver<T>::GetandSetData()
+ gemm_desc.strideB = gemm_desc.k * gemm_desc.n;
+ gemm_desc.strideC = gemm_desc.m * gemm_desc.n;
+
++ if constexpr (std::is_same_v<T, float>)
++ {
++ gemm_desc.dataType = miopenFloat;
++ }
++ else if constexpr (std::is_same_v<T, float16>)
++ {
++ gemm_desc.dataType = miopenHalf;
++ }
++ else
++ {
++ static_assert(!"unsupported type");
++ }
++
+ return (0);
+ }
+
+@@ -230,9 +243,9 @@ int GemmDriver<T>::AllocateBuffersAndCopy()
+ a = std::vector<T>(a_sz);
+ b = std::vector<T>(b_sz);
+ #if GEMM_DRIVER_DEBUG
+- c = std::vector<T>(c_sz, 1.);
++ c = std::vector<T>(c_sz, static_cast<T>(1.));
+ #else
+- c = std::vector<T>(c_sz, 0.);
++ c = std::vector<T>(c_sz, static_cast<T>(0.));
+ #endif
+ chost = c;
+
+--- a/driver/main.cpp
++++ b/driver/main.cpp
+@@ -125,11 +125,10 @@ int main(int argc, char* argv[])
+ {
+ drv = new GemmDriver<float>();
+ }
+-// TODO half is not supported in gemm
+-// else if(base_arg == "gemmfp16")
+-// {
+-// drv = new GemmDriver<float16>();
+-// }
++ else if(base_arg == "gemmfp16")
++ {
++ drv = new GemmDriver<float16>();
++ }
+ #endif
+ else if(base_arg == "bnorm")
+ {
diff --git a/sci-libs/miopen/metadata.xml b/sci-libs/miopen/metadata.xml
new file mode 100644
index 000000000000..08c299887077
--- /dev/null
+++ b/sci-libs/miopen/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/MIOpen</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/miopen/miopen-5.1.3-r1.ebuild b/sci-libs/miopen/miopen-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..2ef5b8fb50b8
--- /dev/null
+++ b/sci-libs/miopen/miopen-5.1.3-r1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake flag-o-matic llvm rocm
+
+LLVM_MAX_SLOT=15
+
+DESCRIPTION="AMD's Machine Intelligence Library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/MIOpen"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-${PV}.tar.gz -> MIOpen-${PV}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-util/hip-5.1.3
+ >=dev-db/sqlite-3.17
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ >=dev-libs/boost-1.72
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="dev-libs/half:0/1
+ dev-build/rocm-cmake
+"
+
+S="${WORKDIR}/MIOpen-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-disable-no-inline-boost.patch"
+ "${FILESDIR}/${PN}-4.2.0-gcc11-numeric_limits.patch"
+ "${FILESDIR}/${PN}-5.0.2-strip-xnack-in-flags.patch"
+ "${FILESDIR}/${PN}-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch"
+ "${FILESDIR}/${PN}-4.3.0-enable-test.patch"
+ "${FILESDIR}/${PN}-5.1.3-gfx1031.patch"
+ "${FILESDIR}/${PN}-5.1.3-deprecate-clang-ocl.patch"
+ "${FILESDIR}/${PN}-5.1.3-no-strip.patch"
+ "${FILESDIR}/${PN}-5.1.3-include-array.patch"
+ "${FILESDIR}/${PN}-5.1.3-avoid-metadata-error-for-vanilla-clang.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e "s:/opt/rocm/llvm:$(get_llvm_prefix ${LLVM_MAX_SLOT}) NO_DEFAULT_PATH:" \
+ -e "s:/opt/rocm/hip:$(hipconfig -p) NO_DEFAULT_PATH:" \
+ -e '/set( MIOPEN_INSTALL_DIR/s:miopen:${CMAKE_INSTALL_PREFIX}:' \
+ -e '/MIOPEN_TIDY_ERRORS ALL/d' \
+ -i CMakeLists.txt || die
+
+ sed -e "/rocm_install_symlink_subdir(\${MIOPEN_INSTALL_DIR})/d" -i src/CMakeLists.txt || die
+ sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build ${BUILD_DIR}:" -i test/CMakeLists.txt || die
+
+ sed -e "s:\${AMD_DEVICE_LIBS_PREFIX}/lib:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i cmake/hip-config.cmake || die
+
+ # This plus avoid-metadata-error-for-vanilla-clang.patch fix bug mentioned
+ # in https://github.com/ROCmSoftwarePlatform/MIOpen/issues/1731
+ find src/kernels -name "*.s" -exec \
+ sed -e "s/.name: n /.name: x /g" -e "s/.name: y /.name: z /g" \
+ -e "s/.name: y,/.name: z,/g" -i {} \; || die
+}
+
+src_configure() {
+ if ! use debug; then
+ append-cflags "-DNDEBUG"
+ append-cxxflags "-DNDEBUG"
+ CMAKE_BUILD_TYPE="Release"
+ else
+ CMAKE_BUILD_TYPE="Debug"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DMIOPEN_BACKEND=HIP
+ -DBoost_USE_STATIC_LIBS=OFF
+ -DMIOPEN_USE_MLIR=OFF
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DMIOPEN_TEST_ALL=$(usex test ON OFF)
+ )
+
+ if use test; then
+ for gpu_target in ${AMDGPU_TARGETS}; do
+ mycmakeargs+=( -DMIOPEN_TEST_${gpu_target^^}=ON )
+ done
+ fi
+
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+ append-cxxflags "--rocm-path=$(hipconfig -R)"
+ append-cxxflags "--hip-device-lib-path=${EPREFIX}/usr/lib/amdgcn/bitcode"
+ CXX="$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin/clang++" cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ export LD_LIBRARY_PATH="${BUILD_DIR}"/lib
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/sci-libs/miopen/miopen-5.7.1-r1.ebuild b/sci-libs/miopen/miopen-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..93bcde8190ae
--- /dev/null
+++ b/sci-libs/miopen/miopen-5.7.1-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake flag-o-matic llvm rocm
+
+GTEST_COMMIT="e2239ee6043f73722e7aa812a459f54a28552929"
+GTEST_FILE="gtest-1.11.0_p20210611.tar.gz"
+
+LLVM_MAX_SLOT=17
+
+DESCRIPTION="AMD's Machine Intelligence Library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/MIOpen"
+
+SRC_URI="https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-${PV}.tar.gz -> MIOpen-${PV}.tar.gz
+ test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-util/hip
+ >=dev-db/sqlite-3.17
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}]
+ >=dev-libs/boost-1.72
+ dev-cpp/nlohmann_json
+ dev-cpp/frugally-deep
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="dev-libs/half:0/1
+ dev-build/rocm-cmake
+"
+
+S="${WORKDIR}/MIOpen-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-disable-no-inline-boost.patch"
+ "${FILESDIR}/${PN}-4.2.0-gcc11-numeric_limits.patch"
+ "${FILESDIR}/${PN}-4.3.0-fix-interface-include-in-HIP_COMPILER_FLAGS.patch"
+ "${FILESDIR}/${PN}-4.3.0-enable-test.patch"
+ "${FILESDIR}/${PN}-5.1.3-no-strip.patch"
+ "${FILESDIR}/${PN}-5.1.3-include-array.patch"
+ "${FILESDIR}/${PN}-5.7.1-fix-miopendriver-gemm.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e "s:/opt/rocm/llvm:$(get_llvm_prefix ${LLVM_MAX_SLOT}) NO_DEFAULT_PATH:" \
+ -e "s:/opt/rocm/hip:$(hipconfig -p) NO_DEFAULT_PATH:" \
+ -e '/set( MIOPEN_INSTALL_DIR/s:miopen:${CMAKE_INSTALL_PREFIX}:' \
+ -e '/MIOPEN_TIDY_ERRORS ALL/d' \
+ -e 's:find_program(UNZIPPER lbunzip2 bunzip2):find_program(UNZIPPER NAMES lbunzip2 bunzip2):' \
+ -i CMakeLists.txt || die
+
+ sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build ${BUILD_DIR}:" \
+ -i test/CMakeLists.txt || die
+
+ sed -e "s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \
+ -i src/CMakeLists.txt || die
+
+ sed -e "s:\${AMD_DEVICE_LIBS_PREFIX}/lib:${EPREFIX}/usr/lib/amdgcn/bitcode:" -i cmake/hip-config.cmake || die
+}
+
+src_configure() {
+ if ! use debug; then
+ append-cflags "-DNDEBUG"
+ append-cxxflags "-DNDEBUG"
+ CMAKE_BUILD_TYPE="Release"
+ else
+ CMAKE_BUILD_TYPE="Debug"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DMIOPEN_BACKEND=HIP
+ -DBoost_USE_STATIC_LIBS=OFF
+ -DMIOPEN_USE_MLIR=OFF
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ )
+
+ if use test; then
+ mycmakeargs+=(
+ -DMIOPEN_TEST_ALL=ON
+ -DBUILD_TESTING=ON
+ -DMIOPEN_TEST_GDB=OFF
+ -DGOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
+ )
+ for gpu_target in ${AMDGPU_TARGETS}; do
+ mycmakeargs+=(-DMIOPEN_TEST_${gpu_target^^}=ON )
+ done
+ fi
+
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+ append-cxxflags "--rocm-path=$(hipconfig -R)"
+ append-cxxflags "--hip-device-lib-path=${EPREFIX}/usr/lib/amdgcn/bitcode"
+ CXX="$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin/clang++" cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ LD_LIBRARY_PATH="${BUILD_DIR}"/lib cmake_src_test -j1
+}
+
+src_install() {
+ cmake_src_install
+}
diff --git a/sci-libs/mkl-rt/Manifest b/sci-libs/mkl-rt/Manifest
deleted file mode 100644
index ee38f0cec318..000000000000
--- a/sci-libs/mkl-rt/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mkl-rt-2019.4.243.tar.bz2 213996111 BLAKE2B 04c04cd521d73b9c51341f60e69f41e3093403dcace370f2379db2cbceadcd3d64f6c06b25f8ffcbec31edbf0f0a46a9e454450e7f282cf91436093e770ea207 SHA512 a1f33806de2e1437cd3c1de088cbf117a5a3c41cf5f0003f680385d51c793d745229ec8fbd6587f03acfd25b7973912fdffbc0cf1f2360063edf2f4b0df0aa9d
diff --git a/sci-libs/mkl-rt/metadata.xml b/sci-libs/mkl-rt/metadata.xml
deleted file mode 100644
index 4a1062679d53..000000000000
--- a/sci-libs/mkl-rt/metadata.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-
- <upstream>
- <doc>https://software.intel.com/en-us/mkl</doc>
- </upstream>
-
- <maintainer type="person">
- <name>Mo Zhou</name>
- <email>lumin@debian.org</email>
- </maintainer>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
-
- <longdescription>
- Intel® Math Kernel Library (Intel® MKL) optimizes code with minimal
- effort for future generations of Intel® processors. It is compatible
- with your choice of compilers, languages, operating systems, and
- linking and threading models.
- </longdescription>
-
- <use>
- <flag name="eselect-ldso">Enable runtime library switching by eselect and ld.so.</flag>
- </use>
-
-</pkgmetadata>
diff --git a/sci-libs/mkl-rt/mkl-rt-2019.4.243.ebuild b/sci-libs/mkl-rt/mkl-rt-2019.4.243.ebuild
deleted file mode 100644
index c90926300316..000000000000
--- a/sci-libs/mkl-rt/mkl-rt-2019.4.243.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit eutils
-
-DESCRIPTION="Intel Math Kernel Library (Runtime)"
-HOMEPAGE="https://software.intel.com/en-us/mkl"
-SRC_URI="https://repo.continuum.io/pkgs/main/linux-64/mkl-2019.4-243.tar.bz2 -> ${P}.tar.bz2"
-
-LICENSE="ISSL" # https://software.intel.com/en-us/mkl/license-faq
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="eselect-ldso"
-
-# MKL uses Intel/LLVM OpenMP by default.
-# One can change the threadding layer to "gnu" or "tbb" through the MKL_THREADING_LAYER env var.
-RDEPEND="
-eselect-ldso? ( !app-eselect/eselect-cblas
- >=app-eselect/eselect-blas-0.2 )
-sys-libs/libomp"
-
-DEPEND=""
-
-S=${WORKDIR}
-
-src_install() {
- insinto /usr/$(get_libdir)/
- doins lib/*.so
-
- if use eselect-ldso; then
- dodir /usr/$(get_libdir)/blas/mkl-rt
- dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl-rt/libblas.so
- dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl-rt/libblas.so.3
- dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl-rt/libcblas.so
- dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl-rt/libcblas.so.3
- dosym ../../libomp.so usr/$(get_libdir)/blas/mkl-rt/libiomp5.so
- dodir /usr/$(get_libdir)/lapack/mkl-rt
- dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl-rt/liblapack.so
- dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl-rt/liblapack.so.3
- dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl-rt/liblapacke.so
- dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl-rt/liblapacke.so.3
- dosym ../../libomp.so usr/$(get_libdir)/lapack/mkl-rt/libiomp5.so
- fi
-}
-
-pkg_postinst() {
- use eselect-ldso || return
- local libdir=$(get_libdir) me="mkl-rt"
-
- # check blas
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-
- # check lapack
- eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
- local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
- if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
- eselect lapack set ${libdir} ${me}
- elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
- elog "To use lapack [${me}] implementation, you have to issue (as root):"
- elog "\t eselect lapack set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- if use eselect-ldso; then
- eselect blas validate
- eselect lapack validate
- fi
-}
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest
index 015a339f3b95..ac12bef12401 100644
--- a/sci-libs/mkl/Manifest
+++ b/sci-libs/mkl/Manifest
@@ -1 +1,9 @@
-DIST l_mkl_p_10.0.5.025.tgz 230389719 BLAKE2B 622dd0076c8e6d747f170685b6a378db95aa2453d15a53c93ef863729bb8dc76409d7bf72f8bab8ef9a07d8efe1e448cb9e7fc8e6f0c0b2cbbf0a0f6944e2a86 SHA512 621c3bfdecb57313e375424e391c0630a29efd70196e3e4bfc5b4ddd03aa45fda4761523652d875f2e60d466a0010c06659306b11f20966fba4943c308fa6f84
+DIST intel-oneapi-mkl-2022.2.1-2022.2.1-16993_amd64.deb 202488238 BLAKE2B 9bea2cb85aebaa99eac17563e35e4a33e564e58b3e797ce97c140ee510870d7bccd5ffc138eea86a3c25de988a39b5ed06182cb87f103fd8c2dc772d1bd50b81 SHA512 21f2c8b9608fc942821624132aa905f2ec0863f6af9b8a02c166f88b41620ea4e66d1e6551f5da53e727103e9035f28018b12ee3bee33c76ea10be6a68c82748
+DIST intel-oneapi-mkl-2023.0.0-2023.0.0-25398_amd64.deb 188781126 BLAKE2B f4db4f0e8111a01c697e656de30579c22cba3c34816c8399b1b4cffde33f4b636e837f6eceddc659c5c1d4f38984dec110e7362bb3d91eb521f1cfede64d399a SHA512 7f53a93151e5754219d3fa70722918c26f8f90b040f2587f85ce7e8dc1f73dadba5d138e01e67db4b9c76602d6e8502aa92645a0d10ddbcf5854bb85fcd2dbe6
+DIST intel-oneapi-mkl-common-2022.2.1-2022.2.1-16993_all.deb 23890 BLAKE2B 0287ac646a19e8a33b25cbef006cb98c410872fff2294a15d4e35dd55fc037b523c1923d99d2445a1959b6515ef4b6fdfa7243338c2d194b3c4bf4548949216c SHA512 362640c14713bc8186ea712bb6720311cce1dae6e775d7aade4c613a7a5708224507ff4fefa1081165fa366840f94f8ae73ee345699a4fee5cf7cd7607d9f94e
+DIST intel-oneapi-mkl-common-2023.0.0-2023.0.0-25398_all.deb 23930 BLAKE2B d4ea741816edbc69962cd3ac40bacfd200924212da47f30353ee60ef7ddad6a17453e51681e974cdc8f18355c538f1f3305e36a469860dc125f3c21e65fa0861 SHA512 3c190353b19ed32c13e702f45f453c37d62815aef306dc3bcf88faa20b5afe322c577e9129eafe2d1ace0238fde8d1f8fed04fcadd0ed2d6c43f8e5c46a76ce6
+DIST intel-oneapi-mkl-common-devel-2022.2.1-2022.2.1-16993_all.deb 4688928 BLAKE2B 545641f68ba7b835859092242a60e065dd7bae8e538b27afaa1f7b266c6ce9aa5c0777b6ced7b8f3a35b70dbe6c6cbfad1db7c370a7a4f4478c8f23b4075bfd5 SHA512 275f267cf103b92ed0bdf56fdd55aee7c5ba5f42d2f7507abe1219aba72f325b9386c8e203a04d4a91020598d0d9cc82b0fc7abe22491c1103f44f3a31d42b2a
+DIST intel-oneapi-mkl-common-devel-2023.0.0-2023.0.0-25398_all.deb 4584320 BLAKE2B 4b172c61def3834d6c9c2ab82345c96fb474839af1abf56da280230fb69e4e01ebeabf5e9bed1dc394bc813595f3f6d0c104e9e7457de2366e17c6e83ce014b0 SHA512 9f300fd9950c734b10e846ccf21ff579dd761158c6e74f33acb77a8f636956c789f67b6757d9ff5e6ae7292782782556b158b413535b39fd39b80a45c634a017
+DIST intel-oneapi-mkl-devel-2022.2.1-2022.2.1-16993_amd64.deb 183600754 BLAKE2B 94373a9d71625f71fb406d302eabed7800dc1b0e0ffef6268bf93abdccb8da4adb87643ebe73cd187fe1432b43e6de4eee4b716bb67a483c862e1beef0db486a SHA512 a259580266798e16b6fe6195cfacb1cdd9ae519c86945e7df29b7eff344fbfb238b0126231a99d2190cdbdba6340dce3f40574f443efd09b4955c86260d331da
+DIST intel-oneapi-mkl-devel-2023.0.0-2023.0.0-25398_amd64.deb 171354314 BLAKE2B 27ddc4f1fe09d688e2593e30d1de49505ccf5ac3d8ce50105f29ed451cf402df064419e3795b7f7aeed499fb6fd3191cce0099fa85a20fe90e06cc82415b1c79 SHA512 2688e1ca91bfce33026fd5853d04aa510318d2e6f154755afa2103ba797119b0e2c19718e1180b96fce89d704b9b8d5d3995788320296861b498e18420470572
+DIST mkl-2020.4.304.tar.gz 549319314 BLAKE2B 9ffdb0dc87c9fba1f003961f09cabef7376bd3d10e98085900c863383f0eb1e026f0f804390b2edf4e29d5b0b685af7b74092a7cb5cc871ca656462cec9487e4 SHA512 9c4ff7710484a1c0dd3e6ba7401eb6cb599f771651006b6a570c45b9abf1f43e8e400940d859a656c6892aa81e634c4d74eefe88e8287fdbb19a513f332326b7
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
deleted file mode 100644
index 0519b5fdebdb..000000000000
--- a/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/interfaces/fftw2x_cdft/makefile 2008-03-11 23:26:26.287984332 +0000
-+++ b/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-dynamic-ilp64-iomp.pc b/sci-libs/mkl/files/mkl-dynamic-ilp64-iomp.pc
new file mode 100644
index 000000000000..c68c025daa23
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-dynamic-ilp64-iomp.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include/mkl
+
+Name: mkl-dynamic-ilp64-iomp
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/mkl-dynamic-ilp64-seq.pc b/sci-libs/mkl/files/mkl-dynamic-ilp64-seq.pc
new file mode 100644
index 000000000000..0494c50f9da3
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-dynamic-ilp64-seq.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include/mkl
+
+Name: mkl-dynamic-ilp64-seq
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/mkl-dynamic-lp64-iomp.pc b/sci-libs/mkl/files/mkl-dynamic-lp64-iomp.pc
new file mode 100644
index 000000000000..4e8bb50bb9ca
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-dynamic-lp64-iomp.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include/mkl
+
+Name: mkl-dynamic-lp64-iomp
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/mkl-dynamic-lp64-seq.pc b/sci-libs/mkl/files/mkl-dynamic-lp64-seq.pc
new file mode 100644
index 000000000000..e0386e29fa33
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-dynamic-lp64-seq.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include
+
+Name: mkl-dynamic-lp64-seq
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/mkl-sdl-ilp64.pc b/sci-libs/mkl/files/mkl-sdl-ilp64.pc
new file mode 100644
index 000000000000..e1648f7f934a
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-sdl-ilp64.pc
@@ -0,0 +1,9 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include/mkl
+
+Name: mkl-sdl-ilp64
+Version: Gentoo
+Description: Intel(R) Math Kernel Library
+Libs: -lmkl_rt -lpthread -lm -ldl
+Cflags: -I${includedir} -DMKL_ILP64 -m64
diff --git a/sci-libs/mkl/files/mkl-sdl-lp64.pc b/sci-libs/mkl/files/mkl-sdl-lp64.pc
new file mode 100644
index 000000000000..506851e43fed
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-sdl-lp64.pc
@@ -0,0 +1,9 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include/mkl
+
+Name: mkl-sdl-ilp64
+Version: Gentoo
+Description: Intel(R) Math Kernel Library
+Libs: -lmkl_rt -lpthread -lm -ldl
+Cflags: -I${includedir} -m64
diff --git a/sci-libs/mkl/files/mkl-static-ilp64-iomp.pc b/sci-libs/mkl/files/mkl-static-ilp64-iomp.pc
new file mode 100644
index 000000000000..911c9d498938
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-static-ilp64-iomp.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include
+
+Name: mkl-static-ilp64-iomp
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -Wl,--start-group libmkl_intel_ilp64.a libmkl_intel_thread.a libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/mkl-static-ilp64-seq.pc b/sci-libs/mkl/files/mkl-static-ilp64-seq.pc
new file mode 100644
index 000000000000..aff2ff30ff8c
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-static-ilp64-seq.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include
+
+Name: mkl-static-ilp64-seq
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -Wl,--start-group libmkl_intel_ilp64.a libmkl_sequential.a libmkl_core.a -Wl,--end-group -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/mkl-static-lp64-iomp.pc b/sci-libs/mkl/files/mkl-static-lp64-iomp.pc
new file mode 100644
index 000000000000..ba799d399f9d
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-static-lp64-iomp.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include
+
+Name: mkl-static-lp64-iomp
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -Wl,--start-group libmkl_intel_lp64.a libmkl_intel_thread.a libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/mkl-static-lp64-seq.pc b/sci-libs/mkl/files/mkl-static-lp64-seq.pc
new file mode 100644
index 000000000000..1c96e5483d5f
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-static-lp64-seq.pc
@@ -0,0 +1,10 @@
+prefix=@PREFIX@
+exec_prefix=${prefix}
+includedir=${prefix}/include
+
+Name: mkl-static-lp64-seq
+Description: Intel(R) Math Kernel Library
+Version: Gentoo
+URL: https://software.intel.com/en-us/mkl
+Libs: -Wl,--start-group libmkl_intel_lp64.a libmkl_sequential.a libmkl_core.a -Wl,--end-group -lpthread -lm -ldl
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/metadata.xml b/sci-libs/mkl/metadata.xml
index 446435794d0d..1c12a7532045 100644
--- a/sci-libs/mkl/metadata.xml
+++ b/sci-libs/mkl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -13,8 +13,7 @@
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>
+ <upstream>
+ <remote-id type="github">oneapi-src/oneMKL</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/mkl/mkl-10.0.5.025-r1.ebuild b/sci-libs/mkl/mkl-10.0.5.025-r1.ebuild
deleted file mode 100644
index bd88e59f5c51..000000000000
--- a/sci-libs/mkl/mkl-10.0.5.025-r1.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit check-reqs fortran-2 toolchain-funcs
-
-PID=1232
-PB=${PN}
-P_ARCHIVE=l_${PN}_p_${PV}
-
-DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, math functions"
-HOMEPAGE="https://software.intel.com/en-us/mkl"
-SRC_URI="http://registrationcenter-download.intel.com/irc_nas/${PID}/${P_ARCHIVE}.tgz"
-
-SLOT="0"
-LICENSE="Intel-SDP"
-KEYWORDS="-* ~amd64 ~ia64 ~x86"
-IUSE="doc fftw fortran95 int64 mpi"
-
-RESTRICT="bindist 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 )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-10.0.2.018-openmpi.patch # allow openmpi to work
-)
-
-MKL_DIR=/opt/intel/${PN}/${PV}
-INTEL_LIC_DIR=/opt/intel/licenses
-
-CHECKREQS_DISK_BUILD=3500M
-
-QA_PREBUILT="opt/intel/${PN}/${PV}/*"
-
-get_fcomp() {
- case $(tc-getFC) in
- *gfortran* )
- FCOMP="gfortran" ;;
- ifort )
- FCOMP="ifc" ;;
- * )
- FCOMP=$(tc-getFC) ;;
- esac
-}
-
-pkg_setup() {
- check-reqs_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() {
- default
- cd "${WORKDIR}/${P_ARCHIVE}"/install || die
-
- cp ${MKL_LICENSE} "${WORKDIR}"/ || die
- 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 || die
- [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 \
- || die
-
- 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
-}
-
-src_prepare() {
- default
-
- # remove left over
- rm -f /opt/intel/.*mkl*.log /opt/intel/intel_sdp_products.db || die
-
- # remove unused stuff and set up intel names
- rm -rf "${WORKDIR}"/l_* || die
-
- case ${ARCH} in
- x86) MKL_ARCH=32
- MKL_KERN=ia32
- rm -rf lib*/{em64t,64} || die
- ;;
-
- amd64) MKL_ARCH=em64t
- MKL_KERN=em64t
- rm -rf lib*/{32,64} || die
- ;;
-
- ia64) MKL_ARCH=64
- MKL_KERN=ipf
- rm -rf lib*/{32,em64t} || die
- ;;
- 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 || die
- 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
- local x
- for x in blas95 lapack95; do
- emake -C ${x} ${myconf}
- 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"
- local x
- for x in ${fftwdirs}; do
- emake -C ${x} ${myconf}
- done
- fi
-}
-
-src_test() {
- cd "${S}"/tests
- local myconf
- local testdirs="blas cblas"
- local x
- 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
- einfo "Testing ${x}"
- emake -C ${x} \
- compiler=${MKL_FC} \
- ${myconf} \
- so${MKL_ARCH}
- done
-}
-
-mkl_make_generic_profile() {
- cd "${S}" || die
- # produce eselect files
- # don't make them in FILESDIR, it changes every major version
- cat > eselect.blas <<-EOF || die
- ${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 || die
- ${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 || die
- ${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}" || die
- local prof=${1}
- local x
- for x in blas cblas lapack; do
- cat > ${x}-${prof}.pc <<-EOF || die
- 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 || die
- Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
- EOF
- cat >> cblas-${prof}.pc <<-EOF || die
- Requires: blas
- Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
- Cflags: -I\${includedir}
- EOF
- cat >> lapack-${prof}.pc <<-EOF || die
- 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} || die
- echo "${MKL_LIBDIR}/${x}-${prof}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc" \
- >> eselect.${x}.${prof} || die
- eselect ${x} add $(get_libdir) eselect.${x}.${prof} ${prof}
- done
-}
-
-mkl_make_profiles() {
- local clib="gf"
- has_version 'dev-lang/ifc' && clib+=" intel"
- local slib="-lmkl_sequential"
- local rlib="-liomp5"
- local pbase=${PN}
- local c
- 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}
- 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}
- 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 || die
- MKLROOT=${MKL_DIR}
- LDPATH=${MKL_LIBDIR}
- MANPATH=${MKL_DIR}/man
- EOF
- doenvd 35mkl
-}
-
-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"
- local x
- 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
- rm -f ${configfile} || die
- 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/mkl/mkl-2020.4.304.ebuild b/sci-libs/mkl/mkl-2020.4.304.ebuild
new file mode 100644
index 000000000000..daf81b2b41ea
--- /dev/null
+++ b/sci-libs/mkl/mkl-2020.4.304.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit multilib-build rpm
+
+MAGIC=16917 # from registration center
+MY_P=${P/-/_} # mkl_2020.4.304
+MY_PV=$(ver_rs 2 '-') # 2020.4-304
+
+DESCRIPTION="Intel Math Kernel Library"
+HOMEPAGE="https://software.intel.com/en-us/intel-mkl"
+SRC_URI="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${MAGIC}/l_${MY_P}.tgz -> ${P}.tar.gz"
+S="${WORKDIR}"/l_${MY_P}
+
+LICENSE="ISSL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+RESTRICT="strip"
+
+# MKL uses Intel/LLVM OpenMP by default.
+# One can change the threadding layer to "gnu" or "tbb"
+# through the MKL_THREADING_LAYER env var.
+RDEPEND="
+ app-eselect/eselect-blas
+ app-eselect/eselect-lapack
+ sys-libs/libomp[${MULTILIB_USEDEP}]
+"
+# bug #801460
+BDEPEND="app-arch/xz-utils[extra-filters]"
+
+QA_PREBUILT="*"
+QA_TEXTRELS="*"
+QA_SONAME="*"
+QA_MULTILIB_PATHS="/usr/lib.*/libmkl_tbb_thread.so"
+
+# first unpack all rpms
+# find folders containing header like, static and dynamic lib files
+# these are the only folders we care about
+# find "${S}"/rpm -type f \( -name "*.a" -o -name "*.so" -o -wholename "*mkl/include*" \) \
+# | tr '/' ' ' | awk '{ print $2 }' | sort | uniq
+
+# ignore all conda-* rpms
+# ignore all empty rpms
+# information about rest:
+#
+# mkl-core-ps-32bit-2020.3-279-2020.3-279.x86_64.rpm | some prebuilt benchmark executables
+# psxe-common-2020.3-111-2020.3-111.noarch.rpm
+# comp-l-all-vars-19.1.2-279-19.1.2-279.noarch.rpm
+# comp-nomcu-vars-19.1.2-279-19.1.2-279.noarch.rpm
+# mkl-cluster-c-2020.3-279-2020.3-279.noarch.rpm
+# mkl-cluster-f-2020.3-279-2020.3-279.noarch.rpm
+# mkl-doc-2020-2020.3-279.noarch.rpm
+# mkl-common-ps-2020.3-279-2020.3-279.noarch.rpm | only contains benchmarks
+# compxe-pset-2020.3-111-2020.3-111.noarch.rpm | only contains benchmarks
+# mkl-doc-ps-2020-2020.3-279.noarch.rpm
+# mkl-common-2020.3-279-2020.3-279.noarch.rpm | setting up environment vars (might be needed for parallel studio)
+# mkl-installer-license-2020.3-279-2020.3-279.noarch.rpm | already have license
+# mkl-psxe-2020.3-111-2020.3-111.noarch.rpm | useless files
+# mkl-common-c-ps-2020.3-279-2020.3-279.noarch.rpm | contained in common-c
+
+INTEL_DIST_X86_RPMS=(
+ mkl-core-32bit
+ mkl-core-rt-32bit
+ mkl-f95-32bit
+ mkl-gnu-32bit
+ mkl-gnu-f-32bit
+ mkl-gnu-f-rt-32bit
+ mkl-gnu-rt-32bit
+ mkl-tbb-32bit
+ mkl-tbb-rt
+ intel-openmp-32bit-19.1.3-304-19.1.3-304.x86_64.rpm
+)
+INTEL_DIST_AMD64_RPMS=(
+ mkl-cluster
+ mkl-cluster-rt
+ mkl-core
+ mkl-core-ps
+ mkl-core-rt
+ mkl-f95
+ mkl-gnu
+ mkl-gnu-f
+ mkl-gnu-rt
+ mkl-gnu-f-rt
+ mkl-pgi
+ mkl-pgi-rt
+ mkl-tbb
+ mkl-tbb-rt
+ intel-openmp-19.1.3-304-19.1.3-304.x86_64.rpm
+)
+INTEL_DIST_DAT_RPMS=(
+ mkl-common-c
+ mkl-common-f
+ mkl-f95-common
+)
+
+rpm_dirname() {
+ local rpm="${1}" suffix="x86_64"
+ if [[ $# -eq 2 ]]; then
+ suffix="$2"
+ fi
+ if [[ ! ${rpm} =~ "rpm" ]] ; then
+ rpm="intel-${rpm}-${MY_PV}-${MY_PV}.${suffix}"
+ fi
+ printf '%s\n' "${rpm%%.rpm}"
+}
+
+rpm_unpack() {
+ local rpm="$1" suffix="x86_64"
+ if [[ $# -eq 2 ]]; then
+ suffix="$2"
+ fi
+ rpm="$(rpm_dirname $rpm $suffix)"
+ elog "Unpacking - ${rpm}.rpm"
+ rpmunpack "${rpm}.rpm" || die
+}
+
+src_unpack() {
+ default
+ cd "${S}"/rpm
+ local rpm
+ for rpm in ${INTEL_DIST_DAT_RPMS[@]}; do
+ rpm_unpack ${rpm} noarch
+ done
+ if use abi_x86_64 ; then
+ for rpm in ${INTEL_DIST_AMD64_RPMS[@]}; do
+ rpm_unpack ${rpm}
+ done
+ fi
+ if use abi_x86_32 ; then
+ for rpm in ${INTEL_DIST_X86_RPMS[@]}; do
+ rpm_unpack ${rpm}
+ done
+ fi
+}
+
+multilib_src_install() {
+ cd "${S}"/rpm
+ elog "current variant - ${MULTIBUILD_VARIANT}"
+ local rpm rpm_list libdir=$(get_libdir)
+ if [[ ${MULTIBUILD_VARIANT} =~ 'amd64' ]] ; then
+ rpm_list="${INTEL_DIST_AMD64_RPMS[@]}"
+ else
+ rpm_list="${INTEL_DIST_X86_RPMS[@]}"
+ fi
+ for rpm in ${rpm_list} ; do
+ rpm=$(rpm_dirname ${rpm})
+ elog "installing libs from - ${rpm}"
+ local libso liba
+ for libso in $(find "${S}"/rpm/${rpm} -name "*.so") ; do
+ dolib.so "${libso}"
+ done
+ use static-libs && \
+ for liba in $(find "${S}"/rpm/${rpm} -name "*.a") ; do
+ dolib.a "${liba}"
+ done
+ done
+
+ dodir /usr/$(get_libdir)/blas/mkl
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so.3
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so.3
+ dodir /usr/$(get_libdir)/lapack/mkl
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so.3
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so
+ dosym ../../libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so.3
+
+ # for some reason pkgconfig files are only for amd64
+ [[ ${MULTIBUILD_VARIANT} =~ 'amd64' ]] || return
+ local pc_files=( "${FILESDIR}"/*.pc )
+ insinto /usr/$(get_libdir)/pkgconfig
+ for pc in "${pc_files[@]}" ; do
+ doins "${pc}"
+ sed -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -i "${ED}"/usr/$(get_libdir)/pkgconfig/${pc##*/} || die
+ done
+}
+
+src_install() {
+ # install bunch of header like files
+ dodir /usr/include/mkl
+ for idir in $(find "${S}"/rpm -type d -wholename "*mkl/include"); do
+ cp -a "${idir}"/. "${ED}"/usr/include/mkl || die
+ done
+
+ multilib_foreach_abi multilib_src_install
+}
+
+library-provider_pkg_postinst() {
+ local libdir=$(get_libdir) me="mkl"
+
+ # check blas
+ eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check lapack
+ eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postinst() {
+ multilib_foreach_abi library-provider_pkg_postinst
+}
+
+library-provider_pkg_postrm() {
+ eselect blas validate
+ eselect lapack validate
+}
+
+pkg_postrm() {
+ multilib_foreach_abi library-provider_pkg_postrm
+}
diff --git a/sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild b/sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild
new file mode 100644
index 000000000000..2db42ce2ecab
--- /dev/null
+++ b/sci-libs/mkl/mkl-2022.2.1.16993-r1.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Intel Math Kernel Library"
+HOMEPAGE="https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html"
+SRC_URI="
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_amd64.deb
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-devel-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_amd64.deb
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-common-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_all.deb
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-common-devel-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_all.deb
+"
+S="${WORKDIR}"
+
+LICENSE="ISSL"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="static-libs"
+RESTRICT="strip"
+
+# MKL uses Intel/LLVM OpenMP by default.
+# One can change the threadding layer to "gnu" or "tbb"
+# through the MKL_THREADING_LAYER env var.
+RDEPEND="
+ app-eselect/eselect-blas
+ app-eselect/eselect-lapack
+ dev-cpp/tbb
+ dev-libs/opencl-icd-loader
+ sys-cluster/mpich
+ sys-libs/libomp
+"
+# bug #801460
+BDEPEND="app-arch/xz-utils[extra-filters]"
+
+QA_PREBUILT="*"
+QA_TEXTRELS="*"
+QA_SONAME="*"
+
+src_prepare() {
+ default
+ # Drop conda stuff
+ rm -r opt/intel/oneapi/conda_channel || die
+}
+
+src_install() {
+ # Symlink pkgconfig and cmake files
+ pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/pkgconfig" || die
+ for file in *.pc; do
+ dosym "../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/pkgconfig/${file}" "/usr/share/pkgconfig/${file}"
+ done
+ popd || die
+ pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/cmake/mkl" || die
+ for file in *.cmake; do
+ dosym "../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/cmake/mkl/${file}" "/usr/$(get_libdir)/cmake/mkl/${file}"
+ done
+ popd || die
+
+ # Symlink files in locale directory
+ pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/locale/en_US" || die
+ for file in *; do
+ dosym "../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/locale/en_US/${file}" "/usr/share/locale/en_US/${file}"
+ done
+ popd || die
+
+ # Move everything over to the image directory
+ mv "${S}/"* "${ED}" || die
+
+ # Create convenience symlink that does not include the version number
+ dosym "$(ver_cut 1-3)" /opt/intel/oneapi/mkl/latest
+
+ dodir /usr/$(get_libdir)/blas/mkl
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so.3
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so.3
+ dodir /usr/$(get_libdir)/lapack/mkl
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so.3
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so.3
+
+ newenvd - "70intel-mkl" <<-_EOF_
+ MKLROOT="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)"
+ PATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/bin/intel64"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/bin/intel64"
+ LDPATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64"
+ _EOF_
+}
+
+pkg_postinst() {
+ local libdir=$(get_libdir) me="mkl"
+
+ # check blas
+ eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check lapack
+ eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ eselect blas validate
+ eselect lapack validate
+}
diff --git a/sci-libs/mkl/mkl-2023.0.0.25398.ebuild b/sci-libs/mkl/mkl-2023.0.0.25398.ebuild
new file mode 100644
index 000000000000..159969761e31
--- /dev/null
+++ b/sci-libs/mkl/mkl-2023.0.0.25398.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Intel Math Kernel Library"
+HOMEPAGE="https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html"
+SRC_URI="
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_amd64.deb
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-devel-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_amd64.deb
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-common-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_all.deb
+ https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-${PN}-common-devel-$(ver_cut 1-3)-$(ver_cut 1-3)-$(ver_cut 4)_all.deb
+"
+S="${WORKDIR}"
+
+LICENSE="ISSL"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="strip"
+
+# MKL uses Intel/LLVM OpenMP by default.
+# One can change the threadding layer to "gnu" or "tbb"
+# through the MKL_THREADING_LAYER env var.
+RDEPEND="
+ app-eselect/eselect-blas
+ app-eselect/eselect-lapack
+ dev-cpp/tbb
+ dev-libs/opencl-icd-loader
+ sys-cluster/mpich
+ sys-libs/libomp
+"
+# bug #801460
+BDEPEND="
+ app-arch/xz-utils[extra-filters]
+ app-eselect/eselect-blas
+ app-eselect/eselect-lapack
+"
+
+QA_PREBUILT="*"
+QA_TEXTRELS="*"
+QA_SONAME="*"
+
+src_prepare() {
+ default
+ # Drop conda stuff
+ rm -r opt/intel/oneapi/conda_channel || die
+}
+
+src_install() {
+ # Symlink pkgconfig and cmake files
+ pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/pkgconfig" || die
+ for file in *.pc; do
+ dosym "../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/pkgconfig/${file}" "/usr/share/pkgconfig/${file}"
+ done
+ popd || die
+ pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/cmake/mkl" || die
+ for file in *.cmake; do
+ dosym "../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/cmake/mkl/${file}" "/usr/$(get_libdir)/cmake/mkl/${file}"
+ done
+ popd || die
+
+ # Symlink files in locale directory
+ pushd "opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/locale/en_US" || die
+ for file in *; do
+ dosym "../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/locale/en_US/${file}" "/usr/share/locale/en_US/${file}"
+ done
+ popd || die
+
+ # Move everything over to the image directory
+ mv "${S}/"* "${ED}" || die
+
+ # Create convenience symlink that does not include the version number
+ dosym "$(ver_cut 1-3)" /opt/intel/oneapi/mkl/latest
+
+ dodir /usr/$(get_libdir)/blas/mkl
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libblas.so.3
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/blas/mkl/libcblas.so.3
+ dodir /usr/$(get_libdir)/lapack/mkl
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapack.so.3
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so
+ dosym ../../../../opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64/libmkl_rt.so usr/$(get_libdir)/lapack/mkl/liblapacke.so.3
+
+ newenvd - "70intel-mkl" <<-_EOF_
+ MKLROOT="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)"
+ PATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/bin/intel64"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/bin/intel64"
+ LDPATH="${EPREFIX}/opt/intel/oneapi/mkl/$(ver_cut 1-3)/lib/intel64"
+ _EOF_
+}
+
+pkg_postinst() {
+ local libdir=$(get_libdir) me="mkl"
+
+ # check blas
+ eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check lapack
+ eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ eselect blas validate
+ eselect lapack validate
+}
diff --git a/sci-libs/mpfi/Manifest b/sci-libs/mpfi/Manifest
index e8c03ff1f9a6..92158f018311 100644
--- a/sci-libs/mpfi/Manifest
+++ b/sci-libs/mpfi/Manifest
@@ -1 +1 @@
-DIST mpfi-1.5.3.tar.bz2 447256 BLAKE2B 67bb9af362ec96c015571cbdaba09befc2241e0113b6177dd76eec97b619bbf9c924ba4d16583df664cafdb1a78c8700712e30633e91e5ae6f1d5e084c3ede5c SHA512 9c3cdf665fccff8b383c96827f4acb7aa62efdf7854cff271455273f00f8e7ecf84fbe191b02e5f51fe067aaae564fd2a0add062070ff5c1f542d61a021f967d
+DIST mpfi-1.5.4.tgz 261696 BLAKE2B 264453870fbf18afc0876eef72a3fc9690e9eee1da5179831a24409159abe75b88dc373e2d20b8171c846e870ded876715b2c9034ab4f0d0f0ff10e34abd099d SHA512 72ba7d8c950f4d4e2c7a3da8570cdcec08f75b73580cdf64c4cc3b24f8add23c46ccf78a6de2158e81bd77e6efabceebbae418988d536e7484356b8102e10ce1
diff --git a/sci-libs/mpfi/metadata.xml b/sci-libs/mpfi/metadata.xml
index a0c9c3fcbb0c..a183ec619741 100644
--- a/sci-libs/mpfi/metadata.xml
+++ b/sci-libs/mpfi/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
@@ -17,5 +17,5 @@
roundings provided by MPFR. Further advantages of using MPFR are its
portability and compliance with the IEEE 754 standard for
floating-point arithmetic.
-</longdescription>
+ </longdescription>
</pkgmetadata>
diff --git a/sci-libs/mpfi/mpfi-1.5.3.ebuild b/sci-libs/mpfi/mpfi-1.5.3.ebuild
deleted file mode 100644
index d84acb228b35..000000000000
--- a/sci-libs/mpfi/mpfi-1.5.3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit out-of-source
-
-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/37331/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- >=dev-libs/gmp-4.1.2:0=
- >=dev-libs/mpfr-2.4:0="
-RDEPEND="${DEPEND}"
-
-my_src_configure() {
- econf --disable-static
-}
-
-my_src_install() {
- default
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/mpfi/mpfi-1.5.4.ebuild b/sci-libs/mpfi/mpfi-1.5.4.ebuild
new file mode 100644
index 000000000000..76afa306787b
--- /dev/null
+++ b/sci-libs/mpfi/mpfi-1.5.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+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/file/38111/${P}.tgz"
+
+# COPYING is GPL-3, COPYING.LESSER is LGPL-3, source file headers
+# are LGPL-2.1+
+LICENSE="GPL-3 LGPL-3 LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-libs/gmp:0=
+ dev-libs/mpfr:0="
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/mpir/Manifest b/sci-libs/mpir/Manifest
deleted file mode 100644
index 0313b4c4e45b..000000000000
--- a/sci-libs/mpir/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST mpir-2.6.0.tar.lzma 2472231 BLAKE2B ec768fb78317220d677fac24609fdc4db1315e3c5594d7e098a0f502c38eb8dcf69bac5317c3b7afd629c089504856bb686aa4de65ad54b4f728325e100db44f SHA512 e2608beeb72651c9b2e47f8fb2bcf672f8c74e2cd622e17cd19b12100b66e929ee31d102d2901816379b23aee1a3ea3a854e3e10ebffe2a6e4772748858f911d
-DIST mpir-2.7.2.tar.bz2 3771429 BLAKE2B c3431bcb84207fdb1bc0242fe56b7c2d45643e8c21c4b215162f824bed3a395972f734907f966bc14c58a28d30bb35f441b16b2762a9c8ef9c02d164f804bc82 SHA512 8436a0123201f9e30130ea340331c5a6445dddb58ce1f6c6a3a8303c310ac5b3c279c83b5c520a757cba82c2b14e92da44583e0eec287090cf69cbb29d516a9c
-DIST mpir-3.0.0.tar.bz2 2572041 BLAKE2B f564944dd76586ca6e50c39f1199468b905a3db7bbb8b2ee6cf3dcdfb00757d7eefc57e010d5cfc3d6db7ba2676e36f7980365e85c87827b4901ec4e80349915 SHA512 c735105db8b86db739fd915bf16064e6bc82d0565ad8858059e4e93f62c9d72d9a1c02a5ca9859b184346a8dc64fa714d4d61404cff1e405dc548cbd54d0a88e
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
deleted file mode 100644
index fba6fea2e8f6..000000000000
--- a/sci-libs/mpir/files/mpir-1.3.0-ABI-multilib.patch
+++ /dev/null
@@ -1,145 +0,0 @@
---- 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.5.1-automake-1.12.patch b/sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch
deleted file mode 100644
index 684bcbf7d3c1..000000000000
--- a/sci-libs/mpir/files/mpir-2.5.1-automake-1.12.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-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
deleted file mode 100644
index 55cd1a087ed6..000000000000
--- a/sci-libs/mpir/files/mpir-2.6.0-gcc48.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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
deleted file mode 100644
index 3c6b1881f170..000000000000
--- a/sci-libs/mpir/files/mpir-2.6.0-yasm.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-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/files/mpir-2.7.2-ABI-multilib.patch b/sci-libs/mpir/files/mpir-2.7.2-ABI-multilib.patch
deleted file mode 100644
index f02df55ccf98..000000000000
--- a/sci-libs/mpir/files/mpir-2.7.2-ABI-multilib.patch
+++ /dev/null
@@ -1,145 +0,0 @@
---- a/configure.ac 2009-11-28 10:48:59.196977657 +0000
-+++ b/configure.ac 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.7.2-sed-backport.patch b/sci-libs/mpir/files/mpir-2.7.2-sed-backport.patch
deleted file mode 100644
index 897642909ca0..000000000000
--- a/sci-libs/mpir/files/mpir-2.7.2-sed-backport.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index a3821c5..15fa93d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2595,7 +2595,7 @@ for tmp_fn in $gmp_mpn_functions; do
- sed -n 's/^[ ]*MULFUNC_PROLOGUE(\(.*\))/\1/p' $tmp_file ;
- sed -n 's/^[ ]*PROLOGUE(\([^,]*\).*)/\1/p' $tmp_file ;
- sed -n 's/^;[ ]*PROLOGUE(\([^,]*\).*)/\1/p' $tmp_file ;
-- sed -n 's/[^G]*GLOBAL_FUNC[:space:]*\(.*\)/\1/p' $tmp_file ;
-+ sed -n 's/[^G]*GLOBAL_FUNC[[:space:]]*\(.*\)/\1/p' $tmp_file ;
- `]
- for gmp_tmp in $gmp_ep; do
- AC_DEFINE_UNQUOTED(HAVE_NATIVE_$gmp_tmp)
diff --git a/sci-libs/mpir/metadata.xml b/sci-libs/mpir/metadata.xml
deleted file mode 100644
index cd50fabad650..000000000000
--- a/sci-libs/mpir/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</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
deleted file mode 100644
index d661f2833091..000000000000
--- a/sci-libs/mpir/mpir-2.6.0-r2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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/11"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 s390 ~sparc 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/mpir/mpir-2.7.2.ebuild b/sci-libs/mpir/mpir-2.7.2.ebuild
deleted file mode 100644
index f3e1deeb567d..000000000000
--- a/sci-libs/mpir/mpir-2.7.2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools 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.bz2"
-
-LICENSE="LGPL-3"
-SLOT="0/16"
-KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+cxx cpudetection static-libs"
-
-DEPEND="
- x86? ( dev-lang/yasm )
- amd64? ( dev-lang/yasm )
-"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}"/${P}-ABI-multilib.patch
- "${FILESDIR}"/${P}-sed-backport.patch
-)
-
-src_prepare() {
- tc-export CC
-
- default
-
- # 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+=(
- --with-system-yasm
- $(use_enable cxx)
- $(use_enable cpudetection fat)
- $(use_enable static-libs static)
- )
- econf ${myeconfargs[@]}
-}
-
-src_install() {
- default
- rm "${ED}"/usr/$(get_libdir)/*la || die
-}
diff --git a/sci-libs/mpir/mpir-3.0.0.ebuild b/sci-libs/mpir/mpir-3.0.0.ebuild
deleted file mode 100644
index b71c8d79fab3..000000000000
--- a/sci-libs/mpir/mpir-3.0.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools 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.bz2"
-
-LICENSE="LGPL-3"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 x86 ~amd64-linux ~x86-linux"
-IUSE="+cxx cpudetection static-libs"
-
-DEPEND="
- x86? ( dev-lang/yasm )
- amd64? ( dev-lang/yasm )
- amd64-fbsd? ( dev-lang/yasm )
-"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.7.2-ABI-multilib.patch
-)
-
-src_prepare() {
- tc-export CC
- default
- # 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.
- local myeconfargs=(
- $(use_enable cxx)
- $(use_enable cpudetection fat)
- $(use_enable static-libs static)
- )
- # https://bugs.gentoo.org/661430
- if ! use amd64 && ! use x86; then
- myeconfargs+=( --with-yasm=/bin/false )
- fi
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*la
-}
diff --git a/sci-libs/mumps/Manifest b/sci-libs/mumps/Manifest
index bc722d542673..222fe61900a1 100644
--- a/sci-libs/mumps/Manifest
+++ b/sci-libs/mumps/Manifest
@@ -1 +1 @@
-DIST MUMPS_5.1.2.tar.gz 3351215 BLAKE2B 1c77c2a217c101245a9a96a59be6b9bfd67ceffa603d807b5a7173026c5c33e2c4de78c14833d7b7f0a90130b9ebc0ac9c7d4ebfbf881d0bd2210a542887c239 SHA512 38a63b14a8df835be68b5fa310b39aa1815799220d56c176e4005797800959e9e08c9a6bf11d308ab82ea40b6f34d36072cebe7c1de39e0c314eb138b93f1b74
+DIST MUMPS_5.3.5.tar.gz 3940501 BLAKE2B f1767483bb23744a2c5ed11b0823c5b023377d5212abbe29a177cce5b5e51e6f2f391d7caa17022646e36c9e4b4fb4af80b03ac6cf8e89f37502ed960138bbbe SHA512 6e3bb081f38af8540ada7b4fb54c6e766739c854e2a3dd253e3e012eee05dae30064b1b4a8d7493f10691725aba4cc9e80544b0fe5b71670cb0b2726ccfc4439
diff --git a/sci-libs/mumps/metadata.xml b/sci-libs/mumps/metadata.xml
index 6c7bab904ee4..48fbdcfacfa6 100644
--- a/sci-libs/mumps/metadata.xml
+++ b/sci-libs/mumps/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/mumps/mumps-5.1.2.ebuild b/sci-libs/mumps/mumps-5.1.2.ebuild
deleted file mode 100644
index 477d6dbaeef7..000000000000
--- a/sci-libs/mumps/mumps-5.1.2.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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="http://mumps.enseeiht.fr/${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-5 >=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
-
- default
-}
-
-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/mumps/mumps-5.3.5-r1.ebuild b/sci-libs/mumps/mumps-5.3.5-r1.ebuild
new file mode 100644
index 000000000000..8df93f5e4e8c
--- /dev/null
+++ b/sci-libs/mumps/mumps-5.3.5-r1.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit fortran-2 flag-o-matic multilib toolchain-funcs
+
+MYP=MUMPS_${PV}
+
+DESCRIPTION="MUltifrontal Massively Parallel sparse direct matrix Solver"
+HOMEPAGE="https://mumps-solver.org/"
+SRC_URI="https://mumps-solver.org/${MYP}.tar.gz"
+S="${WORKDIR}/${MYP}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples metis mpi +scotch static-libs"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ virtual/blas
+ metis? (
+ >=sci-libs/metis-5
+ mpi? ( >=sci-libs/parmetis-4 )
+ )
+ mpi? ( sci-libs/scalapack )
+ !mpi? ( virtual/lapack )
+ scotch? ( >=sci-libs/scotch-6.0.1:=[mpi=] )
+"
+DEPEND="${RDEPEND}"
+
+_get_version_component_count() {
+ local cnt=( $(ver_rs 1- ' ') )
+ echo ${#cnt[@]} || die
+}
+
+static_to_shared() {
+ local libstatic=${1}
+ shift
+ local libname=$(basename ${libstatic%.a})
+ local soname=${libname}$(get_libname $(ver_cut 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"
+
+ if [[ $(_get_version_component_count) -ge 1 ]] ; then
+ ln -s ${soname} ${libdir}/${libname}$(get_libname $(ver_cut 1)) || die
+ fi
+
+ ln -s ${soname} ${libdir}/${libname}$(get_libname) || die
+ fi
+}
+
+src_prepare() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/862903
+ #
+ # There is an upstream mailing list but it seems to be broken. I *think*,
+ # because it's all in French. I tried and failed to report the bug.
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # workaround for gcc10 (bug #743442)
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
+
+ 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
+
+ default
+}
+
+src_configure() {
+ # We abuse LIBADD here to work around the fact that MUMPS is criminally
+ # underlinked.
+ 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${ESYSROOT}/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${ESYSROOT}/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
+ LIBADD="${LIBADD} $($(tc-getPKG_CONFIG) --libs lapack)"
+ export LINK="$(tc-getFC)"
+ fi
+ sed -i -e "s;^\s*\(ORDERINGSF\s*=\).*;\1 ${ord};" Makefile.inc || die
+}
+
+src_compile() {
+ # Workaround #462602
+ export FAKEROOTKEY=1
+
+ # Use "-j1" to avoid a spurious race condition
+ 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 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)"
+ emake 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
+ dodoc -r examples
+ fi
+}
diff --git a/sci-libs/nanoflann/Manifest b/sci-libs/nanoflann/Manifest
index 231a10156246..a11624ff8c38 100644
--- a/sci-libs/nanoflann/Manifest
+++ b/sci-libs/nanoflann/Manifest
@@ -1 +1 @@
-DIST nanoflann-1.2.3.tar.gz 1157793 BLAKE2B e6b3947c5c99689da5d3759e0217deca691bada8089cdd1e3cd41902b0db2533908fab1ff5474851064d3f2ab6a5a70429320bbf432a0381df4aec0139a6b2f4 SHA512 01d5226fb669c9ef21e1bd36bddb07c7bf8bbbf9798e90bfa7966de4ae01e05c669c33a73d37340c41c79fcab81c91c3991077d799a211985b2d0a2a365a8878
+DIST nanoflann-1.3.2.tar.gz 685060 BLAKE2B 2dd1ed9ae3f766099d86b00e1c84a11d9162930dba91053746177ff39b7c84f770120734a235b25196620f637b94986106d364db300f51c873171e7805849b7c SHA512 937d3787df389efe530060cd2723130251e2ca7937b10f8d770c7b0d21ffd972e6da21b2b9e655c5740d57b4af8f76f0cc6d9ae39527c440be8863be0deaa7ed
diff --git a/sci-libs/nanoflann/metadata.xml b/sci-libs/nanoflann/metadata.xml
index 7fcd5763ce84..8380ce09585e 100644
--- a/sci-libs/nanoflann/metadata.xml
+++ b/sci-libs/nanoflann/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
diff --git a/sci-libs/nanoflann/nanoflann-1.2.3.ebuild b/sci-libs/nanoflann/nanoflann-1.2.3.ebuild
deleted file mode 100644
index 4db99558405a..000000000000
--- a/sci-libs/nanoflann/nanoflann-1.2.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="C++ header-only library for Nearest Neighbor (NN) search wih KD-trees"
-HOMEPAGE="https://github.com/jlblancoc/nanoflann"
-
-if [[ ${PV} = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="git://github.com/jlblancoc/nanoflann.git"
-else
- SRC_URI="https://github.com/jlblancoc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-RDEPEND="dev-cpp/eigen:3"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # do not compile examples
- cmake_comment_add_subdirectory examples
-}
-
-src_test() {
- "${CMAKE_MAKEFILE_GENERATOR}" -C "${BUILD_DIR}" -j1 test
-}
diff --git a/sci-libs/nanoflann/nanoflann-1.3.2.ebuild b/sci-libs/nanoflann/nanoflann-1.3.2.ebuild
new file mode 100644
index 000000000000..c18cb819c4ff
--- /dev/null
+++ b/sci-libs/nanoflann/nanoflann-1.3.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="C++ header-only library for Nearest Neighbor (NN) search wih KD-trees"
+HOMEPAGE="https://github.com/jlblancoc/nanoflann"
+
+if [[ ${PV} = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/jlblancoc/nanoflann.git"
+else
+ SRC_URI="https://github.com/jlblancoc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-cpp/eigen:3"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DBUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/nanoflann/nanoflann-9999.ebuild b/sci-libs/nanoflann/nanoflann-9999.ebuild
index 4db99558405a..c18cb819c4ff 100644
--- a/sci-libs/nanoflann/nanoflann-9999.ebuild
+++ b/sci-libs/nanoflann/nanoflann-9999.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils
+inherit cmake
DESCRIPTION="C++ header-only library for Nearest Neighbor (NN) search wih KD-trees"
HOMEPAGE="https://github.com/jlblancoc/nanoflann"
if [[ ${PV} = *9999 ]]; then
inherit git-r3
- EGIT_REPO_URI="git://github.com/jlblancoc/nanoflann.git"
+ EGIT_REPO_URI="https://github.com/jlblancoc/nanoflann.git"
else
SRC_URI="https://github.com/jlblancoc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
@@ -18,18 +18,16 @@ fi
LICENSE="BSD"
SLOT="0"
-IUSE=""
+IUSE="examples test"
+RESTRICT="!test? ( test )"
RDEPEND="dev-cpp/eigen:3"
DEPEND="${RDEPEND}"
-src_prepare() {
- cmake-utils_src_prepare
-
- # do not compile examples
- cmake_comment_add_subdirectory examples
-}
-
-src_test() {
- "${CMAKE_MAKEFILE_GENERATOR}" -C "${BUILD_DIR}" -j1 test
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DBUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
}
diff --git a/sci-libs/neartree/files/CMakeLists.txt b/sci-libs/neartree/files/CMakeLists.txt
index cb4375da7964..59b64f8c2f8d 100644
--- a/sci-libs/neartree/files/CMakeLists.txt
+++ b/sci-libs/neartree/files/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8.12)
project (Neartree C)
SET (LIB_MAJOR 5)
@@ -7,6 +7,8 @@ SET (LIB_RELEASE 0)
SET (_soversion ${LIB_MAJOR}.${LIB_MINOR}.${LIB_RELEASE})
+include(GNUInstallDirs)
+
include_directories ("${PROJECT_SOURCE_DIR}")
add_library(CNearTree SHARED CNearTree.c)
@@ -14,8 +16,8 @@ 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(TARGETS CNearTree DESTINATION ${CMAKE_INSTALL_LIBDIR})
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)
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+install(FILES README_NearTree.txt DESTINATION ${CMAKE_INSTALL_DOCDIR})
+install(FILES README_NearTree.html index.html DESTINATION ${CMAKE_INSTALL_DOCDIR}/html)
diff --git a/sci-libs/neartree/metadata.xml b/sci-libs/neartree/metadata.xml
index be72ab17e93d..409122f2c199 100644
--- a/sci-libs/neartree/metadata.xml
+++ b/sci-libs/neartree/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/neartree/neartree-5.1.1.ebuild b/sci-libs/neartree/neartree-5.1.1.ebuild
index 0d1ac6098867..89ccf3f61888 100644
--- a/sci-libs/neartree/neartree-5.1.1.ebuild
+++ b/sci-libs/neartree/neartree-5.1.1.ebuild
@@ -1,32 +1,26 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils
-
-MY_PN=NearTree
-MY_P="${MY_PN}-${PV}"
+MY_P="NearTree-${PV}"
+inherit cmake
DESCRIPTION="Function library efficiently solving the Nearest Neighbor Problem"
HOMEPAGE="http://neartree.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
+KEYWORDS="amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
RDEPEND="dev-libs/cvector"
DEPEND="${RDEPEND}"
-S="${WORKDIR}/${MY_P}"
+DOCS=( README_NearTree.txt )
src_prepare() {
cp "${FILESDIR}"/CMakeLists.txt . || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=( -DDOC_DIR="${EPREFIX}/usr/share/doc/${PF}" )
- cmake-utils_src_configure
+ cmake_src_prepare
}
diff --git a/sci-libs/nemesis/metadata.xml b/sci-libs/nemesis/metadata.xml
index 9599a858f64b..6114f376e86d 100644
--- a/sci-libs/nemesis/metadata.xml
+++ b/sci-libs/nemesis/metadata.xml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<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>
+ 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>
+ <remote-id type="github">certik/exodus</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/nemesis/nemesis-6.09.ebuild b/sci-libs/nemesis/nemesis-6.09.ebuild
index 3e18bd12f610..b975520655ce 100644
--- a/sci-libs/nemesis/nemesis-6.09.ebuild
+++ b/sci-libs/nemesis/nemesis-6.09.ebuild
@@ -1,16 +1,15 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils
-
-MY_PN="exodus"
-MY_P="${MY_PN}-${PV}"
+MY_P="exodus-${PV}"
+inherit cmake
DESCRIPTION="Enhancement to the EXODUSII finite element database model"
HOMEPAGE="https://github.com/certik/exodus"
SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}/${PN}
LICENSE="BSD"
SLOT="0"
@@ -19,16 +18,15 @@ IUSE="static-libs"
DEPEND="
sci-libs/exodusii
- sci-libs/netcdf"
+ 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
+ rm -r ../exodus || die
+ cmake_src_prepare
}
src_configure() {
@@ -37,7 +35,7 @@ src_configure() {
)
export NETCDF_DIR="${EPREFIX}/usr/"
export EXODUS_DIR="${EPREFIX}/usr/"
- cmake-utils_src_configure
+ cmake_src_configure
}
src_test() {
diff --git a/sci-libs/netcdf-cxx/Manifest b/sci-libs/netcdf-cxx/Manifest
index a083069bcc65..fe245292f7f8 100644
--- a/sci-libs/netcdf-cxx/Manifest
+++ b/sci-libs/netcdf-cxx/Manifest
@@ -1,3 +1,3 @@
-DIST netcdf-cxx-4.2.1.tar.gz 456547 BLAKE2B e973f064ad40c0d0cb76766f3b1639d16ed7eaae73d8e55db011645fc0d4e6f8949a60aeb9d47a4f8e88b3c5b2d486d42442e417908a2194b8b9a5e720ba2ff5 SHA512 d51ab1cbda74db5f7b074799d2407d0214d1c920af780ae3bb7a47b3708e45f721be7eec61902e035968a9df5019a7b2b5a10f236f6bab4cb47a26e4e7867adb
DIST netcdf-cxx-4.2.tar.gz 703482 BLAKE2B a6727b7305204d2b53e6ee951c8165b03cd07f14e5d59a306445481272d0e10eb077e4bc62a2586c57652cb8273b9098ed77836f9023817d8a9e6ef51ac2cfe8 SHA512 347ddbc518ac2186868d69417342e5146e285fc3a88f7c55edc33063f5c9a6647af7e512a03b9b6a8f67a448b85a1edcdde5df707b893f6a1527821cfd78e643
-DIST netcdf-cxx-4.3.0.tar.gz 985897 BLAKE2B 89cfd85764ff8fc730c7cb4187df21a4245cd932bcf86df4edf36eb7ae636906eaafc25cfcbb3dd58bc1d346edacd7f80daa3be9a544d5d777d32ad115cfd00f SHA512 8e77333c979513721209e6b3fde31c298e18a45d7ea08123056e8120469eb8c4024d71289fab2b9182ee19ee7b6ad22bd133525bef048a497ede4aa2e9017465
+DIST netcdf-cxx-4.3.1.tar.gz 607679 BLAKE2B 68677ba72e66d351bf6d33a2584a3a1edd9da98b41ed66e3f51f8d3d358bfd84bad3e2e06403edf76d26b2c76807ae40859995d8817725e531a27680d04f2501 SHA512 404711eb80d5e78968c0f6cbdcb08855a2778d7fd94e7ee94bdc9d1cd72848ac3327613c6437a7634349f26bc463b950092a2999abb34ddab0a47ad185547d22
+DIST netcdf-cxx4-4.3.1.tar.gz 598335 BLAKE2B e8272d9bd74cf9b814303a5b208be20228149533a9cc78cc1ef460f2cfb0086c7187afba325ab9a7b3d071e0fb9160d3b057e3bee68b679d9f504ccfecb016d8 SHA512 f5d9d26fb9f57430d0d681a9c7396bb0f03ed6446ac6fed51058dcc43690c02565da3f729f98b268b0bd923ca8b5b3cfa8340aca6a4f18f512c0c320ea20703f
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
deleted file mode 100644
index 50b6b478bdb1..000000000000
--- a/sci-libs/netcdf-cxx/files/netcdf-cxx-4.2-config.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- netcdf-cxx4-4.2.1/ncxx4-config.in.orig 2013-01-10 10:47:00.595224631 -0800
-+++ netcdf-cxx4-4.2.1/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-4.2.1/netcdf-cxx4.pc.in.orig 2013-01-10 10:46:50.995177250 -0800
-+++ netcdf-cxx4-4.2.1/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/files/netcdf-cxx-4.3.1-slibtool.patch b/sci-libs/netcdf-cxx/files/netcdf-cxx-4.3.1-slibtool.patch
new file mode 100644
index 000000000000..72db4dbd2c76
--- /dev/null
+++ b/sci-libs/netcdf-cxx/files/netcdf-cxx-4.3.1-slibtool.patch
@@ -0,0 +1,42 @@
+https://github.com/Unidata/netcdf-cxx4/pull/103
+https://bugs.gentoo.org/778200
+
+From: orbea <orbea@riseup.net>
+Date: Thu, 25 Mar 2021 12:24:57 -0700
+Subject: [PATCH 1/2] cxx4: Move -lnetcdf to LIBADD so its used.
+
+--- a/cxx4/Makefile.am
++++ b/cxx4/Makefile.am
+@@ -3,15 +3,13 @@
+
+ # This file builds the new C++-4 interface.
+
+-# Point pre-preprocessor to netcdf-4 directory (libsrc4).
+-LDADD = $(top_builddir)/cxx4/libnetcdf_c++4.la -lnetcdf
+-
+ # This is our output library.
+ lib_LTLIBRARIES = libnetcdf_c++4.la
+
+ # For rules updating the version info, see
+ # http://www.gnu.org/s/libtool/manual/html_node/Updating-version-info.html
+ libnetcdf_c__4_la_LDFLAGS = -version-info 2:0:1 -no-undefined
++libnetcdf_c__4_la_LIBADD = -lnetcdf
+
+ # These headers will be installed in the users header directory.
+ include_HEADERS = netcdf ncAtt.h ncCheck.h ncDim.h ncException.h \
+
+From a6dd5eb862d9a845b8458591b957b07c527e0d20 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Thu, 25 Mar 2021 12:25:33 -0700
+Subject: [PATCH 2/2] plugins: Add a missing -lhdf5 linker flag.
+
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -20,6 +20,7 @@ lib_LTLIBRARIES = libh5bzip2.la
+
+ libh5bzip2_la_SOURCES = ${HDF5PLUGINSRC}
+ libh5bzip2_la_LDFLAGS = -module -avoid-version -shared -export-dynamic -no-undefined
++libh5bzip2_la_LIBADD = -lhdf5
+
+ libmisc_la_SOURCES = H5Zmisc.c H5Zutil.c h5misc.h
+ libmisc_la_LDFLAGS = -module -avoid-version -shared -export-dynamic -no-undefined -rpath ${abs_builddir}
diff --git a/sci-libs/netcdf-cxx/metadata.xml b/sci-libs/netcdf-cxx/metadata.xml
index 534ebb4466b0..040a4543b31b 100644
--- a/sci-libs/netcdf-cxx/metadata.xml
+++ b/sci-libs/netcdf-cxx/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild
deleted file mode 100644
index 35eed157f022..000000000000
--- a/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r300.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils versionator
-
-DESCRIPTION="C++ library for netCDF"
-HOMEPAGE="https://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:0="
-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-r301.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r301.ebuild
new file mode 100644
index 000000000000..04c76791f47d
--- /dev/null
+++ b/sci-libs/netcdf-cxx/netcdf-cxx-4.2-r301.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="C++ library for netCDF"
+HOMEPAGE="https://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 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND=">=sci-libs/netcdf-4.2:0="
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ if use examples ; then
+ docinto examples
+ dodoc -r examples
+ fi
+}
diff --git a/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1-r1.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1-r1.ebuild
deleted file mode 100644
index fa311868cb0b..000000000000
--- a/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-
-MYP=${PN}4-${PV}
-
-DESCRIPTION="C++ library for netCDF"
-HOMEPAGE="https://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:=[hdf5]"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2-config.patch"
-)
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use examples && dodoc -r examples
- prune_libtool_files
-}
diff --git a/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild
deleted file mode 100644
index b1bb22728e01..000000000000
--- a/sci-libs/netcdf-cxx/netcdf-cxx-4.2.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils
-
-MYP=${PN}4-${PV}
-
-DESCRIPTION="C++ library for netCDF"
-HOMEPAGE="https://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-cxx/netcdf-cxx-4.3.0.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.3.0.ebuild
deleted file mode 100644
index c64a6ff9763c..000000000000
--- a/sci-libs/netcdf-cxx/netcdf-cxx-4.3.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-
-MYP=${PN}4-${PV}
-
-DESCRIPTION="C++ library for netCDF"
-HOMEPAGE="https://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:=[hdf5]"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MYP}"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use examples && dodoc -r examples
- prune_libtool_files
-}
diff --git a/sci-libs/netcdf-cxx/netcdf-cxx-4.3.1-r1.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.3.1-r1.ebuild
new file mode 100644
index 000000000000..1a1079b72566
--- /dev/null
+++ b/sci-libs/netcdf-cxx/netcdf-cxx-4.3.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool
+
+MYP=${PN}4-${PV}
+DESCRIPTION="C++ library for netCDF"
+HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://downloads.unidata.ucar.edu/netcdf-cxx/${PV}/${PN}4-${PV}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+# 6 out of 9 fail, reported upstream
+#RESTRICT="test"
+
+RDEPEND=">=sci-libs/netcdf-4.2:=[hdf5]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYP}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-slibtool.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_install() {
+ default
+ use examples && dodoc -r examples
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/netcdf-cxx/netcdf-cxx-4.3.1.ebuild b/sci-libs/netcdf-cxx/netcdf-cxx-4.3.1.ebuild
new file mode 100644
index 000000000000..559d4d5483dc
--- /dev/null
+++ b/sci-libs/netcdf-cxx/netcdf-cxx-4.3.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool
+
+MYP=${PN}4-${PV}
+DESCRIPTION="C++ library for netCDF"
+HOMEPAGE="https://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 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+# 6 out of 9 fail, reported upstream
+RESTRICT="test"
+
+RDEPEND=">=sci-libs/netcdf-4.2:=[hdf5]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYP}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-slibtool.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ use examples && dodoc -r examples
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/netcdf-fortran/Manifest b/sci-libs/netcdf-fortran/Manifest
index eda8ccb1d20f..deb89c507b91 100644
--- a/sci-libs/netcdf-fortran/Manifest
+++ b/sci-libs/netcdf-fortran/Manifest
@@ -1,3 +1,3 @@
-DIST netcdf-fortran-4.2.tar.gz 2479928 BLAKE2B 4816bfb20d3d0ad0dd1ead756b5b5d296b9e44ba78b5a82880840d8004c56bec95d7407db216f59b14ca6ec41ec953470d8fba369cb499d1ecc46aad7d1d43dd SHA512 af5d489df7b3ff5c3208115af4abdbf12d74d6bc0b9e3c729cfd24b55efafc3766de21c0f9957e037c25726637e9129a1f7009676e81d7e59650fec56d6e776e
-DIST netcdf-fortran-4.4.2.tar.gz 1246344 BLAKE2B 9d0fffde97b39df0de795ba046fb3c02d75656829fefd162e27b7464b0655d75e9b91fec305f1ee7615680c0e7651f0623c836766238b46359ecd269a2e23124 SHA512 c3f025c0f5a08a0141fa09f570c647fc63992f9fd707969b37c7b0590c3578172200e45ecee497ed054129366fd1c73e3cd069aba879015b13a143e77a181c0f
-DIST netcdf-fortran-4.4.3.tar.gz 1286951 BLAKE2B 6e68505359328bac4155065419cb9c2fb2df0de875210c0eb9a4e63312b2ec272d63ecfa73b5dcebe7cf75b58a184d1a0ccb2c06c45869d3f4573590d610d9e0 SHA512 94f51b4be889d6a9d6a86e3fcb2639ac58288969160d0f334ed6965e3c9cbacff7289b1fc54ed06e6ec8b845b19f5c409fbdcab432c8edf5c96efde887920924
+DIST netcdf-fortran-4.5.4.tar.gz 2011867 BLAKE2B bc98522be63c705193a22ce877c41abdc064a05afab2186891d8a0bbe9da8f0ba3f7eae6610e8b4e006b26ad8e3ea5fd8d57349054949a38f3a2fd9dfefb85c5 SHA512 a704f6483f2c8b8bf2353615a3e4b784294bd790588cfc13193c617e776e330edb17fa16da69e1a0b6c767308992321e01399ba2067c32f6ae6b3cb9ff72c3ee
+DIST netcdf-fortran-4.5.4.upstream.tar.gz 1085665 BLAKE2B 616fba5a8dfa69c4a48df72222cbc2adf24dadcbda01d95e97b64a23a76038dd75988b481eb3d73e6ae5d20c011c5dc23cf2e0f3a3ae020a12742fe93644de2c SHA512 a03a9a57476983096cdc610405869696c6c0345039da9f386e345932bf439f49aa012501d31f4ab0100688211a3abfc7487a8413cf9a0b3907dc1f8ee50d8000
+DIST netcdf-fortran-4.6.1.tar.gz 1112270 BLAKE2B 88c7550a1426fb82068dec3183d14ac0aa85eb4657cffaca7f141bfa2caa0e48ef1f395a504f06fca29ffb511b20182d6d0d71ab951b93f985a580352da3fe52 SHA512 4fb8ed0581df9157733f1331de60dc4e06274320a942db97dbc9020653ed4677bf26e84e5968ee6e5f8fc179e2db02898f339820e5b257ce8a94a5bcdc670587
diff --git a/sci-libs/netcdf-fortran/metadata.xml b/sci-libs/netcdf-fortran/metadata.xml
index 907e9aef735b..4e7a4a8023f1 100644
--- a/sci-libs/netcdf-fortran/metadata.xml
+++ b/sci-libs/netcdf-fortran/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild b/sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild
deleted file mode 100644
index a722ccdc91f6..000000000000
--- a/sci-libs/netcdf-fortran/netcdf-fortran-4.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://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-fortran/netcdf-fortran-4.4.2.ebuild b/sci-libs/netcdf-fortran/netcdf-fortran-4.4.2.ebuild
deleted file mode 100644
index a7ba9edabdff..000000000000
--- a/sci-libs/netcdf-fortran/netcdf-fortran-4.4.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://www.unidata.ucar.edu/software/netcdf/"
-SRC_URI="https://github.com/Unidata/netcdf-fortran/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="UCAR-Unidata"
-SLOT="0/6"
-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 libsrc/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-fortran/netcdf-fortran-4.4.3.ebuild b/sci-libs/netcdf-fortran/netcdf-fortran-4.4.3.ebuild
deleted file mode 100644
index b4fd58838d7b..000000000000
--- a/sci-libs/netcdf-fortran/netcdf-fortran-4.4.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_STANDARD="77 90"
-
-inherit autotools eutils fortran-2 ltprune
-
-DESCRIPTION="Scientific library and interface for array oriented data access"
-HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
-SRC_URI="https://github.com/Unidata/netcdf-fortran/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="UCAR-Unidata"
-SLOT="0/6"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="examples static-libs"
-
-RDEPEND="sci-libs/netcdf"
-DEPEND="${RDEPEND}
- dev-lang/cfortran
-"
-
-src_prepare() {
- # use system cfortran
- rm libsrc/cfortran.h || die
-
- default
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use examples && dodoc -r examples
- prune_libtool_files
-}
diff --git a/sci-libs/netcdf-fortran/netcdf-fortran-4.5.4-r1.ebuild b/sci-libs/netcdf-fortran/netcdf-fortran-4.5.4-r1.ebuild
new file mode 100644
index 000000000000..011dff676f10
--- /dev/null
+++ b/sci-libs/netcdf-fortran/netcdf-fortran-4.5.4-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD="77 90"
+
+inherit flag-o-matic fortran-2
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
+# TODO: drop .upstream suffix on next bump
+SRC_URI="https://downloads.unidata.ucar.edu/netcdf-fortran/${PV}/${P}.tar.gz -> ${P}.upstream.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/7"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+RDEPEND="sci-libs/netcdf"
+DEPEND="
+ ${RDEPEND}
+ dev-lang/cfortran
+"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/927588
+ # https://github.com/Unidata/netcdf-fortran/issues/437
+ filter-lto
+
+ econf \
+ --disable-valgrind \
+ --with-temp-large="${T}" \
+ --disable-dot \
+ $(use_enable doc doxygen) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use examples && dodoc -r examples
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/netcdf-fortran/netcdf-fortran-4.5.4.ebuild b/sci-libs/netcdf-fortran/netcdf-fortran-4.5.4.ebuild
new file mode 100644
index 000000000000..fc08cfb95414
--- /dev/null
+++ b/sci-libs/netcdf-fortran/netcdf-fortran-4.5.4.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD="77 90"
+
+inherit autotools flag-o-matic fortran-2
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://github.com/Unidata/netcdf-fortran/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/7"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+RDEPEND="sci-libs/netcdf"
+DEPEND="${RDEPEND}
+ dev-lang/cfortran"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/927588
+ # https://github.com/Unidata/netcdf-fortran/issues/437
+ filter-lto
+
+ econf \
+ --disable-valgrind \
+ --with-temp-large="${T}" \
+ --disable-dot \
+ $(use_enable doc doxygen) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use examples && dodoc -r examples
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/netcdf-fortran/netcdf-fortran-4.6.1.ebuild b/sci-libs/netcdf-fortran/netcdf-fortran-4.6.1.ebuild
new file mode 100644
index 000000000000..9b44a0997205
--- /dev/null
+++ b/sci-libs/netcdf-fortran/netcdf-fortran-4.6.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD="77 90"
+
+inherit cmake flag-o-matic fortran-2
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://downloads.unidata.ucar.edu/netcdf-fortran/${PV}/${P}.tar.gz"
+
+LICENSE="UCAR-Unidata"
+SLOT="0/7"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sci-libs/netcdf"
+DEPEND="
+ ${RDEPEND}
+ dev-lang/cfortran
+"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/927588
+ # https://github.com/Unidata/netcdf-fortran/issues/437
+ filter-lto
+
+ local mycmakeargs=(
+ -DDISABLE_ZSTANDARD_PLUGIN=$(usex !zstd)
+ -DBUILD_EXAMPLES=$(usex examples)
+ -DENABLE_DOXYGEN=$(usex doc)
+ -DENABLE_PARALLEL_TESTS=$(usex test)
+ -DENABLE_TESTS=$(usex test)
+
+ # "Take lots of time and disk." per CMakeLists.txt
+ #-DLARGE_FILE_TESTS="${T}"
+
+ -DTEST_WITH_VALGRIND=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/netcdf/Manifest b/sci-libs/netcdf/Manifest
index 5271389b4f2f..bae5000b682d 100644
--- a/sci-libs/netcdf/Manifest
+++ b/sci-libs/netcdf/Manifest
@@ -1,2 +1 @@
-DIST netcdf-4.3.2.tar.gz 5013938 BLAKE2B 7acef16284bf8586750bdeb03da3e2e2a1c543b80423269eb2542d179e1b52dd51e30584a13f604e75c295ae9ff993c814183fbb5a78ad1141c62f8dbdda6525 SHA512 9cb9c761bf1e17a37601c37000fdc0bb654afcf111e5ac2fb7dcf037c6aa827e66beb29d5c661edc50ea3f84849f3dee387aab9e85ef81a9b6ca3f36e45debdd
-DIST netcdf-4.6.1.tar.gz 18201700 BLAKE2B 2dab9add736d0db3ad91fb1ccda63c200fe5a2c6e56e2dd5b76375f6535807c6f462623d1709235f03e0940b66a8c2d1c3fd896b042b8b0004c87f038852befb SHA512 e290b10e763f9f6ef56b5224f834834853de7c21347ef6a078a2e7d819757fc8069814431784d0a0387ba2ce1f01776556e3051f9465829da0ffd3849571cd61
+DIST netcdf-c-4.9.2.tar.gz 7142536 BLAKE2B b24135070d2f1f0b53fe738f8839039547eceba16d36905bb8cd7be983ce0c1127b7b01ae37dbde50087aa82fd56f00fab9bfa75c7d94fd4478031bb8a6da247 SHA512 7a96bcf673d5a9e1537d660aaf085a1dfaefc7dfb0fc96358462d92e7bbfe541184583681797e6a54d11b8588504b7d8a9b0b9bd850eecd02ed73aa2eb5ffa0d
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
deleted file mode 100644
index 783a5b06e991..000000000000
--- a/sci-libs/netcdf/files/netcdf-4.3.2-HDF5-1.8.13+-compat.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-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/files/netcdf-4.7.4-big-endian-test.patch b/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-test.patch
new file mode 100644
index 000000000000..cdc39a6a7729
--- /dev/null
+++ b/sci-libs/netcdf/files/netcdf-4.7.4-big-endian-test.patch
@@ -0,0 +1,16 @@
+Fixes ncdump_tst_netcdf4 test failure on big endian.
+https://github.com/Unidata/netcdf-c/issues/1896
+diff --git a/ncdump/tst_special_atts.c b/ncdump/tst_special_atts.c
+index 9655b86..e71cb7e 100644
+--- a/ncdump/tst_special_atts.c
++++ b/ncdump/tst_special_atts.c
+@@ -145,6 +145,10 @@ main(int argc, char **argv)
+ /* Set _Storage as compact */
+ if (nc_def_var_chunking(ncid, var6id, NC_COMPACT, NULL)) ERR;
+ if (nc_def_var_chunking(ncid, var7id, NC_COMPACT, NULL)) ERR;
++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++ if (nc_def_var_endian(ncid, var6id, NC_ENDIAN_LITTLE)) ERR;
++ if (nc_def_var_endian(ncid, var7id, NC_ENDIAN_LITTLE)) ERR;
++#endif
+
+ if (nc_enddef(ncid)) ERR;
diff --git a/sci-libs/netcdf/metadata.xml b/sci-libs/netcdf/metadata.xml
index f2b51139d22c..dec0009bbcb4 100644
--- a/sci-libs/netcdf/metadata.xml
+++ b/sci-libs/netcdf/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -14,9 +14,9 @@
access, and sharing of scientific data.
</longdescription>
<use>
+ <flag name="blosc">Allow using blosc compression via <pkg>dev-libs/c-blosc</pkg></flag>
<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>
+ <flag name="hdf">Build with HDF4 read capability(<pkg>sci-libs/hdf</pkg>, <pkg>sci-libs/hdf5</pkg> and <pkg>sys-libs/zlib</pkg> required).</flag>
</use>
<upstream>
<remote-id type="github">Unidata/netcdf-c</remote-id>
diff --git a/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild b/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild
deleted file mode 100644
index e880b9a4ebf8..000000000000
--- a/sci-libs/netcdf/netcdf-4.3.2-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils
-
-DESCRIPTION="Scientific library and interface for array oriented data access"
-HOMEPAGE="https://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 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+dap examples hdf +hdf5 mpi static-libs szip test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dap? ( net-misc/curl:0= )
- hdf? ( sci-libs/hdf:0= sci-libs/hdf5:0= )
- hdf5? ( sci-libs/hdf5:0=[hl(+),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/netcdf/netcdf-4.6.1-r1.ebuild b/sci-libs/netcdf/netcdf-4.6.1-r1.ebuild
deleted file mode 100644
index d7770061f7a7..000000000000
--- a/sci-libs/netcdf/netcdf-4.6.1-r1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-
-DESCRIPTION="Scientific library and interface for array oriented data access"
-HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
-SRC_URI="https://github.com/Unidata/netcdf-c/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="UCAR-Unidata"
-SLOT="0/13"
-KEYWORDS="amd64 ~arm ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+dap examples hdf +hdf5 mpi static-libs szip test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dap? ( net-misc/curl:0= )
- hdf? ( sci-libs/hdf:0= sci-libs/hdf5:0= )
- hdf5? ( sci-libs/hdf5:0=[hl(+),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 )"
-
-S="${WORKDIR}/${PN}-c-${PV}"
-
-src_configure() {
- local myconf
- if use mpi; then
- export CC=mpicc
- fi
- econf "${myconf}" \
- --disable-examples \
- --disable-dap-remote-tests \
- $(use_enable dap) \
- $(use_enable hdf hdf4) \
- $(use_enable hdf5 netcdf-4) \
- $(use_enable static-libs static) \
- $(use_enable tools utilities)
-}
-
-src_test() {
- # fails parallel tests: bug #621486
- emake check -j1
-}
-
-src_install() {
- default
- use examples && dodoc -r examples
- prune_libtool_files
-}
diff --git a/sci-libs/netcdf/netcdf-4.6.1.ebuild b/sci-libs/netcdf/netcdf-4.6.1.ebuild
deleted file mode 100644
index ed2f91c0b4a4..000000000000
--- a/sci-libs/netcdf/netcdf-4.6.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils ltprune
-
-DESCRIPTION="Scientific library and interface for array oriented data access"
-HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
-SRC_URI="https://github.com/Unidata/netcdf-c/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="UCAR-Unidata"
-SLOT="0/11"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+dap examples hdf +hdf5 mpi static-libs szip test tools"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dap? ( net-misc/curl:0= )
- hdf? ( sci-libs/hdf:0= sci-libs/hdf5:0= )
- hdf5? ( sci-libs/hdf5:0=[hl(+),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 )"
-
-S="${WORKDIR}/${PN}-c-${PV}"
-
-src_configure() {
- local myconf
- if use mpi; then
- export CC=mpicc
- fi
- econf "${myconf}" \
- --disable-examples \
- --disable-dap-remote-tests \
- $(use_enable dap) \
- $(use_enable hdf hdf4) \
- $(use_enable hdf5 netcdf-4) \
- $(use_enable static-libs static) \
- $(use_enable tools utilities)
-}
-
-src_test() {
- # fails parallel tests: bug #621486
- emake check -j1
-}
-
-src_install() {
- default
- use examples && dodoc -r examples
- prune_libtool_files
-}
diff --git a/sci-libs/netcdf/netcdf-4.9.2-r1.ebuild b/sci-libs/netcdf/netcdf-4.9.2-r1.ebuild
new file mode 100644
index 000000000000..458001188497
--- /dev/null
+++ b/sci-libs/netcdf/netcdf-4.9.2-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://downloads.unidata.ucar.edu/netcdf-c/${PV}/${PN}-c-${PV}.tar.gz"
+S="${WORKDIR}"/${PN}-c-${PV}
+
+LICENSE="UCAR-Unidata"
+# SONAME of libnetcdf.so
+SLOT="0/19"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 -riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="blosc bzip2 +dap doc examples hdf +hdf5 mpi szip test zstd"
+RESTRICT="!test? ( test )"
+
+# NOTE OPTION(ENABLE_HDF4 "Build netCDF-4 with HDF4 read capability(HDF4, HDF5 and Zlib required)." OFF)
+RDEPEND="
+ dev-libs/libxml2:=
+ sys-libs/zlib:=
+ blosc? ( dev-libs/c-blosc:= )
+ bzip2? ( app-arch/bzip2:= )
+ dap? ( net-misc/curl:= )
+ hdf? (
+ media-libs/libjpeg-turbo:=
+ sci-libs/hdf:=
+ sci-libs/hdf5:=
+ )
+ hdf5? ( sci-libs/hdf5:=[hl(+),mpi=,szip=,zlib] )
+ zstd? ( app-arch/zstd:= )
+"
+
+# deflate blosc zstd bz2
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+"
+
+REQUIRED_USE="
+ szip? ( hdf5 )
+ mpi? ( hdf5 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.7.4-big-endian-test.patch
+)
+
+src_configure() {
+ use mpi && export CC=mpicc
+
+ local mycmakeargs=(
+ -DCMAKE_POLICY_DEFAULT_CMP0153="OLD" # exec_program
+
+ -DENABLE_DAP_REMOTE_TESTS=OFF
+ #-DENABLE_HDF4_FILE_TESTS=OFF
+ -DENABLE_LIBXML2=ON
+
+ -DBUILD_SHARED_LIBS="yes"
+ -DBUILD_TESTING="$(usex test)"
+ -DBUILD_UTILITIES="yes"
+
+ -DENABLE_DAP="$(usex dap)"
+ -DENABLE_DAP2="$(usex dap)"
+ -DENABLE_DAP4="$(usex dap)"
+
+ -DENABLE_DOXYGEN="$(usex doc)"
+ -DENABLE_EXAMPLES="$(usex examples)"
+ -DENABLE_HDF4="$(usex hdf)"
+ -DENABLE_NETCDF_4="$(usex hdf5)"
+ -DENABLE_TESTS="$(usex test)"
+
+ -DENABLE_NCZARR="yes"
+ # NOTE set these via MYCMAKEARGS if need be
+ # -DENABLE_NCZARR_FILTERS="yes"
+ # -DENABLE_NCZARR_FILTER_TESTING="yes"
+ # -DENABLE_NCZARR_ZIP="yes"
+
+ -DCMAKE_DISABLE_FIND_PACKAGE_Blosc="$(usex !blosc)"
+ -DCMAKE_DISABLE_FIND_PACKAGE_Bz2="$(usex !bzip2)"
+ -DCMAKE_DISABLE_FIND_PACKAGE_Szip="$(usex !szip)"
+ -DCMAKE_DISABLE_FIND_PACKAGE_Zstd="$(usex !zstd)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ [[ -f "${BUILD_DIR}/nc_test4/run_par_test.sh" ]] && \
+ sed -e 's/mpiexec/mpiexec --use-hwthread-cpus/g' -i "${BUILD_DIR}/nc_test4/run_par_test.sh" || die
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ # bug #827188
+ sed -i -re "s:${EPREFIX}/usr/$(get_libdir)/lib(dl|m).(so|a);:\1;:g" "${ED}/usr/$(get_libdir)/cmake/netCDF/netCDFTargets.cmake" || die
+}
diff --git a/sci-libs/netcdf/netcdf-4.9.2.ebuild b/sci-libs/netcdf/netcdf-4.9.2.ebuild
new file mode 100644
index 000000000000..c07bfa2a6298
--- /dev/null
+++ b/sci-libs/netcdf/netcdf-4.9.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Scientific library and interface for array oriented data access"
+HOMEPAGE="https://www.unidata.ucar.edu/software/netcdf/"
+SRC_URI="https://downloads.unidata.ucar.edu/netcdf-c/${PV}/${PN}-c-${PV}.tar.gz"
+S="${WORKDIR}"/${PN}-c-${PV}
+
+LICENSE="UCAR-Unidata"
+# SONAME of libnetcdf.so
+SLOT="0/19"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ppc64 -riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="+dap doc examples hdf +hdf5 mpi szip test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libxml2
+ dap? ( net-misc/curl:= )
+ hdf? (
+ media-libs/libjpeg-turbo:=
+ sci-libs/hdf:=
+ sci-libs/hdf5:=
+ )
+ hdf5? ( sci-libs/hdf5:=[hl(+),mpi=,szip=,zlib] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+"
+
+REQUIRED_USE="
+ szip? ( hdf5 )
+ mpi? ( hdf5 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.7.4-big-endian-test.patch
+)
+
+src_configure() {
+ use mpi && export CC=mpicc
+
+ local mycmakeargs=(
+ -DENABLE_DAP_REMOTE_TESTS=OFF
+ #-DENABLE_HDF4_FILE_TESTS=OFF
+ -DENABLE_LIBXML2=ON
+ -DBUILD_UTILITIES=ON
+ -DENABLE_DAP=$(usex dap)
+ -DENABLE_DOXYGEN=$(usex doc)
+ -DENABLE_EXAMPLES=$(usex examples)
+ -DENABLE_HDF4=$(usex hdf)
+ -DENABLE_NETCDF_4=$(usex hdf5)
+ -DENABLE_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Still needs -j1 as of 4.9.2, see bug #621486 (fixes in 4.9.1 weren't enough)
+ cmake_src_test -j1
+}
+
+src_install() {
+ cmake_src_install
+
+ # bug #827188
+ sed -i -e "s:${EPREFIX}/usr/$(get_libdir)/libdl.so;:dl;:" "${ED}/usr/$(get_libdir)/cmake/netCDF/netCDFTargets.cmake" || die
+}
diff --git a/sci-libs/nfft/Manifest b/sci-libs/nfft/Manifest
index d431745d3883..da7de6adcaee 100644
--- a/sci-libs/nfft/Manifest
+++ b/sci-libs/nfft/Manifest
@@ -1 +1 @@
-DIST nfft-3.3.2.tar.gz 2821259 BLAKE2B b0029ecb0027a18de84f1a4db058101a26038547642c524125dec66bc6dc1da19873314ff6e4f483c401d39ee7c999cb9225de456be0928d55bca9fb1c1f6e69 SHA512 66bcd2439c9ba27063aa1db01c526a580c5c67938e2db332068ce20035ede1d8766e8f134a0e5dac5263aca14121573ca4f5a906b452c43f218636f5f6161c02
+DIST nfft-3.5.2.tar.gz 5377870 BLAKE2B 5a9b79fd2db781f163f3e694e25096f9abfac67ae9e2f0614444e99160ac6ce150356b72130ba44f82c541120f8876723a06e989a5c125e1da1b85976b7ff500 SHA512 e5437b358f22807de2251527025accf326d77322e029cfc3df6ee733ccca4d020cbd3c045773735de0641618c71e5cc9b8f4df53becea3b7a7e27750f21fa64e
diff --git a/sci-libs/nfft/metadata.xml b/sci-libs/nfft/metadata.xml
index b759151e3dc4..e113b5eceba2 100644
--- a/sci-libs/nfft/metadata.xml
+++ b/sci-libs/nfft/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
diff --git a/sci-libs/nfft/nfft-3.3.2.ebuild b/sci-libs/nfft/nfft-3.3.2.ebuild
deleted file mode 100644
index 37901af7444f..000000000000
--- a/sci-libs/nfft/nfft-3.3.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="library for nonequispaced discrete Fourier transformations"
-HOMEPAGE="https://www-user.tu-chemnitz.de/~potts/nfft/"
-SRC_URI="https://github.com/NFFT/nfft/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc openmp static-libs"
-
-RDEPEND="sci-libs/fftw:3.0[threads,openmp?]"
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- if ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected compiler"
-
- if tc-is-clang; then
- ewarn "OpenMP support in sys-devel/clang is provided by sys-libs/libomp,"
- ewarn "which you will need to build ${CATEGORY}/${PN} with USE=\"openmp\""
- fi
-
- die "need openmp capable compiler"
- fi
- fi
-}
-
-src_configure() {
- econf \
- --enable-all \
- --enable-shared \
- $(use_enable openmp) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use doc || rm -r "${ED}/usr/share/doc/${P}/html" || die
-
- # infft uses pkg-config to record its private dependencies
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/nfft/nfft-3.5.2.ebuild b/sci-libs/nfft/nfft-3.5.2.ebuild
new file mode 100644
index 000000000000..066540701d6c
--- /dev/null
+++ b/sci-libs/nfft/nfft-3.5.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="library for nonequispaced discrete Fourier transformations"
+HOMEPAGE="https://www-user.tu-chemnitz.de/~potts/nfft/"
+SRC_URI="https://github.com/NFFT/nfft/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc openmp"
+
+RDEPEND="sci-libs/fftw:3.0[threads,openmp?]"
+DEPEND="${RDEPEND}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ econf \
+ --enable-all \
+ --enable-shared \
+ --disable-static \
+ $(use_enable openmp)
+}
+
+src_install() {
+ default
+
+ if ! use doc; then
+ rm -r "${ED}"/usr/share/doc/${P}/html || die
+ fi
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/nlopt/Manifest b/sci-libs/nlopt/Manifest
index a4d07e389b10..91292448e091 100644
--- a/sci-libs/nlopt/Manifest
+++ b/sci-libs/nlopt/Manifest
@@ -1 +1 @@
-DIST nlopt-2.6.2.tar.gz 2040229 BLAKE2B f1f4124de574600ddbef8a885bbdd3a4f57b469b2f958ce94bbc831cf9bfa8a845e438fccfe4ab219a73a5675b8d880f6d49e0e7cbe9d0966777b0d2344521d4 SHA512 61e5c01140a57c0ad2a0acd82ad50dce1b5679dc281e55cbbc332e876b19a689013100617545a42b721d8c487df37d6ccd67859171243433fe29468f259b556b
+DIST nlopt-2.7.1.tar.gz 2044180 BLAKE2B 6d459f94a26ee6dd7f72c73c48992bd047150aa525bc4ad088c8516127afc5c7843f6fbb6726c2f845271b87934c13e0892a063362ab50df51f92e81979111fb SHA512 e23cb522fc696010574c14b72be85acc0f8ccf0bf208bf2b8789c57d6c5a6e6d419ee10330581518b1c1567018ae909b626ce7761d4fbd5bf112916871e420e2
diff --git a/sci-libs/nlopt/metadata.xml b/sci-libs/nlopt/metadata.xml
index 35f045929ff6..17976ba280dd 100644
--- a/sci-libs/nlopt/metadata.xml
+++ b/sci-libs/nlopt/metadata.xml
@@ -1,23 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<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>
+ 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>
+ <upstream>
+ <remote-id type="github">stevengj/nlopt</remote-id>
+ </upstream>
<use>
<flag name="octave">Add plugin for <pkg>sci-mathematics/octave</pkg></flag>
</use>
diff --git a/sci-libs/nlopt/nlopt-2.6.2-r1.ebuild b/sci-libs/nlopt/nlopt-2.6.2-r1.ebuild
deleted file mode 100644
index 6fa9dea93bbe..000000000000
--- a/sci-libs/nlopt/nlopt-2.6.2-r1.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit python-r1 cmake fortran-2
-
-DESCRIPTION="Non-linear optimization library"
-HOMEPAGE="https://ab-initio.mit.edu/nlopt/"
-SRC_URI="https://github.com/stevengj/nlopt/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1 MIT"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-SLOT="0"
-IUSE="cxx guile octave python static-libs test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- guile? ( dev-scheme/guile:* )
- octave? ( sci-mathematics/octave )
- python? (
- ${PYTHON_DEPS}
- dev-python/numpy[${PYTHON_USEDEP}]
- )
- "
-DEPEND="
- ${RDEPEND}
- python? ( dev-lang/swig )
- "
-
-src_prepare() {
- cmake_src_prepare
- use python && python_copy_sources
-}
-
-src_configure() {
- local mycmakeargs=(
- -DNLOPT_CXX=$(usex cxx)
- -DNLOPT_FORTRAN=$(usex test)
- -DNLOPT_GUILE=$(usex guile)
- -DNLOPT_OCTAVE=$(usex octave)
- -DNLOPT_PYTHON=$(usex python)
- -DNLOPT_SWIG=$(usex python)
- -DNLOPT_TESTS=$(usex test)
- )
- if use python; then
- python_foreach_impl run_in_build_dir cmake_src_configure
- else
- cmake_src_configure
- fi
- if use static-libs; then
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=OFF
- )
- BUILD_DIR="${S}_static-libs" run_in_build_dir cmake_src_configure
- fi
-}
-
-src_compile() {
- if use python; then
- python_foreach_impl run_in_build_dir cmake_src_compile
- else
- cmake_src_compile
- fi
- if use static-libs; then
- BUILD_DIR="${S}_static-libs" run_in_build_dir cmake_src_compile
- fi
-}
-
-src_test() {
- do_test() {
- local a f
- cd "${BUILD_DIR}"/test
- for a in {1..$(usex cxx 9 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
- if use static-libs; then
- BUILD_DIR="${S}_static-libs" run_in_build_dir do_test
- fi
-}
-
-nlopt_install() {
- cmake_src_install
- python_optimize
-}
-
-src_install() {
- if use python; then
- python_foreach_impl run_in_build_dir nlopt_install
- else
- cmake_src_install
- fi
- if use static-libs; then
- BUILD_DIR="${S}_static-libs" run_in_build_dir dolib.a libnlopt.a
- fi
- local r
- for r in */README; do newdoc ${r} README.$(dirname ${r}); done
-}
diff --git a/sci-libs/nlopt/nlopt-2.7.1-r1.ebuild b/sci-libs/nlopt/nlopt-2.7.1-r1.ebuild
new file mode 100644
index 000000000000..926fa896d4f4
--- /dev/null
+++ b/sci-libs/nlopt/nlopt-2.7.1-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+FORTRAN_NEEDED="test"
+
+inherit python-r1 cmake fortran-2
+
+DESCRIPTION="Non-linear optimization library"
+HOMEPAGE="https://github.com/stevengj/nlopt"
+SRC_URI="https://github.com/stevengj/nlopt/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="cxx guile octave python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ guile? ( dev-scheme/guile:* )
+ octave? ( >=sci-mathematics/octave-6 )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="python? ( dev-lang/swig )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ use python && python_copy_sources
+}
+
+src_configure() {
+ # MATLAB detection causes problems (as in bug 826774) if we don't
+ # explicitly disable it.
+ local mycmakeargs=(
+ -DNLOPT_CXX=$(usex cxx)
+ -DNLOPT_FORTRAN=$(usex test)
+ -DNLOPT_GUILE=$(usex guile)
+ -DNLOPT_OCTAVE=$(usex octave)
+ -DNLOPT_MATLAB=OFF
+ -DNLOPT_PYTHON=OFF
+ -DNLOPT_SWIG=$(usex python)
+ -DNLOPT_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+
+ if use python; then
+ python_configure() {
+ local mycmakeargs=(
+ ${mycmakeargs[@]}
+ -DNLOPT_PYTHON=ON
+ -DINSTALL_PYTHON_DIR="$(python_get_sitedir)"
+ )
+
+ cmake_src_configure
+ }
+
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use python; then
+ python_foreach_impl run_in_build_dir cmake_src_compile
+ fi
+}
+
+src_test() {
+ do_test() {
+ local a f
+ cd "${BUILD_DIR}"/test
+ for a in {1..$(usex cxx 9 7)}; do
+ for f in {5..9}; do
+ ./testopt -a $a -o $f || die "algorithm $a function $f failed"
+ done
+ done
+ }
+
+ do_test
+
+ if use python; then
+ python_foreach_impl run_in_build_dir do_test
+ fi
+}
+
+nlopt_install() {
+ cmake_src_install
+ python_optimize
+}
+
+src_install() {
+ cmake_src_install
+
+ if use python; then
+ python_foreach_impl run_in_build_dir nlopt_install
+ fi
+
+ local r
+ for r in */README; do
+ newdoc ${r} README.$(dirname ${r})
+ done
+}
diff --git a/sci-libs/nlopt/nlopt-2.7.1-r2.ebuild b/sci-libs/nlopt/nlopt-2.7.1-r2.ebuild
new file mode 100644
index 000000000000..bd1b810d4ad8
--- /dev/null
+++ b/sci-libs/nlopt/nlopt-2.7.1-r2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+FORTRAN_NEEDED="test"
+
+inherit python-r1 cmake fortran-2
+
+DESCRIPTION="Non-linear optimization library"
+HOMEPAGE="https://github.com/stevengj/nlopt"
+SRC_URI="https://github.com/stevengj/nlopt/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MIT"
+KEYWORDS="amd64 ~arm64 ~ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="cxx guile octave python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ guile? ( dev-scheme/guile:* )
+ octave? ( >=sci-mathematics/octave-6:= )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="python? ( dev-lang/swig )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ use python && python_copy_sources
+}
+
+src_configure() {
+ # MATLAB detection causes problems (as in bug 826774) if we don't
+ # explicitly disable it.
+ local mycmakeargs=(
+ -DNLOPT_CXX=$(usex cxx)
+ -DNLOPT_FORTRAN=$(usex test)
+ -DNLOPT_GUILE=$(usex guile)
+ -DNLOPT_OCTAVE=$(usex octave)
+ -DNLOPT_MATLAB=OFF
+ -DNLOPT_PYTHON=OFF
+ -DNLOPT_SWIG=$(usex python)
+ -DNLOPT_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+
+ if use python; then
+ python_configure() {
+ local mycmakeargs=(
+ ${mycmakeargs[@]}
+ -DNLOPT_PYTHON=ON
+ -DINSTALL_PYTHON_DIR="$(python_get_sitedir)"
+ )
+
+ cmake_src_configure
+ }
+
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use python; then
+ python_foreach_impl run_in_build_dir cmake_src_compile
+ fi
+}
+
+src_test() {
+ do_test() {
+ local a f
+ cd "${BUILD_DIR}"/test
+ for a in {1..$(usex cxx 9 7)}; do
+ for f in {5..9}; do
+ ./testopt -a $a -o $f || die "algorithm $a function $f failed"
+ done
+ done
+ }
+
+ do_test
+
+ if use python; then
+ python_foreach_impl run_in_build_dir do_test
+ fi
+}
+
+nlopt_install() {
+ cmake_src_install
+ python_optimize
+}
+
+src_install() {
+ cmake_src_install
+
+ if use python; then
+ python_foreach_impl run_in_build_dir nlopt_install
+ fi
+
+ local r
+ for r in */README; do
+ newdoc ${r} README.$(dirname ${r})
+ done
+}
diff --git a/sci-libs/numkit/Manifest b/sci-libs/numkit/Manifest
index b11a25b009e3..2dee1a62be07 100644
--- a/sci-libs/numkit/Manifest
+++ b/sci-libs/numkit/Manifest
@@ -1 +1,2 @@
DIST numkit-1.1.2.tar.gz 243442 BLAKE2B e5d1e4d85b7646acf47a1e332cbb08f849272ada30bcd65fc5995cd000683f802eb882603e4e7043b159d30ca73395988b83c1fc16d6303ea32731bfdea12db5 SHA512 694a56f64282bbbffed975eabeb2716ac924fbf47f5fb62934ba3b57e6415e5f4b079345fd4eee670990fbf7abe1f945b98472aba034d8c7ff259676da58c034
+DIST numkit-1.2.3.tar.gz 150900 BLAKE2B b729917dd0f1df2710c1eec9f4b6c34495fdb0c6f93271a1fc515fd9111848e80820ea385d96603c5b124cfc65b6d3a9912f13936fca218fe6b32cbee69832b8 SHA512 96317196477a4398432205be5b2eab5263e1f60213ff8b6e99e5a1e44ed1cbec2a535cb3b0c56fc7bb24aada59ad120a3befb802868854e9d15eced2f23d6659
diff --git a/sci-libs/numkit/metadata.xml b/sci-libs/numkit/metadata.xml
index f38dc92dab52..a882eb598c66 100644
--- a/sci-libs/numkit/metadata.xml
+++ b/sci-libs/numkit/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>alexxy@gentoo.org</email>
@@ -9,6 +9,7 @@
<email>sci-chemistry@gentoo.org</email>
<name>Gentoo Chemistry Project</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">Becksteinlab/numkit</remote-id>
</upstream>
diff --git a/sci-libs/numkit/numkit-1.1.2-r1.ebuild b/sci-libs/numkit/numkit-1.1.2-r1.ebuild
new file mode 100644
index 000000000000..9197aac551b6
--- /dev/null
+++ b/sci-libs/numkit/numkit-1.1.2-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..10} )
+inherit distutils-r1
+
+DESCRIPTION="Numerical first aid kit (with numpy/scipy)"
+HOMEPAGE="https://numkit.readthedocs.io"
+S="${WORKDIR}/${PN}-release-${PV}"
+SRC_URI="https://github.com/Becksteinlab/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.9[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.0[${PYTHON_USEDEP}]"
+RDEPEND="${BDEPEND}"
diff --git a/sci-libs/numkit/numkit-1.1.2.ebuild b/sci-libs/numkit/numkit-1.1.2.ebuild
deleted file mode 100644
index 8fb64e296e68..000000000000
--- a/sci-libs/numkit/numkit-1.1.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-if [[ $PV = *9999* ]]; then
- scm_eclass=git-r3
- EGIT_REPO_URI="https://github.com/Becksteinlab/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- scm_eclass=vcs-snapshot
- SRC_URI="https://github.com/Becksteinlab/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-inherit eutils distutils-r1 ${scm_eclass}
-
-DESCRIPTION="Numerical first aid kit (with numpy/scipy)"
-HOMEPAGE="https://numkit.readthedocs.io"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE=""
-
-BDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.9[${PYTHON_USEDEP}]
- >=sci-libs/scipy-1.0[${PYTHON_USEDEP}]"
-RDEPEND="${DEPEND}"
diff --git a/sci-libs/numkit/numkit-1.2.3.ebuild b/sci-libs/numkit/numkit-1.2.3.ebuild
new file mode 100644
index 000000000000..84284156fb45
--- /dev/null
+++ b/sci-libs/numkit/numkit-1.2.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1
+
+DESCRIPTION="Numerical first aid kit (with numpy/scipy)"
+HOMEPAGE="https://numkit.readthedocs.io"
+SRC_URI="https://github.com/Becksteinlab/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-release-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.9[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="${BDEPEND}"
+
+distutils_enable_tests pytest
diff --git a/sci-libs/o2scl/metadata.xml b/sci-libs/o2scl/metadata.xml
index 12a668d82eb1..bfbde3f72f12 100644
--- a/sci-libs/o2scl/metadata.xml
+++ b/sci-libs/o2scl/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/o2scl/o2scl-0.920.ebuild b/sci-libs/o2scl/o2scl-0.920.ebuild
index 44c7333a984d..b82c2a9bcc19 100644
--- a/sci-libs/o2scl/o2scl-0.920.ebuild
+++ b/sci-libs/o2scl/o2scl-0.920.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit flag-o-matic ltprune toolchain-funcs
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="Object-oriented Scientific Computing Library"
HOMEPAGE="https://web.utk.edu/~asteine1/o2scl/"
@@ -15,7 +15,7 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="armadillo debug doc examples eigen fftw gsl hdf5 openmp readline static-libs"
RDEPEND="
- dev-libs/boost:0=
+ dev-libs/boost:=
>=sci-libs/gsl-2:0=
virtual/cblas:=
eigen? ( dev-cpp/eigen:3 )
@@ -55,7 +55,11 @@ src_configure() {
src_install() {
default
- use static-libs || prune_libtool_files
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
rm -r "${ED}"/usr/doc || die
if use doc; then
dodoc -r doc/o2scl/html
diff --git a/sci-libs/oc/metadata.xml b/sci-libs/oc/metadata.xml
index 611da852fac7..0551933b820d 100644
--- a/sci-libs/oc/metadata.xml
+++ b/sci-libs/oc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/oc/oc-2.0-r1.ebuild b/sci-libs/oc/oc-2.0-r1.ebuild
new file mode 100644
index 000000000000..7928f0b41d15
--- /dev/null
+++ b/sci-libs/oc/oc-2.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="Network Data Access Protocol client C library"
+HOMEPAGE="https://opendap.org/"
+SRC_URI="https://opendap.org/pub/OC/source/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+# tests need network
+RESTRICT="test"
+
+RDEPEND="net-misc/curl"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/862906
+ #
+ # Upstream exists, they just don't seem to mention oc anymore, *anywhere*.
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ econf --disable-static
+}
+
+src_install() {
+ if use doc; then
+ dodoc docs/oc*html
+ HTML_DOCS=( docs/html/. )
+ fi
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/oc/oc-2.0.ebuild b/sci-libs/oc/oc-2.0.ebuild
deleted file mode 100644
index ee688999d5dd..000000000000
--- a/sci-libs/oc/oc-2.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Network Data Access Protocol client C library"
-HOMEPAGE="https://opendap.org/"
-SRC_URI="https://opendap.org/pub/OC/source/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc"
-# tests need network
-RESTRICT="test"
-
-RDEPEND="net-misc/curl"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- if use doc; then
- dodoc docs/oc*html
- HTML_DOCS=( docs/html/. )
- fi
- default
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/oce/Manifest b/sci-libs/oce/Manifest
deleted file mode 100644
index 07ffde282d29..000000000000
--- a/sci-libs/oce/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST OCE-0.18.3.tar.gz 24633768 BLAKE2B c1923fb6310ea30318251fedac371655a575bf4dfcc4c38e7c748d316416e08c33a3f27bd5db7f5b437265cf2f518651d69a6920f9f487dc7e0065a6406c653f SHA512 6fdeb6ca4ce25361379872ccc465799d4a43407974c4f626b32df695e582b9e553cce17af6a6a7ff46ebed9b813d910ad23eb308a5356dabb9b9bbd4f42a8636
diff --git a/sci-libs/oce/files/oce-0.18.3-test-fix.patch b/sci-libs/oce/files/oce-0.18.3-test-fix.patch
deleted file mode 100644
index bec55d9d36b4..000000000000
--- a/sci-libs/oce/files/oce-0.18.3-test-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/test/OCAFExport_test/CMakeLists.txt b/test/OCAFExport_test/CMakeLists.txt
-index f81798a3a4..8d9f6ad86c 100644
---- a/test/OCAFExport_test/CMakeLists.txt
-+++ b/test/OCAFExport_test/CMakeLists.txt
-@@ -5,6 +5,6 @@ if (OCE_OCAF AND NOT OCE_DISABLE_X11)
- file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../src/StdResource" BuildPluginDir)
- # Semi-colon is a delimiter in SET_TESTS_PROPERTIES and have to be escaped
- string(REPLACE ";" "\\;" BuildPluginDir "${BuildPluginDir}")
-- set_tests_properties(OCAFExportTestSuite.testExportAscii PROPERTIES ENVIRONMENT "CSF_PluginDefaults=${BuildPluginDir};CSF_StandardDefaults=${BuildPluginDir}")
-- set_tests_properties(OCAFExportTestSuite.testExportNonAscii PROPERTIES ENVIRONMENT "CSF_PluginDefaults=${BuildPluginDir};CSF_StandardDefaults=${BuildPluginDir}")
-+ set_tests_properties(OCAFExportTestSuite.testExportAscii PROPERTIES ENVIRONMENT "CSF_PluginDefaults=${BuildPluginDir};CSF_StandardDefaults=${BuildPluginDir};LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${LIBRARY_OUTPUT_PATH}")
-+ set_tests_properties(OCAFExportTestSuite.testExportNonAscii PROPERTIES ENVIRONMENT "CSF_PluginDefaults=${BuildPluginDir};CSF_StandardDefaults=${BuildPluginDir};LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${LIBRARY_OUTPUT_PATH}")
- endif ()
diff --git a/sci-libs/oce/metadata.xml b/sci-libs/oce/metadata.xml
deleted file mode 100644
index fe5bc3187c0e..000000000000
--- a/sci-libs/oce/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zoltan@sinustrom.info</email>
- <name>Zoltan Puskas</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- oce is a C++ 3D modeling library. It can be used to develop CAD/CAM
- softwares. oce stands for opencascade community edition. This project
- aims at gathering patches/ changes/ improvements from the OCC community.
- </longdescription>
-<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">Enable parallel meshing</flag>
- <flag name="vtk">Enable Virtualisation Toolkit</flag></use>
-</pkgmetadata>
diff --git a/sci-libs/oce/oce-0.18.3-r2.ebuild b/sci-libs/oce/oce-0.18.3-r2.ebuild
deleted file mode 100644
index 1ff4e66c4a60..000000000000
--- a/sci-libs/oce/oce-0.18.3-r2.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake check-reqs java-pkg-opt-2
-
-DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="https://github.com/tpaviot/oce"
-SRC_URI="https://github.com/tpaviot/oce/archive/OCE-$PV.tar.gz"
-
-LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples freeimage gl2ps +openmp tbb vtk"
-REQUIRED_USE="?? ( openmp tbb )"
-
-DEPEND="
- dev-lang/tcl:0=
- dev-lang/tk:0=
- dev-tcltk/itcl
- dev-tcltk/itk
- dev-tcltk/tix
- media-libs/ftgl
- media-libs/freetype
- virtual/glu
- virtual/opengl
- x11-libs/libXmu
- freeimage? ( media-libs/freeimage )
- gl2ps? ( x11-libs/gl2ps )
- tbb? ( dev-cpp/tbb )
- vtk? ( =sci-libs/vtk-8*[boost,imaging,qt5,python,rendering,views,xdmf2] )"
-RDEPEND="${DEPEND}"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-PATCHES=( "${FILESDIR}"/"${P}-test-fix.patch" )
-
-S="${WORKDIR}/oce-OCE-${PV}"
-
-pkg_setup() {
- check-reqs_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- # From BUILD.Unix.md
- local mycmakeargs=(
- -DOCE_INSTALL_PREFIX="/usr"
- -DOCE_ENABLE_DEB_FLAG=off
- -DOCE_COPY_HEADERS_BUILD=yes
- -DOCE_DRAW=yes
- -DOCE_WITH_FREEIMAGE=$(usex freeimage)
- -DOCE_WITH_GL2PS=$(usex gl2ps)
- -DOCE_WITH_VTK=$(usex vtk)
- )
- # Mutual exclusion of tbb and openmp flags is guaranteed by REQUIRED_USE.
- use tbb && mycmakeargs+=(
- -DOCE_MULTITHREAD_LIBRARY="TBB"
- )
- use openmp && mycmakeargs+=(
- -DOCE_MULTITHREAD_LIBRARY="OPENMP"
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # If user asked for samples let's copy them to the docs folder
- if use examples ; then
- dodoc -r samples
- fi
-}
diff --git a/sci-libs/octomap/Manifest b/sci-libs/octomap/Manifest
index 8b77e9933585..1b96b736d561 100644
--- a/sci-libs/octomap/Manifest
+++ b/sci-libs/octomap/Manifest
@@ -1,2 +1 @@
-DIST octomap-1.9.0.tar.gz 1682421 BLAKE2B a299b4a956d5f9b6a67b05548f2239ad1181a4a1e673e5868d56d6e2d8f0101b2c75b114d1b7995c244c138fe04c8972104c25ca2f4ca6f75639f7326f06d8d7 SHA512 335a4ee3fe20f456afd2d8491f8fe6cfc2527d6e26aa690a69a39c1468e41d312fd84c85a1247deb11f513b9d50b8c69d34b46876f8257c205b0a99bac826237
-DIST octomap-1.9.5.tar.gz 1682781 BLAKE2B 1ced023160d10c424d4bff76a0481ffe6c87c5bf8133480afe6c47ee0ee116304a811293cc0af0b303ebcad370b7ce433e85212f070ac921a9c5be41905a94ea SHA512 e58c6d33c351b14e9596e18a8702715d167c136fd029b1078ddd13a5926fe451d3b619231b5a8ccfb64b6e5fc6db8b57e6ef329099828d2f5195c0988700b581
+DIST octomap-1.9.8.tar.gz 1693311 BLAKE2B 476e4a644287e5ebcaa36de3051b7a2079b733bee3cd80b192fecfab0a85c5de70e3ad087a6cb499141167c735692de72ba2a7b1fb8b318e461f8f21f20020ae SHA512 60afeecc36a190f136dcbe33cb9cd6c06c16233988b383b0b010f65f81e6a3630b55902c5b5ad756ac35dee4c4ec26ec5722d6bd9b8e079f70b7d286293c518e
diff --git a/sci-libs/octomap/files/qglqt5.patch b/sci-libs/octomap/files/qglqt5.patch
deleted file mode 100644
index 3fad0a0fc63f..000000000000
--- a/sci-libs/octomap/files/qglqt5.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-Index: octomap-1.9.0/octovis/src/ViewerGui.cpp
-===================================================================
---- octomap-1.9.0.orig/octovis/src/ViewerGui.cpp
-+++ octomap-1.9.0/octovis/src/ViewerGui.cpp
-@@ -286,7 +286,7 @@ void ViewerGui::showOcTree() {
- m_mapSizeStatus->setText(size);
- //}
-
-- m_glwidget->updateGL();
-+ m_glwidget->update();
-
- // generate cubes -> display
- // timeval start;
-@@ -299,7 +299,7 @@ void ViewerGui::showOcTree() {
- // gettimeofday(&stop, NULL); // stop timer
- // double time_to_generate = (stop.tv_sec - start.tv_sec) + 1.0e-6 *(stop.tv_usec - start.tv_usec);
- // fprintf(stderr, "setOcTree took %f sec\n", time_to_generate);
-- m_glwidget->updateGL();
-+ m_glwidget->update();
- }
-
-
-@@ -983,7 +983,7 @@ void ViewerGui::on_actionSelection_box_t
- m_glwidget->enableSelectionBox(checked);
-
-
-- m_glwidget->updateGL();
-+ m_glwidget->update();
- }
-
- void ViewerGui::on_actionHeight_map_toggled(bool checked){
-@@ -1040,7 +1040,7 @@ void ViewerGui::on_actionAxes_toggled(bo
- it != m_octrees.end(); ++it) {
- it->second.octree_drawer->enableAxes(checked);
- }
-- m_glwidget->updateGL();
-+ m_glwidget->update();
- }
-
- void ViewerGui::on_actionHideBackground_toggled(bool checked) {
-@@ -1048,7 +1048,7 @@ void ViewerGui::on_actionHideBackground_
- if (getOctreeRecord(DEFAULT_OCTREE_ID, r)) {
- if (checked) m_glwidget->removeSceneObject(r->octree_drawer);
- else m_glwidget->addSceneObject(r->octree_drawer);
-- m_glwidget->updateGL();
-+ m_glwidget->update();
- }
- }
-
-@@ -1142,7 +1142,7 @@ void ViewerGui::on_actionOctree_cells_to
- it != m_octrees.end(); ++it) {
- it->second.octree_drawer->enableOcTreeCells(enabled);
- }
-- m_glwidget->updateGL();
-+ m_glwidget->update();
- }
-
- void ViewerGui::on_actionOctree_structure_toggled(bool enabled) {
-@@ -1150,7 +1150,7 @@ void ViewerGui::on_actionOctree_structur
- it != m_octrees.end(); ++it) {
- it->second.octree_drawer->enableOcTree(enabled);
- }
-- m_glwidget->updateGL();
-+ m_glwidget->update();
- }
-
- void ViewerGui::on_actionFree_toggled(bool enabled) {
-@@ -1158,7 +1158,7 @@ void ViewerGui::on_actionFree_toggled(bo
- it != m_octrees.end(); ++it) {
- it->second.octree_drawer->enableFreespace(enabled);
- }
-- m_glwidget->updateGL();
-+ m_glwidget->update();
-
- }
-
-@@ -1176,24 +1176,21 @@ void ViewerGui::on_actionSelected_toggle
- // } else{
- // m_octreeDrawer->clearOcTreeSelection();
- // }
-- // m_glwidget->updateGL();
-+ // m_glwidget->update();
- // }
- }
-
-
- void ViewerGui::on_action_bg_black_triggered() {
- m_glwidget->setBackgroundColor( QColor(0,0,0) );
-- m_glwidget->qglClearColor( m_glwidget->backgroundColor() );
- }
-
- void ViewerGui::on_action_bg_white_triggered() {
- m_glwidget->setBackgroundColor( QColor(255,255,255) );
-- m_glwidget->qglClearColor( m_glwidget->backgroundColor() );
- }
-
- void ViewerGui::on_action_bg_gray_triggered() {
- m_glwidget->setBackgroundColor( QColor(117,117,117) );
-- m_glwidget->qglClearColor( m_glwidget->backgroundColor() );
- }
-
- void ViewerGui::on_savecampose_triggered() {
-Index: octomap-1.9.0/octovis/src/ViewerWidget.cpp
-===================================================================
---- octomap-1.9.0.orig/octovis/src/ViewerWidget.cpp
-+++ octomap-1.9.0/octovis/src/ViewerWidget.cpp
-@@ -67,13 +67,12 @@ void ViewerWidget::init() {
-
- // background color defaults to white
- this->setBackgroundColor( QColor(255,255,255) );
-- this->qglClearColor( this->backgroundColor() );
- }
-
- void ViewerWidget::resetView(){
- this->camera()->setOrientation((float) -M_PI_2, (float) M_PI_2);
- this->showEntireScene();
-- updateGL();
-+ update();
- }
-
-
-@@ -98,7 +97,7 @@ void ViewerWidget::enableHeightColorMode
- for(std::vector<SceneObject*>::iterator it = m_sceneObjects.begin(); it != m_sceneObjects.end(); it++) {
- (*it)->enableHeightColorMode(enabled);
- }
-- updateGL();
-+ update();
- }
-
- void ViewerWidget::enablePrintoutMode(bool enabled) {
-@@ -106,7 +105,7 @@ void ViewerWidget::enablePrintoutMode(bo
- for(std::vector<SceneObject*>::iterator it = m_sceneObjects.begin(); it != m_sceneObjects.end(); it++) {
- (*it)->enablePrintoutMode(enabled);
- }
-- updateGL();
-+ update();
- }
-
- void ViewerWidget::enableSemanticColoring (bool enabled) {
-@@ -114,12 +113,12 @@ void ViewerWidget::enableSemanticColorin
- for(std::vector<SceneObject*>::iterator it = m_sceneObjects.begin(); it != m_sceneObjects.end(); it++) {
- (*it)->enableSemanticColoring(enabled);
- }
-- updateGL();
-+ update();
- }
-
- void ViewerWidget::enableSelectionBox(bool enabled) {
- m_drawSelectionBox = enabled;
-- updateGL();
-+ update();
- }
-
-
-@@ -145,7 +144,7 @@ void ViewerWidget::setCamPosition(double
- camera()->setPosition(qglviewer::Vec(x, y, z));
- camera()->lookAt(qglviewer::Vec(lookX, lookY, lookZ));
- camera()->setUpVector(qglviewer::Vec(0.0, 0.0, 1.0));
-- updateGL();
-+ update();
- }
-
- void ViewerWidget::setCamPose(const octomath::Pose6D& pose){
-@@ -161,12 +160,12 @@ void ViewerWidget::jumpToCamFrame(int id
- } else {
- std::cerr << "Error: Could not jump to frame " << frame << " of " << kfi->numberOfKeyFrames() << std::endl;
- }
-- updateGL();
-+ update();
- }
-
- void ViewerWidget::deleteCameraPath(int id) {
- if(camera()->keyFrameInterpolator(id)) {
-- disconnect(camera()->keyFrameInterpolator(id), SIGNAL(interpolated()), this, SLOT(updateGL()));
-+ disconnect(camera()->keyFrameInterpolator(id), SIGNAL(interpolated()), this, SLOT(update()));
- disconnect(camera()->keyFrameInterpolator(id), SIGNAL(interpolated()), this, SLOT(cameraPathInterpolated()));
- disconnect(camera()->keyFrameInterpolator(id), SIGNAL(endReached()), this, SLOT(cameraPathFinished()));
- camera()->deletePath(id);
-@@ -243,7 +242,7 @@ void ViewerWidget::playCameraPath(int id
- m_current_camera_frame = start_frame;
- kfi->setInterpolationTime(kfi->keyFrameTime(start_frame));
- std::cout << "Playing path of length " << kfi->numberOfKeyFrames() << ", start time " << kfi->keyFrameTime(start_frame) << std::endl;
-- connect(kfi, SIGNAL(interpolated()), this, SLOT(updateGL()));
-+ connect(kfi, SIGNAL(interpolated()), this, SLOT(update()));
- connect(kfi, SIGNAL(interpolated()), this, SLOT(cameraPathInterpolated()));
- connect(kfi, SIGNAL(endReached()), this, SLOT(cameraPathFinished()));
- kfi->startInterpolation();
-@@ -252,7 +251,7 @@ void ViewerWidget::playCameraPath(int id
-
- void ViewerWidget::stopCameraPath(int id) {
- if(camera()->keyFrameInterpolator(id) && camera()->keyFrameInterpolator(id)->interpolationIsStarted()) {
-- disconnect(camera()->keyFrameInterpolator(id), SIGNAL(interpolated()), this, SLOT(updateGL()));
-+ disconnect(camera()->keyFrameInterpolator(id), SIGNAL(interpolated()), this, SLOT(update()));
- disconnect(camera()->keyFrameInterpolator(id), SIGNAL(interpolated()), this, SLOT(cameraPathInterpolated()));
- disconnect(camera()->keyFrameInterpolator(id), SIGNAL(endReached()), this, SLOT(cameraPathFinished()));
- camera()->keyFrameInterpolator(id)->stopInterpolation();
-@@ -261,7 +260,7 @@ void ViewerWidget::stopCameraPath(int id
-
- void ViewerWidget::cameraPathFinished() {
- if(camera()->keyFrameInterpolator(m_current_camera_path)) {
-- disconnect(camera()->keyFrameInterpolator(m_current_camera_path), SIGNAL(interpolated()), this, SLOT(updateGL()));
-+ disconnect(camera()->keyFrameInterpolator(m_current_camera_path), SIGNAL(interpolated()), this, SLOT(update()));
- disconnect(camera()->keyFrameInterpolator(m_current_camera_path), SIGNAL(interpolated()), this, SLOT(cameraPathInterpolated()));
- disconnect(camera()->keyFrameInterpolator(m_current_camera_path), SIGNAL(endReached()), this, SLOT(cameraPathFinished()));
- emit cameraPathStopped(m_current_camera_path);
-@@ -292,7 +291,7 @@ void ViewerWidget::setSceneBoundingBox(c
- void ViewerWidget::addSceneObject(SceneObject* obj){
- assert (obj);
- m_sceneObjects.push_back(obj);
-- updateGL();
-+ update();
- }
-
- void ViewerWidget::removeSceneObject(SceneObject* obj){
-@@ -304,7 +303,7 @@ void ViewerWidget::removeSceneObject(Sce
- else
- ++it;
- }
-- updateGL();
-+ update();
- }
-
- void ViewerWidget::clearAll(){
-@@ -364,7 +363,6 @@ void ViewerWidget::postDraw(){
- glPushAttrib(GL_ALL_ATTRIB_BITS);
-
- glDisable(GL_COLOR_MATERIAL);
-- qglColor(foregroundColor());
-
- if (gridIsDrawn()){
- glLineWidth(1.0);
diff --git a/sci-libs/octomap/metadata.xml b/sci-libs/octomap/metadata.xml
index d6afbe70c1f9..9e29e49ec5ef 100644
--- a/sci-libs/octomap/metadata.xml
+++ b/sci-libs/octomap/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
@@ -7,7 +7,7 @@
</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>
+ </longdescription>
<use>
<flag name="dynamicEDT3D">Build and install dynamicEDT3D library: A library for incrementally updatable Euclidean distance transforms in 3D.</flag>
</use>
diff --git a/sci-libs/octomap/octomap-1.9.0.ebuild b/sci-libs/octomap/octomap-1.9.0.ebuild
deleted file mode 100644
index 0472eb73728e..000000000000
--- a/sci-libs/octomap/octomap-1.9.0.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/OctoMap/octomap"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://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="qt5 dynamicEDT3D doc"
-LICENSE="BSD qt5? ( GPL-2 )"
-SLOT="0/19"
-
-RDEPEND="
- qt5? (
- virtual/opengl
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- x11-libs/libQGLViewer:=
- )
-"
-DEPEND="${RDEPEND}
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-
-PATCHES=( "${FILESDIR}/qglqt5.patch" )
-
-src_prepare() {
- sed -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/' \
- -i */CMakeLists.txt \
- -i */CMakeModules/InstallPkgConfigFile.cmake || die
- sed -e 's/iewer-qt4/iewer-qt5/g' \
- -i octovis/CMakeModules/FindQGLViewer.cmake || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- "-DBUILD_OCTOVIS_SUBPROJECT=$(usex qt5 ON OFF)"
- "-DOCTOVIS_QT5=TRUE"
- "-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
-
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
- if use qt5; then
- insinto /usr/share/ros_packages/octovis
- doins "${ED}/usr/share/octovis/package.xml"
- fi
-}
diff --git a/sci-libs/octomap/octomap-1.9.5.ebuild b/sci-libs/octomap/octomap-1.9.5.ebuild
deleted file mode 100644
index 230100c81764..000000000000
--- a/sci-libs/octomap/octomap-1.9.5.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="An Efficient Probabilistic 3D Mapping Framework Based on Octrees"
-HOMEPAGE="http://octomap.github.io/"
-SRC_URI="https://github.com/OctoMap/octomap/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD qt5? ( GPL-2 )"
-SLOT="0/19"
-KEYWORDS="~amd64 ~arm"
-IUSE="qt5 dynamicEDT3D doc"
-
-RDEPEND="
- qt5? (
- virtual/opengl
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- x11-libs/libQGLViewer:=
- )
-"
-BDEPEND="${RDEPEND}
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-
-# https://github.com/OctoMap/octomap/issues/194
-PATCHES=( "${FILESDIR}/qglqt5.patch" )
-
-src_prepare() {
- rm -r octovis/src/extern
-
- sed --in-place \
- --expression='s/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/' \
- */CMakeLists.txt */CMakeModules/InstallPkgConfigFile.cmake || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- "-DBUILD_OCTOVIS_SUBPROJECT=$(usex qt5 ON OFF)"
- "-DOCTOVIS_QT5=ON"
- "-DBUILD_DYNAMICETD3D_SUBPROJECT=$(usex dynamicEDT3D ON OFF)"
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- use doc && cmake_build docs docs_dynamicEDT3D
-}
-
-src_install() {
- cmake_src_install
-
- if use doc; then
- docinto html/octomap
- dodoc -r octomap/doc/html/*
-
- docinto html/dynamicEDT3D
- dodoc -r dynamicEDT3D/doc/html/*
- fi
-
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
-
- if use qt5; then
- insinto /usr/share/ros_packages/octovis
- doins "${ED}/usr/share/octovis/package.xml"
- fi
-}
-
-src_test() {
- # override parallel mode only for tests
- local myctestargs=( "-j 1" )
- cmake_src_test
-}
diff --git a/sci-libs/octomap/octomap-1.9.8.ebuild b/sci-libs/octomap/octomap-1.9.8.ebuild
new file mode 100644
index 000000000000..c4d6b422062c
--- /dev/null
+++ b/sci-libs/octomap/octomap-1.9.8.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="An Efficient Probabilistic 3D Mapping Framework Based on Octrees"
+HOMEPAGE="http://octomap.github.io/"
+SRC_URI="https://github.com/OctoMap/octomap/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD qt5? ( GPL-2 )"
+SLOT="0/19"
+KEYWORDS="~amd64 ~arm"
+IUSE="qt5 dynamicEDT3D doc"
+
+RDEPEND="
+ qt5? (
+ virtual/opengl
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ x11-libs/libQGLViewer:=
+ )
+"
+BDEPEND="${RDEPEND}
+ doc? (
+ app-text/doxygen
+ media-gfx/graphviz
+ )
+"
+
+src_prepare() {
+ rm -r octovis/src/extern
+
+ sed --in-place \
+ --expression='s/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/' \
+ */CMakeLists.txt */CMakeModules/InstallPkgConfigFile.cmake || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_OCTOVIS_SUBPROJECT=$(usex qt5 ON OFF)"
+ "-DOCTOVIS_QT5=ON"
+ "-DBUILD_DYNAMICETD3D_SUBPROJECT=$(usex dynamicEDT3D ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_build docs docs_dynamicEDT3D
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc; then
+ docinto html/octomap
+ dodoc -r octomap/doc/html/*
+
+ docinto html/dynamicEDT3D
+ dodoc -r dynamicEDT3D/doc/html/*
+ fi
+
+ insinto /usr/share/ros_packages/${PN}
+ doins "${ED}/usr/share/${PN}/package.xml"
+
+ if use qt5; then
+ insinto /usr/share/ros_packages/octovis
+ doins "${ED}/usr/share/octovis/package.xml"
+ fi
+}
+
+src_test() {
+ # override parallel mode only for tests
+ local myctestargs=( "-j 1" )
+ cmake_src_test
+}
diff --git a/sci-libs/octomap/octomap-9999.ebuild b/sci-libs/octomap/octomap-9999.ebuild
deleted file mode 100644
index f5c2b0c615ac..000000000000
--- a/sci-libs/octomap/octomap-9999.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/OctoMap/octomap"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://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="qt5 dynamicEDT3D doc"
-LICENSE="BSD qt5? ( GPL-2 )"
-SLOT="0/19"
-
-RDEPEND="
- qt5? (
- virtual/opengl
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- 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
- sed -e 's/iewer-qt4/iewer-qt5/g' \
- -i octovis/CMakeModules/FindQGLViewer.cmake || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- "-DBUILD_OCTOVIS_SUBPROJECT=$(usex qt5 ON OFF)"
- "-DOCTOVIS_QT5=TRUE"
- "-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
-
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
- if use qt5; then
- insinto /usr/share/ros_packages/octovis
- doins "${ED}/usr/share/octovis/package.xml"
- fi
-}
diff --git a/sci-libs/ogdi/files/ogdi-4.1.0-c99-conversions.patch b/sci-libs/ogdi/files/ogdi-4.1.0-c99-conversions.patch
new file mode 100644
index 000000000000..476f77b938ef
--- /dev/null
+++ b/sci-libs/ogdi/files/ogdi-4.1.0-c99-conversions.patch
@@ -0,0 +1,21 @@
+--- a/vpflib/vpfprop.c 2024-04-04 12:03:43.682864289 +0000
++++ b/vpflib/vpfprop.c 2024-04-04 12:07:30.498441728 +0000
+@@ -840,7 +840,8 @@
+ #endif
+
+ {
+- int32 ncov,i,j,k,n;
++ char ncov;
++ int32 i,j,k,n;
+ char path[255];
+ char **ptr, **coverages, **subset, **fcnames=(char **)NULL;
+
+@@ -1447,7 +1447,7 @@
+ int32 *nfc )
+ #else
+ char **coverage_feature_class_names (library_path, coverage, nfc)
+- char *library_path, coverage;
++ char *library_path, *coverage;
+ int32 *nfc;
+ #endif
+
diff --git a/sci-libs/ogdi/metadata.xml b/sci-libs/ogdi/metadata.xml
index 2dc0ec7a6b9b..429161d45435 100644
--- a/sci-libs/ogdi/metadata.xml
+++ b/sci-libs/ogdi/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">ogdi</remote-id>
+ <remote-id type="github">libogdi/ogdi</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/ogdi/ogdi-4.1.0-r1.ebuild b/sci-libs/ogdi/ogdi-4.1.0-r1.ebuild
new file mode 100644
index 000000000000..c0eb8f3c5dff
--- /dev/null
+++ b/sci-libs/ogdi/ogdi-4.1.0-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Open Geographical Datastore Interface, a GIS support library"
+HOMEPAGE="http://ogdi.sourceforge.net/ https://github.com/libogdi/ogdi"
+SRC_URI="https://github.com/libogdi/ogdi/releases/download/${PN}_${PV//./_}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="
+ dev-libs/expat
+ net-libs/libtirpc:=
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( ChangeLog NEWS README )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-subdirs.patch
+ "${FILESDIR}"/${PN}-3.2.0-endianess.patch
+ "${FILESDIR}"/${PN}-3.2.0-optimisation.patch
+ "${FILESDIR}"/${PN}-3.2.0-tcl.patch
+ "${FILESDIR}"/${P}-c99-conversions.patch
+)
+
+src_prepare() {
+ default
+ rm -r external || die
+ 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-expat \
+ --with-zlib
+}
+
+src_compile() {
+ # bug #299239
+ emake -j1
+}
+
+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*
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ doins ogdi.pc
+
+ dobin ogdi-config
+
+ einstalldocs
+}
diff --git a/sci-libs/ogdi/ogdi-4.1.0.ebuild b/sci-libs/ogdi/ogdi-4.1.0.ebuild
deleted file mode 100644
index 8c064938d77e..000000000000
--- a/sci-libs/ogdi/ogdi-4.1.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Open Geographical Datastore Interface, a GIS support library"
-HOMEPAGE="http://ogdi.sourceforge.net/ https://github.com/libogdi/ogdi"
-SRC_URI="https://github.com/libogdi/ogdi/releases/download/${PN}_${PV//./_}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-DEPEND="
- dev-libs/expat
- net-libs/libtirpc:=
- sys-libs/zlib
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( ChangeLog NEWS README )
-
-PATCHES=(
- "${FILESDIR}"/${P}-subdirs.patch
- "${FILESDIR}"/${PN}-3.2.0-endianess.patch
- "${FILESDIR}"/${PN}-3.2.0-optimisation.patch
- "${FILESDIR}"/${PN}-3.2.0-tcl.patch
-)
-
-src_prepare() {
- default
- rm -r external || die
- 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-expat \
- --with-zlib
-}
-
-src_compile() {
- # bug #299239
- emake -j1
-}
-
-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*
- einstalldocs
-}
diff --git a/sci-libs/onnx/Manifest b/sci-libs/onnx/Manifest
new file mode 100644
index 000000000000..e7517b3f3567
--- /dev/null
+++ b/sci-libs/onnx/Manifest
@@ -0,0 +1,2 @@
+DIST onnx-1.14.1.tar.gz 11570627 BLAKE2B df478219b5d557ad7e0717377996eefc02baa88a89d9681b17e00670e42fa3c8e47db0f5c5fdfab682fa7d80032559da8276c5106a91a7599d190427e2b6e4a8 SHA512 f846fffb286c4aeadc01462f220515f0a5c2ce1cbec849da7092a08c2676f8308af7315318a2866e9182f9aed719984ef95a9ddc69ffe0e62e40664395df5efd
+DIST onnx-1.15.0.tar.gz 12360484 BLAKE2B 4d35b82c128a69124b9bfcb3e56b3d584b7451ae739a91039e201dd485efa3e90e34e6cf135993317622f8f524160a38556231b2b0561e93d8cd0487abf35c1b SHA512 b46a4ab70af88053318eba45251c1f71528f15e45a33042877570e8d857febd3ec66e2e811fcda2105a4f17b84c9a1c6a0aaa22756c3287321b3ea29e83127fd
diff --git a/sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch b/sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch
new file mode 100644
index 000000000000..239e0bd3a56a
--- /dev/null
+++ b/sci-libs/onnx/files/onnx-1.14.0-cxx_14.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2023-09-01 12:19:40.772172388 +0200
++++ b/CMakeLists.txt 2023-09-01 12:19:53.422188861 +0200
+@@ -58,7 +58,7 @@
+ # Required to use /std:c++17 or higher on Windows
+ # For other platforms, set C++11 as standard for the whole project
+ if(NOT MSVC)
+- set(CMAKE_CXX_STANDARD 11)
++ set(CMAKE_CXX_STANDARD 14)
+ else()
+ string(APPEND CMAKE_CXX_FLAGS " /std:c++17")
+ endif()
diff --git a/sci-libs/onnx/files/onnx-1.14.1-musl.patch b/sci-libs/onnx/files/onnx-1.14.1-musl.patch
new file mode 100644
index 000000000000..04748ed67e6a
--- /dev/null
+++ b/sci-libs/onnx/files/onnx-1.14.1-musl.patch
@@ -0,0 +1,11 @@
+--- a/onnx/checker.cc 2024-02-18 15:30:03.316320035 +0100
++++ b/onnx/checker.cc 2024-02-18 15:31:05.715473732 +0100
+@@ -184,7 +184,7 @@
+ }
+ std::string data_path = path_join(ctx.get_model_dir(), relative_path);
+ // use stat64 to check whether the file exists
+-#if defined(__APPLE__) || defined(__wasm__)
++#if defined(__APPLE__) || defined(__wasm__) || !defined(__GLIBC__)
+ struct stat buffer; // APPLE does not have stat64
+ if (stat((data_path).c_str(), &buffer) != 0) {
+ #else
diff --git a/sci-libs/onnx/metadata.xml b/sci-libs/onnx/metadata.xml
new file mode 100644
index 000000000000..2a58de7a87a9
--- /dev/null
+++ b/sci-libs/onnx/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">onnx/onnx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/onnx/onnx-1.14.1-r2.ebuild b/sci-libs/onnx/onnx-1.14.1-r2.ebuild
new file mode 100644
index 000000000000..e6ecbfd239bc
--- /dev/null
+++ b/sci-libs/onnx/onnx-1.14.1-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_OPTIONAL=1
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 cmake
+
+DESCRIPTION="Open Neural Network Exchange (ONNX)"
+HOMEPAGE="https://github.com/onnx/onnx"
+SRC_URI="https://github.com/onnx/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+IUSE="python"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ )
+ dev-libs/protobuf:=
+"
+DEPEND="${RDEPEND}"
+
+BDEPEND="python? (
+ ${DISTUTILS_DEPS}
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.14.0-cxx_14.patch
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ use python && distutils-r1_src_prepare
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
+ -DONNX_USE_LITE_PROTO=ON
+ )
+ cmake_src_configure
+ use python && distutils-r1_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use python && CMAKE_ARGS="${mycmakeargs[@]}" distutils-r1_src_compile
+}
+
+src_install() {
+ cmake_src_install
+ use python && distutils-r1_src_install
+}
diff --git a/sci-libs/onnx/onnx-1.15.0-r1.ebuild b/sci-libs/onnx/onnx-1.15.0-r1.ebuild
new file mode 100644
index 000000000000..8e846b3e6d5f
--- /dev/null
+++ b/sci-libs/onnx/onnx-1.15.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 cmake
+
+DESCRIPTION="Open Neural Network Exchange (ONNX)"
+HOMEPAGE="https://github.com/onnx/onnx"
+SRC_URI="https://github.com/onnx/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-libs/protobuf:=
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ cmake_src_prepare
+ distutils-r1_src_prepare
+}
+
+python_configure_all() {
+ mycmakeargs=(
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
+ -DONNX_USE_LITE_PROTO=ON
+ )
+ cmake_src_configure
+}
+
+src_configure() {
+ distutils-r1_src_configure
+}
+
+python_compile_all() {
+ cmake_src_compile
+}
+
+src_compile() {
+ mycmakeargs=(
+ -DONNX_USE_PROTOBUF_SHARED_LIBS=ON
+ -DONNX_USE_LITE_PROTO=ON
+ )
+ CMAKE_ARGS="${mycmakeargs[@]}" distutils-r1_src_compile
+}
+
+python_install_all() {
+ cmake_src_install
+ distutils-r1_python_install_all
+}
+
+src_install() {
+ distutils-r1_src_install
+}
diff --git a/sci-libs/openblas/Manifest b/sci-libs/openblas/Manifest
index 25f4e19af1a4..62f8bbbfc4b8 100644
--- a/sci-libs/openblas/Manifest
+++ b/sci-libs/openblas/Manifest
@@ -1 +1,2 @@
-DIST openblas-0.3.9.tar.gz 12189745 BLAKE2B 3cc4c6a403d6a52845cf4ff8cef254f57587e17e3d09bfb6ed7c02ad06a6002e50b340177c73a944c2a621c12b7f494c516025751c194d019662c0b4db17f4dc SHA512 c6b8ee465f1cf53b37f21ec3ff9a28d5cafe20fec59d8c1bff5923a9e1989dfa5ae8c032a5d43988fe7722ed08c64c7957a3d30e6ae917e2e7aa2977a91e67a3
+DIST OpenBLAS-0.3.25.tar.gz 24073168 BLAKE2B c2a173b50f6931e7782c7d429487abd4b1a4ed05aec4f08febbc5cc73b9ed5cb36c9e308bf7cb89ce116b1c25556615d2384087cf7d1b489a4784901951558bc SHA512 69bcf8082575b01ce1734fc9d33454314964a7e81ff29a7c1a764af3083ac0dc24289fd72bbe22c9583398bda7b658d6e4ab1d5036e43412745f0be3c2185b3c
+DIST OpenBLAS-0.3.26.tar.gz 24404912 BLAKE2B d72f02492b3ce58c5012943ea84190cb8a8efdfe438fb4fe945a713e4abbcb77f3a0603ca266df234efe8e6d6e4bab4a7386ac02b95512281165bf7ae2f9181d SHA512 01d3a536fbfa62f276fd6b1ad0e218fb3d91f41545fc83ddc74979fa26372d8389f0baa20334badfe0adacd77bd944c50a47ac920577373fcc1d495553084373
diff --git a/sci-libs/openblas/files/dont-clobber-fflags.patch b/sci-libs/openblas/files/dont-clobber-fflags.patch
deleted file mode 100644
index 21bbec4b1b3b..000000000000
--- a/sci-libs/openblas/files/dont-clobber-fflags.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 05c96dad9b26cc1f00831661dc55139dcc9d5680 Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Thu, 11 Jun 2020 18:32:17 -0400
-Subject: [PATCH 1/1] Makefile: don't clobber fortran flags while building
- lapack.
-
-When a user has the FFLAGS environment variable set, it clobbers the
-flags used to compile lapack. This can lead to "rare and hard to
-reproduce crashes" or test failures, as we have observed in Gentoo.
-
-Issue: https://github.com/xianyi/OpenBLAS/issues/2657
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index a22e16ba..2bae565e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -248,7 +248,7 @@ prof_lapack : lapack_prebuild
- lapack_prebuild :
- ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
- -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
-- -@echo "FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
-+ -@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc
- -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc
---
-2.26.2
-
diff --git a/sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch b/sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch
new file mode 100644
index 000000000000..4d200d3b3960
--- /dev/null
+++ b/sci-libs/openblas/files/openblas-0.3.23-shared-blas-lapack.patch
@@ -0,0 +1,40 @@
+From b3b59749a0df9c2375f1c99adb8552f698eba6d6 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 6 Jul 2023 15:54:30 -0400
+Subject: [PATCH] interface/Makefile: add shared library targets.
+
+Gentoo patch for shared library support.
+---
+ interface/Makefile | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/interface/Makefile b/interface/Makefile
+index 2ac9663..63bcb24 100644
+--- a/interface/Makefile
++++ b/interface/Makefile
+@@ -2384,3 +2384,22 @@ cblas_zgeadd.$(SUFFIX) cblas_zgeadd.$(PSUFFIX) : zgeadd.c
+ cblas_xerbla.$(SUFFIX) cblas_xerbla.$(PSUFFIX) : xerbla.c
+ $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F)
+
++#####
++shared-blas-lapack: libblas.so.3 libcblas.so.3 liblapack.so.3 liblapacke.so.3
++
++# The list of prerequisite is created by comparing with NETLIB BLAS public API.
++libblas.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o
++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas.so.3 -L.. -lopenblas $(EXTRALIB)
++
++libcblas.so.3: $(CSBLAS1OBJS) $(CSBLAS2OBJS) $(CSBLAS3OBJS) $(CDBLAS1OBJS) $(CDBLAS2OBJS) $(CDBLAS3OBJS) $(CCBLAS1OBJS) $(CCBLAS2OBJS) $(CCBLAS3OBJS) $(CZBLAS1OBJS) $(CZBLAS2OBJS) $(CZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o
++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libcblas.so.3 -L.. -lopenblas $(EXTRALIB)
++
++# The prerequisites must match the symbols deleted in target delete-duplicate-lapack-objects
++liblapack.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o
++ $(CC) $(LDFLAGS) -shared -o $@ $^ ../lapack-netlib/SRC/*.o -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB)
++
++liblapacke.so.3: liblapack.so.3
++ $(CC) $(LDFLAGS) -shared -o $@ `find ../lapack-netlib/LAPACKE -name "*.o"` -Wl,-soname,liblapacke.so.3 -L.. -lopenblas $(EXTRALIB)
++
++clean::
++ rm -f libblas.so.3 libcblas.so.3 liblapack.so.3
+--
+2.39.3
+
diff --git a/sci-libs/openblas/files/shared-blas-lapack.patch b/sci-libs/openblas/files/shared-blas-lapack.patch
deleted file mode 100644
index fc77427362c1..000000000000
--- a/sci-libs/openblas/files/shared-blas-lapack.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff --git a/sci-libs/openblas/files/Makefile b/sci-libs/openblas/files/Makefile
-index 20ec74e..87e842f 100644
---- a/interface/Makefile
-+++ b/interface/Makefile
-@@ -2151,3 +2151,132 @@ cblas_zgeadd.$(SUFFIX) cblas_zgeadd.$(PSUFFIX) : zgeadd.c
-
- cblas_xerbla.$(SUFFIX) cblas_xerbla.$(PSUFFIX) : xerbla.c
- $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F)
-+
-+#############################################################################
-+# Customized shared objects
-+
-+FSBLAS1OBJS = \
-+ saxpy.$(SUFFIX) sswap.$(SUFFIX) \
-+ scopy.$(SUFFIX) sscal.$(SUFFIX) \
-+ sdot.$(SUFFIX) sdsdot.$(SUFFIX) dsdot.$(SUFFIX) \
-+ sasum.$(SUFFIX) snrm2.$(SUFFIX) \
-+ smax.$(SUFFIX) samax.$(SUFFIX) ismax.$(SUFFIX) isamax.$(SUFFIX) \
-+ smin.$(SUFFIX) samin.$(SUFFIX) ismin.$(SUFFIX) isamin.$(SUFFIX) \
-+ srot.$(SUFFIX) srotg.$(SUFFIX) srotm.$(SUFFIX) srotmg.$(SUFFIX) \
-+ saxpby.$(SUFFIX)
-+
-+FSBLAS2OBJS = \
-+ sgemv.$(SUFFIX) sger.$(SUFFIX) \
-+ strsv.$(SUFFIX) strmv.$(SUFFIX) ssymv.$(SUFFIX) \
-+ ssyr.$(SUFFIX) ssyr2.$(SUFFIX) sgbmv.$(SUFFIX) \
-+ ssbmv.$(SUFFIX) sspmv.$(SUFFIX) \
-+ sspr.$(SUFFIX) sspr2.$(SUFFIX) \
-+ stbsv.$(SUFFIX) stbmv.$(SUFFIX) \
-+ stpsv.$(SUFFIX) stpmv.$(SUFFIX)
-+
-+FSBLAS3OBJS = \
-+ sgemm.$(SUFFIX) ssymm.$(SUFFIX) strmm.$(SUFFIX) \
-+ strsm.$(SUFFIX) ssyrk.$(SUFFIX) ssyr2k.$(SUFFIX) \
-+ somatcopy.$(SUFFIX) simatcopy.$(SUFFIX)\
-+ sgeadd.$(SUFFIX)
-+
-+
-+FDBLAS1OBJS = \
-+ daxpy.$(SUFFIX) dswap.$(SUFFIX) \
-+ dcopy.$(SUFFIX) dscal.$(SUFFIX) \
-+ ddot.$(SUFFIX) \
-+ dasum.$(SUFFIX) dnrm2.$(SUFFIX) \
-+ dmax.$(SUFFIX) damax.$(SUFFIX) idmax.$(SUFFIX) idamax.$(SUFFIX) \
-+ dmin.$(SUFFIX) damin.$(SUFFIX) idmin.$(SUFFIX) idamin.$(SUFFIX) \
-+ drot.$(SUFFIX) drotg.$(SUFFIX) drotm.$(SUFFIX) drotmg.$(SUFFIX) \
-+ daxpby.$(SUFFIX)
-+
-+FDBLAS2OBJS = \
-+ dgemv.$(SUFFIX) dger.$(SUFFIX) \
-+ dtrsv.$(SUFFIX) dtrmv.$(SUFFIX) dsymv.$(SUFFIX) \
-+ dsyr.$(SUFFIX) dsyr2.$(SUFFIX) dgbmv.$(SUFFIX) \
-+ dsbmv.$(SUFFIX) dspmv.$(SUFFIX) \
-+ dspr.$(SUFFIX) dspr2.$(SUFFIX) \
-+ dtbsv.$(SUFFIX) dtbmv.$(SUFFIX) \
-+ dtpsv.$(SUFFIX) dtpmv.$(SUFFIX)
-+
-+FDBLAS3OBJS = \
-+ dgemm.$(SUFFIX) dsymm.$(SUFFIX) dtrmm.$(SUFFIX) \
-+ dtrsm.$(SUFFIX) dsyrk.$(SUFFIX) dsyr2k.$(SUFFIX) \
-+ domatcopy.$(SUFFIX) dimatcopy.$(SUFFIX)\
-+ dgeadd.$(SUFFIX)
-+
-+FCBLAS1OBJS = \
-+ caxpy.$(SUFFIX) caxpyc.$(SUFFIX) cswap.$(SUFFIX) \
-+ ccopy.$(SUFFIX) cscal.$(SUFFIX) csscal.$(SUFFIX) \
-+ cdotc.$(SUFFIX) cdotu.$(SUFFIX) \
-+ scasum.$(SUFFIX) scnrm2.$(SUFFIX) \
-+ scamax.$(SUFFIX) icamax.$(SUFFIX) \
-+ scamin.$(SUFFIX) icamin.$(SUFFIX) \
-+ csrot.$(SUFFIX) crotg.$(SUFFIX) \
-+ caxpby.$(SUFFIX)
-+
-+FCBLAS2OBJS = \
-+ cgemv.$(SUFFIX) cgeru.$(SUFFIX) cgerc.$(SUFFIX) \
-+ ctrsv.$(SUFFIX) ctrmv.$(SUFFIX) \
-+ csyr2.$(SUFFIX) cgbmv.$(SUFFIX) \
-+ csbmv.$(SUFFIX) \
-+ cspr2.$(SUFFIX) \
-+ ctbsv.$(SUFFIX) ctbmv.$(SUFFIX) \
-+ ctpsv.$(SUFFIX) ctpmv.$(SUFFIX) \
-+ chemv.$(SUFFIX) chbmv.$(SUFFIX) \
-+ cher.$(SUFFIX) cher2.$(SUFFIX) \
-+ chpmv.$(SUFFIX) chpr.$(SUFFIX) chpr2.$(SUFFIX)
-+
-+FCBLAS3OBJS = \
-+ cgemm.$(SUFFIX) csymm.$(SUFFIX) ctrmm.$(SUFFIX) \
-+ ctrsm.$(SUFFIX) csyrk.$(SUFFIX) csyr2k.$(SUFFIX) \
-+ chemm.$(SUFFIX) cherk.$(SUFFIX) cher2k.$(SUFFIX) \
-+ comatcopy.$(SUFFIX) cimatcopy.$(SUFFIX)\
-+ cgeadd.$(SUFFIX)
-+
-+FZBLAS1OBJS = \
-+ zaxpy.$(SUFFIX) zaxpyc.$(SUFFIX) zswap.$(SUFFIX) \
-+ zcopy.$(SUFFIX) zscal.$(SUFFIX) zdscal.$(SUFFIX) \
-+ zdotc.$(SUFFIX) zdotu.$(SUFFIX) \
-+ dzasum.$(SUFFIX) dznrm2.$(SUFFIX) \
-+ dzamax.$(SUFFIX) izamax.$(SUFFIX) \
-+ dzamin.$(SUFFIX) izamin.$(SUFFIX) \
-+ zdrot.$(SUFFIX) zrotg.$(SUFFIX) \
-+ zaxpby.$(SUFFIX)
-+
-+FZBLAS2OBJS = \
-+ zgemv.$(SUFFIX) zgeru.$(SUFFIX) zgerc.$(SUFFIX) \
-+ ztrsv.$(SUFFIX) ztrmv.$(SUFFIX) \
-+ zsyr2.$(SUFFIX) zgbmv.$(SUFFIX) \
-+ zsbmv.$(SUFFIX) \
-+ zspr2.$(SUFFIX) \
-+ ztbsv.$(SUFFIX) ztbmv.$(SUFFIX) \
-+ ztpsv.$(SUFFIX) ztpmv.$(SUFFIX) \
-+ zhemv.$(SUFFIX) zhbmv.$(SUFFIX) \
-+ zher.$(SUFFIX) zher2.$(SUFFIX) \
-+ zhpmv.$(SUFFIX) zhpr.$(SUFFIX) zhpr2.$(SUFFIX)
-+
-+FZBLAS3OBJS = \
-+ zgemm.$(SUFFIX) zsymm.$(SUFFIX) ztrmm.$(SUFFIX) \
-+ ztrsm.$(SUFFIX) zsyrk.$(SUFFIX) zsyr2k.$(SUFFIX) \
-+ zhemm.$(SUFFIX) zherk.$(SUFFIX) zher2k.$(SUFFIX) \
-+ zomatcopy.$(SUFFIX) zimatcopy.$(SUFFIX)\
-+ zgeadd.$(SUFFIX)
-+
-+shared-blas-lapack: libblas.so.3 libcblas.so.3 liblapack.so.3
-+
-+# The list of prerequisite is created by comparing with NETLIB BLAS public API.
-+# The symbol cblas_xerbla is missing here, but it does not seem to be provided
-+# by libopenblas.so.0 either.
-+libblas.so.3: $(FSBLAS1OBJS) $(FSBLAS2OBJS) $(FSBLAS3OBJS) $(FDBLAS1OBJS) $(FDBLAS2OBJS) $(FDBLAS3OBJS) $(FCBLAS1OBJS) $(FCBLAS2OBJS) $(FCBLAS3OBJS) $(FZBLAS1OBJS) $(FZBLAS2OBJS) $(FZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o
-+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas.so.3 -L.. -lopenblas $(EXTRALIB)
-+
-+libcblas.so.3: $(CSBLAS1OBJS) $(CSBLAS2OBJS) $(CSBLAS3OBJS) $(CDBLAS1OBJS) $(CDBLAS2OBJS) $(CDBLAS3OBJS) $(CCBLAS1OBJS) $(CCBLAS2OBJS) $(CCBLAS3OBJS) $(CZBLAS1OBJS) $(CZBLAS2OBJS) $(CZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o
-+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libcblas.so.3 -L.. -lopenblas $(EXTRALIB)
-+
-+liblapack.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o
-+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ ../lapack-netlib/SRC/*.o -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB)
-+
-+clean::
-+ rm -f libblas.so.3 libcblas.so.3 liblapack.so.3
diff --git a/sci-libs/openblas/metadata.xml b/sci-libs/openblas/metadata.xml
index 0661dad2eee9..11aed171af85 100644
--- a/sci-libs/openblas/metadata.xml
+++ b/sci-libs/openblas/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>lumin@debian.org</email>
<name>Mo Zhou</name>
</maintainer>
@@ -33,6 +33,9 @@
<flag name="pthread">
Build with pthread threading model
</flag>
+ <flag name="relapack">
+ Build the ReLAPACK extension to OpenBLAS
+ </flag>
</use>
<upstream>
<remote-id type="github">xianyi/OpenBLAS</remote-id>
diff --git a/sci-libs/openblas/openblas-0.3.25-r1.ebuild b/sci-libs/openblas/openblas-0.3.25-r1.ebuild
new file mode 100644
index 000000000000..da08897df4c6
--- /dev/null
+++ b/sci-libs/openblas/openblas-0.3.25-r1.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic fortran-2 toolchain-funcs
+
+MY_P=OpenBLAS-${PV}
+DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
+HOMEPAGE="https://github.com/xianyi/OpenBLAS"
+SRC_URI="https://github.com/OpenMathLib/OpenBLAS/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="dynamic eselect-ldso index-64bit openmp pthread relapack test"
+REQUIRED_USE="?? ( openmp pthread )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ eselect-ldso? (
+ >=app-eselect/eselect-blas-0.2
+ >=app-eselect/eselect-lapack-0.2
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.3.23-shared-blas-lapack.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ elog "This software has a massive number of options that"
+ elog "are configurable and it is *impossible* for all of"
+ elog "those to fit inside any manageable ebuild."
+ elog "The Gentoo provided package has enough to build"
+ elog "a fully optimized library for your targeted CPU."
+ elog "You can set the CPU target using the environment"
+ elog "variable - OPENBLAS_TARGET or it will be detected"
+ elog "automatically from the target toolchain (supports"
+ elog "cross compilation toolchains)."
+ elog "You can control the maximum number of threads"
+ elog "using OPENBLAS_NTHREAD, default=64 and number of "
+ elog "parallel calls to allow before further calls wait"
+ elog "using OPENBLAS_NPARALLEL, default=8."
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # TODO: Unbundle lapack like Fedora does?
+ # https://src.fedoraproject.org/rpms/openblas/blob/rawhide/f/openblas-0.2.15-system_lapack.patch
+
+ # Don't build the tests as part of "make all". We'll do
+ # it explicitly later if the test phase is enabled.
+ sed -i -e "/^all :: tests/s: tests::g" Makefile || die
+
+ # If 64bit-index is needed, create second library with LIBPREFIX=libopenblas64
+ if use index-64bit; then
+ cp -aL "${S}" "${S}-index-64bit" || die
+ fi
+}
+
+src_configure() {
+ # List of most configurable options is in Makefile.rule.
+
+ # Not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128
+ filter-lto
+
+ tc-export CC FC LD AR AS RANLIB
+
+ # HOSTCC is used for scripting
+ export HOSTCC="$(tc-getBUILD_CC)"
+
+ # Threading options
+ export USE_THREAD=0
+ export USE_OPENMP=0
+ if use openmp; then
+ USE_THREAD=1
+ USE_OPENMP=1
+ elif use pthread; then
+ USE_THREAD=1
+ USE_OPENMP=0
+ fi
+
+ # Disable submake with -j and default optimization flags in Makefile.system
+ # Makefile.rule says to not modify COMMON_OPT/FCOMMON_OPT...
+ export MAKE_NB_JOBS=-1 COMMON_OPT=" " FCOMMON_OPT=" "
+
+ # Target CPU ARCH options generally detected automatically from cross toolchain
+ #
+ # TODO: Rename USE=dynamic -> USE=cpudetection like dev-libs/gmp, media-video/ffmpeg?
+ # (may want to then restrict bindist w/ USE=-cpudetection.)
+ if use dynamic ; then
+ export DYNAMIC_ARCH=1 NO_AFFINITY=1 TARGET=GENERIC
+ fi
+
+ export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} NUM_THREADS=${OPENBLAS_NTHREAD:-64}
+
+ # Allow setting OPENBLAS_TARGET to override auto detection in case the
+ # toolchain is not enough to detect.
+ # https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt
+ if ! use dynamic && [[ ! -z "${OPENBLAS_TARGET}" ]] ; then
+ export TARGET="${OPENBLAS_TARGET}"
+ fi
+
+ export NO_STATIC=1
+ export BUILD_RELAPACK=$(usex relapack 1 0)
+ export PREFIX="${EPREFIX}/usr"
+}
+
+src_compile() {
+ emake shared
+
+ use eselect-ldso && emake -C interface shared-blas-lapack
+
+ if use index-64bit; then
+ emake -C "${S}-index-64bit" \
+ INTERFACE64=1 \
+ LIBPREFIX=libopenblas64 shared
+ fi
+}
+
+src_test() {
+ emake tests
+}
+
+src_install() {
+ emake install DESTDIR="${D}" \
+ OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \
+ OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir)
+
+ dodoc GotoBLAS_*.txt *.md Changelog.txt
+
+ if use index-64bit; then
+ dolib.so "${S}-index-64bit"/libopenblas64*.so*
+ fi
+
+ if use eselect-ldso; then
+ insinto /usr/$(get_libdir)/blas/openblas/
+ doins interface/libblas.so.3
+ dosym -r /usr/$(get_libdir)/libblas.so.3 /usr/$(get_libdir)/blas/openblas/libblas.so
+ doins interface/libcblas.so.3
+ dosym -r /usr/$(get_libdir)/libcblas.so.3 /usr/$(get_libdir)/blas/openblas/libcblas.so
+
+ insinto /usr/$(get_libdir)/lapack/openblas/
+ doins interface/liblapack.so.3
+ dosym -r /usr/$(get_libdir)/liblapack.so.3 /usr/$(get_libdir)/lapack/openblas/liblapack.so
+ doins interface/liblapacke.so.3
+ dosym -r /usr/$(get_libdir)/liblapacke.so.3 /usr/$(get_libdir)/lapack/openblas/liblapacke.so
+ fi
+}
+
+pkg_postinst() {
+ use eselect-ldso || return
+ local libdir=$(get_libdir) me="openblas"
+
+ # check blas
+ eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check lapack
+ eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ if use eselect-ldso; then
+ eselect blas validate
+ eselect lapack validate
+ fi
+}
diff --git a/sci-libs/openblas/openblas-0.3.26.ebuild b/sci-libs/openblas/openblas-0.3.26.ebuild
new file mode 100644
index 000000000000..428b2378aba7
--- /dev/null
+++ b/sci-libs/openblas/openblas-0.3.26.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic fortran-2 toolchain-funcs
+
+MY_P=OpenBLAS-${PV}
+DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
+HOMEPAGE="https://github.com/xianyi/OpenBLAS"
+SRC_URI="https://github.com/OpenMathLib/OpenBLAS/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="dynamic eselect-ldso index-64bit openmp pthread relapack test"
+REQUIRED_USE="?? ( openmp pthread )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ eselect-ldso? (
+ >=app-eselect/eselect-blas-0.2
+ >=app-eselect/eselect-lapack-0.2
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.3.23-shared-blas-lapack.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ elog "This software has a massive number of options that"
+ elog "are configurable and it is *impossible* for all of"
+ elog "those to fit inside any manageable ebuild."
+ elog "The Gentoo provided package has enough to build"
+ elog "a fully optimized library for your targeted CPU."
+ elog "You can set the CPU target using the environment"
+ elog "variable - OPENBLAS_TARGET or it will be detected"
+ elog "automatically from the target toolchain (supports"
+ elog "cross compilation toolchains)."
+ elog "You can control the maximum number of threads"
+ elog "using OPENBLAS_NTHREAD, default=64 and number of "
+ elog "parallel calls to allow before further calls wait"
+ elog "using OPENBLAS_NPARALLEL, default=8."
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ fortran-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # TODO: Unbundle lapack like Fedora does?
+ # https://src.fedoraproject.org/rpms/openblas/blob/rawhide/f/openblas-0.2.15-system_lapack.patch
+
+ # Don't build the tests as part of "make all". We'll do
+ # it explicitly later if the test phase is enabled.
+ sed -i -e "/^all :: tests/s: tests::g" Makefile || die
+
+ # If 64bit-index is needed, create second library with LIBPREFIX=libopenblas64
+ if use index-64bit; then
+ cp -aL "${S}" "${S}-index-64bit" || die
+ fi
+}
+
+src_configure() {
+ # List of most configurable options is in Makefile.rule.
+
+ # Not an easy fix, https://github.com/xianyi/OpenBLAS/issues/4128
+ filter-lto
+
+ tc-export CC FC LD AR AS RANLIB
+
+ # HOSTCC is used for scripting
+ export HOSTCC="$(tc-getBUILD_CC)"
+
+ # Threading options
+ export USE_THREAD=0
+ export USE_OPENMP=0
+ if use openmp; then
+ USE_THREAD=1
+ USE_OPENMP=1
+ elif use pthread; then
+ USE_THREAD=1
+ USE_OPENMP=0
+ fi
+
+ # Disable submake with -j and default optimization flags in Makefile.system
+ # Makefile.rule says to not modify COMMON_OPT/FCOMMON_OPT...
+ export MAKE_NB_JOBS=-1 COMMON_OPT=" " FCOMMON_OPT=" "
+
+ # Target CPU ARCH options generally detected automatically from cross toolchain
+ #
+ # TODO: Rename USE=dynamic -> USE=cpudetection like dev-libs/gmp, media-video/ffmpeg?
+ # (may want to then restrict bindist w/ USE=-cpudetection.)
+ if use dynamic ; then
+ export DYNAMIC_ARCH=1 NO_AFFINITY=1 TARGET=GENERIC
+ fi
+
+ export NUM_PARALLEL=${OPENBLAS_NPARALLEL:-8} NUM_THREADS=${OPENBLAS_NTHREAD:-64}
+
+ # Allow setting OPENBLAS_TARGET to override auto detection in case the
+ # toolchain is not enough to detect.
+ # https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt
+ if ! use dynamic && [[ ! -z "${OPENBLAS_TARGET}" ]] ; then
+ export TARGET="${OPENBLAS_TARGET}"
+ fi
+
+ export NO_STATIC=1
+ export BUILD_RELAPACK=$(usex relapack 1 0)
+ export PREFIX="${EPREFIX}/usr"
+}
+
+src_compile() {
+ emake shared
+
+ use eselect-ldso && emake -C interface shared-blas-lapack
+
+ if use index-64bit; then
+ emake -C "${S}-index-64bit" \
+ INTERFACE64=1 \
+ LIBPREFIX=libopenblas64 shared
+ fi
+}
+
+src_test() {
+ emake tests
+}
+
+src_install() {
+ emake install DESTDIR="${D}" \
+ OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \
+ OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir)
+
+ dodoc GotoBLAS_*.txt *.md Changelog.txt
+
+ if use index-64bit; then
+ dolib.so "${S}-index-64bit"/libopenblas64*.so*
+ fi
+
+ if use eselect-ldso; then
+ insinto /usr/$(get_libdir)/blas/openblas/
+ doins interface/libblas.so.3
+ dosym -r /usr/$(get_libdir)/libblas.so.3 /usr/$(get_libdir)/blas/openblas/libblas.so
+ doins interface/libcblas.so.3
+ dosym -r /usr/$(get_libdir)/libcblas.so.3 /usr/$(get_libdir)/blas/openblas/libcblas.so
+
+ insinto /usr/$(get_libdir)/lapack/openblas/
+ doins interface/liblapack.so.3
+ dosym -r /usr/$(get_libdir)/liblapack.so.3 /usr/$(get_libdir)/lapack/openblas/liblapack.so
+ doins interface/liblapacke.so.3
+ dosym -r /usr/$(get_libdir)/liblapacke.so.3 /usr/$(get_libdir)/lapack/openblas/liblapacke.so
+ fi
+}
+
+pkg_postinst() {
+ use eselect-ldso || return
+ local libdir=$(get_libdir) me="openblas"
+
+ # check blas
+ eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
+ eselect blas set ${libdir} ${me}
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ else
+ elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ elog "To use blas [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect blas set ${libdir} ${me}"
+ fi
+
+ # check lapack
+ eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
+ local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
+ eselect lapack set ${libdir} ${me}
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ else
+ elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
+ elog "To use lapack [${me}] implementation, you have to issue (as root):"
+ elog "\t eselect lapack set ${libdir} ${me}"
+ fi
+}
+
+pkg_postrm() {
+ if use eselect-ldso; then
+ eselect blas validate
+ eselect lapack validate
+ fi
+}
diff --git a/sci-libs/openblas/openblas-0.3.9-r1.ebuild b/sci-libs/openblas/openblas-0.3.9-r1.ebuild
deleted file mode 100644
index 391cd2524189..000000000000
--- a/sci-libs/openblas/openblas-0.3.9-r1.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Optimized BLAS library based on GotoBLAS2"
-HOMEPAGE="http://xianyi.github.com/OpenBLAS/"
-SRC_URI="https://github.com/xianyi/OpenBLAS/archive/v${PV} -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="dynamic eselect-ldso index-64bit openmp pthread test"
-REQUIRED_USE="?? ( openmp pthread )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- eselect-ldso? ( >=app-eselect/eselect-blas-0.2
- !app-eselect/eselect-cblas
- >=app-eselect/eselect-lapack-0.2 )"
-
-DEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/shared-blas-lapack.patch"
- "${FILESDIR}/dont-clobber-fflags.patch"
-)
-
-pkg_setup() {
- fortran-2_pkg_setup
- use openmp && tc-check-openmp
-
- # We need to filter these while building the library, and not just
- # while building the test suite. Will hopefully get fixed upstream:
- # https://github.com/xianyi/OpenBLAS/issues/2657
- use test && filter-flags "-fbounds-check" "-fcheck=bounds" "-fcheck=all"
-
- export CC=$(tc-getCC) FC=$(tc-getFC)
-
- use dynamic && \
- export DYNAMIC_ARCH=1 TARGET=GENERIC NUM_THREADS=64 NO_AFFINITY=1
-
- # disable submake with -j
- export MAKE_NB_JOBS=-1
-
- # Set these to "nothing" to prevent the default optimization flags
- # from being added in Makefile.system.
- export COMMON_OPT=" " FCOMMON_OPT=" "
-
- USE_THREAD=0
- if use openmp; then
- USE_THREAD=1; USE_OPENMP=1;
- elif use pthread; then
- USE_THREAD=1; USE_OPENMP=0;
- fi
- export USE_THREAD USE_OPENMP
-
- export PREFIX="${EPREFIX}/usr"
-}
-
-src_unpack() {
- default
- mv "${WORKDIR}"/*OpenBLAS* "${S}" || die
- if use index-64bit; then
- cp -aL "${S}" "${S}-index-64bit" || die
- fi
-}
-
-src_compile() {
- # We have to try extra hard to override AR for now.
- # https://github.com/xianyi/OpenBLAS/issues/2654
- emake AR="$(tc-getAR)"
- emake AR="$(tc-getAR)" -Cinterface shared-blas-lapack
- if use index-64bit; then
- emake -C"${S}-index-64bit" INTERFACE64=1 LIBPREFIX=libopenblas64
- fi
-}
-
-src_test() {
- emake tests
-}
-
-src_install() {
- emake install DESTDIR="${D}" OPENBLAS_INCLUDE_DIR='$(PREFIX)'/include/${PN} \
- OPENBLAS_LIBRARY_DIR='$(PREFIX)'/$(get_libdir)
- dodoc GotoBLAS_*.txt *.md Changelog.txt
-
- if use eselect-ldso; then
- insinto /usr/$(get_libdir)/blas/openblas/
- doins interface/libblas.so.3
- dosym libblas.so.3 usr/$(get_libdir)/blas/openblas/libblas.so
- doins interface/libcblas.so.3
- dosym libcblas.so.3 usr/$(get_libdir)/blas/openblas/libcblas.so
-
- insinto /usr/$(get_libdir)/lapack/openblas/
- doins interface/liblapack.so.3
- dosym liblapack.so.3 usr/$(get_libdir)/lapack/openblas/liblapack.so
- fi
-
- if use index-64bit; then
- insinto /usr/$(get_libdir)/
- dolib.so "${S}-index-64bit"/libopenblas64*.so*
- fi
-}
-
-pkg_postinst() {
- use eselect-ldso || return
- local libdir=$(get_libdir) me="openblas"
-
- # check blas
- eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
- eselect blas set ${libdir} ${me}
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- else
- elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- elog "To use blas [${me}] implementation, you have to issue (as root):"
- elog "\t eselect blas set ${libdir} ${me}"
- fi
-
- # check lapack
- eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
- local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
- if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
- eselect lapack set ${libdir} ${me}
- elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
- else
- elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]."
- elog "To use lapack [${me}] implementation, you have to issue (as root):"
- elog "\t eselect lapack set ${libdir} ${me}"
- fi
-}
-
-pkg_postrm() {
- if use eselect-ldso; then
- eselect blas validate
- eselect lapack validate
- fi
-}
diff --git a/sci-libs/opencascade/Manifest b/sci-libs/opencascade/Manifest
index 3c6a4c44796a..fa54d19c63f2 100644
--- a/sci-libs/opencascade/Manifest
+++ b/sci-libs/opencascade/Manifest
@@ -1 +1,6 @@
-DIST opencascade-7.4.0.tar.gz 49210449 BLAKE2B c92afe7551e9a066ad0940dcf49278b556a726f0534131706b3a11cb0986ba32818e162df3982283f6815eb9d67d7e91f909485d78f2b8d638da1934ffbc2f7f SHA512 eb0d47848d48f42a159ae5d7a4144483ba1f59f634844bd2053e48e04af30a30ba7056112cd38a1730d193a8d736b898f9608dd574cbe6829dbe7257a002772a
+DIST opencascade-7.6.3.tar.gz 48216090 BLAKE2B ff0b63250e77b0240bd99bba38cd0e6b0a8c88bf39e495f5d51d7913f097e2cad83a5ad121e9d56de11c74008249c99a41f4615269a085b7cf97c3d7f0477d6d SHA512 c708f76edb707ba18bdfe7442ed8fa500894ee6c1cd8d0313eb906b3aa7dfa40a575f04dbccd70e84395d670f2b93fb8529f3d59726449234e627b9f35b9dded
+DIST opencascade-7.7.0.tar.gz 48393806 BLAKE2B b41da7bdd07aa6ef52f7833bef3e8a9fc2ca16cbf754773cb7adcc059c11c2a7937d279a2b6cf3096e7af6fbb42c6fdc2a5c98340d6b084d2ba100ba2c538f2a SHA512 6c90e2761f752241417ae6f18d819f51e66b32f3a50a97384f29ed73fa07f4cded84c71a6f6ba302d5e35c57e2fc13001619521eaf45757e4e5ff670d94bbf5c
+DIST opencascade-7.7.2.tar.gz 48404428 BLAKE2B 28d637e75eca570e38401a0a59127ffdbcb06838a91cc3899fe905834bb47e0e9a92d16cde52027d94e78b0fbddc2043340a35dcb0f4a472c4f2bdac2713216c SHA512 d9e882d44bb65616f8cfce68ebdcd5765669b84e3d82cfb2d1bc22b71b0e878442c079bacc37e9d54f28ce98a7c23bf81f2a3e3e7bbeeec38927ca739f423dee
+DIST opencascade-7.8.1.tar.gz 48432051 BLAKE2B de7a40b8e6612642a1567d2cf3e6b471c9edeadbc7f686bc8648502165c8d824b3574259874ecb1775c856703fd8df7481c9bc07a66a3a321a83e699e6802052 SHA512 807c1f8732926cfdabcfbdf8d6a0e76b8dba1a1e614afe084a467ffb4cfd80623f5e3afa7e9905b1ac96667c93e01b5f98ceaa8948a576a1093d98df98cc8f81
+DIST opencascade-dataset-7.7.0.tar.gz 128392200 BLAKE2B ebfbe6f24520144ca4a82e4ddd0486890552c2de1b62bf5c0d4990d777d4a1458dea54f8a6f08d8a0999582fb4325eda0002fc8a0137b9e66d024a47145d1279 SHA512 71d7e807b1d629fe7371b9d1d503024d00b7c1ae1775e62803eeffd127bd1c768e5240fdd1f949a237737089d528b5d4e43d26db025bbe14a4e0e4616ebdc5d8
+DIST opencascade-dataset-7.8.0.tar.xz 97049756 BLAKE2B aae5f076d9fc8a0d8a05028b0d9ffb527978e7acfdf5ecbc7e71c5ee3d6060cd7db9e56dba5b94a445bf5cf208126711cda70306607bdc5cd5e8b68df8fc150c SHA512 9b4c91d7b4743c47f2cf8d9a3b6ded73409a13133013424150ee9bdb61fd771c0b8799c7f31b459a7d2ba140399b9c0c972e2d0476188006361b4fb04042d990
diff --git a/sci-libs/opencascade/files/opencascade-7.4.0-find-qt.patch b/sci-libs/opencascade/files/opencascade-7.4.0-find-qt.patch
deleted file mode 100644
index 1ebc1106a31b..000000000000
--- a/sci-libs/opencascade/files/opencascade-7.4.0-find-qt.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 7304c888e57a581e9dc8ef2005e960ec579d58f4 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl@gmail.com>
-Date: Sat, 9 Nov 2019 17:15:27 +0100
-Subject: [PATCH] Gentoo-specific: disable internal 3RDPARTY_QT_DIR
-
-The patch disables searching for internal 3rd-party Qt. Instead
-system installed Qt is used. The call to find_package uses REQUIRED
-flag for this.
-
-Signed-off-by: Bernd Waibel <waebbl@gmail.com>
----
- adm/cmake/qt.cmake | 24 ++++++++++++------------
- adm/cmake/qt_macro.cmake | 6 +++---
- 2 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/adm/cmake/qt.cmake b/adm/cmake/qt.cmake
-index 6958bab5..b6a9b794 100644
---- a/adm/cmake/qt.cmake
-+++ b/adm/cmake/qt.cmake
-@@ -3,27 +3,27 @@
- # Qt is searched manually first (just determine root)
- message (STATUS "Processing Qt 3-rd party")
-
--if (NOT DEFINED ${3RDPARTY_QT_DIR} AND ${3RDPARTY_QT_DIR} STREQUAL "")
-- FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" Qt 3RDPARTY_QT_DIR_NAME)
-+#if (NOT DEFINED ${3RDPARTY_QT_DIR} AND ${3RDPARTY_QT_DIR} STREQUAL "")
-+# FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" Qt 3RDPARTY_QT_DIR_NAME)
-
-- if (NOT DEFINED ${3RDPARTY_QT_DIR_NAME} AND ${3RDPARTY_QT_DIR_NAME} STREQUAL "")
-- message (FATAL_ERROR "... Qt root directory was not found")
-- endif()
-+# if (NOT DEFINED ${3RDPARTY_QT_DIR_NAME} AND ${3RDPARTY_QT_DIR_NAME} STREQUAL "")
-+# message (FATAL_ERROR "... Qt root directory was not found")
-+# endif()
-
- # Combine directory name with absolute path and show in GUI
-- set (3RDPARTY_QT_DIR "${3RDPARTY_DIR}/${3RDPARTY_QT_DIR_NAME}" CACHE PATH "The directory containing Qt" FORCE)
-- message (STATUS "Info: Qt is used from folder: ${3RDPARTY_QT_DIR}")
--endif()
-+# set (3RDPARTY_QT_DIR "${3RDPARTY_DIR}/${3RDPARTY_QT_DIR_NAME}" CACHE PATH "The directory containing Qt" FORCE)
-+# message (STATUS "Info: Qt is used from folder: ${3RDPARTY_QT_DIR}")
-+#endif()
-
--set (USED_3RDPARTY_QT_DIR "${3RDPARTY_QT_DIR}")
-+#set (USED_3RDPARTY_QT_DIR "${3RDPARTY_QT_DIR}")
-
- # Now set CMAKE_PREFIX_PATH to point to local Qt installation.
- # Without this setting find_package() will not work
--set(CMAKE_PREFIX_PATH ${3RDPARTY_QT_DIR})
-+#set(CMAKE_PREFIX_PATH ${3RDPARTY_QT_DIR})
-
- # Now we can apply standard CMake finder for Qt5. We do this mostly
- # to have qt5_wrap_cpp() function available and Qt5_FOUND variable filled
--find_package(Qt5 QUIET COMPONENTS Widgets Quick Xml PATHS ${3RDPARTY_QT_DIR} NO_DEFAULT_PATH)
-+find_package(Qt5 COMPONENTS Widgets Quick Xml REQUIRED)
- if (NOT ${Qt5_FOUND})
- # Now we can apply standard CMake finder for Qt. We do this mostly
- # to have qt4_wrap_cpp() function available
-@@ -31,4 +31,4 @@ if (NOT ${Qt5_FOUND})
- #message (STATUS "Qt4 cmake configuration")
- else()
- #message (STATUS "Qt5 cmake configuration")
--endif()
-\ No newline at end of file
-+endif()
-diff --git a/adm/cmake/qt_macro.cmake b/adm/cmake/qt_macro.cmake
-index ec897384..8bd314a4 100644
---- a/adm/cmake/qt_macro.cmake
-+++ b/adm/cmake/qt_macro.cmake
-@@ -2,9 +2,9 @@
-
- macro (FIND_QT_PACKAGE PROJECT_LIBRARIES_DEBUG PROJECT_LIBRARIES_RELEASE PROJECT_INCLUDES)
-
-- if ("${3RDPARTY_QT_DIR}" STREQUAL "")
-- message (FATAL_ERROR "Empty Qt dir")
-- endif()
-+# if ("${3RDPARTY_QT_DIR}" STREQUAL "")
-+# message (FATAL_ERROR "Empty Qt dir")
-+# endif()
-
- if (${Qt5_FOUND})
- #message (STATUS "Qt5 cmake configuration")
---
-2.23.0
-
diff --git a/sci-libs/opencascade/files/opencascade-7.4.0-fix-install.patch b/sci-libs/opencascade/files/opencascade-7.4.0-fix-install.patch
deleted file mode 100644
index edf3545a74bd..000000000000
--- a/sci-libs/opencascade/files/opencascade-7.4.0-fix-install.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 95c7c85f776d6e4764f2146c8385d6e29762043d Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl@gmail.com>
-Date: Sat, 16 Nov 2019 18:28:11 +0100
-Subject: [PATCH] Gentoo-specific: patch installation paths
-
-Patch parts of cmake to install into proper locations and handle slotting.
-
-Signed-off-by: Bernd Waibel <waebbl@gmail.com>
----
- CMakeLists.txt | 28 +++++++++++++++-------------
- adm/cmake/occt_macros.cmake | 2 +-
- 2 files changed, 16 insertions(+), 14 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0b445de9..1fd5779e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -15,6 +15,8 @@ macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
- endif()
- endmacro()
-
-+SET(CMAKE_INSTALL_DO_STRIP OFF)
-+
- # include variable description
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vardescr")
-
-@@ -231,7 +233,7 @@ endif()
- # place the libraries to <prefix>/lib folder for unix and leave old structure for windows
- if (NOT DEFINED INSTALL_DIR_LIB)
- if ("${INSTALL_DIR_LAYOUT}" STREQUAL "Unix")
-- set (INSTALL_DIR_LIB "lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}")
-+ set (INSTALL_DIR_LIB "lib${LIB_SUFFIX}" CACHE PATH "${INSTALL_DIR_LIB_DESCR}")
- else()
- set (INSTALL_DIR_LIB "${OS_WITH_BIT}/${COMPILER}/lib" CACHE PATH "${INSTALL_DIR_LIB_DESCR}")
- endif()
-@@ -315,9 +317,9 @@ endif()
- if (NOT DEFINED INSTALL_DIR_CMAKE)
- if ("${INSTALL_DIR_LAYOUT}" STREQUAL "Unix")
- if (INSTALL_DIR_WITH_VERSION)
-- set (INSTALL_DIR_CMAKE "lib/cmake/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}")
-+ set (INSTALL_DIR_CMAKE "lib${LIB_SUFFIX}/cmake/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}")
- else()
-- set (INSTALL_DIR_CMAKE "lib/cmake/opencascade" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}")
-+ set (INSTALL_DIR_CMAKE "lib${LIB_SUFFIX}/cmake/opencascade-${OCC_VERSION_STRING_EXT}" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}")
- endif()
- else()
- set (INSTALL_DIR_CMAKE "cmake" CACHE PATH "${INSTALL_DIR_CMAKE_DESCR}")
-@@ -868,10 +870,10 @@ if (${DRAWEXE_INDEX} GREATER -1)
- # copy draw script to install script folder
- if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}")
- install (FILES "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
-- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
-+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
- else()
- install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
-- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
-+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
- endif()
-
- # copy draw script to CMake binary folder
-@@ -892,9 +894,9 @@ if (EXISTS "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}")
-
- set (CUSTOM_CONTENT "${CUSTOM_CONTENT} ${ADDITIONAL_CUSTOM_CONTENT}")
-
-- file (WRITE "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}" "${CUSTOM_CONTENT}")
-+ file (WRITE "${CMAKE_BINARY_DIR}/custom.${SCRIPT_EXT}" "${CUSTOM_CONTENT}")
- else()
-- OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "${INSTALL_DIR_SCRIPT}")
-+ OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}")
- endif()
-
- if (WIN32)
-@@ -1067,10 +1069,10 @@ if (BUILD_TOOL_TOOLKITS)
- # copy tinspector script to install script folder
- if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}")
- install (FILES "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
-- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
-+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
- else()
- install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
-- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
-+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
- endif()
-
- set (OpenCASCADE_BINARY_DIR "${INSTALL_DIR}/${INSTALL_DIR_BIN}")
-@@ -1122,7 +1124,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
- endforeach()
- # install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
- install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
--install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
-+install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"\$ENV{DESTDIR}${INSTALL_DIR_CMAKE}/opencascade-${OCC_VERSION_STRING_EXT}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
-
- foreach (OCCT_MODULE ${OCCT_MODULES})
- if (BUILD_MODULE_${OCCT_MODULE})
-@@ -1163,7 +1165,7 @@ endif()
-
- # Configure and install cmake config file
- configure_file("${CMAKE_SOURCE_DIR}/adm/templates/OpenCASCADEConfig.cmake.in" "OpenCASCADEConfig.cmake" @ONLY)
--install(FILES "${CMAKE_BINARY_DIR}/OpenCASCADEConfig.cmake" DESTINATION "${INSTALL_DIR_CMAKE}")
-+install(FILES "${CMAKE_BINARY_DIR}/OpenCASCADEConfig.cmake" DESTINATION "${INSTALL_DIR_CMAKE}/opencascade-${OCC_VERSION_STRING_EXT}")
-
- # Configure cmake version file
- include(CMakePackageConfigHelpers)
-@@ -1172,11 +1174,11 @@ write_basic_package_version_file( ${CMAKE_BINARY_DIR}/OpenCASCADEConfigVersion.c
- COMPATIBILITY ExactVersion )
-
- # Install cmake version file
--install (FILES "${CMAKE_BINARY_DIR}/OpenCASCADEConfigVersion.cmake" DESTINATION "${INSTALL_DIR_CMAKE}")
-+install (FILES "${CMAKE_BINARY_DIR}/OpenCASCADEConfigVersion.cmake" DESTINATION "${INSTALL_DIR_CMAKE}/opencascade-${OCC_VERSION_STRING_EXT}")
-
- # Install the export set for use with the install-tree for each configuration
- foreach (OCCT_MODULE ${OCCT_MODULES_ENABLED})
-- install(EXPORT OpenCASCADE${OCCT_MODULE}Targets DESTINATION "${INSTALL_DIR_CMAKE}")
-+ install(EXPORT OpenCASCADE${OCCT_MODULE}Targets DESTINATION "${INSTALL_DIR_CMAKE}/opencascade-${OCC_VERSION_STRING_EXT}")
- endforeach()
-
- # Update generated OpenCASCADETargets-*.cmake files
-diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake
-index 8220ecd5..228d801b 100644
---- a/adm/cmake/occt_macros.cmake
-+++ b/adm/cmake/occt_macros.cmake
-@@ -598,7 +598,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
- "cmake_policy(PUSH)
- cmake_policy(SET CMP0007 NEW)
- string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
-- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
-+ file (GLOB ALL_OCCT_TARGET_FILES \"\$ENV{DESTDIR}${INSTALL_DIR_CMAKE}/opencascade-${OCC_VERSION_STRING_EXT}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
- foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
- file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
- file (REMOVE \"\${TARGET_FILENAME}\")
---
-2.23.0
-
diff --git a/sci-libs/opencascade/files/opencascade-7.4.0.env.in b/sci-libs/opencascade/files/opencascade-7.4.0.env.in
deleted file mode 100644
index 2eefe188c1ab..000000000000
--- a/sci-libs/opencascade/files/opencascade-7.4.0.env.in
+++ /dev/null
@@ -1,103 +0,0 @@
-#
-# This file sets needed and optional environment variables for
-# Open CASCADE Technology
-#
-# See: https://dev.opencascade.org/doc/overview/html/index.html#OCCT_OVW_SECTION_4_2
-# for further documentation.
-#
-# Some of the values are set at compile time depending on what USE flags
-# were enabled. Those values are marked as such.
-
-# define the root directory of Open CASCADE Technology (needed)
-CASROOT=VAR_CASROOT
-# PATH and LDPATH are used to find the binaries and libraries of OCCT (needed)
-PATH=VAR_CASROOT/bin
-LDPATH=VAR_CASROOT/lib
-
-#############################################################################
-# The MMGT_* variables are used to determine how memory management will work
-# in OCCT. All of those are optional. If they are not set here, their default
-# values will be used.
-#
-# Uncomment or change the ones you need to adapt from its default.
-#############################################################################
-# MMGT_OPT = {0,1,2} (default: 0) set at compile time
-# if set to 0 (the default), every memory block is allocated in C
-# memory heap directly (via malloc() and free()). Will be set, if
-# neither the the 'optimize' nor the 'tbb' USE flags are set.
-# if set to 1, the memory manager performs it's own internal optimization.
-# Will be set, if the 'optimize' USE flag is set.
-# if set to 2, Intel(R) TBB optimized memory manager is used. Will be set,
-# if the 'tbb' USE flag is set.
-#MMGT_OPT=0
-
-# MMGT_CLEAR = {0,1} (default: 1)
-# if set to 0, memory block is returned as it is. Will be set, if the
-# 'optimize' USE flag is set
-# if set to 1, every allocated memory block is cleared by zeros
-#MMGT_CLEAR=1
-
-# MMGT_CELLSIZE (default: 200)
-# defines the maximal size of blocks allocated in large pools of memory.
-#MMGT_CELLSIZE=200
-
-# MMGT_NBPAGES (default: 10000)
-# defines the size of memory chunks allocated for small blocks in pages
-# (OS dependant)
-#MMGT_NBPAGES=10000
-
-# MMGT_THRESHOLD (default: 40000)
-# defines the maximal size of blocks that are recycled internally instead
-# of being returned to the heap.
-#MMGT_THRESHOLD=40000
-
-# MMGT_MMAP = {0,1} (default: 1)
-# if set to 0, large memory blocks will be allocated in the C heap by
-# malloc()
-# if set to 1, large memory blocks are allocated using memory mapping
-# functions of the operating system.
-#MMGT_MMAP=1
-
-# CSF_LANGUAGE (default: us) optional
-# defines the default language of messages indicated by a two-letter
-# country code. Currently it's not verified if this work with other
-# than the default languages, so we keep it commented.
-#CSF_LANGUAGE=us
-
-# CSF_DEBUG_BOP (default: undefined) optional
-# if defined then it should specify the directory where diagnostic data
-# on problems occured in Boolean operations will be saved. Not defined by
-# default.
-#
-# NOTE: Only enable for debugging purposes. If set, this variable has a
-# large impact on the performance of boolean operations.
-#CSF_DEBUG_BOP=/var/tmp
-
-# CSF_EXCEPTION_PROMPT (default: 1) optional
-# not documented upstream (maybe a flag indicating whether the user shall
-# be prompted in the case of exceptions)
-CSF_EXCEPTION_PROMPT=1
-
-# The following CSF_* variables define various directories and files where
-# OCCT is looking for resources.
-CSF_GraphicShr=VAR_CASROOT/lib/libTKOpenGl.so
-CSF_MIGRATION_TYPES=VAR_CASROOT/share/opencascade/resources/StdResource/MigrationSheet.txt
-CSF_MDTVTexturesDirectory=VAR_CASROOT/share/opencascade/resources/Textures
-CSF_PluginDefaults=VAR_CASROOT/share/opencascade/resources/StdResource
-CSF_StandardDefaults=VAR_CASROOT/share/opencascade/resources/StdResource
-CSF_StandardLiteDefaults=VAR_CASROOT/share/opencascade/resources/StdResource
-CSF_XCAFDefaults=VAR_CASROOT/share/opencascade/resources/StdResource
-CSF_XmlOcafResource=VAR_CASROOT/share/opencascade/resources/XmlOcafResource
-# The below values might be optional.
-CSF_IGESDefaults=VAR_CASROOT/share/opencascade/resources/XSTEPResource
-CSF_ShadersDirectory=VAR_CASROOT/share/opencascade/resources/Shaders
-CSF_SHMessage=VAR_CASROOT/share/opencascade/resources/SHMessage
-CSF_STEPDefaults=VAR_CASROOT/share/opencascade/resources/XSTEPResource
-CSF_UnitsDefinition=/usr/lib64/opencascade-7.3.0/ros/share/opencascade/resources/UnitsAPI/Units.dat
-CSF_XSMessage=/usr/lib64/opencascade-7.3.0/ros/share/opencascade/resources/XSMessage
-
-# TODO: check those
-# they were defined in the original ebuild but the directories and files
-# are not present in the current installation.
-#CSF_MDTVFontDirectory=VAR_CASROOT/src/FontMFT
-#CSF_UnitsLexicon=VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat
diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch
new file mode 100644
index 000000000000..caace23fc2d8
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.5.1-0004-fix-installation-of-cmake-config-files.patch
@@ -0,0 +1,40 @@
+From 8469f927963fe4bece05297c514fb2b9f9ad9b1a Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl@gmail.com>
+Date: Fri, 5 Feb 2021 13:44:15 +0100
+Subject: [PATCH] fix installation of cmake config files
+
+Signed-off-by: Bernd Waibel <waebbl@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ adm/cmake/occt_macros.cmake | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 100d6133..bc8cdb92 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1156,7 +1156,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
+ endforeach()
+ # install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
+ install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
+-install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
++install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
+
+ foreach (OCCT_MODULE ${OCCT_MODULES})
+ if (BUILD_MODULE_${OCCT_MODULE})
+diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake
+index 0a387945..f10fe5e3 100644
+--- a/adm/cmake/occt_macros.cmake
++++ b/adm/cmake/occt_macros.cmake
+@@ -592,7 +592,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
+ "cmake_policy(PUSH)
+ cmake_policy(SET CMP0007 NEW)
+ string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
+- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
++ file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
+ foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
+ file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
+ file (REMOVE \"\${TARGET_FILENAME}\")
+--
+2.30.0
+
diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch
new file mode 100644
index 000000000000..1cb397e0a976
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.5.1-0005-fix-write-permissions-on-scripts.patch
@@ -0,0 +1,43 @@
+From 5f7db00bfc56d497a1897102a5ddd5bdddd72942 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Fri, 16 Apr 2021 01:04:24 +0200
+Subject: [PATCH] fix write permissions on scripts
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ CMakeLists.txt | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 100d6133..e9e8fb29 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -890,10 +890,10 @@ if (${DRAWEXE_INDEX} GREATER -1)
+ # copy draw script to install script folder
+ if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}")
+ install (FILES "${BUILD_PATCH}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ else()
+ install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ endif()
+
+ # copy draw script to CMake binary folder
+@@ -1101,10 +1101,10 @@ if (BUILD_TOOL_TOOLKITS)
+ # copy tinspector script to install script folder
+ if (BUILD_PATCH AND EXISTS "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}")
+ install (FILES "${BUILD_PATCH}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ else()
+ install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/inspector.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ endif()
+
+ set (OpenCASCADE_BINARY_DIR "${INSTALL_DIR}/${INSTALL_DIR_BIN}")
+--
+2.31.1
+
diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch b/sci-libs/opencascade/files/opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch
new file mode 100644
index 000000000000..0ab023693e65
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.5.1-0006-fix-creation-of-custom.sh-script.patch
@@ -0,0 +1,34 @@
+From 0df9b2c485da92c6e9fdd6d4b5ea1ec6588bd66f Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Fri, 16 Apr 2021 14:32:24 +0200
+Subject: [PATCH] fix creation of custom.sh script
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ CMakeLists.txt | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 100d6133..7799b73a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -909,15 +909,7 @@ else()
+ endif()
+
+ # change custom.bat/sh
+-if (EXISTS "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}")
+- file (READ "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}" CUSTOM_CONTENT)
+-
+- set (CUSTOM_CONTENT "${CUSTOM_CONTENT} ${ADDITIONAL_CUSTOM_CONTENT}")
+-
+- file (WRITE "${INSTALL_DIR}/${INSTALL_DIR_SCRIPT}/custom.${SCRIPT_EXT}" "${CUSTOM_CONTENT}")
+-else()
+- OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "${INSTALL_DIR_SCRIPT}")
+-endif()
++OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "${INSTALL_DIR_SCRIPT}")
+
+ if (WIN32)
+ set (THIRDPARTY_DIR_REPLACE "%THIRDPARTY_DIR%")
+--
+2.31.1
+
diff --git a/sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch b/sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch
new file mode 100644
index 000000000000..38770ac9a541
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.5.3-tbb-2021.patch
@@ -0,0 +1,51 @@
+https://github.com/Open-Cascade-SAS/OCCT/commit/740833a6a88e481f474783c426b6f6311ed586d3
+
+From 740833a6a88e481f474783c426b6f6311ed586d3 Mon Sep 17 00:00:00 2001
+From: kgv <kgv@opencascade.com>
+Date: Mon, 29 Nov 2021 21:26:45 +0300
+Subject: [PATCH] 0032697: Configuration - fix compilation errors with oneTBB
+ 2021
+
+Removed usage of no more existing tbb::task_scheduler_init and tbb::captured_exception.
+--- a/src/OSD/OSD_Parallel_TBB.cxx
++++ b/src/OSD/OSD_Parallel_TBB.cxx
+@@ -25,7 +25,9 @@ Standard_DISABLE_DEPRECATION_WARNINGS
+ #include <tbb/parallel_for.h>
+ #include <tbb/parallel_for_each.h>
+ #include <tbb/blocked_range.h>
+-#include <tbb/task_scheduler_init.h>
++#if TBB_VERSION_MAJOR < 2021
++ #include <tbb/task_scheduler_init.h>
++#endif
+ Standard_ENABLE_DEPRECATION_WARNINGS
+
+ //=======================================================================
+@@ -38,12 +40,16 @@ void OSD_Parallel::forEachExternal (UniversalIterator& theBegin,
+ const FunctorInterface& theFunctor,
+ Standard_Integer theNbItems)
+ {
++#if TBB_VERSION_MAJOR >= 2021
++ // task_scheduler_init is removed,
++ // exceptions are captured without proxy tbb::captured_exception object
++ (void )theNbItems;
++ tbb::parallel_for_each (theBegin, theEnd, theFunctor);
++#else
+ try
+ {
+ const Handle(OSD_ThreadPool)& aThreadPool = OSD_ThreadPool::DefaultPool();
+- const Standard_Integer aNbThreads = theNbItems > 0 ?
+- aThreadPool->NbDefaultThreadsToLaunch() : -1;
+-
++ const Standard_Integer aNbThreads = theNbItems > 0 ? aThreadPool->NbDefaultThreadsToLaunch() : -1;
+ tbb::task_scheduler_init aScheduler (aNbThreads);
+ tbb::parallel_for_each (theBegin, theEnd, theFunctor);
+ }
+@@ -51,6 +57,7 @@ void OSD_Parallel::forEachExternal (UniversalIterator& theBegin,
+ {
+ throw Standard_ProgramError (anException.what());
+ }
++#endif
+ }
+
+ #endif /* HAVE_TBB */
+
diff --git a/sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch b/sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch
new file mode 100644
index 000000000000..144047fba163
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.6.2-avoid-pre-stripping-binaries.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/831800
+https://dev.opencascade.org/content/dont-pre-strip-binaries
+
+From 88e59e0199daaf66184833e366e9deb1299078a9 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sun, 5 Jun 2022 09:48:09 +0200
+Subject: [PATCH] avoid pre-stripping binaries
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/adm/cmake/occt_defs_flags.cmake
++++ b/adm/cmake/occt_defs_flags.cmake
+@@ -133,8 +133,6 @@ if ("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xClang")
+ # does not support option "-std=c++0x"
+ set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
+ endif()
+- # Optimize size of binaries
+- set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS}")
+ elseif(MINGW)
+ add_definitions(-D_WIN32_WINNT=0x0601)
+ # _WIN32_WINNT=0x0601 (use Windows 7 SDK)
+@@ -150,9 +148,6 @@ elseif(MINGW)
+ elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
+ # Require C++11
+ set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}")
+- # Optimize size of binaries
+- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+ endif()
+
+ if (BUILD_RELEASE_DISABLE_EXCEPTIONS)
+--
+2.35.1
+
diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch b/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch
new file mode 100644
index 000000000000..2bc59319864a
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-add-missing-include-limits.patch
@@ -0,0 +1,19 @@
+From 44a30819131496bf41f2e1dcfd362b23173db6fb Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 5 Oct 2022 21:55:06 +0200
+Subject: [PATCH] add missing #include <limits>
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/src/ViewerTest/ViewerTest_CmdParser.cxx
++++ b/src/ViewerTest/ViewerTest_CmdParser.cxx
+@@ -21,6 +21,7 @@
+
+ #include <algorithm>
+ #include <iostream>
++#include <limits>
+
+ namespace
+ {
+--
+2.38.0
+
diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-avoid-pre-stripping-binaries.patch b/sci-libs/opencascade/files/opencascade-7.7.0-avoid-pre-stripping-binaries.patch
new file mode 100644
index 000000000000..5c351cb32996
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-avoid-pre-stripping-binaries.patch
@@ -0,0 +1,34 @@
+From e145fb627d199e888267e19eab951c69c2f8151c Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sat, 8 Oct 2022 13:16:47 +0200
+Subject: [PATCH] avoid pre-stripping binaries
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/adm/cmake/occt_defs_flags.cmake
++++ b/adm/cmake/occt_defs_flags.cmake
+@@ -135,22 +135,12 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "[Cc][Ll][Aa][Nn][Gg]")
+ # CLang can be used with both libstdc++ and libc++, however on OS X libstdc++ is outdated.
+ set (CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
+ endif()
+- # Optimize size of binaries
+- set (CMAKE_SHARED_LINKER_FLAGS "-Wl,-s ${CMAKE_SHARED_LINKER_FLAGS}")
+ elseif(MINGW)
+ add_definitions(-D_WIN32_WINNT=0x0601)
+ # _WIN32_WINNT=0x0601 (use Windows 7 SDK)
+ #set (CMAKE_SYSTEM_VERSION "6.1")
+ # workaround bugs in mingw with vtable export
+ set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols")
+-
+- # Optimize size of binaries
+- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+-elseif (DEFINED CMAKE_COMPILER_IS_GNUCXX)
+- # Optimize size of binaries
+- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
+- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
+ endif()
+
+ if (BUILD_RELEASE_DISABLE_EXCEPTIONS)
+--
+2.38.0
+
diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-build-against-vtk-9.2.patch b/sci-libs/opencascade/files/opencascade-7.7.0-build-against-vtk-9.2.patch
new file mode 100644
index 000000000000..7e744189a8d2
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-build-against-vtk-9.2.patch
@@ -0,0 +1,36 @@
+From: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=7f523af8e8a63ee17d8fc26f107c191cd51dcd44;hp=0b4962a7f04caef12d090d087b7196cefde0703c
+
+From: Aiden Grossman <agrossman154@yahoo.com>
+Date: Mon, 10 Oct 2022 18:25:13 +0000 (-0700)
+Subject: Fix naming conflict between X11 headers and VTK 9.2.2+
+X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=commitdiff_plain;h=7f523af8e8a63ee17d8fc26f107c191cd51dcd44;hp=0b4962a7f04caef12d090d087b7196cefde0703c
+
+Fix naming conflict between X11 headers and VTK 9.2.2+
+
+Currently, the GLX headers include the X11 headers which use a
+preprocessor define to make Status an int. However, VTK has a class
+called Status, and this define replaces this class name with int which
+results in compilation errors. This patch undefs Status and Success,
+which are both defined in the X11 headers if they exist so that there
+are no conflicts within the VTK headers for newer versions.
+---
+
+--- a/src/IVtkDraw/IVtkDraw_Interactor.cxx
++++ b/src/IVtkDraw/IVtkDraw_Interactor.cxx
+@@ -27,6 +27,16 @@
+ #undef AllValues
+ #endif
+
++// Prevent naming collisions between X11
++// and VTK versions 9.2.0 and above.
++// X11 is included through glx
++#ifdef Status
++#undef Status
++#endif
++#ifdef Success
++#undef Success
++#endif
++
+ #include <vtkXRenderWindowInteractor.h>
+ #include <vtkXOpenGLRenderWindow.h>
+ #endif
diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-fix-installation-of-cmake-config-files.patch b/sci-libs/opencascade/files/opencascade-7.7.0-fix-installation-of-cmake-config-files.patch
new file mode 100644
index 000000000000..924f002b727d
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-fix-installation-of-cmake-config-files.patch
@@ -0,0 +1,33 @@
+From 4eb2236370134117729bc4d55191fce736bf4df6 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Thu, 6 Oct 2022 18:53:41 +0200
+Subject: [PATCH] fix installation of cmake config files
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1265,7 +1265,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
+ endforeach()
+ # install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
+ install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
+-install (CODE "file(INSTALL FILES \"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" DESTINATION \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/\" TYPE FILE)")
++install (FILES "${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake" DESTINATION "${INSTALL_DIR_CMAKE}")
+
+ foreach (OCCT_MODULE ${OCCT_MODULES})
+ if (BUILD_MODULE_${OCCT_MODULE})
+diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake
+index 4a060665..8ab5e39c 100755
+--- a/adm/cmake/occt_macros.cmake
++++ b/adm/cmake/occt_macros.cmake
+@@ -590,7 +590,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
+
+ install (CODE
+ "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
+- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
++ file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
+ foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
+ file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
+ file (REMOVE \"\${TARGET_FILENAME}\")
+--
+2.38.0
+
diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-jemalloc-lib-type.patch b/sci-libs/opencascade/files/opencascade-7.7.0-jemalloc-lib-type.patch
new file mode 100644
index 000000000000..c80d9946b7c6
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-jemalloc-lib-type.patch
@@ -0,0 +1,27 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+
+Only try to find the jemalloc libs we are going to use
+
+diff --git a/adm/cmake/jemalloc.cmake b/adm/cmake/jemalloc.cmake
+index b37d5d276..deef66d6c 100644
+--- a/adm/cmake/jemalloc.cmake
++++ b/adm/cmake/jemalloc.cmake
+@@ -128,6 +128,7 @@ endmacro()
+ # Reset CSF variable
+ set (CSF_MMGR "")
+
++if(BUILD_LIBRARY_TYPE EQUAL "Static")
+ # find static jemalloc lib
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
+ if (WIN32)
+@@ -137,7 +138,10 @@ elseif(NOT WIN32)
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES "" "so")
+ JEMALLOC_LIB_SEARCH ("jemalloc.so.2" "SHARED")
+ endif()
++endif()
+
++if(BUILD_LIBRARY_TYPE EQUAL "Shared")
+ # find shared jemalloc lib
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll" ".so")
+ JEMALLOC_LIB_SEARCH ("jemalloc" "SHARED")
++endif()
diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-musl.patch b/sci-libs/opencascade/files/opencascade-7.7.0-musl.patch
new file mode 100644
index 000000000000..45aeb449ac73
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-musl.patch
@@ -0,0 +1,97 @@
+From 4351ac37b19bf43ff9a8f21e5126deb7f43f751e Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Tue, 11 Jul 2023 16:13:32 -0400
+Subject: [PATCH] Fix building with musl
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -554,6 +554,10 @@ OCCT_IS_PRODUCT_REQUIRED (CSF_EIGEN CAN_USE_EIGEN)
+ # define CSF variable
+ OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_csf")
+
++# Check for execinfo.h
++include(CheckIncludeFile)
++CHECK_INCLUDE_FILE("execinfo.h" HAS_EXECINFO_H)
++
+ # Tcl (mandatory for Draw Harness)
+ if (USE_TCL)
+ message (STATUS "Info: TCL is used by OCCT")
+--- a/src/OSD/OSD_MemInfo.cxx
++++ b/src/OSD/OSD_MemInfo.cxx
+@@ -184,12 +184,16 @@ void OSD_MemInfo::Update()
+ #endif
+ #endif
+
++ #if defined(__GLIBC__)
+ #ifdef HAS_MALLINFO2
+ const struct mallinfo2 aMI = mallinfo2();
+ #else
+ const struct mallinfo aMI = mallinfo();
+ #endif
+ myCounters[MemHeapUsage] = aMI.uordblks;
++ #else
++ myCounters[MemHeapUsage] = 0;
++ #endif
+ }
+
+ if (!IsActive (MemVirtual)
+--- a/src/OSD/OSD_signal.cxx
++++ b/src/OSD/OSD_signal.cxx
+@@ -758,7 +758,7 @@ typedef void (* SIG_PFV) (int);
+
+ #include <signal.h>
+
+-#if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__EMSCRIPTEN__)
++#if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__EMSCRIPTEN__) && defined(__GLIBC__)
+ #include <sys/signal.h>
+ #endif
+
+@@ -974,7 +974,7 @@ static void SegvHandler(const int theSignal,
+ //=======================================================================
+ void OSD::SetFloatingSignal (Standard_Boolean theFloatingSignal)
+ {
+-#if defined (__linux__)
++#if defined (__linux__) && defined(__GLIBC__)
+ feclearexcept (FE_ALL_EXCEPT);
+ if (theFloatingSignal)
+ {
+@@ -1007,7 +1007,7 @@ void OSD::SetFloatingSignal (Standard_Boolean theFloatingSignal)
+ //=======================================================================
+ Standard_Boolean OSD::ToCatchFloatingSignals()
+ {
+-#if defined (__linux__)
++#if defined (__linux__) && defined(__GLIBC__)
+ return (fegetexcept() & _OSD_FPX) != 0;
+ #else
+ return Standard_False;
+--- a/src/Standard/Standard_StackTrace.cxx
++++ b/src/Standard/Standard_StackTrace.cxx
+@@ -29,7 +29,7 @@
+ //#include <unwind.h>
+ #elif defined(__QNX__)
+ //#include <backtrace.h> // requires linking to libbacktrace
+-#elif !defined(_WIN32) && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
++#elif defined (HAS_EXECINFO_H)
+ #include <execinfo.h>
+ #elif defined(_WIN32) && !defined(OCCT_UWP)
+
+@@ -313,7 +313,7 @@ Standard_Boolean Standard::StackTrace (char* theBuffer,
+ Message::SendTrace ("Standard::StackTrace() is not implemented for this CPU architecture");
+ return false;
+ #endif
+-#else
++#elif defined (HAS_EXECINFO_H)
+ const int aTopSkip = theNbTopSkip + 1; // skip this function call and specified extra number
+ int aNbTraces = theNbTraces + aTopSkip;
+ void** aStackArr = (void** )alloca (sizeof(void*) * aNbTraces);
+@@ -360,5 +360,7 @@ Standard_Boolean Standard::StackTrace (char* theBuffer,
+ strcat (theBuffer, "\n=============");
+ }
+ return true;
++#else
++ return false;
+ #endif
+ }
+--
+2.41.0
+
diff --git a/sci-libs/opencascade/files/opencascade-7.7.0-tbb-detection.patch b/sci-libs/opencascade/files/opencascade-7.7.0-tbb-detection.patch
new file mode 100644
index 000000000000..c93b009a9da6
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.7.0-tbb-detection.patch
@@ -0,0 +1,53 @@
+From: Fabio Rossi <rossi.f@inwind.it>
+See-Also: https://tracker.dev.opencascade.org/view.php?id=33612
+Fix tbb detection
+
+--- ./adm/cmake/tbb.cmake 2022-11-11 23:19:44.000000000 +0100
++++ ./adm/cmake/tbb.cmake.new 2024-02-24 18:59:32.267165878 +0100
+@@ -56,13 +56,17 @@
+ list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
+ endif()
+
++ # Get installed configuration of tbb
++ get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS)
++ list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
++
+ separate_arguments (CSF_TBB)
+ foreach (LIB IN LISTS CSF_TBB)
+ string(TOLOWER "${LIB}" LIB_LOWER)
+ string(TOUPPER "${LIB}" LIB_UPPER)
+
+ # Achive *.lib files and directory containing it.
+- get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_RELEASE)
++ get_target_property (TBB_LIB_FILE "TBB::${LIB_LOWER}" IMPORTED_IMPLIB_${CHOSEN_IMPORT_CONF})
+ # Reserve cache variable for *.lib.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.lib)")
+@@ -89,7 +93,7 @@
+ endif()
+
+ # Achive *.dll files and directory containing it.
+- get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
++ get_target_property (TBB_DLL_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
+ # Reserve cache variable for *.dll.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_DLL)
+ set (3RDPARTY_${LIB_UPPER}_DLL "" CACHE FILEPATH "${LIB_UPPER} library (*.dll)")
+@@ -185,13 +189,17 @@
+ list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_TBB_INCLUDE_DIR)
+ endif()
+
++ # Get installed configuration of tbb
++ get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS)
++ list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF)
++
+ separate_arguments (CSF_TBB)
+ foreach (LIB IN LISTS CSF_TBB)
+ string(TOLOWER "${LIB}" LIB_LOWER)
+ string(TOUPPER "${LIB}" LIB_UPPER)
+
+ # Achive *.so files and directory containing it.
+- get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_RELEASE)
++ get_target_property (TBB_SO_FILE "TBB::${LIB_LOWER}" IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF})
+ # Reserve cache variable for *.so.
+ if (NOT DEFINED 3RDPARTY_${LIB_UPPER}_LIBRARY)
+ set (3RDPARTY_${LIB_UPPER}_LIBRARY "" CACHE FILEPATH "${LIB_UPPER} library (*.so)")
diff --git a/sci-libs/opencascade/files/opencascade-7.8.0-cmake-min-version.patch b/sci-libs/opencascade/files/opencascade-7.8.0-cmake-min-version.patch
new file mode 100644
index 000000000000..b0a9d026f34e
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.8.0-cmake-min-version.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+
+Bump cmake minimum version to remove warning
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 88d34f0..232c643 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required (VERSION 3.1 FATAL_ERROR)
++cmake_minimum_required (VERSION 3.5 FATAL_ERROR)
+
+ set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/adm/cmake")
+
diff --git a/sci-libs/opencascade/files/opencascade-7.8.0-jemalloc-noexcept.patch b/sci-libs/opencascade/files/opencascade-7.8.0-jemalloc-noexcept.patch
new file mode 100644
index 000000000000..2c4a98f5a1fd
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.8.0-jemalloc-noexcept.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Standard/Standard.cxx b/src/Standard/Standard.cxx
+index bb06de7..f73164f 100644
+--- a/src/Standard/Standard.cxx
++++ b/src/Standard/Standard.cxx
+@@ -28,7 +28,7 @@
+ #elif (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) && (defined(__i386) || defined(__x86_64)))
+ #include <mm_malloc.h>
+ #else
+-extern "C" int posix_memalign(void** thePtr, size_t theAlign, size_t theSize);
++extern "C" int posix_memalign(void** thePtr, size_t theAlign, size_t theSize) throw ();
+ #endif
+
+ namespace
diff --git a/sci-libs/opencascade/files/opencascade-7.8.0-tests.patch b/sci-libs/opencascade/files/opencascade-7.8.0-tests.patch
new file mode 100644
index 000000000000..cf45ca5ce246
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.8.0-tests.patch
@@ -0,0 +1,19 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+
+Fix test harness script
+
+diff --git a/adm/templates/draw.sh b/adm/templates/draw.sh
+index 02e6043..c7347e0 100755
+--- a/adm/templates/draw.sh
++++ b/adm/templates/draw.sh
+@@ -4,7 +4,8 @@ aCurrentPath="$PWD"
+ aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD";
+
+ source "${aScriptPath}/env.sh" "$1"
++shift
+
+ echo 'Hint: use "pload ALL" command to load standard commands'
+-cd ${aCurrentPath}
+-DRAWEXE
++cd "${aCurrentPath}"
++DRAWEXE "$@"
diff --git a/sci-libs/opencascade/files/opencascade-7.8.1-vtk_components.patch b/sci-libs/opencascade/files/opencascade-7.8.1-vtk_components.patch
new file mode 100644
index 000000000000..03a6277c6fa8
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.8.1-vtk_components.patch
@@ -0,0 +1,24 @@
+diff --git a/adm/cmake/vtk.cmake b/adm/cmake/vtk.cmake
+index 7d25a37..79257d1 100644
+--- a/adm/cmake/vtk.cmake
++++ b/adm/cmake/vtk.cmake
+@@ -60,7 +60,18 @@ if (3RDPARTY_VTK_DIR AND EXISTS "${3RDPARTY_VTK_DIR}")
+ set (ENV{VTK_DIR} "${3RDPARTY_VTK_DIR}")
+ endif()
+
+-find_package(VTK QUIET)
++find_package(VTK
++ COMPONENTS
++ CommonCore
++ FiltersGeneral
++ IOImage
++ ImagingCore
++ InteractionStyle
++ RenderingCore
++ RenderingFreeType
++ RenderingGL2PSOpenGL2
++ RenderingOpenGL2
++)
+
+ if (3RDPARTY_VTK_DIR AND EXISTS "${3RDPARTY_VTK_DIR}")
+ set (ENV{VTK_DIR} ${CACHED_VTK_DIR})
diff --git a/sci-libs/opencascade/files/opencascade.env.in b/sci-libs/opencascade/files/opencascade.env.in
new file mode 100644
index 000000000000..28006d724806
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade.env.in
@@ -0,0 +1,102 @@
+#
+# This file sets needed and optional environment variables for
+# Open CASCADE Technology
+#
+# See: https://dev.opencascade.org/doc/overview/html/index.html#OCCT_OVW_SECTION_4_2
+# for further documentation.
+#
+# Some of the values are set at compile time depending on what USE flags
+# were enabled. Those values are marked as such.
+
+# define the root directory of Open CASCADE Technology (needed)
+CASROOT="VAR_CASROOT"
+PATH="VAR_CASROOT/lib/opencascade/bin"
+LDPATH="VAR_CASROOT/lib/opencascade"
+
+#############################################################################
+# The MMGT_* variables are used to determine how memory management will work
+# in OCCT. All of those are optional. If they are not set here, their default
+# values will be used.
+#
+# Uncomment or change the ones you need to adapt from its default.
+#############################################################################
+# MMGT_OPT = {0,1,2} (default: 0) set at compile time
+# if set to 0 (the default), every memory block is allocated in C
+# memory heap directly (via malloc() and free()). Will be set, if
+# neither the the 'optimize' nor the 'tbb' USE flags are set.
+# if set to 1, the memory manager performs it's own internal optimization.
+# Will be set, if the 'optimize' USE flag is set.
+# if set to 2, Intel(R) TBB optimized memory manager is used. Will be set,
+# if the 'tbb' USE flag is set.
+#MMGT_OPT=0
+
+# MMGT_CLEAR = {0,1} (default: 1)
+# if set to 0, memory block is returned as it is. Will be set, if the
+# 'optimize' USE flag is set
+# if set to 1, every allocated memory block is cleared by zeros
+#MMGT_CLEAR=1
+
+# MMGT_CELLSIZE (default: 200)
+# defines the maximal size of blocks allocated in large pools of memory.
+#MMGT_CELLSIZE=200
+
+# MMGT_NBPAGES (default: 10000)
+# defines the size of memory chunks allocated for small blocks in pages
+# (OS dependant)
+#MMGT_NBPAGES=10000
+
+# MMGT_THRESHOLD (default: 40000)
+# defines the maximal size of blocks that are recycled internally instead
+# of being returned to the heap.
+#MMGT_THRESHOLD=40000
+
+# MMGT_MMAP = {0,1} (default: 1)
+# if set to 0, large memory blocks will be allocated in the C heap by
+# malloc()
+# if set to 1, large memory blocks are allocated using memory mapping
+# functions of the operating system.
+#MMGT_MMAP=1
+
+# CSF_LANGUAGE (default: us) optional
+# defines the default language of messages indicated by a two-letter
+# country code. Currently it's not verified if this work with other
+# than the default languages, so we keep it commented.
+#CSF_LANGUAGE=us
+
+# CSF_DEBUG_BOP (default: undefined) optional
+# if defined then it should specify the directory where diagnostic data
+# on problems occured in Boolean operations will be saved. Not defined by
+# default.
+#
+# NOTE: Only enable for debugging purposes. If set, this variable has a
+# large impact on the performance of boolean operations.
+#CSF_DEBUG_BOP="/var/tmp"
+
+# CSF_EXCEPTION_PROMPT (default: 1) optional
+# not documented upstream (maybe a flag indicating whether the user shall
+# be prompted in the case of exceptions)
+#CSF_EXCEPTION_PROMPT=1
+
+# The following CSF_* variables define various directories and files where
+# OCCT is looking for resources.
+CSF_GraphicShr="VAR_CASROOT/lib/opencascade/libTKOpenGl.so"
+CSF_MIGRATION_TYPES="VAR_CASROOT/share/opencascade/resources/StdResource/MigrationSheet.txt"
+CSF_MDTVTexturesDirectory="VAR_CASROOT/share/opencascade/resources/Textures"
+CSF_PluginDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
+CSF_StandardDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
+CSF_StandardLiteDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
+CSF_XCAFDefaults="VAR_CASROOT/share/opencascade/resources/StdResource"
+CSF_XmlOcafResource="VAR_CASROOT/share/opencascade/resources/XmlOcafResource"
+# The below values might be optional.
+CSF_IGESDefaults="VAR_CASROOT/share/opencascade/resources/XSTEPResource"
+CSF_ShadersDirectory="VAR_CASROOT/share/opencascade/resources/Shaders"
+CSF_SHMessage="VAR_CASROOT/share/opencascade/resources/SHMessage"
+CSF_STEPDefaults="VAR_CASROOT/share/opencascade/resources/XSTEPResource"
+CSF_UnitsDefinition="VAR_CASROOT/share/opencascade/resources/UnitsAPI/Units.dat"
+CSF_XSMessage="VAR_CASROOT/share/opencascade/resources/XSMessage"
+
+# TODO: check those
+# they were defined in the original ebuild but the directories and files
+# are not present in the current installation.
+#CSF_MDTVFontDirectory="VAR_CASROOT/src/FontMFT"
+#CSF_UnitsLexicon="VAR_CASROOT/src/UnitsAPI/Lexi_Expr.dat"
diff --git a/sci-libs/opencascade/metadata.xml b/sci-libs/opencascade/metadata.xml
index 471a91a9796b..cf700b6db37e 100644
--- a/sci-libs/opencascade/metadata.xml
+++ b/sci-libs/opencascade/metadata.xml
@@ -1,33 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>waebbl@gmail.com</email>
- <name>Bernd Waibel</name>
+<maintainer type="person" proxied="yes">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
-<maintainer type="project">
+<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
- <flag name="freeimage">
- Enable support for image i/o via media-libs/freeimage
- </flag>
- <flag name="gles2">
- Use OpenGL ES 2.0
- </flag>
- <flag name="inspector">
- Build the OCCT inspector tool for low-level data inspection
- </flag>
- <flag name="optimize">
- Don't clear allocated memory. Use optimized memory manager unless
- tbb USE flag is set.
- </flag>
- <flag name="tbb">
- Enable multithreading with the Intel Threads Building Block dev-cpp/tbb
- </flag>
- <flag name="vtk">
- Enable Visualization Toolkit
- </flag>
+ <flag name="eigen">Enable support for eigenvalues through the header-only <pkg>dev-cpp/eigen</pkg> package.</flag>
+ <flag name="freeimage">Enable support for image i/o via <pkg>media-libs/freeimage</pkg></flag>
+ <flag name="freetype">Enable <pkg>media-libs/freetype</pkg> support</flag>
+ <flag name="inspector">Build Inspector tool</flag>
+ <flag name="jemalloc">Enable jemalloc allocator support via <pkg>dev-libs/jemalloc</pkg></flag>
+ <flag name="json">Enable JSON support through <pkg>dev-libs/rapidjson</pkg></flag>
+ <flag name="optimize">Don't clear allocated memory. Use optimized memory manager unlesstbb USE flag is set.</flag>
+ <flag name="tbb">Enable multithreading with the Intel Threads Building Block <pkg>dev-cpp/tbb</pkg></flag>
+ <flag name="testprograms">Indicates whether non-regression OCCT test scripts should be installed</flag>
+ <flag name="vtk">Enable Visualization Toolkit support via <pkg>sci-libs/vtk</pkg></flag>
</use>
+<upstream>
+ <remote-id type="github">Open-Cascade-SAS/OCCT</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sci-libs/opencascade/opencascade-7.4.0-r2.ebuild b/sci-libs/opencascade/opencascade-7.4.0-r2.ebuild
deleted file mode 100644
index 5abfadcc3ce5..000000000000
--- a/sci-libs/opencascade/opencascade-7.4.0-r2.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# TODO:
-# check the src files referenced in 51opencascade, i.e. resources and the like
-# check where cmake gets it's '-s' linker flag to avoid pre-stripping (QA)
-
-EAPI=7
-
-inherit check-reqs cmake flag-o-matic java-pkg-opt-2
-
-DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
-HOMEPAGE="https://www.opencascade.com"
-MY_PV="$(ver_rs 1- '_')"
-SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz"
-
-LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~x86"
-# gl2ps
-IUSE="debug doc examples ffmpeg freeimage gles2 inspector java optimize qt5 tbb +vtk"
-
-REQUIRED_USE="
- inspector? ( qt5 )
- ?? ( optimize tbb )
-"
-
-# gl2ps? ( x11-libs/gl2ps )
-RDEPEND="
- app-eselect/eselect-opencascade
- dev-cpp/eigen
- dev-lang/tcl:0=
- dev-lang/tk:0=
- dev-tcltk/itcl
- dev-tcltk/itk
- dev-tcltk/tix
- media-libs/freetype:2
- media-libs/ftgl
- virtual/glu
- virtual/opengl
- x11-libs/libXmu
- ffmpeg? ( media-video/ffmpeg )
- freeimage? ( media-libs/freeimage )
- java? ( virtual/jdk:1.8 )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtquickcontrols2:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- )
- tbb? ( dev-cpp/tbb )
- vtk? ( >=sci-libs/vtk-8.1.0[rendering] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- doc? (
- app-doc/doxygen
- qt5? ( dev-qt/linguist-tools:5 )
- )
-"
-
-# There's no easy way to test. Testing needs a rather big environment
-# properly set up.
-RESTRICT="test"
-
-CHECKREQS_MEMORY="256M"
-CHECKREQS_DISK_BUILD="3584M"
-
-CMAKE_BUILD_TYPE=Release
-
-S="${WORKDIR}/occt-V${MY_PV}"
-
-PATCHES=(
- "${FILESDIR}/${P}-find-qt.patch"
- "${FILESDIR}/${P}-fix-install.patch"
-)
-
-pkg_setup() {
- check-reqs_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
- use java && java-pkg-opt-2_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOC_Overview=$(usex doc)
- -DBUILD_Inspector=$(usex inspector)
- -DBUILD_WITH_DEBUG=$(usex debug)
- -DCMAKE_CONFIGURATION_TYPES="Gentoo"
- -DCMAKE_INSTALL_PREFIX="/usr/$(get_libdir)/${P}/ros"
- -DINSTALL_DIR_DOC="/usr/share/doc/${PF}"
- -DINSTALL_DIR_CMAKE="/usr/$(get_libdir)/cmake"
-# -DINSTALL_DOC_Overview=$(usex doc)
- -DINSTALL_SAMPLES=$(usex examples)
- -DINSTALL_TEST_CASES=NO
- -DUSE_D3D=no
- -DUSE_FFMPEG=$(usex ffmpeg)
- -DUSE_FREEIMAGE=$(usex freeimage)
-# -DUSE_GL2PS=$(usex gl2ps)
- -DUSE_GLES2=$(usex gles2)
- -DUSE_TBB=$(usex tbb)
- -DUSE_VTK=$(usex vtk)
- )
-
- use examples && mycmakeargs+=( -DBUILD_SAMPLES_QT=$(usex qt5) )
-
- cmake_src_configure
-
- # prepare /etc/env.d file
- sed -e 's|VAR_CASROOT|'${EROOT%}'/usr/'$(get_libdir)'/'${P}'/ros|g' < "${FILESDIR}/${P}.env.in" >> "${T}/${PV}" || die
- sed -i -e 's|ros/lib|ros/'$(get_libdir)'|' "${T}/${PV}" || die
-
- # use TBB for memory allocation optimizations?
- use tbb && (sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' "${T}/${PV}" || die)
-
- if use optimize ; then
- # use internal optimized memory manager?
- sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' "${T}/${PV}" || die
- # don't clear memory ?
- sed -i -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' "${T}/${PV}" || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- # respect slotting
- insinto "/etc/env.d/${PN}"
- doins "${T}/${PV}"
-
- # remove examples
- use examples || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples" || die)
- use java || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/java" || die)
- use qt5 || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/qt" || die)
-}
-
-pkg_postinst() {
- eselect ${PN} set ${PV} || die "failed to switch to updated implementation"
- einfo "You can switch between available ${PN} implementations using eselect ${PN}"
-}
diff --git a/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild b/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild
new file mode 100644
index 000000000000..2e561ce32b79
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.6.3-r2.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_SLOT="$(ver_cut 1-2)"
+COMMIT="b079fb9877ef64d4a8158a60fa157f59b096debb"
+COMMIT_SHORT="${COMMIT:0:7}"
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${COMMIT};sf=tgz -> ${P}.tar.gz"
+S="${WORKDIR}/occt-${COMMIT_SHORT}"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/${MY_SLOT}"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+IUSE="doc eigen examples ffmpeg freeimage gles2 json optimize tbb vtk"
+
+REQUIRED_USE="?? ( optimize tbb )"
+
+# There's no easy way to test. Testing needs a rather big environment
+# properly set up.
+RESTRICT="test"
+
+# ffmpeg: https://dev.opencascade.org/content/build-error-when-compiling-against-ffmpeg-5
+RDEPEND="
+ dev-lang/tcl:=
+ dev-lang/tk:=
+ dev-tcltk/itcl
+ dev-tcltk/itk
+ dev-tcltk/tix
+ media-libs/fontconfig
+ media-libs/freetype:2
+ media-libs/ftgl
+ virtual/glu
+ virtual/opengl
+ x11-libs/libX11
+ examples? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
+ freeimage? ( media-libs/freeimage )
+ tbb? ( dev-cpp/tbb:= )
+ vtk? ( <sci-libs/vtk-9.3.0:=[rendering] )
+"
+DEPEND="
+ ${RDEPEND}
+ eigen? ( dev-cpp/eigen )
+ json? ( dev-libs/rapidjson )
+ vtk? ( dev-libs/utfcpp )
+"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ examples? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.5.1-0004-fix-installation-of-cmake-config-files.patch
+ "${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch
+ "${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch
+ "${FILESDIR}"/${PN}-7.6.2-avoid-pre-stripping-binaries.patch
+ "${FILESDIR}"/${PN}-7.5.3-tbb-2021.patch
+ "${FILESDIR}"/${PN}-7.7.0-build-against-vtk-9.2.patch
+ "${FILESDIR}"/${PN}-7.7.0-musl.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e 's|/lib\$|/'$(get_libdir)'\$|' \
+ -i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+ # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+ # assumptions it makes about installation paths. Rather than fixing it, just
+ # get rid of the mechanism altogether - its purpose is to allow a
+ # side-by-side installation of release and debug libraries.
+ sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+ -i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOC_Overview=$(usex doc)
+ -DBUILD_Inspector=$(usex examples)
+ -DBUILD_RELEASE_DISABLE_EXCEPTIONS=OFF # bug #847916
+
+ -DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+ -DINSTALL_DIR_DATA="share/${PN}/data"
+ -DINSTALL_DIR_DOC="share/doc/${PF}"
+ -DINSTALL_DIR_INCLUDE="include/${PN}"
+ -DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+ -DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+ -DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+ -DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_WITH_VERSION=OFF
+ -DINSTALL_SAMPLES=$(usex examples)
+ -DINSTALL_TEST_CASES=NO
+
+ -DUSE_D3D=NO
+ # no package yet in tree
+ -DUSE_DRACO=OFF
+ -DUSE_EIGEN=$(usex eigen)
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_FREEIMAGE=$(usex freeimage)
+ -DUSE_FREETYPE=ON
+ -DUSE_GLES2=$(usex gles2)
+ # no package in tree
+ -DUSE_OPENVR=OFF
+ -DUSE_RAPIDJSON=$(usex json)
+ -DUSE_TBB=$(usex tbb)
+ -DUSE_VTK=$(usex vtk)
+ -DUSE_XLIB=ON
+ # suppress CMake dev warnings
+ -Wno-dev
+ )
+
+ use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON )
+
+ if use examples; then
+ mycmakeargs+=(
+ -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr
+ -DBUILD_SAMPLES_QT=ON
+ )
+ fi
+
+ if use vtk; then
+ local vtk_ver=$(best_version "sci-libs/vtk")
+ vtk_ver=${vtk_ver#sci-libs/vtk-}
+ vtk_ver=$(ver_cut 1-2 ${vtk_ver})
+ mycmakeargs+=(
+ -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+ -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-${vtk_ver}
+ -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+ )
+ fi
+
+ cmake_src_configure
+
+ sed -e "s|lib/|$(get_libdir)/|" \
+ -e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+ < "${FILESDIR}"/${PN}.env.in > "${T}"/99${PN} || die
+
+ # use TBB for memory allocation optimizations
+ if use tbb; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/99${PN} || die
+ fi
+
+ # use internal optimized memory manager and don't clear memory with this
+ # memory manager.
+ if use optimize ; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+ -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+ -i "${T}"/99${PN} || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doenvd "${T}/99${PN}"
+
+ docompress -x /usr/share/doc/${PF}/overview/html
+}
diff --git a/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild b/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild
new file mode 100644
index 000000000000..9db1978c27a0
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.7.0-r2.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# USE_{DRACO,FFMPEG,FREEIMAGE,FREETYPE,GLES2,OPENGL,OPENVR,RAPIDJSON,TBB,TK,VTK,XLIB}
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+MY_SLOT="$(ver_cut 1-2)"
+MY_PV="$(ver_rs 3 '-')"
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=185d29b92f6764ffa9fc195b7dbe7bba3c4ac855;sf=tgz -> ${P}.tar.gz"
+S="${WORKDIR}/occt-185d29b"
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/${MY_SLOT}"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="doc examples ffmpeg freeimage gles2 json optimize tbb vtk"
+
+REQUIRED_USE="?? ( optimize tbb )"
+
+# There's no easy way to test. Testing needs a rather big environment
+# properly set up.
+RESTRICT="test"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+ dev-lang/tcl:=
+ dev-lang/tk:=
+ media-libs/fontconfig
+ media-libs/freetype:2
+ virtual/opengl
+ x11-libs/libX11
+ examples? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
+ freeimage? ( media-libs/freeimage )
+ tbb? ( dev-cpp/tbb:= )
+ vtk? ( <sci-libs/vtk-9.3.0:=[rendering] )
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+ json? ( dev-libs/rapidjson )
+ vtk? ( dev-libs/utfcpp )
+"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ examples? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch
+ "${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch
+ "${FILESDIR}"/${PN}-7.7.0-add-missing-include-limits.patch
+ "${FILESDIR}"/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch
+ "${FILESDIR}"/${PN}-7.7.0-avoid-pre-stripping-binaries.patch
+ "${FILESDIR}"/${PN}-7.7.0-build-against-vtk-9.2.patch
+ "${FILESDIR}"/${PN}-7.7.0-musl.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e 's|/lib\$|/'$(get_libdir)'\$|' \
+ -i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+ # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+ # assumptions it makes about installation paths. Rather than fixing it, just
+ # get rid of the mechanism altogether - its purpose is to allow a
+ # side-by-side installation of release and debug libraries.
+ sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+ -i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/862912
+ # https://tracker.dev.opencascade.org/view.php?id=33091
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_DOC_Overview=$(usex doc)
+ -DBUILD_Inspector=$(usex examples)
+ -DBUILD_RELEASE_DISABLE_EXCEPTIONS=OFF # bug #847916
+
+ -DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+ -DINSTALL_DIR_DATA="share/${PN}/data"
+ -DINSTALL_DIR_DOC="share/doc/${PF}"
+ -DINSTALL_DIR_INCLUDE="include/${PN}"
+ -DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+ -DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+ -DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+ -DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_WITH_VERSION=OFF
+ -DINSTALL_SAMPLES=$(usex examples)
+ -DINSTALL_TEST_CASES=NO
+
+ -DUSE_D3D=NO
+ # no package yet in tree
+ -DUSE_DRACO=OFF
+ # has no function in 7.7.0_beta
+ # see https://dev.opencascade.org/content/occt-770-beta-version-available#comment-23733
+ -DUSE_EIGEN=OFF
+ -DUSE_FFMPEG=$(usex ffmpeg)
+ -DUSE_FREEIMAGE=$(usex freeimage)
+ -DUSE_FREETYPE=ON
+ -DUSE_GLES2=$(usex gles2)
+ # no package in tree
+ -DUSE_OPENVR=OFF
+ -DUSE_RAPIDJSON=$(usex json)
+ -DUSE_TBB=$(usex tbb)
+ -DUSE_VTK=$(usex vtk)
+ -DUSE_XLIB=ON
+ # suppress CMake dev warnings
+ -Wno-dev
+ )
+
+ use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON )
+
+ if use examples; then
+ mycmakeargs+=(
+ -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr
+ -DBUILD_SAMPLES_QT=ON
+ )
+ fi
+
+ if use tbb; then
+ mycmakeargs+=( -D3RDPARTY_TBB_DIR="${ESYSROOT}"/usr )
+ fi
+
+ if use vtk; then
+ local vtk_ver=$(best_version "sci-libs/vtk")
+ vtk_ver=${vtk_ver#sci-libs/vtk-}
+ vtk_ver=$(ver_cut 1-2 ${vtk_ver})
+ mycmakeargs+=(
+ -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr
+ -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-${vtk_ver}
+ -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+ )
+ fi
+
+ cmake_src_configure
+
+ sed -e "s|lib/|$(get_libdir)/|" \
+ -e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+ < "${FILESDIR}"/${PN}.env.in > "${T}"/99${PN} || die
+
+ # use TBB for memory allocation optimizations
+ if use tbb; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/99${PN} || die
+ fi
+
+ # use internal optimized memory manager and don't clear memory with this
+ # memory manager.
+ if use optimize ; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+ -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+ -i "${T}"/99${PN} || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doenvd "${T}/99${PN}"
+
+ docompress -x /usr/share/doc/${PF}/overview/html
+}
diff --git a/sci-libs/opencascade/opencascade-7.7.2-r1.ebuild b/sci-libs/opencascade/opencascade-7.7.2-r1.ebuild
new file mode 100644
index 000000000000..f3c88aa3ab89
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.7.2-r1.ebuild
@@ -0,0 +1,362 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic virtualx
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+
+MY_PN="OCCT"
+
+MY_TEST_PV="7.7.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}"
+
+SRC_URI="
+ test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tgz
+ -> ${PN}-dataset-${MY_TEST_PV}.tar.gz )
+"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git"
+else
+ MY_PV="${PV//./_}"
+ SRC_URI+="
+ https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz -> ${P}.tar.gz
+ "
+ S="${WORKDIR}/${MY_PN}-${MY_PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only inspector json +opengl optimize tbb test testprograms tk vtk"
+
+REQUIRED_USE="
+ ?? ( optimize tbb )
+ ?? ( opengl gles2-only )
+ test? ( freeimage json opengl )
+"
+
+# There's no easy way to test. Testing needs a rather big environment properly set up.
+RESTRICT="!test? ( test )"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+ dev-lang/tcl:=
+ tk? ( dev-lang/tk:= )
+ dev-libs/double-conversion
+ freetype? (
+ media-libs/fontconfig
+ media-libs/freetype:2
+ )
+ opengl? (
+ media-libs/libglvnd
+ )
+ X? (
+ x11-libs/libX11
+ )
+ examples? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
+ freeimage? ( media-libs/freeimage )
+ inspector? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ tbb? ( dev-cpp/tbb:= )
+ vtk? (
+ dev-lang/tk:=
+ sci-libs/vtk:=[rendering]
+ tbb? (
+ sci-libs/vtk:=[tbb,-cuda]
+ )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ inspector? (
+ dev-qt/linguist-tools:5
+ )
+ test? ( dev-tcltk/thread )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch"
+ "${FILESDIR}/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch"
+ "${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
+ "${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
+ "${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
+ "${FILESDIR}/${PN}-7.7.0-musl.patch"
+ "${FILESDIR}/${PN}-7.7.0-tbb-detection.patch"
+ "${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
+ "${FILESDIR}/${PN}-7.8.0-tests.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.gz"
+ fi
+
+ if use test; then
+ mkdir "${WORKDIR}/data"
+ pushd "${WORKDIR}/data" > /dev/null || die
+ # should be in paths indicated by CSF_TestDataPath environment variable,
+ # or in subfolder data in the script directory
+ unpack "${PN}-dataset-${MY_TEST_PV}.tar.gz"
+ popd > /dev/null || die
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
+ -i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+ # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+ # assumptions it makes about installation paths. Rather than fixing it, just
+ # get rid of the mechanism altogether - its purpose is to allow a
+ # side-by-side installation of release and debug libraries.
+ sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+ -i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/862912
+ # https://tracker.dev.opencascade.org/view.php?id=33091
+ filter-lto
+
+ local mycmakeargs=(
+ -D3RDPARTY_DIR="${ESYSROOT}/usr"
+ -DBUILD_CPP_STANDARD="C++17"
+ -DBUILD_SOVERSION_NUMBERS=2
+
+ -DBUILD_DOC_Overview="$(usex doc)"
+ -DBUILD_Inspector="$(usex inspector)"
+
+ -DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)"
+ -DBUILD_USE_PCH="no"
+ # -DBUILD_OPT_PROFILE="Default" # Production
+ # -DBUILD_RESOURCES="yes"
+ # -DBUILD_YACCLEX="yes"
+
+ -DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916
+ -DINSTALL_DIR="${EPREFIX}/usr"
+ -DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+ -DINSTALL_DIR_DATA="share/${PN}/data"
+ -DINSTALL_DIR_DOC="share/doc/${PF}"
+ -DINSTALL_DIR_INCLUDE="include/${PN}"
+ -DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+ -DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+ -DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+ -DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_TESTS="share/${PN}/tests"
+ -DINSTALL_DIR_WITH_VERSION="no"
+ -DINSTALL_SAMPLES="$(usex examples)"
+
+ -DINSTALL_TEST_CASES="$(usex testprograms)"
+
+ # no package yet in tree
+ -DUSE_DRACO="no"
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_FREEIMAGE="$(usex freeimage)"
+ -DUSE_FREETYPE="$(usex freetype)"
+ # Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module
+ -DUSE_GLES2="$(usex gles2-only)"
+ # Indicates whether OpenGL desktop should be used in OCCT visualization module
+ -DUSE_OPENGL="$(usex opengl)"
+ # no package in tree
+ -DUSE_OPENVR="no"
+ -DUSE_RAPIDJSON="$(usex json)"
+ -DUSE_TBB="$(usex tbb)"
+ -DUSE_TK="$(usex tk)"
+ -DUSE_VTK="$(usex vtk)"
+ -DUSE_XLIB="$(usex X)"
+ )
+
+ if use doc; then
+ mycmakeargs+=(
+ -DINSTALL_DOC_Overview="yes"
+ -D3RDPARTY_SKIP_DOT_EXECUTABLE="no"
+ )
+ fi
+
+ if use examples || use inspector; then
+ mycmakeargs+=(
+ -D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
+ -DBUILD_SAMPLES_QT="$(usex examples)"
+ )
+ fi
+
+ if use tbb; then
+ mycmakeargs+=(
+ -D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
+ )
+ fi
+
+ if use vtk; then
+ local vtk_ver
+ vtk_ver="$(best_version "sci-libs/vtk")"
+ vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}")
+ mycmakeargs+=(
+ -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}"
+ -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ fi
+
+ cmake_src_configure
+
+ sed -e "s|lib/|$(get_libdir)/|" \
+ -e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+ < "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die
+
+ # use TBB for memory allocation optimizations
+ if use tbb; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die
+ fi
+
+ # use internal optimized memory manager and don't clear memory with this
+ # memory manager.
+ if use optimize ; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+ -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+ -i "${T}/99${PN}" || die
+ fi
+}
+
+src_test() {
+ echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> "${BUILD_DIR}/custom.sh" || die
+
+ if has_version media-fonts/dejavu; then
+ cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" "${WORKDIR}/data/" # no die here as this isn't fatal
+ fi
+
+ local test_file=${T}/testscript.tcl
+
+ local draw_opts=(
+ i # see ${BUILD_DIR}/custom*.sh
+ # -b # batch mode (no GUI, no viewers)
+ -v # no GUI, use virtual (off-screen) windows for viewers
+ )
+
+ local test_names=(
+ "demo draw bug30430" # prone to dying due to cpu limit
+ )
+ local test_opts=( # run single tests
+ -overwrite
+ )
+ for test_name in "${test_names[@]}"; do
+ cat >> "${test_file}" <<- _EOF_ || die
+ test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
+ _EOF_
+ done
+
+ local testgrid_opts=()
+
+ local SKIP_TESTS=()
+
+ if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
+ SKIP_TESTS+=(
+ 'blend complex F4'
+ 'bugs'
+ 'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11}
+ 'heal checkshape bug32448_1'
+ 'hlr exact_hlr bug25813_2'
+
+ 'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
+ 'lowalgos intss bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
+ 'lowalgos proximity '{A4,A5}
+ 'opengl background bug27836'
+ 'opengl drivers opengles'
+ 'opengles3'
+
+ 'offset wire_closed_inside_0_005 D1'
+ 'offset wire_unclosed_outside_0_025 A1'
+
+ 'demo draw bug30430'
+ )
+
+ local DEL_TESTS=(
+ 'opengl/data/background/bug27836'
+ 'perf/mesh/bug26965'
+ 'v3d/trsf/bug26029'
+ )
+
+ for test in "${DEL_TESTS[@]}"; do
+ rm "${CMAKE_USE_DIR}/tests/${test}" || die
+ done
+ fi
+
+ if ! use vtk; then
+ SKIP_TESTS+=(
+ 'vtk'
+ )
+ echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+ fi
+
+ if [[ -n "${SKIP_TESTS[*]}" ]]; then
+ testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" )
+ fi
+
+ testgrid_opts+=(
+ # -refresh 5
+ -overwrite
+ )
+ cat >> "${test_file}" <<- _EOF_ || die
+ testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
+ _EOF_
+
+ # # regenerate summary in case we have to
+ # cat >> "${test_file}" <<- _EOF_ || die
+ # testsummarize "${BUILD_DIR}/test_results"
+ # _EOF_
+
+ # Work around zink warnings
+ export LIBGL_ALWAYS_SOFTWARE="true"
+
+ export CASROOT="${BUILD_DIR}"
+
+ virtx \
+ "${BUILD_DIR}/draw.sh" \
+ "${draw_opts[@]}" \
+ -f "${test_file}"
+
+ if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then
+ eerror "tests never ran!"
+ die
+ fi
+ failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
+ if [[ -n ${failed_tests} ]]; then
+ eerror "Failed tests:"
+ eerror "${failed_tests}"
+ die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doenvd "${T}/99${PN}"
+
+ docompress -x "/usr/share/doc/${PF}/overview/html"
+}
diff --git a/sci-libs/opencascade/opencascade-7.8.1.ebuild b/sci-libs/opencascade/opencascade-7.8.1.ebuild
new file mode 100644
index 000000000000..94a2d018ce23
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-7.8.1.ebuild
@@ -0,0 +1,376 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic virtualx
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+
+MY_PN="OCCT"
+
+MY_TEST_PV="7.8.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}"
+
+SRC_URI="
+ test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tar.xz )
+"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git"
+else
+ MY_PV="${PV//./_}"
+ SRC_URI+="
+ https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz -> ${P}.tar.gz
+ "
+ S="${WORKDIR}/${MY_PN}-${MY_PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only inspector jemalloc json +opengl optimize tbb test testprograms tk vtk"
+
+REQUIRED_USE="
+ ?? ( optimize tbb )
+ ?? ( opengl gles2-only )
+ test? ( freeimage json opengl )
+"
+
+# There's no easy way to test. Testing needs a rather big environment properly set up.
+RESTRICT="!test? ( test )"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+ dev-lang/tcl:=
+ tk? ( dev-lang/tk:= )
+ dev-libs/double-conversion
+ freetype? (
+ media-libs/fontconfig
+ media-libs/freetype:2
+ )
+ opengl? (
+ media-libs/libglvnd
+ )
+ X? (
+ x11-libs/libX11
+ )
+ examples? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
+ freeimage? ( media-libs/freeimage )
+ inspector? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ tbb? ( dev-cpp/tbb:= )
+ vtk? (
+ dev-lang/tk:=
+ sci-libs/vtk:=[rendering]
+ tbb? (
+ sci-libs/vtk:=[tbb,-cuda]
+ )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ inspector? (
+ dev-qt/linguist-tools:5
+ )
+ test? ( dev-tcltk/thread )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch"
+ "${FILESDIR}/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch"
+ "${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
+ "${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
+ "${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
+ "${FILESDIR}/${PN}-7.7.0-musl.patch"
+ "${FILESDIR}/${PN}-7.7.0-tbb-detection.patch"
+ "${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+ "${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
+ "${FILESDIR}/${PN}-7.8.0-tests.patch"
+ "${FILESDIR}/${PN}-7.8.0-jemalloc-noexcept.patch"
+ "${FILESDIR}/${PN}-7.8.1-vtk_components.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.gz"
+ fi
+
+ if use test; then
+ mkdir "${WORKDIR}/data"
+ pushd "${WORKDIR}/data" > /dev/null || die
+ # should be in paths indicated by CSF_TestDataPath environment variable,
+ # or in subfolder data in the script directory
+ unpack "${PN}-dataset-${MY_TEST_PV}.tar.xz"
+ popd > /dev/null || die
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
+ -i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+ # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+ # assumptions it makes about installation paths. Rather than fixing it, just
+ # get rid of the mechanism altogether - its purpose is to allow a
+ # side-by-side installation of release and debug libraries.
+ sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+ -i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/862912
+ # https://tracker.dev.opencascade.org/view.php?id=33091
+ filter-lto
+
+ local mycmakeargs=(
+ -D3RDPARTY_DIR="${ESYSROOT}/usr"
+ -DBUILD_CPP_STANDARD="C++17"
+ -DBUILD_SOVERSION_NUMBERS=2
+
+ -DBUILD_DOC_Overview="$(usex doc)"
+ -DBUILD_Inspector="$(usex inspector)"
+
+ -DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)"
+ -DBUILD_USE_PCH="no"
+ # -DBUILD_OPT_PROFILE="Default" # Production
+ # -DBUILD_RESOURCES="yes"
+ # -DBUILD_YACCLEX="yes"
+
+ -DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916
+ -DINSTALL_DIR="${EPREFIX}/usr"
+ -DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+ -DINSTALL_DIR_DATA="share/${PN}/data"
+ -DINSTALL_DIR_DOC="share/doc/${PF}"
+ -DINSTALL_DIR_INCLUDE="include/${PN}"
+ -DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+ -DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+ -DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+ -DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_TESTS="share/${PN}/tests"
+ -DINSTALL_DIR_WITH_VERSION="no"
+ -DINSTALL_SAMPLES="$(usex examples)"
+
+ -DINSTALL_TEST_CASES="$(usex testprograms)"
+
+ # no package yet in tree
+ -DUSE_DRACO="no"
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_FREEIMAGE="$(usex freeimage)"
+ -DUSE_FREETYPE="$(usex freetype)"
+ # Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module
+ -DUSE_GLES2="$(usex gles2-only)"
+ # Indicates whether OpenGL desktop should be used in OCCT visualization module
+ -DUSE_OPENGL="$(usex opengl)"
+ # no package in tree
+ -DUSE_OPENVR="no"
+ -DUSE_RAPIDJSON="$(usex json)"
+ -DUSE_TBB="$(usex tbb)"
+ -DUSE_TK="$(usex tk)"
+ -DUSE_VTK="$(usex vtk)"
+ -DUSE_XLIB="$(usex X)"
+ )
+
+ # Select using memory manager tool.
+ if ! use jemalloc && ! use tbb; then
+ mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
+ elif use jemalloc && ! use tbb; then
+ mycmakeargs+=(
+ -DUSE_MMGR_TYPE=JEMALLOC
+ -D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+ )
+ elif ! use jemalloc && use tbb; then
+ mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
+ elif use jemalloc && use tbb; then
+ mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
+ fi
+
+ if use doc; then
+ mycmakeargs+=(
+ -DINSTALL_DOC_Overview="yes"
+ -D3RDPARTY_SKIP_DOT_EXECUTABLE="no"
+ )
+ fi
+
+ if use examples || use inspector; then
+ mycmakeargs+=(
+ -D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
+ -DBUILD_SAMPLES_QT="$(usex examples)"
+ )
+ fi
+
+ if use tbb; then
+ mycmakeargs+=(
+ -D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
+ )
+ fi
+
+ if use vtk; then
+ local vtk_ver
+ vtk_ver="$(best_version "sci-libs/vtk")"
+ vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}")
+ mycmakeargs+=(
+ -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}"
+ -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ fi
+
+ cmake_src_configure
+
+ sed -e "s|lib/|$(get_libdir)/|" \
+ -e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+ < "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die
+
+ # use TBB for memory allocation optimizations
+ if use tbb; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die
+ fi
+
+ # use internal optimized memory manager and don't clear memory with this
+ # memory manager.
+ if use optimize ; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+ -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+ -i "${T}/99${PN}" || die
+ fi
+}
+
+src_test() {
+ echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> "${BUILD_DIR}/custom.sh" || die
+
+ if has_version media-fonts/dejavu; then
+ cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" "${WORKDIR}/data/" # no die here as this isn't fatal
+ fi
+
+ local test_file=${T}/testscript.tcl
+
+ local draw_opts=(
+ i # see ${BUILD_DIR}/custom*.sh
+ # -b # batch mode (no GUI, no viewers)
+ -v # no GUI, use virtual (off-screen) windows for viewers
+ )
+
+ local test_names=(
+ "demo draw bug30430" # prone to dying due to cpu limit
+ )
+ local test_opts=( # run single tests
+ -overwrite
+ )
+ for test_name in "${test_names[@]}"; do
+ cat >> "${test_file}" <<- _EOF_ || die
+ test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
+ _EOF_
+ done
+
+ local testgrid_opts=()
+
+ local SKIP_TESTS=()
+
+ if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
+ SKIP_TESTS+=(
+ 'blend complex F4'
+ 'bugs'
+ 'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11}
+ 'heal checkshape bug32448_1'
+ 'hlr exact_hlr bug25813_2'
+
+ 'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
+ 'lowalgos intss bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
+ 'lowalgos proximity '{A4,A5}
+ 'opengl background bug27836'
+ 'opengl drivers opengles'
+ 'opengles3'
+
+ 'demo draw bug30430'
+ )
+
+ local DEL_TESTS=(
+ 'opengl/data/background/bug27836'
+ 'perf/mesh/bug26965'
+ 'v3d/trsf/bug26029'
+ )
+
+ for test in "${DEL_TESTS[@]}"; do
+ rm "${CMAKE_USE_DIR}/tests/${test}" || die
+ done
+ fi
+
+ if ! use vtk; then
+ SKIP_TESTS+=(
+ 'vtk'
+ )
+ echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+ fi
+
+ if [[ -n "${SKIP_TESTS[*]}" ]]; then
+ testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" )
+ fi
+
+ testgrid_opts+=(
+ # -refresh 5
+ -overwrite
+ )
+ cat >> "${test_file}" <<- _EOF_ || die
+ testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
+ _EOF_
+
+ # # regenerate summary in case we have to
+ # cat >> "${test_file}" <<- _EOF_ || die
+ # testsummarize "${BUILD_DIR}/test_results"
+ # _EOF_
+
+ # Work around zink warnings
+ export LIBGL_ALWAYS_SOFTWARE="true"
+
+ export CASROOT="${BUILD_DIR}"
+
+ virtx \
+ "${BUILD_DIR}/draw.sh" \
+ "${draw_opts[@]}" \
+ -f "${test_file}"
+
+ if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then
+ eerror "tests never ran!"
+ die
+ fi
+ failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
+ if [[ -n ${failed_tests} ]]; then
+ eerror "Failed tests:"
+ eerror "${failed_tests}"
+ die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doenvd "${T}/99${PN}"
+
+ docompress -x "/usr/share/doc/${PF}/overview/html"
+}
diff --git a/sci-libs/opencascade/opencascade-9999.ebuild b/sci-libs/opencascade/opencascade-9999.ebuild
new file mode 100644
index 000000000000..94a2d018ce23
--- /dev/null
+++ b/sci-libs/opencascade/opencascade-9999.ebuild
@@ -0,0 +1,376 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic virtualx
+
+DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange"
+HOMEPAGE="https://www.opencascade.com"
+
+MY_PN="OCCT"
+
+MY_TEST_PV="7.8.0"
+MY_TEST_PV2="${MY_TEST_PV//./_}"
+
+SRC_URI="
+ test? ( https://github.com/Open-Cascade-SAS/${MY_PN}/releases/download/V${MY_TEST_PV2}/${PN}-dataset-${MY_TEST_PV}.tar.xz )
+"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Open-Cascade-SAS/${MY_PN}.git"
+else
+ MY_PV="${PV//./_}"
+ SRC_URI+="
+ https://github.com/Open-Cascade-SAS/${MY_PN}/archive/refs/tags/V${MY_PV}.tar.gz -> ${P}.tar.gz
+ "
+ S="${WORKDIR}/${MY_PN}-${MY_PV}"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="X debug doc examples ffmpeg freeimage freetype gles2-only inspector jemalloc json +opengl optimize tbb test testprograms tk vtk"
+
+REQUIRED_USE="
+ ?? ( optimize tbb )
+ ?? ( opengl gles2-only )
+ test? ( freeimage json opengl )
+"
+
+# There's no easy way to test. Testing needs a rather big environment properly set up.
+RESTRICT="!test? ( test )"
+
+# ffmpeg: https://tracker.dev.opencascade.org/view.php?id=32871
+RDEPEND="
+ dev-lang/tcl:=
+ tk? ( dev-lang/tk:= )
+ dev-libs/double-conversion
+ freetype? (
+ media-libs/fontconfig
+ media-libs/freetype:2
+ )
+ opengl? (
+ media-libs/libglvnd
+ )
+ X? (
+ x11-libs/libX11
+ )
+ examples? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
+ freeimage? ( media-libs/freeimage )
+ inspector? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ tbb? ( dev-cpp/tbb:= )
+ vtk? (
+ dev-lang/tk:=
+ sci-libs/vtk:=[rendering]
+ tbb? (
+ sci-libs/vtk:=[tbb,-cuda]
+ )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ json? ( dev-libs/rapidjson )
+"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ inspector? (
+ dev-qt/linguist-tools:5
+ )
+ test? ( dev-tcltk/thread )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch"
+ "${FILESDIR}/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch"
+ "${FILESDIR}/${PN}-7.7.0-fix-installation-of-cmake-config-files.patch"
+ "${FILESDIR}/${PN}-7.7.0-avoid-pre-stripping-binaries.patch"
+ "${FILESDIR}/${PN}-7.7.0-build-against-vtk-9.2.patch"
+ "${FILESDIR}/${PN}-7.7.0-musl.patch"
+ "${FILESDIR}/${PN}-7.7.0-tbb-detection.patch"
+ "${FILESDIR}/${PN}-7.7.0-jemalloc-lib-type.patch"
+ "${FILESDIR}/${PN}-7.8.0-cmake-min-version.patch"
+ "${FILESDIR}/${PN}-7.8.0-tests.patch"
+ "${FILESDIR}/${PN}-7.8.0-jemalloc-noexcept.patch"
+ "${FILESDIR}/${PN}-7.8.1-vtk_components.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ git-r3_src_unpack
+ else
+ unpack "${P}.tar.gz"
+ fi
+
+ if use test; then
+ mkdir "${WORKDIR}/data"
+ pushd "${WORKDIR}/data" > /dev/null || die
+ # should be in paths indicated by CSF_TestDataPath environment variable,
+ # or in subfolder data in the script directory
+ unpack "${PN}-dataset-${MY_TEST_PV}.tar.xz"
+ popd > /dev/null || die
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e 's|/lib\$|/'"$(get_libdir)"'\$|' \
+ -i adm/templates/OpenCASCADEConfig.cmake.in || die
+
+ # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some
+ # assumptions it makes about installation paths. Rather than fixing it, just
+ # get rid of the mechanism altogether - its purpose is to allow a
+ # side-by-side installation of release and debug libraries.
+ sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \
+ -i adm/cmake/occt_toolkit.cmake || die
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/862912
+ # https://tracker.dev.opencascade.org/view.php?id=33091
+ filter-lto
+
+ local mycmakeargs=(
+ -D3RDPARTY_DIR="${ESYSROOT}/usr"
+ -DBUILD_CPP_STANDARD="C++17"
+ -DBUILD_SOVERSION_NUMBERS=2
+
+ -DBUILD_DOC_Overview="$(usex doc)"
+ -DBUILD_Inspector="$(usex inspector)"
+
+ -DBUILD_ENABLE_FPE_SIGNAL_HANDLER="$(usex debug)"
+ -DBUILD_USE_PCH="no"
+ # -DBUILD_OPT_PROFILE="Default" # Production
+ # -DBUILD_RESOURCES="yes"
+ # -DBUILD_YACCLEX="yes"
+
+ -DBUILD_RELEASE_DISABLE_EXCEPTIONS="no" # bug #847916
+ -DINSTALL_DIR="${EPREFIX}/usr"
+ -DINSTALL_DIR_BIN="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+ -DINSTALL_DIR_DATA="share/${PN}/data"
+ -DINSTALL_DIR_DOC="share/doc/${PF}"
+ -DINSTALL_DIR_INCLUDE="include/${PN}"
+ -DINSTALL_DIR_LIB="$(get_libdir)/${PN}"
+ -DINSTALL_DIR_RESOURCE="share/${PN}/resources"
+ -DINSTALL_DIR_SAMPLES="share/${PN}/samples"
+ -DINSTALL_DIR_SCRIPT="$(get_libdir)/${PN}/bin"
+ -DINSTALL_DIR_TESTS="share/${PN}/tests"
+ -DINSTALL_DIR_WITH_VERSION="no"
+ -DINSTALL_SAMPLES="$(usex examples)"
+
+ -DINSTALL_TEST_CASES="$(usex testprograms)"
+
+ # no package yet in tree
+ -DUSE_DRACO="no"
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_FREEIMAGE="$(usex freeimage)"
+ -DUSE_FREETYPE="$(usex freetype)"
+ # Indicates whether OpenGL ES 2.0 should be used in OCCT visualization module
+ -DUSE_GLES2="$(usex gles2-only)"
+ # Indicates whether OpenGL desktop should be used in OCCT visualization module
+ -DUSE_OPENGL="$(usex opengl)"
+ # no package in tree
+ -DUSE_OPENVR="no"
+ -DUSE_RAPIDJSON="$(usex json)"
+ -DUSE_TBB="$(usex tbb)"
+ -DUSE_TK="$(usex tk)"
+ -DUSE_VTK="$(usex vtk)"
+ -DUSE_XLIB="$(usex X)"
+ )
+
+ # Select using memory manager tool.
+ if ! use jemalloc && ! use tbb; then
+ mycmakeargs+=( -DUSE_MMGR_TYPE=NATIVE )
+ elif use jemalloc && ! use tbb; then
+ mycmakeargs+=(
+ -DUSE_MMGR_TYPE=JEMALLOC
+ -D3RDPARTY_JEMALLOC_INCLUDE_DIR="${ESYSROOT}/usr/include/jemalloc"
+ )
+ elif ! use jemalloc && use tbb; then
+ mycmakeargs+=( -DUSE_MMGR_TYPE=TBB )
+ elif use jemalloc && use tbb; then
+ mycmakeargs+=( -DUSE_MMGR_TYPE=FLEXIBLE )
+ fi
+
+ if use doc; then
+ mycmakeargs+=(
+ -DINSTALL_DOC_Overview="yes"
+ -D3RDPARTY_SKIP_DOT_EXECUTABLE="no"
+ )
+ fi
+
+ if use examples || use inspector; then
+ mycmakeargs+=(
+ -D3RDPARTY_QT_DIR="${ESYSROOT}/usr"
+ -DBUILD_SAMPLES_QT="$(usex examples)"
+ )
+ fi
+
+ if use tbb; then
+ mycmakeargs+=(
+ -D3RDPARTY_TBB_DIR="${ESYSROOT}/usr"
+ )
+ fi
+
+ if use vtk; then
+ local vtk_ver
+ vtk_ver="$(best_version "sci-libs/vtk")"
+ vtk_ver=$(ver_cut 1-2 "${vtk_ver#sci-libs/vtk-}")
+ mycmakeargs+=(
+ -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}/usr/include/vtk-${vtk_ver}"
+ -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}/usr/$(get_libdir)"
+ )
+ fi
+
+ cmake_src_configure
+
+ sed -e "s|lib/|$(get_libdir)/|" \
+ -e "s|VAR_CASROOT|${EPREFIX}/usr|" \
+ < "${FILESDIR}/${PN}.env.in" > "${T}/99${PN}" || die
+
+ # use TBB for memory allocation optimizations
+ if use tbb; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/99${PN}" || die
+ fi
+
+ # use internal optimized memory manager and don't clear memory with this
+ # memory manager.
+ if use optimize ; then
+ sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \
+ -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \
+ -i "${T}/99${PN}" || die
+ fi
+}
+
+src_test() {
+ echo "export CSF_OCCTDataPath=${WORKDIR}/data" >> "${BUILD_DIR}/custom.sh" || die
+
+ if has_version media-fonts/dejavu; then
+ cp "${ESYSROOT}/usr/share/fonts/dejavu/DejaVuSans.ttf" "${WORKDIR}/data/" # no die here as this isn't fatal
+ fi
+
+ local test_file=${T}/testscript.tcl
+
+ local draw_opts=(
+ i # see ${BUILD_DIR}/custom*.sh
+ # -b # batch mode (no GUI, no viewers)
+ -v # no GUI, use virtual (off-screen) windows for viewers
+ )
+
+ local test_names=(
+ "demo draw bug30430" # prone to dying due to cpu limit
+ )
+ local test_opts=( # run single tests
+ -overwrite
+ )
+ for test_name in "${test_names[@]}"; do
+ cat >> "${test_file}" <<- _EOF_ || die
+ test ${test_name} -outfile "${BUILD_DIR}/test_results/${test_name// /\/}.html" ${test_opts[@]}
+ _EOF_
+ done
+
+ local testgrid_opts=()
+
+ local SKIP_TESTS=()
+
+ if [[ "${OCCT_OPTIONAL_TESTS}" != "true" ]]; then
+ SKIP_TESTS+=(
+ 'blend complex F4'
+ 'bugs'
+ 'geometry circ2d3Tan '{CircleCircleLin_11,CircleLinPoint_11}
+ 'heal checkshape bug32448_1'
+ 'hlr exact_hlr bug25813_2'
+
+ 'hlr poly_hlr '{bug25813_2,bug25813_3,bug25813_4,Plate}
+ 'lowalgos intss bug'{565,567_1,25950,27431,29807_i1003,29807_i2006,29807_i3003,29807_i5002,30703}
+ 'lowalgos proximity '{A4,A5}
+ 'opengl background bug27836'
+ 'opengl drivers opengles'
+ 'opengles3'
+
+ 'demo draw bug30430'
+ )
+
+ local DEL_TESTS=(
+ 'opengl/data/background/bug27836'
+ 'perf/mesh/bug26965'
+ 'v3d/trsf/bug26029'
+ )
+
+ for test in "${DEL_TESTS[@]}"; do
+ rm "${CMAKE_USE_DIR}/tests/${test}" || die
+ done
+ fi
+
+ if ! use vtk; then
+ SKIP_TESTS+=(
+ 'vtk'
+ )
+ echo "IGNORE /Could not open: libTKIVtkDraw/skip VTK" >> "${CMAKE_USE_DIR}/tests/opengl/parse.rules"
+ fi
+
+ if [[ -n "${SKIP_TESTS[*]}" ]]; then
+ testgrid_opts+=( -exclude "$(IFS=',' ; echo "${SKIP_TESTS[*]}")" )
+ fi
+
+ testgrid_opts+=(
+ # -refresh 5
+ -overwrite
+ )
+ cat >> "${test_file}" <<- _EOF_ || die
+ testgrid -outdir "${BUILD_DIR}/test_results" ${testgrid_opts[@]}
+ _EOF_
+
+ # # regenerate summary in case we have to
+ # cat >> "${test_file}" <<- _EOF_ || die
+ # testsummarize "${BUILD_DIR}/test_results"
+ # _EOF_
+
+ # Work around zink warnings
+ export LIBGL_ALWAYS_SOFTWARE="true"
+
+ export CASROOT="${BUILD_DIR}"
+
+ virtx \
+ "${BUILD_DIR}/draw.sh" \
+ "${draw_opts[@]}" \
+ -f "${test_file}"
+
+ if [[ ! -f "${BUILD_DIR}/test_results/tests.log" ]]; then
+ eerror "tests never ran!"
+ die
+ fi
+ failed_tests="$(grep ": FAILED" "${BUILD_DIR}/test_results/tests.log")"
+ if [[ -n ${failed_tests} ]]; then
+ eerror "Failed tests:"
+ eerror "${failed_tests}"
+ die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doenvd "${T}/99${PN}"
+
+ docompress -x "/usr/share/doc/${PF}/overview/html"
+}
diff --git a/sci-libs/openlibm/Manifest b/sci-libs/openlibm/Manifest
index fc8781749c6e..0672751ba741 100644
--- a/sci-libs/openlibm/Manifest
+++ b/sci-libs/openlibm/Manifest
@@ -1,2 +1,2 @@
-DIST openlibm-0.5.4.tar.gz 353072 BLAKE2B 2427d207f3b45a5b2a80c3405a6a749c8d62409eea0adb31f26eda6a5dc370f242f5874a6783ada79972ac22183bb55448de683290f4c052967e2e598367f011 SHA512 ca74936b9eb7a52566cc509ffb98dd9e1672cd4029ba0193162505e53fe671b8903c37ef4036c15d0872ca246079a792d1630f3a93024010ff0c232f78295192
-DIST openlibm-0.7.0.tar.gz 366359 BLAKE2B 9dc545e3effedaadefda31ae75759ac8e5afb74250e8a7d9016b1406c235a298a375641207d3561365d750ec442e5ecdbfb1ce8b179a17bdaa48a5e2d5e5af25 SHA512 e52245ea93513fb1d9eade348f7c4ad4f1b500944024f7d52d71d43af908059e581ea77df6fc879414ff17c860263debec3aaf6ac86eea03ee1fe23d180487ed
+DIST openlibm-0.7.5.tar.gz 366889 BLAKE2B cd892965122237783cc288e57c965ae56d26fdcce93d89dd764ba659d292ade20baa754af303f04b831902f62f95388e2e7e11c050a0712a235bbc5793f2a9c4 SHA512 fe5797f49e9f9ac70485c53c6096ac273c33c7b44fbb694788717f0e427fe9a8e121939c4c1334f2d20f2fe1f440d952cc20cbdd49717996a2fb9a1045b05799
+DIST openlibm-0.8.0.tar.gz 367130 BLAKE2B e516fee18203040b8f3cdffab10c4ca22df638551b420ec7e679ff373221973a013c93520b29395c61c8ef0f0f6c87516c1d4a9885c3bbb5e8cae8900efee6ea SHA512 336dfac1fd4ab6ce256aa0129a211c3556eac46d2e775e5cec9626dc5bbcb4d5e65c86617d72e531694e8c8e6320a0fabc76600a02b0ac9f1d652774d0a94440
diff --git a/sci-libs/openlibm/metadata.xml b/sci-libs/openlibm/metadata.xml
index cd02d5ec2882..f1a004933158 100644
--- a/sci-libs/openlibm/metadata.xml
+++ b/sci-libs/openlibm/metadata.xml
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<longdescription lang="en">
-OpenLibm is an effort to have a high quality, portable, standalone C
-mathematical library (libm). It can be used standalone in applications
-and programming language implementations.
-The project was born out of a need to have a good libm for the Julia
-programming langage that worked consistently across compilers and
-operating systems, and in 32-bit and 64-bit environments.
-</longdescription>
+ OpenLibm is an effort to have a high quality, portable, standalone C
+ mathematical library (libm). It can be used standalone in applications
+ and programming language implementations.
+ The project was born out of a need to have a good libm for the Julia
+ programming langage that worked consistently across compilers and
+ operating systems, and in 32-bit and 64-bit environments.
+ </longdescription>
<upstream>
<remote-id type="github">JuliaLang/openlibm</remote-id>
</upstream>
diff --git a/sci-libs/openlibm/openlibm-0.5.4.ebuild b/sci-libs/openlibm/openlibm-0.5.4.ebuild
deleted file mode 100644
index 7dbbc695f242..000000000000
--- a/sci-libs/openlibm/openlibm-0.5.4.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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="public-domain MIT ISC BSD-2 LGPL-2.1+"
-SLOT="0/${PV}.0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-IUSE="static-libs"
-
-src_install() {
- emake DESTDIR="${D}" prefix="${EPREFIX}/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)" install
- use static-libs || rm "${D}/${EPREFIX}/usr/$(get_libdir)/libopenlibm.a" || die "rm failed"
- dodoc README.md
-}
diff --git a/sci-libs/openlibm/openlibm-0.7.0.ebuild b/sci-libs/openlibm/openlibm-0.7.0.ebuild
deleted file mode 100644
index aae8815fd2f8..000000000000
--- a/sci-libs/openlibm/openlibm-0.7.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils toolchain-funcs fortran-2
-
-DESCRIPTION="High quality system independent, open source libm"
-HOMEPAGE="https://github.com/JuliaLang/openlibm"
-SRC_URI="https://codeload.github.com/JuliaMath/openlibm/tar.gz/v${PV} -> ${P}.tar.gz"
-
-LICENSE="public-domain MIT ISC BSD-2 LGPL-2.1+"
-SLOT="0/${PV}.0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-IUSE="static-libs"
-
-src_install() {
- emake DESTDIR="${D}" prefix="${EPREFIX}/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)" install
- use static-libs || rm "${D}/${EPREFIX}/usr/$(get_libdir)/libopenlibm.a" || die "rm failed"
- dodoc README.md
-}
diff --git a/sci-libs/openlibm/openlibm-0.7.5.ebuild b/sci-libs/openlibm/openlibm-0.7.5.ebuild
new file mode 100644
index 000000000000..ca3ab8af5117
--- /dev/null
+++ b/sci-libs/openlibm/openlibm-0.7.5.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="High quality system independent, open source libm"
+HOMEPAGE="https://github.com/JuliaLang/openlibm"
+SRC_URI="https://github.com/JuliaMath/openlibm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain MIT ISC BSD-2 LGPL-2.1+"
+# See https://abi-laboratory.pro/index.php?view=timeline&l=openlibm
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+src_prepare() {
+ default
+ sed -e "/^OLM_LIBS :=/s/^/#/" \
+ -e "/install: /s/install-static//" \
+ -i Makefile || die
+}
+
+src_configure() {
+ tc-export CC CXX FC AR LD
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" install
+ dodoc README.md
+}
diff --git a/sci-libs/openlibm/openlibm-0.8.0.ebuild b/sci-libs/openlibm/openlibm-0.8.0.ebuild
new file mode 100644
index 000000000000..3d2362897851
--- /dev/null
+++ b/sci-libs/openlibm/openlibm-0.8.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="High quality system independent, open source libm"
+HOMEPAGE="https://github.com/JuliaLang/openlibm"
+SRC_URI="https://github.com/JuliaMath/openlibm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+IUSE="static-libs"
+LICENSE="public-domain MIT ISC BSD-2 LGPL-2.1+"
+# See https://abi-laboratory.pro/index.php?view=timeline&l=openlibm
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+src_prepare() {
+ default
+ sed -e "/^OLM_LIBS :=/s/^/#/" -i Makefile || die
+ if ! use static-libs ; then
+ sed -e "/install: /s/install-static//" -i Makefile || die
+ fi
+}
+
+src_configure() {
+ tc-export CC CXX FC AR LD
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" install
+ dodoc README.md
+}
diff --git a/sci-libs/orocos-bfl/metadata.xml b/sci-libs/orocos-bfl/metadata.xml
index 0dca5e8d0942..89b745071952 100644
--- a/sci-libs/orocos-bfl/metadata.xml
+++ b/sci-libs/orocos-bfl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild b/sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild
index bc79a85db067..303009dda3e2 100644
--- a/sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild
+++ b/sci-libs/orocos-bfl/orocos-bfl-0.8.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
-inherit cmake-utils
+inherit cmake
DESCRIPTION="Bayesian Filtering Library"
HOMEPAGE="https://orocos.org/bfl"
@@ -12,54 +12,55 @@ SRC_URI="https://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"
+IUSE="doc test"
RESTRICT="!test? ( test )"
RDEPEND="dev-libs/boost:="
DEPEND="${RDEPEND}
+ test? ( dev-util/cppunit )"
+BDEPEND="
virtual/pkgconfig
doc? (
- app-doc/doxygen
+ app-text/doxygen
virtual/latex-base
- )
- test? ( dev-util/cppunit )"
+ )"
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
sed -e 's:/lib:/${CMAKE_INSTALL_LIBDIR}:' \
- -i "${S}/"{,src/,src/bindings/rtt/}CMakeLists.txt || die
+ -i {,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)"
+ -DLIBRARY_TYPE=shared
+ # installs test binaries
+ -DBUILD_EXAMPLES=NO
+ -DBUILD_TESTS=$(usex test)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_compile() {
- cmake-utils_src_compile
+ cmake_src_compile
+
if use doc ; then
- cd "${BUILD_DIR}"
+ cd "${BUILD_DIR}" || die
doxygen || die
cd "${S}/docs" || die
pdflatex getting_started_guide || die
pdflatex getting_started_guide || die
+
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
fi
}
src_test() {
- cd "${BUILD_DIR}"
- emake check
+ cmake_build 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
+ cmake_src_install
+ use doc && dodoc docs/getting_started_guide.pdf
}
diff --git a/sci-libs/orocos_kdl/Manifest b/sci-libs/orocos_kdl/Manifest
index 40912926d343..6da107deeaef 100644
--- a/sci-libs/orocos_kdl/Manifest
+++ b/sci-libs/orocos_kdl/Manifest
@@ -1,2 +1 @@
-DIST orocos_kinematics_dynamics-1.3.1.tar.gz 202471 BLAKE2B 46b7bdb62c09e9077b84d914b4d780995f27d486d9c734ef2ee1f8b8c2219265cdba5e63830225e2435b5760b79f00d478670e95b71666959afa773f8bcfe5ce SHA512 93abd9dd5aef3710f784f9db8eea4738458bffa5295923993e2d77656c18f7354559412fb7eb5f1e9da7112de19aa36d3f0f68f149852f955bce960fd3b719e7
-DIST orocos_kinematics_dynamics-1.4.0.tar.gz 215004 BLAKE2B 02ca44195af2ae2bd5c2293869893c56846501e2055ca1cacef602ffdd44824fc618ed528d351ee2212b7c087ff5e69438ab87e9fb8813d8a4eb4c143fdbfd27 SHA512 7156465e2aff02f472933617512069355836a03a02d4587cfe03c1b1d667a9762a4e3ed6e055b2a44f1fce1b6746179203c7204389626a7b458dcab1b28930d8
+DIST orocos_kinematics_dynamics-1.5.1.tar.gz 251074 BLAKE2B 6be8171c3ce3bc6613fc342b8d3c772de766bfab78c5530364339ce2f9c4a37e6bc5519482f30939b210d9cb9e7899b3da66784a5c301653493212bc690917a8 SHA512 9774b76b755ea81168390643813789783f60d0b1cdb46cd250e3e0d27f75a6cf2fd3bfd2081c04e30a14ff4fc70d0080c9b43b82ee181c2dda82f23f052b338d
diff --git a/sci-libs/orocos_kdl/metadata.xml b/sci-libs/orocos_kdl/metadata.xml
index 8e818f01bbf4..1977fd3cda9e 100644
--- a/sci-libs/orocos_kdl/metadata.xml
+++ b/sci-libs/orocos_kdl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/sci-libs/orocos_kdl/orocos_kdl-1.3.1-r1.ebuild b/sci-libs/orocos_kdl/orocos_kdl-1.3.1-r1.ebuild
deleted file mode 100644
index e45b79724fb4..000000000000
--- a/sci-libs/orocos_kdl/orocos_kdl-1.3.1-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm ~x86"
- SRC_URI="https://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="https://www.orocos.org/kdl"
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="doc test examples models"
-RESTRICT="!test? ( test )"
-
-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}
-
- # Need to have package.xml in our custom gentoo path
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
-}
diff --git a/sci-libs/orocos_kdl/orocos_kdl-1.4.0.ebuild b/sci-libs/orocos_kdl/orocos_kdl-1.4.0.ebuild
deleted file mode 100644
index 80637a8fa224..000000000000
--- a/sci-libs/orocos_kdl/orocos_kdl-1.4.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm ~x86"
- SRC_URI="https://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="https://www.orocos.org/kdl"
-LICENSE="LGPL-2.1"
-SLOT="0/14"
-IUSE="doc test examples models"
-RESTRICT="!test? ( test )"
-
-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}
-
- # Need to have package.xml in our custom gentoo path
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
-}
diff --git a/sci-libs/orocos_kdl/orocos_kdl-1.5.1.ebuild b/sci-libs/orocos_kdl/orocos_kdl-1.5.1.ebuild
new file mode 100644
index 000000000000..496d229c6a7c
--- /dev/null
+++ b/sci-libs/orocos_kdl/orocos_kdl-1.5.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Kinematics and Dynamics Library (KDL)"
+HOMEPAGE="https://www.orocos.org/kdl"
+
+if [[ ${PV} = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
+ S="${WORKDIR}/${P}/${PN}"
+else
+ SRC_URI="https://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
+ KEYWORDS="amd64 ~arm ~x86"
+ S="${WORKDIR}/orocos_kinematics_dynamics-${PV}/${PN}"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0/15"
+IUSE="doc examples models test"
+REQUIRED_USE="examples? ( models )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-cpp/eigen:3"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ test? ( dev-util/cppunit )
+"
+
+src_configure() {
+ # disable catkin support
+ sed -e 's/find_package(catkin/find_package(NoTcatkin/' -i CMakeLists.txt || die
+ local mycmakeargs=(
+ -DBUILD_MODELS=$(usex models ON OFF)
+ -DENABLE_EXAMPLES=$(usex examples)
+ -DENABLE_TESTS=$(usex test)
+ )
+ if use examples; then
+ mycmakeargs+=(
+ -DBUILD_MODELS_DEMO=ON
+ )
+ fi
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ cmake_build docs
+ rm "${BUILD_DIR}/doc/kdl.tag" || die
+ fi
+}
+
+src_test() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ eninja check
+ popd > /dev/null || die
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( "${BUILD_DIR}/doc/api/html/." )
+ cmake_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ docinto examples
+ dodoc -r "${S}"/examples/.
+ fi
+}
diff --git a/sci-libs/orocos_kdl/orocos_kdl-9999.ebuild b/sci-libs/orocos_kdl/orocos_kdl-9999.ebuild
index 80637a8fa224..30eebff8b84d 100644
--- a/sci-libs/orocos_kdl/orocos_kdl-9999.ebuild
+++ b/sci-libs/orocos_kdl/orocos_kdl-9999.ebuild
@@ -1,72 +1,73 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
-fi
+inherit cmake
-inherit ${SCM} cmake-utils
+DESCRIPTION="Kinematics and Dynamics Library (KDL)"
+HOMEPAGE="https://www.orocos.org/kdl"
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
+if [[ ${PV} = *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
+ S="${WORKDIR}/${P}/${PN}"
else
- KEYWORDS="~amd64 ~arm ~x86"
SRC_URI="https://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+ S="${WORKDIR}/orocos_kinematics_dynamics-${PV}/${PN}"
fi
-DESCRIPTION="Kinematics and Dynamics Library (KDL)"
-HOMEPAGE="https://www.orocos.org/kdl"
LICENSE="LGPL-2.1"
-SLOT="0/14"
-IUSE="doc test examples models"
+SLOT="0/15"
+IUSE="doc examples models test"
+REQUIRED_USE="examples? ( models )"
RESTRICT="!test? ( test )"
RDEPEND="dev-cpp/eigen:3"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
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() {
+ # disable catkin support
+ sed -e 's/find_package(catkin/find_package(NoTcatkin/' -i CMakeLists.txt || die
local mycmakeargs=(
- "$(cmake-utils_use_enable test TESTS)"
- "$(cmake-utils_use_enable examples EXAMPLES)"
- "-DBUILD_MODELS=$(usex models ON OFF)"
+ -DBUILD_MODELS=$(usex models ON OFF)
+ -DENABLE_EXAMPLES=$(usex examples)
+ -DENABLE_TESTS=$(usex test)
)
- cmake-utils_src_configure
+ if use examples; then
+ mycmakeargs+=(
+ -DBUILD_MODELS_DEMO=ON
+ )
+ fi
+ cmake_src_configure
}
src_compile() {
- cmake-utils_src_compile
- cd "${BUILD_DIR}"
- use doc && emake docs
+ cmake_src_compile
+ if use doc; then
+ cmake_build docs
+ rm "${BUILD_DIR}/doc/kdl.tag" || die
+ fi
}
src_test() {
- cd "${BUILD_DIR}"
- emake check
+ pushd "${BUILD_DIR}" > /dev/null || die
+ eninja check
+ popd > /dev/null || die
}
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}
+ use doc && local HTML_DOCS=( "${BUILD_DIR}/doc/api/html/." )
+ cmake_src_install
- # Need to have package.xml in our custom gentoo path
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ docinto examples
+ dodoc -r "${S}"/examples/.
+ fi
}
diff --git a/sci-libs/p4est/Manifest b/sci-libs/p4est/Manifest
index 09c06d0c267f..ec900fcf2092 100644
--- a/sci-libs/p4est/Manifest
+++ b/sci-libs/p4est/Manifest
@@ -1,4 +1,3 @@
-DIST libsc-2.0.tar.gz 296392 BLAKE2B b5e1ca5cf6802ed38c32db5e7a77aec2fc636d88f2562314088dc16d13a0dccd24706276b05f8ddd70bc3769270a378c0089873fb2a21ebc93d6ca2622d7a58e SHA512 e4cfe42a1c1fe17412e1ffb6ebebe1f760861a7fb707a6f8fd01cdebda96b166ee05e7ff034f3b9e30de5e9baa82c9a2cebe93d40772dbd206603321de40559c
-DIST libsc-2.2.tar.gz 311542 BLAKE2B 0879be69208f0964d73cc297a64b158ad88344e876a90dd4bd39c80fc0cf8237f4551cb684dee36e08068fa04644b887ec56230335a9984363055c1248aa6185 SHA512 97953794fdeb985bedb1dc9378f10ed4824446c63762d7813aced3309c2d6b27368c91fecb22587dccdf8b3b42aaaba9e782b739086cf542570360795897ac14
-DIST p4est-2.0.tar.gz 1296762 BLAKE2B 1d755ec72905da069b9c91182a437c59107189402eb26444cf7fc1755b81bdbfad9aa25802720df401e8d434e5ac67e68b1d7dd5bf312f881017925498ad7514 SHA512 05f8a95ad431bd36fd3e48ca9360de0f90d1af7dfc77601cd46766898a9bc82b9157e22bdb6135e7003f59c7ecc4cd9ad34b89de25ba3c6f11a86d46cac8592c
-DIST p4est-2.2.tar.gz 1323529 BLAKE2B 262cb8d1ceff1329a71fd302b12c1650e9c099e72a9a93b4abef5822b16a28af0ee1ce9a338c524c2077d4bff83e607e9346f5bb1c660aa9afa8241bb631a637 SHA512 8475e0b6ab1225b22e7538c9c9b227f9aef86f78adf0706065a05f4682618f8f5d3878c18c11b8b13b3912e1de95f40b0ef5f5f5d217c02196993ac07f085299
+DIST libsc-2.3.6.tar.gz 346618 BLAKE2B 6da88f1eec572a5d30ebef5e17554874e3d88d124fbbb7582092bd43a85a547f130a5406ffd40f86d564c95a3e600b2eb854ee0378b8e0c2d755a7d45d55ff1e SHA512 9037ebeebcf84d1dc3026172ee3fd3182729fbdbdadb478e8c05670b17bd3e2f3b192bac9a509bd99312c5f944a10fb7eb0636e8c7bd133b30677eb5ead6d117
+DIST p4est-2.3.6.tar.gz 2645384 BLAKE2B f6763e6a5b8b371eeead8a9d6481ea63e01ec5f13ea0dd9748aeaaec5551d39ac5d73f75f92275bfe61370e578ba1b1d0940c569e48fbd83997eaad4ab65b088 SHA512 99df91ee9d351cc889a532764096428e3f575c5f71199fca9f217c3dac5030a263308aa9c698476e7a12774d0751409f27e70ac2e9cd27847b2345b3f909b195
+DIST p4est-2.8.5.tar.gz 2721258 BLAKE2B 07fd70f5b7ce0d2dcdc0d913cd9ae7920272a0e459c7db7f9d180b592570a5232c7d2bd03547eec3333dcdc6fdc83adcce30c71eb9c44ab6e6b9b9a314707471 SHA512 22b5a9bbfb51e972f4b93a90f5fa0f9557770ccbe357044b5bb97b31d02783affef188cde38c86bb4ece31ba23ce47e4eb95a6e7c5f02d11549cf986e85f68a0
diff --git a/sci-libs/p4est/files/p4est-2.3-fix_aclocal.patch b/sci-libs/p4est/files/p4est-2.3-fix_aclocal.patch
new file mode 100644
index 000000000000..a3209d5064fb
--- /dev/null
+++ b/sci-libs/p4est/files/p4est-2.3-fix_aclocal.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile.am b/Makefile.am
+index e8b7e67..1817e37 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,7 +2,6 @@
+ # This file is part of p4est.
+ # Makefile.am in toplevel directory
+
+-ACLOCAL_AMFLAGS = -I config @P4EST_SC_AMFLAGS@
+ if P4EST_SC_MK_USE
+ @P4EST_SC_MK_INCLUDE@
+ endif
diff --git a/sci-libs/p4est/files/p4est-2.3.6-override_soname.patch b/sci-libs/p4est/files/p4est-2.3.6-override_soname.patch
new file mode 100644
index 000000000000..40f032c109b7
--- /dev/null
+++ b/sci-libs/p4est/files/p4est-2.3.6-override_soname.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Makefile.am b/src/Makefile.am
+index b30f0e3..2c636f9 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -82,7 +82,7 @@ src_libp4est_la_SOURCES = \
+ src_libp4est_la_CPPFLAGS = $(AM_CPPFLAGS) $(P4EST_CPPFLAGS)
+ ## This is the official API versioning scheme of libtool. Please see:
+ ## Read https://www.gnu.org/software/libtool/manual/libtool.html#Versioning
+-src_libp4est_la_LDFLAGS = -version-info 1:0:0
++src_libp4est_la_LDFLAGS = -release $(VERSION)
+ src_libp4est_la_LIBADD = @P4EST_SC_LDADD@
+ LDADD += src/libp4est.la @P4EST_SC_LDADD@
+ EXTRA_src_libp4est_la_DEPENDENCIES = @P4EST_SC_LDADD@
diff --git a/sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch b/sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch
new file mode 100644
index 000000000000..0063acf9c5c1
--- /dev/null
+++ b/sci-libs/p4est/files/p4est-2.8.5-fix_build_system.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 78c02bf..d1b2094 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,6 +8,8 @@ HOMEPAGE_URL https://www.p4est.org/
+ DESCRIPTION "p4est manages a collection---a forest---of octrees in parallel."
+ VERSION ${PROJECT_VERSION})
+
++set(CMAKE_POSITION_INDEPENDENT_CODE ON)
++
+ include(CTest)
+
+ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
+@@ -68,8 +70,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/ ${PROJECT_BINARY_DIR}/include/
+
+ install(TARGETS p4est
+ EXPORT ${PROJECT_NAME}-targets
+-ARCHIVE DESTINATION lib
+-LIBRARY DESTINATION lib
++ARCHIVE DESTINATION ${library_reldir}
++LIBRARY DESTINATION ${library_reldir}
+ RUNTIME DESTINATION bin
+ )
+
diff --git a/sci-libs/p4est/files/p4est-2.8.5-fix_cmake_path.patch b/sci-libs/p4est/files/p4est-2.8.5-fix_cmake_path.patch
new file mode 100644
index 000000000000..8202a4007ede
--- /dev/null
+++ b/sci-libs/p4est/files/p4est-2.8.5-fix_cmake_path.patch
@@ -0,0 +1,44 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d1b2094..e5fe188 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -104,9 +104,8 @@ endif(BUILD_TESTING)
+ # --- packaging
+
+ install(FILES
+-${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindSC.cmake
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindP4EST.cmake
+-DESTINATION cmake)
++DESTINATION ${library_reldir}/cmake/P4est)
+
+ include(cmake/pkgconf.cmake)
+ include(cmake/install.cmake)
+diff --git a/cmake/install.cmake b/cmake/install.cmake
+index f4f92c4..0f31976 100644
+--- a/cmake/install.cmake
++++ b/cmake/install.cmake
+@@ -4,7 +4,7 @@ include(CMakePackageConfigHelpers)
+
+ configure_package_config_file(${CMAKE_CURRENT_LIST_DIR}/config.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}Config.cmake
+-INSTALL_DESTINATION cmake
++INSTALL_DESTINATION ${library_reldir}/cmake/P4est
+ )
+
+ write_basic_package_version_file(
+@@ -14,13 +14,13 @@ COMPATIBILITY SameMajorVersion
+
+ install(EXPORT ${PROJECT_NAME}-targets
+ NAMESPACE ${PROJECT_NAME}::
+-DESTINATION cmake
++DESTINATION ${library_reldir}/cmake/P4est
+ )
+
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}Config.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}ConfigVersion.cmake
+-DESTINATION cmake
++DESTINATION ${library_reldir}/cmake/P4est
+ )
+
+ # --- CPack
diff --git a/sci-libs/p4est/files/p4est-2.8.5-set_version.patch b/sci-libs/p4est/files/p4est-2.8.5-set_version.patch
new file mode 100644
index 000000000000..061081a0da9e
--- /dev/null
+++ b/sci-libs/p4est/files/p4est-2.8.5-set_version.patch
@@ -0,0 +1,49 @@
+diff --git a/cmake/git.cmake b/cmake/git.cmake
+index f88e984..f04f52b 100644
+--- a/cmake/git.cmake
++++ b/cmake/git.cmake
+@@ -1,39 +1,5 @@
+-# --- extract version from Git
+-
+-set(PROJECT_MAJOR 0)
+-set(PROJECT_MINOR 0)
+-set(PROJECT_PATCH 0)
+-set(PROJECT_VERSION 0.0.0)
+-find_program(GIT_VERSION_GEN NAMES git-version-gen
+- PATHS ${CMAKE_SOURCE_DIR}/build-aux NO_DEFAULT_PATH)
+-if(GIT_VERSION_GEN)
+- execute_process(COMMAND ${GIT_VERSION_GEN} .tarball-version
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- RESULT_VARIABLE _err
+- OUTPUT_VARIABLE git_version
+- OUTPUT_STRIP_TRAILING_WHITESPACE)
+-endif()
+-if(_err EQUAL 0)
+- if(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.].*")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_MINOR "${CMAKE_MATCH_2}")
+- set(PROJECT_PATCH "${CMAKE_MATCH_3}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH}.999)
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_MINOR "${CMAKE_MATCH_2}")
+- set(PROJECT_PATCH "${CMAKE_MATCH_3}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.${PROJECT_PATCH})
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_MINOR "${CMAKE_MATCH_2}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR})
+- elseif(git_version MATCHES
+- "^(0|[1-9][0-9]*)")
+- set(PROJECT_MAJOR "${CMAKE_MATCH_1}")
+- set(PROJECT_VERSION ${PROJECT_MAJOR})
+- endif()
+-endif()
++set(git_version 2.8.5)
++set(PROJECT_MAJOR 2)
++set(PROJECT_MINOR 8)
++set(PROJECT_PATCH 5)
++set(PROJECT_VERSION 2.8.5)
diff --git a/sci-libs/p4est/metadata.xml b/sci-libs/p4est/metadata.xml
index a7e30547b056..c58dd131de04 100644
--- a/sci-libs/p4est/metadata.xml
+++ b/sci-libs/p4est/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
diff --git a/sci-libs/p4est/p4est-2.0.ebuild b/sci-libs/p4est/p4est-2.0.ebuild
deleted file mode 100644
index 8fd68ca09b10..000000000000
--- a/sci-libs/p4est/p4est-2.0.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# The build system currently fails with everything newer than 1.11.
-WANT_AUTOMAKE=1.11
-
-inherit autotools toolchain-funcs eutils
-
-DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
-HOMEPAGE="http://www.p4est.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="
- https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/cburstedde/libsc/archive/v${PV}.tar.gz -> libsc-${PV}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-2+"
-SLOT="0"
-
-# TODO petsc
-IUSE="debug doc examples mpi openmp romio static-libs threads +vtk-binary"
-REQUIRED_USE="romio? ( mpi )"
-
-RDEPEND="
- ~sci-libs/libsc-${PV}[mpi=,openmp=,romio=,static-libs=,threads=]
- dev-lang/lua:*
- sys-apps/util-linux
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[romio=] )"
-
-DEPEND="
- ${RDEPEND}
- sys-devel/automake:1.11
- virtual/pkgconfig"
-
-DOCS=( AUTHORS NEWS README )
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != "binary" ]] && use openmp; then
- tc-has-openmp || \
- die "Please select an openmp capable compiler like gcc[openmp]"
- fi
-}
-
-src_prepare() {
- default
-
- # Inject libsc to get all parts of the build system...
- if ! [[ ${PV} = *9999* ]]; then
- rmdir "${S}/sc" || die "rmdir failed"
- mv "${WORKDIR}/libsc-${PV}" "${S}/sc" || die "mv failed"
- fi
-
- # Inject a version number into the build system
- echo "${PV}" > ${S}/.tarball-version
-
- AT_M4DIR="${WORKDIR}/${P}/config ${WORKDIR}/${P}/sc/config"
- eautoreconf
-
- sed -i \
- "s/P4EST_SC_DIR\/etc/P4EST_SC_DIR\/share\/libsc/" \
- "${S}"/configure || die "sed failed"
-
- sed -i \
- "s#lib/libsc\.la#$(get_libdir)/libsc\.so#" \
- "${S}"/configure || die "sed failed"
-}
-
-src_configure() {
- # avoid underlinkage
- LDFLAGS="${LDFLAGS} -lsc"
-
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable mpi)
- $(use_enable openmp)
- $(use_enable romio mpiio)
- $(use_enable static-libs static)
- $(use_enable threads pthread)
- $(use_enable vtk-binary)
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- --with-sc="${EPREFIX}/usr"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- use doc && dodoc -r doc/*
-
- if use examples
- then
- docinto examples
- dodoc -r example/*
- docompress -x /usr/share/doc/${PF}/examples
- else
- # Remove compiled example binaries in case of -examples:
- rm -r "${ED}"/usr/bin || die "rm failed"
- fi
-
- # Fix wrong installation paths:
- dodir /usr/share/p4est
- mv "${ED}"/usr/share/data "${ED}"/usr/share/p4est/data || die "mv failed"
- mv "${ED}"/etc/* "${ED}"/usr/share/p4est || die "mv failed"
- rmdir "${ED}"/etc/ || die "rmdir failed"
-}
diff --git a/sci-libs/p4est/p4est-2.2.ebuild b/sci-libs/p4est/p4est-2.2.ebuild
deleted file mode 100644
index 32ae041f931a..000000000000
--- a/sci-libs/p4est/p4est-2.2.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# The build system currently fails with everything newer than 1.11.
-WANT_AUTOMAKE=1.11
-
-inherit autotools toolchain-funcs eutils
-
-DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
-HOMEPAGE="http://www.p4est.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="
- https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/cburstedde/libsc/archive/v${PV}.tar.gz -> libsc-${PV}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-2+"
-SLOT="0"
-
-# TODO petsc
-IUSE="debug doc examples mpi openmp romio static-libs threads +vtk-binary"
-REQUIRED_USE="romio? ( mpi )"
-
-RDEPEND="
- ~sci-libs/libsc-${PV}[mpi=,openmp=,romio=,static-libs=,threads=]
- dev-lang/lua:*
- sys-apps/util-linux
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[romio=] )"
-
-DEPEND="
- ${RDEPEND}
- sys-devel/automake:1.11
- virtual/pkgconfig"
-
-DOCS=( AUTHORS NEWS README )
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != "binary" ]] && use openmp; then
- tc-has-openmp || \
- die "Please select an openmp capable compiler like gcc[openmp]"
- fi
-}
-
-src_prepare() {
- default
-
- # Inject libsc to get all parts of the build system...
- if ! [[ ${PV} = *9999* ]]; then
- rmdir "${S}/sc" || die "rmdir failed"
- mv "${WORKDIR}/libsc-${PV}" "${S}/sc" || die "mv failed"
- fi
-
- # Inject a version number into the build system
- echo "${PV}" > ${S}/.tarball-version
-
- AT_M4DIR="${WORKDIR}/${P}/config ${WORKDIR}/${P}/sc/config"
- eautoreconf
-
- sed -i \
- "s/P4EST_SC_DIR\/etc/P4EST_SC_DIR\/share\/libsc/" \
- "${S}"/configure || die "sed failed"
-
- sed -i \
- "s#lib/libsc\.la#$(get_libdir)/libsc\.so#" \
- "${S}"/configure || die "sed failed"
-}
-
-src_configure() {
- # avoid underlinkage
- LDFLAGS="${LDFLAGS} -lsc"
-
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable mpi)
- $(use_enable openmp)
- $(use_enable romio mpiio)
- $(use_enable static-libs static)
- $(use_enable threads pthread)
- $(use_enable vtk-binary)
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- --with-sc="${EPREFIX}/usr"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- use doc && dodoc -r doc/*
-
- if use examples
- then
- docinto examples
- dodoc -r example/*
- docompress -x /usr/share/doc/${PF}/examples
- else
- # Remove compiled example binaries in case of -examples:
- rm -r "${ED}"/usr/bin || die "rm failed"
- fi
-
- # Fix wrong installation paths:
- dodir /usr/share/p4est
- mv "${ED}"/usr/share/data "${ED}"/usr/share/p4est/data || die "mv failed"
- mv "${ED}"/etc/* "${ED}"/usr/share/p4est || die "mv failed"
- rmdir "${ED}"/etc/ || die "rmdir failed"
-}
diff --git a/sci-libs/p4est/p4est-2.3.6.ebuild b/sci-libs/p4est/p4est-2.3.6.ebuild
new file mode 100644
index 000000000000..27b596c41c15
--- /dev/null
+++ b/sci-libs/p4est/p4est-2.3.6.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..3} )
+
+inherit autotools flag-o-matic lua-single toolchain-funcs
+
+DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
+HOMEPAGE="http://www.p4est.org/"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="
+ https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/cburstedde/libsc/archive/v${PV}.tar.gz -> libsc-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# TODO petsc
+IUSE="debug doc examples mpi openmp romio threads +vtk-binary"
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ romio? ( mpi )"
+
+RDEPEND="${LUA_DEPS}
+ ~sci-libs/libsc-${PV}[${LUA_SINGLE_USEDEP},mpi=,openmp=,romio=,threads=]
+ sys-apps/util-linux
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[romio=] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3-fix_aclocal.patch
+ "${FILESDIR}"/${PN}-2.3.6-override_soname.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Inject libsc to get all parts of the build system...
+ if ! [[ ${PV} = *9999* ]]; then
+ rmdir "${S}/sc" || die "rmdir failed"
+ mv "${WORKDIR}/libsc-${PV}" "${S}/sc" || die "mv failed"
+ fi
+
+ # Inject a version number into the build system
+ echo "${PV}" > "${S}"/.tarball-version
+
+ AT_M4DIR="${WORKDIR}/${P}/config ${WORKDIR}/${P}/sc/config"
+ eautoreconf
+
+ sed -i \
+ "s/P4EST_SC_DIR\/etc/P4EST_SC_DIR\/share\/libsc/" \
+ "${S}"/configure || die "sed failed"
+
+ sed -i \
+ "s#lib/libsc\.la#$(get_libdir)/libsc\.so#" \
+ "${S}"/configure || die "sed failed"
+}
+
+src_configure() {
+ # avoid underlinkage
+ append-libs -lsc
+
+ local myeconfargs=(
+ --disable-static
+ $(use_enable debug)
+ $(use_enable mpi)
+ $(use_enable openmp)
+ $(use_enable romio mpiio)
+ $(use_enable threads pthread)
+ $(use_enable vtk-binary)
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
+ --with-sc="${ESYSROOT}/usr"
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ use doc && dodoc -r doc/*
+
+ if use examples
+ then
+ docinto examples
+ dodoc -r example/*
+ docompress -x /usr/share/doc/${PF}/examples
+ else
+ # Remove compiled example binaries in case of -examples:
+ rm -r "${ED}"/usr/bin || die "rm failed"
+ fi
+
+ # Fix wrong installation paths:
+ dodir /usr/share/p4est
+ mv "${ED}"/usr/share/data "${ED}"/usr/share/p4est/data || die "mv failed"
+ mv "${ED}"/etc/* "${ED}"/usr/share/p4est || die "mv failed"
+ rmdir "${ED}"/etc/ || die "rmdir failed"
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/p4est/p4est-2.8.5-r3.ebuild b/sci-libs/p4est/p4est-2.8.5-r3.ebuild
new file mode 100644
index 000000000000..253f6ee31911
--- /dev/null
+++ b/sci-libs/p4est/p4est-2.8.5-r3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
+HOMEPAGE="http://www.p4est.org/"
+
+LIBSC_VERSION="${PV}"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
+ EGIT_BRANCH="develop"
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+# TODO petsc
+IUSE="debug doc examples mpi openmp threads +vtk-binary"
+
+RDEPEND="
+ ~sci-libs/libsc-${LIBSC_VERSION}[mpi=,openmp=,threads=]
+ sys-apps/util-linux
+ virtual/blas
+ virtual/lapack
+ mpi? ( virtual/mpi[romio] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix_build_system.patch
+ "${FILESDIR}"/${P}-set_version.patch
+ "${FILESDIR}"/${P}-fix_cmake_path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ # avoid using debug codepaths that are manually enabled with the
+ # RelWithDebInfo build type
+ local CMAKE_BUILD_TYPE="Release"
+
+ local mycmakeargs=(
+ -Dmpi="$(usex mpi)"
+ -Dopenmp="$(usex openmp)"
+ -Dlibrary_reldir="$(get_libdir)"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ [ ! "$(get_libdir)" = "lib" ] && mv "${ED}"/usr/{lib,$(get_libdir)}/pkgconfig || die "mv failed"
+
+ mkdir -p "${ED}"/usr/share/doc/${PF}
+ mv "${ED}"/usr/share/docs/P4EST/* "${ED}"/usr/share/doc/${PF}/ || die "mv failed"
+ rm -r "${ED}"/usr/share/docs || die "rm failed"
+}
diff --git a/sci-libs/p4est/p4est-9999.ebuild b/sci-libs/p4est/p4est-9999.ebuild
deleted file mode 100644
index 8fd68ca09b10..000000000000
--- a/sci-libs/p4est/p4est-9999.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# The build system currently fails with everything newer than 1.11.
-WANT_AUTOMAKE=1.11
-
-inherit autotools toolchain-funcs eutils
-
-DESCRIPTION="Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees"
-HOMEPAGE="http://www.p4est.org/"
-
-if [[ ${PV} = *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/cburstedde/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="
- https://github.com/cburstedde/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/cburstedde/libsc/archive/v${PV}.tar.gz -> libsc-${PV}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-2+"
-SLOT="0"
-
-# TODO petsc
-IUSE="debug doc examples mpi openmp romio static-libs threads +vtk-binary"
-REQUIRED_USE="romio? ( mpi )"
-
-RDEPEND="
- ~sci-libs/libsc-${PV}[mpi=,openmp=,romio=,static-libs=,threads=]
- dev-lang/lua:*
- sys-apps/util-linux
- virtual/blas
- virtual/lapack
- mpi? ( virtual/mpi[romio=] )"
-
-DEPEND="
- ${RDEPEND}
- sys-devel/automake:1.11
- virtual/pkgconfig"
-
-DOCS=( AUTHORS NEWS README )
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != "binary" ]] && use openmp; then
- tc-has-openmp || \
- die "Please select an openmp capable compiler like gcc[openmp]"
- fi
-}
-
-src_prepare() {
- default
-
- # Inject libsc to get all parts of the build system...
- if ! [[ ${PV} = *9999* ]]; then
- rmdir "${S}/sc" || die "rmdir failed"
- mv "${WORKDIR}/libsc-${PV}" "${S}/sc" || die "mv failed"
- fi
-
- # Inject a version number into the build system
- echo "${PV}" > ${S}/.tarball-version
-
- AT_M4DIR="${WORKDIR}/${P}/config ${WORKDIR}/${P}/sc/config"
- eautoreconf
-
- sed -i \
- "s/P4EST_SC_DIR\/etc/P4EST_SC_DIR\/share\/libsc/" \
- "${S}"/configure || die "sed failed"
-
- sed -i \
- "s#lib/libsc\.la#$(get_libdir)/libsc\.so#" \
- "${S}"/configure || die "sed failed"
-}
-
-src_configure() {
- # avoid underlinkage
- LDFLAGS="${LDFLAGS} -lsc"
-
- local myeconfargs=(
- $(use_enable debug)
- $(use_enable mpi)
- $(use_enable openmp)
- $(use_enable romio mpiio)
- $(use_enable static-libs static)
- $(use_enable threads pthread)
- $(use_enable vtk-binary)
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- --with-sc="${EPREFIX}/usr"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- use doc && dodoc -r doc/*
-
- if use examples
- then
- docinto examples
- dodoc -r example/*
- docompress -x /usr/share/doc/${PF}/examples
- else
- # Remove compiled example binaries in case of -examples:
- rm -r "${ED}"/usr/bin || die "rm failed"
- fi
-
- # Fix wrong installation paths:
- dodir /usr/share/p4est
- mv "${ED}"/usr/share/data "${ED}"/usr/share/p4est/data || die "mv failed"
- mv "${ED}"/etc/* "${ED}"/usr/share/p4est || die "mv failed"
- rmdir "${ED}"/etc/ || die "rmdir failed"
-}
diff --git a/sci-libs/parmetis/Manifest b/sci-libs/parmetis/Manifest
index bab1f34b3d8a..7e9881aae079 100644
--- a/sci-libs/parmetis/Manifest
+++ b/sci-libs/parmetis/Manifest
@@ -1,2 +1,2 @@
-DIST metis-5.1.0.tar.gz 4984968 BLAKE2B c5f8ff552fce7e7cc02740e6197c9deb5e05e8bc2e2e56cad0cba85705eec6990b511182930c8758fd16a18015f54c8a4827038039bc3c58ee41df468ea175bc SHA512 deea47749d13bd06fbeaf98a53c6c0b61603ddc17a43dae81d72c8015576f6495fd83c11b0ef68d024879ed5415c14ebdbd87ce49c181bdac680573bea8bdb25
DIST parmetis-4.0.3.tar.gz 5567670 BLAKE2B 69a44ea8e50d8fd78046a342807b994220d03da3ab1695533d92772b1840302917a7d5d6f9eb020d9ff8ab7e5372bff0386d6354b662f58495b74f8f596c45f9 SHA512 454a91921ca35c981df11c9846a11963ff8fd8407a25179453af33f8fe69493f6dd7f2a0b8feed9a7d3f121e45b715749dd7a94873eaac2bae4cad1e535ca132
+DIST parmetis-4.0.3_p20230326.tar.gz 5312266 BLAKE2B 52f34982cff0aa3dbc26dde1bab72ff1a8f5fa20feba72deedc600fcb0d73c9d05f3a43bf5713f9a7db74695affaedd5ea5f691396f5d02c58ad26dc5a779592 SHA512 a71d212a1c8682eb662ef6bb8bdcb124bc13c353e76ac236b01e544bddb975740c36be54c05305e1114e4daf20fec56642ffa319a6426c87c5538ea2225c156b
diff --git a/sci-libs/parmetis/files/parmetis-4.0.3-01-cmake-paths.patch b/sci-libs/parmetis/files/parmetis-4.0.3-01-cmake-paths.patch
new file mode 100644
index 000000000000..cdff3c0ea490
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-4.0.3-01-cmake-paths.patch
@@ -0,0 +1,37 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,8 @@
+ cmake_minimum_required(VERSION 2.8)
+ project(ParMETIS)
+
++include(GNUInstallDirs)
++
+ set(GKLIB_PATH METIS/GKlib CACHE PATH "path to GKlib")
+ set(METIS_PATH METIS CACHE PATH "path to METIS")
+
+@@ -36,7 +38,6 @@
+ add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
+ add_subdirectory(include)
+ add_subdirectory(libparmetis)
+-add_subdirectory(programs)
+
+ # This is for testing during development and is not being distributed
+ #add_subdirectory(test)
+--- a/include/CMakeLists.txt
++++ b/include/CMakeLists.txt
+@@ -1 +1 @@
+-install(FILES parmetis.h DESTINATION include)
+\ No newline at end of file
++install(FILES parmetis.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+--- a/libparmetis/CMakeLists.txt
++++ b/libparmetis/CMakeLists.txt
+@@ -9,6 +9,6 @@
+ set_target_properties(parmetis PROPERTIES LINK_FLAGS "${MPI_LINK_FLAGS}")
+
+ install(TARGETS parmetis
+- LIBRARY DESTINATION lib
+- RUNTIME DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/sci-libs/parmetis/files/parmetis-4.0.3-02-unbundle-metis.patch b/sci-libs/parmetis/files/parmetis-4.0.3-02-unbundle-metis.patch
new file mode 100644
index 000000000000..f4e04eb48a94
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-4.0.3-02-unbundle-metis.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -35,7 +35,6 @@
+ include_directories(${METIS_PATH}/include)
+
+ # List of directories that cmake will look for CMakeLists.txt
+-add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
+ add_subdirectory(include)
+ add_subdirectory(libparmetis)
+
diff --git a/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch
new file mode 100644
index 000000000000..cccf5a45f36e
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch
@@ -0,0 +1,31 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 146bc5f..faa1cfd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,9 +30,9 @@ include_directories(${CMAKE_INSTALL_PREFIX}/include)
+
+ # List of paths that the compiler will search for library files.
+ # i.e., the -L equivalent
+-link_directories(${GKLIB_PATH}/lib)
+-link_directories(${METIS_PATH}/lib)
+-link_directories(${CMAKE_INSTALL_PREFIX}/lib)
++link_directories(${GKLIB_PATH}/lib${LIB_SUFFIX})
++link_directories(${METIS_PATH}/lib${LIB_SUFFIX})
++link_directories(${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+
+ # List of directories that cmake will look for CMakeLists.txt
+ add_subdirectory(include)
+diff --git a/libparmetis/CMakeLists.txt b/libparmetis/CMakeLists.txt
+index b9d6d84..c0553e7 100644
+--- a/libparmetis/CMakeLists.txt
++++ b/libparmetis/CMakeLists.txt
+@@ -12,6 +12,6 @@ if(SHARED)
+ endif()
+
+ install(TARGETS parmetis
+- LIBRARY DESTINATION lib
+- RUNTIME DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ RUNTIME DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib${LIB_SUFFIX})
diff --git a/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch
new file mode 100644
index 000000000000..4aa19580619e
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch
@@ -0,0 +1,47 @@
+diff --git a/conf/gkbuild.cmake b/conf/gkbuild.cmake
+index ec91224..5e66546 100644
+--- a/conf/gkbuild.cmake
++++ b/conf/gkbuild.cmake
+@@ -28,17 +28,6 @@ endif(CYGWIN)
+ if(CMAKE_COMPILER_IS_GNUCC)
+ # GCC opts.
+ set(GK_COPTIONS "${GK_COPTIONS} -std=c99 -fno-strict-aliasing")
+-# -march=native is not a valid flag on PPC:
+-if(CMAKE_SYSTEM_PROCESSOR MATCHES "power|ppc|powerpc|ppc64|powerpc64" OR (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64"))
+- set(GK_COPTIONS "${GK_COPTIONS} -mtune=native")
+-else()
+- set(GK_COPTIONS "${GK_COPTIONS} -march=native")
+-endif()
+- if(NOT MINGW)
+- set(GK_COPTIONS "${GK_COPTIONS} -fPIC")
+- endif(NOT MINGW)
+-# GCC warnings.
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label")
+ elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
+ # Sun insists on -xc99.
+ set(GK_COPTIONS "${GK_COPTIONS} -xc99")
+@@ -65,24 +54,6 @@ if(OPENMP)
+ endif(OPENMP)
+
+
+-# Add various definitions.
+-if(GDB)
+- set(GK_COPTS "${GK_COPTS} -g")
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror")
+-else()
+- set(GK_COPTS "-O3")
+-endif(GDB)
+-
+-
+-if(DEBUG)
+- set(GK_COPTS "-Og")
+- set(GK_COPTIONS "${GK_COPTIONS} -DDEBUG")
+-endif(DEBUG)
+-
+-if(GPROF)
+- set(GK_COPTS "-pg")
+-endif(GPROF)
+-
+ if(NOT ASSERT)
+ set(GK_COPTIONS "${GK_COPTIONS} -DNDEBUG")
+ endif(NOT ASSERT)
diff --git a/sci-libs/parmetis/metadata.xml b/sci-libs/parmetis/metadata.xml
index cf1b66e81268..bf62d9f372a0 100644
--- a/sci-libs/parmetis/metadata.xml
+++ b/sci-libs/parmetis/metadata.xml
@@ -1,20 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<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>
- <use>
- <flag name="int64">Build the 64 bits integer library (needed for &gt; 2^31 vertices)</flag>
- <flag name="double-precision">Floating-point operation done as double precision</flag>
- </use>
+ 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>
+ <upstream>
+ <remote-id type="github">KarypisLab/ParMETIS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/parmetis/parmetis-4.0.3-r1.ebuild b/sci-libs/parmetis/parmetis-4.0.3-r1.ebuild
deleted file mode 100644
index 4bcc0ab1385f..000000000000
--- a/sci-libs/parmetis/parmetis-4.0.3-r1.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Check metis version bundled in parmetis tar ball
-# by diff of metis and parmetis tar ball
-METISPV=5.1.0
-METISP=metis-${METISPV}
-inherit cmake-utils toolchain-funcs
-
-DESCRIPTION="Parallel (MPI) unstructured graph partitioning library"
-HOMEPAGE="http://www-users.cs.umn.edu/~karypis/metis/parmetis/"
-SRC_URI="
- http://glaros.dtc.umn.edu/gkhome/fetch/sw/${PN}/${P}.tar.gz
- doc? ( http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/${METISP}.tar.gz )
- examples? ( http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/${METISP}.tar.gz )"
-
-LICENSE="all-rights-reserved"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc double-precision examples int64 mpi openmp pcre static-libs"
-RESTRICT="mirror bindist"
-
-DEPEND="mpi? ( virtual/mpi )"
-RDEPEND="${DEPEND}
- !<sci-libs/metis-5"
-
-pkg_setup() {
- if use openmp; then
- if [[ $(tc-getCC)$ == *gcc* ]] && ! tc-has-openmp; then
- ewarn "You are using gcc but openmp is not available"
- die "Need an OpenMP capable compiler"
- fi
- fi
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # libdir love
- sed -i \
- -e '/DESTINATION/s/lib/lib${LIB_SUFFIX}/g' \
- libparmetis/CMakeLists.txt metis/libmetis/CMakeLists.txt || die
- # set metis as separate shared lib
- sed -i \
- -e 's/METIS_LIB/ParMETIS_LIB/g' \
- metis/libmetis/CMakeLists.txt || die
- sed -i \
- -e '/programs/d' \
- CMakeLists.txt metis/CMakeLists.txt || die
- if use static-libs; then
- mkdir "${WORKDIR}/${PN}_static" || die
- fi
-
- if use mpi; then
- export CC=mpicc CXX=mpicxx
- else
- sed -i \
- -e '/add_subdirectory(include/d' \
- -e '/add_subdirectory(libparmetis/d' \
- CMakeLists.txt || die
- fi
-
- if use int64; then
- sed -i -e '/IDXTYPEWIDTH/s/32/64/' metis/include/metis.h || die
- fi
-
- if use double-precision; then
- sed -i -e '/REALTYPEWIDTH/s/32/64/' metis/include/metis.h || die
- fi
-}
-
-src_configure() {
- parmetis_configure() {
- local mycmakeargs=(
- -DGKLIB_PATH="${S}/metis/GKlib"
- -DMETIS_PATH="${S}/metis"
- -DGKRAND=ON
- -DMETIS_INSTALL=ON
- -DOPENMP=$(usex openmp)
- -DPCRE=$(usex pcre)
- $@
- )
- cmake-utils_src_configure
- }
- parmetis_configure -DSHARED=ON
- if use static-libs; then
- sed -i -e '/fPIC/d' metis/GKlib/GKlibSystem.cmake || die
- BUILD_DIR="${WORKDIR}/${PN}_static" parmetis_configure
- fi
-}
-
-src_compile() {
- cmake-utils_src_compile
- use static-libs && \
- BUILD_DIR="${WORKDIR}/${PN}_static" cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
- use static-libs && \
- BUILD_DIR="${WORKDIR}/${PN}_static" cmake-utils_src_install
- insinto /usr/include
- doins metis/include/metis.h
-
- newdoc metis/Changelog Changelog.metis}
- use doc && dodoc "${WORKDIR}/${METISP}"/manual/manual.pdf
- if use examples; then
- insinto /usr/share/doc/${PF}/examples/metis
- doins "${WORKDIR}/${METISP}"/{programs,graphs}/*
- fi
- # alternative stuff
- cat > metis.pc <<-EOF
- prefix=${EPREFIX}/usr
- libdir=\${prefix}/$(get_libdir)
- includedir=\${prefix}/include
- Name: metis
- Description: Unstructured graph partitioning library
- Version: ${METISPV}
- URL: ${HOMEPAGE/parmetis/metis}
- Libs: -L\${libdir} -lmetis
- Cflags: -I\${includedir}/metis
- EOF
- insinto /usr/$(get_libdir)/pkgconfig
- doins metis.pc
- # change if scotch is actually an alternative to metis
- #alternatives_for metis metis 0 \
- # /usr/$(get_libdir)/pkgconfig/metis.pc refmetis.pc
-
- if use mpi; then
- dodoc Changelog
- use doc && dodoc manual/manual.pdf
- if use examples; then
- insinto /usr/share/doc/${PF}/examples/${PN}
- doins {programs,Graphs}/*
- fi
- # alternative stuff
- cat > ${PN}.pc <<-EOF
- prefix=${EPREFIX}/usr
- libdir=\${prefix}/$(get_libdir)
- includedir=\${prefix}/include
- Name: ${PN}
- Description: ${DESCRIPTION}
- Version: ${PV}
- URL: ${HOMEPAGE}
- Libs: -L\${libdir} -l${PN}
- Cflags: -I\${includedir}/${PN}
- Requires: metis
- EOF
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
- # change if scotch is actually an alternative to parmetis
- #alternatives_for metis-mpi ${PN} 0 \
- # /usr/$(get_libdir)/pkgconfig/metis-mpi.pc ${PN}.pc
- fi
-}
diff --git a/sci-libs/parmetis/parmetis-4.0.3-r2.ebuild b/sci-libs/parmetis/parmetis-4.0.3-r2.ebuild
new file mode 100644
index 000000000000..3c2f019818b2
--- /dev/null
+++ b/sci-libs/parmetis/parmetis-4.0.3-r2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="Parallel (MPI) unstructured graph partitioning library"
+HOMEPAGE="http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview"
+SRC_URI="http://glaros.dtc.umn.edu/gkhome/fetch/sw/${PN}/${P}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples openmp pcre"
+RESTRICT="mirror bindist"
+
+DEPEND=">=sci-libs/metis-5.1.0-r5
+ virtual/mpi[fortran]
+ pcre? ( dev-libs/libpcre:= )"
+RDEPEND="${DEPEND}
+ !<sci-libs/metis-5.1.0-r5"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.3-01-cmake-paths.patch
+ "${FILESDIR}"/${PN}-4.0.3-02-unbundle-metis.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ export CC=mpicc CXX=mpicxx
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGKLIB_PATH="${S}/metis/GKlib"
+ -DGKRAND=ON
+ -DMETIS_PATH="${EPREFIX}/usr"
+ -DOPENMP=$(usex openmp)
+ -DPCRE=$(usex pcre)
+ -DSHARED=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc Changelog
+ use doc && dodoc manual/manual.pdf
+ if use examples; then
+ docinto examples
+ dodoc -r Graphs programs
+ fi
+
+ cat > ${PN}.pc <<-EOF
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -l${PN}
+ Cflags: -I\${includedir}/${PN}
+ Requires: metis
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild b/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild
new file mode 100644
index 000000000000..48a2e554f84a
--- /dev/null
+++ b/sci-libs/parmetis/parmetis-4.0.3_p20230326-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+COMMIT="8ee6a372ca703836f593e3c450ca903f04be14df"
+
+DESCRIPTION="Parallel (MPI) unstructured graph partitioning library"
+HOMEPAGE="https://github.com/KarypisLab/ParMETIS"
+SRC_URI="https://github.com/KarypisLab/ParMETIS/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/ParMETIS-${COMMIT}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86 ~amd64-linux"
+IUSE="examples openmp pcre"
+RESTRICT="mirror bindist"
+
+DEPEND="
+ sci-libs/gklib
+ >=sci-libs/metis-5.1.0-r5
+ virtual/mpi[fortran]
+ pcre? ( dev-libs/libpcre:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-user-flags.patch
+ "${FILESDIR}"/${P}-multilib.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ export CC=mpicc CXX=mpicxx
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGKRAND=ON
+ -DMETIS_PATH="${EPREFIX}/usr"
+ -DOPENMP=$(usex openmp)
+ -DPCRE=$(usex pcre)
+ -DSHARED=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc Changelog
+ dodoc manual/manual.pdf
+ if use examples; then
+ docinto examples
+ dodoc -r Graphs programs
+ fi
+
+ cat > ${PN}.pc <<-EOF
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -lparmetis -lGKlib
+ Cflags: -I\${includedir}
+ Requires: metis
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/sci-libs/pastix/Manifest b/sci-libs/pastix/Manifest
index ebbea05dd675..67a373f23211 100644
--- a/sci-libs/pastix/Manifest
+++ b/sci-libs/pastix/Manifest
@@ -1,2 +1,2 @@
-DIST pastix_5.2.2.22.tar.bz2 2664470 BLAKE2B b1fbd12bf2c882aa8fd2c4891a6890df4bdc4488cedca2a7861e676ec5678063927f2e4a4edc47aa7ca0422b283f8f012aa1032af7212fe39f4c55e7f0f7adc4 SHA512 15ecdb10b5229e40f744c1ad54be7cac6560cb92e90df1937c90ca7da290df6bdb6f24a1e1c54197731b9df3e0dcc0b9fa39750479fcf03a0c08c304c5b9df70
+DIST pastix-6.0.3.tar.gz 1793579 BLAKE2B 9e0ee71c80b2c93c6762c1a824b2e1262fd1a9f406194fb99eeecbfc172cf82f497d23a541b56c44e5487c3c228cab781f47f683ee04c6cdf426da6126750a69 SHA512 5bf8dfa6ed02ee7e236c63e21c80bd45af807b465b21a8c0520b1328e179095f1416f925be9f8b5ec0e8078ca9bc4398bf0d091fdc8e9ea51b9af12a06d9a544
DIST pastix_5.2.3.tar.bz2 2246903 BLAKE2B b13cb31bbc2aeb122e932b2a934598ec975a55f327483bf1383280976584858426c56982f6980b52f32f04e05c6e6c8de1cf35e378e61a7be9dddb705b1c033a SHA512 69acffac1be8c756886783c2a6307269ab4d14abfc4a77268b3d14995e53b16084c298446812484233d9d52c317490d6ad67788166adf367075e6c8442147b95
diff --git a/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch b/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch
deleted file mode 100644
index 8aa7c06e5c93..000000000000
--- a/sci-libs/pastix/files/pastix-5.2.2.22-isnan-floating-point-cast.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Add missing cast to floating-point type:
-* sopalin/src/variable_csc.c: In function ‘vcsc_add_node’:
-* sopalin/src/variable_csc.c:138:13: error: non-floating-point argument in call to function ‘__builtin_isnan’
-* if (isnan(vcsc->values[COL-1][i*dof2 + ii])) {
-See also:
-https://bugs.gentoo.org/show_bug.cgi?id=580422
-
---- src/common/src/errors.h
-+++ src/common/src/errors.h
-@@ -140,7 +140,7 @@
- * expr - The value to check.
- */
- #define CHECK_NAN(expr) { \
-- ASSERT_DEBUG(!isnan(expr), DBG_SOPALIN_NAN); \
-+ ASSERT_DEBUG(!isnan(((double) expr)), DBG_SOPALIN_NAN); \
- ASSERT_DEBUG(!isinf(expr), DBG_SOPALIN_INF); \
- }
- #else
---- src/sopalin/src/variable_csc.c
-+++ src/sopalin/src/variable_csc.c
-@@ -135,7 +135,7 @@
- #endif
-
- for (ii = 0; ii < dof2; ii++) {
-- if (isnan(vcsc->values[COL-1][i*dof2 + ii])) {
-+ if (isnan(((double) vcsc->values[COL-1][i*dof2 + ii]))) {
- vcsc->values[COL-1][i*dof2 + ii] = VALUE[ii];
- } else {
- vcsc->values[COL-1][i*dof2 + ii] = op(vcsc->values[COL-1][i*dof2 + ii],
-@@ -252,7 +252,7 @@
- vcsc->rows[COL_NODE][i]);
- }
- #endif
-- if (isnan(vcsc->values[COL_NODE][idx])) {
-+ if (isnan(((double) vcsc->values[COL_NODE][idx]))) {
- vcsc->values[COL_NODE][idx] = VALUE;
- } else {
- vcsc->values[COL_NODE][idx] = op(vcsc->values[COL_NODE][idx],
-@@ -660,7 +660,7 @@
- } else {
- INTS iterdof;
- for (iterdof = 0; iterdof < dof2; iterdof++) {
-- if (!isnan(vcsc->values[MYCOL-1][dof2*iter2+iterdof])) {
-+ if (!isnan(((double) vcsc->values[MYCOL-1][dof2*iter2+iterdof]))) {
- /* ignore NaN values from VCSC */
- (*values_o)[dof2*iter3+iterdof] = op(
- (*values_o)[dof2*iter3+iterdof],
diff --git a/sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch b/sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch
deleted file mode 100644
index c01b02bb8f72..000000000000
--- a/sci-libs/pastix/files/pastix-5.2.2.22-nosmp-undefined-variable.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- ./sopalin/src/updo.c.orig 2016-02-23 01:42:00.000000000 +0000
-+++ ./sopalin/src/updo.c 2016-02-23 01:42:10.000000000 +0000
-@@ -940,8 +940,10 @@
- i = TASK_CBLKNUM(i);
- # define END_LOOP(a) } SMP_END_LOOP(a)
- # else /* SMP_SOPALIN */
--# define START_LOOP for (i=0;i<SYMB_CBLKNBR;i++)
--# define END_LOOP
-+# define START_LOOP \
-+ int bubnum = me; \
-+ for (i=0;i<SYMB_CBLKNBR;i++)
-+# define END_LOOP(a) a
- # endif
-
- /* Xi=(Dii)-1Xi; */
diff --git a/sci-libs/pastix/files/pastix-5.2.3-MPI-3.0.patch b/sci-libs/pastix/files/pastix-5.2.3-MPI-3.0.patch
new file mode 100644
index 000000000000..d86ec5b78416
--- /dev/null
+++ b/sci-libs/pastix/files/pastix-5.2.3-MPI-3.0.patch
@@ -0,0 +1,139 @@
+https://bugs.gentoo.org/692742
+rename MPI 1.0 to 3.0+ functions:
+- MPI_Address -> MPI_Get_address
+- MPI_Type_struct -> MPI_Type_create_struct
+
+--- a/common/src/nompi.h
++++ b/common/src/nompi.h
+@@ -127,9 +127,9 @@
+ #define MPI_Start(request)
+ #define MPI_Startall(count, array_of_requests)
+ #define MPI_Type_contiguous(count, oldtype, newtype)
+-#define MPI_Type_struct(count, array_of_blocklengths, array_of_displacement, \
++#define MPI_Type_create_struct(count, array_of_blocklengths, array_of_displacement, \
+ oldtype, newtype)
+-#define MPI_Address(location, newtype)
++#define MPI_Get_address(location, newtype)
+ #define MPI_Type_commit(datatype)
+ #define MPI_Type_free(datatype)
+ #define MPI_Request_free(request)
+--- a/sopalin/src/sopalin_sendrecv.c
++++ b/sopalin/src/sopalin_sendrecv.c
+@@ -1300,10 +1300,10 @@
+ thread_data->gtaboffs[packnbr] = FANIN_INFOTAB(t);
+ thread_data->gtaboffs[packnbr+1] = FANIN_COEFTAB(t);
+ #else /* NO_MPI_TYPE */
+- CALL_MPI MPI_Address(FANIN_INFOTAB(t),&(thread_data->gtaboffs[packnbr]));
+- TEST_MPI("MPI_Address");
+- CALL_MPI MPI_Address(FANIN_COEFTAB(t),&(thread_data->gtaboffs[packnbr+1]));
+- TEST_MPI("MPI_Address");
++ CALL_MPI MPI_Get_address(FANIN_INFOTAB(t),&(thread_data->gtaboffs[packnbr]));
++ TEST_MPI("MPI_Get_address");
++ CALL_MPI MPI_Get_address(FANIN_COEFTAB(t),&(thread_data->gtaboffs[packnbr+1]));
++ TEST_MPI("MPI_Get_address");
+ #endif /* NO_MPI_TYPE */
+
+ /* Add other contribution for the same task */
+@@ -1410,12 +1410,12 @@
+ thread_data->gtaboffs[packnbr] = FANIN_INFOTAB(t);
+ thread_data->gtaboffs[packnbr+1] = FANIN_COEFTAB(t);
+ #else /* NO_MPI_TYPE */
+- CALL_MPI MPI_Address(FANIN_INFOTAB(t),
++ CALL_MPI MPI_Get_address(FANIN_INFOTAB(t),
+ &(thread_data->gtaboffs[packnbr]));
+- TEST_MPI("MPI_Address");
+- CALL_MPI MPI_Address(FANIN_COEFTAB(t),
++ TEST_MPI("MPI_Get_address");
++ CALL_MPI MPI_Get_address(FANIN_COEFTAB(t),
+ &(thread_data->gtaboffs[packnbr+1]));
+- TEST_MPI("MPI_Address");
++ TEST_MPI("MPI_Get_address");
+ #endif /* NO_MPI_TYPE */
+
+ if (queueSize(sendqueue))
+@@ -1508,10 +1508,10 @@
+ TEST_MPI("MPI_Rsend");
+ # endif
+ #else /* NO_MPI_TYPE */
+- CALL_MPI MPI_Type_struct(2*(packnbr/2+1), thread_data->gtabsize,
++ CALL_MPI MPI_Type_create_struct(2*(packnbr/2+1), thread_data->gtabsize,
+ thread_data->gtaboffs,
+ thread_data->gtabtype, &newtype);
+- TEST_MPI("MPI_Type_struct");
++ TEST_MPI("MPI_Type_create_struct");
+ CALL_MPI MPI_Type_commit(&newtype);
+ TEST_MPI("MPI_Type_commit");
+ # ifdef TEST_ISEND
+@@ -1602,15 +1602,15 @@
+ (long)me, (unsigned int)(intptr_t)BTAG_COEFTAB(t));
+
+ #ifndef NO_MPI_TYPE
+- CALL_MPI MPI_Address(BTAG_BTAGTAB(t),&(taboffs[0]));
+- TEST_MPI("MPI_Address");
+- CALL_MPI MPI_Address(BTAG_BCOFTAB(t),&(taboffs[1]));
+- TEST_MPI("MPI_Address");
+- CALL_MPI MPI_Address((void *)BTAG_COEFTAB(t),&(taboffs[2]));
+- TEST_MPI("MPI_Address");
++ CALL_MPI MPI_Get_address(BTAG_BTAGTAB(t),&(taboffs[0]));
++ TEST_MPI("MPI_Get_address");
++ CALL_MPI MPI_Get_address(BTAG_BCOFTAB(t),&(taboffs[1]));
++ TEST_MPI("MPI_Get_address");
++ CALL_MPI MPI_Get_address((void *)BTAG_COEFTAB(t),&(taboffs[2]));
++ TEST_MPI("MPI_Get_address");
+
+- CALL_MPI MPI_Type_struct(3,tabsize,taboffs,tabtype,&newtype);
+- TEST_MPI("MPI_Type_struct");
++ CALL_MPI MPI_Type_create_struct(3,tabsize,taboffs,tabtype,&newtype);
++ TEST_MPI("MPI_Type_create_struct");
+
+ CALL_MPI MPI_Type_commit(&newtype);
+ TEST_MPI("MPI_Type_commit");
+--- a/sopalin/src/updo_sendrecv.c
++++ b/sopalin/src/updo_sendrecv.c
+@@ -347,12 +347,12 @@
+ tabtype[0] = COMM_INT;
+ tabtype[1] = COMM_FLOAT;
+
+- CALL_MPI MPI_Address(infotab,&(taboffs[0]));
+- TEST_MPI("MPI_Address");
+- CALL_MPI MPI_Address(FANIN_COEFTAB(SOLV_FTGTIND(j)),&(taboffs[1]));
+- TEST_MPI("MPI_Address");
+- CALL_MPI MPI_Type_struct(2,tabsize,taboffs,tabtype,&newtype);
+- TEST_MPI("MPI_Type_struct");
++ CALL_MPI MPI_Get_address(infotab,&(taboffs[0]));
++ TEST_MPI("MPI_Get_address");
++ CALL_MPI MPI_Get_address(FANIN_COEFTAB(SOLV_FTGTIND(j)),&(taboffs[1]));
++ TEST_MPI("MPI_Get_address");
++ CALL_MPI MPI_Type_create_struct(2,tabsize,taboffs,tabtype,&newtype);
++ TEST_MPI("MPI_Type_create_struct");
+ CALL_MPI MPI_Type_commit(&newtype);
+ TEST_MPI("MPI_Type_commit");
+ # endif /* NO_MPI_TYPE */
+@@ -974,8 +974,8 @@
+
+ tabtype[0] = COMM_INT;
+
+- CALL_MPI MPI_Address(infotab,&(taboffs[0]));
+- TEST_MPI("MPI_Address");
++ CALL_MPI MPI_Get_address(infotab,&(taboffs[0]));
++ TEST_MPI("MPI_Get_address");
+
+ /* If schur, send empty data */
+ if ((sopalin_data->sopar->iparm[IPARM_SCHUR] == API_YES &&
+@@ -988,12 +988,12 @@
+ for (iter=1; iter<UPDOWN_SM2XNBR+1; iter++) {
+ tabsize[iter] = size;
+ tabtype[iter] = COMM_FLOAT;
+- CALL_MPI MPI_Address(gb+((iter-1)*UPDOWN_SM2XSZE),&(taboffs[iter]));
+- TEST_MPI("MPI_Address");
++ CALL_MPI MPI_Get_address(gb+((iter-1)*UPDOWN_SM2XSZE),&(taboffs[iter]));
++ TEST_MPI("MPI_Get_address");
+ }
+ }
+- CALL_MPI MPI_Type_struct(UPDOWN_SM2XNBR+1,tabsize,taboffs,tabtype,&newtype);
+- TEST_MPI("MPI_Type_struct");
++ CALL_MPI MPI_Type_create_struct(UPDOWN_SM2XNBR+1,tabsize,taboffs,tabtype,&newtype);
++ TEST_MPI("MPI_Type_create_struct");
+ CALL_MPI MPI_Type_commit(&newtype);
+ TEST_MPI("MPI_Type_commit");
+
diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch
new file mode 100644
index 000000000000..5f0701168271
--- /dev/null
+++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-examples-optional.patch
@@ -0,0 +1,170 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -94,6 +94,9 @@
+ "Build PaStiX with PaRSEC runtime support" OFF)
+
+ # Internal options
++option(INSTALL_EXAMPLES
++ "Install example code" OFF)
++
+ option(PASTIX_GENERATE_MODEL
+ "Enable performances profiling for model generation" OFF)
+
+--- a/example/CMakeLists.txt
++++ b/example/CMakeLists.txt
+@@ -38,15 +38,18 @@
+ )
+ set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c")
+
++if (BUILD_TESTING)
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+ add_executable(${_name_we} ${_file})
+ target_link_libraries(${_name_we} pastix)
+ target_link_libraries(${_name_we} ${BLAS_LIBRARIES})
+-
+- install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
+- install(FILES ${_file} DESTINATION ${example_install_dir} )
+ endforeach()
++endif()
++
++if (INSTALL_EXAMPLES)
++
++install(FILES ${EXAMPLES} DESTINATION ${example_install_dir} )
+
+ ### Install a makefile for user compilation test
+ set( EXAMPLE_LIBS ${DEPS_LIBRARIES} )
+@@ -61,4 +64,6 @@
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile"
+ DESTINATION ${example_install_dir})
+
++endif (INSTALL_EXAMPLES)
++
+ include(CTestLists.txt)
+--- a/example/old/CMakeLists.txt
++++ b/example/old/CMakeLists.txt
+@@ -15,14 +15,17 @@
+ )
+ set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c/old")
+
++if (BUILD_TESTING)
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+ add_executable("old_${_name_we}" ${_file})
+ target_link_libraries("old_${_name_we}" pastix)
+-
+- install(TARGETS old_${_name_we} RUNTIME DESTINATION ${example_install_dir} )
+- install(FILES ${_file} DESTINATION ${example_install_dir} )
+ endforeach()
++endif()
++
++if (INSTALL_EXAMPLES)
++
++install(FILES ${EXAMPLES} DESTINATION ${example_install_dir} )
+
+ ### Install a makefile for user compilation test
+ set( EXAMPLE_LIBS
+@@ -36,3 +39,4 @@
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile"
+ DESTINATION ${example_install_dir} )
+
++endif (INSTALL_EXAMPLES)
+--- a/spm/wrappers/fortran90/CMakeLists.txt
++++ b/spm/wrappers/fortran90/CMakeLists.txt
+@@ -43,15 +43,19 @@
+ )
+ set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" )
+
++if (BUILD_TESTING)
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+ add_executable(${_name_we} examples/${_file})
+ target_link_libraries(${_name_we} spmf)
+
+- install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
+- install(FILES examples/${_file} DESTINATION ${example_install_dir} )
+-
+ add_test(fortran_${_name_we} ./${_name_we})
+
+ endforeach()
++endif()
+
++if (INSTALL_EXAMPLES)
++ foreach (_file ${EXAMPLES})
++ install(FILES examples/${_file} DESTINATION ${example_install_dir} )
++ endforeach()
++endif()
+--- a/spm/wrappers/python/CMakeLists.txt
++++ b/spm/wrappers/python/CMakeLists.txt
+@@ -31,11 +31,13 @@
+ DESTINATION "${Python_SITELIB}/spm" )
+
+ # Install python examples
++if (INSTALL_EXAMPLES)
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/spm_driver.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/spm_scipy.py
+ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python"
+ )
++endif()
+
+ ## CTest execution
+ set( PYTHON_TESTS
+--- a/wrappers/fortran90/CMakeLists.txt
++++ b/wrappers/fortran90/CMakeLists.txt
+@@ -45,14 +45,13 @@
+ )
+ set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" )
+
++if (BUILD_TESTING)
++
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+ add_executable(${_name_we} examples/${_file})
+ target_link_libraries(${_name_we} pastixf spmf)
+
+- install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
+- install(FILES examples/${_file} DESTINATION ${example_install_dir} )
+-
+ add_test(fortran_${_name_we} ./${_name_we})
+
+ endforeach()
+@@ -66,10 +65,16 @@
+ add_executable(${_name_we} examples/${_file})
+ target_link_libraries(${_name_we} pastixf spmf)
+
+-install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
+-install(FILES examples/${_file} DESTINATION ${example_install_dir} )
+-install(FILES examples/test_seq.in DESTINATION ${example_install_dir} )
+-install(FILES examples/test_mt.in DESTINATION ${example_install_dir} )
++endif (BUILD_TESTING)
++
++if (INSTALL_EXAMPLES)
++ foreach (_file ${EXAMPLES})
++ install(FILES examples/${_file} DESTINATION ${example_install_dir} )
++ endforeach()
++ install(FILES examples/fmultilap.f90 DESTINATION ${example_install_dir} )
++ install(FILES examples/test_seq.in DESTINATION ${example_install_dir} )
++ install(FILES examples/test_mt.in DESTINATION ${example_install_dir} )
++endif()
+
+ # Add OpenMP if available
+ find_package(OpenMP)
+--- a/wrappers/python/CMakeLists.txt
++++ b/wrappers/python/CMakeLists.txt
+@@ -32,6 +32,7 @@
+ DESTINATION "${Python_SITELIB}/pypastix" )
+
+ # Install python examples
++if (INSTALL_EXAMPLES)
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/simple.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/simple_obj.py
+@@ -39,6 +40,7 @@
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/schur_obj.py
+ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python"
+ )
++endif()
+
+ ## CTest execution
+ set( PYTHON_TESTS
diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch
new file mode 100644
index 000000000000..a586981f37e7
--- /dev/null
+++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-installdirs.patch
@@ -0,0 +1,424 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,6 +13,7 @@
+
+ include(CMakeDependentOption)
+ include(CheckFunctionExists)
++include(GNUInstallDirs)
+
+ # The current version number
+ set(PASTIX_VERSION_MAJOR 6)
+@@ -516,7 +517,7 @@
+ configure_file (
+ "${CMAKE_CURRENT_SOURCE_DIR}/include/pastix/config.h.in"
+ "${PROJECT_INCLUDE_DIR}/pastix/config.h")
+-install(FILES "${PROJECT_INCLUDE_DIR}/pastix/config.h" DESTINATION include/pastix)
++install(FILES "${PROJECT_INCLUDE_DIR}/pastix/config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pastix)
+
+ include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+@@ -844,9 +845,9 @@
+ # endforeach()
+
+ install(TARGETS pastix
+- RUNTIME DESTINATION bin
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib)
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ # Install header files
+ set(PASTIX_HDRS
+@@ -861,8 +862,8 @@
+ )
+ install(FILES
+ include/pastix.h
+- DESTINATION include )
+-install(FILES ${PASTIX_HDRS} DESTINATION include/pastix )
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
++install(FILES ${PASTIX_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pastix )
+
+ ## Executable and tests
+ enable_testing()
+@@ -934,8 +935,6 @@
+ "${CMAKE_CURRENT_SOURCE_DIR}/pastixf.pc.in"
+ PROJECTNAME PASTIX )
+
+-generate_env_file( PROJECTNAME PASTIX )
+-
+ #############################################################
+ #
+ # Build documentation
+--- a/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
++++ b/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
+@@ -196,7 +196,7 @@
+ # ------------
+ install(FILES
+ "${CMAKE_BINARY_DIR}/lib/pkgconfig/${fname}.pc"
+- DESTINATION lib/pkgconfig )
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
+
+ endforeach()
+
+@@ -232,7 +232,7 @@
+ # installation
+ # ------------
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${LONAME}_env.sh"
+- DESTINATION bin)
++ DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ endmacro(generate_env_file)
+
+--- a/example/CMakeLists.txt
++++ b/example/CMakeLists.txt
+@@ -36,6 +36,7 @@
+ simple.c
+ step-by-step.c
+ )
++set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c")
+
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+@@ -43,8 +44,8 @@
+ target_link_libraries(${_name_we} pastix)
+ target_link_libraries(${_name_we} ${BLAS_LIBRARIES})
+
+- install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
+- install(FILES ${_file} DESTINATION examples )
++ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
++ install(FILES ${_file} DESTINATION ${example_install_dir} )
+ endforeach()
+
+ ### Install a makefile for user compilation test
+@@ -58,6 +59,6 @@
+ "${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile"
+- DESTINATION examples)
++ DESTINATION ${example_install_dir})
+
+ include(CTestLists.txt)
+--- a/example/old/CMakeLists.txt
++++ b/example/old/CMakeLists.txt
+@@ -13,14 +13,15 @@
+ simple.c
+ step-by-step.c
+ )
++set (example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/c/old")
+
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+ add_executable("old_${_name_we}" ${_file})
+ target_link_libraries("old_${_name_we}" pastix)
+
+- install(TARGETS old_${_name_we} RUNTIME DESTINATION examples/old )
+- install(FILES ${_file} DESTINATION examples/old )
++ install(TARGETS old_${_name_we} RUNTIME DESTINATION ${example_install_dir} )
++ install(FILES ${_file} DESTINATION ${example_install_dir} )
+ endforeach()
+
+ ### Install a makefile for user compilation test
+@@ -33,5 +34,5 @@
+ "${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/make/Makefile"
+- DESTINATION examples/old )
++ DESTINATION ${example_install_dir} )
+
+--- a/kernels/CMakeLists.txt
++++ b/kernels/CMakeLists.txt
+@@ -149,8 +149,8 @@
+
+ ### Install library
+ install(TARGETS pastix_kernels
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib)
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ ### Add generated files to the global property
+ add_documented_files(
+--- a/kernels/gpus/CMakeLists.txt
++++ b/kernels/gpus/CMakeLists.txt
+@@ -66,8 +66,8 @@
+ # ${cuda_generated_files})
+ # cuda_add_cublas_to_target( pastix_cucores_sm${_smtarget} )
+ # install(TARGETS pastix_cucores_sm${_smtarget}
+-# LIBRARY DESTINATION lib
+-# ARCHIVE DESTINATION lib )
++# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+ # # if( NOT CMAKE_BUILD_SHARED_LIBS )
+ # # target_link_libraries( pastix_cucores pastix_cucores_sm${_smtarget} )
+ # # endif()
+@@ -79,7 +79,7 @@
+ cuda_add_cublas_to_target( pastix_kernels_cuda )
+
+ install(TARGETS pastix_kernels_cuda
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib )
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ cuda_build_clean_target()
+--- a/sopalin/parsec/CMakeLists.txt
++++ b/sopalin/parsec/CMakeLists.txt
+@@ -114,8 +114,8 @@
+ endif (MPI_C_FOUND)
+
+ install(TARGETS pastix_parsec
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib)
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ ### Add non-generated documented files to the global property
+ add_documented_files(
+--- a/sopalin/starpu/CMakeLists.txt
++++ b/sopalin/starpu/CMakeLists.txt
+@@ -96,8 +96,8 @@
+ endif (MPI_C_FOUND)
+
+ install(TARGETS pastix_starpu
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib)
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ ### Add non-generated documented files to the global property
+ add_documented_files(
+--- a/spm/CMakeLists.txt
++++ b/spm/CMakeLists.txt
+@@ -139,7 +139,7 @@
+ configure_file (
+ "${CMAKE_CURRENT_SOURCE_DIR}/include/spm_config.h.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h")
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h" DESTINATION include)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/spm_config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ include_directories(include)
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/include")
+@@ -231,14 +231,14 @@
+ endif (MPI_C_FOUND)
+
+ install(TARGETS spm
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib)
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ install(FILES
+ include/spm.h
+ include/spm_const.h
+ include/spm_datatypes.h
+- DESTINATION include )
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
+
+ ### Build pkg-config and environment file
+ include(GenPkgConfig)
+@@ -251,8 +251,6 @@
+ "${CMAKE_CURRENT_SOURCE_DIR}/tools/spmf.pc.in"
+ PROJECTNAME SPM )
+
+-generate_env_file( PROJECTNAME SPM )
+-
+ ### Add documented files to the global property
+ add_documented_files(
+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+--- a/spm/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
++++ b/spm/cmake_modules/morse_cmake/modules/GenPkgConfig.cmake
+@@ -196,7 +196,7 @@
+ # ------------
+ install(FILES
+ "${CMAKE_BINARY_DIR}/lib/pkgconfig/${fname}.pc"
+- DESTINATION lib/pkgconfig )
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
+
+ endforeach()
+
+@@ -232,7 +232,7 @@
+ # installation
+ # ------------
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${LONAME}_env.sh"
+- DESTINATION bin)
++ DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ endmacro(generate_env_file)
+
+--- a/spm/wrappers/fortran90/CMakeLists.txt
++++ b/spm/wrappers/fortran90/CMakeLists.txt
+@@ -12,7 +12,7 @@
+
+ # Coherce CMake to install the generated .mod files
+ set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files)
+-install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include)
++install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ add_library( spmf
+ src/spm_enums.F90
+@@ -30,9 +30,9 @@
+
+ target_link_libraries( spmf spm )
+ install(TARGETS spmf
+- RUNTIME DESTINATION bin
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib )
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ #
+ # Add examples
+@@ -41,14 +41,15 @@
+ spm_driver.f90
+ spm_user.f90
+ )
++set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" )
+
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+ add_executable(${_name_we} examples/${_file})
+ target_link_libraries(${_name_we} spmf)
+
+- install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
+- install(FILES examples/${_file} DESTINATION examples )
++ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
++ install(FILES examples/${_file} DESTINATION ${example_install_dir} )
+
+ add_test(fortran_${_name_we} ./${_name_we})
+
+--- a/spm/wrappers/python/CMakeLists.txt
++++ b/spm/wrappers/python/CMakeLists.txt
+@@ -9,6 +9,8 @@
+ #
+ ###
+
++find_package(Python COMPONENTS Interpreter REQUIRED)
++
+ # Configure enum.py
+ if (SPM_INT64)
+ set(SPM_PYTHON_INTEGER c_int64)
+@@ -26,23 +28,20 @@
+ ${CMAKE_CURRENT_SOURCE_DIR}/spm/__spm__.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/spm/spm.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/spm/enum.py
+- DESTINATION lib/python/spm )
++ DESTINATION "${Python_SITELIB}/spm" )
+
+ # Install python examples
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/spm_driver.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/spm_scipy.py
+- DESTINATION examples
++ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python"
+ )
+
+ ## CTest execution
+-find_package(PythonInterp QUIET)
+-if (PYTHONINTERP_FOUND)
+ set( PYTHON_TESTS
+ spm_driver spm_scipy )
+
+ foreach(example ${PYTHON_TESTS} )
+ add_test(python_${example} ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${example}.py)
+ endforeach()
+-endif()
+
+--- a/wrappers/fortran90/CMakeLists.txt
++++ b/wrappers/fortran90/CMakeLists.txt
+@@ -12,7 +12,7 @@
+
+ # Coherce CMake to install the generated .mod files
+ set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files)
+-install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include)
++install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ add_library( pastixf
+ src/pastix_enums.F90
+@@ -30,9 +30,9 @@
+
+ target_link_libraries( pastixf pastix )
+ install(TARGETS pastixf
+- RUNTIME DESTINATION bin
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib )
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+
+ #
+ # Add examples
+@@ -43,14 +43,15 @@
+ fstep-by-step.f90
+ fmultidof.f90
+ )
++set ( example_install_dir "${CMAKE_INSTALL_DOCDIR}/examples/fortran" )
+
+ foreach (_file ${EXAMPLES})
+ get_filename_component(_name_we ${_file} NAME_WE)
+ add_executable(${_name_we} examples/${_file})
+ target_link_libraries(${_name_we} pastixf spmf)
+
+- install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
+- install(FILES examples/${_file} DESTINATION examples )
++ install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
++ install(FILES examples/${_file} DESTINATION ${example_install_dir} )
+
+ add_test(fortran_${_name_we} ./${_name_we})
+
+@@ -65,10 +66,10 @@
+ add_executable(${_name_we} examples/${_file})
+ target_link_libraries(${_name_we} pastixf spmf)
+
+-install(TARGETS ${_name_we} RUNTIME DESTINATION examples )
+-install(FILES examples/${_file} DESTINATION examples )
+-install(FILES examples/test_seq.in DESTINATION examples )
+-install(FILES examples/test_mt.in DESTINATION examples )
++install(TARGETS ${_name_we} RUNTIME DESTINATION ${example_install_dir} )
++install(FILES examples/${_file} DESTINATION ${example_install_dir} )
++install(FILES examples/test_seq.in DESTINATION ${example_install_dir} )
++install(FILES examples/test_mt.in DESTINATION ${example_install_dir} )
+
+ # Add OpenMP if available
+ find_package(OpenMP)
+--- a/wrappers/python/CMakeLists.txt
++++ b/wrappers/python/CMakeLists.txt
+@@ -9,6 +9,8 @@
+ #
+ ###
+
++find_package(Python COMPONENTS Interpreter REQUIRED)
++
+ # Configure enum.py
+ if (PASTIX_INT64)
+ set(PASTIX_PYTHON_INTEGER c_int64)
+@@ -27,7 +29,7 @@
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/pastix.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/enum.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/pypastix/solver.py
+- DESTINATION lib/python/pypastix )
++ DESTINATION "${Python_SITELIB}/pypastix" )
+
+ # Install python examples
+ install(FILES
+@@ -35,12 +37,10 @@
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/simple_obj.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/schur.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/examples/schur_obj.py
+- DESTINATION examples
++ DESTINATION "${CMAKE_INSTALL_DOCDIR}/examples/python"
+ )
+
+ ## CTest execution
+-find_package(PythonInterp QUIET)
+-if (PYTHONINTERP_FOUND)
+ set( PYTHON_TESTS
+ simple step-by-step schur simple_obj schur_obj )
+
+@@ -57,5 +57,4 @@
+ set_tests_properties( python_${example} PROPERTIES
+ ENVIRONMENT "${TEST_ENV_LIST}" )
+ endforeach()
+-endif()
+
diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch
new file mode 100644
index 000000000000..71d356fae2f1
--- /dev/null
+++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-python-optional.patch
@@ -0,0 +1,64 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -100,6 +100,9 @@
+ option(PASTIX_WITH_FORTRAN
+ "Enable Fortran files/interface/examples to be compiled" ON)
+
++option(PASTIX_WITH_PYTHON
++ "Install Python wrapper and examples" ON)
++
+ cmake_dependent_option(PASTIX_DISTRIBUTED
+ "Enable the distributed interface (requires PASTIX_WITH_MPI)" OFF "PASTIX_WITH_MPI" OFF)
+
+--- a/spm/CMakeLists.txt
++++ b/spm/CMakeLists.txt
+@@ -83,6 +83,13 @@
+ "Enable Fortran files/interface/examples to be compiled" ON)
+ endif()
+
++if ( DEFINED PASTIX_WITH_PYTHON )
++ set( SPM_WITH_PYTHON ${PASTIX_WITH_PYTHON} )
++else()
++ option(SPM_WITH_PYTHON
++ "Install Python wrapper and examples" ON)
++endif()
++
+ if (SPM_WITH_FORTRAN)
+ include(FortranCInterface)
+ FortranCInterface_HEADER(src/FCmangle.h
+--- a/spm/wrappers/CMakeLists.txt
++++ b/spm/wrappers/CMakeLists.txt
+@@ -13,8 +13,10 @@
+ add_subdirectory( fortran90 )
+ endif()
+
+-if (BUILD_SHARED_LIBS)
+- add_subdirectory( python )
+-else()
+- message(STATUS "--- Python wrapper is disabled with static libraries")
+-endif()
++if (SPM_WITH_PYTHON)
++ if (BUILD_SHARED_LIBS)
++ add_subdirectory( python )
++ else (BUILD_SHARED_LIBS)
++ message(FATAL_ERROR "--- Python wrapper requested but it cannot be built with static libraries")
++ endif (BUILD_SHARED_LIBS)
++endif (SPM_WITH_PYTHON)
+--- a/wrappers/CMakeLists.txt
++++ b/wrappers/CMakeLists.txt
+@@ -13,8 +13,10 @@
+ add_subdirectory( fortran90 )
+ endif()
+
+-if (BUILD_SHARED_LIBS)
+- add_subdirectory( python )
+-else()
+- message(STATUS "--- Python wrapper is disabled with static libraries")
+-endif()
++if (PASTIX_WITH_PYTHON)
++ if (BUILD_SHARED_LIBS)
++ add_subdirectory( python )
++ else (BUILD_SHARED_LIBS)
++ message(FATAL_ERROR "--- Python wrapper requested but it cannot be built with static libraries")
++ endif (BUILD_SHARED_LIBS)
++endif (PASTIX_WITH_PYTHON)
diff --git a/sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch b/sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch
new file mode 100644
index 000000000000..f2ca9a5699d1
--- /dev/null
+++ b/sci-libs/pastix/files/pastix-6.0.3-cmake-spm-project.patch
@@ -0,0 +1,12 @@
+--- a/spm/CMakeLists.txt
++++ b/spm/CMakeLists.txt
+@@ -8,9 +8,6 @@
+ # @date 2013-06-24
+ #
+ ###
+-cmake_minimum_required (VERSION 3.0)
+-project (SPM C Fortran)
+-
+ # Check if compiled independently or within another project
+ if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
+ set( BUILD_AS_SUBPROJECT OFF )
diff --git a/sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch b/sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch
new file mode 100644
index 000000000000..84dfdd4cc101
--- /dev/null
+++ b/sci-libs/pastix/files/pastix-6.0.3-multiple-coeftabMemory.patch
@@ -0,0 +1,11 @@
+--- a/sopalin/coeftab.h
++++ b/sopalin/coeftab.h
+@@ -41,7 +41,7 @@
+ /**
+ * @brief List of functions to compute the memory gain in low-rank per precision.
+ */
+-coeftab_fct_memory_t coeftabMemory[4];
++extern coeftab_fct_memory_t coeftabMemory[4];
+
+ /**
+ * @}
diff --git a/sci-libs/pastix/metadata.xml b/sci-libs/pastix/metadata.xml
index 387eff2e8edd..ae51b0d4ba30 100644
--- a/sci-libs/pastix/metadata.xml
+++ b/sci-libs/pastix/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -15,9 +15,12 @@
blockwise iLU(k) factorization that can be used as a parallel
preconditioner using approximated supernodes to build a coarser
block structure of the incomplete factors.
-</longdescription>
+ </longdescription>
<use>
- <flag name="int64">Build the 64 bits integer library</flag>
- <flag name="starpu">Build and link with <pkg>dev-libs/starpu</pkg></flag>
+ <flag name="fortran">Install the Fortran interface</flag>
+ <flag name="int64">Use 64- rather than 32-bit integer representation</flag>
+ <flag name="metis">Enable matrix ordering with <pkg>sci-libs/metis</pkg></flag>
+ <flag name="scotch">Enable matrix ordering with <pkg>sci-libs/scotch</pkg></flag>
+ <flag name="starpu">Enable support for ther <pkg>dev-libs/starpu</pkg> runtime</flag>
</use>
</pkgmetadata>
diff --git a/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild b/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild
deleted file mode 100644
index 58b61bc3195d..000000000000
--- a/sci-libs/pastix/pastix-5.2.2.22-r1.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit fortran-2 toolchain-funcs
-
-# TODO:
-# testing: emake examples?
-# better doc instalation and building
-# pypastix (separate package?)
-# multilib with eselect?
-# static libs building without pic
-# metis?
-
-# package id: change every version, see the link on inriaforge
-PID=35070
-# commit id: change every version
-#CID=351ef60
-# leave empty if this is not a post release bug fix
-#PPV=bugfix9_
-#MYPN=pastix_release
-#SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${MYPN}_${PPV}${CID}.tar.bz2"
-
-DESCRIPTION="Parallel solver for very large sparse linear systems"
-HOMEPAGE="http://pastix.gforge.inria.fr"
-SRC_URI="https://gforge.inria.fr/frs/download.php/${PID}/${PN}_${PV}.tar.bz2"
-
-LICENSE="CeCILL-C"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc int64 mpi +smp starpu static-libs"
-
-RDEPEND="
- sci-libs/scotch:0=[int64?,mpi?]
- sys-apps/hwloc:0=
- virtual/blas
- mpi? ( virtual/mpi )
- starpu? ( dev-libs/starpu:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${P}-nosmp-undefined-variable.patch"
- "${FILESDIR}/${P}-isnan-floating-point-cast.patch"
-)
-S="${WORKDIR}/${PN}_${PV}/src"
-
-src_prepare() {
- default
- sed -e 's/^\(HOSTARCH\s*=\).*/\1 ${HOST}/' \
- -e "s:^\(CCPROG\s*=\).*:\1 $(tc-getCC):" \
- -e "s:^\(CFPROG\s*=\).*:\1 $(tc-getFC):" \
- -e "s:^\(CF90PROG\s*=\).*:\1 $(tc-getFC):" \
- -e "s:^\(ARPROG\s*=\).*:\1 $(tc-getAR):" \
- -e "s:^\(CCFOPT\s*=\).*:\1 ${FFLAGS}:" \
- -e "s:^\(CCFDEB\s*=\).*:\1 ${FFLAGS}:" \
- -e 's:^\(EXTRALIB\s*=\).*:\1 -lm -lrt:' \
- -e "s:^#\s*\(ROOT\s*=\).*:\1 \$(DESTDIR)${EPREFIX}/usr:" \
- -e 's:^#\s*\(INCLUDEDIR\s*=\).*:\1 $(ROOT)/include:' \
- -e 's:^#\s*\(BINDIR\s*=\).*:\1 $(ROOT)/bin:' \
- -e "s:^#\s*\(LIBDIR\s*=\).*:\1 \$(ROOT)/$(get_libdir):" \
- -e 's:^#\s*\(SHARED\s*=\).*:\1 1:' \
- -e 's:^#\s*\(SOEXT\s*=\).*:\1 .so:' \
- -e '/fPIC/s/^#//g' \
- -e "s:^#\s*\(SHARED_FLAGS\s*=.*\):\1 ${LDFLAGS}:" \
- -e "s:pkg-config:$(tc-getPKG_CONFIG):g" \
- -e "s:^\(BLASLIB\s*=\).*:\1 $($(tc-getPKG_CONFIG) --libs blas):" \
- -e "s:^\s*\(HWLOC_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \
- -e "s:-I\$(HWLOC_INC):$($(tc-getPKG_CONFIG) --cflags hwloc):" \
- -e "s:-L\$(HWLOC_LIB) -lhwloc:$($(tc-getPKG_CONFIG) --libs hwloc):" \
- -e "s:^\s*\(SCOTCH_HOME\s*?=\).*:\1 ${EPREFIX}/usr:" \
- -e "s:^\s*\(SCOTCH_INC\s*?=.*\):\1/scotch:" \
- -e "s:^\s*\(SCOTCH_LIB\s*?=.*\)lib:\1$(get_libdir):" \
- config/LINUX-GNU.in > config.in || die
- sed -e 's/__SO_NAME__,$@/__SO_NAME__,$(notdir $@)/g' -i Makefile || die
-}
-
-src_configure() {
- if use amd64; then
- sed -e 's/^\(VERSIONBIT\s*=\).*/\1 _64bit/' \
- -i config.in || die
- fi
-
- if use int64; then
- sed -e '/VERSIONINT.*_int64/s/#//' \
- -e '/CCTYPES.*INTSSIZE64/s/#//' \
- -i config.in || die
- fi
-
- if ! use mpi; then
- sed -e '/VERSIONMPI.*_nompi/s/#//' \
- -e '/CCTYPES.*NOMPI/s/#//' \
- -e '/MPCCPROG\s*= $(CCPROG)/s/#//' \
- -e '/MCFPROG\s*= $(CFPROG)/s/#//' \
- -e 's/-DDISTRIBUTED//' \
- -e 's/-lptscotch/-lscotch/g' \
- -i config.in || die
- fi
-
- if ! use smp; then
- sed -e '/VERSIONSMP.*_nosmp/s/#//' \
- -e '/CCTYPES.*NOSMP/s/#//' \
- -i config.in || die
- fi
-
- if use starpu; then
- sed -e '/libstarpu/s/#//g' -i config.in || die
- fi
-}
-
-src_compile() {
- emake all drivers
-}
-
-src_test() {
- # both test and tests targets are defined and do not work
- echo
-}
-
-src_install() {
- default
- sed -e "s:${D}::g" -i "${ED}"/usr/bin/pastix-conf || die
- # quick and dirty (static libs should really be built without pic)
- cd .. || die
- dodoc README.txt doc/refcard/refcard.pdf
-}
diff --git a/sci-libs/pastix/pastix-5.2.3.ebuild b/sci-libs/pastix/pastix-5.2.3.ebuild
index 427056e89502..4b0bafedefaf 100644
--- a/sci-libs/pastix/pastix-5.2.3.ebuild
+++ b/sci-libs/pastix/pastix-5.2.3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit fortran-2 toolchain-funcs
@@ -16,12 +16,13 @@ inherit fortran-2 toolchain-funcs
# package id: change every version, see the link on inriaforge
PID=218
DESCRIPTION="Parallel solver for very large sparse linear systems"
-HOMEPAGE="http://pastix.gforge.inria.fr"
+HOMEPAGE="https://solverstack.gitlabpages.inria.fr/pastix/ https://gitlab.inria.fr/solverstack/pastix"
SRC_URI="https://gforge.inria.fr/frs/download.php/latestfile/${PID}/${PN}_${PV}.tar.bz2"
+S="${WORKDIR}/${PN}_${PV}/src"
LICENSE="CeCILL-C"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc int64 mpi +smp starpu static-libs"
RDEPEND="
@@ -30,10 +31,10 @@ RDEPEND="
virtual/blas
mpi? ( virtual/mpi )
starpu? ( dev-libs/starpu:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/${PN}_${PV}/src"
+PATCHES=( "${FILESDIR}"/${P}-MPI-3.0.patch )
src_prepare() {
default
diff --git a/sci-libs/pastix/pastix-6.0.3.ebuild b/sci-libs/pastix/pastix-6.0.3.ebuild
new file mode 100644
index 000000000000..f8535d36390e
--- /dev/null
+++ b/sci-libs/pastix/pastix-6.0.3.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit cmake fortran-2 python-single-r1
+
+# package id: changes every version, see the link on inriaforge
+PID=38205
+DESCRIPTION="Parallel solver for very large sparse linear systems"
+HOMEPAGE="https://solverstack.gitlabpages.inria.fr/pastix/ https://gitlab.inria.fr/solverstack/pastix"
+SRC_URI="https://files.inria.fr/pastix/releases/v$(ver_cut 1)/${P}.tar.gz"
+
+LICENSE="CeCILL-C"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda examples +fortran int64 metis mpi +python +scotch starpu test"
+
+RESTRICT="!test? ( test )"
+
+# REQUIRED_USE explanation:
+# 1. Not a typo, Python is needed at build time regardless of whether
+# the bindings are to be installed or not
+# 2. While not enforced by upstream build scripts, having no ordering at all
+# results in rather spectacular test and runtime failures.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( metis scotch )"
+
+RDEPEND="sys-apps/hwloc:0=
+ virtual/blas
+ virtual/cblas
+ virtual/lapack
+ virtual/lapacke
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ metis? ( sci-libs/metis[int64(+)=] )
+ mpi? (
+ virtual/mpi[fortran]
+ metis? ( sci-libs/parmetis )
+ )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ ')
+ )
+ scotch? ( >=sci-libs/scotch-6.1.0-r1:0=[int64=,mpi?] )
+ starpu? ( >=dev-libs/starpu-1.3.0:0= )"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+ test? ( ${RDEPEND} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.0.3-cmake-installdirs.patch
+ "${FILESDIR}"/${PN}-6.0.3-cmake-examples-optional.patch
+ "${FILESDIR}"/${PN}-6.0.3-cmake-python-optional.patch
+ "${FILESDIR}"/${PN}-6.0.3-cmake-spm-project.patch
+ "${FILESDIR}"/${PN}-6.0.3-multiple-coeftabMemory.patch
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=yes
+ -DINSTALL_EXAMPLES=$(usex examples)
+ -DPASTIX_INT64=$(usex int64)
+ -DPASTIX_ORDERING_METIS=$(usex metis)
+ -DPASTIX_ORDERING_SCOTCH=$(usex scotch)
+ -DPASTIX_WITH_CUDA=$(usex cuda)
+ -DPASTIX_WITH_FORTRAN=$(usex fortran)
+ -DPASTIX_WITH_MPI=$(usex mpi)
+ -DPASTIX_WITH_PYTHON=$(usex python)
+ -DPASTIX_WITH_STARPU=$(usex starpu)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use python && python_optimize
+}
diff --git a/sci-libs/pcl/Manifest b/sci-libs/pcl/Manifest
index e5b8aa8959f1..62ffefd253d6 100644
--- a/sci-libs/pcl/Manifest
+++ b/sci-libs/pcl/Manifest
@@ -1 +1 @@
-DIST pcl-1.11.0.tar.gz 67091890 BLAKE2B 77dcaf99e19cd3042a01176e57441a38e7f5095d7bd9b08c9ad4464384eb6c603eab9734a6bcbb52eff9da55c3aaa69b3744a10137b8264e5729c2432a678f71 SHA512 1cde48349b2630d1bb89fa50b2844054802fe02d22c810516bc41a712823a26cd5fa1b14297718f517b88c371a637567b31fb8c4c9b4908e94fb3a7208095127
+DIST pcl-1.14.0.tar.gz 68662907 BLAKE2B 5e797666b2a6cd5b828b399592daaa78c3bcbc0968c1ec5dafe441717bb4067de4604cdab11d3317370c7f69a1b29db0cca6348e91697d16846ae44c1952ce3e SHA512 0ea388d5f4ccdc1e5fcace6a1e1b90843be1a4ed2e1d37cc3c80d8abc0e868324d8f9da80513f1cb3f16738e00586f29cac151ce0d501645514f280aee8b1d7f
diff --git a/sci-libs/pcl/files/pcl-1.12.1-allow-configuration-of-install-dirs.patch b/sci-libs/pcl/files/pcl-1.12.1-allow-configuration-of-install-dirs.patch
new file mode 100644
index 000000000000..c9cb3e35f9d6
--- /dev/null
+++ b/sci-libs/pcl/files/pcl-1.12.1-allow-configuration-of-install-dirs.patch
@@ -0,0 +1,32 @@
+From c052f26112c17068ece2f52058e3130dd328269b Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Thu, 27 Oct 2022 09:48:15 +0200
+Subject: [PATCH] allow configuration of install dirs
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/cmake/pcl_utils.cmake
++++ b/cmake/pcl_utils.cmake
+@@ -101,14 +101,18 @@ macro(SET_INSTALL_DIRS)
+ set(INCLUDE_INSTALL_ROOT "include") # Android, don't put into subdir
+ endif()
+ set(INCLUDE_INSTALL_DIR "${INCLUDE_INSTALL_ROOT}/pcl")
+- set(DOC_INSTALL_DIR "share/doc/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}")
++ if(NOT DEFINED DOC_INSTALL_DIR)
++ set(DOC_INSTALL_DIR "share/doc/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}")
++ endif()
+ set(BIN_INSTALL_DIR "bin")
+ set(PKGCFG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig")
+- if(WIN32 AND NOT MINGW)
++ if(NOT DEFINED PCLCONFIG_INSTALL_DIR)
++ if(WIN32 AND NOT MINGW)
+ set(PCLCONFIG_INSTALL_DIR "cmake")
+ else()
+ set(PCLCONFIG_INSTALL_DIR "share/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}")
+ endif()
++ endif()
+ endmacro()
+
+
+--
+2.38.1
+
diff --git a/sci-libs/pcl/files/pcl-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch b/sci-libs/pcl/files/pcl-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch
new file mode 100644
index 000000000000..fe171c0b21df
--- /dev/null
+++ b/sci-libs/pcl/files/pcl-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch
@@ -0,0 +1,22 @@
+From efb56391957ee0f64a407fe419c25122404a53e2 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Thu, 27 Oct 2022 13:59:15 +0200
+Subject: [PATCH] fix hardcoded relative directory of the installed cmake files
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/PCLConfig.cmake.in
++++ b/PCLConfig.cmake.in
+@@ -389,8 +389,8 @@ if(WIN32 AND NOT MINGW)
+ set(PCL_ALL_IN_ONE_INSTALLER ON)
+ endif()
+ else()
+-# PCLConfig.cmake is installed to PCL_ROOT/share/pcl-x.y
+- get_filename_component(PCL_ROOT "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE)
++# PCLConfig.cmake is installed to PCL_ROOT/share/cmake/pcl-x.y
++ get_filename_component(PCL_ROOT "${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE)
+ endif()
+
+ # check whether PCLConfig.cmake is found into a PCL installation or in a build tree
+--
+2.38.1
+
diff --git a/sci-libs/pcl/metadata.xml b/sci-libs/pcl/metadata.xml
index aeefe273d2b0..25c520b9ce19 100644
--- a/sci-libs/pcl/metadata.xml
+++ b/sci-libs/pcl/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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>
diff --git a/sci-libs/pcl/pcl-1.11.0.ebuild b/sci-libs/pcl/pcl-1.11.0.ebuild
deleted file mode 100644
index 04c17c371e91..000000000000
--- a/sci-libs/pcl/pcl-1.11.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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="https://github.com/PointCloudLibrary/pcl/archive/${P}.tar.gz"
- S="${WORKDIR}/${PN}-${P}"
-fi
-
-HOMEPAGE="https://pointclouds.org/"
-DESCRIPTION="2D/3D image and point cloud processing"
-LICENSE="BSD"
-SLOT="0/1.11"
-IUSE="cuda doc opengl openni openni2 pcap png +qhull qt5 usb vtk cpu_flags_x86_sse test tutorials"
-RESTRICT="!test? ( test )"
-
-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 )
- qt5? (
- dev-qt/qtgui:5
- dev-qt/qtcore:5
- dev-qt/qtconcurrent:5
- dev-qt/qtopengl:5
- )
- usb? ( virtual/libusb:1 )
- vtk? ( >=sci-libs/vtk-5.6:=[imaging,rendering] )
- cuda? ( >=dev-util/nvidia-cuda-toolkit-4 )
-"
-DEPEND="${RDEPEND}
- !!dev-cpp/metslib
- test? ( >=dev-cpp/gtest-1.6.0 )
-"
-BDEPEND="
- doc? ( app-doc/doxygen )
- tutorials? ( dev-python/sphinx dev-python/sphinxcontrib-doxylink )
- 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 qt5 TRUE FALSE)"
- "-DWITH_VTK=$(usex vtk TRUE FALSE)"
- "-DWITH_PCAP=$(usex pcap TRUE FALSE)"
- "-DWITH_OPENNI=$(usex openni TRUE FALSE)"
- "-DWITH_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-1.14.0.ebuild b/sci-libs/pcl/pcl-1.14.0.ebuild
new file mode 100644
index 000000000000..6fc89d2b0d70
--- /dev/null
+++ b/sci-libs/pcl/pcl-1.14.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake cuda
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/PointCloudLibrary/pcl"
+else
+ KEYWORDS="amd64 ~arm"
+ SRC_URI="https://github.com/PointCloudLibrary/pcl/archive/${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${P}"
+fi
+
+HOMEPAGE="https://pointclouds.org/"
+DESCRIPTION="2D/3D image and point cloud processing"
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="cuda doc opengl openni openni2 pcap png +qhull qt5 qt6 usb vtk cpu_flags_x86_sse test tutorials"
+# tests need the gtest sources to be available at build time
+RESTRICT="test"
+
+RDEPEND="
+ >=sci-libs/flann-1.7.1
+ dev-libs/boost:=
+ 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:= )
+ qt5? (
+ dev-qt/qtgui:5
+ dev-qt/qtcore:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtopengl:5
+ vtk? ( sci-libs/vtk[qt5] )
+ )
+ qt6? (
+ !qt5? (
+ dev-qt/qtbase:6[concurrent,gui,opengl]
+ vtk? ( sci-libs/vtk[-qt5,qt6] )
+ )
+ )
+ usb? ( virtual/libusb:1 )
+ vtk? ( >=sci-libs/vtk-5.6:=[imaging,rendering,views] )
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-4 )
+"
+DEPEND="${RDEPEND}
+ !!dev-cpp/metslib
+"
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ )
+ tutorials? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+ dev-python/sphinxcontrib-doxylink
+ )
+ virtual/pkgconfig"
+
+REQUIRED_USE="
+ openni? ( usb )
+ openni2? ( usb )
+ tutorials? ( doc )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.12.1-allow-configuration-of-install-dirs.patch
+ "${FILESDIR}"/${PN}-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch
+)
+
+src_prepare() {
+ if use cuda; then
+ cuda_src_prepare
+ cuda_add_sandbox -w
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DDOC_INSTALL_DIR=share/doc/${PF}"
+ "-DLIB_INSTALL_DIR=$(get_libdir)"
+ "-DPCLCONFIG_INSTALL_DIR=share/cmake/${PN}-$(ver_cut 1-2)"
+ "-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_VTK=$(usex vtk TRUE FALSE)"
+ "-DWITH_PCAP=$(usex pcap TRUE FALSE)"
+ "-DWITH_OPENNI=$(usex openni TRUE FALSE)"
+ "-DWITH_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_global_tests=FALSE"
+ )
+
+ if use qt5; then
+ mycmakeargs+=( "-DWITH_QT=QT5" )
+ elif use qt6; then
+ mycmakeargs+=( "-DWITH_QT=QT6" )
+ else
+ mycmakeargs+=( "-DWITH_QT=NO" )
+ fi
+
+ cmake_src_configure
+}
diff --git a/sci-libs/pcl/pcl-9999.ebuild b/sci-libs/pcl/pcl-9999.ebuild
index 04c17c371e91..46645bec9842 100644
--- a/sci-libs/pcl/pcl-9999.ebuild
+++ b/sci-libs/pcl/pcl-9999.ebuild
@@ -1,19 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/PointCloudLibrary/pcl"
-fi
+inherit cmake cuda
-inherit ${SCM} cmake-utils multilib
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/PointCloudLibrary/pcl"
else
KEYWORDS="~amd64 ~arm"
SRC_URI="https://github.com/PointCloudLibrary/pcl/archive/${P}.tar.gz"
@@ -23,37 +17,51 @@ fi
HOMEPAGE="https://pointclouds.org/"
DESCRIPTION="2D/3D image and point cloud processing"
LICENSE="BSD"
-SLOT="0/1.11"
-IUSE="cuda doc opengl openni openni2 pcap png +qhull qt5 usb vtk cpu_flags_x86_sse test tutorials"
-RESTRICT="!test? ( test )"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="cuda doc opengl openni openni2 pcap png +qhull qt5 qt6 usb vtk cpu_flags_x86_sse test tutorials"
+# tests need the gtest sources to be available at build time
+RESTRICT="test"
RDEPEND="
>=sci-libs/flann-1.7.1
- dev-libs/boost:=[threads]
+ dev-libs/boost:=
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 )
+ qhull? ( media-libs/qhull:= )
qt5? (
dev-qt/qtgui:5
dev-qt/qtcore:5
dev-qt/qtconcurrent:5
dev-qt/qtopengl:5
+ vtk? ( sci-libs/vtk[qt5] )
+ )
+ qt6? (
+ !qt5? (
+ dev-qt/qtbase:6[concurrent,gui,opengl]
+ vtk? ( sci-libs/vtk[-qt5,qt6] )
+ )
)
usb? ( virtual/libusb:1 )
- vtk? ( >=sci-libs/vtk-5.6:=[imaging,rendering] )
+ vtk? ( >=sci-libs/vtk-5.6:=[imaging,rendering,views] )
cuda? ( >=dev-util/nvidia-cuda-toolkit-4 )
"
DEPEND="${RDEPEND}
!!dev-cpp/metslib
- test? ( >=dev-cpp/gtest-1.6.0 )
"
BDEPEND="
- doc? ( app-doc/doxygen )
- tutorials? ( dev-python/sphinx dev-python/sphinxcontrib-doxylink )
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ )
+ tutorials? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+ dev-python/sphinxcontrib-doxylink
+ )
virtual/pkgconfig"
REQUIRED_USE="
@@ -62,15 +70,30 @@ REQUIRED_USE="
tutorials? ( doc )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.12.1-allow-configuration-of-install-dirs.patch
+ "${FILESDIR}"/${PN}-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch
+)
+
+src_prepare() {
+ if use cuda; then
+ cuda_src_prepare
+ cuda_add_sandbox -w
+ fi
+
+ cmake_src_prepare
+}
+
src_configure() {
local mycmakeargs=(
+ "-DDOC_INSTALL_DIR=share/doc/${PF}"
"-DLIB_INSTALL_DIR=$(get_libdir)"
+ "-DPCLCONFIG_INSTALL_DIR=share/cmake/${PN}-$(ver_cut 1-2)"
"-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 qt5 TRUE FALSE)"
"-DWITH_VTK=$(usex vtk TRUE FALSE)"
"-DWITH_PCAP=$(usex pcap TRUE FALSE)"
"-DWITH_OPENNI=$(usex openni TRUE FALSE)"
@@ -78,7 +101,16 @@ src_configure() {
"-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)"
+ "-DBUILD_global_tests=FALSE"
)
- cmake-utils_src_configure
+
+ if use qt5; then
+ mycmakeargs+=( "-DWITH_QT=QT5" )
+ elif use qt6; then
+ mycmakeargs+=( "-DWITH_QT=QT6" )
+ else
+ mycmakeargs+=( "-DWITH_QT=NO" )
+ fi
+
+ cmake_src_configure
}
diff --git a/sci-libs/pdal/Manifest b/sci-libs/pdal/Manifest
new file mode 100644
index 000000000000..e54e026b75ea
--- /dev/null
+++ b/sci-libs/pdal/Manifest
@@ -0,0 +1,2 @@
+DIST PDAL-2.5.3-src.tar.bz2 102669314 BLAKE2B 1c6c8406f8de65a04364cc1141be809c00ea716fcfd5578833883357258855b3f7e70ea03c86f487dff0bc98072c29bed45a613c14ace05aef6ae49627b40374 SHA512 f67a303711b7d9e9dc14260afb96d299bcd5327ba0cc947143a583f55bd532a248b131e4602fd37d711ad0084e8601420828dacac40c414b95b8e9f9e8175e1b
+DIST PDAL-2.6.2-src.tar.bz2 87274819 BLAKE2B 5855a268889064fdc72d15ec1dbe7ab3ed8eb6bee2fa4ec724e9f287f25d6b9f9f9171829a2121e156bec575c96a42f26e223c807c8aa9d3a88f77c245c3d01c SHA512 4a9c07deaca6fbe994808904a6b90e09beb418155c662369046b6ddea03c8aa57ca2e9b4c2057c8e409bb197b90adb36e334c9c2136034a021be84763fa93551
diff --git a/sci-libs/pdal/files/pdal-2.4.3-fix-gdal37.patch b/sci-libs/pdal/files/pdal-2.4.3-fix-gdal37.patch
new file mode 100644
index 000000000000..29edb8518b9d
--- /dev/null
+++ b/sci-libs/pdal/files/pdal-2.4.3-fix-gdal37.patch
@@ -0,0 +1,37 @@
+From https://github.com/PDAL/PDAL/commit/516e33ad7f40e54affd5754617fbe26d70ef2dd4
+From: Jorge Gustavo Rocha <jgr@geomaster.pt>
+Date: Thu, 20 Apr 2023 13:11:46 +0100
+Subject: [PATCH] prevent invalid conversion from const compile error (#4030)
+squashed with
+From https://github.com/dg0yt/PDAL/commit/49eb31840dc1c07d6ff235ea292c7c0703f8a884
+From: Kai Pastor <dg0yt@darc.de>
+Date: Fri, 12 May 2023 07:44:59 +0200
+Subject: [PATCH] Don't use const_cast
+
+Amends #4030.
+---
+ pdal/Geometry.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pdal/Geometry.cpp b/pdal/Geometry.cpp
+index 10d185dbe4..8b010d3378 100644
+--- a/pdal/Geometry.cpp
++++ b/pdal/Geometry.cpp
+@@ -153,7 +153,7 @@ Geometry& Geometry::operator=(const Geometry& input)
+
+ bool Geometry::srsValid() const
+ {
+- OGRSpatialReference *srs = m_geom->getSpatialReference();
++ const OGRSpatialReference *srs = m_geom->getSpatialReference();
+ return srs && srs->GetRoot();
+ }
+
+@@ -172,7 +172,7 @@ Utils::StatusWithReason Geometry::transform(SpatialReference out)
+ return StatusWithReason(-2,
+ "Geometry::transform() failed. NULL target SRS.");
+
+- OGRSpatialReference *inSrs = m_geom->getSpatialReference();
++ const OGRSpatialReference *inSrs = m_geom->getSpatialReference();
+ SrsTransform transform(*inSrs, OGRSpatialReference(out.getWKT().data()));
+ if (m_geom->transform(transform.get()) != OGRERR_NONE)
+ return StatusWithReason(-1, "Geometry::transform() failed.");
diff --git a/sci-libs/pdal/metadata.xml b/sci-libs/pdal/metadata.xml
new file mode 100644
index 000000000000..d73ed813e338
--- /dev/null
+++ b/sci-libs/pdal/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>thomas.bettler@gmail.com</email>
+ <name>Thomas Bettler</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-geosciences@gentoo.org</email>
+ <name>Gentoo Geosciences Project</name>
+ </maintainer>
+ <longdescription>
+ PDAL is a C++ library for translating and manipulating point cloud data.
+ It is very much like the GDAL library which handles raster and vector data.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">PDAL/PDAL</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/pdal/pdal-2.5.3-r1.ebuild b/sci-libs/pdal/pdal-2.5.3-r1.ebuild
new file mode 100644
index 000000000000..a3c13fdd4978
--- /dev/null
+++ b/sci-libs/pdal/pdal-2.5.3-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A C++ library for translating and manipulating point cloud data"
+HOMEPAGE="https://pdal.io/"
+SRC_URI="https://github.com/PDAL/PDAL/releases/download/${PV}/PDAL-${PV}-src.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0/15"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+IUSE="postgres test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+RDEPEND="
+ net-misc/curl
+ app-arch/zstd:=
+ dev-libs/libxml2
+ dev-libs/openssl:=
+ sci-libs/gdal:=
+ sci-libs/libgeotiff:=
+ sys-libs/libunwind:=
+ sys-libs/zlib
+ postgres? ( dev-db/postgresql:*[xml] )
+"
+DEPEND="
+ test? ( sci-libs/gdal[geos,jpeg,png] )
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/PDAL-${PV}-src"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.3-fix-gdal37.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_PLUGIN_PGPOINTCLOUD="$(usex postgres)"
+ -DWITH_COMPLETION=ON
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ --exclude-regex '(pgpointcloudtest|pdal_io_bpf_base_test|pdal_io_bpf_zlib_test|pdal_filters_overlay_test|pdal_filters_stats_test|pdal_app_plugin_test|pdal_merge_test|pdal_io_stac_reader_test)'
+ --output-on-failure
+ -j1
+ )
+
+ cmake_src_test
+}
diff --git a/sci-libs/pdal/pdal-2.6.2.ebuild b/sci-libs/pdal/pdal-2.6.2.ebuild
new file mode 100644
index 000000000000..a5c701ad7ee0
--- /dev/null
+++ b/sci-libs/pdal/pdal-2.6.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="A C++ library for translating and manipulating point cloud data"
+HOMEPAGE="https://pdal.io/"
+SRC_URI="https://github.com/PDAL/PDAL/releases/download/${PV}/PDAL-${PV}-src.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0/16"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+IUSE="debug postgres test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+RDEPEND="
+ net-misc/curl
+ app-arch/zstd:=
+ dev-libs/libxml2
+ dev-libs/openssl:=
+ sci-libs/gdal:=
+ sci-libs/libgeotiff:=
+ sys-libs/zlib
+ debug? ( sys-libs/libunwind:= )
+ postgres? ( dev-db/postgresql:*[xml] )
+"
+
+DEPEND="
+ test? ( sci-libs/gdal[geos,jpeg,png] )
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/PDAL-${PV}-src"
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/862915
+ # https://github.com/PDAL/PDAL/issues/3836
+ #
+ # only occurs inside unwind support
+ if use debug; then
+ append-flags -fno-strict-aliasing
+ filter-lto
+ fi
+
+ local mycmakeargs=(
+ -DBUILD_PLUGIN_PGPOINTCLOUD="$(usex postgres)"
+ -DWITH_COMPLETION=ON
+ -DWITH_BACKTRACE="$(usex debug)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ --exclude-regex '(pgpointcloudtest|pdal_info_test|pdal_io_bpf_base_test|pdal_io_bpf_zlib_test|pdal_filters_overlay_test|pdal_filters_stats_test|pdal_app_plugin_test|pdal_merge_test|pdal_io_stac_reader_test)'
+ --output-on-failure
+ -j1
+ )
+
+ cmake_src_test
+}
diff --git a/sci-libs/pgplot/metadata.xml b/sci-libs/pgplot/metadata.xml
index 1f8f0d3e10fe..6ae51aa8fe74 100644
--- a/sci-libs/pgplot/metadata.xml
+++ b/sci-libs/pgplot/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -11,5 +11,5 @@
wrapper functions between C programs and the PGPLOT library. These
functions hide the system dependencies of calling PGPLOT behind a
system independent interface.
-</longdescription>
+ </longdescription>
</pkgmetadata>
diff --git a/sci-libs/pgplot/pgplot-5.2.2-r7.ebuild b/sci-libs/pgplot/pgplot-5.2.2-r7.ebuild
index 43b17b8974b1..07e406e2d678 100644
--- a/sci-libs/pgplot/pgplot-5.2.2-r7.ebuild
+++ b/sci-libs/pgplot/pgplot-5.2.2-r7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit eutils fortran-2 toolchain-funcs
+inherit fortran-2 flag-o-matic toolchain-funcs
MY_P="${PN}${PV//.}"
@@ -13,7 +13,7 @@ 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"
+KEYWORDS="amd64 ~arm ~ia64 ~ppc ~x86 ~amd64-linux ~x86-linux"
IUSE="doc motif static-libs tk"
RDEPEND="
@@ -38,18 +38,6 @@ PATCHES=(
src_prepare() {
default
- # gfortran < 4.3 does not compile gif, pp and wd drivers
- if [[ $(tc-getFC) == *gfortran* ]] &&
- [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] ; then
- ewarn "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"
- sed -e 's/GIDRIV/! GIDRIV/g' \
- -e 's/PPDRIV/! GIDRIV/g' \
- -e 's/WDDRIV/! GIDRIV/g' \
- -i drivers.list || die "sed drivers failed"
- fi
# fix pointers for 64 bits
if use amd64 || use ia64; then
@@ -78,6 +66,10 @@ src_prepare() {
}
src_configure() {
+ # GCC 10 workaround
+ # bug #722190
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
+
./makemake . linux
# post makefile creation prefix hack
sed -i -e "s|/usr|${EPREFIX}/usr|g" makefile || die
@@ -157,17 +149,20 @@ src_install() {
if use doc; then
dodoc cpg/cpgplot.doc applications/curvefit/curvefit.doc pgplot.html
dodoc 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/*
+ docinto examples
+ dodoc -r examples/. cpg/cpgdemo.c
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r applications
+ docompress -x /usr/share/doc/${PF}/applications
if use motif; then
- insinto /usr/share/doc/${PF}/pgm
- doins pgmf/* drivers/xmotif/pgmdemo.c
+ docinto pgm
+ dodoc -r pgmf/. drivers/xmotif/pgmdemo.c
+ docompress -x /usr/share/doc/${PF}/pgm
fi
if use tk; then
- insinto /usr/share/doc/${PF}/pgtk
- doins drivers/xtk/pgtkdemo.*
+ docinto pgtk
+ dodoc drivers/xtk/pgtkdemo.*
+ docompress -x /usr/share/doc/${PF}/pgtk
fi
fi
}
diff --git a/sci-libs/plotmm/Manifest b/sci-libs/plotmm/Manifest
deleted file mode 100644
index 48e7b7bd43a8..000000000000
--- a/sci-libs/plotmm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST plotmm-0.1.2.tar.gz 473175 BLAKE2B f024abbe77e208443cdf58a7817cdea9d1a93435b55e62d4579c341ca773fc2199def0e93fbba980891dd38c0085515e01833a11fd37f87bdeb0b2737a8ff809 SHA512 68484d7ed3b4d6520782735e05ad3cf9a5749f723285a2a3d0d1fabe3b23df57856d24addb31c23e3f23174655095f55b9b9a8d10316812d7a80fe13e204fab6
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
deleted file mode 100644
index a9aa53190d5f..000000000000
--- a/sci-libs/plotmm/files/plotmm-0.1.2-libsigc++-2.2.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-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
deleted file mode 100644
index 6907b0a4da6b..000000000000
--- a/sci-libs/plotmm/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <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
deleted file mode 100644
index 5cf316ca2678..000000000000
--- a/sci-libs/plotmm/plotmm-0.1.2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic
-
-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() {
- append-cxxflags -std=c++11
- econf \
- --disable-maintainer-mode \
- --enable-fast-install \
- --disable-libtool-lock
-}
-
-src_install() {
- default
-
- if use doc; then
- dohtml -r doc/html/*
- 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
-
- 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
index 782cbdef89d3..114740b9cb03 100644
--- a/sci-libs/plplot/Manifest
+++ b/sci-libs/plplot/Manifest
@@ -1 +1,2 @@
DIST plplot-5.15.0.tar.gz 15380293 BLAKE2B 41f359c4e86c7a26fe53a9d82a9f02aeb97b5b6f44abca590621640c56e50a62823e8a03165a939689f5456cee419b8292ea34faccd07641bd4a953b6f1d73fe SHA512 54533245569b724a7ef90392cc6e9ae65873e6cbab923df0f841c8b43def5e4307690894c7681802209bd3c8df97f54285310a706428f79b3340cce3207087c8
+DIST plplot_5.15.0+dfsg2-6.debian.tar.xz 73416 BLAKE2B 2f0a9be0aea6d77b2c538f53a509636a6edca59eb930b7885da7ba915a0324d3cbe0e4b0ffe33a2a552ec7b8b679931e9eaa3e4810372b05ac3c0901ea9c6ee9 SHA512 0d64352eb08cb5bb003e8eac11c73533f6ecd08ad542cce002474d20ba4a899fd54b77f96b5e53656b551180fa693da820e7c40b18d6d43e20ea2c7377c36c69
diff --git a/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch b/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch
deleted file mode 100644
index 5a3605168e61..000000000000
--- a/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- plplot-5.12.0.old/examples/ocaml/x20.ml 2017-01-29 01:50:35.000000000 +0000
-+++ plplot-5.12.0/examples/ocaml/x20.ml 2017-11-18 12:10:33.476409441 +0000
-@@ -59,7 +59,7 @@
- let w, h = Scanf.sscanf w_h_line "%d %d" (fun w h -> w, h) in
- let num_col = Scanf.sscanf num_col_line "%d" (fun n -> n) in
-
-- let img = String.make (w * h) ' ' in
-+ let img = Bytes.make (w * h) ' ' in
- let imf = Array.make_matrix w h 0.0 in
-
- (* Note that under 32bit OCaml, this will only work when reading strings up
-@@ -72,7 +72,7 @@
- for j = 0 to h - 1 do
- imf.(i).(j) <-
- (* flip image up-down *)
-- float_of_int (int_of_char (img.[(h - 1 - j ) * w + i]));
-+ float_of_int (int_of_char (Bytes.get img ((h - 1 - j ) * w + i)));
- done
- done;
- imf, w, h, num_col
diff --git a/sci-libs/plplot/files/plplot-5.15.0-ieee.patch b/sci-libs/plplot/files/plplot-5.15.0-ieee.patch
deleted file mode 100644
index 065f59a52dfd..000000000000
--- a/sci-libs/plplot/files/plplot-5.15.0-ieee.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake.ieee plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake
---- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake.ieee 2018-09-19 20:31:11.333168883 -0600
-+++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake 2018-09-19 20:31:56.323728783 -0600
-@@ -27,15 +27,6 @@ option(WITH_CSA "Enable use of the csa l
- # expanded to a lot more cases as we gain platform experience.
- set(NAN_CFLAGS ${CMAKE_C_FLAGS})
- if(PL_HAVE_QHULL OR WITH_CSA)
-- if(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES "gcc")
-- set(NAN_CFLAGS "${NAN_CFLAGS} -mieee-fp")
-- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "alpha.*")
-- if(CMAKE_C_COMPILER MATCHES "gcc")
-- set(NAN_CFLAGS "${NAN_CFLAGS} -mieee")
-- else(CMAKE_C_COMPILER MATCHES "gcc")
-- set(NAN_CFLAGS "${NAN_CFLAGS} -ieee")
-- endif(CMAKE_C_COMPILER MATCHES "gcc")
-- endif(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES "gcc")
- if(NOT DEFINED NaNAwareCCompiler)
- message(STATUS "Check for NaN awareness in C compiler")
- try_run(RUN_RESULT COMPILE_RESULT
diff --git a/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch b/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch
deleted file mode 100644
index 4fc5b0b43d9e..000000000000
--- a/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -up plplot-5.15.0/examples/c/Makefile.examples.in.multiarch plplot-5.15.0/examples/c/Makefile.examples.in
---- plplot-5.15.0/examples/c/Makefile.examples.in.multiarch 2019-09-17 21:47:24.535984257 -0600
-+++ plplot-5.15.0/examples/c/Makefile.examples.in 2019-09-17 21:50:37.029009186 -0600
-@@ -23,9 +23,6 @@ SHELL = @SH_EXECUTABLE@
- CC = @CC@
- EXEEXT = @EXEEXT@
-
--PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
--install_tree_c_RPATHCMD = @install_tree_c_RPATHCMD@
--
- @extXdrawable_true@extXdrawable_EXECUTABLES_list = \
- @extXdrawable_true@ extXdrawable_demo$(EXEEXT)
-
-diff -up plplot-5.15.0/examples/c++/Makefile.examples.in.multiarch plplot-5.15.0/examples/c++/Makefile.examples.in
---- plplot-5.15.0/examples/c++/Makefile.examples.in.multiarch 2019-09-17 21:47:24.536984262 -0600
-+++ plplot-5.15.0/examples/c++/Makefile.examples.in 2019-09-17 21:50:18.672911449 -0600
-@@ -23,15 +23,10 @@ SHELL = @SH_EXECUTABLE@
- CXX = @CXX@
- EXEEXT = @EXEEXT@
-
--PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
--install_tree_cxx_RPATHCMD = @install_tree_cxx_RPATHCMD@
--
--@wxwidgets_true@install_tree_wxwidgets_RPATHCMD = @install_tree_wxwidgets_RPATHCMD@
- @wxwidgets_true@PLPLOTWXWIDGETS_EXECUTABLES_list = \
- @wxwidgets_true@ @wxdemo_name@$(EXEEXT)
-
- @qt_gui_true@QT_MOC_EXECUTABLE = @QT_MOC_EXECUTABLE@
--@qt_gui_true@install_tree_qt_RPATHCMD = @install_tree_qt_RPATHCMD@
- @qt_gui_true@qt_gui_EXECUTABLES_list = \
- @qt_gui_true@ qt_example$(EXEEXT)
-
-diff -up plplot-5.15.0/examples/fortran/Makefile.examples.in.multiarch plplot-5.15.0/examples/fortran/Makefile.examples.in
---- plplot-5.15.0/examples/fortran/Makefile.examples.in.multiarch 2019-09-17 21:47:24.537984268 -0600
-+++ plplot-5.15.0/examples/fortran/Makefile.examples.in 2019-09-17 21:48:01.062178741 -0600
-@@ -24,7 +24,6 @@ SHELL = @SH_EXECUTABLE@
- Fortran = @FC@
- EXEEXT = @EXEEXT@
-
--PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
- install_tree_fortran_RPATHCMD = @install_tree_fortran_RPATHCMD@
-
- EXECUTABLES_list = \
-diff -up plplot-5.15.0/examples/tk/Makefile.examples.in.multiarch plplot-5.15.0/examples/tk/Makefile.examples.in
---- plplot-5.15.0/examples/tk/Makefile.examples.in.multiarch 2019-09-17 21:47:24.538984273 -0600
-+++ plplot-5.15.0/examples/tk/Makefile.examples.in 2019-09-17 21:50:00.816816375 -0600
-@@ -24,9 +24,6 @@ SHELL = @SH_EXECUTABLE@
- CC = @CC@
- EXEEXT = @EXEEXT@
-
--PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
--install_tree_tk_RPATHCMD = @install_tree_tk_RPATHCMD@
--
- EXECUTABLES_list = xtk01$(EXEEXT)
- # Second and fourth examples depend on itk.
- @itk_true@itk_EXECUTABLES_list = xtk02$(EXEEXT) xtk04$(EXEEXT)
diff --git a/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch b/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch
deleted file mode 100644
index f3fe04d84a7c..000000000000
--- a/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-commit 6b215267e7baeae83906bec8dab72a549aeda6c8
-Author: Alan W. Irwin <airwin@users.sourceforge.net>
-Date: Mon Sep 23 17:39:31 2019 -0700
-
- Build system: Fix ocaml examples core build for -DUSE_RPATH=OFF case
-
- Thanks to Orion Poplawski for reporting this issue which is that the
- *core build_tree* rpath manipulations for the ocaml examples were
- being (incorrectly) skipped for the -DUSE_RPATH=OFF case. The fix for
- this issue required non-trivial CMake logic changes so was extensively
- tested (see below).
-
- Tested by: Alan W. Irwin <airwin@users.sourceforge.net> on Linux
- (Debian Buster = Stable) with the following steps:
-
- # Choose these prefixes to assure that the source, build, and install
- # trees have blanks in their pathnames (to test those cases during
- # this comprehensive test)
- COMPREHENSIVE_TEST_PREFIX="/home/software/plplot/HEAD/comprehensive_test_disposeable blank"
- SOURCE_PREFIX="/home/software/plplot/HEAD/plplot blank .git"
-
- # Set CMAKE_PREFIX_PATH to access local versions of lua and libLASi to
- # avoid important bugs in the Debian Testing versions of those
- # packages. Also access a local version of libqhull to test that
- # additional rpath possibility.
-
- # Put a local build of CMake-3.15.20190829-g3ec986c first on the PATH to thoroughly
- # test our build system for a locally built CMake version that includes an
- # essential fix so that D language support works properly for the ldc2 and dmd compilers.
-
- # For this particular test use the gdc D compiler if D enabled (which it was not, see below).
-
- # Use the -DUSE_INCRTCL_VERSION_4=ON option to help CMake find Tcl/Tk
- # components. (This step will not be necessary as soon as the PLplot
- # build system is modified to make Tcl/Tk/Itcl/Itk/Iwidgets finding
- # more robust.)
-
- # Use -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig to test
- # swig-4.0.0 that I built for myself.
-
- # To save time, constrain the test to just the ocaml binding and svg device.
-
- # To save a lot of babysitting of this test, constrain the test by dropping
- # the interactive component.
-
- time (nice -19 env CMAKE_PREFIX_PATH=/home/software/lua/install-5.3.5:/home/software/lasi_svn/install:/home/software/qhull/install PATH=/home/software/cmake/install-3ec986ce8e/bin:"$PATH" DC=gdc "$SOURCE_PREFIX"/scripts/comprehensive_test.sh --prefix "$COMPREHENSIVE_TEST_PREFIX" --cmake_added_options "-DUSE_INCRTCL_VERSION_4=ON -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig -DDEFAULT_NO_BINDINGS=ON -DENABLE_ocaml=ON -DDEFAULT_NO_DEVICES=ON -DPLD_svg=ON " --build_command "make -j18" --ctest_command "ctest -j18" --do_test_interactive no)
-
- The time result on my Ryzen 7 1700 system with 16 hardware threads was
-
- real 4m12.625s
- user 4m22.128s
- sys 0m58.076s
-
- The above test was repeated with the following changes:
-
- # Specify LD_LIBRARY_PATH to workaround the lack of special rpath
- # support for external local versions of software
-
- # Use the -DUSE_RPATH=OFF cmake option to drop all install-tree
- # rpath support (and to ignore any special rpath support for
- # external local versions of software).
-
- # Further constrain the test to be performed just for the core build tree
- # since -DUSE_RPATH=OFF will obviously give bad results for the install
- # tree for this non-standard installation location.
-
- time (nice -19 env CMAKE_PREFIX_PATH=/home/software/lua/install-5.3.5:/home/software/lasi_svn/install:/home/software/qhull/install PATH=/home/software/cmake/install-3ec986ce8e/bin:"$PATH" DC=gdc LD_LIBRARY_PATH=/home/software/lasi_svn/install/lib:/home/software/qhull/install/lib "$SOURCE_PREFIX"/scripts/comprehensive_test.sh --prefix "$COMPREHENSIVE_TEST_PREFIX" --cmake_added_options "-DUSE_INCRTCL_VERSION_4=ON -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig -DDEFAULT_NO_BINDINGS=ON -DENABLE_ocaml=ON -DDEFAULT_NO_DEVICES=ON -DPLD_svg=ON -DUSE_RPATH=OFF" --build_command "make -j18" --ctest_command "ctest -j18" --do_test_interactive no --do_test_install_tree no --do_test_traditional_install_tree no)
-
- The time result on my Ryzen 7 1700 system with 16 hardware threads was
-
- real 1m57.888s
- user 1m42.156s
- sys 0m26.478s
-
- Both these comprehensive tests (one which tests that the default
- -DUSE_RPATH=ON still works for the ocaml case and one similar to
- Orion's test case which tests that -DUSER_RPATH=OFF works for the
- ocaml case in the core build tree) ran without issues (e.g., there
- were no hangs or other obvious errors) and was followed up by the
- evaluation procedure documented in doc/wiki_source/Testing_PLplot.
- Those evaluations showed no configure, build, or obvious run-time
- errors (i.e., no non-zero return codes for any of the steps in these
- comprehensive tests), and the difference test results (done with the
- default svg device) were perfect as well.
-
-diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
-index 93cb01b..5bcbceb 100644
---- a/examples/CMakeLists.txt
-+++ b/examples/CMakeLists.txt
-@@ -343,27 +343,24 @@ if(CORE_BUILD)
- # Extra layer of -Wl indirection required for the nagfor compiler
- string(REPLACE "-Wl," "-Wl,-Wl,," install_tree_fortran_RPATHCMD ${install_tree_fortran_RPATHCMD})
- endif(install_tree_fortran_RPATHCMD AND CMAKE_Fortran_COMPILER MATCHES "nagfor")
-+ endif(USE_RPATH AND NOT WIN32_OR_CYGWIN)
-+
-+ # ocaml is a special case not handled by the above logic for other languages
-+ # because the (unofficial) CMake language support is
-+ # implemented with low-level add_custom commands/targets so that rpath
-+ # must be specified for 3 cases (the traditional build of the installed
-+ # examples, and the CMake-based build of the build-tree and install-tree examples).
-+ # Furthermore, the rpath syntax is different for ocaml.
-+ if(ENABLE_ocaml)
-+ set(language ocaml)
-
-- # ocaml is a special case because the (unofficial) CMake language support is
-- # implemented with low-level add_custom commands/targets so that rpath
-- # must be specified for 3 cases (the traditional build of the installed
-- # examples, and the CMake-based build of the build-tree and install-tree examples).
-- # Furthermore, the rpath syntax is different for ocaml.
-- if(ENABLE_ocaml)
-- set(language ocaml)
-+ if(USE_RPATH AND NOT WIN32_OR_CYGWIN)
- # Each of the installed examples that are built depend on a library installed in ${LIB_DIR}.
- set(install_tree_${language}_RPATH ${LIB_DIR})
-- # The ocaml examples depend on the plplot library
-+ # The ocaml examples depend on the plplot library so use INSTALL_RPATH
-+ # property of that library target.
- set(tll_arguments PLPLOT::plplot)
- process_rpath(install_tree_${language}_RPATH "${tll_arguments}")
--
-- # Special case of the ocaml build-tree examples.
-- # Must be done before ${install_tree_${language}_RPATH gets transformed
-- # from official CMake list to colon-separated form.
-- set(build_tree_${language}_RPATH ${install_tree_${language}_RPATH})
-- list(REMOVE_ITEM build_tree_${language}_RPATH ${LIB_DIR})
-- list(APPEND build_tree_${language}_RPATH ${CMAKE_BINARY_DIR}/src)
--
- # Transform from semicolon- to colon-separated list. (Quotes
- # for last argument required to process whole argument as string
- # containing semicolons rather than as the concatanated elements
-@@ -372,19 +369,30 @@ if(CORE_BUILD)
- # install- and build-tree versions of CMake-based build of ocaml
- # examples
- string(REGEX REPLACE ";" ":" install_tree_${language}_RPATH "${install_tree_${language}_RPATH}")
-- string(REGEX REPLACE ";" ":" build_tree_${language}_RPATH "${build_tree_${language}_RPATH}")
- string(REPLACE " " "\\ " install_tree_${language}_RPATH_ESCAPED "${install_tree_${language}_RPATH}")
-- string(REPLACE " " "\\ " build_tree_${language}_RPATH_ESCAPED "${build_tree_${language}_RPATH}")
--
- # install_tree_ocaml_RPATHCMD needed in configured traditional
- # Makefile for the ocaml subdirectory.
- # Ocaml compiler requires -ccopt in front of every -Wl option:
- set(install_tree_${language}_RPATHCMD "-ccopt -Wl,-rpath -ccopt -Wl,\"${install_tree_${language}_RPATH_ESCAPED}\"")
-+ endif(USE_RPATH AND NOT WIN32_OR_CYGWIN)
-
-- endif(ENABLE_ocaml)
-+ # Special case of the ocaml build-tree examples.
-+ # Follow above process_rpath logic but with some changes
-+ # appropriate for the core build of the ocaml examples.
-+ set(build_tree_${language}_RPATH ${CMAKE_BINARY_DIR}/src)
-+ set(tll_arguments PLPLOT::plplot)
-+ process_rpath(build_tree_${language}_RPATH "${tll_arguments}")
-
-+ # Get rid of any mention of ${LIB_DIR} for the core build version
-+ # of the examples.
-+ # Must be done before ${build_tree_${language}_RPATH gets transformed
-+ # from official CMake list to colon-separated form.
-+ list(REMOVE_ITEM build_tree_${language}_RPATH ${LIB_DIR})
-
-- endif(USE_RPATH AND NOT WIN32_OR_CYGWIN)
-+ string(REGEX REPLACE ";" ":" build_tree_${language}_RPATH "${build_tree_${language}_RPATH}")
-+ string(REPLACE " " "\\ " build_tree_${language}_RPATH_ESCAPED "${build_tree_${language}_RPATH}")
-+
-+ endif(ENABLE_ocaml)
-
- # Install Chloe.pgm in installed examples directory so that all implementations
- # of example 20 in the various examples subdirectories can conveniently
diff --git a/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch b/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch
deleted file mode 100644
index 6f0827f334e5..000000000000
--- a/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt.ocaml plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt
---- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt.ocaml 2018-09-19 17:38:53.000000000 -0600
-+++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt 2018-09-19 20:32:29.884146436 -0600
-@@ -326,11 +326,11 @@ if(ENABLE_ocaml)
- ${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 plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${ocaml_LIBRARIES_FLAGS}
-+ COMMAND ${OCAMLC} -a -o plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${ocaml_LIBRARIES_FLAGS}
- DEPENDS
- ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo
- ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
-@@ -341,7 +341,7 @@ if(ENABLE_ocaml)
- add_custom_command(
- OUTPUT
- ${CMAKE_CURRENT_BINARY_DIR}/installed_plplot.cma
-- COMMAND ${OCAMLC} -a -custom -o installed_plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${installed_ocaml_LIBRARIES_FLAGS}
-+ COMMAND ${OCAMLC} -a -o installed_plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${installed_ocaml_LIBRARIES_FLAGS}
- DEPENDS
- ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo
- ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
-diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt.ocaml plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt
---- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt.ocaml 2018-09-19 20:32:29.884146436 -0600
-+++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt 2018-09-19 20:33:18.389750080 -0600
-@@ -91,11 +91,11 @@ if(ENABLE_ocaml AND OCAML_HAS_CAIRO)
- ${CMAKE_CURRENT_BINARY_DIR}/plcairo.ml
- )
-
-- # 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 -l${WRITEABLE_TARGET}plplot -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 -l${WRITEABLE_TARGET}plplot -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.6-python.patch b/sci-libs/plplot/files/plplot-5.9.6-python.patch
deleted file mode 100644
index d62ece2ec416..000000000000
--- a/sci-libs/plplot/files/plplot-5.9.6-python.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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
index 88a36164cbfa..e203bf027c44 100644
--- a/sci-libs/plplot/metadata.xml
+++ b/sci-libs/plplot/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/plplot/plplot-5.15.0-r1.ebuild b/sci-libs/plplot/plplot-5.15.0-r1.ebuild
deleted file mode 100644
index f0f9d5c4247a..000000000000
--- a/sci-libs/plplot/plplot-5.15.0-r1.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-WX_GTK_VER=3.0-gtk3
-FORTRAN_NEEDED=fortran
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit cmake-utils flag-o-matic fortran-2 java-pkg-opt-2 python-single-r1 toolchain-funcs virtualx wxwidgets
-
-DESCRIPTION="Multi-language scientific plotting library"
-HOMEPAGE="http://plplot.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0/14" # SONAME of libplplot.so
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml octave pdf
- png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X"
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- qt5? ( dynamic )
- test? ( latex )
- tk? ( tcl )
-"
-
-RESTRICT="
- !test? ( test )
- octave? ( test )
-"
-
-RDEPEND="
- 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= )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
- qt5? ( dev-python/PyQt5[${PYTHON_MULTI_USEDEP}] )
- ')
- )
- qhull? ( media-libs/qhull:0= )
- qt5? (
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- dev-qt/qtprintsupport:5
- )
- 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:${WX_GTK_VER}=[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-3.0.12 )
- python? ( dev-lang/swig )
- test? (
- media-fonts/font-misc-misc
- media-fonts/font-cursor-misc
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.9.6-python.patch
-
- # Fedora patches
- "${FILESDIR}"/${PN}-5.15.0-ocaml-rpath.patch
- "${FILESDIR}"/${PN}-5.15.0-ieee.patch
- "${FILESDIR}"/${PN}-5.15.0-multiarch.patch
- "${FILESDIR}"/${PN}-5.15.0-ocaml.patch
- "${FILESDIR}"/${PN}-5.12.0-safe-string.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
- use fortran && fortran-2_pkg_setup
-}
-
-src_prepare() {
- use wxwidgets && need-wxwidgets unicode
- 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
- local f
- while IFS="" read -d $'\0' -r f; do
- sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die
- done < <(find "${S}" -name CMakeLists.txt -print0)
-
- 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 pulls in a whole stack of horrible dependencies
- # - Bindings:
- # * Ada is a mess in Gentoo, don't use
- # * D has been removed from Gentoo, don't use
- # * Qt4 has been disabled, as it is deprecated and unsupported upstream
- # - DPLD_* drivers need to use ON/OFF instead of the usex defaults yes/no, as
- # the testsuite performs a string comparison to determine which tests to run
-
- # Octave bindings now require C++11 support, #609980
- append-cxxflags -std=c++11
-
- local mycmakeargs=(
- # The build system does not honour CMAKE_INSTALL_LIBDIR as a
- # relative dir, which is against the spirit of GNUInstallDirs, #610066
- -DCMAKE_INSTALL_LIBDIR="${EPREFIX}"/usr/$(get_libdir)
-
- ## Features
- -DBUILD_DOC=OFF
- -DBUILD_DOX_DOC=OFF
- -DUSE_RPATH=OFF
- -DPREBUILT_DOC=$(usex doc)
- -DHAVE_SHAPELIB=$(usex shapefile)
- -DWITH_FREETYPE=$(usex truetype)
- -DPL_HAVE_PTHREAD=$(usex threads)
- -DPL_HAVE_QHULL=$(usex qhull)
- -DPLPLOT_USE_QT5=$(usex qt5)
-
- ## Tests
- -DBUILD_TEST=$(usex test)
-
- ## Bindings
- -DENABLE_ada=OFF
- -DENABLE_d=OFF
- -DENABLE_ocaml=$(usex ocaml)
- -DENABLE_pyqt4=OFF
- -DENABLE_cxx=$(usex cxx)
- -DENABLE_DYNDRIVERS=$(usex dynamic)
- -DENABLE_fortran=$(usex fortran)
- -DENABLE_java=$(usex java)
- -DENABLE_lua=$(usex lua)
- -DENABLE_octave=$(usex octave)
- -DENABLE_python=$(usex python)
- -DENABLE_qt=$(usex qt5)
- -DENABLE_tcl=$(usex tcl)
- -DENABLE_itcl=$(usex tcl)
- -DENABLE_tk=$(usex tk)
- -DENABLE_itk=$(usex tk)
- -DENABLE_wxwidgets=$(usex wxwidgets)
-
- ## Drivers
- -DPLD_cgm=OFF
- -DPLD_gif=OFF
- -DPLD_jpeg=OFF
- -DPLD_plmeta=OFF
- -DPLD_png=OFF
- -DPLD_pstex=OFF
- -DPLD_wxpng=OFF
- -DPLD_mem=ON
- -DPLD_null=ON
- -DPLD_wingcc=ON
- # Cairo
- $(usex cairo "" "-DDEFAULT_NO_CAIRO_DEVICES=ON")
- -DPLD_epscairo=$(usex cairo ON OFF)
- -DPLD_extcairo=$(usex cairo ON OFF)
- -DPLD_memcairo=$(usex cairo ON OFF)
- -DPLD_pdfcairo=$(usex cairo ON OFF)
- -DPLD_pngcairo=$(usex cairo ON OFF)
- -DPLD_pscairo=$(usex cairo ON OFF)
- -DPLD_svgcairo=$(usex cairo ON OFF)
- -DPLD_xcairo=$(usex cairo ON OFF)
- # LaTeX
- -DPLD_ps=$(usex latex ON OFF)
- # PDF
- -DPLD_pdf=$(usex pdf ON OFF)
- # Qt
- -DPLD_aqt=$(usex qt5 ON OFF)
- -DPLD_bmpqt=$(usex qt5 ON OFF)
- -DPLD_epsqt=$(usex qt5 ON OFF)
- -DPLD_extqt=$(usex qt5 ON OFF)
- -DPLD_jpgqt=$(usex qt5 ON OFF)
- -DPLD_memqt=$(usex qt5 ON OFF)
- -DPLD_pdfqt=$(usex qt5 ON OFF)
- -DPLD_pngqt=$(usex qt5 ON OFF)
- -DPLD_ppmqt=$(usex qt5 ON OFF)
- -DPLD_qtwidget=$(usex qt5 ON OFF)
- -DPLD_svgqt=$(usex qt5 ON OFF)
- -DPLD_tiffqt=$(usex qt5 ON OFF)
- # SVG
- -DPLD_svg=$(usex svg ON OFF)
- # Tk
- -DPLD_ntk=$(usex tk ON OFF)
- -DPLD_tk=$(usex tk ON OFF)
- -DPLD_tkwin=$(usex tk ON OFF)
- # Truetype
- -DPLD_psttf=$(usex truetype ON OFF)
- # Wx
- -DPLD_wxwidgets=$(usex wxwidgets ON OFF)
- # X
- -DPLD_xfig=$(usex X ON OFF)
- -DPLD_xwin=$(usex X ON OFF)
- )
-
- use truetype && mycmakeargs+=(
- -DPL_FREETYPE_FONT_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+=(
- -DENABLE_pyqt5=$(usex qt5)
- )
-
- 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() {
- virtx cmake-utils_src_test
-}
-
-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
- java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar
- java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/plplotjavac_wrap.so
- fi
-}
diff --git a/sci-libs/plplot/plplot-5.15.0_p6.ebuild b/sci-libs/plplot/plplot-5.15.0_p6.ebuild
new file mode 100644
index 000000000000..7608ead0153c
--- /dev/null
+++ b/sci-libs/plplot/plplot-5.15.0_p6.ebuild
@@ -0,0 +1,296 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER=3.2-gtk3
+FORTRAN_NEEDED=fortran
+LUA_COMPAT=( lua5-1 )
+PYTHON_COMPAT=( python3_{9..11} )
+# fails with ninja, due to USE=java missing swig output dependencies
+CMAKE_MAKEFILE_GENERATOR=emake
+
+inherit cmake flag-o-matic fortran-2 java-pkg-opt-2 lua-single python-single-r1 virtualx wxwidgets
+
+DESCRIPTION="Multi-language scientific plotting library"
+HOMEPAGE="https://plplot.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P/_p*}.tar.gz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}+dfsg2-${PV/*_p}.debian.tar.xz"
+S="${WORKDIR}/${P/_p*}"
+
+LICENSE="LGPL-2"
+SLOT="0/14" # SONAME of libplplot.so
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="cairo cxx doc +dynamic examples fortran gd java jpeg latex lua ocaml octave pdf
+ png python qhull qt5 shapefile svg tcl test threads tk truetype wxwidgets X"
+REQUIRED_USE="
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ qt5? ( dynamic )
+ test? ( latex )
+ tk? ( tcl )
+"
+
+RESTRICT="
+ !test? ( test )
+ octave? ( test )
+"
+
+RDEPEND="
+ cairo? ( x11-libs/cairo:0=[svg(+)?,X] )
+ gd? ( media-libs/gd:2=[jpeg?,png?] )
+ java? ( >=virtual/jre-1.8:* )
+ latex? (
+ app-text/ghostscript-gpl
+ virtual/latex-base
+ )
+ lua? ( ${LUA_DEPS} )
+ ocaml? (
+ dev-lang/ocaml:=
+ dev-ml/camlidl:=
+ )
+ octave? ( sci-mathematics/octave:0= )
+ pdf? ( media-libs/libharu:0= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] )
+ ')
+ )
+ qhull? ( media-libs/qhull:0= )
+ qt5? (
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtprintsupport:5
+ )
+ 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:${WX_GTK_VER}=[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.8:*
+ dev-lang/swig
+ )
+ lua? ( dev-lang/swig )
+ ocaml? ( dev-ml/findlib )
+ octave? ( >=dev-lang/swig-3.0.12 )
+ python? ( dev-lang/swig )
+ test? (
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ )
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+ use lua && lua-single_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ use wxwidgets && setup-wxwidgets
+ cmake_src_prepare
+
+ # Debian patches
+ for p in $(<"${WORKDIR}"/debian/patches/series) ; do
+ eapply -p1 "${WORKDIR}/debian/patches/${p}"
+ done
+
+ # 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
+ local f
+ while IFS="" read -d $'\0' -r f; do
+ sed -i -e 's:${DATA_DIR}/examples:${DOC_DIR}/examples:g' "${f}" || die
+ done < <(find "${S}" -name CMakeLists.txt -print0)
+
+ 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 pulls in a whole stack of horrible dependencies
+ # - Bindings:
+ # * Ada is a mess in Gentoo, don't use
+ # * D has been removed from Gentoo, don't use
+ # * Qt4 has been disabled, as it is deprecated and unsupported upstream
+ # - DPLD_* drivers need to use ON/OFF instead of the usex defaults yes/no, as
+ # the testsuite performs a string comparison to determine which tests to run
+
+ # Octave bindings now require C++11 support, #609980
+ append-cxxflags -std=c++11
+
+ local mycmakeargs=(
+ # The build system does not honour CMAKE_INSTALL_LIBDIR as a
+ # relative dir, which is against the spirit of GNUInstallDirs, #610066
+ -DCMAKE_INSTALL_LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+
+ ## Features
+ -DBUILD_DOC=OFF
+ -DBUILD_DOX_DOC=OFF
+ -DUSE_RPATH=OFF
+ -DPREBUILT_DOC=$(usex doc)
+ -DHAVE_SHAPELIB=$(usex shapefile)
+ -DWITH_FREETYPE=$(usex truetype)
+ -DPL_HAVE_PTHREAD=$(usex threads)
+ -DPL_HAVE_QHULL=$(usex qhull)
+ -DPLPLOT_USE_QT5=$(usex qt5)
+
+ ## Tests
+ -DBUILD_TEST=$(usex test)
+
+ ## Bindings
+ -DENABLE_ada=OFF
+ -DENABLE_d=OFF
+ -DENABLE_ocaml=$(usex ocaml)
+ -DENABLE_pyqt4=OFF
+ -DENABLE_cxx=$(usex cxx)
+ -DENABLE_DYNDRIVERS=$(usex dynamic)
+ -DENABLE_fortran=$(usex fortran)
+ -DENABLE_java=$(usex java)
+ -DENABLE_lua=$(usex lua)
+ -DENABLE_octave=$(usex octave)
+ -DENABLE_python=$(usex python)
+ -DENABLE_qt=$(usex qt5)
+ -DENABLE_tcl=$(usex tcl)
+ -DENABLE_itcl=$(usex tcl)
+ -DENABLE_tk=$(usex tk)
+ -DENABLE_itk=$(usex tk)
+ -DENABLE_wxwidgets=$(usex wxwidgets)
+
+ ## Drivers
+ -DPLD_cgm=OFF
+ -DPLD_gif=OFF
+ -DPLD_jpeg=OFF
+ -DPLD_plmeta=OFF
+ -DPLD_png=OFF
+ -DPLD_pstex=OFF
+ -DPLD_wxpng=OFF
+ -DPLD_mem=ON
+ -DPLD_null=ON
+ -DPLD_wingcc=ON
+ # Cairo
+ $(usex cairo "" "-DDEFAULT_NO_CAIRO_DEVICES=ON")
+ -DPLD_epscairo=$(usex cairo ON OFF)
+ -DPLD_extcairo=$(usex cairo ON OFF)
+ -DPLD_memcairo=$(usex cairo ON OFF)
+ -DPLD_pdfcairo=$(usex cairo ON OFF)
+ -DPLD_pngcairo=$(usex cairo ON OFF)
+ -DPLD_pscairo=$(usex cairo ON OFF)
+ -DPLD_svgcairo=$(usex cairo ON OFF)
+ -DPLD_xcairo=$(usex cairo ON OFF)
+ # LaTeX
+ -DPLD_ps=$(usex latex ON OFF)
+ # PDF
+ -DPLD_pdf=$(usex pdf ON OFF)
+ # Qt
+ -DPLD_aqt=$(usex qt5 ON OFF)
+ -DPLD_bmpqt=$(usex qt5 ON OFF)
+ -DPLD_epsqt=$(usex qt5 ON OFF)
+ -DPLD_extqt=$(usex qt5 ON OFF)
+ -DPLD_jpgqt=$(usex qt5 ON OFF)
+ -DPLD_memqt=$(usex qt5 ON OFF)
+ -DPLD_pdfqt=$(usex qt5 ON OFF)
+ -DPLD_pngqt=$(usex qt5 ON OFF)
+ -DPLD_ppmqt=$(usex qt5 ON OFF)
+ -DPLD_qtwidget=$(usex qt5 ON OFF)
+ -DPLD_svgqt=$(usex qt5 ON OFF)
+ -DPLD_tiffqt=$(usex qt5 ON OFF)
+ # SVG
+ -DPLD_svg=$(usex svg ON OFF)
+ # Tk
+ -DPLD_ntk=$(usex tk ON OFF)
+ -DPLD_tk=$(usex tk ON OFF)
+ -DPLD_tkwin=$(usex tk ON OFF)
+ # Truetype
+ -DPLD_psttf=$(usex truetype ON OFF)
+ # Wx
+ -DPLD_wxwidgets=$(usex wxwidgets ON OFF)
+ # X
+ -DPLD_xfig=$(usex X ON OFF)
+ -DPLD_xwin=$(usex X ON OFF)
+ )
+
+ use truetype && mycmakeargs+=(
+ -DPL_FREETYPE_FONT_PATH="${EPREFIX}"/usr/share/fonts/freefont
+ )
+ use shapefile && mycmakeargs+=(
+ -DSHAPELIB_INCLUDE_DIR="${EPREFIX}"/usr/include/libshp
+ )
+ use lua && mycmakeargs+=(
+ -DREQUIRED_LUA_VERSION=$(lua_get_version)
+ )
+ use ocaml && mycmakeargs+=(
+ -DOCAML_INSTALL_DIR="$(ocamlc -where)"
+ )
+ use python && mycmakeargs+=(
+ -DENABLE_pyqt5=$(usex qt5)
+ )
+
+ cmake_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() {
+ virtx cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ else
+ rm -r "${ED}"/usr/share/doc/${PF}/examples || die
+ fi
+
+ use python && python_optimize
+
+ if use java; then
+ java-pkg_dojar "${BUILD_DIR}"/examples/java/${PN}.jar
+ java-pkg_regso "${EPREFIX}"/usr/$(get_libdir)/jni/libplplotjavac_wrap.so
+ fi
+}
diff --git a/sci-libs/primegen/files/primegen-0.97-main-rettype.patch b/sci-libs/primegen/files/primegen-0.97-main-rettype.patch
new file mode 100644
index 000000000000..660dc193ab2b
--- /dev/null
+++ b/sci-libs/primegen/files/primegen-0.97-main-rettype.patch
@@ -0,0 +1,13 @@
+Adding return type to main function
+Bug: https://bugs.gentoo.org/898288
+--- a/eratspeed.c
++++ b/eratspeed.c
+@@ -402,7 +402,7 @@ void countit()
+ timing t;
+ timing told;
+
+-main()
++int main()
+ {
+ int L = 1;
+
diff --git a/sci-libs/primegen/files/primegen-0.97-man.patch b/sci-libs/primegen/files/primegen-0.97-man.patch
index 069409f1df76..f57c4dfce42b 100644
--- a/sci-libs/primegen/files/primegen-0.97-man.patch
+++ b/sci-libs/primegen/files/primegen-0.97-man.patch
@@ -2,8 +2,8 @@ Fix incorrect man page and include mention of the possibility
of linking to a static libary only.
https://bugs.gentoo.org/show_bug.cgi?id=562570
---- primegen-0.97/primegen.3
-+++ primegen-0.97/primegen.3
+--- a/primegen.3
++++ b/primegen.3
@@ -14,13 +14,16 @@
.br
void \fBprimegen_skipto\fP(&\fIpg\fR,\fIbound\fR);
diff --git a/sci-libs/primegen/files/primegen-0.97-missing-headers.patch b/sci-libs/primegen/files/primegen-0.97-missing-headers.patch
index 51f1aaac3823..2b15756c8d1b 100644
--- a/sci-libs/primegen/files/primegen-0.97-missing-headers.patch
+++ b/sci-libs/primegen/files/primegen-0.97-missing-headers.patch
@@ -1,5 +1,5 @@
---- primegen-0.97/eratspeed.c.orig 2009-03-27 09:16:52.000000000 -0300
-+++ primegen-0.97/eratspeed.c 2009-03-27 09:18:29.000000000 -0300
+--- a/eratspeed.c
++++ b/eratspeed.c
@@ -1,6 +1,8 @@
#define B32 1001
#define B (B32 * 32)
@@ -9,32 +9,32 @@
#include "timing.h"
#include "uint32.h"
---- primegen-0.97/primegaps.c.orig 2009-03-27 09:17:07.000000000 -0300
-+++ primegen-0.97/primegaps.c 2009-03-27 09:17:19.000000000 -0300
+--- a/primegaps.c
++++ b/primegaps.c
@@ -1,4 +1,5 @@
#include <math.h>
+#include <stdio.h>
#include "primegen.h"
primegen pg;
---- primegen-0.97/primes.c.orig 2009-03-27 09:19:08.000000000 -0300
-+++ primegen-0.97/primes.c 2009-03-27 09:19:14.000000000 -0300
+--- a/primes.c
++++ b/primes.c
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stdlib.h>
#include "primegen.h"
#include "fs64.h"
---- primegen-0.97/primespeed.c.orig 2009-03-27 09:17:41.000000000 -0300
-+++ primegen-0.97/primespeed.c 2009-03-27 09:18:54.000000000 -0300
+--- a/primespeed.c
++++ b/primespeed.c
@@ -1,3 +1,5 @@
+#include <stdio.h>
+#include <stdlib.h>
#include "timing.h"
#include "primegen.h"
#include "primegen_impl.h"
---- primegen-0.97/error.h.orig 2009-09-11 19:40:53.000000000 +0100
-+++ primegen-0.97/error.h 2009-09-11 19:41:02.000000000 +0100
+--- a/error.h
++++ b/error.h
@@ -1,7 +1,7 @@
#ifndef ERROR_H
#define ERROR_H
diff --git a/sci-libs/primegen/files/primegen-0.97-respect-ar-ranlib.patch b/sci-libs/primegen/files/primegen-0.97-respect-ar-ranlib.patch
new file mode 100644
index 000000000000..967c005b08be
--- /dev/null
+++ b/sci-libs/primegen/files/primegen-0.97-respect-ar-ranlib.patch
@@ -0,0 +1,18 @@
+--- a/make-makelib.sh
++++ b/make-makelib.sh
+@@ -1,6 +1,6 @@
+ echo 'main="$1"; shift'
+ echo 'rm -f "$main"'
+-echo 'ar cr "$main" ${1+"$@"}'
++echo '${AR} cr "$main" ${1+"$@"}'
+
+ case "$1" in
+ sunos-5.*) ;;
+@@ -11,6 +11,6 @@
+ hp-ux-*) ;;
+ sco*) ;;
+ *)
+- echo 'ranlib "$main"'
++ echo '${RANLIB} "$main"'
+ ;;
+ esac
diff --git a/sci-libs/primegen/metadata.xml b/sci-libs/primegen/metadata.xml
index b9ad1c8da710..3b04521c13df 100644
--- a/sci-libs/primegen/metadata.xml
+++ b/sci-libs/primegen/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
diff --git a/sci-libs/primegen/primegen-0.97-r2.ebuild b/sci-libs/primegen/primegen-0.97-r2.ebuild
index 72285f5925f0..3394131d63df 100644
--- a/sci-libs/primegen/primegen-0.97-r2.ebuild
+++ b/sci-libs/primegen/primegen-0.97-r2.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
+
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Small, fast library to generate primes in order"
@@ -10,18 +11,19 @@ SRC_URI="http://cr.yp.to/primegen/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
-IUSE=""
+KEYWORDS="amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
PATCHES=(
- "${FILESDIR}/${P}-man.patch"
- "${FILESDIR}/${P}-missing-headers.patch"
+ "${FILESDIR}"/${P}-man.patch
+ "${FILESDIR}"/${P}-missing-headers.patch
+ "${FILESDIR}"/${P}-respect-ar-ranlib.patch
)
src_prepare() {
default
- while IFS="" read -d $'\0' -r file
- do
+
+ local file
+ while IFS="" read -d $'\0' -r file; do
sed -i -e 's:\(primegen.a\):lib\1:' "${file}" || die
done < <(find . -type f -print0)
mkdir usr || die
@@ -30,9 +32,10 @@ src_prepare() {
src_configure() {
# Fixes bug #161015
append-flags -fsigned-char
- echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die
+ echo "$(tc-getCC) ${CFLAGS} ${CPPFLAGS}" > conf-cc || die
echo "${S}/usr" > conf-home || die
echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die
+ tc-export AR RANLIB
}
src_test() {
@@ -48,7 +51,7 @@ src_install() {
-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
+
+ doheader primegen.h
dodoc BLURB CHANGES README TODO
}
diff --git a/sci-libs/primegen/primegen-0.97-r3.ebuild b/sci-libs/primegen/primegen-0.97-r3.ebuild
new file mode 100644
index 000000000000..743c5440098e
--- /dev/null
+++ b/sci-libs/primegen/primegen-0.97-r3.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Small, fast library to generate primes in order"
+HOMEPAGE="https://cr.yp.to/primegen.html"
+SRC_URI="https://cr.yp.to/primegen/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-man.patch
+ "${FILESDIR}"/${P}-missing-headers.patch
+ "${FILESDIR}"/${P}-respect-ar-ranlib.patch
+ "${FILESDIR}"/${PN}-0.97-main-rettype.patch
+)
+
+src_prepare() {
+ default
+
+ local file
+ while IFS="" read -d $'\0' -r file; do
+ sed -i -e 's:\(primegen.a\):lib\1:' "${file}" || die
+ done < <(find . -type f -print0)
+ mkdir usr || die
+}
+
+src_configure() {
+ # Fixes bug #161015
+ append-flags -fsigned-char
+ echo "$(tc-getCC) ${CFLAGS} ${CPPFLAGS}" > conf-cc || die
+ echo "${S}/usr" > conf-home || die
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die
+ tc-export AR RANLIB
+}
+
+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
+
+ doheader primegen.h
+ dodoc BLURB CHANGES README TODO
+}
diff --git a/sci-libs/profnet/metadata.xml b/sci-libs/profnet/metadata.xml
index 959160fe46b1..ccdff086e20b 100644
--- a/sci-libs/profnet/metadata.xml
+++ b/sci-libs/profnet/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-biology@gentoo.org</email>
diff --git a/sci-libs/profnet/profnet-1.0.22.ebuild b/sci-libs/profnet/profnet-1.0.22.ebuild
index df450e7e8d39..dfc60db98e74 100644
--- a/sci-libs/profnet/profnet-1.0.22.ebuild
+++ b/sci-libs/profnet/profnet-1.0.22.ebuild
@@ -1,31 +1,38 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit fortran-2 toolchain-funcs
+inherit flag-o-matic 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"
+SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
RDEPEND="sys-libs/libunwind"
DEPEND="${RDEPEND}"
src_prepare() {
+ default
sed \
-e '/$@/s:-o:$(LDFLAGS) -o:g' \
-i src-phd/Makefile || die
}
src_compile() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862921
+ # No upstream bug. Upstream link seemingly doesn't provide any information
+ # about this specific project.
+ filter-lto
+
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
emake \
- F77=$(tc-getF77) \
+ F77="$(tc-getF77)" \
FFLAGS="${FFLAGS}"
}
@@ -34,4 +41,7 @@ src_install() {
DESTDIR="${D}" \
prefix="${EPREFIX}/usr" \
install
+
+ # Don't install compressed man pages
+ find "${ED}"/usr/share/man -type f -name '*.gz' -exec gzip -d {} \; || die
}
diff --git a/sci-libs/profphd-utils/metadata.xml b/sci-libs/profphd-utils/metadata.xml
index 959160fe46b1..ccdff086e20b 100644
--- a/sci-libs/profphd-utils/metadata.xml
+++ b/sci-libs/profphd-utils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-biology@gentoo.org</email>
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
index 83d0f8485e02..33cde935a96c 100644
--- a/sci-libs/profphd-utils/profphd-utils-1.0.10-r1.ebuild
+++ b/sci-libs/profphd-utils/profphd-utils-1.0.10-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
inherit fortran-2 toolchain-funcs
@@ -9,17 +9,15 @@ DESCRIPTION="Additional utils for profphd"
HOMEPAGE="https://rostlab.org/"
SRC_URI="ftp://rostlab.org/profphd-utils/${P}.tar.gz"
-SLOT="0"
LICENSE="GPL-3"
+SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
-RDEPEND=""
-DEPEND="dev-lang/perl"
+BDEPEND="dev-lang/perl"
src_compile() {
emake \
- F77=$(tc-getF77) \
+ F77="$(tc-getF77)" \
AM_FFLAGS=""
}
diff --git a/sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild b/sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild
deleted file mode 100644
index 49afe145c1e6..000000000000
--- a/sci-libs/profphd-utils/profphd-utils-1.0.10.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
index 59ca51164e9d..0fb70532f15f 100644
--- a/sci-libs/proj/Manifest
+++ b/sci-libs/proj/Manifest
@@ -1,3 +1,4 @@
-DIST proj-7.0.1.tar.gz 5312488 BLAKE2B 421a3b5324ab7c952a8b45036e6db2c8cfc1fd2db3d050d2e644cb1c1c78fe669a20c6d8428debf75233a975a989e3ad2ce6a83cd944825641ffd3107cc44a02 SHA512 034d1b916980c80fe9f8e67d2897814e611920af3e852f152fcd9e3fc4ec8cbc39bbd8f8296949a3c3f5e6708bb9d84e61c4cba9c01476a3888448135e97dc33
-DIST proj-datumgrid-1.8.tar.gz 6604329 BLAKE2B 78df259a811a79457d011b4f675f1a72b6613928bb0083d01bfe65bb4c333628725b300efdb7cf10ebc6f26ff03733886c20f25c7aef80875e81e59bda9fd7d3 SHA512 23153f5b57d210e37cd6e9e0fced23bdabb1c67476e9fb50eb83a68ae066a5c3675822472f5d558d10ddf36ac1d73d538b75304d112a1bfcd8d0bbd26c6481a5
-DIST proj-datumgrid-europe-1.6.tar.gz 189057258 BLAKE2B 66daf2341b05d8d5f929f6d67e1913656c2380a3663b4359cb97576ff5954dbea5890862869bb1077f6cde760dada4d9f13201c5b2c29ef3458a8b43089e459c SHA512 463d2575d5ce6f5984e69897c34ef80ec31a77f5ba00a07a5f55e97c3033dbae40b7d17891e5495bc47e6faf917968b1cdb7b3be9b2a4838e3b093b74753c2a8
+DIST proj-9.2.1.tar.gz 5536575 BLAKE2B e08dc370cfac2c6358e1b28e44f3893c75e07fd64a4235041edf836885d31af33605673486edb122cec8aa13a2c564156c429a68e5045de52d8ea970d2e440f1 SHA512 5640e9bd4ea24a0e0b1521c90b8f709b64b9ee357190aaf08af0cff5df68ae93bdfb27211bde5c50340b067fc218b4f2aa8fb998ed2852ebeb2c2ad0ac4629ef
+DIST proj-9.3.0.tar.gz 5559825 BLAKE2B 83916294411a35094a2dbc89b1f219eff9b9baa4df6322a51a1965979044a36b4f1b75a99ea96fed8f59937ac000337a3e2e8ad4d9e1ef2ae929ccb7e06654b0 SHA512 1a79a7eaab0859cf615141723b68d6dd7b88390c3e590df12ec0d4c58ba69574863e5892d8108818dbc7e8abbf0b6372496228c02411d506b7169f732ff5cd57
+DIST proj-data-1.13.tar.gz 709788173 BLAKE2B 33a487f327d2b35acfd6c7c12286bcd6e338c3459540482f968ef7038d78cea9d1519d89ba979f493e007fa961e0eb955889bf2348a235705ec3b71abf1e31c1 SHA512 14eca1b47dad913de608babc73708a35da8bb614c5374e990564a32549998a16e90d4c548f2dac0cd555fc8a4a645eeaf649db929cc38906bee1050e378a662e
+DIST proj-data-1.15.tar.gz 727387470 BLAKE2B 03d5b69214e23741ae214ff18f523542247fdca5c301891616be6b79c8a916bf762d0a7ee3983cee62236bc0d4d1b5fc93151164b134db220d4582b15a84e8d7 SHA512 4007c639d5c9f0422652315e8d69527eb39e3d045cef3537361e16c61c9aae76d69e3eb7efefead04793350b8502114eec740efe970f25fbbee2db449b2e3694
diff --git a/sci-libs/proj/files/proj-geotiff.patch b/sci-libs/proj/files/proj-geotiff.patch
new file mode 100644
index 000000000000..cef1faa4628f
--- /dev/null
+++ b/sci-libs/proj/files/proj-geotiff.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/917393
+https://github.com/OSGeo/PROJ/pull/3970
+
+From afccfb609db16524b602216d9dc2b55c154403bb Mon Sep 17 00:00:00 2001
+From: Marco Genasci <fedeliallalinea@gmail.com>
+Date: Sun, 26 Nov 2023 08:40:45 +0100
+Subject: [PATCH] Database: added ability to install *.tif if present in data
+
+---
+ data/CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 4cb89e7849..85ed6ba8d4 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -38,6 +38,8 @@ set(GRIDSHIFT_FILES ${GSB_FILES} ${GTX_FILES})
+
+ file(GLOB SCHEMA_FILES *.json)
+
++file(GLOB GEOTIFF_FILES *.tif)
++
+ set(ALL_SQL_IN "${CMAKE_CURRENT_BINARY_DIR}/all.sql.in")
+ set(PROJ_DB "${CMAKE_CURRENT_BINARY_DIR}/proj.db")
+ include(sql_filelist.cmake)
+@@ -107,6 +109,7 @@ set(ALL_DATA_FILE
+ ${GRIDSHIFT_FILES}
+ ${PROJ_DB}
+ ${SCHEMA_FILES}
++ ${GEOTIFF_FILES}
+ )
+ install(
+ FILES ${ALL_DATA_FILE}
diff --git a/sci-libs/proj/metadata.xml b/sci-libs/proj/metadata.xml
index b88fa9cb0362..748ed63a6c36 100644
--- a/sci-libs/proj/metadata.xml
+++ b/sci-libs/proj/metadata.xml
@@ -1,15 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-geosciences@gentoo.org</email>
<name>Gentoo Geosciences Project</name>
</maintainer>
- <longdescription>
- PROJ enables the transformation of geospatial coordinates
- between coordinate reference systems.
- </longdescription>
- <use>
- <flag name="europe">Install the PROJ collection of European grids and init-files</flag>
- </use>
+ <upstream>
+ <remote-id type="github">OSGeo/PROJ</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/proj/proj-7.0.1.ebuild b/sci-libs/proj/proj-7.0.1.ebuild
deleted file mode 100644
index 5d236f000813..000000000000
--- a/sci-libs/proj/proj-7.0.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DATUMGRID="${PN}-datumgrid-1.8.tar.gz"
-EUROPE_DATUMGRID="${PN}-datumgrid-europe-1.6.tar.gz"
-
-DESCRIPTION="PROJ coordinate transformation software"
-HOMEPAGE="https://proj4.org/"
-SRC_URI="
- https://download.osgeo.org/proj/${P}.tar.gz
- https://download.osgeo.org/proj/${DATUMGRID}
- europe? ( https://download.osgeo.org/proj/${EUROPE_DATUMGRID} )
-"
-
-LICENSE="MIT"
-SLOT="0/19"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="curl europe static-libs test +tiff"
-REQUIRED_USE="test? ( !europe )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-db/sqlite:3
- curl? ( net-misc/curl )
- tiff? ( media-libs/tiff )
-"
-DEPEND="${RDEPEND}"
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd "${S}"/data || die
- mv README README.DATA || die
- unpack ${DATUMGRID}
- use europe && unpack ${EUROPE_DATUMGRID}
-}
-
-src_configure() {
- econf \
- $(use_with curl) \
- $(use_enable static-libs static) \
- $(use_enable tiff)
-}
-
-src_install() {
- default
- cd data || die
- dodoc README.{DATA,DATUMGRID}
- use europe && dodoc README.EUROPE
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sci-libs/proj/proj-9.2.1-r1.ebuild b/sci-libs/proj/proj-9.2.1-r1.ebuild
new file mode 100644
index 000000000000..50bbae86a419
--- /dev/null
+++ b/sci-libs/proj/proj-9.2.1-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Check https://proj.org/download.html for latest data tarball
+PROJ_DATA="proj-data-1.13.tar.gz"
+DESCRIPTION="PROJ coordinate transformation software"
+HOMEPAGE="https://proj.org/"
+SRC_URI="
+ https://download.osgeo.org/proj/${P}.tar.gz
+ https://download.osgeo.org/proj/${PROJ_DATA}
+"
+
+LICENSE="MIT"
+# Changes on every major release
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="curl test +tiff"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ curl? ( net-misc/curl )
+ tiff? ( media-libs/tiff:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-geotiff.patch
+)
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ cd "${S}"/data || die
+ mv README README.DATA || die
+
+ unpack ${PROJ_DATA}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_PROJSYNC=$(usex curl)
+ -DENABLE_CURL=$(usex curl)
+ -DENABLE_TIFF=$(usex tiff)
+ )
+
+ if use test ; then
+ mycmakeargs+=(
+ -DUSE_EXTERNAL_GTEST=ON
+ -DBUILD_BENCHMARKS=OFF
+ -DRUN_NETWORK_DEPENDENT_TESTS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ # proj_test_cpp_api: https://lists.osgeo.org/pipermail/proj/2019-September/008836.html
+ # testprojinfo: Also related to map data?
+ -E "(proj_test_cpp_api|testprojinfo)"
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ cd data || die
+ dodoc README.DATA
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/sci-libs/proj/proj-9.3.0-r1.ebuild b/sci-libs/proj/proj-9.3.0-r1.ebuild
new file mode 100644
index 000000000000..f605561280c2
--- /dev/null
+++ b/sci-libs/proj/proj-9.3.0-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# Check https://proj.org/download.html for latest data tarball
+PROJ_DATA="proj-data-1.15.tar.gz"
+DESCRIPTION="PROJ coordinate transformation software"
+HOMEPAGE="https://proj.org/"
+SRC_URI="
+ https://download.osgeo.org/proj/${P}.tar.gz
+ https://download.osgeo.org/proj/${PROJ_DATA}
+"
+
+LICENSE="MIT"
+# Changes on every major release
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="curl test +tiff"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ curl? ( net-misc/curl )
+ tiff? ( media-libs/tiff:= )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-geotiff.patch
+)
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ cd "${S}"/data || die
+ mv README README.DATA || die
+
+ unpack ${PROJ_DATA}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DBUILD_PROJSYNC=$(usex curl)
+ -DENABLE_CURL=$(usex curl)
+ -DENABLE_TIFF=$(usex tiff)
+ )
+
+ if use test ; then
+ mycmakeargs+=(
+ -DUSE_EXTERNAL_GTEST=ON
+ -DBUILD_BENCHMARKS=OFF
+ -DRUN_NETWORK_DEPENDENT_TESTS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=(
+ # proj_test_cpp_api: https://lists.osgeo.org/pipermail/proj/2019-September/008836.html
+ # testprojinfo: Also related to map data?
+ -E "(proj_test_cpp_api|testprojinfo)"
+ )
+
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ cd data || die
+ dodoc README.DATA
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/sci-libs/punc/metadata.xml b/sci-libs/punc/metadata.xml
index 3298e3c46900..7356f2ef0ca6 100644
--- a/sci-libs/punc/metadata.xml
+++ b/sci-libs/punc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/punc/punc-1.5.ebuild b/sci-libs/punc/punc-1.5.ebuild
index ccf2b1cc1733..0577c9eef733 100644
--- a/sci-libs/punc/punc-1.5.ebuild
+++ b/sci-libs/punc/punc-1.5.ebuild
@@ -1,20 +1,19 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-AUTOTOOLS_AUTORECONF=yes
-
-inherit autotools-utils fortran-2 multilib toolchain-funcs
+inherit autotools fortran-2 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"
+S="${WORKDIR}/${PN}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="debug doc mpi static-libs"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc mpi"
RDEPEND="
dev-libs/maloc[mpi=]
@@ -27,64 +26,60 @@ RDEPEND="
virtual/blas
virtual/lapack
mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
virtual/pkgconfig
doc? (
media-gfx/graphviz
- app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}"
+ app-text/doxygen
+ )"
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}
+ rm -r src/{amd,blas,lapack,arpack,superlu,umfpack} || die
- cp tools/tests/pmg/*.f src/pmg/ -f || die
- cp tools/tests/pmg/*.c src/pmg/ -f || die
+ cp -f tools/tests/pmg/*.f src/pmg/ || die
+ cp -f tools/tests/pmg/*.c src/pmg/ || die
cp src/pmg/vpmg.h src/vf2c/punc/vpmg.h || die
- autotools-utils_src_prepare
+ default
+ eautoreconf
}
src_configure() {
- local fetk_include
- local fetk_lib
- local myeconfargs
-
- use doc || myeconfargs+=( --with-doxygen= --with-dot= )
+ export FETK_INCLUDE="${ESYSROOT}"/usr/include
+ export FETK_LIBRARY="${ESYSROOT}"/usr/$(get_libdir)
- 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_BLAS_LIBRARY="${FETK_LIBRARY}"
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+=(
+ export FETK_ARPACK_LIBRARY="${FETK_LIBRARY}"
+ export FETK_UMFPACK_LIBRARY="${FETK_LIBRARY}"
+ export FETK_CGCODE_LIBRARY="${FETK_LIBRARY}"
+ export FETK_AMD_LIBRARY="${FETK_LIBRARY}"
+
+ econf \
+ --enable-vf2cforce \
+ --disable-static \
+ --disable-triplet \
+ --with-doxygen=$(usex doc "${BROOT}"/usr/bin/doxygen '') \
+ --with-dot=$(usex doc "${BROOT}"/usr/bin/dot '') \
$(use_enable debug vdebug)
- --enable-vf2cforce
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- --disable-triplet
- )
- autotools-utils_src_configure
}
src_install() {
- autotools-utils_src_install
+ HTML_DOCS=( doc/index.html )
+ default
insinto /usr/include/punc
doins v*.h
- dohtml doc/index.html
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sci-libs/pyshp/Manifest b/sci-libs/pyshp/Manifest
index 4c844169a680..8976f914a60e 100644
--- a/sci-libs/pyshp/Manifest
+++ b/sci-libs/pyshp/Manifest
@@ -1,2 +1 @@
-DIST pyshp-1.2.0.tar.gz 58993 BLAKE2B f7cb69976b6dd089be45d7984765f803ce94300dc19df1b99a11ba876365f49659fb37a5ebfa36ebe3ce6de4df9f0b80f628160ace9b11a66a247f9a57ac0a80 SHA512 c77e19f258ba9d2e2c480b82c342d2bbeae4b5855627aa98777fbf590e904d50045edecaa0e5ec2e03ddaaf49bf7261944fb77bcd26bf6d21e50c90c30cd0b43
-DIST pyshp-2.1.0.tar.gz 215360 BLAKE2B 2b32a3db242b90f801abdbc31f3c930bc40c3ad0606433d90f62c6b9af3c0459e8c8467d60aec1075368779e5a4fffa9e3985e1875d82edf732faf982359c605 SHA512 ab0c7832f7e480ec3cdbf94ec29f84b590486625bde3d5cf465e5dc6ddca02998b99510b6c14d5ba005816c5b091044badc1e68988fd971f9e18266096ad86cb
+DIST pyshp-2.3.1..gh.tar.gz 2213685 BLAKE2B ca5b87dec442508bc4a0612982984ba0fb91aa8acffddb6a448c43ccf42285305600a5e28e1fb781a3d94e8ce0624d027642fddcc5f2176dca3df095e59df170 SHA512 08844492b8d1d824c639844f7f314909d946bd4d3703a4f8d4cb64d400729671b42ff5b0f80aa68d9469f3939a3c7619ba13c9efdcba3b244ec01d7be3a371c5
diff --git a/sci-libs/pyshp/metadata.xml b/sci-libs/pyshp/metadata.xml
index 3da8982993cc..698e51f02c5c 100644
--- a/sci-libs/pyshp/metadata.xml
+++ b/sci-libs/pyshp/metadata.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tomjbe@gentoo.org</email>
<name>Thomas Beierlein</name>
</maintainer>
<upstream>
+ <remote-id type="github">GeospatialPython/pyshp</remote-id>
<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
deleted file mode 100644
index 708ad5092d3f..000000000000
--- a/sci-libs/pyshp/pyshp-1.2.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-PYTHON_COMPAT=( python3_6 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python read/write support for ESRI Shapefile format"
-HOMEPAGE="https://pypi.org/project/pyshp/"
-
-if [[ ${PV} == "9999" ]] ; then
- SRC_URI=""
- ESVN_REPO_URI="https://${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-2.1.0.ebuild b/sci-libs/pyshp/pyshp-2.1.0.ebuild
deleted file mode 100644
index 5499cd13c879..000000000000
--- a/sci-libs/pyshp/pyshp-2.1.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit distutils-r1
-
-DESCRIPTION="Pure Python read/write support for ESRI Shapefile format"
-HOMEPAGE="https://pypi.org/project/pyshp/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
-
-python_test() {
- "${EPYTHON}" shapefile.py || die
-}
diff --git a/sci-libs/pyshp/pyshp-2.3.1-r2.ebuild b/sci-libs/pyshp/pyshp-2.3.1-r2.ebuild
new file mode 100644
index 000000000000..18fbf87fe491
--- /dev/null
+++ b/sci-libs/pyshp/pyshp-2.3.1-r2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Pure Python read/write support for ESRI Shapefile format"
+HOMEPAGE="https://pypi.org/project/pyshp/"
+# pypi tarballs are missing test data
+#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/GeospatialPython/${PN}/archive/${PV}.tar.gz -> ${P}..gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+python_test() {
+ epytest test_shapefile.py -m "not network" || die
+}
diff --git a/sci-libs/pyshp/pyshp-9999.ebuild b/sci-libs/pyshp/pyshp-9999.ebuild
deleted file mode 100644
index 708ad5092d3f..000000000000
--- a/sci-libs/pyshp/pyshp-9999.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-PYTHON_COMPAT=( python3_6 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure Python read/write support for ESRI Shapefile format"
-HOMEPAGE="https://pypi.org/project/pyshp/"
-
-if [[ ${PV} == "9999" ]] ; then
- SRC_URI=""
- ESVN_REPO_URI="https://${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/pytorch/Manifest b/sci-libs/pytorch/Manifest
new file mode 100644
index 000000000000..b72973ca6f63
--- /dev/null
+++ b/sci-libs/pytorch/Manifest
@@ -0,0 +1,2 @@
+DIST pytorch-2.1.2.tar.gz 116316469 BLAKE2B c5a55ee264bc3477d3556ba6376b5591117e992e56e0dd0c9ba93d12526e2727f7840f6f1e0730a38223b6492c9556840c4ebf22ffd220e97225c2abff303747 SHA512 a8961d78ad785b13c959a0612563a60e0de17a7c8bb9822ddea9a24072796354d07e81c47b6cc8761b21a6448845b088cf80e1661d9e889b0ed5474d3dc76756
+DIST pytorch-2.2.2.tar.gz 116367503 BLAKE2B 0be22f2ec4b9aac6f5e976664cae01facf07929a32565cd57d7cc5b2d9888e9ae71ca301853752fe8f31d174d04c9974eb9ed2f3d452360a50ccf024f200726a SHA512 7990e0f9484038c3458c0bda2c863bf2b19e56edab81fc5938c6e0f08b17558287f853bb67350e8cca8f42bec0f1d4ba0e94e50a145db8da44bdd4bd703d91d0
diff --git a/sci-libs/pytorch/files/pytorch-1.13.0-setup.patch b/sci-libs/pytorch/files/pytorch-1.13.0-setup.patch
new file mode 100644
index 000000000000..bc5721e5b932
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.13.0-setup.patch
@@ -0,0 +1,11 @@
+--- a/setup.py 2023-02-14 19:34:56.327571750 +0100
++++ b/setup.py 2023-02-14 19:35:31.073020464 +0100
+@@ -234,6 +234,8 @@
+ import time
+ import sysconfig
+
++sys.path[:0] = os.getcwd()
++
+ from tools.build_pytorch_libs import build_caffe2
+ from tools.setup_helpers.env import (IS_WINDOWS, IS_DARWIN, IS_LINUX,
+ build_type)
diff --git a/sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch b/sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch
new file mode 100644
index 000000000000..69c2ddc5947e
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.7.1-torch_shm_manager.patch
@@ -0,0 +1,13 @@
+diff --git a/torch/__init__.py b/torch/__init__.py
+index 03f6eca622..297fb169a4 100644
+--- a/torch/__init__.py
++++ b/torch/__init__.py
+@@ -412,7 +412,7 @@ def manager_path():
+
+
+ # Shared memory manager needs to know the exact location of manager executable
+-_C._initExtension(manager_path())
++_C._initExtension(b"/usr/bin/torch_shm_manager")
+ del manager_path
+
+ # Appease the type checker: it can't deal with direct setting of globals().
diff --git a/sci-libs/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch b/sci-libs/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch
new file mode 100644
index 000000000000..214267487c95
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch
@@ -0,0 +1,32 @@
+From 52019a3f395e5fa97b26d424152d91f73b400f8e Mon Sep 17 00:00:00 2001
+From: Alexey Chernov <4ernov@gmail.com>
+Date: Wed, 13 Nov 2019 23:44:12 +0300
+Subject: [PATCH 5/5] Change library directory according to CMake build
+Modified: Tue, 03 Aug 2021, fit for pytorch-1.9.0
+
+Change `lib_path` in favour of out-of-tree CMake build
+directory, so that all the C++ libraries be found.
+---
+ setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 60502b6add..cbced52192 100644
+--- a/setup.py
++++ b/setup.py
+@@ -268,9 +268,10 @@ else:
+
+ # Constant known variables used throughout this file
+ cwd = os.path.dirname(os.path.abspath(__file__))
+-lib_path = os.path.join(cwd, "torch", "lib")
++cmake_build_dir = os.environ.get("CMAKE_BUILD_DIR", os.path.join(cwd, "build"))
++lib_path = os.path.join(cmake_build_dir, "lib")
+ third_party_path = os.path.join(cwd, "third_party")
+-caffe2_build_dir = os.path.join(cwd, "build")
++caffe2_build_dir = cmake_build_dir
+
+ # CMAKE: full path to python library
+ if IS_WINDOWS:
+--
+2.23.0
+
diff --git a/sci-libs/pytorch/files/pytorch-2.0.0-global-dlopen.patch b/sci-libs/pytorch/files/pytorch-2.0.0-global-dlopen.patch
new file mode 100644
index 000000000000..0f1b400e234d
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-2.0.0-global-dlopen.patch
@@ -0,0 +1,20 @@
+--- a/torch/__init__.py 2023-04-05 11:12:25.682681130 +0200
++++ b/torch/__init__.py 2023-04-05 11:13:00.640170307 +0200
+@@ -165,7 +165,7 @@
+ lib_path = os.path.join(os.path.dirname(here), 'lib', lib_name)
+
+ try:
+- ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
++ ctypes.CDLL(lib_name, mode=ctypes.RTLD_GLOBAL)
+ except OSError as err:
+ # Can only happen for wheel with cuda libs as PYPI deps
+ # As PyTorch is not purelib, but nvidia-*-cu11 is
+@@ -187,7 +187,7 @@
+ raise err
+ for lib_folder, lib_name in cuda_libs.items():
+ _preload_cuda_deps(lib_folder, lib_name)
+- ctypes.CDLL(lib_path, mode=ctypes.RTLD_GLOBAL)
++ ctypes.CDLL(lib_name, mode=ctypes.RTLD_GLOBAL)
+
+
+ if (USE_RTLD_GLOBAL_WITH_LIBTORCH or os.getenv('TORCH_USE_RTLD_GLOBAL')) and \
diff --git a/sci-libs/pytorch/files/pytorch-2.1.1-dontbuildagain.patch b/sci-libs/pytorch/files/pytorch-2.1.1-dontbuildagain.patch
new file mode 100644
index 000000000000..f031a7345c69
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-2.1.1-dontbuildagain.patch
@@ -0,0 +1,17 @@
+--- a/setup.py 2023-12-07 20:38:21.247250326 +0100
++++ b/setup.py 2023-12-07 20:38:30.707272148 +0100
+@@ -455,14 +455,6 @@
+ check_submodules()
+ check_pydep("yaml", "pyyaml")
+
+- build_caffe2(
+- version=version,
+- cmake_python_library=cmake_python_library,
+- build_python=True,
+- rerun_cmake=RERUN_CMAKE,
+- cmake_only=CMAKE_ONLY,
+- cmake=cmake,
+- )
+
+ if CMAKE_ONLY:
+ report(
diff --git a/sci-libs/pytorch/files/pytorch-2.1.1-emptyso.patch b/sci-libs/pytorch/files/pytorch-2.1.1-emptyso.patch
new file mode 100644
index 000000000000..b2983609819a
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-2.1.1-emptyso.patch
@@ -0,0 +1,13 @@
+--- a/setup.py 2023-04-05 11:23:00.713405789 +0200
++++ b/setup.py 2023-04-05 11:23:36.900876249 +0200
+@@ -1037,10 +1037,6 @@
+ extensions.append(
+ Extension(name="caffe2.python.caffe2_pybind11_state_hip", sources=[]),
+ )
+- if cmake_cache_vars["BUILD_FUNCTORCH"]:
+- extensions.append(
+- Extension(name="functorch._C", sources=[]),
+- )
+ if cmake_cache_vars["BUILD_NVFUSER"]:
+ extensions.append(
+ Extension(name="nvfuser._C", sources=[]),
diff --git a/sci-libs/pytorch/files/pytorch-2.2.1-emptyso.patch b/sci-libs/pytorch/files/pytorch-2.2.1-emptyso.patch
new file mode 100644
index 000000000000..2b4839baec5b
--- /dev/null
+++ b/sci-libs/pytorch/files/pytorch-2.2.1-emptyso.patch
@@ -0,0 +1,13 @@
+--- a/setup.py 2024-03-08 19:34:42.148677983 +0100
++++ b/setup.py 2024-03-08 19:34:52.402558423 +0100
+@@ -1019,10 +1019,6 @@
+ extensions.append(
+ Extension(name="caffe2.python.caffe2_pybind11_state_hip", sources=[]),
+ )
+- if cmake_cache_vars["BUILD_FUNCTORCH"]:
+- extensions.append(
+- Extension(name="functorch._C", sources=[]),
+- )
+
+ cmdclass = {
+ "bdist_wheel": wheel_concatenate,
diff --git a/sci-libs/pytorch/metadata.xml b/sci-libs/pytorch/metadata.xml
new file mode 100644
index 000000000000..d12749aa5c21
--- /dev/null
+++ b/sci-libs/pytorch/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/pytorch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/pytorch/pytorch-2.1.2-r1.ebuild b/sci-libs/pytorch/pytorch-2.1.2-r1.ebuild
new file mode 100644
index 000000000000..40a5e8ab3df1
--- /dev/null
+++ b/sci-libs/pytorch/pytorch-2.1.2-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_EXT=1
+inherit distutils-r1 prefix
+
+DESCRIPTION="Tensors and Dynamic neural networks in Python"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~sci-libs/caffe2-${PV}[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}"/${PN}-2.1.1-dontbuildagain.patch \
+ "${FILESDIR}"/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch \
+ "${FILESDIR}"/${PN}-2.0.0-global-dlopen.patch \
+ "${FILESDIR}"/pytorch-1.7.1-torch_shm_manager.patch \
+ "${FILESDIR}"/${PN}-1.13.0-setup.patch \
+ "${FILESDIR}"/${PN}-2.1.1-emptyso.patch \
+
+ # Set build dir for pytorch's setup
+ sed -i \
+ -e "/BUILD_DIR/s|build|/var/lib/caffe2/|" \
+ tools/setup_helpers/env.py \
+ || die
+ distutils-r1_src_prepare
+
+ hprefixify tools/setup_helpers/env.py
+}
+
+python_compile() {
+ PYTORCH_BUILD_VERSION=${PV} \
+ PYTORCH_BUILD_NUMBER=0 \
+ USE_SYSTEM_LIBS=ON \
+ CMAKE_BUILD_DIR="${BUILD_DIR}" \
+ distutils-r1_python_compile develop sdist
+}
+
+python_install() {
+ USE_SYSTEM_LIBS=ON distutils-r1_python_install
+}
diff --git a/sci-libs/pytorch/pytorch-2.2.2.ebuild b/sci-libs/pytorch/pytorch-2.2.2.ebuild
new file mode 100644
index 000000000000..75fbde095842
--- /dev/null
+++ b/sci-libs/pytorch/pytorch-2.2.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_EXT=1
+inherit distutils-r1 prefix
+
+DESCRIPTION="Tensors and Dynamic neural networks in Python"
+HOMEPAGE="https://pytorch.org/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+RDEPEND="
+ ${PYTHON_DEPS}
+ ~sci-libs/caffe2-${PV}[${PYTHON_SINGLE_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+"
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}"/${PN}-2.1.1-dontbuildagain.patch \
+ "${FILESDIR}"/pytorch-1.9.0-Change-library-directory-according-to-CMake-build.patch \
+ "${FILESDIR}"/${PN}-2.0.0-global-dlopen.patch \
+ "${FILESDIR}"/pytorch-1.7.1-torch_shm_manager.patch \
+ "${FILESDIR}"/${PN}-1.13.0-setup.patch \
+ "${FILESDIR}"/${PN}-2.2.1-emptyso.patch \
+
+ # Set build dir for pytorch's setup
+ sed -i \
+ -e "/BUILD_DIR/s|build|/var/lib/caffe2/|" \
+ tools/setup_helpers/env.py \
+ || die
+ distutils-r1_src_prepare
+
+ hprefixify tools/setup_helpers/env.py
+}
+
+python_compile() {
+ PYTORCH_BUILD_VERSION=${PV} \
+ PYTORCH_BUILD_NUMBER=0 \
+ USE_SYSTEM_LIBS=ON \
+ CMAKE_BUILD_DIR="${BUILD_DIR}" \
+ distutils-r1_python_compile develop sdist
+}
+
+python_install() {
+ USE_SYSTEM_LIBS=ON distutils-r1_python_install
+}
diff --git a/sci-libs/qd/Manifest b/sci-libs/qd/Manifest
index 85f87c998a4b..647c94900bf4 100644
--- a/sci-libs/qd/Manifest
+++ b/sci-libs/qd/Manifest
@@ -1,2 +1 @@
-DIST qd-2.3.17.tar.gz 1445774 BLAKE2B f2af961db49747475a96dc0abecbcffcf88e43265b6ae21b4d6539ac7ce1086bb40e2cfd795dc9c78dd4b0f790a1a51c5b53d6bbfa224c5d3484d58a222c1872 SHA512 9c6f5dc8d5ad7c9c3d0ec626f7089eb760f31fb14b36daee9c6ba403ab146ff7ce99e01a8750960117a34d662c11620db2ec999e9cf44eb0f80e9224e365d496
-DIST qd-2.3.22.tar.gz 1427456 BLAKE2B 628fb88b8cb105baa689380e4084cc2e327415674fcebca59721cc163e1043f39e48c1b2a2bdc68ba402d311f37e71c9e3c390a119515128e0296aa413c850d5 SHA512 2228b6ed019d1462939957d0d0f64ab2ecfa98ac5aefecf56e9dbcf0c6ed63bdd895b86019fbb0dfdbc22d047c4c2d4e42ff91ca18846b5c1bdaa1ad28a55c2b
+DIST qd-2.3.23.tar.gz 781558 BLAKE2B bbda1ede1e93c100ca831b3eddc34ad6092007f9674c83803e5a5e140f80cc6b4b41fa71857beb9ef255d77265470537e43ef81886d6a013958a429b1c641c55 SHA512 ab311883db7708cee1c307eead5d02dac3b9809389b8d29e2fda5207decb752ca360a9aab234dd8a70228e0e004a6b6d6cdf92fd098536e96a2fa01c5b2ced2c
diff --git a/sci-libs/qd/files/qd-2.3.17-fix-build-system.patch b/sci-libs/qd/files/qd-2.3.17-fix-build-system.patch
deleted file mode 100644
index 7fa3af79895d..000000000000
--- a/sci-libs/qd/files/qd-2.3.17-fix-build-system.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-Fix build system
-* --enable options were misspecified
-* Targets were missing dependencies
-* Disable setting CXXFLAGS
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -18,14 +18,14 @@
-
- AC_CONFIG_AUX_DIR(config)
- AM_INIT_AUTOMAKE([nostdinc])
--AM_CONFIG_HEADER([config.h])
--AM_CONFIG_HEADER([include/qd/qd_config.h])
-+AC_CONFIG_HEADERS([config.h])
-+AC_CONFIG_HEADERS([include/qd/qd_config.h])
-
- AC_CANONICAL_HOST
-
- # Checks for arguments
- # --enable-inline
--AC_ARG_ENABLE(enable_inline, AC_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
-+AC_ARG_ENABLE([inline], AS_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
- AC_MSG_CHECKING([if commonly used function is to be inlined])
- if test "$enable_inline" != "no"; then
- enable_inline="yes"
-@@ -34,7 +34,7 @@
- AC_MSG_RESULT($enable_inline)
-
- # --enable-ieee-add
--AC_ARG_ENABLE(enable_ieee_add, AC_HELP_STRING(--enable-ieee-add, [use addition that satisfies IEEE-style error bound instead of Cray-style error bound. [[default=no]]]))
-+AC_ARG_ENABLE([ieee-add], AS_HELP_STRING(--enable-ieee-add, [use addition that satisfies IEEE-style error bound instead of Cray-style error bound. [[default=no]]]))
- AC_MSG_CHECKING([if addition with IEEE-style error bound is to be used])
- if test "$enable_ieee_add" = "yes"; then
- AC_DEFINE([QD_IEEE_ADD], [1], [Define to 1 to use additions with IEEE-style error bounds.])
-@@ -44,7 +44,7 @@
- AC_MSG_RESULT($enable_ieee_add)
-
- # --enable-sloppy-mul
--AC_ARG_ENABLE(enable_sloppy_mul, AC_HELP_STRING(--enable-sloppy-mul, [use fast but slightly inaccurate multiplication. [[default=yes]]]))
-+AC_ARG_ENABLE([sloppy-mul], AS_HELP_STRING(--enable-sloppy-mul, [use fast but slightly inaccurate multiplication. [[default=yes]]]))
- AC_MSG_CHECKING([if sloppy multiplication is to be used])
- if test "$enable_sloppy_mul" != "no"; then
- enable_sloppy_mul="yes"
-@@ -53,7 +53,7 @@
- AC_MSG_RESULT($enable_sloppy_mul)
-
- # --enable-sloppy-div
--AC_ARG_ENABLE(enable_sloppy_div, AC_HELP_STRING(--enable-sloppy-div, [use fast but slightly inaccurate division. [[default=yes]]]))
-+AC_ARG_ENABLE([sloppy-div], AS_HELP_STRING(--enable-sloppy-div, [use fast but slightly inaccurate division. [[default=yes]]]))
- AC_MSG_CHECKING([if sloppy division is to be used])
- if test "$enable_sloppy_div" != "no"; then
- enable_sloppy_div="yes"
-@@ -63,7 +63,7 @@
-
-
- # --enable-debug
--AC_ARG_ENABLE(enable_debug, AC_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
-+AC_ARG_ENABLE([debug], AS_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
- AC_MSG_CHECKING([if debugging code is to be enabled])
- if test "$enable_debug" = "yes"; then
- AC_DEFINE([QD_DEBUG], [1], [Define to 1 to enable debugging code.])
-@@ -73,7 +73,7 @@
- AC_MSG_RESULT($enable_debug)
-
- # --enable-warnings
--AC_ARG_ENABLE(enable_warnings, AC_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
-+AC_ARG_ENABLE([warnings], AS_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
- AC_MSG_CHECKING([if compiler warnings is to be enabled])
- if test "$enable_warnings" != "yes"; then
- enable_warnings="no"
-@@ -83,13 +83,6 @@
-
- # Checks for programs.
- AC_LANG(C++)
--if test "$CXXFLAGS" = ""; then
-- if test "$enable_debug" = "yes"; then
-- CXXFLAGS="-O"
-- else
-- CXXFLAGS="-O2"
-- fi
--fi
-
- # Set up compiler search list. DUe to possible case insensitive filesystems,
- # Cygwin and Apple systems sometimes gets confused between cc and CC.
-@@ -106,50 +99,10 @@
- fi
- AC_PROG_CC
-
--
--CXX_PROG_NAME=`basename $CXX`
--case $host in
-- powerpc*-*-*)
-- case "$CXX_PROG_NAME" in
-- xlC*)
-- REQ_CXXFLAGS="$REQ_CXXFLAGS -qstrict"
-- ;;
-- esac
-- ;;
-- i?86-*-* | k?*-*-* | athlon-*-* | ia64-*-* | x86_64-*-*)
-- case "$CXX_PROG_NAME" in
-- icc|icpc|ecc)
-- REQ_CXXFLAGS="$REQ_CXXFLAGS -mp"
-- if test "$enable_warnings" = "yes"; then
-- CXXFLAGS="$CXXFLAGS -wd1572 -wd981 -wd1418 -wd1419"
-- fi
-- ;;
-- esac
-- ;;
-- alpha*-*-*)
-- case "$CXX_PROG_NAME" in
-- cxx)
-- CXXFLAGS="$CXXFLAGS -std strict_ansi -tweak"
-- ;;
-- esac
-- ;;
--esac
--
--AC_SUBST(REQ_CXXFLAGS)
--CXXFLAGS="$CXXFLAGS $REQ_CXXFLAGS"
--
--if test "$enable_warnings" = "yes"; then
-- if test "$GCC" = "yes"; then
-- CXXFLAGS="$CXXFLAGS -Wall"
-- fi
--fi
--
--if test "$enable_debug" = "yes"; then
-- CXXFLAGS="$CXXFLAGS -g"
--fi
-+CXXFLAGS="${CXXFLAGS} -Wall"
-
- # --enable-fma
--AC_ARG_ENABLE(enable_fma, AC_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
-+AC_ARG_ENABLE([fma], AS_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
- if test "x$enable_fma" = "x"; then
- enable_fma="auto"
- fi
-@@ -248,7 +201,7 @@
- FCFLAGS="-O2"
- fi
- fi
--AC_ARG_ENABLE(enable_fortran, AC_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
-+AC_ARG_ENABLE([fortran], AS_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
- if test "$enable_fortran" != "no"; then
- AC_LANG_PUSH(Fortran)
- AC_PROG_FC([xlf95 ifort pathf95 f95 gfortran g95 pgf95 lf95 fort ifc efc pathf90 xlf90 pgf90 epcf90 xlf f90])
-@@ -312,8 +265,7 @@
- AC_CHECK_LIB(m,sqrt)
-
- # libtool stuff
--AC_DISABLE_SHARED
--AC_PROG_LIBTOOL
-+LT_INIT
-
- # Output
- AC_CONFIG_FILES([Makefile config/Makefile src/Makefile include/Makefile
---- a/fortran/Makefile.am
-+++ b/fortran/Makefile.am
-@@ -16,7 +16,9 @@
-
- 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 = $(top_builddir)/src/libqd.la $(FCLIBS)
- libqd_f_main_la_SOURCES = main.cpp
-+libqd_f_main_la_LIBADD = $(top_builddir)/src/libqd.la libqdmod.la $(FCLIBS)
- ddmod.lo: $(DDEXT) ddext.lo
- qdmod.lo: ddmod.lo $(DDMOD) qdext.lo
- $(QDMOD): qdmod.lo $(DDMOD)
---- a/qd-config.in
-+++ b/qd-config.in
-@@ -14,7 +14,7 @@
- build_CXXFLAGS="@CXXFLAGS@"
- build_LDFLAGS="@LDFLAGS@"
- CXX="@CXX@"
--CXXFLAGS="-I$includedir @REQ_CXXFLAGS@"
-+CXXFLAGS="-I$includedir"
- FC="@FC@"
-
- LDFLAGS="-L$libdir -lqd @LIBS@"
diff --git a/sci-libs/qd/files/qd-2.3.22-fix-build-system.patch b/sci-libs/qd/files/qd-2.3.22-fix-build-system.patch
deleted file mode 100644
index 204880de95cd..000000000000
--- a/sci-libs/qd/files/qd-2.3.22-fix-build-system.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-diff -U3 -r qd-2.3.22.orig/configure.ac qd-2.3.22/configure.ac
---- qd-2.3.22.orig/configure.ac 2018-10-30 23:01:31.000000000 +0700
-+++ qd-2.3.22/configure.ac 2018-11-09 21:45:39.415092314 +0700
-@@ -18,14 +18,14 @@
-
- AC_CONFIG_AUX_DIR(config)
- AM_INIT_AUTOMAKE([nostdinc foreign])
--AM_CONFIG_HEADER([config.h])
--AM_CONFIG_HEADER([include/qd/qd_config.h])
-+AC_CONFIG_HEADERS([config.h])
-+AC_CONFIG_HEADERS([include/qd/qd_config.h])
-
- AC_CANONICAL_HOST
-
- # Checks for arguments
- # --enable-inline
--AC_ARG_ENABLE(enable_inline, AC_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
-+AC_ARG_ENABLE([inline], AS_HELP_STRING(--enable-inline, [inline commonly used functions. [[default=yes]]]))
- AC_MSG_CHECKING([if commonly used function is to be inlined])
- if test "$enable_inline" != "no"; then
- enable_inline="yes"
-@@ -34,7 +34,7 @@
- AC_MSG_RESULT($enable_inline)
-
- # --enable-ieee-add
--AC_ARG_ENABLE(enable_ieee_add, AC_HELP_STRING(--enable-ieee-add, [use addition that satisfies IEEE-style error bound instead of Cray-style error bound. [[default=no]]]))
-+AC_ARG_ENABLE([ieee-add], AS_HELP_STRING(--enable-ieee-add, [use addition that satisfies IEEE-style error bound instead of Cray-style error bound. [[default=no]]]))
- AC_MSG_CHECKING([if addition with IEEE-style error bound is to be used])
- if test "$enable_ieee_add" = "yes"; then
- AC_DEFINE([QD_IEEE_ADD], [1], [Define to 1 to use additions with IEEE-style error bounds.])
-@@ -44,7 +44,7 @@
- AC_MSG_RESULT($enable_ieee_add)
-
- # --enable-sloppy-mul
--AC_ARG_ENABLE(enable_sloppy_mul, AC_HELP_STRING(--enable-sloppy-mul, [use fast but slightly inaccurate multiplication. [[default=yes]]]))
-+AC_ARG_ENABLE([sloppy-mul], AS_HELP_STRING(--enable-sloppy-mul, [use fast but slightly inaccurate multiplication. [[default=yes]]]))
- AC_MSG_CHECKING([if sloppy multiplication is to be used])
- if test "$enable_sloppy_mul" != "no"; then
- enable_sloppy_mul="yes"
-@@ -53,7 +53,7 @@
- AC_MSG_RESULT($enable_sloppy_mul)
-
- # --enable-sloppy-div
--AC_ARG_ENABLE(enable_sloppy_div, AC_HELP_STRING(--enable-sloppy-div, [use fast but slightly inaccurate division. [[default=yes]]]))
-+AC_ARG_ENABLE([sloppy-div], AS_HELP_STRING(--enable-sloppy-div, [use fast but slightly inaccurate division. [[default=yes]]]))
- AC_MSG_CHECKING([if sloppy division is to be used])
- if test "$enable_sloppy_div" != "no"; then
- enable_sloppy_div="yes"
-@@ -63,7 +63,7 @@
-
-
- # --enable-debug
--AC_ARG_ENABLE(enable_debug, AC_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
-+AC_ARG_ENABLE([debug], AS_HELP_STRING(--enable-debug, [enable debugging code. [[default=no]]]))
- AC_MSG_CHECKING([if debugging code is to be enabled])
- if test "$enable_debug" = "yes"; then
- AC_DEFINE([QD_DEBUG], [1], [Define to 1 to enable debugging code.])
-@@ -73,7 +73,7 @@
- AC_MSG_RESULT($enable_debug)
-
- # --enable-warnings
--AC_ARG_ENABLE(enable_warnings, AC_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
-+AC_ARG_ENABLE([warnings], AS_HELP_STRING(--enable-warnings, [enable compiler warnings. [[default=no]]]))
- AC_MSG_CHECKING([if compiler warnings is to be enabled])
- if test "$enable_warnings" != "yes"; then
- enable_warnings="no"
-@@ -83,13 +83,6 @@
-
- # Checks for programs.
- AC_LANG(C++)
--if test "$CXXFLAGS" = ""; then
-- if test "$enable_debug" = "yes"; then
-- CXXFLAGS="-O"
-- else
-- CXXFLAGS="-O2"
-- fi
--fi
-
- # Set up compiler search list. DUe to possible case insensitive filesystems,
- # Cygwin and Apple systems sometimes gets confused between cc and CC.
-@@ -106,50 +99,10 @@
- fi
- AC_PROG_CC
-
--
--CXX_PROG_NAME=`basename $CXX`
--case $host in
-- powerpc*-*-*)
-- case "$CXX_PROG_NAME" in
-- xlC*)
-- REQ_CXXFLAGS="$REQ_CXXFLAGS -qstrict"
-- ;;
-- esac
-- ;;
-- i?86-*-* | k?*-*-* | athlon-*-* | ia64-*-* | x86_64-*-*)
-- case "$CXX_PROG_NAME" in
-- icc|icpc|ecc)
-- REQ_CXXFLAGS="$REQ_CXXFLAGS -mp"
-- if test "$enable_warnings" = "yes"; then
-- CXXFLAGS="$CXXFLAGS -wd1572 -wd981 -wd1418 -wd1419"
-- fi
-- ;;
-- esac
-- ;;
-- alpha*-*-*)
-- case "$CXX_PROG_NAME" in
-- cxx)
-- CXXFLAGS="$CXXFLAGS -std strict_ansi -tweak"
-- ;;
-- esac
-- ;;
--esac
--
--AC_SUBST(REQ_CXXFLAGS)
--CXXFLAGS="$CXXFLAGS $REQ_CXXFLAGS"
--
--if test "$enable_warnings" = "yes"; then
-- if test "$GCC" = "yes"; then
-- CXXFLAGS="$CXXFLAGS -Wall"
-- fi
--fi
--
--if test "$enable_debug" = "yes"; then
-- CXXFLAGS="$CXXFLAGS -g"
--fi
-+CXXFLAGS="${CXXFLAGS} -Wall"
-
- # --enable-fma
--AC_ARG_ENABLE(enable_fma, AC_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
-+AC_ARG_ENABLE([fma], AS_HELP_STRING(--enable-fma, [use fused multiply-add/subtract (auto,gnu,ia64,c99,ibm,compiler). Use this option with care. [[default=auto]]]))
- if test "x$enable_fma" = "x"; then
- enable_fma="auto"
- fi
-@@ -248,7 +201,7 @@
- FCFLAGS="-O2"
- fi
- fi
--AC_ARG_ENABLE(enable_fortran, AC_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
-+AC_ARG_ENABLE([fortran], AS_HELP_STRING(--enable-fortran, [build Fortran 77/90 interfaces [[default=auto]]]))
- if test "$enable_fortran" != "no"; then
- AC_LANG_PUSH(Fortran)
- AC_PROG_FC([xlf95 ifort pathf95 f95 gfortran g95 pgf95 lf95 fort ifc efc pathf90 xlf90 pgf90 epcf90 xlf f90])
-@@ -312,8 +265,7 @@
- AC_CHECK_LIB(m,sqrt)
-
- # libtool stuff
--AC_DISABLE_SHARED
--AC_PROG_LIBTOOL
-+LT_INIT
-
- # Output
- AC_CONFIG_FILES([Makefile config/Makefile src/Makefile include/Makefile
-diff -U3 -r qd-2.3.22.orig/fortran/Makefile.am qd-2.3.22/fortran/Makefile.am
---- qd-2.3.22.orig/fortran/Makefile.am 2018-10-30 23:05:01.000000000 +0700
-+++ qd-2.3.22/fortran/Makefile.am 2018-11-09 21:47:44.530083871 +0700
-@@ -16,7 +16,9 @@
-
- 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 = $(top_builddir)/src/libqd.la $(FCLIBS)
- libqd_f_main_la_SOURCES = main.cpp
-+libqd_f_main_la_LIBADD = $(top_builddir)/src/libqd.la libqdmod.la $(FCLIBS)
- ddmod.lo: $(DDEXT) ddext.lo
- qdmod.lo: ddmod.lo $(DDMOD) qdext.lo
- $(QDMOD): qdmod.lo $(DDMOD)
-diff -U3 -r qd-2.3.22.orig/qd-config.in qd-2.3.22/qd-config.in
---- qd-2.3.22.orig/qd-config.in 2018-10-30 23:04:56.000000000 +0700
-+++ qd-2.3.22/qd-config.in 2018-11-09 21:49:18.140077553 +0700
-@@ -14,7 +14,7 @@
- build_CXXFLAGS="@CXXFLAGS@"
- build_LDFLAGS="@LDFLAGS@"
- CXX="@CXX@"
--CXXFLAGS="-I$includedir @REQ_CXXFLAGS@"
-+CXXFLAGS="-I$includedir"
- FC="@FC@"
-
- LDFLAGS="-L$libdir -lqd @LIBS@"
diff --git a/sci-libs/qd/metadata.xml b/sci-libs/qd/metadata.xml
index e26d4fdfb5f8..7d3acaf5d252 100644
--- a/sci-libs/qd/metadata.xml
+++ b/sci-libs/qd/metadata.xml
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <longdescription>Quad-double and double-double float arithmetics</longdescription>
</pkgmetadata>
diff --git a/sci-libs/qd/qd-2.3.17.ebuild b/sci-libs/qd/qd-2.3.17.ebuild
deleted file mode 100644
index c63f70cc5236..000000000000
--- a/sci-libs/qd/qd-2.3.17.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit autotools fortran-2
-
-DESCRIPTION="Quad-double and double-double float arithmetics"
-HOMEPAGE="http://crd-legacy.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="cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran static-libs"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.3.17-fix-build-system.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-ieee-add \
- --disable-sloppy-mul \
- --disable-sloppy-div \
- --enable-inline \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4) fma) \
- $(use_enable fortran)
-}
-
-src_install() {
- default
-
- dosym qd_real.h /usr/include/qd/qd.h
- dosym dd_real.h /usr/include/qd/dd.h
-
- if ! use doc; then
- rm "${ED%/}"/usr/share/doc/${PF}/*.pdf || die
- fi
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/sci-libs/qd/qd-2.3.22.ebuild b/sci-libs/qd/qd-2.3.22.ebuild
deleted file mode 100644
index aca6e4aa6610..000000000000
--- a/sci-libs/qd/qd-2.3.22.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED=fortran
-
-inherit autotools fortran-2
-
-DESCRIPTION="Quad-double and double-double float arithmetics"
-HOMEPAGE="http://crd-legacy.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="cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran static-libs"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-build-system.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-ieee-add \
- --disable-sloppy-mul \
- --disable-sloppy-div \
- --enable-inline \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4) fma) \
- $(use_enable fortran)
-}
-
-src_install() {
- default
-
- dosym qd_real.h /usr/include/qd/qd.h
- dosym dd_real.h /usr/include/qd/dd.h
-
- if ! use doc; then
- rm "${ED%/}"/usr/share/doc/${PF}/*.pdf || die
- fi
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/sci-libs/qd/qd-2.3.23.ebuild b/sci-libs/qd/qd-2.3.23.ebuild
new file mode 100644
index 000000000000..2f8569afa28c
--- /dev/null
+++ b/sci-libs/qd/qd-2.3.23.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2
+
+DESCRIPTION="Quad-double and double-double float arithmetics"
+HOMEPAGE="https://www.davidhbailey.com/dhbsoftware/"
+SRC_URI="https://www.davidhbailey.com/dhbsoftware/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cpu_flags_x86_fma3 cpu_flags_x86_fma4 doc fortran"
+
+src_configure() {
+ econf \
+ --disable-static \
+ --enable-ieee-add \
+ --disable-sloppy-mul \
+ --disable-sloppy-div \
+ --enable-inline \
+ $(use_enable cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4) fma) \
+ $(use_enable fortran)
+}
+
+src_install() {
+ default
+
+ dosym qd_real.h /usr/include/qd/qd.h
+ dosym dd_real.h /usr/include/qd/dd.h
+
+ if ! use doc; then
+ rm "${ED}"/usr/share/doc/${PF}/*.pdf || die
+ fi
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/qfits/metadata.xml b/sci-libs/qfits/metadata.xml
index 223e7f7b167c..e73e6952b883 100644
--- a/sci-libs/qfits/metadata.xml
+++ b/sci-libs/qfits/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-astronomy@gentoo.org</email>
diff --git a/sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch b/sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch
index 9c9ef9317342..1fdbd946e99e 100644
--- a/sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch
+++ b/sci-libs/qrupdate/files/qrupdate-1.1.1-Makefiles.patch
@@ -1,7 +1,8 @@
-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 @@
+diff --git a/Makefile b/Makefile
+index f9dbe86..2b11b59 100644
+--- a/Makefile
++++ b/Makefile
+@@ -32,22 +32,22 @@ help:
@echo " make install - installs everything"
lib:
@@ -32,10 +33,11 @@ diff -Nur qrupdate-1.1.1.orig/Makefile qrupdate-1.1.1/Makefile
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 @@
+diff --git a/src/Makefile b/src/Makefile
+index 65ef49a..c338882 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -34,6 +34,8 @@ clup1up.f dlup1up.f slup1up.f zlup1up.f
OBJS = $(SRC:%.f=%.o)
@@ -44,7 +46,7 @@ diff -Nur qrupdate-1.1.1.orig/src/Makefile qrupdate-1.1.1/src/Makefile
lib: ../libqrupdate.a
ifeq ($(shell uname),Darwin)
-@@ -46,19 +48,22 @@
+@@ -46,19 +48,22 @@ solib: ../libqrupdate$(SOEXT)
../libqrupdate.a: $(OBJS)
ar -cr $@ $(OBJS)
@@ -73,10 +75,11 @@ diff -Nur qrupdate-1.1.1.orig/src/Makefile qrupdate-1.1.1/src/Makefile
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 @@
+diff --git a/test/Makefile b/test/Makefile
+index 45a843d..3be917f 100644
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -41,7 +41,7 @@ utils.o: utils.f
$(FC) $(FFLAGS) -c $<
../libqrupdate.a:
diff --git a/sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch b/sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch
index 0eee49ae68f4..67c5b8f007e1 100644
--- a/sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch
+++ b/sci-libs/qrupdate/files/qrupdate-1.1.2-install.patch
@@ -1,5 +1,5 @@
---- src/Makefile.orig 2010-02-07 15:58:01 +0100
-+++ src/Makefile 2010-02-07 16:02:18 +0100
+--- a/src/Makefile
++++ b/src/Makefile
@@ -65,14 +65,17 @@
install-shlib: ../libqrupdate$(SOEXT) install-lib$(SOEXT)
diff --git a/sci-libs/qrupdate/metadata.xml b/sci-libs/qrupdate/metadata.xml
index 64c685390299..b0288faf7de8 100644
--- a/sci-libs/qrupdate/metadata.xml
+++ b/sci-libs/qrupdate/metadata.xml
@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <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>
diff --git a/sci-libs/qrupdate/qrupdate-1.1.2-r1.ebuild b/sci-libs/qrupdate/qrupdate-1.1.2-r1.ebuild
deleted file mode 100644
index 781d1d056c2f..000000000000
--- a/sci-libs/qrupdate/qrupdate-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils fortran-2 multilib versionator toolchain-funcs
-
-DESCRIPTION="Library for updating of QR and Cholesky decompositions"
-HOMEPAGE="https://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 ~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/qrupdate/qrupdate-1.1.2-r2.ebuild b/sci-libs/qrupdate/qrupdate-1.1.2-r2.ebuild
new file mode 100644
index 000000000000..fffa0a4233a2
--- /dev/null
+++ b/sci-libs/qrupdate/qrupdate-1.1.2-r2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fortran-2 flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="Library for updating of QR and Cholesky decompositions"
+HOMEPAGE="https://sourceforge.net/projects/qrupdate"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~ppc-macos"
+
+RDEPEND="virtual/lapack"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.1-Makefiles.patch
+ "${FILESDIR}"/${PN}-1.1.2-install.patch
+)
+
+src_prepare() {
+ default
+
+ # bug #878989
+ filter-lto
+
+ # GCC 10 workaround
+ # bug #741524
+ append-fflags $(test-flags-FC -fallow-argument-mismatch)
+
+ 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
+}
+
+src_install() {
+ emake DESTDIR="${D}" install-shlib
+ dosym libqrupdate.so.$(ver_cut 1) /usr/$(get_libdir)/libqrupdate.so
+ dodoc README ChangeLog
+}
diff --git a/sci-libs/rocBLAS/Manifest b/sci-libs/rocBLAS/Manifest
new file mode 100644
index 000000000000..f17d3a47c686
--- /dev/null
+++ b/sci-libs/rocBLAS/Manifest
@@ -0,0 +1,5 @@
+DIST rocBLAS-5.0.2-Tensile-asm_full-navi22.tar.gz 1110323 BLAKE2B 80fab97c6f89fccf1f8829ad41baf15ad31bbbb313b48825841834c7ec1b9f8ece794aebdf9fda42b54a38f642beb1bc1e374f2f3b4e43d8ba9dfd1eb6e3ece5 SHA512 8f6946cf9d68afd195640ae7e0da8dc33341c67f28813813b5361a56531fa2af4453d075703ea52c66d93a1936cf74688b86aa2fa62b52a7ed5f03272290c232
+DIST rocBLAS-5.4.2-Tensile-asm_full-navi22.tar.gz 1057686 BLAKE2B aa755595bbcd48775713f1d94c18b9bfa6464cae97653dd5beda9e4ed600802b62c4159e6edef7fbd4c92e629bbda1c284e6c48e096c7eaf22bbaad86bdcdace SHA512 cdc928528e7ce5bcc3ae32ec18e3aee48533f24e77c1e42f6e0398858eefebd52b8812caabe01a0ef7fa552e00118b862e025f1675a9642b009f1e38efbcdd53
+DIST rocm-rocBLAS-5.1.3.tar.gz 13741546 BLAKE2B af10d8cb69bee44ef5aab2dc350e1d9f3b6fddb3a840c17230c4b55b2649a4724c9f2e58c1eafdb3e2716eea016a72a35c3ddb498881b1ce682d780baa8d8b07 SHA512 5ab71838fdd0e9c5848cbf28a19d113353b619a878d8c7d05f64feb32faae2054169c95ed6e9dd6b05a2e807b57229dd2c361c4d289b6e6f17c196558640890f
+DIST rocm-rocBLAS-5.4.2.tar.gz 15938434 BLAKE2B 14ebafa944fdac443800bb7f9b16f8ecf0f420b168d3c6534f68ad7d14bf058a4cc1673fce8f4b9be53e4a6c1cf05011e01853cd901bce0b59827d2aca4d029f SHA512 e62bb80457c1e89454885499bdce9d60beecd706806724418983c78c65c2ae303550f9670b5a6e71dae6a61c0e42b223ab01b36b8406430731ebcbff54c4a8f4
+DIST rocm-rocBLAS-5.7.1.tar.gz 55389700 BLAKE2B 9e58b1d29c8a04aa58ce17fdd9b0c2504934261851619dc5b696a04e8c6a79e7c44d86a6db7a9c76a434d76593de8c191cba6f163cf398d01cfc001e5fa32b5a SHA512 cfc73f6c490595a3c153c2ac2a3cb5926c48c2c19baa07ff3dcdf3a7ccaed82cfdff64ed5a3be64c349cb43d654d4b104d9090e2ec9f2061049d6a4921c07722
diff --git a/sci-libs/rocBLAS/files/rocBLAS-4.3.0-fix-glibc-2.32-and-above.patch b/sci-libs/rocBLAS/files/rocBLAS-4.3.0-fix-glibc-2.32-and-above.patch
new file mode 100644
index 000000000000..a4d9f0bab344
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-4.3.0-fix-glibc-2.32-and-above.patch
@@ -0,0 +1,25 @@
+https://sourceware.org/glibc/wiki/Release/2.32#Deprectation_sys_siglist.2C__sys_siglist.2C_sys_sigabbrev
+
+--- rocBLAS-rocm-4.1.0/clients/gtest/rocblas_test.cpp
++++ rocBLAS-rocm-4.1.0/clients/gtest/rocblas_test.cpp
+@@ -173,7 +173,7 @@ void catch_signals_and_exceptions_as_fai
+ // Set up the return point, and handle siglongjmp returning back to here
+ if(sigsetjmp(t_handler.sigjmp_buf, true))
+ {
+- FAIL() << "Received " << sys_siglist[t_handler.signal] << " signal";
++ FAIL() << "Received " << strsignal(t_handler.signal) << " signal";
+ }
+ else
+ {
+
+--- rocBLAS-rocm-4.1.0/clients/include/utility.hpp
++++ rocBLAS-rocm-4.1.0/clients/include/utility.hpp
+@@ -39,7 +39,7 @@
+ // puts, putchar, fputs, printf, fprintf, vprintf, vfprintf: Use rocblas_cout or rocblas_cerr
+ // sprintf, vsprintf: Possible buffer overflows; us snprintf or vsnprintf instead
+ // strerror: Thread-unsafe; use snprintf / dprintf with %m or strerror_* alternatives
+-// strsignal: Thread-unsafe; use sys_siglist[signal] instead
++// strsignal: Thread-unsafe; use strsignal(signal) instead
+ // strtok: Thread-unsafe; use strtok_r
+ // gmtime, ctime, asctime, localtime: Thread-unsafe
+ // tmpnam: Thread-unsafe; use mkstemp or related functions instead
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.0.2-change-default-Tensile-library-dir.patch b/sci-libs/rocBLAS/files/rocBLAS-5.0.2-change-default-Tensile-library-dir.patch
new file mode 100644
index 000000000000..618847b8fb8d
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.0.2-change-default-Tensile-library-dir.patch
@@ -0,0 +1,47 @@
+change the default rocm tensile library search path
+Index: rocBLAS-rocm-5.0.1/library/src/tensile_host.cpp
+===================================================================
+--- rocBLAS-rocm-5.0.1.orig/library/src/tensile_host.cpp
++++ rocBLAS-rocm-5.0.1/library/src/tensile_host.cpp
+@@ -558,40 +558,8 @@ namespace
+ // Find the location of librocblas.dll/.so
+ // Fall back on hard-coded path if static library or not found
+
+-#ifndef ROCBLAS_STATIC_LIB
+-#ifdef WIN32
+- // wchar_t wpath[MAX_PATH + 1] = {0};
+- // if(GetModuleFileNameW(GetModuleHandle("rocblas.dll"), wpath, MAX_PATH + 1))
+- // {
+- // std::wstring wspath(wpath);
+- // std::string tmp(wspath.begin(), wspath.end());
+
+- std::vector<TCHAR> dll_path(MAX_PATH + 1);
+- if(GetModuleFileNameA(
+- GetModuleHandleA("rocblas.dll"), dll_path.data(), MAX_PATH + 1))
+- {
+- std::string tmp(dll_path.begin(), dll_path.end());
+- std::filesystem::path exepath = tmp;
+- if(exepath.has_filename())
+- {
+- path = exepath.remove_filename().string();
+- }
+- }
+-#else
+- dl_iterate_phdr(rocblas_dl_iterate_phdr_callback, NULL);
+- if(rocblas_so_path.size())
+- path = std::string{dirname(&rocblas_so_path[0])};
+-#endif
+-#endif // ifndef ROCBLAS_STATIC_LIB
+-
+- // Find the location of the libraries
+- if(TestPath(path + "/../../Tensile/library"))
+- path += "/../../Tensile/library";
+- else
+- path += "/library";
+-
+- if(TestPath(path + "/" + processor))
+- path += "/" + processor;
++ path="@GENTOO_PORTAGE_EPREFIX@/usr/lib64/rocblas/library";
+ }
+
+ // only load modules for the current architecture
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.0.2-cpp_lib_filesystem.patch b/sci-libs/rocBLAS/files/rocBLAS-5.0.2-cpp_lib_filesystem.patch
new file mode 100644
index 000000000000..500abbacfdc2
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.0.2-cpp_lib_filesystem.patch
@@ -0,0 +1,50 @@
+--- b/clients/common/utility.cpp 2022-01-26 03:31:42.000000000 +0800
++++ a/clients/common/utility.cpp 2022-02-22 18:45:35.319732953 +0800
+@@ -23,6 +23,7 @@
+ #include <fcntl.h>
+ #endif
+
++#include <version>
+ #ifdef __cpp_lib_filesystem
+ #include <filesystem>
+ #else
+--- b/clients/include/rocblas_data.hpp 2022-01-26 03:31:42.000000000 +0800
++++ a/clients/include/rocblas_data.hpp 2022-02-22 18:44:51.275733070 +0800
+@@ -17,6 +17,7 @@
+ #include <string>
+ #include <utility>
+
++#include<version>
+ #ifdef __cpp_lib_filesystem
+ #include <filesystem>
+ #else
+--- b/clients/include/singletons.hpp 2022-01-26 03:31:42.000000000 +0800
++++ a/clients/include/singletons.hpp 2022-02-22 18:47:55.139732583 +0800
+@@ -3,6 +3,6 @@
+ * ************************************************************************ */
+
+ // global for device memory padding see d_vector.hpp
++#include<cstddef>
+-
+ extern size_t g_DVEC_PAD;
+ void d_vector_set_pad_length(size_t pad);
+--- b/clients/include/testing_logging.hpp 2022-01-26 03:31:42.000000000 +0800
++++ a/clients/include/testing_logging.hpp 2022-02-22 18:44:13.115733171 +0800
+@@ -22,6 +22,7 @@
+ #include <unistd.h>
+ #endif
+
++#include<version>
+ #ifdef __cpp_lib_filesystem
+ #include <filesystem>
+ #else
+--- b/clients/include/testing_ostream_threadsafety.hpp 2022-01-26 03:31:42.000000000 +0800
++++ a/clients/include/testing_ostream_threadsafety.hpp 2022-02-22 18:45:19.055732996 +0800
+@@ -30,6 +30,7 @@
+ #include <sys/types.h>
+ #endif
+
++#include <version>
+ #ifdef __cpp_lib_filesystem
+ #include <filesystem>
+ #else
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.0.2-unbundle-Tensile.patch b/sci-libs/rocBLAS/files/rocBLAS-5.0.2-unbundle-Tensile.patch
new file mode 100644
index 000000000000..75f673f63d47
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.0.2-unbundle-Tensile.patch
@@ -0,0 +1,25 @@
+Index: rocBLAS-rocm-5.0.2/CMakeLists.txt
+===================================================================
+--- rocBLAS-rocm-5.0.2.orig/CMakeLists.txt
++++ rocBLAS-rocm-5.0.2/CMakeLists.txt
+@@ -271,20 +271,6 @@ if(NOT SKIP_LIBRARY)
+ set( Tensile_ROOT "${CMAKE_BINARY_DIR}/virtualenv/Lib/site-packages/Tensile" )
+ endif()
+
+- include(virtualenv)
+- if (Tensile_TEST_LOCAL_PATH)
+- virtualenv_install(${Tensile_TEST_LOCAL_PATH})
+- message (STATUS "using local Tensile from ${Tensile_TEST_LOCAL_PATH}, copied to ${Tensile_ROOT}")
+- else()
+- # Use the virtual-env setup and download package from specified repot:
+- set( tensile_fork "ROCmSoftwarePlatform" CACHE STRING "Tensile fork to use" )
+- file (STRINGS "tensile_tag.txt" read_tensile_tag)
+- set( tensile_tag ${read_tensile_tag} CACHE STRING "Tensile tag to download" )
+- virtualenv_install("git+https://github.com/${tensile_fork}/Tensile.git@${tensile_tag}")
+- message (STATUS "using GIT Tensile fork=${tensile_fork} from branch=${tensile_tag}")
+- endif()
+- message(STATUS "Adding ${VIRTUALENV_HOME_DIR} to CMAKE_PREFIX_PATH")
+- list(APPEND CMAKE_PREFIX_PATH ${VIRTUALENV_HOME_DIR})
+ if (TENSILE_VERSION)
+ find_package(Tensile ${TENSILE_VERSION} EXACT REQUIRED HIP LLVM OpenMP PATHS "${INSTALLED_TENSILE_PATH}")
+ else()
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.4.2-add-missing-header.patch b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-add-missing-header.patch
new file mode 100644
index 000000000000..cefad2bad61a
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-add-missing-header.patch
@@ -0,0 +1,14 @@
+Mitigate compilation issue.
+
+std::bad_alloc is defined in <new>
+--- a/clients/include/host_alloc.hpp
++++ b/clients/include/host_alloc.hpp
+@@ -22,6 +22,8 @@
+
+ #pragma once
+
++#include <new>
++
+ //!
+ //! @brief Host free memory w/o swap. Returns kB or -1 if unknown.
+ //!
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.4.2-cpp_lib_filesystem.patch b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-cpp_lib_filesystem.patch
new file mode 100644
index 000000000000..688fe7eb5bc3
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-cpp_lib_filesystem.patch
@@ -0,0 +1,24 @@
+Index: rocBLAS-rocm-5.4.2/clients/common/utility.cpp
+===================================================================
+--- rocBLAS-rocm-5.4.2.orig/clients/common/utility.cpp
++++ rocBLAS-rocm-5.4.2/clients/common/utility.cpp
+@@ -38,6 +38,7 @@
+ #ifdef WIN32
+ #define strcasecmp(A, B) _stricmp(A, B)
+
++#include <version>
+ #ifdef __cpp_lib_filesystem
+ #include <filesystem>
+ namespace fs = std::filesystem;
+Index: rocBLAS-rocm-5.4.2/clients/include/singletons.hpp
+===================================================================
+--- rocBLAS-rocm-5.4.2.orig/clients/include/singletons.hpp
++++ rocBLAS-rocm-5.4.2/clients/include/singletons.hpp
+@@ -21,6 +21,6 @@
+ * ************************************************************************ */
+
+ // global for device memory padding see d_vector.hpp
+-
++#include<cstddef>
+ extern size_t g_DVEC_PAD;
+ void d_vector_set_pad_length(size_t pad);
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.4.2-link-cblas.patch b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-link-cblas.patch
new file mode 100644
index 000000000000..a0a599ad0de8
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-link-cblas.patch
@@ -0,0 +1,12 @@
+Fix CPU blas function not found linking issue
+--- a/clients/CMakeLists.txt
++++ b/clients/CMakeLists.txt
+@@ -119,7 +119,7 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS)
+ set( BLIS_CPP ../common/blis_interface.cpp )
+ set( BLAS_LIBRARY ${BUILD_DIR}/deps/blis/lib/libblis.a )
+ else()
+- set( BLAS_LIBRARY "blas" )
++ set( BLAS_LIBRARY "blas -lcblas" )
+ endif()
+ else() # WIN32
+ set( BLAS_INCLUDE_DIR ${OPENBLAS_DIR}/include CACHE PATH "OpenBLAS library include path" )
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.4.2-unbundle-Tensile.patch b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-unbundle-Tensile.patch
new file mode 100644
index 000000000000..114c10502e68
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.4.2-unbundle-Tensile.patch
@@ -0,0 +1,26 @@
+Index: rocBLAS-rocm-5.4.2/CMakeLists.txt
+===================================================================
+--- rocBLAS-rocm-5.4.2.orig/CMakeLists.txt
++++ rocBLAS-rocm-5.4.2/CMakeLists.txt
+@@ -138,21 +138,6 @@ if(NOT SKIP_LIBRARY)
+
+ set( Tensile_TEST_LOCAL_PATH "" CACHE PATH "Use local Tensile directory instead of fetching a GitHub branch" )
+
+- include(virtualenv)
+-
+- if (Tensile_TEST_LOCAL_PATH)
+- virtualenv_install(${Tensile_TEST_LOCAL_PATH})
+- message (STATUS "using local Tensile from ${Tensile_TEST_LOCAL_PATH}, copied to ${Tensile_ROOT}")
+- else()
+- # Use the virtual-env setup and download package from specified repot:
+- set( tensile_fork "ROCmSoftwarePlatform" CACHE STRING "Tensile fork to use" )
+- file (STRINGS "tensile_tag.txt" read_tensile_tag)
+- set( tensile_tag ${read_tensile_tag} CACHE STRING "Tensile tag to download" )
+- virtualenv_install("git+https://github.com/${tensile_fork}/Tensile.git@${tensile_tag}")
+- message (STATUS "using GIT Tensile fork=${tensile_fork} from branch=${tensile_tag}")
+- endif()
+- message(STATUS "Adding ${VIRTUALENV_HOME_DIR} to CMAKE_PREFIX_PATH")
+- list(APPEND CMAKE_PREFIX_PATH ${VIRTUALENV_HOME_DIR})
+ if (TENSILE_VERSION)
+ find_package(Tensile ${TENSILE_VERSION} EXACT REQUIRED HIP LLVM OpenMP PATHS "${INSTALLED_TENSILE_PATH}")
+ else()
diff --git a/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch b/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch
new file mode 100644
index 000000000000..c5c5d4750393
--- /dev/null
+++ b/sci-libs/rocBLAS/files/rocBLAS-5.7.1-expand-isa-compatibility.patch
@@ -0,0 +1,132 @@
+Allow rocBLAS to load the compatible kernels when running on
+architectures compatible with those ISAs.
+
+Based on patch from Cordell Bloor <cgmb@slerp.xyz>
+https://salsa.debian.org/rocm-team/rocblas/-/blob/master/debian/patches/0012-expand-isa-compatibility.patch
+
+--- a/library/src/handle.cpp
++++ b/library/src/handle.cpp
+@@ -21,6 +21,7 @@
+ * ************************************************************************ */
+ #include "handle.hpp"
+ #include <cstdarg>
++#include <cstring>
+ #include <limits>
+ #ifdef WIN32
+ #include <windows.h>
+@@ -77,6 +78,31 @@ static inline int getActiveArch(int deviceId)
+ {
+ hipDeviceProp_t deviceProperties;
+ hipGetDeviceProperties(&deviceProperties, deviceId);
++ // coerce to compatible arch
++ switch(deviceProperties.gcnArch)
++ {
++ case 902:
++ case 909:
++ case 912:
++ deviceProperties.gcnArch = 900;
++ std::strcpy(deviceProperties.gcnArchName, "gfx900");
++ break;
++ case 1011:
++ case 1012:
++ case 1013:
++ deviceProperties.gcnArch = 1010;
++ std::strcpy(deviceProperties.gcnArchName, "gfx1010");
++ break;
++ case 1031:
++ case 1032:
++ case 1033:
++ case 1034:
++ case 1035:
++ case 1036:
++ deviceProperties.gcnArch = 1030;
++ std::strcpy(deviceProperties.gcnArchName, "gfx1030");
++ break;
++ }
+ return deviceProperties.gcnArch;
+ }
+
+--- a/library/src/rocblas_auxiliary.cpp
++++ b/library/src/rocblas_auxiliary.cpp
+@@ -24,6 +24,7 @@
+ #include "logging.hpp"
+ #include "rocblas-auxiliary.h"
+ #include <cctype>
++#include <cstring>
+ #include <cstdlib>
+ #include <memory>
+ #include <string>
+@@ -1285,6 +1286,31 @@ std::string rocblas_internal_get_arch_name()
+ hipGetDevice(&deviceId);
+ hipDeviceProp_t deviceProperties;
+ hipGetDeviceProperties(&deviceProperties, deviceId);
++ // coerce to compatible arch
++ switch(deviceProperties.gcnArch)
++ {
++ case 902:
++ case 909:
++ case 912:
++ deviceProperties.gcnArch = 900;
++ std::strcpy(deviceProperties.gcnArchName, "gfx900");
++ break;
++ case 1011:
++ case 1012:
++ case 1013:
++ deviceProperties.gcnArch = 1010;
++ std::strcpy(deviceProperties.gcnArchName, "gfx1010");
++ break;
++ case 1031:
++ case 1032:
++ case 1033:
++ case 1034:
++ case 1035:
++ case 1036:
++ deviceProperties.gcnArch = 1030;
++ std::strcpy(deviceProperties.gcnArchName, "gfx1030");
++ break;
++ }
+ return ArchName<hipDeviceProp_t>{}(deviceProperties);
+ }
+
+--- a/library/src/tensile_host.cpp
++++ b/library/src/tensile_host.cpp
+@@ -45,6 +45,7 @@ extern "C" void rocblas_shutdown();
+ #include <Tensile/hip/HipUtils.hpp>
+ #include <atomic>
+ #include <complex>
++#include <cstring>
+ #include <exception>
+ #include <future>
+ #include <iomanip>
+@@ -837,6 +838,31 @@ namespace
+
+ hipDeviceProp_t prop;
+ HIP_CHECK_EXC(hipGetDeviceProperties(&prop, deviceId));
++ // coerce to compatible arch
++ switch(prop.gcnArch)
++ {
++ case 902:
++ case 909:
++ case 912:
++ prop.gcnArch = 900;
++ std::strcpy(prop.gcnArchName, "gfx900");
++ break;
++ case 1011:
++ case 1012:
++ case 1013:
++ prop.gcnArch = 1010;
++ std::strcpy(prop.gcnArchName, "gfx1010");
++ break;
++ case 1031:
++ case 1032:
++ case 1033:
++ case 1034:
++ case 1035:
++ case 1036:
++ prop.gcnArch = 1030;
++ std::strcpy(prop.gcnArchName, "gfx1030");
++ break;
++ }
+
+ m_deviceProp = std::make_shared<hipDeviceProp_t>(prop);
+
diff --git a/sci-libs/rocBLAS/metadata.xml b/sci-libs/rocBLAS/metadata.xml
new file mode 100644
index 000000000000..066f5c749e3f
--- /dev/null
+++ b/sci-libs/rocBLAS/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
+ <use>
+ <flag name="test">Perform rocblas-test to compare the result between rocBLAS and system BLAS.</flag>
+ <flag name="benchmark">Build and install rocblas-bench.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/rocBLAS</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild b/sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild
new file mode 100644
index 000000000000..f8c6fd2a1367
--- /dev/null
+++ b/sci-libs/rocBLAS/rocBLAS-5.1.3-r4.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="docs"
+DOCS_DEPEND="media-gfx/graphviz"
+ROCM_VERSION=${PV}
+inherit cmake docs edo multiprocessing prefix rocm
+
+DESCRIPTION="AMD's library for BLAS on ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz
+ https://media.githubusercontent.com/media/littlewu2508/littlewu2508.github.io/main/gentoo-distfiles/${PN}-5.0.2-Tensile-asm_full-navi22.tar.gz"
+S="${WORKDIR}/${PN}-rocm-${PV}"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-build/rocm-cmake
+ dev-util/Tensile:${SLOT}
+"
+
+DEPEND="
+ >=dev-cpp/msgpack-cxx-6.0.0
+ dev-util/hip
+ test? (
+ virtual/blas
+ dev-cpp/gtest
+ sys-libs/libomp
+ )
+ benchmark? (
+ virtual/blas
+ sys-libs/libomp
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.3.0-fix-glibc-2.32-and-above.patch
+ "${FILESDIR}"/${PN}-5.0.2-change-default-Tensile-library-dir.patch
+ "${FILESDIR}"/${PN}-5.0.2-cpp_lib_filesystem.patch
+ "${FILESDIR}"/${PN}-5.0.2-unbundle-Tensile.patch
+ )
+
+src_prepare() {
+ cmake_src_prepare
+ cp -a "${WORKDIR}/asm_full/" library/src/blas3/Tensile/Logic/ || die
+ # Fit for Gentoo FHS rule
+ sed -e "/PREFIX rocblas/d" \
+ -e "/<INSTALL_INTERFACE/s:include:include/rocblas:" \
+ -e "s:rocblas/include:include/rocblas:" \
+ -e "s:\\\\\${CPACK_PACKAGING_INSTALL_PREFIX}rocblas/lib:${EPREFIX}/usr/$(get_libdir)/rocblas:" \
+ -e "s:share/doc/rocBLAS:share/doc/${P}:" \
+ -e "/rocm_install_symlink_subdir( rocblas )/d" -i library/src/CMakeLists.txt || die
+
+ sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die
+
+ eprefixify library/src/tensile_host.cpp
+}
+
+src_configure() {
+ addpredict /dev/random
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DTensile_LOGIC="asm_full"
+ -DTensile_COMPILER="hipcc"
+ -DTensile_LIBRARY_FORMAT="msgpack"
+ -DTensile_CODE_OBJECT_VERSION="V3"
+ -DTensile_TEST_LOCAL_PATH="${EPREFIX}/usr/share/Tensile"
+ -DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
+ -DBUILD_WITH_TENSILE=ON
+ -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
+ -DBUILD_TESTING=OFF
+ -DBUILD_CLIENTS_SAMPLES=OFF
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ -DTensile_CPU_THREADS=$(makeopts_jobs)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_compile() {
+ docs_compile
+ cmake_src_compile
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library"
+ export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src"
+ edob ./${PN,,}-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dolib.so clients/librocblas_fortran_client.so
+ dobin clients/staging/rocblas-bench
+ fi
+}
diff --git a/sci-libs/rocBLAS/rocBLAS-5.4.2-r3.ebuild b/sci-libs/rocBLAS/rocBLAS-5.4.2-r3.ebuild
new file mode 100644
index 000000000000..cc410094094f
--- /dev/null
+++ b/sci-libs/rocBLAS/rocBLAS-5.4.2-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="docs"
+DOCS_DEPEND="media-gfx/graphviz"
+ROCM_VERSION=${PV}
+inherit cmake docs edo multiprocessing rocm
+
+DESCRIPTION="AMD's library for BLAS on ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz
+ https://media.githubusercontent.com/media/littlewu2508/littlewu2508.github.io/main/gentoo-distfiles/${PN}-5.4.2-Tensile-asm_full-navi22.tar.gz"
+S="${WORKDIR}/${PN}-rocm-${PV}"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-build/rocm-cmake-5.3
+ dev-util/Tensile:${SLOT}
+"
+
+DEPEND="
+ >=dev-cpp/msgpack-cxx-6.0.0
+ dev-util/hip
+ test? (
+ virtual/blas
+ dev-cpp/gtest
+ sys-libs/libomp
+ )
+ benchmark? (
+ virtual/blas
+ sys-libs/libomp
+ )
+"
+
+QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.4.2-cpp_lib_filesystem.patch
+ "${FILESDIR}"/${PN}-5.4.2-unbundle-Tensile.patch
+ "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch
+ "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch
+ )
+
+src_prepare() {
+ cmake_src_prepare
+ cp -a "${WORKDIR}/asm_full/" library/src/blas3/Tensile/Logic/ || die
+ sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die
+}
+
+src_configure() {
+ addpredict /dev/random
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DTensile_LOGIC="asm_full"
+ -DTensile_COMPILER="hipcc"
+ -DTensile_LIBRARY_FORMAT="msgpack"
+ -DTensile_CODE_OBJECT_VERSION="V3"
+ -DTensile_TEST_LOCAL_PATH="${EPREFIX}/usr/share/Tensile"
+ -DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
+ -DBUILD_WITH_TENSILE=ON
+ -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
+ -DBUILD_CLIENTS_SAMPLES=OFF
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ -DTensile_CPU_THREADS=$(makeopts_jobs)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_compile() {
+ docs_compile
+ cmake_src_compile
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library"
+ export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src"
+ edob ./${PN,,}-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dolib.a clients/librocblas_fortran_client.a
+ dobin clients/staging/rocblas-bench
+ fi
+}
diff --git a/sci-libs/rocBLAS/rocBLAS-5.7.1-r2.ebuild b/sci-libs/rocBLAS/rocBLAS-5.7.1-r2.ebuild
new file mode 100644
index 000000000000..ed39ae5207d8
--- /dev/null
+++ b/sci-libs/rocBLAS/rocBLAS-5.7.1-r2.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="docs/.doxygen"
+DOCS_DEPEND="media-gfx/graphviz"
+ROCM_VERSION=${PV}
+inherit cmake docs edo multiprocessing rocm
+
+DESCRIPTION="AMD's library for BLAS on ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz"
+S="${WORKDIR}/${PN}-rocm-${PV}"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+RESTRICT="!test? ( test )"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+BDEPEND="
+ >=dev-build/rocm-cmake-5.3
+ dev-util/Tensile:${SLOT}
+ dev-python/joblib
+ test? ( dev-cpp/gtest )
+"
+
+DEPEND="
+ >=dev-cpp/msgpack-cxx-6.0.0
+ =dev-util/hip-5*
+ test? (
+ virtual/blas
+ dev-cpp/gtest
+ sys-libs/libomp
+ )
+ benchmark? (
+ virtual/blas
+ sys-libs/libomp
+ )
+"
+
+QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.4.2-cpp_lib_filesystem.patch
+ "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch
+ "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch
+ "${FILESDIR}"/${PN}-5.7.1-expand-isa-compatibility.patch
+ )
+
+src_prepare() {
+ cmake_src_prepare
+ sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die
+}
+
+src_configure() {
+ addpredict /dev/random
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DTensile_LOGIC="asm_full"
+ -DTensile_COMPILER="hipcc"
+ -DTensile_LIBRARY_FORMAT="msgpack"
+ -DTensile_CODE_OBJECT_VERSION="default"
+ -DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
+ -DBUILD_WITH_TENSILE=ON
+ -DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
+ -DBUILD_CLIENTS_SAMPLES=OFF
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ -DTensile_CPU_THREADS=$(makeopts_jobs)
+ -DBUILD_WITH_PIP=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_compile() {
+ docs_compile
+ cmake_src_compile
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library"
+ export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src"
+ edob ./${PN,,}-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dolib.a clients/librocblas_fortran_client.a
+ dobin clients/staging/rocblas-bench
+ fi
+
+ # Stop llvm-strip from removing .strtab section from *.hsaco files,
+ # otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes
+ dostrip -x /usr/$(get_libdir)/rocblas/library/
+}
diff --git a/sci-libs/rocFFT/Manifest b/sci-libs/rocFFT/Manifest
new file mode 100644
index 000000000000..b850aef411dd
--- /dev/null
+++ b/sci-libs/rocFFT/Manifest
@@ -0,0 +1,2 @@
+DIST rocFFT-5.1.3.tar.gz 845470 BLAKE2B 86060ce4f8612869fedc5bc92ed6a5bb7fbc539b26c7f5ab0ded5406ab6c340f64116782285d040824e54557af87d9ddb6f907fd1550b80c3da903d3c1d5e5c0 SHA512 175402856bd4753e74ce14326569be99221e21d0ce675e007900f6982c53e1566ad0b060eec545e0f17ff4dc4811688cc1003dc986226205ee95ee6f22d1ca43
+DIST rocFFT-5.7.1.tar.gz 1192841 BLAKE2B 58f880f7ff866f85af70666d17e8b1a3ac8e63e853520546f746d74cecd805687fd689367a09d2b1ec4e1059b44b858377dce362cd4cae91cb85aad7c3185c00 SHA512 48467589cb4bc1334a4074bacc6a726c850dc2a79ef82622301d61c4269fb81c0b2b9fce56d72bddca584d1797a8634d243a9a6b8cf943e687b2b0f5c931116f
diff --git a/sci-libs/rocFFT/files/rocFFT-4.2.0-add-functional-header.patch b/sci-libs/rocFFT/files/rocFFT-4.2.0-add-functional-header.patch
new file mode 100644
index 000000000000..75dee06362b6
--- /dev/null
+++ b/sci-libs/rocFFT/files/rocFFT-4.2.0-add-functional-header.patch
@@ -0,0 +1,12 @@
+resolves compilation error: no member named 'multiplies' in namespace 'std' for library/src/twiddles.cpp
+
+--- a/library/src/include/twiddles.h 2021-04-15 10:24:46.000000000 -0700
++++ b/library/src/include/twiddles.h 2021-07-21 22:27:10.760604147 -0700
+@@ -9,6 +9,7 @@
+ #include "../../../shared/gpubuf.h"
+ #include "rocfft.h"
+ #include <cassert>
++#include <functional>
+ #include <math.h>
+ #include <numeric>
+ #include <tuple>
diff --git a/sci-libs/rocFFT/files/rocFFT-5.0.2-add-math-header.patch b/sci-libs/rocFFT/files/rocFFT-5.0.2-add-math-header.patch
new file mode 100644
index 000000000000..1a35126f1d8c
--- /dev/null
+++ b/sci-libs/rocFFT/files/rocFFT-5.0.2-add-math-header.patch
@@ -0,0 +1,12 @@
+fix compilation issue: error: use of undeclared identifier 'ceil' 'floor'
+===================================================================
+--- rocFFT-rocm-5.0.2.orig/library/src/device/generator/stockham_gen_base.h
++++ rocFFT-rocm-5.0.2/library/src/device/generator/stockham_gen_base.h
+@@ -20,6 +20,7 @@
+
+ #pragma once
+ #include "stockham_gen.h"
++#include <math.h>
+
+ // Base class for stockham kernels. Subclasses are responsible for
+ // different tiling types.
diff --git a/sci-libs/rocFFT/files/rocFFT-5.1.3-add-stdexcept-header.patch b/sci-libs/rocFFT/files/rocFFT-5.1.3-add-stdexcept-header.patch
new file mode 100644
index 000000000000..edfd89ea4b70
--- /dev/null
+++ b/sci-libs/rocFFT/files/rocFFT-5.1.3-add-stdexcept-header.patch
@@ -0,0 +1,11 @@
+Contributed-by: perestoronin https://bugs.gentoo.org/693200#c25
+--- a/library/src/include/twiddles.h
++++ b/library/src/include/twiddles.h
+@@ -14,6 +14,7 @@
+ #include <numeric>
+ #include <tuple>
+ #include <vector>
++#include <stdexcept>
+
+ static const size_t LTWD_BASE_DEFAULT = 8;
+ static const size_t LARGE_TWIDDLE_THRESHOLD = 4096;
diff --git a/sci-libs/rocFFT/files/rocFFT-5.1.3-unbundle-sqlite.patch b/sci-libs/rocFFT/files/rocFFT-5.1.3-unbundle-sqlite.patch
new file mode 100644
index 000000000000..b18b55eb8048
--- /dev/null
+++ b/sci-libs/rocFFT/files/rocFFT-5.1.3-unbundle-sqlite.patch
@@ -0,0 +1,67 @@
+Disable rocFFT fetching SQLite3 and link to system libsqlite.so
+Index: rocFFT-rocm-5.1.3/library/src/CMakeLists.txt
+===================================================================
+--- rocFFT-rocm-5.1.3.orig/library/src/CMakeLists.txt
++++ rocFFT-rocm-5.1.3/library/src/CMakeLists.txt
+@@ -134,49 +134,22 @@ set( rocfft_source
+ rtcsubprocess.cpp
+ )
+
+-# SQLite 3.36.0 enabled the backup API by default, which we need
+-# for cache serialization. We also want to use a static SQLite,
+-# and distro static libraries aren't typically built
+-# position-independent.
+-include( FetchContent )
+-
+-set(SQLITE_SRC_URL https://sqlite.org/2021/sqlite-amalgamation-3360000.zip CACHE STRING "Location of SQLite source code")
+-set(SQLITE_SRC_SHA256 999826fe4c871f18919fdb8ed7ec9dd8217180854dd1fe21eea96aed36186729 CACHE STRING "SHA256 hash of SQLite source code")
+-
+-# embed SQLite
+-FetchContent_Declare(sqlite_local
+- URL ${SQLITE_SRC_URL}
+- URL_HASH SHA256=${SQLITE_SRC_SHA256}
+-)
+-FetchContent_MakeAvailable(sqlite_local)
+-add_library( sqlite3 OBJECT ${sqlite_local_SOURCE_DIR}/sqlite3.c )
+-set_target_properties( sqlite3 PROPERTIES
+- C_VISIBILITY_PRESET "hidden"
+- VISIBILITY_INLINES_HIDDEN ON
+- POSITION_INDEPENDENT_CODE ON
+- )
+-
+-# we don't need extensions, and omitting them from SQLite removes the
+-# need for dlopen/dlclose from within rocFFT
+-target_compile_options(
+- sqlite3
+- PRIVATE -DSQLITE_OMIT_LOAD_EXTENSION
+-)
+-
+ set_property(
+ SOURCE rtc.cpp
+ PROPERTY OBJECT_DEPENDS ${kgen_embed_h}
+ )
+
++find_package( SQLite3 REQUIRED )
++
+ prepend_path( ".." rocfft_headers_public relative_rocfft_headers_public )
+
+ add_library( rocfft
+ ${rocfft_source}
+ ${relative_rocfft_headers_public}
+- $<TARGET_OBJECTS:sqlite3>
+ )
+ add_library( roc::rocfft ALIAS rocfft )
+
++target_link_libraries( rocfft PRIVATE ${SQLite3_LIBRARIES} )
+ if( NOT WIN32 )
+ target_link_libraries( rocfft PRIVATE -lstdc++fs )
+ endif()
+@@ -209,7 +182,7 @@ endif()
+ target_include_directories( rocfft
+ PRIVATE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/library/src/include>
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/library/src/device>
+- ${sqlite_local_SOURCE_DIR}
++ ${SQLite3_LIBRARIES}
+ PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/library/include>
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
+ $<INSTALL_INTERFACE:include>
diff --git a/sci-libs/rocFFT/files/rocFFT-5.7.1-fix-rocm-link-path.patch b/sci-libs/rocFFT/files/rocFFT-5.7.1-fix-rocm-link-path.patch
new file mode 100644
index 000000000000..03731516d8fb
--- /dev/null
+++ b/sci-libs/rocFFT/files/rocFFT-5.7.1-fix-rocm-link-path.patch
@@ -0,0 +1,14 @@
+ld.lld with "-L/usr/lib -lhiprtc -ldl" fails in attempt to link
+64-bit library to 32-bit /usr/lib/libdl.so.2 with:
+"ld.lld: error: <...>/Scrt1.o is incompatible with elf32-i386"
+--- a/library/src/CMakeLists.txt
++++ b/library/src/CMakeLists.txt
+@@ -46,7 +46,7 @@ else()
+ if( WIN32 )
+ set( ROCFFT_RTC_LINK_LIBS "${HIP_PATH}/lib/hiprtc.lib" )
+ else()
+- set( ROCFFT_RTC_LINK_LIBS -L${ROCM_PATH}/lib -lhiprtc -ldl )
++ set( ROCFFT_RTC_LINK_LIBS -lhiprtc -ldl )
+ endif()
+ endif()
+
diff --git a/sci-libs/rocFFT/metadata.xml b/sci-libs/rocFFT/metadata.xml
new file mode 100644
index 000000000000..5774b6a548d7
--- /dev/null
+++ b/sci-libs/rocFFT/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/rocFFT</remote-id>
+ </upstream>
+ <use>
+ <flag name="benchmark">Build and install [dyna-]rocfft-rider.</flag>
+ <flag name="perfscripts">Install rocfft-perf performance visualization suite.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild b/sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..60110fcd62fc
--- /dev/null
+++ b/sci-libs/rocFFT/rocFFT-5.1.3-r1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+ROCM_VERSION=${PV}
+
+inherit cmake check-reqs edo multiprocessing python-r1 rocm
+
+DESCRIPTION="Next generation FFT implementation for ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocFFT"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocFFT/archive/rocm-${PV}.tar.gz -> rocFFT-${PV}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+# RDEPEND: perfscripts? dev-python/plotly[${PYTHON_USEDEP}] # currently masked by arch/amd64/x32/package.mask
+RDEPEND="
+perfscripts? (
+ >=media-gfx/asymptote-2.61
+ dev-texlive/texlive-latex
+ dev-tex/latexmk
+ sys-apps/texinfo
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}] )
+${PYTHON_DEPS}"
+
+DEPEND="dev-util/hip
+ ${PYTHON_DEPS}"
+
+BDEPEND="
+ test? ( dev-cpp/gtest dev-libs/boost
+ >=sci-libs/fftw-3 sys-libs/libomp )
+ >=dev-build/cmake-3.22
+ dev-build/rocm-cmake
+"
+
+CHECKREQS_DISK_BUILD="7G"
+
+IUSE="benchmark perfscripts test"
+REQUIRED_USE="perfscripts? ( benchmark ) ${PYTHON_REQUIRED_USE} ${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/rocFFT-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-add-functional-header.patch"
+ "${FILESDIR}/${PN}-5.1.3-unbundle-sqlite.patch"
+ "${FILESDIR}/${PN}-5.0.2-add-math-header.patch"
+ "${FILESDIR}/${PN}-5.1.3-add-stdexcept-header.patch" )
+
+required_mem() {
+ if use test; then
+ echo "52G"
+ else
+ if [[ -n "${AMDGPU_TARGETS}" ]]; then
+ local NARCH=$(($(awk -F";" '{print NF-1}' <<< "${AMDGPU_TARGETS}" || die)+1)) # count how many archs user specified in ${AMDGPU_TARGETS}
+ else
+ local NARCH=7 # The default number of AMDGPU_TARGETS for rocFFT-4.3.0. May change in the future.
+ fi
+ echo "$(($(makeopts_jobs)*${NARCH}*25+2200))M" # A linear function estimating how much memory required
+ fi
+}
+
+pkg_pretend() {
+ return # leave the disk space check to pkg_setup phase
+}
+
+pkg_setup() {
+ export CHECKREQS_MEMORY=$(required_mem)
+ check-reqs_pkg_setup
+ python_setup
+}
+
+src_prepare() {
+ sed -e "s/PREFIX rocfft//" \
+ -e "/rocm_install_symlink_subdir/d" \
+ -e "/<INSTALL_INTERFACE/s,include,include/rocfft," \
+ -i library/src/CMakeLists.txt || die
+
+ sed -e "/rocm_install_symlink_subdir/d" \
+ -e "$!N;s:PREFIX\n[ ]*rocfft:# PREFIX rocfft\n:;P;D" \
+ -i library/src/device/CMakeLists.txt || die
+
+ if use perfscripts; then
+ pushd scripts/perf || die
+ sed -e "/\/opt\/rocm/d" -e "/rocmversion/s,rocm_info.strip(),\"${PV}\"," -i perflib/specs.py || dir
+ sed -e "/^top/,+1d" -i rocfft-perf suites.py || die
+ sed -e "s,perflib,${PN}_perflib,g" -i rocfft-perf suites.py perflib/*.py || die
+ sed -e "/^top = /s,__file__).*$,\"${EPREFIX}/usr/share/${PN}-perflib\")," -i perflib/pdf.py perflib/generators.py || die
+ popd
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -Wno-dev
+ -DCMAKE_INSTALL_INCLUDEDIR="include/rocfft/"
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_SELFTEST=$(usex test ON OFF)
+ -DPYTHON3_EXE=${EPYTHON}
+ -DBUILD_CLIENTS_RIDER=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}/clients/staging" || die
+ export LD_LIBRARY_PATH=${BUILD_DIR}/library/src/:${BUILD_DIR}/library/src/device
+ edob ./${PN,,}-test
+ edob ./${PN,,}-selftest
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}"/clients/staging || die
+ dobin *rider
+ fi
+
+ if use perfscripts; then
+ cd "${S}"/scripts/perf || die
+ python_foreach_impl python_doexe rocfft-perf
+ python_moduleinto ${PN}_perflib
+ python_foreach_impl python_domodule perflib/*.py
+ insinto /usr/share/${PN}-perflib
+ doins *.asy suites.py
+ fi
+}
diff --git a/sci-libs/rocFFT/rocFFT-5.7.1-r2.ebuild b/sci-libs/rocFFT/rocFFT-5.7.1-r2.ebuild
new file mode 100644
index 000000000000..f4ddb494bf35
--- /dev/null
+++ b/sci-libs/rocFFT/rocFFT-5.7.1-r2.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+ROCM_VERSION=${PV}
+
+inherit cmake check-reqs edo multiprocessing python-r1 rocm
+
+DESCRIPTION="Next generation FFT implementation for ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocFFT"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocFFT/archive/rocm-${PV}.tar.gz -> rocFFT-${PV}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+# RDEPEND: perfscripts? dev-python/plotly[${PYTHON_USEDEP}] # currently masked by arch/amd64/x32/package.mask
+RDEPEND="
+perfscripts? (
+ >=media-gfx/asymptote-2.61
+ dev-texlive/texlive-latex
+ dev-tex/latexmk
+ sys-apps/texinfo
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}] )
+${PYTHON_DEPS}"
+
+DEPEND="=dev-util/hip-5*
+ ${PYTHON_DEPS}
+ benchmark? (
+ dev-libs/boost
+ sci-libs/hipRAND:${SLOT}[${ROCM_USEDEP}]
+ )
+ test? (
+ dev-cpp/gtest
+ dev-libs/boost
+ >=sci-libs/fftw-3
+ sys-libs/libomp
+ sci-libs/hipRAND:${SLOT}[${ROCM_USEDEP}]
+ )
+"
+
+BDEPEND="
+ >=dev-build/cmake-3.22
+ dev-build/rocm-cmake
+ dev-db/sqlite
+"
+
+CHECKREQS_DISK_BUILD="7G"
+
+IUSE="benchmark perfscripts test"
+REQUIRED_USE="perfscripts? ( benchmark ) ${PYTHON_REQUIRED_USE} ${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/rocFFT-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.7.1-fix-rocm-link-path.patch
+)
+
+required_mem() {
+ if use test; then
+ echo "52G"
+ else
+ if [[ -n "${AMDGPU_TARGETS}" ]]; then
+ # count how many archs user specified in ${AMDGPU_TARGETS}
+ local NARCH=$(($(awk -F";" '{print NF-1}' <<< "${AMDGPU_TARGETS}" || die)+1))
+ else
+ # The default number of AMDGPU_TARGETS for rocFFT-4.3.0. May change in the future.
+ local NARCH=7
+ fi
+ echo "$(($(makeopts_jobs)*${NARCH}*25+2200))M" # A linear function estimating how much memory required
+ fi
+}
+
+pkg_pretend() {
+ return # leave the disk space check to pkg_setup phase
+}
+
+pkg_setup() {
+ export CHECKREQS_MEMORY=$(required_mem)
+ check-reqs_pkg_setup
+ python_setup
+}
+
+src_prepare() {
+ sed -e "s/PREFIX rocfft//" \
+ -e "/rocm_install_symlink_subdir/d" \
+ -i library/src/CMakeLists.txt || die
+
+ sed -e "/rocm_install_symlink_subdir/d" \
+ -e "$!N;s:PREFIX\n[ ]*rocfft:# PREFIX rocfft\n:;P;D" \
+ -i library/src/device/CMakeLists.txt || die
+
+ if use perfscripts; then
+ pushd scripts/perf || die
+ sed -e "/\/opt\/rocm/d" -e "/rocmversion/s,rocm_info.strip(),\"${PV}\"," -i perflib/specs.py || dir
+ sed -e "/^top/,+1d" -i rocfft-perf suites.py || die
+ sed -e "s,perflib,${PN}_perflib,g" -i rocfft-perf suites.py perflib/*.py || die
+ sed -e "/^top = /s,__file__).*$,\"${EPREFIX}/usr/share/${PN}-perflib\")," \
+ -i perflib/pdf.py perflib/generators.py || die
+ popd
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -Wno-dev
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_RIDER=$(usex benchmark ON OFF)
+ -DSQLITE_USE_SYSTEM_PACKAGE=ON
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}/clients/staging" || die
+ export LD_LIBRARY_PATH=${BUILD_DIR}/library/src/:${BUILD_DIR}/library/src/device
+ edob ./${PN,,}-test
+ edob ./${PN,,}-selftest
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}"/clients/staging || die
+ dobin *rider
+
+ if ! use perfscripts; then
+ # prevent collision with dev-util/perf
+ rm -rf "${ED}"/usr/bin/perf || die
+ fi
+ fi
+
+ if use perfscripts; then
+ cd "${S}"/scripts/perf || die
+ python_foreach_impl python_doexe rocfft-perf
+ python_moduleinto ${PN}_perflib
+ python_foreach_impl python_domodule perflib/*.py
+ insinto /usr/share/${PN}-perflib
+ doins *.asy suites.py
+ fi
+}
diff --git a/sci-libs/rocPRIM/Manifest b/sci-libs/rocPRIM/Manifest
new file mode 100644
index 000000000000..f23f73c59466
--- /dev/null
+++ b/sci-libs/rocPRIM/Manifest
@@ -0,0 +1,2 @@
+DIST rocPRIM-5.1.3.tar.gz 374510 BLAKE2B ab6960e7bd2159ac7a0d72ba6d594684f8d47028eca0940eabd35b346ac3d432a734ec575ee71341f339a9d0dead10dfafe81fb651a3b7da681aa900a5132d0e SHA512 54e14f2b40795153b862a64c9b3d336f35feccfda725daad75fae356b0147c577735884b65218c26c370ebec710af0f84aeef3103067a50db077cf9e24d2b64a
+DIST rocPRIM-5.7.1.tar.gz 535649 BLAKE2B 469bf59b5c92c37df96f58bac5a6559dc2cb879e5f82e539881d79bda57d23c25a9b114466042258e87862a88cd53d260155d7785c9a69a1800b0d05e931f56d SHA512 b2f0bc07dbc5cd111dd513f6c05dbc533908c52ea99caf77d6a4dd35db2b28f98c80006bd1f50a232873eab00b70e54231c38bfd1035c8845029d53690fd5e71
diff --git a/sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch b/sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch
new file mode 100644
index 000000000000..84e3e7875ee8
--- /dev/null
+++ b/sci-libs/rocPRIM/files/rocPRIM-5.7.1-expand-isa-compatibility.patch
@@ -0,0 +1,29 @@
+This patch allows to HSA_OVERRIDE_GFX_VERSION environment variable (library just crashes otherwise)
+--- a/rocprim/include/rocprim/device/config_types.hpp
++++ b/rocprim/include/rocprim/device/config_types.hpp
+@@ -197,15 +197,21 @@ constexpr bool prefix_equals(const char* lhs, const char* rhs, std::size_t n)
+ constexpr target_arch get_target_arch_from_name(const char* const arch_name, const std::size_t n)
+ {
+ constexpr const char* target_names[]
+- = {"gfx803", "gfx900", "gfx906", "gfx908", "gfx90a", "gfx1030", "gfx1102"};
++ = {"gfx803",
++ "gfx900", "gfx902", "gfx909", "gfx912",
++ "gfx906",
++ "gfx908",
++ "gfx90a",
++ "gfx1030", "gfx1031", "gfx1032", "gfx1033", "gfx1034", "gfx1035", "gfx1036",
++ "gfx1100", "gfx1101", "gfx1102", "gfx1103", "gfx1150", "gfx1151"};
+ constexpr target_arch target_architectures[] = {
+ target_arch::gfx803,
+- target_arch::gfx900,
++ target_arch::gfx900, target_arch::gfx900, target_arch::gfx900, target_arch::gfx900,
+ target_arch::gfx906,
+ target_arch::gfx908,
+ target_arch::gfx90a,
+- target_arch::gfx1030,
+- target_arch::gfx1102,
++ target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030,
++ target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102,
+ };
+ static_assert(sizeof(target_names) / sizeof(target_names[0])
+ == sizeof(target_architectures) / sizeof(target_architectures[0]),
diff --git a/sci-libs/rocPRIM/metadata.xml b/sci-libs/rocPRIM/metadata.xml
new file mode 100644
index 000000000000..6d29bd1f8901
--- /dev/null
+++ b/sci-libs/rocPRIM/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/rocPRIM</remote-id>
+ </upstream>
+ <use>
+ <flag name="benchmark">Build and install benchmark programs.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/rocPRIM/rocPRIM-5.1.3.ebuild b/sci-libs/rocPRIM/rocPRIM-5.1.3.ebuild
new file mode 100644
index 000000000000..b95730533189
--- /dev/null
+++ b/sci-libs/rocPRIM/rocPRIM-5.1.3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+inherit cmake rocm
+
+DESCRIPTION="HIP parallel primitives for developing performant GPU-accelerated code on ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocPRIM"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-${PV}.tar.gz -> rocPRIM-${PV}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RDEPEND="dev-util/hip
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )"
+BDEPEND="dev-build/rocm-cmake
+ >=dev-build/cmake-3.22"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/rocPRIM-rocm-${PV}"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ # "hcc" is depcreated, new platform ist "rocclr"
+ sed -e "/HIP_PLATFORM STREQUAL/s,hcc,rocclr," -i cmake/VerifyCompiler.cmake || die
+
+ # Install according to FHS
+ sed -e "/PREFIX rocprim/d" \
+ -e "/INSTALL_INTERFACE/s,rocprim/include,include/rocprim," \
+ -e "/DESTINATION/s,rocprim/include,include," \
+ -e "/rocm_install_symlink_subdir(rocprim)/d" \
+ -i rocprim/CMakeLists.txt || die
+
+ # disable downloading googletest and googlebenchmark
+ sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ # remove GIT dependency
+ sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ # install benchmark files
+ if use benchmark; then
+ sed -e "/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \
+ -e "/add_executable/a\ install(TARGETS \${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die
+ fi
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DSKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild b/sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild
new file mode 100644
index 000000000000..34c46c1b401d
--- /dev/null
+++ b/sci-libs/rocPRIM/rocPRIM-5.7.1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+inherit cmake rocm
+
+DESCRIPTION="HIP parallel primitives for developing performant GPU-accelerated code on ROCm"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocPRIM"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-${PV}.tar.gz -> rocPRIM-${PV}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RDEPEND="dev-util/hip
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )"
+BDEPEND="dev-build/rocm-cmake
+ >=dev-build/cmake-3.22"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/rocPRIM-rocm-${PV}"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.7.1-expand-isa-compatibility.patch )
+
+src_prepare() {
+ # "hcc" is depcreated, new platform ist "rocclr"
+ sed -e "/HIP_PLATFORM STREQUAL/s,hcc,rocclr," -i cmake/VerifyCompiler.cmake || die
+
+ # Install according to FHS
+ sed -e "/PREFIX rocprim/d" \
+ -e "/INSTALL_INTERFACE/s,rocprim/include,include/rocprim," \
+ -e "/DESTINATION/s,rocprim/include,include," \
+ -e "/rocm_install_symlink_subdir(rocprim)/d" \
+ -i rocprim/CMakeLists.txt || die
+
+ # disable downloading googletest and googlebenchmark
+ sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ # remove GIT dependency
+ sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ # install benchmark files
+ if use benchmark; then
+ sed -e "/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \
+ -e "/add_executable/a\ install(TARGETS \${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die
+ fi
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ # uses HMM to fit tests to default <512M iGPU VRAM
+ MAKEOPTS="-j1" ROCPRIM_USE_HMM="1" cmake_src_test
+}
diff --git a/sci-libs/rocRAND/Manifest b/sci-libs/rocRAND/Manifest
new file mode 100644
index 000000000000..9c1124f37a03
--- /dev/null
+++ b/sci-libs/rocRAND/Manifest
@@ -0,0 +1,4 @@
+DIST hipRAND-de941a7eb9ede2a862d719cd3ca23234a3692d07.tar.gz 80820 BLAKE2B f2894187455cf1da70c486e9efc336a01dc53589c56afe994858b2344c1e74e8d35260f70ad9cd80c5da1103dd9e98da6f5f2bf8e1ddf97023effc8a434a76ce SHA512 cdc70799ddca456c37c2a65875b98acff74800aa2b4f28d77b27c38c32428dd5edb2837bf88bfb6fcc32bdae7f2b27f1b547831bad98101b04959b7ba6b74a85
+DIST rocRAND-5.1.3.tar.gz 11729425 BLAKE2B f61aaedb7b72ceba3868a2069c93db1e2cd88a7a0188a9d5a33f520af3b42235c0dca62495460fd5e7abbca5fe7acc01acfdc90e53ae9a6e45128df5da472f49 SHA512 12859e52b79e40fcd1fb97d0915c191bbbc24e31e00aac4dbeecb625f9978a00ece3d7a42d0f9d37516031c1fbeb66e14dcd476ea83fe32fb13e0dd5c3964a28
+DIST rocRAND-5.6.0.tar.gz 23189913 BLAKE2B 2418a90c323f483d1f92630df7134bc060b9052f580259924e79680a7ec37857574973dda69dc3c28fdd5b88a5fc1d29757ed637fcde0730c53b9a5f09668aba SHA512 cccd26a6b80a7705644803a85dad3a43de3f4e2f73f964f2b5aa410f71d3782b68d6cc1ad60b7f7be5193a94098ed3fa25cad30c3acbc141522cdd738d3328a5
+DIST rocRAND-5.7.1.tar.gz 23189653 BLAKE2B c70ab6f3b718c2430394f63b93bee15fa72daae704883fdb203b98b0dc4763b46bc27886af64c48bf4ebe8da9b919158b8cd346f70f9b76bf0492ce3b2c1e20e SHA512 4d74bce9fbd3cb45e3f057d38df747270c6986fea7ad524f7a88109b6a53a4ea5dcd60d4bbf2364888501e9444245fb6898bb79fccad0e37b61e819e8c4ed863
diff --git a/sci-libs/rocRAND/files/rocRAND-5.1.3_no-symlink.patch b/sci-libs/rocRAND/files/rocRAND-5.1.3_no-symlink.patch
new file mode 100644
index 000000000000..e0a4b8d66ae1
--- /dev/null
+++ b/sci-libs/rocRAND/files/rocRAND-5.1.3_no-symlink.patch
@@ -0,0 +1,38 @@
+commit 3b24ff660f83e18cadd3da272f182aaf8f98a755
+Author: Liam Wrubleski <Liam.Wrubleski@amd.com>
+Date: Mon Jan 24 13:49:52 2022 -0700
+
+ Revert symlinks
+
+diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
+index 17a8c4c..89322d8 100644
+--- a/library/CMakeLists.txt
++++ b/library/CMakeLists.txt
+@@ -60,27 +60,6 @@ rocm_install(
+ "${CMAKE_BINARY_DIR}/library/include"
+ )
+
+-# Create symlinks
+-if(WIN32)
+- set(SYMLINK_COMMAND "file(COPY \${SRC} DESTINATION \${DEST_DIR})" )
+-else()
+- set(SYMLINK_COMMAND "execute_process(COMMAND ln -sf \${SRC_REL} \${DEST})" )
+-endif()
+-set(INSTALL_SYMLINK_COMMAND "
+- set(SRC_DIR \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/include/rocrand)
+- file(GLOB_RECURSE FILES RELATIVE \${SRC_DIR} \${SRC_DIR}/*)
+- foreach(FILE \${FILES})
+- set(SRC \${SRC_DIR}/\${FILE})
+- set(DEST \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/rocrand/include/\${FILE})
+- get_filename_component(DEST_DIR \${DEST} DIRECTORY)
+- file(MAKE_DIRECTORY \${DEST_DIR})
+- file(RELATIVE_PATH SRC_REL \${DEST_DIR} \${SRC})
+- message(STATUS \"symlink: \${SRC_REL} -> \${DEST}\")
+- ${SYMLINK_COMMAND}
+- endforeach()
+-")
+-rocm_install(CODE "${INSTALL_SYMLINK_COMMAND}")
+-
+ set(FORTRAN_SRCS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/rocrand/src/fortran")
+ configure_file(
+ src/rocrand-fortran-config.cmake.in
diff --git a/sci-libs/rocRAND/files/rocRAND-5.1.3_stdint-gcc13.patch b/sci-libs/rocRAND/files/rocRAND-5.1.3_stdint-gcc13.patch
new file mode 100644
index 000000000000..e80155f24da7
--- /dev/null
+++ b/sci-libs/rocRAND/files/rocRAND-5.1.3_stdint-gcc13.patch
@@ -0,0 +1,33 @@
+commit d79e778080766cf359d6658367e1c7ce0668daa4
+Author: Benda Xu <orv@debian.org>
+Date: Sat Jul 29 23:03:22 2023 +0800
+
+ sobol*_direction_vector_generator.cpp: include stdint.h for uint*_t
+
+ Reference: https://gcc.gnu.org/gcc-13/porting_to.html
+ Signed-off-by: Benda Xu <heroxbd@gentoo.org>
+
+diff --git a/tools/sobol32_direction_vector_generator.cpp b/tools/sobol32_direction_vector_generator.cpp
+index 16c4354..eb316c7 100644
+--- a/tools/sobol32_direction_vector_generator.cpp
++++ b/tools/sobol32_direction_vector_generator.cpp
+@@ -20,6 +20,7 @@
+
+ #include <iostream>
+ #include <fstream>
++#include <cstdint>
+ #include <string>
+ #include <iomanip>
+
+diff --git a/tools/sobol64_direction_vector_generator.cpp b/tools/sobol64_direction_vector_generator.cpp
+index e520903..ecdbdc4 100644
+--- a/tools/sobol64_direction_vector_generator.cpp
++++ b/tools/sobol64_direction_vector_generator.cpp
+@@ -20,6 +20,7 @@
+
+ #include <iostream>
+ #include <fstream>
++#include <cstdint>
+ #include <string>
+ #include <iomanip>
+
diff --git a/sci-libs/rocRAND/files/rocRAND-5.4.2_stdint-gcc13.patch b/sci-libs/rocRAND/files/rocRAND-5.4.2_stdint-gcc13.patch
new file mode 100644
index 000000000000..566ef5a1c45a
--- /dev/null
+++ b/sci-libs/rocRAND/files/rocRAND-5.4.2_stdint-gcc13.patch
@@ -0,0 +1,59 @@
+Upstream: https://github.com/ROCmSoftwarePlatform/rocRAND/pull/372
+
+commit 78c5631acd58d218af0c61af5acc57e9f47bc9c7
+Author: Benda Xu <orv@debian.org>
+Date: Sat Jul 29 23:03:22 2023 +0800
+
+ sobol*_direction_vector_generator.cpp: include stdint.h for uint*_t
+
+ Reference: https://gcc.gnu.org/gcc-13/porting_to.html
+ Signed-off-by: Benda Xu <heroxbd@gentoo.org>
+
+diff --git a/tools/scrambled_sobol32_direction_vector_generator.cpp b/tools/scrambled_sobol32_direction_vector_generator.cpp
+index 5623704..7addf4d 100644
+--- a/tools/scrambled_sobol32_direction_vector_generator.cpp
++++ b/tools/scrambled_sobol32_direction_vector_generator.cpp
+@@ -21,6 +21,7 @@
+ #include "../library/include/rocrand/rocrand_sobol32_precomputed.h"
+ #include <fstream>
+ #include <iomanip>
++#include <cstdint>
+ #include <iostream>
+ #include <string>
+
+diff --git a/tools/scrambled_sobol64_direction_vector_generator.cpp b/tools/scrambled_sobol64_direction_vector_generator.cpp
+index 0aecd3e..4189006 100644
+--- a/tools/scrambled_sobol64_direction_vector_generator.cpp
++++ b/tools/scrambled_sobol64_direction_vector_generator.cpp
+@@ -21,6 +21,7 @@
+ #include "../library/include/rocrand/rocrand_sobol64_precomputed.h"
+ #include <fstream>
+ #include <iomanip>
++#include <cstdint>
+ #include <iostream>
+ #include <string>
+
+diff --git a/tools/sobol32_direction_vector_generator.cpp b/tools/sobol32_direction_vector_generator.cpp
+index 16c4354..eb316c7 100644
+--- a/tools/sobol32_direction_vector_generator.cpp
++++ b/tools/sobol32_direction_vector_generator.cpp
+@@ -20,6 +20,7 @@
+
+ #include <iostream>
+ #include <fstream>
++#include <cstdint>
+ #include <string>
+ #include <iomanip>
+
+diff --git a/tools/sobol64_direction_vector_generator.cpp b/tools/sobol64_direction_vector_generator.cpp
+index e520903..ecdbdc4 100644
+--- a/tools/sobol64_direction_vector_generator.cpp
++++ b/tools/sobol64_direction_vector_generator.cpp
+@@ -20,6 +20,7 @@
+
+ #include <iostream>
+ #include <fstream>
++#include <cstdint>
+ #include <string>
+ #include <iomanip>
+
diff --git a/sci-libs/rocRAND/files/rocRAND-5.7.1_fix_generator_alignment.patch b/sci-libs/rocRAND/files/rocRAND-5.7.1_fix_generator_alignment.patch
new file mode 100644
index 000000000000..84b58266220c
--- /dev/null
+++ b/sci-libs/rocRAND/files/rocRAND-5.7.1_fix_generator_alignment.patch
@@ -0,0 +1,16 @@
+Fix crashes due to unaligned allocations in heap with new of structs when AVX2 or AVX512 is used.
+This patch takes the simplest approach just shifts responsibility to the standard.
+Similar approach in Eigen is named defined as: EIGEN_HAS_CXX17_OVERALIGN.
+
+Upstream bug: https://github.com/ROCmSoftwarePlatform/rocRAND/issues/403
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -119,7 +119,7 @@ endif()
+ option(DISABLE_WERROR "Disable building with Werror" ON)
+
+ # Build CXX flags
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ if(DISABLE_WERROR)
diff --git a/sci-libs/rocRAND/metadata.xml b/sci-libs/rocRAND/metadata.xml
new file mode 100644
index 000000000000..4add606d2dbe
--- /dev/null
+++ b/sci-libs/rocRAND/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/rocRAND</remote-id>
+ </upstream>
+ <use>
+ <flag name="benchmark">Build and install benchmark programs.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/rocRAND/rocRAND-5.1.3.ebuild b/sci-libs/rocRAND/rocRAND-5.1.3.ebuild
new file mode 100644
index 000000000000..bb518842e253
--- /dev/null
+++ b/sci-libs/rocRAND/rocRAND-5.1.3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="Generate pseudo-random and quasi-random numbers"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocRAND"
+HIPRAND_COMMIT_HASH=de941a7eb9ede2a862d719cd3ca23234a3692d07
+SRC_URI="https://github.com/ROCmSoftwarePlatform/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
+https://github.com/ROCmSoftwarePlatform/hipRAND/archive/${HIPRAND_COMMIT_HASH}.tar.gz -> hipRAND-${HIPRAND_COMMIT_HASH}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.1.3_stdint-gcc13.patch
+ "${FILESDIR}"/${PN}-5.1.3_no-symlink.patch )
+
+RDEPEND="dev-util/hip"
+DEPEND="${RDEPEND}
+dev-build/rocm-cmake
+test? ( dev-cpp/gtest )"
+BDEPEND="dev-build/rocm-cmake
+>=dev-build/cmake-3.22"
+
+S="${WORKDIR}/rocRAND-rocm-${PV}"
+
+src_prepare() {
+ rmdir hipRAND || die
+ mv -v ../hipRAND-${HIPRAND_COMMIT_HASH} hipRAND || die
+ # change installed include and lib dir, and avoid symlink overwrite the installed headers
+ # avoid setting RPATH
+ sed -r -e "s:(hip|roc)rand/lib:\${CMAKE_INSTALL_LIBDIR}:" \
+ -e "/INSTALL_RPATH/d" -i library/CMakeLists.txt || die
+
+ # remove GIT dependency
+ sed -e "/find_package(Git/,+4d" -i cmake/Dependencies.cmake || die
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_HIPRAND=ON
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ export LD_LIBRARY_PATH="${BUILD_DIR}/library"
+ MAKEOPTS="-j1" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}"/benchmark
+ dobin benchmark_rocrand_*
+ fi
+}
diff --git a/sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild b/sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild
new file mode 100644
index 000000000000..cadf2c863445
--- /dev/null
+++ b/sci-libs/rocRAND/rocRAND-5.6.0-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="Generate pseudo-random and quasi-random numbers"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocRAND"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.4.2_stdint-gcc13.patch )
+
+RDEPEND="dev-util/hip"
+DEPEND="${RDEPEND}
+ dev-build/rocm-cmake
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )"
+BDEPEND="dev-build/rocm-cmake
+ >=dev-build/cmake-3.22"
+
+S="${WORKDIR}/rocRAND-rocm-${PV}"
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_HIPRAND=OFF
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ export LD_LIBRARY_PATH="${BUILD_DIR}/library"
+ MAKEOPTS="-j1" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}"/benchmark
+ dobin benchmark_rocrand_*
+ fi
+}
diff --git a/sci-libs/rocRAND/rocRAND-5.7.1.ebuild b/sci-libs/rocRAND/rocRAND-5.7.1.ebuild
new file mode 100644
index 000000000000..262215396fe3
--- /dev/null
+++ b/sci-libs/rocRAND/rocRAND-5.7.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="Generate pseudo-random and quasi-random numbers"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocRAND"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.4.2_stdint-gcc13.patch
+ "${FILESDIR}"/${PN}-5.7.1_fix_generator_alignment.patch
+)
+
+RDEPEND="dev-util/hip"
+DEPEND="${RDEPEND}
+ dev-build/rocm-cmake
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )"
+BDEPEND="dev-build/rocm-cmake
+ >=dev-build/cmake-3.22"
+
+S="${WORKDIR}/rocRAND-rocm-${PV}"
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_HIPRAND=OFF
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ export LD_LIBRARY_PATH="${BUILD_DIR}/library"
+ # uses HMM to fit tests to default <512M iGPU VRAM
+ MAKEOPTS="-j1" ROCRAND_USE_HMM="1" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}"/benchmark
+ dobin benchmark_rocrand_*
+ fi
+}
diff --git a/sci-libs/rocSOLVER/Manifest b/sci-libs/rocSOLVER/Manifest
new file mode 100644
index 000000000000..99692f483643
--- /dev/null
+++ b/sci-libs/rocSOLVER/Manifest
@@ -0,0 +1,3 @@
+DIST rocSOLVER-5.1.3.tar.gz 545627 BLAKE2B 2cca24a1310efba7f8c66d1614fb50704221ebc8aa50d6aba11083baf9a7427575642fd28218ce80f8a7b83d3406348c2dd18373fb32e533509d01d37cf06927 SHA512 38e7a4ed6b67e83960ad3416d1008f82f895d19dc85427cd6f9c76f00b1ce18f78a4dd73d1ab53ffe81588890cd5545315029e903e2e09b85d6cfb854d405753
+DIST rocSOLVER-5.4.2.tar.gz 674866 BLAKE2B 0628353d567da92e3f7c3a11e19859329f3ea916184d554ee9c7172084ee4698c93408f397f493331d4dc47d833c56ead41bb4445081ba9ac73809ca0478770c SHA512 b3a60c65a18c3864568e1e0b1524850eb1b322f6005cf8a2763c9b457e43e03c8ce74be1d13f3cc3adef1f6ac979f54fb903831f4a60447a9a915a40dcbe5ff6
+DIST rocSOLVER-5.7.1.tar.gz 1859403 BLAKE2B f7a40494deda9dd66f2fb2f57e13665688e89e1f82733701ec60a520bc4b9f7d5899ada618a37e73baa3a910757be4f11d5fced5d4d2ad82c56918b34d265511 SHA512 78e0a2b5b069378696afebf5e3e023449b3d7705aa79099eb7721c142d7525255825b41bf413324c33178091315e3909980a1bf0cbb66e0891c85e757858ee1c
diff --git a/sci-libs/rocSOLVER/files/rocSOLVER-4.2.0-add-stdint-header.patch b/sci-libs/rocSOLVER/files/rocSOLVER-4.2.0-add-stdint-header.patch
new file mode 100644
index 000000000000..4afff8f467ea
--- /dev/null
+++ b/sci-libs/rocSOLVER/files/rocSOLVER-4.2.0-add-stdint-header.patch
@@ -0,0 +1,12 @@
+fix compilation error rocsolver-extra-types.h:11:9: error: unknown type name 'uint32_t'
+--- a/library/include/rocsolver-extra-types.h
++++ b/library/include/rocsolver-extra-types.h
+@@ -5,6 +5,8 @@
+ #ifndef ROCSOLVER_EXTRAS_H_
+ #define ROCSOLVER_EXTRAS_H_
+
++#include "stdint.h"
++
+ /*! \brief Used to specify the logging layer mode using a bitwise combination
+ *of rocblas_layer_mode values.
+ ********************************************************************************/
diff --git a/sci-libs/rocSOLVER/files/rocSOLVER-5.0.2-libfmt8.patch b/sci-libs/rocSOLVER/files/rocSOLVER-5.0.2-libfmt8.patch
new file mode 100644
index 000000000000..3f2c0553689b
--- /dev/null
+++ b/sci-libs/rocSOLVER/files/rocSOLVER-5.0.2-libfmt8.patch
@@ -0,0 +1,173 @@
+Backported from upstream to fix dev-cpp/libfmt-8 compatibility
+
+remove changes of CHANGELOG.md from original git commit
+
+From 2bbfb8976f6e4d667499c77e41a6433850063e88 Mon Sep 17 00:00:00 2001
+From: Cory Bloor <Cordell.Bloor@amd.com>
+Date: Tue, 8 Feb 2022 23:53:57 -0700
+Subject: [PATCH] Fix compatibility with fmt v8.1 (#371)
+
+* Make rocsolver_logvalue fmt specializations const
+
+This allows for compile-time format string processing in fmt v8.0.
+
+* Fix compatibility with fmt v7.1
+
+* Update CHANGELOG.md
+---
+ CHANGELOG.md | 2 ++
+ library/src/include/rocsolver_logvalue.hpp | 38 +++++++++++++---------
+ 2 files changed, 25 insertions(+), 15 deletions(-)
+
+diff --git a/library/src/include/rocsolver_logvalue.hpp b/library/src/include/rocsolver_logvalue.hpp
+index 199f8d57d..9b3791031 100644
+--- a/library/src/include/rocsolver_logvalue.hpp
++++ b/library/src/include/rocsolver_logvalue.hpp
+@@ -1,5 +1,5 @@
+ /* ************************************************************************
+- * Copyright (c) 2021 Advanced Micro Devices, Inc.
++ * Copyright (c) 2021-2022 Advanced Micro Devices, Inc.
+ * ************************************************************************ */
+
+ #pragma once
+@@ -8,6 +8,14 @@
+
+ #include "rocsolver_datatype2string.hpp"
+
++/* The format function for user-defined types cannot be const before fmt v8.0
++ but must be const in fmt v8.1 if the type is used in a tuple. */
++#if FMT_VERSION < 80000
++#define ROCSOLVER_FMT_CONST
++#else
++#define ROCSOLVER_FMT_CONST const
++#endif
++
+ /***************************************************************************
+ * Wrapper for types passed to logger, so we can more easily adjust the
+ * default way of printing built-in types without doing it globally. (e.g.
+@@ -37,7 +45,7 @@ template <typename T>
+ struct formatter<rocsolver_logvalue<T>> : formatter<T>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<T> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<T> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<T>::format(wrapper.value, ctx);
+ }
+@@ -49,7 +57,7 @@ template <>
+ struct formatter<rocsolver_logvalue<bool>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<bool> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<bool> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(wrapper.value ? '1' : '0', ctx);
+ }
+@@ -58,7 +66,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_operation>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_operation> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_operation> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_operation(wrapper.value), ctx);
+ }
+@@ -67,7 +75,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_fill>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_fill> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_fill> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_fill(wrapper.value), ctx);
+ }
+@@ -76,7 +84,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_diagonal>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_diagonal> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_diagonal> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_diagonal(wrapper.value), ctx);
+ }
+@@ -85,7 +93,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_side>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_side> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_side> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_side(wrapper.value), ctx);
+ }
+@@ -94,7 +102,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_direct>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_direct> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_direct> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_direct(wrapper.value), ctx);
+ }
+@@ -104,7 +112,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_storev>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_storev> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_storev> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_storev(wrapper.value), ctx);
+ }
+@@ -113,7 +121,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_workmode>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_workmode> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_workmode> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_workmode(wrapper.value), ctx);
+ }
+@@ -122,7 +130,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_svect>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_svect> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_svect> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_svect(wrapper.value), ctx);
+ }
+@@ -131,7 +139,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_evect>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_evect> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_evect> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_evect(wrapper.value), ctx);
+ }
+@@ -140,7 +148,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_eform>> : formatter<char>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_eform> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_eform> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<char>::format(rocblas2char_eform(wrapper.value), ctx);
+ }
+@@ -149,7 +157,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_datatype>> : formatter<string_view>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_datatype> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_datatype> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<string_view>::format(rocblas2string_datatype(wrapper.value), ctx);
+ }
+@@ -158,7 +166,7 @@ template <>
+ struct formatter<rocsolver_logvalue<rocblas_initialization>> : formatter<string_view>
+ {
+ template <typename FormatCtx>
+- auto format(rocsolver_logvalue<rocblas_initialization> wrapper, FormatCtx& ctx)
++ auto format(rocsolver_logvalue<rocblas_initialization> wrapper, FormatCtx& ctx) ROCSOLVER_FMT_CONST
+ {
+ return formatter<string_view>::format(rocblas2string_initialization(wrapper.value), ctx);
+ }
diff --git a/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch b/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch
new file mode 100644
index 000000000000..3e0ef897b71e
--- /dev/null
+++ b/sci-libs/rocSOLVER/files/rocSOLVER-5.4.2-libfmt9.patch
@@ -0,0 +1,34 @@
+commit bafa8f30b6f83d5f02bb65bb47b2943a0cb3c290
+Author: Cory Bloor <Cordell.Bloor@amd.com>
+Date: Wed Jan 25 14:52:35 2023 -0700
+
+ Fix use of fmt 9.0 and later in logging test (#515)
+
+ The implicitly defined formatter that rocsolver was using for
+ std::filesystem::path has been removed from fmt 9.0 and later.
+
+ This change doesn't actually fix compatibility with the official
+ fmt 9.0 or 9.1 releases, because those releases are still
+ incompatible with HIP. However, the change is sufficient for using
+ rocsolver with fmt@9 from Spack (because the fix has been backported).
+
+diff --git a/clients/gtest/logging_gtest.cpp b/clients/gtest/logging_gtest.cpp
+index e4f594a..da7ae04 100644
+--- a/clients/gtest/logging_gtest.cpp
++++ b/clients/gtest/logging_gtest.cpp
+@@ -1,5 +1,5 @@
+ /* ************************************************************************
+- * Copyright (c) 2022 Advanced Micro Devices, Inc.
++ * Copyright (c) 2022-2023 Advanced Micro Devices, Inc.
+ * ************************************************************************ */
+
+ #include <cstdlib>
+@@ -49,7 +49,7 @@ protected:
+ {
+ if(HasFailure() && std::getenv("ROCSOLVER_TEST_DEBUG"))
+ fmt::print(stderr, "ROCSOLVER_TEST_DEBUG is set so {} was not removed.\n",
+- log_filepath);
++ log_filepath.string());
+ else
+ EXPECT_TRUE(fs::remove(log_filepath));
+ }
diff --git a/sci-libs/rocSOLVER/metadata.xml b/sci-libs/rocSOLVER/metadata.xml
new file mode 100644
index 000000000000..da8fc11173b1
--- /dev/null
+++ b/sci-libs/rocSOLVER/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/rocSOLVER</remote-id>
+ </upstream>
+ <use>
+ <flag name="test">Perform rocsolver-test to compare the result between rocSOLVER and system LAPACK.</flag>
+ <flag name="benchmark">Build and install rocsolver-bench.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..7af286e20569
--- /dev/null
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.1.3-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm
+
+DESCRIPTION="Implementation of a subset of LAPACK functionality on the ROCm platform"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSOLVER"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-${PV}.tar.gz -> rocSOLVER-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="test benchmark"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocBLAS[${ROCM_USEDEP}]
+ dev-libs/libfmt
+ benchmark? ( virtual/blas )"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-cpp/gtest
+ >=dev-build/cmake-3.22
+ virtual/blas )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-add-stdint-header.patch"
+ "${FILESDIR}/${PN}-5.0.2-libfmt8.patch"
+)
+
+RESTRICT="!test? ( test )"
+
+S=${WORKDIR}/${PN}-rocm-${PV}
+
+src_prepare() {
+ sed -e "s: PREFIX rocsolver:# PREFIX rocsolver:" -i library/src/CMakeLists.txt
+ sed -e "s:\$<INSTALL_INTERFACE\:include>:\$<INSTALL_INTERFACE\:include/rocsolver>:" -i library/src/CMakeLists.txt
+ sed -e "s:rocm_install_symlink_subdir( rocsolver ):#rocm_install_symlink_subdir( rocsolver ):" -i library/src/CMakeLists.txt
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # avoid sandbox violation
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -Wno-dev
+ -DCMAKE_INSTALL_INCLUDEDIR="${EPREFIX}/usr/include/rocsolver"
+ -DBUILD_CLIENTS_SAMPLES=NO
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ LD_LIBRARY_PATH="${BUILD_DIR}/library/src" edob ./rocsolver-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dobin clients/staging/rocsolver-bench
+ fi
+}
diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild
new file mode 100644
index 000000000000..10fb52f40af2
--- /dev/null
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.4.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm
+
+DESCRIPTION="Implementation of a subset of LAPACK functionality on the ROCm platform"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSOLVER"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-${PV}.tar.gz -> rocSOLVER-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="test benchmark"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocBLAS[${ROCM_USEDEP}]
+ dev-libs/libfmt
+ benchmark? ( virtual/blas )"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-cpp/gtest
+ >=dev-build/cmake-3.22
+ virtual/blas )"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.4.2-libfmt9.patch )
+
+RESTRICT="!test? ( test )"
+
+S=${WORKDIR}/${PN}-rocm-${PV}
+
+src_configure() {
+ # avoid sandbox violation
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -Wno-dev
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_CLIENTS_SAMPLES=NO
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ LD_LIBRARY_PATH="${BUILD_DIR}/library/src" edob ./rocsolver-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dobin clients/staging/rocsolver-bench
+ fi
+}
diff --git a/sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild b/sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild
new file mode 100644
index 000000000000..5d8141a88c15
--- /dev/null
+++ b/sci-libs/rocSOLVER/rocSOLVER-5.7.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm
+
+DESCRIPTION="Implementation of a subset of LAPACK functionality on the ROCm platform"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSOLVER"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-${PV}.tar.gz -> rocSOLVER-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="test benchmark"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}]
+ dev-libs/libfmt
+ benchmark? ( virtual/blas )"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-cpp/gtest
+ >=dev-build/cmake-3.22
+ virtual/blas )"
+
+RESTRICT="!test? ( test )"
+
+S=${WORKDIR}/${PN}-rocm-${PV}
+
+src_configure() {
+ # avoid sandbox violation
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -Wno-dev
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DBUILD_CLIENTS_SAMPLES=NO
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/clients/staging || die
+ LD_LIBRARY_PATH="${BUILD_DIR}/library/src" edob ./rocsolver-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dobin clients/staging/rocsolver-bench
+ fi
+}
diff --git a/sci-libs/rocSPARSE/Manifest b/sci-libs/rocSPARSE/Manifest
new file mode 100644
index 000000000000..793510341e5c
--- /dev/null
+++ b/sci-libs/rocSPARSE/Manifest
@@ -0,0 +1,26 @@
+DIST rocSPARSE-5.1.3.tar.gz 943788 BLAKE2B f9d5fc34d74bc10f3e5bd0a18da41fe9b35a2f01aca3a74979960958fd0e7648fca96493ba9d767119a452dd75ede0733959d0d4bae84615b7a1ff212c8412a3 SHA512 735aa210bbdc3f31b0ed4defe0288606e255788e877f24ed25506d780552a779305fe5bfd692a3e720e9b286073894300fcbcf161d41e1b23abf2110a9536bf3
+DIST rocSPARSE-5.7.1.tar.gz 1167162 BLAKE2B 20ed88c87afbb041a31aa8bf867dca7ee670af093347c9c6a68b0750e70c796e7cfd599f84a58de2b8038f7681524bcb5909230fc340d1575dae3b72089ec650 SHA512 cd48884c51fcddcb26c42920cf477999160b3f06da4ab182f746a18d1fe54f697d89b1e470c550bd2330b26fb596d4a5baadf64366145e0d07f3fd8891f9af59
+DIST rocSPARSE_ASIC_320k.tar.gz 11301444 BLAKE2B a00cc4a3ededab3fb56339319e34e936645ddce2dee3c630153b37e337384c207b0a2829227fb7f4c2db1fe33383e97410ab7ad459d391c025f5410843d51cf2 SHA512 1db3af391c30a371c1ac0087436e266721474273a39d5b2b6d56408d950dcbbee004750e4dce4e3dbc4cb512f38f6d945676d7f29b62c52fd5a7fed0fe789e03
+DIST rocSPARSE_Chebyshev4.tar.gz 50165660 BLAKE2B f1a95554c8f38937f501488fabfd406b773eb980d7463cadac0de162529ac2f834c655cadd2b65f4c42a8487bc2d67c749601ae33bd789051f9e4d1e157196a0 SHA512 fdec4947a4af923d28b4be8d23690fd6d356c58f8344a5dcdd2e3fa61769d83e47a84d65316b527e6e82d9f988de2675a852367d406e44b44d784137a90b95c0
+DIST rocSPARSE_Chevron2.tar.gz 3210636 BLAKE2B 919bc19931cbcb32c09e6b623c9d3890400895dfd65e83845d351a8e3dd8b30ef43374c3c0ca3ee9708c81b5fb8886f1a4adbea6086495f08f9498f19a2279d5 SHA512 22b71deddec4f1af5b239d4065089230cf70e521102803a77ab3f16b34a0d69534817e54d81dfa7f8d1f299932c0f0424237baeb3d8289bcfffa4b902b00e256
+DIST rocSPARSE_Chevron3.tar.gz 15315390 BLAKE2B 72d06664f17ffb0190f27438244fbbdaab495d7fdda087f48608a8c3afbd52d9409bd9f96de5790e70d59ff2ae225a0992b50144746db3ca6b3853a03fd7530c SHA512 db80fd3c61c1b6e7cf1eb28b6e142cd4dbc61ad274003f1fcc8bd35e74d36add2f746550abc1b967cd46389a8f9b2a93016802777733b3f5a56338f753fe49ed
+DIST rocSPARSE_Chevron4.tar.gz 30454185 BLAKE2B 42f906acde4046c1ca10b5c8a88356da0ae90875129b72805fc3c69954d194f712a26ee1a05093953e3d2f6d2af498aa4d28389ff8c2cb5a88389a0db3b34f9d SHA512 0b9fe82d58e9cdae8b9a585d57f12122708bdad453885c259ff5345b7756474bd15ecac26c10456eca8020b84c520a8b46c06bdd2414cb56efd5bd3ae07ade36
+DIST rocSPARSE_amazon0312.tar.gz 11303646 BLAKE2B 388947a29380253bb5eecb22d3a3b6f3378711044b3fe98d6d2517cd27330f11b3d12fdb96320a2889e139224f1a6a5ad1c455ff8e91a262aa2aadbe16301330 SHA512 aed2d62581763742d9c7faf3dcaf1eaa983caa1e2e7ad4abebe97c5e7c2aec9942e0e32291092b348b60052c92b130e721ec19ed59bda22e1b233ef72ac7d2ff
+DIST rocSPARSE_bibd_22_8.tar.gz 20548479 BLAKE2B b6d0f7b7eb9c3b4ccade55313ca29f5706dde264c03d5d342f16ff27d7cf38ff2648dabea0342683257a6bb16cae85259c7e102a56c70d1e81c8a334c36f3d91 SHA512 3df85485f679c82e7554e8f6dff9d498bc9135bfc70aa81e85d83dbef457f31831dfc23b8d83425289329efc45fdcd41eef1e79f5205500479992892bbcf11fe
+DIST rocSPARSE_bmwcra_1.tar.gz 67958791 BLAKE2B 8be4e73cf837fd717e77042c416dee81995cd39bae39bdc1b7f6e6b309ee263130774f030ce7883ae89234227fec115d0178cfe1b2589af79fde6e2a3270b01c SHA512 049722d3524fb7397c4f00ce9a034e75612b839353bbbd7b963900ec19eeb5a4ec54a780882b4929fc4dd6932efb2f676432d444c3d256f9b57d5f392e5241ca
+DIST rocSPARSE_mac_econ_fwd500.tar.gz 12051668 BLAKE2B cd59723ea4fa8b0b4024c3534b3c3b42541754353319eca88628ca8216fb619dce3b1e774d6b823155c8afc9b5a65b3ea113edb36f6141c72e1189e97bfcbd37 SHA512 f279d2d71c92456bb0a5168bf3d8bc77eb991f4cbef6eea2c98d038be9ab2f2b576480e081099f766fe888480e91026a619a8de9d04758c26ee316ac4a09fdb5
+DIST rocSPARSE_mc2depi.tar.gz 10874561 BLAKE2B 89fd12479a76a9ec2f488aeadcf58688a2bf9dbc0e1065a7002b0a458bfa48704711ab69d1be6a25396c3c3e48ee4f6b6866984c1ff76074619898eeebb951bc SHA512 82e5bd935d5d6fb83801b5a7848bf7dc636459ba7b14b327a135c5e88528bdc47e4822927aa44c8e21316b538e5f6563024152253c5deb606dbaec77ff986594
+DIST rocSPARSE_mplate.tar.gz 499620 BLAKE2B 794b2e3b054ea40274115db8b981f475e9420982ded0e381fe0670350bda3918d36fdc5d21b1df417423dcce35f85d7c7dfa591d177c5a4491892abfceefdb4f SHA512 61f27e268fb17c24faeddca8279ca4747b076d6c7f98f2caaf814fcbbb9ccd374d133d6b7943dc4f1f7197a64a9fbc4366d194c51bad515bf48ceb5a73a0b1c8
+DIST rocSPARSE_nos1.tar.gz 3025 BLAKE2B cb0630782e996fd8717f845dfecc979abf9d59e5573c00226990a9575a9ec4b14d25197c3a0602baa5bf3e9073e14484374f28ce43108e3df680c1f62995cc77 SHA512 6eb5b65ba2230bb2468d93526990772ce7508faffe0fa5b0c5767859cd0fb0acbdc2d94dab3e5097a4a47dc4d7b0313891037d8a29720eb803cfaf26ae529495
+DIST rocSPARSE_nos2.tar.gz 10313 BLAKE2B 15e83686358285746b4d51e4d69d27bf058ea29aa448745fde76e3cb9ed6f1f8612f94739d980ff830e3610da7a9afe8ee9f6eb86e28e41bf8df74032a23ad63 SHA512 2e50b3bf99e2bedb1eabf58d0293bf9484713204340b2f68ae919d9e842a8c6e4ca917b7d61d4e171ae9e4002ced034913d83c5de6e75f16dae9079467cc424a
+DIST rocSPARSE_nos3.tar.gz 34282 BLAKE2B 741257a8c0945cfacce808ad56ee5c306a6d7ea96c8c36183bd3b5b24ddef586d78bbfb5dfdb251ab8e6905842b63ebfa9c481c272d598ff195558248a566e01 SHA512 cb260dec5947765004f497249c0b46d15271e2dd69e99bc2925352d52ac75d27bb9635b1d4bb445b1d79de03aa6803a219a5c80a242fcf7ff74c7e80c0f8f59c
+DIST rocSPARSE_nos4.tar.gz 1760 BLAKE2B 24b9dadfd42a6c5f1988c98ef01319d8ae20f447293ce334723f9290f76b878311df4e0ae0fe7788081f27303359392b8694e06b7dc0a64a69fac00a3168d59a SHA512 2f0c40c971d5eea986efc389fc6770f5e8099c8924c7221b1c46ab0be44641d499f20d536b313999d2b31b356568255c98cbba3b0804a00de18a95a052431e0b
+DIST rocSPARSE_nos5.tar.gz 13125 BLAKE2B 3b5e7166dfae258e9b6667eaa7b172d862eb3fc755751f6f9e63e76b16b5a0b14bf2f58a59ed5513fc641eb7df7f478e1cacc45940a6a49ec87eb1007c3209c3 SHA512 6151b9de84498495f3e03d11ff26d7013b5109068474abbee6018b3fe90a5e518823a06a9cc8c62013cd61925061b45d3f5aabaa01da61286665039d8cb06655
+DIST rocSPARSE_nos6.tar.gz 7644 BLAKE2B 1690af9969bcd2eee760571874a04e36ef4dd76a8349a307c0cc4d02cbc59ed12df0646509528e3b136836230d887a8eb4e1095b7423737a3831e5680ea07e9e SHA512 22dbbb825648948fd3d2eb7a2ca8c45d6746b5b386406b1dacbeb575f1ebeeb14ff49f62e5fbdc8a784def398c319f810537991180740f6efffe4e94fdb15aef
+DIST rocSPARSE_nos7.tar.gz 9639 BLAKE2B 5d63cfbe45f2f968a62cd8bcf0c25b831f485cd9dd0d95bdb248ab7b62ab67476c60ed8a4ad811f7db158a893e08a753beb3b1e7ed6f727219b985d932570eb0 SHA512 39109bbe3d0d791a0a2eeb272f2359bad34332191c53db7487a01770ac4c7ea1af2cc5e05a0ff5744f413113b7fcbe493a36cfc880436af274fe7dc6c39d6e11
+DIST rocSPARSE_qc2534.tar.gz 1247151 BLAKE2B 9e0515d5fa20019bf436e45b72be6ee6d832388e59194516a393c9c6efc52fdbc6dee64e75d72576b495886324acc81be3642b7cde2f07dff2072059fbf5ebf9 SHA512 d2a18d73122362484944cddca55c28cbb41ba351257481b6803452295a41563976fcf7c73ef00e7b693550c0b32bad2af1220b67a14ac727c023fe80b4abb271
+DIST rocSPARSE_rma10.tar.gz 19466055 BLAKE2B bb8ac5fe06bb6d7814864b3d43f9ddd1d2daafe55c31bdd9153cf6744d3d113fff878c4396a26d1a021bf9612c08798964c3bd9de8ea9829b202b912fb31db2e SHA512 c8ce8fc8fa7192ba2ac240439c90701080a590945dfb92bb80886f513205a0360ff8e5fd19819ad97d1eb58c3d83b57e5482e5361199cc9626e2afee8d84f4ac
+DIST rocSPARSE_scircuit.tar.gz 8635362 BLAKE2B 3f1d6e35a6a774664bd653dd466fa3c07818bfdee4a2633bfcacd5936569194863753fe7ebd0e1497ecdabbc716617ca6012801242e8d733f5d5d189e8d3feb2 SHA512 4949c869c17a66f19660cbe21b61615fb468d5afb1a773f9d6fe09cbc45b4c6245b647148dbab102b45599c53acaf4ed96ab815e17e538068c927a4d25b9bd2a
+DIST rocSPARSE_shipsec1.tar.gz 22175245 BLAKE2B f1d34482b8c3d3ee48033097d7d6f9b648e3c396a5ab2379efdc7de218adec519a235e2e94904f85a4f24c8d4ff15af096ca089379e00db47519023f64b85c16 SHA512 e027097e74f8ffc058339855b1c38cab52c68b661058318b429487e7188e11e907f6734894f9c71d1e38d262986525fba8d0f165bc0a1b4632d7e25be8db4f17
+DIST rocSPARSE_sme3Dc.tar.gz 42483568 BLAKE2B f0d16b58f6ea28e67727637697a812a0b10d524c73aeb82f702411b9ebaea3670780e762ed0701aae80c6829e950233f74555523ef2d6c5740b007c7a65c03d4 SHA512 c5a0be2db919a45310a73ea1dd96d0d30168135f887a8c5c3d7ca11e2c3d12ea7d1331be20968d0135bd18da4ef2b043db68eeb7567b6f0f8daf782b87083c3a
+DIST rocSPARSE_webbase-1M.tar.gz 11360460 BLAKE2B 01b1d06adb5fb32fa402ed888d25a7e52a34779b078fc2e21c60e688d03579bb4ca8694f5ee4a824f7859952d55590a1fd9449dc80d6fe894d7b662b918882d4 SHA512 6401a965b8f6dd5392879956fde3c94f77fe1801a4a43428c03b6d639031575c647eab47b1babe53f4ecc2c3b8fc183e8339536b78dcd0d94ce62bfedd87c161
diff --git a/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-enable-gfx1031.patch b/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-enable-gfx1031.patch
new file mode 100644
index 000000000000..fd44bb938406
--- /dev/null
+++ b/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-enable-gfx1031.patch
@@ -0,0 +1,13 @@
+Index: rocSPARSE-rocm-5.0.2/library/src/include/common.h
+===================================================================
+--- rocSPARSE-rocm-5.0.2.orig/library/src/include/common.h
++++ rocSPARSE-rocm-5.0.2/library/src/include/common.h
+@@ -167,7 +167,7 @@ __device__ __forceinline__ void rocspars
+ if(BLOCKSIZE > 1) { if(i < 1 && i + 1 < BLOCKSIZE) { data[i] = min(data[i], data[i + 1]); } __syncthreads(); }
+ }
+
+-#ifndef __gfx1030__
++#if !defined(__gfx1030__) && !defined(__gfx1031__)
+ // DPP-based wavefront reduction maximum
+ template <unsigned int WFSIZE>
+ __device__ __forceinline__ void rocsparse_wfreduce_max(int* maximum)
diff --git a/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-incorrect-assert.patch b/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-incorrect-assert.patch
new file mode 100644
index 000000000000..9baa962c05f5
--- /dev/null
+++ b/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-incorrect-assert.patch
@@ -0,0 +1,34 @@
+From 48b763f01b658dece7f71784fe4362e56167db2f Mon Sep 17 00:00:00 2001
+From: James Sandham <33790278+jsandham@users.noreply.github.com>
+Date: Fri, 28 Jan 2022 10:24:08 -0800
+Subject: [PATCH] remove incorrect assert from spmm_bell (#302)
+
+Co-authored-by: jsandham <james.sandham@amd.com>
+---
+ library/src/level3/rocsparse_bellmm_template_general.cpp | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/library/src/level3/rocsparse_bellmm_template_general.cpp b/library/src/level3/rocsparse_bellmm_template_general.cpp
+index 81f36a32..bbce9a17 100644
+--- a/library/src/level3/rocsparse_bellmm_template_general.cpp
++++ b/library/src/level3/rocsparse_bellmm_template_general.cpp
+@@ -1,6 +1,6 @@
+ /*! \file */
+ /* ************************************************************************
+- * Copyright (c) 2021 Advanced Micro Devices, Inc.
++ * Copyright (c) 2021-2022 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+@@ -101,9 +101,8 @@ rocsparse_status rocsparse_bellmm_template_general(rocsparse_handle han
+ I ldc)
+ {
+ hipStream_t stream = handle->stream;
+- assert(block_dim > 32);
+- dim3 bellmm_blocks((mb - 1) / 1 + 1, (n - 1) / 32 + 1);
+- dim3 bellmm_threads(32, 32, 1);
++ dim3 bellmm_blocks((mb - 1) / 1 + 1, (n - 1) / 32 + 1);
++ dim3 bellmm_threads(32, 32, 1);
+ assert(trans_A == rocsparse_operation_none);
+ //
+ // What happends if A needs to be transposed?
diff --git a/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-matrices-unpacking.patch b/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-matrices-unpacking.patch
new file mode 100644
index 000000000000..81d2b4ab1458
--- /dev/null
+++ b/sci-libs/rocSPARSE/files/rocSPARSE-5.0.2-remove-matrices-unpacking.patch
@@ -0,0 +1,42 @@
+Don't let cmake handle test data download, unpack and convert
+
+Index: rocSPARSE-rocm-5.0.2/clients/tests/CMakeLists.txt
+===================================================================
+--- rocSPARSE-rocm-5.0.2.orig/clients/tests/CMakeLists.txt
++++ rocSPARSE-rocm-5.0.2/clients/tests/CMakeLists.txt
+@@ -23,35 +23,6 @@
+
+ find_package(GTest 1.10.0 REQUIRED)
+
+-#
+-# Client matrices.
+-#
+-
+-if(NOT EXISTS "${CMAKE_MATRICES_DIR}")
+- #
+- # Download.
+- #
+- set(CMAKE_MATRICES_DIR ${PROJECT_BINARY_DIR}/matrices CACHE STRING "Matrices directory.")
+-
+- if(NOT TARGET rocsparse)
+- set(CONVERT_SOURCE ${CMAKE_SOURCE_DIR}/../deps/convert.cpp CACHE STRING "Convert tool mtx2csr.")
+- include(${CMAKE_SOURCE_DIR}/../cmake/ClientMatrices.cmake)
+- else()
+- set(CONVERT_SOURCE ${CMAKE_SOURCE_DIR}/deps/convert.cpp CACHE STRING "Convert tool mtx2csr.")
+- include(${CMAKE_SOURCE_DIR}/cmake/ClientMatrices.cmake)
+- endif()
+-
+-else()
+-
+- #
+- # Copy.
+- #
+- if(NOT CMAKE_MATRICES_DIR STREQUAL "${PROJECT_BINARY_DIR}/matrices")
+- execute_process(COMMAND cp -r ${CMAKE_MATRICES_DIR} ${PROJECT_BINARY_DIR}/matrices)
+- endif()
+-
+-endif()
+-
+ set(ROCSPARSE_TEST_SOURCES
+ test_axpby.cpp
+ test_axpyi.cpp
diff --git a/sci-libs/rocSPARSE/metadata.xml b/sci-libs/rocSPARSE/metadata.xml
new file mode 100644
index 000000000000..f4e399df67a8
--- /dev/null
+++ b/sci-libs/rocSPARSE/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/rocSPARSE</remote-id>
+ </upstream>
+ <use>
+ <flag name="benchmark">Build and install rocblas-bench.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/rocSPARSE/rocSPARSE-5.1.3-r1.ebuild b/sci-libs/rocSPARSE/rocSPARSE-5.1.3-r1.ebuild
new file mode 100644
index 000000000000..31d07cee0a08
--- /dev/null
+++ b/sci-libs/rocSPARSE/rocSPARSE-5.1.3-r1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+ROCM_VERSION=${PV}
+
+inherit cmake edo python-any-r1 toolchain-funcs rocm
+
+DESCRIPTION="Basic Linear Algebra Subroutines for sparse computation"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSPARSE"
+
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSPARSE/archive/rocm-${PV}.tar.gz -> rocSPARSE-${PV}.tar.gz
+test? (
+https://sparse.tamu.edu/MM/SNAP/amazon0312.tar.gz -> ${PN}_amazon0312.tar.gz
+https://sparse.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> ${PN}_Chebyshev4.tar.gz
+https://sparse.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> ${PN}_sme3Dc.tar.gz
+https://sparse.tamu.edu/MM/Williams/webbase-1M.tar.gz -> ${PN}_webbase-1M.tar.gz
+https://sparse.tamu.edu/MM/Bova/rma10.tar.gz -> ${PN}_rma10.tar.gz
+https://sparse.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> ${PN}_bibd_22_8.tar.gz
+https://sparse.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> ${PN}_mac_econ_fwd500.tar.gz
+https://sparse.tamu.edu/MM/Williams/mc2depi.tar.gz -> ${PN}_mc2depi.tar.gz
+https://sparse.tamu.edu/MM/Hamm/scircuit.tar.gz -> ${PN}_scircuit.tar.gz
+https://sparse.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> ${PN}_ASIC_320k.tar.gz
+https://sparse.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> ${PN}_bmwcra_1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos1.tar.gz -> ${PN}_nos1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos2.tar.gz -> ${PN}_nos2.tar.gz
+https://sparse.tamu.edu/MM/HB/nos3.tar.gz -> ${PN}_nos3.tar.gz
+https://sparse.tamu.edu/MM/HB/nos4.tar.gz -> ${PN}_nos4.tar.gz
+https://sparse.tamu.edu/MM/HB/nos5.tar.gz -> ${PN}_nos5.tar.gz
+https://sparse.tamu.edu/MM/HB/nos6.tar.gz -> ${PN}_nos6.tar.gz
+https://sparse.tamu.edu/MM/HB/nos7.tar.gz -> ${PN}_nos7.tar.gz
+https://sparse.tamu.edu/MM/DNVS/shipsec1.tar.gz -> ${PN}_shipsec1.tar.gz
+https://sparse.tamu.edu/MM/Cote/mplate.tar.gz -> ${PN}_mplate.tar.gz
+https://sparse.tamu.edu/MM/Bai/qc2534.tar.gz -> ${PN}_qc2534.tar.gz
+https://sparse.tamu.edu/MM/Chevron/Chevron2.tar.gz -> ${PN}_Chevron2.tar.gz
+https://sparse.tamu.edu/MM/Chevron/Chevron3.tar.gz -> ${PN}_Chevron3.tar.gz
+https://sparse.tamu.edu/MM/Chevron/Chevron4.tar.gz -> ${PN}_Chevron4.tar.gz
+)"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocPRIM:${SLOT}"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ dev-cpp/gtest
+ >=dev-build/cmake-3.22
+ $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+)
+benchmark? ( app-admin/chrpath )
+"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/rocSPARSE-rocm-${PV}"
+
+PATCHES=( "${FILESDIR}/${PN}-5.0.2-remove-matrices-unpacking.patch"
+ "${FILESDIR}/${PN}-5.0.2-enable-gfx1031.patch"
+ "${FILESDIR}/${PN}-5.0.2-remove-incorrect-assert.patch" )
+
+python_check_deps() {
+ if use test; then
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ sed -e "s/PREFIX rocsparse//" \
+ -e "/<INSTALL_INTERFACE/s,include,include/rocsparse," \
+ -e "/rocm_install_symlink_subdir(rocsparse)/d" \
+ -e "s:rocsparse/include:include/rocsparse:" \
+ -i "${S}/library/CMakeLists.txt" || die
+
+ # remove GIT dependency
+ sed -e "/find_package(Git/d" -i cmake/Dependencies.cmake || die
+
+ # Fix install path
+ sed -i -e "s.set(CMAKE_INSTALL_LIBDIR.#set(CMAKE_INSTALL_LIBDIR." CMakeLists.txt || die
+
+ # use python interpreter specifyied by python-any-r1
+ sed -e "/COMMAND ..\/common\/rocsparse_gentest.py/s,COMMAND ,COMMAND ${EPYTHON} ," -i clients/tests/CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ # Test need download data from https://sparse.tamu.edu (or other mirror site), check MD5, unpack and convert them into csr format
+ # This process is handled default by ${S}/cmake/ClientMatrices.cmake, but should be the responsibility of portage.
+ if use test; then
+ mkdir -p "${BUILD_DIR}"/clients/matrices
+ # compile and use the mtx2csr converter. Do not use any optimization flags, because it causes error!
+ edo $(tc-getCXX) deps/convert.cpp -o deps/convert
+ find "${WORKDIR}" -maxdepth 2 -regextype grep -E -regex ".*/(.*)/\1\.mtx" -print0 |
+ while IFS= read -r -d '' mtxfile; do
+ destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' ${mtxfile}).csr
+ ebegin "Converting ${mtxfile} to ${destination}"
+ deps/convert ${mtxfile} ${destination}
+ eend $?
+ done
+ fi
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_CLIENTS_SAMPLES=OFF
+ -DCMAKE_INSTALL_INCLUDEDIR="include/rocsparse"
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}/clients/staging" || die
+ LD_LIBRARY_PATH="${BUILD_DIR}/library" edob ./${PN,,}-test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dobin clients/staging/rocsparse-bench
+ fi
+}
diff --git a/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r2.ebuild b/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r2.ebuild
new file mode 100644
index 000000000000..e370820ce9dc
--- /dev/null
+++ b/sci-libs/rocSPARSE/rocSPARSE-5.7.1-r2.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+ROCM_VERSION=${PV}
+
+inherit cmake edo python-any-r1 toolchain-funcs rocm
+
+DESCRIPTION="Basic Linear Algebra Subroutines for sparse computation"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocSPARSE"
+
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocSPARSE/archive/rocm-${PV}.tar.gz -> rocSPARSE-${PV}.tar.gz
+test? (
+https://sparse.tamu.edu/MM/SNAP/amazon0312.tar.gz -> ${PN}_amazon0312.tar.gz
+https://sparse.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> ${PN}_Chebyshev4.tar.gz
+https://sparse.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> ${PN}_sme3Dc.tar.gz
+https://sparse.tamu.edu/MM/Williams/webbase-1M.tar.gz -> ${PN}_webbase-1M.tar.gz
+https://sparse.tamu.edu/MM/Bova/rma10.tar.gz -> ${PN}_rma10.tar.gz
+https://sparse.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> ${PN}_bibd_22_8.tar.gz
+https://sparse.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> ${PN}_mac_econ_fwd500.tar.gz
+https://sparse.tamu.edu/MM/Williams/mc2depi.tar.gz -> ${PN}_mc2depi.tar.gz
+https://sparse.tamu.edu/MM/Hamm/scircuit.tar.gz -> ${PN}_scircuit.tar.gz
+https://sparse.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> ${PN}_ASIC_320k.tar.gz
+https://sparse.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> ${PN}_bmwcra_1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos1.tar.gz -> ${PN}_nos1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos2.tar.gz -> ${PN}_nos2.tar.gz
+https://sparse.tamu.edu/MM/HB/nos3.tar.gz -> ${PN}_nos3.tar.gz
+https://sparse.tamu.edu/MM/HB/nos4.tar.gz -> ${PN}_nos4.tar.gz
+https://sparse.tamu.edu/MM/HB/nos5.tar.gz -> ${PN}_nos5.tar.gz
+https://sparse.tamu.edu/MM/HB/nos6.tar.gz -> ${PN}_nos6.tar.gz
+https://sparse.tamu.edu/MM/HB/nos7.tar.gz -> ${PN}_nos7.tar.gz
+https://sparse.tamu.edu/MM/DNVS/shipsec1.tar.gz -> ${PN}_shipsec1.tar.gz
+https://sparse.tamu.edu/MM/Cote/mplate.tar.gz -> ${PN}_mplate.tar.gz
+https://sparse.tamu.edu/MM/Bai/qc2534.tar.gz -> ${PN}_qc2534.tar.gz
+https://sparse.tamu.edu/MM/Chevron/Chevron2.tar.gz -> ${PN}_Chevron2.tar.gz
+https://sparse.tamu.edu/MM/Chevron/Chevron3.tar.gz -> ${PN}_Chevron3.tar.gz
+https://sparse.tamu.edu/MM/Chevron/Chevron4.tar.gz -> ${PN}_Chevron4.tar.gz
+)"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND="=dev-util/hip-5*
+ sci-libs/rocPRIM:${SLOT}"
+DEPEND="${RDEPEND}"
+BDEPEND="test? (
+ dev-cpp/gtest
+ >=dev-build/cmake-3.22
+ $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
+)
+benchmark? ( app-admin/chrpath )
+"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/rocSPARSE-rocm-${PV}"
+
+PATCHES=(
+)
+
+python_check_deps() {
+ if use test; then
+ python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ sed -e "s/PREFIX rocsparse//" \
+ -e "/<INSTALL_INTERFACE/s,include,include/rocsparse," \
+ -e "/rocm_install_symlink_subdir(rocsparse)/d" \
+ -e "s:rocsparse/include:include/rocsparse:" \
+ -i "${S}/library/CMakeLists.txt" || die
+
+ # remove GIT dependency
+ sed -e "/find_package(Git/d" -i cmake/Dependencies.cmake || die
+
+ # Fix install path
+ sed -i -e "s.set(CMAKE_INSTALL_LIBDIR.#set(CMAKE_INSTALL_LIBDIR." CMakeLists.txt || die
+
+ # use python interpreter specifyied by python-any-r1
+ sed -e "/COMMAND ..\/common\/rocsparse_gentest.py/s,COMMAND ,COMMAND ${EPYTHON} ," \
+ -i clients/tests/CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ # Test need download data from https://sparse.tamu.edu (or other mirror site), check MD5,
+ # unpack and convert them into csr format
+ # This process is handled default by ${S}/cmake/ClientMatrices.cmake, but should be the responsibility of portage.
+ if use test; then
+ mkdir -p "${BUILD_DIR}"/clients/matrices
+ # compile and use the mtx2csr converter. Do not use any optimization flags, because it causes error!
+ edo $(tc-getCXX) deps/convert.cpp -o deps/convert
+ find "${WORKDIR}" -maxdepth 2 -regextype grep -E -regex ".*/(.*)/\1\.mtx" -print0 |
+ while IFS= read -r -d '' mtxfile; do
+ destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' ${mtxfile}).csr
+ ebegin "Converting ${mtxfile} to ${destination}"
+ deps/convert ${mtxfile} ${destination}
+ eend $?
+ done
+ fi
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_CLIENTS_SAMPLES=OFF
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DCMAKE_INSTALL_INCLUDEDIR="include/rocsparse"
+ -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+ -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}/clients/staging" || die
+ LD_LIBRARY_PATH="${BUILD_DIR}/library" edob ./${PN,,}-test
+}
+
+src_install() {
+ cmake_src_install
+
+ # rm unwanted copy
+ rm -rf "${ED}/usr/rocsparse" || die
+
+ if use benchmark; then
+ cd "${BUILD_DIR}" || die
+ dobin clients/staging/rocsparse-bench
+ fi
+}
diff --git a/sci-libs/rocThrust/Manifest b/sci-libs/rocThrust/Manifest
new file mode 100644
index 000000000000..5c109bf5006a
--- /dev/null
+++ b/sci-libs/rocThrust/Manifest
@@ -0,0 +1,2 @@
+DIST rocThrust-5.1.3.tar.gz 1186518 BLAKE2B 2defe71247915940917438d4f0d0a811dca7de39e5168248968fa9c165b81d94b0e20f3df9b84db1fbdcd2eb87942dec5d3adbbe1a699eb51eeb4e1b2f0a88d0 SHA512 189c70343a410cf3f3c1589ef24c68a38b5270d8780d15261a124b8250f279a3c3c7afef38e6310d57cb1741b3ee75f0b4ac0bb9dfcf4a4fb0e7e6c0516faf74
+DIST rocThrust-5.7.1.tar.gz 1122808 BLAKE2B 41a5d57d03c7f95baf861b772c9513c7fbc26eee8a2f388897eb9b9f9fad3cdad81e2a79932c5b9a6d88b4e1596bf64e59e01337943a036ddb792f7b352ecd31 SHA512 52a9640808f0ed78ae2d6f25e741af59ae4e977535a0431f16c0fa1ee9a395e6f389cf29e61c02ac274cf16fcd193e5df6fb2edc340059ab282ed7cd877fc8b4
diff --git a/sci-libs/rocThrust/files/rocThrust-4.0-operator_new.patch b/sci-libs/rocThrust/files/rocThrust-4.0-operator_new.patch
new file mode 100644
index 000000000000..2b78fd0053ed
--- /dev/null
+++ b/sci-libs/rocThrust/files/rocThrust-4.0-operator_new.patch
@@ -0,0 +1,29 @@
+# Use copy assignment instead of copy constructor to avoid unavailability of placement new operator.
+# But more likely there is another hidden bug, since this syntax is actually correct.
+# There are still similar syntax remain in other headers, which may cause identical compilation error.
+
+# Suggested by Yuyi Wang <strawberry_str@hotmail.com>
+diff --color -uprN rocThrust-rocm-4.0.0.orig/thrust/system/hip/detail/uninitialized_copy.h rocThrust-rocm-4.0.0/thrust/system/hip/detail/uninitialized_copy.h
+--- rocThrust-rocm-4.0.0.orig/thrust/system/hip/detail/uninitialized_copy.h 2021-01-21 20:42:44.439246148 +0800
++++ rocThrust-rocm-4.0.0/thrust/system/hip/detail/uninitialized_copy.h 2021-01-21 21:13:20.926840762 +0800
+@@ -62,7 +62,7 @@ namespace __uninitialized_copy
+ InputType const& in = raw_reference_cast(input[idx]);
+ OutputType& out = raw_reference_cast(output[idx]);
+
+- ::new(static_cast<void*>(&out)) OutputType(in);
++ out = in;
+ }
+ }; // struct functor
+
+diff --color -uprN rocThrust-rocm-4.0.0.orig/thrust/system/hip/detail/uninitialized_fill.h rocThrust-rocm-4.0.0/thrust/system/hip/detail/uninitialized_fill.h
+--- rocThrust-rocm-4.0.0.orig/thrust/system/hip/detail/uninitialized_fill.h 2021-01-21 20:42:44.439246148 +0800
++++ rocThrust-rocm-4.0.0/thrust/system/hip/detail/uninitialized_fill.h 2021-01-21 21:13:07.022489406 +0800
+@@ -59,7 +59,7 @@ namespace __uninitialized_fill
+ {
+ value_type& out = raw_reference_cast(items[idx]);
+
+- ::new(static_cast<void*>(&out)) value_type(value);
++ out = value;
+ }
+ }; // struct functor
+ } // namespace __uninitialized_copy
diff --git a/sci-libs/rocThrust/metadata.xml b/sci-libs/rocThrust/metadata.xml
new file mode 100644
index 000000000000..61a33c63bbf4
--- /dev/null
+++ b/sci-libs/rocThrust/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCm-Developer-Tools/rocThrust</remote-id>
+ </upstream>
+ <use>
+ <flag name="benchmark">Build and install benchmark binary.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-libs/rocThrust/rocThrust-5.1.3.ebuild b/sci-libs/rocThrust/rocThrust-5.1.3.ebuild
new file mode 100644
index 000000000000..6fa60fff62dc
--- /dev/null
+++ b/sci-libs/rocThrust/rocThrust-5.1.3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="HIP back-end for the parallel algorithm library Thrust"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocThrust"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-${PV}.tar.gz -> rocThrust-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}]
+ test? ( dev-cpp/gtest )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/cmake-3.22"
+
+S="${WORKDIR}/rocThrust-rocm-${PV}"
+
+PATCHES=( "${FILESDIR}/${PN}-4.0-operator_new.patch" )
+
+src_prepare() {
+ sed -e "/PREFIX rocthrust/d" \
+ -e "/DESTINATION/s:rocthrust/include/thrust:include/thrust:" \
+ -e "/rocm_install_symlink_subdir(rocthrust)/d" \
+ -e "/<INSTALL_INTERFACE/s:rocthrust/include/:include/:" -i thrust/CMakeLists.txt || die
+
+ sed -e "s:\${CMAKE_INSTALL_INCLUDEDIR}:&/rocthrust:" \
+ -e "s:\${ROCM_INSTALL_LIBDIR}:\${CMAKE_INSTALL_LIBDIR}:" -i cmake/ROCMExportTargetsHeaderOnly.cmake || die
+
+ # disable downloading googletest and googlebenchmark
+ sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ # remove GIT dependency
+ sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DSKIP_RPATH=On
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARKS=$(usex benchmark ON OFF)
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ MAKEOPTS="-j1" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ use benchmark && dobin "${BUILD_DIR}"/benchmarks/benchmark_thrust_bench
+}
diff --git a/sci-libs/rocThrust/rocThrust-5.7.1.ebuild b/sci-libs/rocThrust/rocThrust-5.7.1.ebuild
new file mode 100644
index 000000000000..eec7600d151e
--- /dev/null
+++ b/sci-libs/rocThrust/rocThrust-5.7.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="HIP back-end for the parallel algorithm library Thrust"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocThrust"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-${PV}.tar.gz -> rocThrust-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}]
+ test? ( dev-cpp/gtest )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/cmake-3.22"
+
+S="${WORKDIR}/rocThrust-rocm-${PV}"
+
+PATCHES=( "${FILESDIR}/${PN}-4.0-operator_new.patch" )
+
+src_prepare() {
+ sed -e "/PREFIX rocthrust/d" \
+ -e "/DESTINATION/s:rocthrust/include/thrust:include/thrust:" \
+ -e "/rocm_install_symlink_subdir(rocthrust)/d" \
+ -e "/<INSTALL_INTERFACE/s:rocthrust/include/:include/:" -i thrust/CMakeLists.txt || die
+
+ sed -e "s:\${CMAKE_INSTALL_INCLUDEDIR}:&/thrust:" \
+ -e "s:\${ROCM_INSTALL_LIBDIR}:\${CMAKE_INSTALL_LIBDIR}:" -i cmake/ROCMExportTargetsHeaderOnly.cmake || die
+
+ # disable downloading googletest and googlebenchmark
+ sed -r -e '/Downloading/{:a;N;/\n *\)$/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ # remove GIT dependency
+ sed -r -e '/find_package\(Git/{:a;N;/\nendif/!ba; d}' -i cmake/Dependencies.cmake || die
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARKS=$(usex benchmark ON OFF)
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ # uses HMM to fit tests to default <512M iGPU VRAM
+ MAKEOPTS="-j1" ROCTHRUST_USE_HMM="1" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ use benchmark && dobin "${BUILD_DIR}"/benchmarks/benchmark_thrust_bench
+}
diff --git a/sci-libs/rocWMMA/Manifest b/sci-libs/rocWMMA/Manifest
new file mode 100644
index 000000000000..6e7f161dc924
--- /dev/null
+++ b/sci-libs/rocWMMA/Manifest
@@ -0,0 +1 @@
+DIST rocWMMA-5.7.1.tar.gz 3163060 BLAKE2B 47ca55c0cd388ca51ad3843e656a31ce04d9e07988c26bfb69a7c61bfe497609408cfd20dcbe9c6698bd79b800a114ab67d582ced43dc6f1c4db4072e2901d99 SHA512 92c9c634fdf1f5319d34fabbf691df45600abdc5285a76b40255e7d6d260553076f65baa1eda566a163725e2a0cec0a85372eb07add39c65368e84505c176f50
diff --git a/sci-libs/rocWMMA/files/rocWMMA-5.7.1-use-system-googletest.patch b/sci-libs/rocWMMA/files/rocWMMA-5.7.1-use-system-googletest.patch
new file mode 100644
index 000000000000..f4f78d8d8ee6
--- /dev/null
+++ b/sci-libs/rocWMMA/files/rocWMMA-5.7.1-use-system-googletest.patch
@@ -0,0 +1,25 @@
+Add an option to use system PR
+Upstream PR: https://github.com/ROCm/rocWMMA/pull/353
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -29,8 +29,12 @@ include( CMakeDependentOption )
+ cmake_dependent_option( ROCWMMA_BUILD_VALIDATION_TESTS "Build validation tests" ON "ROCWMMA_BUILD_TESTS" OFF )
+ cmake_dependent_option( ROCWMMA_BUILD_BENCHMARK_TESTS "Build benchmarking tests" OFF "ROCWMMA_BUILD_TESTS" OFF )
+ cmake_dependent_option( ROCWMMA_BUILD_EXTENDED_TESTS "Build extended test parameter coverage" OFF "ROCWMMA_BUILD_TESTS" OFF )
++cmake_dependent_option( ROCWMMA_USE_SYSTEM_GOOGLETEST "Use system Google Test library instead of downloading and building it" OFF "ROCWMMA_BUILD_TESTS" OFF )
+
+ # Test/benchmark requires additional dependencies
++if(ROCWMMA_USE_SYSTEM_GOOGLETEST)
++ find_package(GTest REQUIRED)
++else()
+ include( FetchContent )
+
+ FetchContent_Declare(
+@@ -53,6 +57,7 @@ if(NOT googletest_POPULATED)
+ # Restore shared libs setting
+ set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE INTERNAL "Build SHARED libraries" FORCE)
+ endif()
++endif()
+
+ set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
+ set(ROCWMMA_COMMON_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/hip_device.cpp
diff --git a/sci-libs/rocWMMA/metadata.xml b/sci-libs/rocWMMA/metadata.xml
new file mode 100644
index 000000000000..f5faee0f0220
--- /dev/null
+++ b/sci-libs/rocWMMA/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCm/rocWMMA</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/rocWMMA/rocWMMA-5.7.1.ebuild b/sci-libs/rocWMMA/rocWMMA-5.7.1.ebuild
new file mode 100644
index 000000000000..a2ca2b3404da
--- /dev/null
+++ b/sci-libs/rocWMMA/rocWMMA-5.7.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+ROCM_SKIP_GLOBALS=1
+
+inherit cmake rocm
+
+DESCRIPTION="library for accelerating mixed precision matrix multiply-accumulate operations"
+HOMEPAGE="https://github.com/ROCm/rocWMMA"
+SRC_URI="https://github.com/ROCm/rocWMMA/archive/rocm-${PV}.tar.gz -> rocWMMA-${PV}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+DEPEND="=dev-util/hip-5*"
+
+BDEPEND="
+ test? (
+ dev-cpp/gtest
+ )
+ dev-build/rocm-cmake
+"
+
+IUSE_TARGETS=( gfx908 gfx90a gfx1100 gfx1101 gfx1102 )
+IUSE_TARGETS=( "${IUSE_TARGETS[@]/#/amdgpu_targets_}" )
+
+IUSE="${IUSE_TARGETS[@]/#/+} test"
+
+REQUIRED_USE="|| ( ${IUSE_TARGETS[*]} )"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/rocWMMA-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.7.1-use-system-googletest.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DROCM_SYMLINK_LIBS=OFF
+ -DROCWMMA_BUILD_SAMPLES=OFF
+ -DROCWMMA_BUILD_TESTS=$(usex test ON OFF)
+ )
+ use test && mycmakeargs+=(-DROCWMMA_USE_SYSTEM_GOOGLETEST=ON)
+ CC=hipcc CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cmake_src_test -j1
+}
diff --git a/sci-libs/rosetta-db/Manifest b/sci-libs/rosetta-db/Manifest
deleted file mode 100644
index 324cee198870..000000000000
--- a/sci-libs/rosetta-db/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rosetta3.4_database.tgz 212443671 BLAKE2B 92aeb833bab050f8122dc9fdbff153cb27c4993bea4e55dddfd5a2628c7e5fd55ac5da3d8b132a2e3fe83e1a9b6b417ad361eef2afffa3792b2d15de31ddd051 SHA512 c057cabcc95e6ff2278517e04d0fe8c7968a5c29d17ceb7bc75ac6e655b0a798d4ca819b313616c69b6cc18252c12b9af083d9cab9d4e30dac4c32db2f058b81
diff --git a/sci-libs/rosetta-db/metadata.xml b/sci-libs/rosetta-db/metadata.xml
deleted file mode 100644
index 8937bad0b175..000000000000
--- a/sci-libs/rosetta-db/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-chemistry@gentoo.org</email>
- <name>Gentoo Chemistry Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/sci-libs/rosetta-db/rosetta-db-3.4.ebuild b/sci-libs/rosetta-db/rosetta-db-3.4.ebuild
deleted file mode 100644
index 0264e523005e..000000000000
--- a/sci-libs/rosetta-db/rosetta-db-3.4.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils vcs-clean
-
-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 into your DISTDIR directory."
-}
-
-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
deleted file mode 100644
index 838f4129d740..000000000000
--- a/sci-libs/rosetta-fragments/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rosetta3.1_fragments.tgz 221931894 BLAKE2B 0fb5764f24f3386cdbce9afce7da3f81cce91a6a0a57a265e5dbe0bf06146e4ab057c02961ed0dd8074f86309257bcf5b42ca0d1c6adf92c9f8ebf36b3f25f5d SHA512 a2b2646c916ea1b98e2c7267c1eadb1fd6cb76d015c24bd4e8318ce127cb5d96ca56bfdd76821e1dd884e03d59631f544e221b9f541ad4063a99e96dbb029da1
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
deleted file mode 100644
index cb8fd9197d1b..000000000000
--- a/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-chemshift.patch
+++ /dev/null
@@ -1,62 +0,0 @@
- 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
deleted file mode 100644
index 91da48017eff..000000000000
--- a/sci-libs/rosetta-fragments/files/rosetta-fragments-3.1-nnmake.patch
+++ /dev/null
@@ -1,153 +0,0 @@
- 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
deleted file mode 100644
index 8937bad0b175..000000000000
--- a/sci-libs/rosetta-fragments/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-chemistry@gentoo.org</email>
- <name>Gentoo Chemistry Project</name>
- </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
deleted file mode 100644
index 2e5c7afd21c5..000000000000
--- a/sci-libs/rosetta-fragments/rosetta-fragments-3.1-r1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils flag-o-matic prefix toolchain-funcs vcs-clean
-
-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/psipred"
-
-RESTRICT="fetch"
-
-S="${WORKDIR}"/${PN/-/_}
-
-PATCHES=(
- "${FILESDIR}"/${P}-nnmake.patch
- "${FILESDIR}"/${P}-chemshift.patch
-)
-
-pkg_nofetch() {
- einfo "Go to ${HOMEPAGE} and get ${PN}.tgz and rename it to ${A}"
- einfo "which must be placed into your DISTDIR directory."
-}
-
-src_prepare() {
- default
- 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
index e9ed362ac601..b333ecdd8776 100644
--- a/sci-libs/rtabmap/Manifest
+++ b/sci-libs/rtabmap/Manifest
@@ -1,2 +1,2 @@
-DIST rtabmap-0.19.3.tar.gz 19818629 BLAKE2B f732a02db6ef8434b1457234211a128e3050236590e0f6a1e08e36bbb5899b9d3de9409d7d7329f346d29874d440bd86835c1501fb638e3802e2663907e7b04d SHA512 bda72596911b1c35d757322c7e5acd7e43ec1f4e984bfb0599cfb39597bee79e470d1bc11b492f244f39c35812ae570d023848cdcbd011eeb78e347727045509
-DIST rtabmap-0.19.7.tar.gz 19936131 BLAKE2B ec640bb8dddb2acac9eb70e828edc88e76d90b287dc5be0c99f0943dac3df448b0a06bde79b1288e0b84a1b2a022e5713346f87e68f11a6f25be486e3122b62a SHA512 d02fec1db427092867b32d464e4b2450a729923260088b75dd0a813fc6d3e2539b3694035cddffc33b8fcd5a56a2a5c3dedb7c7a998b72f2094e1916f2a99084
+DIST rtabmap-0.20.23.tar.gz 21922099 BLAKE2B ed254beea19b635ffad6e09edd8ea8370eda633dacd3dfcc273b6b750685ac4dac8b57ee91d273eef21c23f4b057cc401354a8a18d2e93ec2f6564bb84c59c0f SHA512 bef7140d569cdb3a86d329b79d410feeb5fe3291263e3be68a62270f807c102b5911946d50fb2f084b8a76eaa7e486c5819dc29ef1c71ef80ac3d5ee41910942
+DIST rtabmap-0.21.3.tar.gz 21956462 BLAKE2B 41c3c95715bc165d339a4a63747e40db4357ffd1b5151630689008a6856c4721805ec8def9b47ea487ca428641b5d253dfa5b62b1bbb14027168bbc0e4c350d3 SHA512 0b9b2d2fdcfdef0324fcde54a74ecec75786372f2df0bd8d9383ae71c500098bff016465a68ce2a9328d0a2beee4bf9b0af6b21435589ce1e91503fe2aca5d01
diff --git a/sci-libs/rtabmap/files/boost173.patch b/sci-libs/rtabmap/files/boost173.patch
deleted file mode 100644
index 4549e9bc8426..000000000000
--- a/sci-libs/rtabmap/files/boost173.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: rtabmap-0.19.7/corelib/src/camera/CameraOpenni.cpp
-===================================================================
---- rtabmap-0.19.7.orig/corelib/src/camera/CameraOpenni.cpp
-+++ rtabmap-0.19.7/corelib/src/camera/CameraOpenni.cpp
-@@ -126,7 +126,7 @@ bool CameraOpenni::init(const std::strin
- boost::function<void (
- const boost::shared_ptr<openni_wrapper::Image>&,
- const boost::shared_ptr<openni_wrapper::DepthImage>&,
-- float)> f = boost::bind (&CameraOpenni::image_cb, this, _1, _2, _3);
-+ float)> f = boost::bind (&CameraOpenni::image_cb, this, boost::placeholders::_1, boost::placeholders::_2, boost::placeholders::_3);
- connection_ = interface_->registerCallback (f);
-
- interface_->start ();
diff --git a/sci-libs/rtabmap/files/ocv.patch b/sci-libs/rtabmap/files/ocv.patch
deleted file mode 100644
index 0802b7899a26..000000000000
--- a/sci-libs/rtabmap/files/ocv.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 7041d5fd34fb34851ad3287891aa5c383d73b5c2 Mon Sep 17 00:00:00 2001
-From: matlabbe <matlabbe@gmail.com>
-Date: Sun, 3 May 2020 22:59:35 -0400
-Subject: [PATCH] Fixed #541
-
----
- corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h | 3 ---
- 1 file changed, 3 deletions(-)
-
-Index: rtabmap-0.19.7/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h
-===================================================================
---- rtabmap-0.19.7.orig/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h
-+++ rtabmap-0.19.7/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h
-@@ -37,10 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include <opencv2/calib3d/calib3d_c.h>
-
- #if CV_MAJOR_VERSION >= 4
--
--#if CV_MINOR_VERSION >= 3
- #include <opencv2/core/core_c.h>
--#endif
-
- // Opencv4 doesn't expose those functions below anymore, we should recopy all of them!
- int cvRodrigues2( const CvMat* src, CvMat* dst, CvMat* jacobian CV_DEFAULT(0))
diff --git a/sci-libs/rtabmap/files/ocv4.patch b/sci-libs/rtabmap/files/ocv4.patch
deleted file mode 100644
index 465b364ef013..000000000000
--- a/sci-libs/rtabmap/files/ocv4.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From d5b4b252870e4225ed00bd544a102015e5172c85 Mon Sep 17 00:00:00 2001
-From: matlabbe <matlabbe@gmail.com>
-Date: Fri, 9 Aug 2019 15:31:47 -0400
-Subject: [PATCH] updated ORBExtractor opencv include (compatibility issue
- https://github.com/introlab/rtabmap_ros/issues/333)
-
----
- corelib/src/opencv/ORBextractor.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/corelib/src/opencv/ORBextractor.h b/corelib/src/opencv/ORBextractor.h
-index 0f06c395..58619a15 100644
---- a/corelib/src/opencv/ORBextractor.h
-+++ b/corelib/src/opencv/ORBextractor.h
-@@ -31,7 +31,7 @@
-
- #include <vector>
- #include <list>
--#include <opencv/cv.h>
-+#include <opencv2/core/core_c.h>
-
-
- namespace rtabmap
diff --git a/sci-libs/rtabmap/files/pcl111.patch b/sci-libs/rtabmap/files/pcl111.patch
deleted file mode 100644
index 3ff5d6be452d..000000000000
--- a/sci-libs/rtabmap/files/pcl111.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Index: rtabmap-0.19.7/corelib/src/Graph.cpp
-===================================================================
---- rtabmap-0.19.7.orig/corelib/src/Graph.cpp
-+++ rtabmap-0.19.7/corelib/src/Graph.cpp
-@@ -39,6 +39,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include <pcl/search/kdtree.h>
- #include <pcl/common/eigen.h>
- #include <pcl/common/common.h>
-+#include <pcl/common/point_tests.h>
- #include <set>
- #include <queue>
- #include <fstream>
-Index: rtabmap-0.19.7/corelib/src/clams/frame_projector.cpp
-===================================================================
---- rtabmap-0.19.7.orig/corelib/src/clams/frame_projector.cpp
-+++ rtabmap-0.19.7/corelib/src/clams/frame_projector.cpp
-@@ -33,6 +33,7 @@ RTAB-Map integration: Mathieu Labbe
- #include <rtabmap/core/util3d.h>
- #include <opencv2/highgui/highgui.hpp>
- #include <opencv2/imgproc/imgproc.hpp>
-+#include <pcl/common/point_tests.h>
-
- using namespace std;
- using namespace Eigen;
-Index: rtabmap-0.19.7/corelib/src/util3d_correspondences.cpp
-===================================================================
---- rtabmap-0.19.7.orig/corelib/src/util3d_correspondences.cpp
-+++ rtabmap-0.19.7/corelib/src/util3d_correspondences.cpp
-@@ -32,6 +32,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include <rtabmap/core/EpipolarGeometry.h>
- #include <opencv2/calib3d/calib3d.hpp>
- #include <pcl/search/kdtree.h>
-+#include <pcl/common/point_tests.h>
-
- namespace rtabmap
- {
-Index: rtabmap-0.19.7/corelib/src/util3d_features.cpp
-===================================================================
---- rtabmap-0.19.7.orig/corelib/src/util3d_features.cpp
-+++ rtabmap-0.19.7/corelib/src/util3d_features.cpp
-@@ -42,6 +42,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
-
- #include <opencv2/video/tracking.hpp>
-
-+#include <pcl/common/point_tests.h>
-+
- namespace rtabmap
- {
-
diff --git a/sci-libs/rtabmap/files/vtk.patch b/sci-libs/rtabmap/files/vtk.patch
new file mode 100644
index 000000000000..adb80216a8da
--- /dev/null
+++ b/sci-libs/rtabmap/files/vtk.patch
@@ -0,0 +1,12 @@
+Index: rtabmap-0.20.22-rolling/guilib/src/opencv/vtkImageMatSource.cpp
+===================================================================
+--- rtabmap-0.20.22-rolling.orig/guilib/src/opencv/vtkImageMatSource.cpp
++++ rtabmap-0.20.22-rolling/guilib/src/opencv/vtkImageMatSource.cpp
+@@ -48,6 +48,7 @@
+ #include <vtkInformationVector.h>
+ #include <vtkStreamingDemandDrivenPipeline.h>
+ #include <vtkObjectFactory.h>
++#include <vtkVersionMacros.h>
+
+ namespace rtabmap {
+ vtkStandardNewMacro(vtkImageMatSource);
diff --git a/sci-libs/rtabmap/files/yamlcpp.patch b/sci-libs/rtabmap/files/yamlcpp.patch
new file mode 100644
index 000000000000..e6a3b74f5e04
--- /dev/null
+++ b/sci-libs/rtabmap/files/yamlcpp.patch
@@ -0,0 +1,21 @@
+Index: rtabmap-0.20.13-rolling/tools/EurocDataset/CMakeLists.txt
+===================================================================
+--- rtabmap-0.20.13-rolling.orig/tools/EurocDataset/CMakeLists.txt
++++ rtabmap-0.20.13-rolling/tools/EurocDataset/CMakeLists.txt
+@@ -1,8 +1,5 @@
+ cmake_minimum_required(VERSION 2.8)
+
+-FIND_PACKAGE(yaml-cpp QUIET)
+-
+-IF(NOT yaml-cpp_FOUND)
+ find_package(PkgConfig QUIET)
+ IF(PKG_CONFIG_FOUND)
+ pkg_check_modules(yaml_cpp QUIET yaml-cpp)
+@@ -12,7 +9,6 @@ IF(NOT yaml-cpp_FOUND)
+ SET(yaml-cpp_FOUND ${yaml_cpp_FOUND})
+ ENDIF(yaml_cpp_FOUND)
+ ENDIF(PKG_CONFIG_FOUND)
+-ENDIF(NOT yaml-cpp_FOUND)
+
+ IF(yaml-cpp_FOUND)
+
diff --git a/sci-libs/rtabmap/metadata.xml b/sci-libs/rtabmap/metadata.xml
index 303a16f5feb3..96a27a14dfb3 100644
--- a/sci-libs/rtabmap/metadata.xml
+++ b/sci-libs/rtabmap/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/sci-libs/rtabmap/rtabmap-0.19.3-r1.ebuild b/sci-libs/rtabmap/rtabmap-0.19.3-r1.ebuild
deleted file mode 100644
index df3b781baf72..000000000000
--- a/sci-libs/rtabmap/rtabmap-0.19.3-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
- S="${WORKDIR}/${P}"
-fi
-
-DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
-HOMEPAGE="http://introlab.github.io/rtabmap/"
-LICENSE="BSD"
-SLOT="0"
-IUSE="examples ieee1394 openni2 qt5"
-
-RDEPEND="
- media-libs/opencv:=[qt5(-)?]
- sci-libs/pcl:=[openni,vtk,qt5(-)?]
- sci-libs/vtk:=[qt5(-)?]
- sys-libs/zlib
- sci-libs/octomap:=
- dev-libs/boost:=
- ieee1394? ( media-libs/libdc1394 )
- openni2? ( dev-libs/OpenNI2 )
- qt5? (
- dev-qt/qtwidgets:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-PATCHES=( "${FILESDIR}/ocv4.patch" )
-
-src_configure() {
- local mycmakeargs=(
- "-DWITH_QT=$(usex qt5 ON OFF)"
- "-DWITH_DC1394=$(usex ieee1394 ON OFF)"
- "-DWITH_OPENNI2=$(usex openni2 ON OFF)"
- "-DBUILD_EXAMPLES=$(usex examples ON OFF)"
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- # Needed since we force ros crawling to be done only in
- # /usr/share/ros_packages/
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
-}
diff --git a/sci-libs/rtabmap/rtabmap-0.19.7.ebuild b/sci-libs/rtabmap/rtabmap-0.19.7.ebuild
deleted file mode 100644
index 4640d13e9cf0..000000000000
--- a/sci-libs/rtabmap/rtabmap-0.19.7.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
- S="${WORKDIR}/${P}"
-fi
-
-DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
-HOMEPAGE="http://introlab.github.io/rtabmap/"
-LICENSE="BSD"
-SLOT="0"
-IUSE="examples ieee1394 openni2 qt5"
-
-RDEPEND="
- media-libs/opencv:=[qt5(-)?]
- sci-libs/pcl:=[openni,vtk,qt5(-)?]
- sci-libs/vtk:=[qt5(-)?]
- sys-libs/zlib
- sci-libs/octomap:=
- dev-libs/boost:=
- ieee1394? ( media-libs/libdc1394 )
- openni2? ( dev-libs/OpenNI2 )
- qt5? (
- dev-qt/qtwidgets:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-PATCHES=(
- "${FILESDIR}/pcl111.patch"
- "${FILESDIR}/boost173.patch"
- "${FILESDIR}/ocv.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- "-DWITH_QT=$(usex qt5 ON OFF)"
- "-DWITH_DC1394=$(usex ieee1394 ON OFF)"
- "-DWITH_OPENNI2=$(usex openni2 ON OFF)"
- "-DBUILD_EXAMPLES=$(usex examples ON OFF)"
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- # Needed since we force ros crawling to be done only in
- # /usr/share/ros_packages/
- insinto /usr/share/ros_packages/${PN}
- doins "${ED}/usr/share/${PN}/package.xml"
-}
diff --git a/sci-libs/rtabmap/rtabmap-0.20.23.ebuild b/sci-libs/rtabmap/rtabmap-0.20.23.ebuild
new file mode 100644
index 000000000000..480f83d5b6bb
--- /dev/null
+++ b/sci-libs/rtabmap/rtabmap-0.20.23.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/introlab/rtabmap"
+fi
+
+inherit ${SCM} cmake multilib
+
+VER_SUFFIX=rolling
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/introlab/rtabmap/archive/${PV}-${VER_SUFFIX}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P}-${VER_SUFFIX}"
+fi
+
+DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
+HOMEPAGE="http://introlab.github.io/rtabmap/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="examples ieee1394 openni2 qt5"
+
+RDEPEND="
+ media-libs/opencv:=[qt5(-)?]
+ sci-libs/pcl:=[openni,vtk,qt5(-)?]
+ sci-libs/vtk:=[qt5(-)?]
+ sys-libs/zlib
+ sci-libs/octomap:=
+ dev-libs/boost:=
+ dev-cpp/yaml-cpp:=
+ ieee1394? ( media-libs/libdc1394:2= )
+ openni2? ( dev-libs/OpenNI2 )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/yamlcpp.patch" "${FILESDIR}/vtk.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ "-DWITH_QT=$(usex qt5 ON OFF)"
+ "-DWITH_DC1394=$(usex ieee1394 ON OFF)"
+ "-DWITH_OPENNI2=$(usex openni2 ON OFF)"
+ "-DBUILD_EXAMPLES=$(usex examples ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Needed since we force ros crawling to be done only in
+ # /usr/share/ros_packages/
+ insinto /usr/share/ros_packages/${PN}
+ doins "${ED}/usr/share/${PN}/package.xml"
+}
diff --git a/sci-libs/rtabmap/rtabmap-0.21.3.ebuild b/sci-libs/rtabmap/rtabmap-0.21.3.ebuild
new file mode 100644
index 000000000000..88c172c29ffb
--- /dev/null
+++ b/sci-libs/rtabmap/rtabmap-0.21.3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/introlab/rtabmap"
+fi
+
+inherit ${SCM} cmake multilib
+
+VER_SUFFIX=noetic
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://github.com/introlab/rtabmap/archive/refs/tags/${PV}-${VER_SUFFIX}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P}-${VER_SUFFIX}"
+fi
+
+DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
+HOMEPAGE="http://introlab.github.io/rtabmap/"
+LICENSE="BSD"
+SLOT="0"
+IUSE="examples ieee1394 openni2 qt5"
+
+RDEPEND="
+ media-libs/opencv:=[qt5(-)?]
+ sci-libs/pcl:=[openni,vtk,qt5(-)?]
+ sci-libs/vtk:=[qt5(-)?]
+ sys-libs/zlib
+ sci-libs/octomap:=
+ dev-libs/boost:=
+ dev-cpp/yaml-cpp:=
+ ieee1394? ( media-libs/libdc1394:2= )
+ openni2? ( dev-libs/OpenNI2 )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ "-DWITH_QT=$(usex qt5 ON OFF)"
+ "-DWITH_DC1394=$(usex ieee1394 ON OFF)"
+ "-DWITH_OPENNI2=$(usex openni2 ON OFF)"
+ "-DBUILD_EXAMPLES=$(usex examples ON OFF)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Needed since we force ros crawling to be done only in
+ # /usr/share/ros_packages/
+ insinto /usr/share/ros_packages/${PN}
+ doins "${ED}/usr/share/${PN}/package.xml"
+}
diff --git a/sci-libs/rtabmap/rtabmap-9999.ebuild b/sci-libs/rtabmap/rtabmap-9999.ebuild
index 24cbe5a01b96..88c172c29ffb 100644
--- a/sci-libs/rtabmap/rtabmap-9999.ebuild
+++ b/sci-libs/rtabmap/rtabmap-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -9,15 +9,16 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/introlab/rtabmap"
fi
-inherit ${SCM} cmake-utils multilib
+inherit ${SCM} cmake multilib
+
+VER_SUFFIX=noetic
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"
- S="${WORKDIR}/${P}"
+ SRC_URI="https://github.com/introlab/rtabmap/archive/refs/tags/${PV}-${VER_SUFFIX}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P}-${VER_SUFFIX}"
fi
DESCRIPTION="Real-Time Appearance-Based Mapping (RGB-D Graph SLAM)"
@@ -33,7 +34,8 @@ RDEPEND="
sys-libs/zlib
sci-libs/octomap:=
dev-libs/boost:=
- ieee1394? ( media-libs/libdc1394 )
+ dev-cpp/yaml-cpp:=
+ ieee1394? ( media-libs/libdc1394:2= )
openni2? ( dev-libs/OpenNI2 )
qt5? (
dev-qt/qtwidgets:5
@@ -52,11 +54,11 @@ src_configure() {
"-DWITH_OPENNI2=$(usex openni2 ON OFF)"
"-DBUILD_EXAMPLES=$(usex examples ON OFF)"
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
# Needed since we force ros crawling to be done only in
# /usr/share/ros_packages/
insinto /usr/share/ros_packages/${PN}
diff --git a/sci-libs/rtree/Manifest b/sci-libs/rtree/Manifest
new file mode 100644
index 000000000000..9cc4d0715929
--- /dev/null
+++ b/sci-libs/rtree/Manifest
@@ -0,0 +1 @@
+DIST Rtree-1.0.0.tar.gz 48837 BLAKE2B 60e516155e7e48158494b7ea4720dc71ece2111fb94e320976a6dd691d2458b8586c2bf8109a37d86db211ac342d77877b435bdb54627a94c898642e8520a071 SHA512 9a414cd65b27ba35313dd7185dece83f5d7235867f6f0c72c2902d7ffd72808138dbf30d8fe11c8bbf0ec463072e5f6112d75b5fdd5a1dab7720c56d3632d576
diff --git a/sci-libs/rtree/metadata.xml b/sci-libs/rtree/metadata.xml
new file mode 100644
index 000000000000..34c930a0bce1
--- /dev/null
+++ b/sci-libs/rtree/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <longdescription>
+ Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial indexing
+ features for the spatially curious Python user.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/Toblerity/rtree/issues</bugs-to>
+ <remote-id type="github">Toblerity/rtree</remote-id>
+ <remote-id type="pypi">Rtree</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/rtree/rtree-1.0.0.ebuild b/sci-libs/rtree/rtree-1.0.0.ebuild
new file mode 100644
index 000000000000..ffa872d759b3
--- /dev/null
+++ b/sci-libs/rtree/rtree-1.0.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="R-Tree spatial index for Python GIS"
+HOMEPAGE="https://rtree.readthedocs.io"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ sci-libs/libspatialindex
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? ( dev-python/numpy[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
diff --git a/sci-libs/safetensors/Manifest b/sci-libs/safetensors/Manifest
new file mode 100644
index 000000000000..859e3fc05c9f
--- /dev/null
+++ b/sci-libs/safetensors/Manifest
@@ -0,0 +1,40 @@
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
+DIST itoa-1.0.9.crate 10492 BLAKE2B 0d5acef9ae72d3f4b5a387d231952e6025def69da81d38269b4882bc534be7acadc073e526fd8bebdca898a98b2c741735c541e0b6a35ed0f8f8799b906b65b1 SHA512 95f7906edb7d6a2690389167f8c4d01bc37827205bca87d527f2eb33722419ed2f2e8afaa559cc5a0a7e7fac76515c9c44c71c42b536aa34b0e2858c40946b6d
+DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
+DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
+DIST memmap2-0.5.10.crate 26847 BLAKE2B 1cf50f710ffedcebade4f131b8c3103b036778b320da671305c0244077743c53da155d444bcc4d0eece294234bb6e86bffe67da67aaf12a116573c64ce0ebc50 SHA512 39bd2734ce4f16c7f5a5e771f9ef92272b26f511421d5f39dfd2aaca072400ee38f2cd38352005c0c8c359095131770ce1c14570790bfe19ce6a17f711deff8a
+DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
+DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
+DIST pyo3-0.18.3.crate 420236 BLAKE2B bc00a825a67ed3590b31d3ea6bd77f6c4c927c0355d9d03ce64ca44e36ae3e29ab4d891bf2d94ca074b3bf858e077c516dc64e4620f875fe1e8fbffb5c9db1ec SHA512 39f044a19a42a5e2f46049431fbe3fe10c14d12a4741cc789b42de7cbf448bcbded7fe38a0f124d994ff9bcd3d95a19305dbfdc7462331fda3e6686cc4289be5
+DIST pyo3-build-config-0.18.3.crate 29137 BLAKE2B 5fa645b64f50a078f38cc10a27ed52bd7e7aadd8a069c05ec2963f0b7c869b94d29eddda97cc31d200cf749ab8e2cd9cd1ea00e75620287e9187745ae0e100a5 SHA512 7ccad5f245e84895e147389f05270f32d12f81aba46bcd0dc184b8d62af2ea579efc50383502efda40601c981c4dbcf911aa7d8192364caa2e177ad939062cdb
+DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82
+DIST pyo3-macros-0.18.3.crate 7175 BLAKE2B 424cda4d0d75c7d4df6aeab0a475fc744039c9a663215c633e62762083930eb6736348f431b6f00d11a093961433fb13fb4c9da8a18268d1904e933157255646 SHA512 2b643ec3451267e836076bd79d110826fa0a2407955543c8a6a46b0dd16c477eb3ad919d51b7beca90eca2938a59577b32e1e67169df67429fac4cfaae5bf5ab
+DIST pyo3-macros-backend-0.18.3.crate 48922 BLAKE2B 4937f6d9459c6651f85fd520e4783c051f28932192d02aba5711fbf0294ed617f5b0b35ebbac74f3e6048a3fd3b75028518ebadf1277eefaa501015a91269c77 SHA512 1e607e4925486e1a48748ef3163666910a06f9a4f4a2fd7eb6a6af87ea37b5b7edb9d3ab4958e6fe907a55c5f4bcb702a251d836dc3b57c4ab1c5d9248b8cd35
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
+DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
+DIST safetensors-0.3.3.gh.tar.gz 81750 BLAKE2B a8963195226e2481863d325fe5c45ed464a9b90cf8d9acc57800ed8387124d311f28b8ef7cd0bacfa611b0d2e9b31eabaf20e8eea796c17d141efb9921af0b53 SHA512 a19b390b6c36e4cf086835b2ea91a7b107be0833c0fe654db1a13f3f4ad431afa03ba9cec9c04ad7294cc28fb9e2a6d8ff31f1009cbf5da743e7d62652683bff
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST serde-1.0.185.crate 77337 BLAKE2B 602d8ce302f73327ce0dcfcdc5377408f4805be8a22ef93496fa31be512985188111c131b6dfaf110069ddbc45a9fdcdb8409d14689422fedcffa652e5a5000f SHA512 0c48d6ac7916104e108025c3ddf88a7e98b98ffaa98fcb7ff9eecbc4d3ed5930efbcb0de9e4072f795a3cbfa12aa5e17ee7eeeed948a7c99453c9a9d0c9985c3
+DIST serde_derive-1.0.185.crate 55569 BLAKE2B 629304ece108ea3549d9ac2284c1432d10686481611e8aeaa1420c9bec32ecccfa3b2132b9192a9a5b49e927080bfc281a9223c94a4fdf068da6939bed4ed908 SHA512 11e61703dc71c9ebf2cbf371f70ff44911899ccf4b98379982250eefb6ad36516959f452939d67c894db5372dcf814f7cf508ae111b1fb56594235635e2fe4ff
+DIST serde_json-1.0.105.crate 146316 BLAKE2B a40b99ac4b5e9aa31a61c4f49f9f4dd9fad94946267a47ac4ba7c1bf3af7122dc410c8984235281b19a917b1fea088615c8e95b4f1aead0957c9e31f2b222599 SHA512 d4203d93ee6e8ffa0d88c21d347196b8d1496d506841273e992c9996019175ed9a965e9401ba63d48589133b13ad9cac6246b7e0143545778b5a090a48a31452
+DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.29.crate 241664 BLAKE2B 5b339433249d7ee17b032cc9ecb118169957d91f438619940aeba0003ab0015b01cc6afb00656b5492539a5396325ec16c37e33764b00d6f9b8dc6b5b5e6a9f0 SHA512 a6319ee743a7690c7858da8492ffb6a963d102beba07009e82b08082d33ac8e8ea2675bdfc3ac3684392b3bc3d7f2624983dc508dd8b8f1fb9a57ec8a5b82828
+DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718
+DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df
+DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/sci-libs/safetensors/metadata.xml b/sci-libs/safetensors/metadata.xml
new file mode 100644
index 000000000000..313819f5fd44
--- /dev/null
+++ b/sci-libs/safetensors/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">safetensors</remote-id>
+ <remote-id type="github">huggingface/safetensors</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/safetensors/safetensors-0.3.3.ebuild b/sci-libs/safetensors/safetensors-0.3.3.ebuild
new file mode 100644
index 000000000000..0d71c99d574c
--- /dev/null
+++ b/sci-libs/safetensors/safetensors-0.3.3.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ indoc@1.0.9
+ itoa@1.0.9
+ libc@0.2.147
+ lock_api@0.4.10
+ memmap2@0.5.10
+ memoffset@0.8.0
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ proc-macro2@1.0.66
+ pyo3-build-config@0.18.3
+ pyo3-ffi@0.18.3
+ pyo3-macros-backend@0.18.3
+ pyo3-macros@0.18.3
+ pyo3@0.18.3
+ quote@1.0.33
+ redox_syscall@0.3.5
+ ryu@1.0.15
+ scopeguard@1.2.0
+ serde@1.0.185
+ serde_derive@1.0.185
+ serde_json@1.0.105
+ smallvec@1.11.0
+ syn@1.0.109
+ syn@2.0.29
+ target-lexicon@0.12.11
+ unicode-ident@1.0.11
+ unindent@0.1.11
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit distutils-r1 cargo
+
+DESCRIPTION="Simple, safe way to store and distribute tensors"
+HOMEPAGE="
+ https://pypi.org/project/safetensors/
+ https://huggingface.co/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+QA_FLAGS_IGNORED="usr/lib/.*"
+RESTRICT="test" #depends on single pkg ( pytorch )
+
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/h5py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+S="${WORKDIR}"/${P}/bindings/python
+
+src_prepare() {
+ distutils-r1_src_prepare
+ rm tests/test_{tf,paddle,flax}_comparison.py || die
+ rm benches/test_{pt,tf,paddle,flax}.py || die
+}
+
+src_configure() {
+ cargo_src_configure
+ distutils-r1_src_configure
+}
+
+python_compile() {
+ cargo_src_compile
+ distutils-r1_python_compile
+}
+
+src_compile() {
+ distutils-r1_src_compile
+}
+
+src_install() {
+ distutils-r1_src_install
+}
diff --git a/sci-libs/scalapack/Manifest b/sci-libs/scalapack/Manifest
index d30e37fd8aab..7d24374ac476 100644
--- a/sci-libs/scalapack/Manifest
+++ b/sci-libs/scalapack/Manifest
@@ -1,2 +1,2 @@
-DIST scalapack-2.0.2.tgz 4779534 BLAKE2B c2aabd87bc8f7c0d9af31bd8ad8c933703dcbba399658d15c1e5256da2350c1a0feac2ca4a205f697b1c48083df89cbcd64ba432da036081c0f33d5d2acddc9b SHA512 92c71d3de0900955511c527ab3ca57ff69d6d9edc390e69f93ac3769d32ce83a714326bcb6218c8c74b8874be2fdc8aad5e42c912a12581e8d4ce8829ea39248
+DIST scalapack-2.1.0-gcc10.patch 231026 BLAKE2B dacecca8307cd2bf7a20e6453fb17bc1f5a3f2926b6d8f3b89f7f8d34993368574804f0427f228de4525f2b2d73105de561588ba5a4d2fb609d5ed035f51ddc9 SHA512 a11057599639c167e907f8e4d45204174fd326e2ffb9e2d05533db23d8e2dd8cfc1d37f06d5502baa3d5714092fbf4638cf4d9fea84ca9d4fb150e21cc57861e
DIST scalapack-2.1.0.tgz 5307441 BLAKE2B 4aea055fc3e437bce7108d1555e93c50109bcfe84354903fd711509eedbe686349fda4030e2fa70faf1a9e7e3255e46e48c32b96a2916af6812b8aebceb750c2 SHA512 0e77fb535ebcc28e2d97499ef4bd5161f76ca0ba4a3e308c26ce5071cfc4be4f3814262f3fb38f378ce0b5b31c0913432fea00a1e9e3f7717b853d1182bdf5b4
diff --git a/sci-libs/scalapack/files/scalapack-2.0.2-libdir.patch b/sci-libs/scalapack/files/scalapack-2.0.2-libdir.patch
deleted file mode 100644
index a1604a8fd856..000000000000
--- a/sci-libs/scalapack/files/scalapack-2.0.2-libdir.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- a/CMakeLists.txt 2012-05-02 05:58:24.000000000 +0200
-+++ b/CMakeLists.txt 2018-10-15 23:57:22.716171671 +0200
-@@ -101,8 +101,8 @@
- # Organize output files. On Windows this also keeps .dll files next
- # to the .exe files that need them, making tests easy to run.
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SCALAPACK_BINARY_DIR}/TESTING)
--set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SCALAPACK_BINARY_DIR}/lib)
--set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SCALAPACK_BINARY_DIR}/lib)
-+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SCALAPACK_BINARY_DIR}/lib${LIB_SUFFIX})
-+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SCALAPACK_BINARY_DIR}/lib${LIB_SUFFIX})
-
- # --------------------------------------------------
- # Check for any necessary platform specific compiler flags
-@@ -163,8 +163,8 @@
- PREFIX ${SCALAPACK_BINARY_DIR}/dependencies
- )
- if (UNIX)
-- SET(LAPACK_LIBRARIES ${SCALAPACK_BINARY_DIR}/lib/liblapack.a CACHE STRING "LAPACK library" FORCE)
-- SET(BLAS_LIBRARIES ${SCALAPACK_BINARY_DIR}/lib/libblas.a CACHE STRING "BLAS library" FORCE)
-+ SET(LAPACK_LIBRARIES ${SCALAPACK_BINARY_DIR}/lib${LIB_SUFFIX}/liblapack.a CACHE STRING "LAPACK library" FORCE)
-+ SET(BLAS_LIBRARIES ${SCALAPACK_BINARY_DIR}/lib${LIB_SUFFIX}/libblas.a CACHE STRING "BLAS library" FORCE)
- else (UNIX) # On Windows
- SET(LAPACK_LIBRARIES ${SCALAPACK_BINARY_DIR}/lib/liblapack.lib CACHE STRING "LAPACK library" FORCE)
- SET(BLAS_LIBRARIES ${SCALAPACK_BINARY_DIR}/lib/libblas.lib CACHE STRING "BLAS library" FORCE)
-@@ -283,7 +283,7 @@
- if( NOT LAPACK_FOUND )
- install(FILES
- ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}
-- DESTINATION lib
-+ DESTINATION lib${LIB_SUFFIX}
- )
- endif( NOT LAPACK_FOUND )
-
-@@ -303,9 +303,9 @@
- install(FILES
- ${SCALAPACK_BINARY_DIR}/CMakeFiles/scalapack-config.cmake
- ${SCALAPACK_BINARY_DIR}/scalapack-config-version.cmake
-- DESTINATION lib/cmake/scalapack-${SCALAPACK_VERSION}
-+ DESTINATION lib${LIB_SUFFIX}/cmake/scalapack-${SCALAPACK_VERSION}
- )
-
- install(EXPORT scalapack-targets
-- DESTINATION lib/cmake/scalapack-${SCALAPACK_VERSION})
-+ DESTINATION lib${LIB_SUFFIX}/cmake/scalapack-${SCALAPACK_VERSION})
-
diff --git a/sci-libs/scalapack/metadata.xml b/sci-libs/scalapack/metadata.xml
index 4bed9a38eed5..e1ce450b30e6 100644
--- a/sci-libs/scalapack/metadata.xml
+++ b/sci-libs/scalapack/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/scalapack/scalapack-2.0.2-r1.ebuild b/sci-libs/scalapack/scalapack-2.0.2-r1.ebuild
deleted file mode 100644
index 7f9fbd15720e..000000000000
--- a/sci-libs/scalapack/scalapack-2.0.2-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils fortran-2 toolchain-funcs
-
-DESCRIPTION="Subset of LAPACK routines redesigned for heterogenous (MPI) computing"
-HOMEPAGE="https://www.netlib.org/scalapack/"
-SRC_URI="https://www.netlib.org/scalapack/${P}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- virtual/lapack
- virtual/mpi"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}/${P}-libdir.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if use static-libs; then
- mkdir "${WORKDIR}/${PN}_static" || die
- fi
- # 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)"
- -DBUILD_TESTING=$(usex test)
- $@
- )
- 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/scalapack/scalapack-2.1.0-r1.ebuild b/sci-libs/scalapack/scalapack-2.1.0-r1.ebuild
new file mode 100644
index 000000000000..192ee312b7ca
--- /dev/null
+++ b/sci-libs/scalapack/scalapack-2.1.0-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake flag-o-matic fortran-2 toolchain-funcs
+
+GCC10_PATCH_HASH="bc6cad585362aa58e05186bb85d4b619080c45a9"
+
+DESCRIPTION="Subset of LAPACK routines redesigned for heterogenous (MPI) computing"
+HOMEPAGE="https://www.netlib.org/scalapack/"
+SRC_URI="
+ https://www.netlib.org/scalapack/${P}.tgz
+ https://github.com/Reference-ScaLAPACK/scalapack/commit/${GCC10_PATCH_HASH}.patch -> ${P}-gcc10.patch
+ "
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ virtual/lapack
+ virtual/mpi[fortran]
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${DISTDIR}/${P}-gcc10.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ if use static-libs; then
+ mkdir "${WORKDIR}/${PN}_static" || die
+ fi
+ # mpi does not have a pc file
+ sed -i -e 's/mpi//' scalapack.pc.in || die
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/862924
+ # https://github.com/Reference-ScaLAPACK/scalapack/issues/95
+ #
+ # Do not trust it for LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ scalapack_configure() {
+ local mycmakeargs=(
+ -DUSE_OPTIMIZED_LAPACK_BLAS=ON
+ -DBLAS_LIBRARIES="$($(tc-getPKG_CONFIG) --libs blas)"
+ -DLAPACK_LIBRARIES="$($(tc-getPKG_CONFIG) --libs lapack)"
+ -DBUILD_TESTING=$(usex test)
+ $@
+ )
+ cmake_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_src_compile
+ use static-libs && \
+ CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" cmake_src_compile
+}
+
+src_install() {
+ cmake_src_install
+ use static-libs && \
+ CMAKE_BUILD_DIR="${WORKDIR}/${PN}_static" cmake_src_install
+
+ insinto /usr/include/blacs
+ doins BLACS/SRC/*.h
+
+ insinto /usr/include/scalapack
+ doins PBLAS/SRC/*.h
+}
diff --git a/sci-libs/scalapack/scalapack-2.1.0.ebuild b/sci-libs/scalapack/scalapack-2.1.0.ebuild
deleted file mode 100644
index a1979a20ad64..000000000000
--- a/sci-libs/scalapack/scalapack-2.1.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils fortran-2 toolchain-funcs
-
-DESCRIPTION="Subset of LAPACK routines redesigned for heterogenous (MPI) computing"
-HOMEPAGE="https://www.netlib.org/scalapack/"
-SRC_URI="https://www.netlib.org/scalapack/${P}.tgz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- virtual/lapack
- virtual/mpi"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- if use static-libs; then
- mkdir "${WORKDIR}/${PN}_static" || die
- fi
- # 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)"
- -DBUILD_TESTING=$(usex test)
- $@
- )
- 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
deleted file mode 100644
index 414b824f8987..000000000000
--- a/sci-libs/scikits/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST scikits.example-0.1.tar.gz 2401 BLAKE2B 4c67adb2e74be9c94d68e99bf44017eb75c054608b69045523c5cfeee18edb01384640e8ed3cba4765bc181e7dfb9a2e70d1a97ad2b6176d2df7112172adce55 SHA512 9e5534a9f12f5a11e7f9d7c3d4f16cdbfa34293b29882e6bc9ec597b6e7ac306cc65e2b197da8c0bfc8e319b01db31f34b06018b5420c3ad68e8cc3f490259e1
diff --git a/sci-libs/scikits/metadata.xml b/sci-libs/scikits/metadata.xml
deleted file mode 100644
index 95dca3798e5a..000000000000
--- a/sci-libs/scikits/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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
deleted file mode 100644
index cc7e76891648..000000000000
--- a/sci-libs/scikits/scikits-0.1-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-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/scikits-0.1-r2.ebuild b/sci-libs/scikits/scikits-0.1-r2.ebuild
deleted file mode 100644
index 054dde88eabc..000000000000
--- a/sci-libs/scikits/scikits-0.1-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-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 ~arm64 ~ppc64 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
deleted file mode 100644
index ef33ed7e6302..000000000000
--- a/sci-libs/scikits_image/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST scikit-image-0.13.0.tar.gz 26101533 BLAKE2B c28284f64abd58c7bafa8f5f0c781496e8bb28af79c5c730df7cbf2fede958eb88ea420fd7f89e7b8d0d91719a98dd0935af3b2cc50fe501cc8d8d1d0ee56cb9 SHA512 923015e373c406ae2fbbfdf83ce8b91e83790bdf7842c4439fdc9fd58cffe46efc0cfc7a1b0b06e1b2d092a909a6f085335640850883e7608dbccd1074046550
diff --git a/sci-libs/scikits_image/metadata.xml b/sci-libs/scikits_image/metadata.xml
deleted file mode 100644
index 8e05ce3947d6..000000000000
--- a/sci-libs/scikits_image/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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.13.0-r1.ebuild b/sci-libs/scikits_image/scikits_image-0.13.0-r1.ebuild
deleted file mode 100644
index 99a0588f9ff9..000000000000
--- a/sci-libs/scikits_image/scikits_image-0.13.0-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit distutils-r1 eutils virtualx
-
-MYPN="${PN/scikits_/scikit-}"
-MYP="${MYPN}-${PV}"
-
-DESCRIPTION="Image processing routines for SciPy"
-HOMEPAGE="https://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 pyamg test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pywavelets[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- sci-libs/scipy[sparse,${PYTHON_USEDEP}]
- freeimage? ( media-libs/freeimage )
- pyamg? ( dev-python/pyamg[${PYTHON_USEDEP}] )"
-DEPEND="${RDEPEND}
- >=dev-python/cython-0.23[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/nose[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}/${MYP}"
-
-DOCS=( CONTRIBUTORS.txt DEPENDS.txt RELEASE.txt TASKS.txt TODO.txt )
-
-python_test() {
- distutils_install_for_testing
- cd "${TEST_DIR}" || die "no ${TEST_DIR} available"
- echo "backend : Agg" > matplotlibrc || die
- #echo "backend.qt4 : PyQt4" >> matplotlibrc || die
- #echo "backend.qt4 : PySide" >> matplotlibrc || die
- MPLCONFIGDIR=. virtx nosetests --exe -v skimage
-}
-
-pkg_postinst() {
- optfeature "FITS io capability" dev-python/astropy
- optfeature "GTK" dev-python/pygtk
- optfeature "Parallel computation" dev-python/dask
- # not in portage yet
- #optfeature "io plugin providing a wide variety of formats, including specialized formats using in medical imaging." dev-python/simpleitk
- #optfeature "io plugin providing most standard formats" dev-python/imread
-}
diff --git a/sci-libs/scikits_learn/Manifest b/sci-libs/scikits_learn/Manifest
deleted file mode 100644
index 87d114ec5e6e..000000000000
--- a/sci-libs/scikits_learn/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST scikit-learn-0.19.0.tar.gz 9341628 BLAKE2B c9e0c12558e81efb6f5cfddead028980b0019d2f6d0fdce5662c9138ec3a5b2a3d30b022a5713578bc7effd09894006e8f7f60a3e038ca66297502d9d4212686 SHA512 1b88bc043b08de9b5bb1f3814b8101c73ced010cf94bd725fb69e1ef95b4a9597a34de4a19f84fbbf63e54d47e95b3ff498d611234fcdfcaa5e4e3cf696289d2
-DIST scikit-learn-0.20.2.tar.gz 10275187 BLAKE2B 6865fd101f99930e014f4a2a89616e1ee917df27a5a1b0a931d47503d7df509fe6490799e876a5d68b1cb76a35c6f85e4acbb31a28adfc528720fe9a69e108a7 SHA512 5e0bdea3c40e38880683c6a49cdf2f4c0d40c1f5436c1d8209d613440d5d9d13b9a608e73943a890ef3effaddd930b5c171c45d29700afb8629285ba4aad414f
-DIST scikit-learn-0.20.4.tar.gz 11684276 BLAKE2B 791fd5c7e3ebfdb9bf01524be46b19341b5750fdc5352de9e50cc395a34cf91551825352f18f235b658b55b38829981884fca9f0535a1c505adeb18ac5d87ceb SHA512 a94c254440641a987df1eaec63302639b8e6f56705ec426c350070658141dd574b502eb1e4b94ae9c766c1becfd911f08bb97d5c87d39b0546d8444ed281b06a
-DIST scikits_learn-0.22.2_p1.tar.gz 7034850 BLAKE2B 41c362ef6594e837a9fc798837e666fbb51e33954fdf700292650204fd9d1ab4fc4d1695890d02a24ad68f4dcc2d3cde8f0827eca70c6fb9a6f0e5c0d9c04fd5 SHA512 20bcda5c65f76bce9b71c5b5fb1b499f7f3a7a3f6fa5fade80a38dc658cb434e16e9d5a4906a9657157a5cc90a6d51080575d6e510207baa9f8b06c4fa761d5b
diff --git a/sci-libs/scikits_learn/files/scikits_learn-0.18.1-system-cblas.patch b/sci-libs/scikits_learn/files/scikits_learn-0.18.1-system-cblas.patch
deleted file mode 100644
index e60f64947b03..000000000000
--- a/sci-libs/scikits_learn/files/scikits_learn-0.18.1-system-cblas.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: scikit-learn-0.18.1/sklearn/_build_utils/__init__.py
-===================================================================
---- scikit-learn-0.18.1.orig/sklearn/_build_utils/__init__.py
-+++ scikit-learn-0.18.1/sklearn/_build_utils/__init__.py
-@@ -31,7 +31,7 @@ def get_blas_info():
- 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:
-Index: scikit-learn-0.18.1/sklearn/setup.py
-===================================================================
---- scikit-learn-0.18.1.orig/sklearn/setup.py
-+++ scikit-learn-0.18.1/sklearn/setup.py
-@@ -63,14 +63,6 @@ def configuration(parent_package='', top
- 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')
diff --git a/sci-libs/scikits_learn/files/scikits_learn-0.20.2-fix-cdfast.patch b/sci-libs/scikits_learn/files/scikits_learn-0.20.2-fix-cdfast.patch
deleted file mode 100644
index 1d1de4a3e0e5..000000000000
--- a/sci-libs/scikits_learn/files/scikits_learn-0.20.2-fix-cdfast.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- scikit-learn-0.20.3.orig/sklearn/linear_model/cd_fast.c 2019-08-09 03:05:05.351926119 +0500
-+++ scikit-learn-0.20.3/sklearn/linear_model/cd_fast.c 2019-08-09 03:05:35.022926006 +0500
-@@ -4889,7 +4889,7 @@
-
- static PyObject *__pyx_pf_7sklearn_12linear_model_7cd_fast_8enet_coordinate_descent(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_w, float __pyx_v_alpha, float __pyx_v_beta, __Pyx_memviewslice __pyx_v_X, __Pyx_memviewslice __pyx_v_y, int __pyx_v_max_iter, float __pyx_v_tol, PyObject *__pyx_v_rng, int __pyx_v_random, int __pyx_v_positive) {
- PyObject *__pyx_v_dtype = NULL;
-- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int);
-+ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int);
- float (*__pyx_v_dot)(int, float *, int, float *, int);
- void (*__pyx_v_axpy)(int, float, float *, int, float *, int);
- float (*__pyx_v_asum)(int, float *, int);
-@@ -6279,7 +6279,7 @@
-
- static PyObject *__pyx_pf_7sklearn_12linear_model_7cd_fast_10enet_coordinate_descent(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_w, double __pyx_v_alpha, double __pyx_v_beta, __Pyx_memviewslice __pyx_v_X, __Pyx_memviewslice __pyx_v_y, int __pyx_v_max_iter, double __pyx_v_tol, PyObject *__pyx_v_rng, int __pyx_v_random, int __pyx_v_positive) {
- PyObject *__pyx_v_dtype = NULL;
-- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int);
-+ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int);
- double (*__pyx_v_dot)(int, double *, int, double *, int);
- void (*__pyx_v_axpy)(int, double, double *, int, double *, int);
- double (*__pyx_v_asum)(int, double *, int);
-@@ -16246,8 +16246,8 @@
- CYTHON_UNUSED float (*__pyx_v_asum)(int, float *, int);
- void (*__pyx_v_copy)(int, float *, int, float *, int);
- void (*__pyx_v_scal)(int, float, float *, int);
-- void (*__pyx_v_ger)(enum CBLAS_ORDER, int, int, float, float *, int, float *, int, float *, int);
-- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int);
-+ void (*__pyx_v_ger)(CBLAS_ORDER, int, int, float, float *, int, float *, int, float *, int);
-+ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int);
- unsigned int __pyx_v_n_samples;
- unsigned int __pyx_v_n_features;
- unsigned int __pyx_v_n_tasks;
-@@ -17965,8 +17965,8 @@
- CYTHON_UNUSED double (*__pyx_v_asum)(int, double *, int);
- void (*__pyx_v_copy)(int, double *, int, double *, int);
- void (*__pyx_v_scal)(int, double, double *, int);
-- void (*__pyx_v_ger)(enum CBLAS_ORDER, int, int, double, double *, int, double *, int, double *, int);
-- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int);
-+ void (*__pyx_v_ger)(CBLAS_ORDER, int, int, double, double *, int, double *, int, double *, int);
-+ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int);
- unsigned int __pyx_v_n_samples;
- unsigned int __pyx_v_n_features;
- unsigned int __pyx_v_n_tasks;
diff --git a/sci-libs/scikits_learn/metadata.xml b/sci-libs/scikits_learn/metadata.xml
deleted file mode 100644
index 0f62a4aec772..000000000000
--- a/sci-libs/scikits_learn/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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>
- <remote-id type="sourceforge">scikit-learn</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/scikits_learn/scikits_learn-0.19.0-r1.ebuild b/sci-libs/scikits_learn/scikits_learn-0.19.0-r1.ebuild
deleted file mode 100644
index 467c21244943..000000000000
--- a/sci-libs/scikits_learn/scikits_learn-0.19.0-r1.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit distutils-r1 flag-o-matic
-
-MYPN="${PN/scikits_/scikit-}"
-MYP="${MYPN}-${PV}"
-
-DESCRIPTION="Python modules for machine learning and data mining"
-HOMEPAGE="https://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="examples test"
-RESTRICT="!test? ( test )"
-
-# tried to unbundle virtual/python-funcsigs, funcsigs, odict
-# but it is a large mess to maintain
-
-RDEPEND="
- 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}]
- virtual/blas:=
- virtual/cblas:=
-"
-
-DEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[lapack,${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- virtual/blas:=
- virtual/cblas:=
-"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.18.1-system-cblas.patch )
-
-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"
-
- # remove bundled cblas
- rm -r sklearn/src || die
-
- # commented out, since it is a mess to maintain
- # use system joblib
- #rm -r sklearn/externals/joblib || die
- #sed -i -e '/joblib/d' sklearn/externals/setup.py || die
- #for f in sklearn/{*/,}*.py; do
- # sed -r -e '/^from/s/(sklearn|\.|)\.externals\.joblib/joblib/' \
- # -e 's/from (sklearn|\.|)\.externals import/import/' -i $f || die
- #done
-
- # use system funcsigs and odict
- #rm sklearn/externals/funcsigs.py || die
- #rm sklearn/externals/odict.py || die
- #for f in sklearn/{utils/fixes.py,gaussian_process/{tests/test_,}kernels.py}; do
- # sed -r -e 's/from (sklearn|\.|)\.externals\.funcsigs/from funcsigs/' -i $f || die
- #done
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile ${SCIPY_FCONFIG}
-}
-
-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
- JOBLIB_MULTIPROCESSING=2 SKLEARN_SKIP_NETWORK_TESTS=1 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
- distutils-r1_python_install_all
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
-}
diff --git a/sci-libs/scikits_learn/scikits_learn-0.20.2.ebuild b/sci-libs/scikits_learn/scikits_learn-0.20.2.ebuild
deleted file mode 100644
index fc65c21b1d47..000000000000
--- a/sci-libs/scikits_learn/scikits_learn-0.20.2.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit distutils-r1 flag-o-matic
-
-MYPN="${PN/scikits_/scikit-}"
-MYP="${MYPN}-${PV}"
-
-DESCRIPTION="Python modules for machine learning and data mining"
-HOMEPAGE="https://scikit-learn.org"
-SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples test"
-
-RESTRICT="!test? ( test )"
-
-# tried to unbundle virtual/python-funcsigs, funcsigs, odict
-# but it is a large mess to maintain
-
-RDEPEND="
- 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}]
- virtual/blas:=
- virtual/cblas:=
-"
-
-DEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[lapack,${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- virtual/blas:=
- virtual/cblas:=
-"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.18.1-system-cblas.patch
- "${FILESDIR}"/${PN}-0.20.2-fix-cdfast.patch )
-
-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"
-
- # remove bundled cblas
- rm -rf sklearn/src || die "failed to remove bundled cblas"
-
- # commented out, since it is a mess to maintain
- # use system joblib
- #rm -r sklearn/externals/joblib || die
- #sed -i -e '/joblib/d' sklearn/externals/setup.py || die
- #for f in sklearn/{*/,}*.py; do
- # sed -r -e '/^from/s/(sklearn|\.|)\.externals\.joblib/joblib/' \
- # -e 's/from (sklearn|\.|)\.externals import/import/' -i $f || die
- #done
-
- # use system funcsigs and odict
- #rm sklearn/externals/funcsigs.py || die
- #rm sklearn/externals/odict.py || die
- #for f in sklearn/{utils/fixes.py,gaussian_process/{tests/test_,}kernels.py}; do
- # sed -r -e 's/from (sklearn|\.|)\.externals\.funcsigs/from funcsigs/' -i $f || die
- #done
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile ${SCIPY_FCONFIG}
-}
-
-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
- JOBLIB_MULTIPROCESSING=2 SKLEARN_SKIP_NETWORK_TESTS=1 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
- distutils-r1_python_install_all
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
-}
diff --git a/sci-libs/scikits_learn/scikits_learn-0.20.4.ebuild b/sci-libs/scikits_learn/scikits_learn-0.20.4.ebuild
deleted file mode 100644
index fc65c21b1d47..000000000000
--- a/sci-libs/scikits_learn/scikits_learn-0.20.4.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit distutils-r1 flag-o-matic
-
-MYPN="${PN/scikits_/scikit-}"
-MYP="${MYPN}-${PV}"
-
-DESCRIPTION="Python modules for machine learning and data mining"
-HOMEPAGE="https://scikit-learn.org"
-SRC_URI="mirror://pypi/${MYPN:0:1}/${MYPN}/${MYP}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples test"
-
-RESTRICT="!test? ( test )"
-
-# tried to unbundle virtual/python-funcsigs, funcsigs, odict
-# but it is a large mess to maintain
-
-RDEPEND="
- 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}]
- virtual/blas:=
- virtual/cblas:=
-"
-
-DEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[lapack,${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- virtual/blas:=
- virtual/cblas:=
-"
-
-S="${WORKDIR}/${MYP}"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.18.1-system-cblas.patch
- "${FILESDIR}"/${PN}-0.20.2-fix-cdfast.patch )
-
-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"
-
- # remove bundled cblas
- rm -rf sklearn/src || die "failed to remove bundled cblas"
-
- # commented out, since it is a mess to maintain
- # use system joblib
- #rm -r sklearn/externals/joblib || die
- #sed -i -e '/joblib/d' sklearn/externals/setup.py || die
- #for f in sklearn/{*/,}*.py; do
- # sed -r -e '/^from/s/(sklearn|\.|)\.externals\.joblib/joblib/' \
- # -e 's/from (sklearn|\.|)\.externals import/import/' -i $f || die
- #done
-
- # use system funcsigs and odict
- #rm sklearn/externals/funcsigs.py || die
- #rm sklearn/externals/odict.py || die
- #for f in sklearn/{utils/fixes.py,gaussian_process/{tests/test_,}kernels.py}; do
- # sed -r -e 's/from (sklearn|\.|)\.externals\.funcsigs/from funcsigs/' -i $f || die
- #done
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile ${SCIPY_FCONFIG}
-}
-
-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
- JOBLIB_MULTIPROCESSING=2 SKLEARN_SKIP_NETWORK_TESTS=1 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
- distutils-r1_python_install_all
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
-}
diff --git a/sci-libs/scikits_learn/scikits_learn-0.22.2_p1.ebuild b/sci-libs/scikits_learn/scikits_learn-0.22.2_p1.ebuild
deleted file mode 100644
index 1c4068d298ca..000000000000
--- a/sci-libs/scikits_learn/scikits_learn-0.22.2_p1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit distutils-r1
-
-MY_PV="${PV//_p/.post}"
-MY_PN="${PN//s_/-}"
-
-DESCRIPTION="Machine learning library for Python"
-HOMEPAGE="https://scikit-learn.org/stable/
- https://github.com/scikit-learn/scikit-learn"
-SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-#ffhttps://github.com/scikit-learn/scikit-learn/archive/0.22.2.post1.tar.gz
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/wheel[${PYTHON_USEDEP}]
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- sci-libs/scipy[${PYTHON_USEDEP}]
- sci-libs/scikits[${PYTHON_USEDEP}]
- virtual/blas:=
- virtual/cblas:=
-"
-DEPEND="
- virtual/blas:=
- virtual/cblas:=
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/joblib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # scikits-learn now uses the horrible numpy.distutils automagic
- export SCIPY_FCONFIG="config_fc --noopt --noarch"
-
- # remove bundled cblas
- rm -rf sklearn/src || die "failed to remove bundled cblas"
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile ${SCIPY_FCONFIG}
-}
-
-python_test() {
- distutils_install_for_testing ${SCIPY_FCONFIG}
- pushd "${TEST_DIR}/lib" >/dev/null || die
- pytest -vv || die "testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
-
-python_install() {
- distutils-r1_python_install ${SCIPY_FCONFIG}
-}
-
-python_install_all() {
- find "${S}" -name \*LICENSE.txt -delete
- distutils-r1_python_install_all
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
-}
diff --git a/sci-libs/scikits_optimization/Manifest b/sci-libs/scikits_optimization/Manifest
deleted file mode 100644
index 402b40290eb6..000000000000
--- a/sci-libs/scikits_optimization/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST scikits.optimization-0.3.tar.gz 25297 BLAKE2B 1001ee772fb115e620f98547332f26f3876b38c9718e9f3c9a47e17863f2efbd6d9f6551da2340fda1ce612b385f757123bd32786764dcd3e287689313cac4ec SHA512 e8f33f4770d9b0514854e36127c53554823a159363c69d1ca0445a05ca9ebc55bc7105b35b2c615bfbef0c63a2b658d628befccb0ab09bcf98d91f8cb4d8be72
diff --git a/sci-libs/scikits_optimization/metadata.xml b/sci-libs/scikits_optimization/metadata.xml
deleted file mode 100644
index aaa399c35940..000000000000
--- a/sci-libs/scikits_optimization/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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-r1.ebuild b/sci-libs/scikits_optimization/scikits_optimization-0.3-r1.ebuild
deleted file mode 100644
index a86a8204ee92..000000000000
--- a/sci-libs/scikits_optimization/scikits_optimization-0.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,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() {
- esetup.py test
-}
diff --git a/sci-libs/scikits_timeseries/Manifest b/sci-libs/scikits_timeseries/Manifest
deleted file mode 100644
index fec2665f1289..000000000000
--- a/sci-libs/scikits_timeseries/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST scikits.timeseries-0.91.3-html_docs.zip 907495 BLAKE2B e06c295bb4b093c2d7d5e767a8c03cb71e84ef3207790203c920ad9a9d57488f926c7a761ffb41fbc6829a9847327d40fa202776fa36fe473663066e41ecdee4 SHA512 9fb474e2a13dee865801fa5aa5f05bb74ea2387b7e14d716210898d9b338b63b7f1935f7a5514d72ffcd6f4a8552054094244fab199e18c819815d4b19cd3f23
-DIST scikits.timeseries-0.91.3.tar.gz 323771 BLAKE2B 74c14a1ec903dd02f8b3134867d4e371bac00d1a7b22de38962c3ca27afb603296b415e3ab2f21114b9c34890c24ea10379e5465d557778c6c794470235a311e SHA512 ea7292bf4d9bcce416b6f0e2c99fc40afe97a3a0210c535bd68f43a4a553d8a30cb77ce00f96ffc26340d5ff837faf5d480ea775385769495eccb5a196a88617
diff --git a/sci-libs/scikits_timeseries/metadata.xml b/sci-libs/scikits_timeseries/metadata.xml
deleted file mode 100644
index 49f91d414312..000000000000
--- a/sci-libs/scikits_timeseries/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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-r2.ebuild b/sci-libs/scikits_timeseries/scikits_timeseries-0.91.3-r2.ebuild
deleted file mode 100644
index b1dd82b36296..000000000000
--- a/sci-libs/scikits_timeseries/scikits_timeseries-0.91.3-r2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,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-python2/Manifest b/sci-libs/scipy-python2/Manifest
deleted file mode 100644
index f554d62f88c7..000000000000
--- a/sci-libs/scipy-python2/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST scipy-1.1.0.tar.gz 15583560 BLAKE2B 477753e622ee26a3bc8c2cb6829410152df84b29ce17a6d53a66348f5536f7993fedf5d32b782405b54b3af3feabf9bc91c381ed39546076849c2fdb71039404 SHA512 72fe32c6c009613cb78202598e5db14f8e630b3218839cfe18d43d40550d94cc5aa100c6f5d41f40e86ae148e9b6a13431bb91b0f9be44b0569ccd7b725fe973
-DIST scipy-1.2.3.tar.gz 23335997 BLAKE2B 183a0e8266a6fa08ca4fa05511d28f51a5ff9b3e8d00c24a355d2db00327eb973befbefbcf47cb288aafd60718db903ac29f775f519484a7c6d0919693c0a21f SHA512 d7739fa2f25689fc14ddf09477207c990b39b593a85f5c74687df1ffe097f6eee1bb2123aaa286189309f6d3b25cdd7757053d8b1008d1d6b3367a8e3a0a53b1
diff --git a/sci-libs/scipy-python2/metadata.xml b/sci-libs/scipy-python2/metadata.xml
deleted file mode 100644
index 2425e896a8a0..000000000000
--- a/sci-libs/scipy-python2/metadata.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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-python2/scipy-python2-1.1.0.ebuild b/sci-libs/scipy-python2/scipy-python2-1.1.0.ebuild
deleted file mode 100644
index 23d6871c6c37..000000000000
--- a/sci-libs/scipy-python2/scipy-python2-1.1.0.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-MY_PN=${PN/-python2}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Scientific algorithms library for Python (py2 version)"
-HOMEPAGE="https://www.scipy.org/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="sparse test"
-RESTRICT="!test? ( test )"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-
-CDEPEND="
- || (
- >=dev-python/numpy-python2-1.10[lapack,${PYTHON_USEDEP}]
- >=dev-python/numpy-1.10[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}]
- >=dev-python/setuptools-36[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-RDEPEND="${CDEPEND}
- !<sci-libs/scipy-1.4
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-DOCS=( HACKING.rst.txt THANKS.txt )
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-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 || die
- [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
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- ${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(r)" \
- || die "Tests fail with ${EPYTHON}"
-}
-
-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-python2/scipy-python2-1.2.3.ebuild b/sci-libs/scipy-python2/scipy-python2-1.2.3.ebuild
deleted file mode 100644
index 05b35f960a41..000000000000
--- a/sci-libs/scipy-python2/scipy-python2-1.2.3.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-MY_PN=${PN/-python2}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Scientific algorithms library for Python (py2 version)"
-HOMEPAGE="https://www.scipy.org/"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="sparse test"
-RESTRICT="!test? ( test )"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-
-CDEPEND="
- || (
- >=dev-python/numpy-python2-1.10[lapack,${PYTHON_USEDEP}]
- >=dev-python/numpy-1.10[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}]
- >=dev-python/setuptools-36[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-RDEPEND="${CDEPEND}
- !<sci-libs/scipy-1.4
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-DOCS=( HACKING.rst.txt THANKS.txt )
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-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 || die
- [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
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- ${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(r)" \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install ${SCIPY_FCONFIG}
- python_optimize
-}
-
-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/Manifest b/sci-libs/scipy/Manifest
deleted file mode 100644
index 9ed4593e3fc8..000000000000
--- a/sci-libs/scipy/Manifest
+++ /dev/null
@@ -1,15 +0,0 @@
-DIST scipy-1.1.0-html.zip 49851258 BLAKE2B 528df7ed8aa8e56662f436f31ee9e1d6d72d6fe962f9f0f6f84b7a2704b53009ce333b2102ec73bb7795110f8a61b18246aab95b1e21055f2b68c0ff2225b7bb SHA512 a03894a22a67c1359ee6206e9e1c9de1f926a7f829f5039f161e78df735708da09b0e51cdad3bf36bfede701d0bc5dc44f8cc0f249b6bfb80c9d8c9fe23aed46
-DIST scipy-1.1.0-ref.pdf 34360806 BLAKE2B f82807879d5d36d91d74e8983a0f4104bcb4b69cb7787fe5190f73fbbfcb8635a9399686b3c75736d3b0b5dd877b5280ff6fba728520e3b47c13ffc7835f8cd6 SHA512 c792064c986dffafa3c5d0741f30715028e655761d099f0fdd472270cf34642b367dfa2178ddceba13043a471e3aeb1db20d65308dbb40c704dab576aaadeb3e
-DIST scipy-1.1.0.tar.gz 15583560 BLAKE2B 477753e622ee26a3bc8c2cb6829410152df84b29ce17a6d53a66348f5536f7993fedf5d32b782405b54b3af3feabf9bc91c381ed39546076849c2fdb71039404 SHA512 72fe32c6c009613cb78202598e5db14f8e630b3218839cfe18d43d40550d94cc5aa100c6f5d41f40e86ae148e9b6a13431bb91b0f9be44b0569ccd7b725fe973
-DIST scipy-1.4.1-html.zip 61414053 BLAKE2B e1f0c1a7a8941958512dcc3c0f40ef4a590bab0b44b33f842bc6e1c5d103c17f223d8b0a2f4e564f57645d601d4d74005c1ec605be2dd3bf4db19d2ac1f614d1 SHA512 9eeae83cd723d63aa1dc7a610ce3118cb68a2336be24cbfeaa8e57b34de413b2efa2fdad0978eb5bdac0ebca6b15f564b9509637efbd87d1007c969ae954e3ae
-DIST scipy-1.4.1-ref.pdf 41100747 BLAKE2B 8e56af69d0bffbe6eff73bfc5bb674aed3b80bdd80d59b58a1835f996c992306a059c2992d74c411e762490c526262753d33273613ed389928845c65eb6546b2 SHA512 76946f3b506fe22a595b70e5a418982257dd59db1a2e9af508cc1cab59d47ba4fc5951388e676f2a513043a6b3391ef853242e78d7feb99a6c21d19f6dca2b58
-DIST scipy-1.4.1.tar.gz 24555206 BLAKE2B e35f6234404839cbd24d463c8cc2f1ea66aed91534e700fd54a623df40d069b14fc220f96af04c78d13b773bfc5461559e59b0bd9b836d7953f9249ccd7cae54 SHA512 79407a2cbb4ba29c0941570181df4d7835e5791e50a3abef9b63c2fc5b15308a2e4964eb71cdebbee8cd2dcb8e497cf92fe50ee21fb12cac3013ea5e0466b25d
-DIST scipy-1.5.0-html.zip 23579592 BLAKE2B 6e35a881967d38db67278d6990fbb1912238bca05c7064585aaaf849861371680c2cd5d3e9a150301c29984aa12db0eeebf5f23cb7d2a438edb28fed9654ac79 SHA512 a1dcf9c2d003b1f722a216c8bf0fda7022765c01505343e86da64ec9a4dbda4eb7da74ad09147e5b79e610f090740d19bda6017d6f894f2566547a42e8aa97b3
-DIST scipy-1.5.0-ref.pdf 33694300 BLAKE2B a7701cdfd8f6da71b59efcefca5c080426b175976429cb64d47f05f42795fea3abb6764c2e2d1807f215c9e00ccd5b2de254f1c68269b266492dfaf76f887972 SHA512 3208ab84421fbec0597931c6050666e9da7d21c6e73a685f084e9570a39539e9c2e5f7fbdfe27951b2ba8e51a1bc42b06ddd6c906a6a13c81a34a16dc0672dda
-DIST scipy-1.5.0.tar.gz 25573194 BLAKE2B f505e5f0627687aeefe0af0886b03eead9f6426f17bca21a3f73cc0d4957ac574e0123b86424ccf0d5f8f4a963b707a1443ddcd6e149f2a4e747daa55b1be95c SHA512 4c981a3125a88593cbc5a17417022a5db8f6ccb4c1c24e78afeb9bb26428b81d2d0fe9965caa418753b1bbbda2fa30533fa1307aac6ab168458d68f7b46049be
-DIST scipy-1.5.1-html.zip 23582280 BLAKE2B 97b256bc7367836f35ce7e0ac47436dd72c1afe249dea1a2f437ea883e74ecb8f5bbe22e20bb804aac66b86fb35e8b4f0e329c44d9d601318ef1accc82e8e850 SHA512 eb0c7736d2bdc9f45926d19f4a22e1168d0f06e21b338cd7e7884af79c7634885350c510251d4cd1629b2a294003e93f8e71bafd8ec64c1aea4d4174c3946597
-DIST scipy-1.5.1-ref.pdf 33698325 BLAKE2B 6ff0d13474acf2960352580765c86ef54faa9bb616b4b8097665fa3b8a3a6033acb524d5bb76757b23d0ea9550b556293509a91e5cbeb7b0a388ea75d1bec29b SHA512 c0fbebb5dec19aebe7783507ccebf28134227096caad915e1f28f963386a07b1246fa624e4680691809c5ba31a09d3dd6e4f27f9e86f5985f8a7eecb1eea82d3
-DIST scipy-1.5.1.tar.gz 25575560 BLAKE2B e431a54f1810590b75d0f115bdbcd3c561d0d918664d91654fa4f2583d4d2807deae36b3293be0a5add650fb5d99f744e1d893d369f6053741d863e2826dcc3c SHA512 d46abaaa52e5521d8f3f6d79f58c8473a8649faa01e93d250d2ee19d5778e31c13aaa855bd8f059ddc1424ae13001f15a41f240fa6b0acf3ffd911ea30da1040
-DIST scipy-1.5.2-html.zip 23166876 BLAKE2B a90d6a2eb25c56147c0c1cccb58cddd230c20cd70dcc5c39b7307acaeac5320ff1c6ed46e3027ec40f604db503a90620cf87212e45f3158c667ec20d95bac649 SHA512 35c675821675844b163eacdaf448173edb78adb5e9f3e438a70809b8b59425a987fd3ed7d6f7863612111ece4a6a36504279ef4492166f5e24a9b2c7ea9d21e7
-DIST scipy-1.5.2-ref.pdf 33462200 BLAKE2B 5784612eb41221a02520778d72341702a7dd4ee8c0147592e170054107219b03af4ccebe1f5e2a57f90f3b892455f95ec45d8eac8e4a7155e21e9ae0526b302f SHA512 15961b7280eb903d2db7a05915b94b3c298cabf68a6694da217680e23fe621885dd169dc88a033ee001a89bc6e6b13ef787ec61009f6ffe38aeaa2dfb84f8a47
-DIST scipy-1.5.2.tar.gz 25423944 BLAKE2B 0a4987da0cde4f33bbb0e2be571b59e9064b1c6554c61c1655100abdecfde54d64845cd30c5b3fcac3ae7426572757aa9a66065dd3b48e6e4cdd4d0ea847868e SHA512 45463df30a0f6270d9f4cf52235f31607904a6ae1375e12600e7f1ab2d27b1dc25a6211b49dceb71506be22c756890adaf9f81d9e6be7455def86c9caf0dc923
diff --git a/sci-libs/scipy/metadata.xml b/sci-libs/scipy/metadata.xml
deleted file mode 100644
index f1d093c366af..000000000000
--- a/sci-libs/scipy/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <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-1.1.0.ebuild b/sci-libs/scipy/scipy-1.1.0.ebuild
deleted file mode 100644
index 119210dc4f00..000000000000
--- a/sci-libs/scipy/scipy-1.1.0.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6,7} )
-PYTHON_REQ_USE="threads(+)"
-
-DOC_PV=${PV}
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="https://www.scipy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
- https://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"
-RESTRICT="!test? ( test )"
-KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-
-CDEPEND="
- >=dev-python/numpy-1.10[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}]
- >=dev-python/setuptools-36[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-RDEPEND="${CDEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-DOCS=( HACKING.rst.txt THANKS.txt )
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-src_unpack() {
- default
- 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 || die
- [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
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # bug 721860
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- ${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(r)" \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- 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-1.4.1.ebuild b/sci-libs/scipy/scipy-1.4.1.ebuild
deleted file mode 100644
index 90fb741b4d73..000000000000
--- a/sci-libs/scipy/scipy-1.4.1.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6..9} )
-PYTHON_REQ_USE="threads(+)"
-
-DOC_PV=${PV}
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="https://www.scipy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
- )"
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="doc sparse test"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- >=dev-python/numpy-1.10[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.29.13[${PYTHON_USEDEP}]
- >=dev-python/setuptools-36[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-RDEPEND="${CDEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-DOCS=( HACKING.rst.txt THANKS.txt )
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-src_unpack() {
- default
- 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 || die
- [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
- cat >> setup.cfg <<-EOF || die
- [options]
- zip_safe = False
- EOF
-
- # Drop hashes to force rebuild of cython based .c code
- rm cythonize.dat || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # bug 721860
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- export MAKEOPTS=-j1
-
- ${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}/lib" || die "no ${TEST_DIR} available"
- PYTHONPATH=. "${EPYTHON}" -c "
-import scipy, sys
-r = scipy.test('fast', verbose=2)
-sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- distutils-r1_python_install_all
-}
-
-python_install() {
- distutils-r1_python_install ${SCIPY_FCONFIG}
- python_optimize
-}
-
-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-1.5.0.ebuild b/sci-libs/scipy/scipy-1.5.0.ebuild
deleted file mode 100644
index 21948a8eb2c5..000000000000
--- a/sci-libs/scipy/scipy-1.5.0.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6..9} )
-PYTHON_REQ_USE="threads(+)"
-
-DOC_PV=${PV}
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="https://www.scipy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
- )"
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="doc sparse test"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- >=dev-python/numpy-1.10[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.29.13[${PYTHON_USEDEP}]
- >=dev-python/setuptools-36[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-RDEPEND="${CDEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-DOCS=( HACKING.rst.txt THANKS.txt )
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-src_unpack() {
- default
- 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 || die
- [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
- cat >> setup.cfg <<-EOF || die
- [options]
- zip_safe = False
- EOF
-
- # Drop hashes to force rebuild of cython based .c code
- rm cythonize.dat || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # bug 721860
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- export MAKEOPTS=-j1
-
- ${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}/lib" || die "no ${TEST_DIR} available"
- PYTHONPATH=. "${EPYTHON}" -c "
-import scipy, sys
-r = scipy.test('fast', verbose=2)
-sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- distutils-r1_python_install_all
-}
-
-python_install() {
- distutils-r1_python_install ${SCIPY_FCONFIG}
- python_optimize
-}
-
-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-1.5.1.ebuild b/sci-libs/scipy/scipy-1.5.1.ebuild
deleted file mode 100644
index 21948a8eb2c5..000000000000
--- a/sci-libs/scipy/scipy-1.5.1.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6..9} )
-PYTHON_REQ_USE="threads(+)"
-
-DOC_PV=${PV}
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="https://www.scipy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
- )"
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="doc sparse test"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- >=dev-python/numpy-1.10[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.29.13[${PYTHON_USEDEP}]
- >=dev-python/setuptools-36[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-RDEPEND="${CDEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-DOCS=( HACKING.rst.txt THANKS.txt )
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-src_unpack() {
- default
- 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 || die
- [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
- cat >> setup.cfg <<-EOF || die
- [options]
- zip_safe = False
- EOF
-
- # Drop hashes to force rebuild of cython based .c code
- rm cythonize.dat || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # bug 721860
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- export MAKEOPTS=-j1
-
- ${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}/lib" || die "no ${TEST_DIR} available"
- PYTHONPATH=. "${EPYTHON}" -c "
-import scipy, sys
-r = scipy.test('fast', verbose=2)
-sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- distutils-r1_python_install_all
-}
-
-python_install() {
- distutils-r1_python_install ${SCIPY_FCONFIG}
- python_optimize
-}
-
-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-1.5.2.ebuild b/sci-libs/scipy/scipy-1.5.2.ebuild
deleted file mode 100644
index a3d305b08469..000000000000
--- a/sci-libs/scipy/scipy-1.5.2.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6..9} )
-PYTHON_REQ_USE="threads(+)"
-
-DOC_PV=${PV}
-
-inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="https://www.scipy.org/"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
- )"
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="doc sparse test"
-RESTRICT="!test? ( test )"
-
-CDEPEND="
- >=dev-python/numpy-1.10[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.29.13[${PYTHON_USEDEP}]
- >=dev-python/setuptools-36[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- test? (
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )"
-RDEPEND="${CDEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]"
-
-DOCS=( HACKING.rst.txt THANKS.txt )
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-src_unpack() {
- default
- 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 || die
- [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
- cat >> setup.cfg <<-EOF || die
- [options]
- zip_safe = False
- EOF
-
- # Drop hashes to force rebuild of cython based .c code
- rm cythonize.dat || die
-
- # TODO
- sed -e 's:test_magic_square_sparse_no_presolve:_&:' \
- -i scipy/optimize/tests/test_linprog.py || die
- sed -e "s:== 'levy_stable':in ('levy_stable', 'crystalball', 'ncf'):" \
- -i scipy/stats/tests/test_continuous_basic.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # bug 721860
- test-flag-FC -fallow-argument-mismatch &&
- append-fflags -fallow-argument-mismatch
-}
-
-python_compile() {
- # FIXME: parallel python building fails, bug #614464
- export MAKEOPTS=-j1
-
- ${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}/lib" || die "no ${TEST_DIR} available"
- PYTHONPATH=. "${EPYTHON}" -c "
-import scipy, sys
-r = scipy.test('fast', verbose=2)
-sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && \
- local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
- local HTML_DOCS=( "${WORKDIR}"/html/. )
- distutils-r1_python_install_all
-}
-
-python_install() {
- distutils-r1_python_install ${SCIPY_FCONFIG}
- python_optimize
-}
-
-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
index e91ef997078f..4c27e3e7fea2 100644
--- a/sci-libs/scotch/Manifest
+++ b/sci-libs/scotch/Manifest
@@ -1,2 +1,2 @@
-DIST scotch_5.1.12b_esmumps.tar.gz 3989632 BLAKE2B c529601d68bf7a5497d363a746ad46e0c5b4d0831cd9e128ce10a09580215d5370e3766ceb1c2550985b554e2ae6c125149b11f376b32881fc66c052885c814d SHA512 8d6e085029f1ec13b74bd583b8fb378db9aef8a005b96bfb726b68a4608caeb31bf7ecaf1af27566e2e4a38dfea03a017d5c2e8dd262562b238cfb113b223671
-DIST scotch_6.0.4_esmumps.tar.gz 4804966 BLAKE2B 63c058fac9206e70975463b1748eb5ce7cd2ba01d9fcbb28eba8f5914ac49a71fcf87941fafd6047712fa519f3b5523ce199bdf5228a8b094bbb465dd64a1083 SHA512 0fcf639ab1a09451256444005f1a4a739403159e3ab22c34fbcedc481be387cd4c86be6fb029b4b5816220564f64f662434bf7f1d3921ed18be081ae2a7a9ee2
+DIST scotch-v6.1.2.tar.gz 6395320 BLAKE2B 07aa4f56c097cf364d7d63613f3c5d5d3f2a8419ce27da95a4a20d5ea48fcf2f036acaa62ab1f591b5d1dc672151562bc0721a66f203c60d5ee26a501cf90352 SHA512 dcf63c65bf8155590a70483f80ad21b4a303debf50d47a3c154983935dc056f3df93a61c3d88304f3d1a4517ab3a355e176d72b3835382cd65c1556fbbd21702
+DIST scotch-v7.0.1.tar.gz 6838403 BLAKE2B 48cb928bf8586bbbe206dcb4f685e6c392ae078f5493e0384776cf6788137361286adbebceb7ad5c171eced34f5dda3f4852092413e79cbb791bd3ced204784c SHA512 c3267d5c8785a2258af3baf999d2c1eb75ef361062e74962b6e985a75cc4f5ef1f79919759ba1b7cf028f94d06a5ddf3818108a97eca4123a11d7750b5d7093d
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
deleted file mode 100644
index 73888d8797e7..000000000000
--- a/sci-libs/scotch/files/scotch-5.1.12b-as-needed.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-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.4-as-needed.patch b/sci-libs/scotch/files/scotch-6.0.4-as-needed.patch
deleted file mode 100644
index 449449bec073..000000000000
--- a/sci-libs/scotch/files/scotch-6.0.4-as-needed.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-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/files/scotch-6.0.4-flex-2.6.3-fix.patch b/sci-libs/scotch/files/scotch-6.0.4-flex-2.6.3-fix.patch
deleted file mode 100644
index c1301f57076a..000000000000
--- a/sci-libs/scotch/files/scotch-6.0.4-flex-2.6.3-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- scotch_6.0.4/src/libscotch/parser_ll.l.old 2017-01-02 08:42:41.216249106 -0800
-+++ scotch-6.0.4-r1/work/scotch_6.0.4/src/libscotch/parser_ll.l 2017-01-02 09:50:14.572579444 -0800
-@@ -84,20 +84,29 @@
- #endif /* X_OSDOS */
-
- #ifdef FLEX_SCANNER
- #define YY_ALWAYS_INTERACTIVE 1 /* Set the parser as interactive and read one char at a time */
- #define YY_INPUT(buf,result,max_size) { int c = stratParserInput (); result = (c == 0) ? YY_NULL : ((buf)[0] = c, 1); }
-+
-+# if YY_FLEX_MAJOR_VERSION > 2 || \
-+ YY_FLEX_MAJOR_VERSION == 2 && YY_FLEX_MINOR_VERSION > 6 || \
-+ YY_FLEX_MAJOR_VERSION == 2 && YY_FLEX_MINOR_VERSION == 6 && YY_FLEX_SUBMINOR_VERSION >= 3
-+ int yywrap() { return 1; }
-+# else
-+# define yywrap() (1) /* Always return end-of-file on end-of-string */
-+# endif
-+
- #else /* FLEX_SCANNER */
- #undef getc /* Redirect I/O functions */
- #define getc yygetc
- #undef yygetc
- #define yygetc(stream) stratParserInput ()
-+#define yywrap() (1) /* Always return end-of-file on end-of-string */
- #endif /* FLEX_SCANNER */
-
- #define YY_NO_UNPUT /* No prototype for yyunput as not defined */
- #define YY_SKIP_YYWRAP /* No prototype for yywrap as defined as macro */
--#define yywrap() (1) /* Always return end-of-file on end-of-string */
-
- /*
- ** The static variables.
- */
-
diff --git a/sci-libs/scotch/metadata.xml b/sci-libs/scotch/metadata.xml
index 48cba73d79f1..be2e61baf3fd 100644
--- a/sci-libs/scotch/metadata.xml
+++ b/sci-libs/scotch/metadata.xml
@@ -1,17 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
-</maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</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>
+ <flag name="tools">Provides the graph, mesh, architecture, mapping/ordering, output handling programs (see Scotch User's Guide).</flag>
</use>
<longdescription lang="en">
SCOTCH is a software package and libraries for graph, mesh and
diff --git a/sci-libs/scotch/scotch-5.1.12b.ebuild b/sci-libs/scotch/scotch-5.1.12b.ebuild
deleted file mode 100644
index 7188b5ab48f2..000000000000
--- a/sci-libs/scotch/scotch-5.1.12b.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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.4-r2.ebuild b/sci-libs/scotch/scotch-6.0.4-r2.ebuild
deleted file mode 100644
index 9f16ee0554d2..000000000000
--- a/sci-libs/scotch/scotch-6.0.4-r2.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc 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
- epatch "${FILESDIR}"/${P}-flex-2.6.3-fix.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
-
- #install metis headers into a subdir
- #to allow usage of real metis and scotch
- #in the same code
- insinto /usr/include/scotch/metis
- doins include/*metis*
- rm include/*metis*
- 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/metis
- 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/metis
- 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.1.2.ebuild b/sci-libs/scotch/scotch-6.1.2.ebuild
new file mode 100644
index 000000000000..70616bcc0aaa
--- /dev/null
+++ b/sci-libs/scotch/scotch-6.1.2.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs flag-o-matic multilib
+
+SOVER=$(ver_cut 1)
+
+DESCRIPTION="Software for graph, mesh and hypergraph partitioning"
+HOMEPAGE="https://www.labri.u-bordeaux.fr/perso/pelegrin/scotch/ https://gitlab.inria.fr/scotch/scotch"
+SRC_URI="https://gitlab.inria.fr/${PN}/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.gz"
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="CeCILL-2"
+SLOT="0/${SOVER}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc int64 mpi static-libs test tools +threads"
+# bug #532620
+REQUIRED_USE="test? ( threads )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-libs/zlib
+ mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+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"
+ VERS_COMP=${PV//.}
+ [[ "${#VERS_COMP}" -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname ${SOVER})
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ default
+ 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
+
+ # Be careful with replacing here, bug #577272
+ sed -e "s/= gcc$/= $(tc-getCC)/" \
+ -e "s/-O3/${CFLAGS} -pthread/" \
+ -e "s/= ar$/= $(tc-getAR)/" \
+ -e "s/= ranlib$/= $(tc-getRANLIB)/" \
+ -e "s/= ranlib$/= $(tc-getRANLIB)/" \
+ -e "/^LDFLAGS/ s/$/ ${LDFLAGS}/" \
+ 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() {
+ tc-export FC
+ LD_LIBRARY_PATH="${S}/lib" emake -C src check
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/*.a
+
+ #install metis headers into a subdir
+ #to allow usage of real metis and scotch
+ #in the same code
+ insinto /usr/include/scotch/metis
+ doins include/*metis*
+ rm include/*metis*
+ 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/metis
+ 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/metis
+ 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 || die
+ for b in *; do
+ newbin ${b} scotch_${b}
+ done
+ popd > /dev/null || die
+
+ pushd man/man1 > /dev/null || die
+ for m in *.1; do
+ newman ${m} scotch_${m}
+ done
+ popd > /dev/null || die
+ fi
+
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/scotch/scotch-7.0.1-r1.ebuild b/sci-libs/scotch/scotch-7.0.1-r1.ebuild
new file mode 100644
index 000000000000..2c9d51f1b1e0
--- /dev/null
+++ b/sci-libs/scotch/scotch-7.0.1-r1.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs flag-o-matic multilib
+
+SOVER=$(ver_cut 1)
+
+DESCRIPTION="Software for graph, mesh and hypergraph partitioning"
+HOMEPAGE="https://www.labri.u-bordeaux.fr/perso/pelegrin/scotch/ https://gitlab.inria.fr/scotch/scotch"
+SRC_URI="https://gitlab.inria.fr/${PN}/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.gz"
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="CeCILL-2"
+SLOT="0/${SOVER}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc int64 mpi static-libs test tools +threads"
+# bug #532620
+REQUIRED_USE="test? ( threads )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-libs/zlib
+ mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+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"
+ VERS_COMP=${PV//.}
+ [[ "${#VERS_COMP}" -gt 1 ]] && \
+ ln -s ${soname} ${libdir}/${libname}$(get_libname ${SOVER})
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ default
+ 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
+
+ # Be careful with replacing here, bug #577272
+ sed -e "s/= gcc$/= $(tc-getCC)/" \
+ -e "s/-O3/${CFLAGS} -pthread/" \
+ -e "s/= ar$/= $(tc-getAR)/" \
+ -e "s/= ranlib$/= $(tc-getRANLIB)/" \
+ -e "/^LDFLAGS/ s/$/ ${LDFLAGS}/" \
+ 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/libscotchmetisv3.a -Llib -lscotch
+ static_to_shared lib/libscotchmetisv5.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
+ fi
+ if use static-libs; then
+ emake -C src clean
+ emake -C src
+ use mpi && emake -C src ptscotch
+ fi
+}
+
+src_test() {
+ tc-export FC
+ LD_LIBRARY_PATH="${S}/lib" emake -C src check
+}
+
+src_install() {
+ dolib.so lib/lib*$(get_libname)*
+ use static-libs && dolib.a lib/*.a
+
+ # Install metis headers into a subdir
+ # to allow usage of real metis and scotch
+ # in the same code
+ insinto /usr/include/scotch/metis
+ doins include/*metis*
+ rm include/*metis* || die
+
+ 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/metis
+ 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/metis
+ 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 || die
+ for b in *; do
+ newbin ${b} scotch_${b}
+ done
+ popd > /dev/null || die
+
+ pushd man/man1 > /dev/null || die
+ for m in *.1; do
+ newman ${m} scotch_${m}
+ done
+ popd > /dev/null || die
+ fi
+
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/seqeval/Manifest b/sci-libs/seqeval/Manifest
new file mode 100644
index 000000000000..509db7dd33b7
--- /dev/null
+++ b/sci-libs/seqeval/Manifest
@@ -0,0 +1 @@
+DIST seqeval-1.2.2.gh.tar.gz 42187 BLAKE2B c0ae8b71fab3d29381d5e2bc70f733b5d176b8a447ee7803a8b4681a1fbd9d197e288c1e3c1239454b5c669addc4977d8a3274c63884529d8c682bf584f2cd3a SHA512 794b817dcd19bc60ecc1c3c3f188bb17b2786dd3629691c43a594443b6dd2a3298b398309d5f14817ff1e0e37859fe109175b8bd48d0d30243de0ea4845c381a
diff --git a/sci-libs/seqeval/files/seqeval-1.2.2-gentoo.patch b/sci-libs/seqeval/files/seqeval-1.2.2-gentoo.patch
new file mode 100644
index 000000000000..17af496e249a
--- /dev/null
+++ b/sci-libs/seqeval/files/seqeval-1.2.2-gentoo.patch
@@ -0,0 +1,10 @@
+--- a/tests/test_metrics.py 2023-05-04 09:00:31.656558311 +0200
++++ b/tests/test_metrics.py 2023-05-04 09:02:09.151781216 +0200
+@@ -158,6 +158,7 @@
+ self.assertLess(abs(r_pred - r_pred_inv), 1e-4)
+ self.assertLess(abs(f1_pred - f1_pred_inv), 1e-4)
+
++ @pytest.mark.skip(reason="take too much time to finish")
+ def test_statistical_tests(self):
+ filepath = 'eval_data.txt'
+ for prefix in ['BIO', 'EIO']:
diff --git a/sci-libs/seqeval/metadata.xml b/sci-libs/seqeval/metadata.xml
new file mode 100644
index 000000000000..11047fcb8a30
--- /dev/null
+++ b/sci-libs/seqeval/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">seqeval</remote-id>
+ <remote-id type="github">chakki-works/seqeval</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/seqeval/seqeval-1.2.2-r3.ebuild b/sci-libs/seqeval/seqeval-1.2.2-r3.ebuild
new file mode 100644
index 000000000000..15490e06935d
--- /dev/null
+++ b/sci-libs/seqeval/seqeval-1.2.2-r3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="Python framework for sequence labeling evaluation"
+HOMEPAGE="
+ https://pypi.org/project/seqeval/
+ https://github.com/chakki-works/seqeval
+"
+SRC_URI="https://github.com/chakki-works/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scikit-learn[${PYTHON_USEDEP}]
+"
+BDEPEND="test? (
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+)"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ cd tests
+ distutils-r1_src_test
+}
diff --git a/sci-libs/shapelib/metadata.xml b/sci-libs/shapelib/metadata.xml
index e0675810805a..080560a80ec2 100644
--- a/sci-libs/shapelib/metadata.xml
+++ b/sci-libs/shapelib/metadata.xml
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-geosciences@gentoo.org</email>
<name>Gentoo Geosciences Project</name>
</maintainer>
- <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.5.0.ebuild b/sci-libs/shapelib/shapelib-1.5.0.ebuild
index bb0e872ae7d7..1780ce65a758 100644
--- a/sci-libs/shapelib/shapelib-1.5.0.ebuild
+++ b/sci-libs/shapelib/shapelib-1.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="http://download.osgeo.org/${PN}/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2"
SLOT="0/2"
-KEYWORDS="amd64 ~arm arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE="doc static-libs"
src_prepare() {
diff --git a/sci-libs/shogun/Manifest b/sci-libs/shogun/Manifest
deleted file mode 100644
index 8a9281c8d29f..000000000000
--- a/sci-libs/shogun/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST shogun-5.0.0.tar.bz2 2448509 BLAKE2B 85352d782740b4c671bb6081e0445bb7e801e27e36fdc0f82658b937fd6658c41016e4a91841ddb09ae9062b77d32f290f56b191318c1c34bf0812d1b9a8b364 SHA512 fa8d9dee4596acce12022540a6927cbdb62e08f8468c8be3790de07ebf3a53055032bcc532b28334ca83284c38f2b0153602634f12bafe4019acb9121b9ff236
-DIST shogun-data-0.9.tar.bz2 287533841 BLAKE2B 796830262205961b88715f4eb60a47ff2ad108426b7af8e4e1a0733920962ad8154a1ab9892356e9793be24d415fcbc358960210f089a0173f55a0091ea3c0d1 SHA512 ab501640e2db650603899c857866b451fac5c7bbbc7b4ef98559581928869cea49aa326dfca1bb398eee7ebc8843dcc8ee3105c9f462718f1af672aac6b9340a
diff --git a/sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch b/sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch
deleted file mode 100644
index 08edcfac97a2..000000000000
--- a/sci-libs/shogun/files/shogun-4.1.0-remove-C-linkage.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Prevent C linkage errors due to templates in extern "C" blocks:
-* /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h:85:3: error: template with C linkage
-* template<bool>
-* ^
-* /usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5/bits/cpp_type_traits.h:89:3: error: template specialization with C linkage
-* template<>
-* ^
-extern "C" blocks can be removed in shogun, as R internally correctly protects C symbols
-
---- shogun-4.1.0/src/interfaces/r_modular/sg_print_functions.cpp
-+++ shogun-4.1.0/src/interfaces/r_modular/sg_print_functions.cpp
-@@ -1,4 +1,3 @@
--extern "C" {
- #include <R.h>
- #include <Rinternals.h>
- #include <Rdefines.h>
-@@ -7,7 +6,6 @@
- #include <Rinterface.h>
- #include <R_ext/RS.h>
- #include <R_ext/Error.h>
--}
-
- #include <shogun/base/SGObject.h>
- #include <stdio.h>
diff --git a/sci-libs/shogun/files/shogun-5.0.0-fix-buildsystem.patch b/sci-libs/shogun/files/shogun-5.0.0-fix-buildsystem.patch
deleted file mode 100644
index 1eb7cd075ece..000000000000
--- a/sci-libs/shogun/files/shogun-5.0.0-fix-buildsystem.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-* Remove setting of user flags
-* Remove erroneous bundling of Eigen
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -33,15 +33,6 @@
- SET(EIGEN_VERSION_MINIMUM 3.1.2)
- SET(VIENNACL_VERSION_MINIMUM 1.5.0)
-
--# Store system's or distribution's C[XX]FLAGS.
--SET(SYSTEM_C_FLAGS "${CMAKE_C_FLAGS}")
--SET(SYSTEM_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
--STRING(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_UC)
--IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
-- SET(CMAKE_C_FLAGS "")
-- SET(CMAKE_CXX_FLAGS "")
--ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
--
- # CCACHE
- OPTION(ENABLE_CCACHE "Enable ccache for compilation" ON)
- FIND_PACKAGE(CCache)
-@@ -174,24 +165,6 @@
- SET(COMPILER_WARNINGS "-Wall -Wno-unused-parameter -Wformat -Wformat-security -Wparentheses -Wshadow -Wno-unknown-pragmas -Wno-deprecated")
- ENDIF()
-
--IF(CMAKE_COMPILER_IS_GNUCXX)
-- SET(RELEASE_COMPILER_FLAGS "-fexpensive-optimizations -frerun-cse-after-loop -fcse-follow-jumps -finline-functions -fschedule-insns2 -fthread-jumps -fforce-addr -fstrength-reduce -funroll-loops")
-- IF (${MACHINE} MATCHES "x86_64" OR ${MACHINE} MATCHES "i686")
-- SET(RELEASE_COMPILER_FLAGS "${RELEASE_COMPILER_FLAGS} -mfpmath=sse")
-- ENDIF()
--ELSEIF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
-- SET(RELEASE_COMPILER_FLAGS "-funroll-loops")
--ENDIF()
--SET(SWIG_CXX_COMPILER_FLAGS "-O0 -g")
--SET(CMAKE_C_FLAGS "${COMPILER_WARNINGS} ${CMAKE_C_FLAGS}")
--SET(CMAKE_CXX_FLAGS "${COMPILER_WARNINGS} ${CMAKE_CXX_FLAGS}")
--SET(CMAKE_C_FLAGS_RELEASE "-O3 ${RELEASE_COMPILER_FLAGS}")
--SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${RELEASE_COMPILER_FLAGS}")
--SET(CMAKE_C_FLAGS_DISTRIBUTION "-O2")
--SET(CMAKE_CXX_FLAGS_DISTRIBUTION "-O2")
--SET(CMAKE_C_FLAGS_DEBUG "-g")
--SET(CMAKE_CXX_FLAGS_DEBUG "-g")
--
- OPTION(ENABLE_COVERAGE "Enable code coverage" OFF)
- IF(ENABLE_COVERAGE)
- IF(NOT CMAKE_COMPILER_IS_GNUCXX)
-@@ -617,13 +590,6 @@
- include(external/Eigen3)
- LIST(APPEND SYSTEM_INCLUDES ${EIGEN_INCLUDE_DIR})
- ELSE()
-- # eigen3 bug related to aliasing operators and self-storing.
-- # TODO put in proper reference and version from when this is fixed
-- IF(${EIGEN_VERSION} VERSION_GREATER 3.2.90)
-- MESSAGE(WARNING "The system Eigen3 version ${EIGEN_VERSION} is buggy, manually bundling.")
-- include(external/Eigen3)
-- ENDIF()
--
- LIST(APPEND SYSTEM_INCLUDES ${EIGEN_INCLUDE_DIR})
- ENDIF()
-
-@@ -957,11 +923,6 @@
- # Respect system's or distribution's C[XX]FLAGS.
- OPTION(SWIG_WITH_SYSTEM_CFLAGS "Enable system's C[XX]FLAGS for compilation of swig-binaries" ON)
-
--IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
-- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SYSTEM_C_FLAGS}")
-- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SYSTEM_CXX_FLAGS}")
--ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION"))
--
- IF(SWIG_WITH_SYSTEM_CFLAGS)
- SET(SWIG_CXX_COMPILER_FLAGS "${SWIG_CXX_COMPILER_FLAGS} ${SYSTEM_CXX_FLAGS}")
- ENDIF(SWIG_WITH_SYSTEM_CFLAGS)
diff --git a/sci-libs/shogun/metadata.xml b/sci-libs/shogun/metadata.xml
deleted file mode 100644
index 88454ce87eb6..000000000000
--- a/sci-libs/shogun/metadata.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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="R">Enable support for <pkg>dev-lang/R</pkg></flag>
- <flag name="octave">Enable support for <pkg>sci-mathematics/octave</pkg></flag>
- <flag name="opencl">Enable support for building against OpenCL</flag>
- </use>
-</pkgmetadata>
diff --git a/sci-libs/shogun/shogun-5.0.0-r1.ebuild b/sci-libs/shogun/shogun-5.0.0-r1.ebuild
deleted file mode 100644
index 1db83f206fad..000000000000
--- a/sci-libs/shogun/shogun-5.0.0-r1.ebuild
+++ /dev/null
@@ -1,167 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_6 )
-
-inherit cmake-utils flag-o-matic python-single-r1 toolchain-funcs versionator
-
-MYPV=$(get_version_component_range 1-2)
-MYPD=${PN}-data-0.9
-
-DESCRIPTION="Large Scale Machine Learning Toolbox"
-HOMEPAGE="https://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="cpu_flags_x86_sse doc examples lua octave opencl python R ruby static-libs test"
-RESTRICT="!test? ( 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
- 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:0=
- sys-libs/zlib
- virtual/blas
- virtual/cblas
- virtual/lapack
- lua? ( dev-lang/lua:0 )
- octave? ( >=sci-mathematics/octave-4.2.0:=[hdf5] )
- opencl? ( virtual/opencl )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_MULTI_USEDEP}]
- ')
- )
- R? ( dev-lang/R )
- ruby? ( dev-ruby/narray )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-doc/doxygen-1.8.13-r1[dot]
- dev-python/sphinx
- )
- lua? ( >=dev-lang/swig-3.0.12 )
- octave? ( >=dev-lang/swig-3.0.12 )
- python? (
- >=dev-lang/swig-3.0.12
- test? (
- sci-libs/scipy
- )
- )
- R? ( >=dev-lang/swig-3.0.12 )
- ruby? ( >=dev-lang/swig-3.0.12 )
- test? (
- $(python_gen_cond_dep '
- dev-python/jinja[${PYTHON_MULTI_USEDEP}]
- ')
- >=dev-cpp/gtest-1.8.0
- )"
-
-# 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}"/${PN}-5.0.0-fix-buildsystem.patch
- "${FILESDIR}"/${PN}-4.1.0-remove-C-linkage.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)"
-
- append-cppflags "$($(tc-getPKG_CONFIG) --cflags cblas)"
-
- local mycmakeargs=(
- -DCMAKE_SKIP_RPATH=ON
- -DCMAKE_SKIP_INSTALL_RPATH=ON
- -DLIB_INSTALL_DIR=$(get_libdir)
- -DENABLE_TESTING=$(usex test)
- -DBUILD_EXAMPLES=$(usex examples)
- -DDISABLE_SSE=$(usex !cpu_flags_x86_sse)
- -DCMAKE_DISABLE_FIND_PACKAGE_Pandoc=ON
- $(cmake-utils_use_find_package doc Sphinx)
- $(cmake-utils_use_find_package doc Doxygen)
-
- # Features:
- -DENABLE_COVERAGE=OFF
- -DENABLE_COLPACK=ON
- -DENABLE_PROTOBUF=ON
- -DENABLE_PYTHON_DEBUG=OFF
- -DENABLE_VIENNACL=$(usex opencl)
- -DUSE_ARPREC=ON
- -DUSE_HDF5=ON
-
- # Bindings:
- -DJavaModular=OFF
- -DPerlModular=OFF
- -DCSharpModular=OFF
- -DLuaModular=$(usex lua)
- -DOctaveModular=$(usex octave)
- -DPythonModular=$(usex python)
- -DRModular=$(usex R)
- -DRubyModular=$(usex ruby)
-
- # Disable bundled libs
- -DBUNDLE_COLPACK=OFF
- -DBUNDLE_JSON=OFF
- -DBUNDLE_NLOPT=OFF
- )
- 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 && cmake-utils_src_compile -C doc
-}
-
-src_install() {
- cmake-utils_src_install
-
- if use doc; then
- local i
- for i in lua octave python R ruby; do
- if use $i; then
- docinto html/${i,}_modular
- dodoc -r "${BUILD_DIR}"/src/interfaces/${i,}_modular/modshogun/doxygen_xml/.
- fi
- done
- fi
-}
diff --git a/sci-libs/silo/Manifest b/sci-libs/silo/Manifest
index b6f65c970d1f..a2470626ee06 100644
--- a/sci-libs/silo/Manifest
+++ b/sci-libs/silo/Manifest
@@ -1 +1,2 @@
-DIST silo-4.10.2.tar.gz 13135900 BLAKE2B 6326a42df43c4bb6936522d1730db8ce45c6b74779cf37b7a5a0b7a72def9e9a4f174b68392adbda59936113ccac4ae5e7bf7266effb364eac7e5d0cff8bb37c SHA512 8cd1340ed641c8be77f310b286da344e2fed7ae469ed7bebf5deebaa1a369ca91c283b38eae2c57b7ad046f65343cfaa56a1c07b6c8b07b79aad69c4e5617f6e
+DIST silo-4.11-bsd.tgz 13298515 BLAKE2B fcf2e7912381e57d1a64644d3cee4dea50302c12704eaf0ee9e2569b7bc29b1d5c9df66878744ffc2cc04e16834fdf1cd4d677983af36005e4ecf0918c6283d5 SHA512 f642dd21dacffa147aea54d6f8669c704772d5640d6eb7eeff1d7e5e5d37ddbde250d78bad30e9478dcfec63a86863243d7a56cd9b692eaefdd7a89b34df35d0
+DIST silo-4.11.1-bsd.tar.xz 4581480 BLAKE2B 577bb9e367cae08496ec2062ce7b1fc6ebd04a8221bfb304585ea8b338502793a8ba43c14dbf8a7fd1f61b3c8a3a7886da1e9a7f9a1972d2a9cb69d5e36362e3 SHA512 e4ecfc434b43ea0bd2e3cda469f5e232b0bdfd25a44da04e77f2213ff20fd4158bc085d16b10de22d9a4be0ce822899e2b7f20c53b4d4bd941f92357a873c4a2
diff --git a/sci-libs/silo/files/silo-4.10.2-mpiposix.patch b/sci-libs/silo/files/silo-4.10.2-mpiposix.patch
deleted file mode 100644
index 30a3f910b196..000000000000
--- a/sci-libs/silo/files/silo-4.10.2-mpiposix.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- src/hdf5_drv/silo_hdf5.c.orig 2017-07-28 08:52:09.026638768 +0200
-+++ src/hdf5_drv/silo_hdf5.c 2017-07-28 09:00:12.306635882 +0200
-@@ -4752,18 +4752,19 @@
- }
-
- /* default HDF5 mpi drivers */
-- case DB_FILE_OPTS_H5_DEFAULT_MPIP:
-- {
--#ifdef H5_HAVE_PARALLEL
-- h5status |= H5Pset_fapl_mpiposix(retval, MPI_COMM_SELF, TRUE);
--#else
-- H5Pclose(retval);
-- return db_perror("HDF5 MPI VFD", E_NOTENABLEDINBUILD, me);
--#endif
-- break;
-- }
-+// case DB_FILE_OPTS_H5_DEFAULT_MPIP:
-+// {
-+//#ifdef H5_HAVE_PARALLEL
-+// h5status |= H5Pset_fapl_mpiposix(retval, MPI_COMM_SELF, TRUE);
-+//#else
-+// H5Pclose(retval);
-+// return db_perror("HDF5 MPI VFD", E_NOTENABLEDINBUILD, me);
-+//#endif
-+// break;
-+// }
-
- case DB_FILE_OPTS_H5_DEFAULT_MPIO:
-+ case DB_FILE_OPTS_H5_DEFAULT_MPIP:
- {
- #ifdef H5_HAVE_PARALLEL
- MPI_Info info;
-@@ -5069,15 +5070,15 @@
- if ((p = DBGetOption(opts, DBOPT_H5_MPIP_NO_GPFS_HINTS)))
- use_gpfs_hints = FALSE;
-
-- if (vfd == DB_H5VFD_MPIO)
-+// if (vfd == DB_H5VFD_MPIO)
- {
- h5status |= H5Pset_fapl_mpio(retval, mpi_comm, mpi_info);
- if (created_info) MPI_Info_free(&mpi_info);
- }
-- else
-- {
-- h5status |= H5Pset_fapl_mpiposix(retval, mpi_comm, use_gpfs_hints);
-- }
-+// else
-+// {
-+// h5status |= H5Pset_fapl_mpiposix(retval, mpi_comm, use_gpfs_hints);
-+// }
- #else
- H5Pclose(retval);
- return db_perror("HDF5 MPI VFD", E_NOTENABLEDINBUILD, me);
diff --git a/sci-libs/silo/files/silo-4.10.2-qt5.patch b/sci-libs/silo/files/silo-4.10.2-qt5.patch
deleted file mode 100644
index 1e1fe8803a37..000000000000
--- a/sci-libs/silo/files/silo-4.10.2-qt5.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- tools/silex/SiloFile.h.orig 2018-01-24 11:01:23.354705068 +0100
-+++ tools/silex/SiloFile.h 2018-01-24 11:01:34.843705761 +0100
-@@ -61,6 +61,8 @@
- #include <vector>
- using std::vector;
-
-+#define toAscii toLatin1
-+
- // ****************************************************************************
- // Class: SiloDir
- //
---- tools/silex/main.cpp.orig 2018-01-24 11:02:21.201708556 +0100
-+++ tools/silex/main.cpp 2018-01-24 11:02:34.146709336 +0100
-@@ -58,7 +58,7 @@
- #include <cstdlib>
-
- #ifndef Q_WS_MACX
--#include "qwindowsstyle.h"
-+//#include "qwindowsstyle.h"
- #endif
- #include "qfiledialog.h"
- #include "qstring.h"
-@@ -91,7 +91,7 @@
- QApplication::setColorSpec(QApplication::ManyColor);
- QApplication a(argc, argv);
- #ifndef Q_WS_MACX
-- a.setStyle(new QWindowsStyle);
-+// a.setStyle(new QWindowsStyle);
- #endif
- Explorer *w = 0;
- if (argc > 1)
---- tools/silex/SiloView.cpp.orig 2018-01-24 11:03:13.775711725 +0100
-+++ tools/silex/SiloView.cpp 2018-01-24 11:03:30.032712706 +0100
-@@ -109,8 +109,8 @@
- dirTreeView->OpenRootDir();
- dirView->Set(silo->root);
-
-- dirTreeView->header()->setResizeMode(QHeaderView::Interactive);
-- dirView->header()->setResizeMode(QHeaderView::Interactive);
-+ dirTreeView->header()->setSectionResizeMode(QHeaderView::Interactive);
-+ dirView->header()->setSectionResizeMode(QHeaderView::Interactive);
- }
- }
-
diff --git a/sci-libs/silo/files/silo-4.10.2-qtlibs.patch b/sci-libs/silo/files/silo-4.10.2-qtlibs.patch
deleted file mode 100644
index ecd5297c281f..000000000000
--- a/sci-libs/silo/files/silo-4.10.2-qtlibs.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- configure.orig 2018-01-24 10:50:10.458664501 +0100
-+++ configure 2018-01-24 10:50:42.967666461 +0100
-@@ -27541,7 +27541,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 -lQt5Core -lQt5Gui -lQt5Widgets -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- else
- # Use cached value or do search, starting with suggestions from
- # the command line
-@@ -27615,7 +27615,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 -lQt5Core -lQt5Gui -lQt5Widgets -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=
-@@ -27627,7 +27627,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 -lQt5Core -lQt5Gui -lQt5Widgets -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
-@@ -27645,10 +27645,10 @@
- # 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 -lQt5Core -lQt5Gui -lQt5Widgets -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"
-+ CXXFLAGS="-I$ax_qt_include_dir -I$ax_qt_include_dir/Qt -I$ax_qt_include_dir/QtCore -I$ax_qt_include_dir/QtGui -I$ax_qt_include_dir/QtWidgets -fPIC"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -27706,7 +27706,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 -lQt5Core -lQt5Gui -lQt5Widgets -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -27764,7 +27764,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 -lQt5Core -lQt5Gui -lQt5Widgets -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -27847,7 +27847,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 -lQt5Core -lQt5Gui -lQt5Widgets -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -27955,7 +27955,7 @@
- fi # all $ax_qt_* are set
- fi # $have_qt reflects the system status
- if test x"$have_qt" = xyes; then
-- QT_CXXFLAGS="-I$ax_qt_include_dir -I$ax_qt_include_dir/Qt -I$ax_qt_include_dir/QtCore -I$ax_qt_include_dir/QtGui"
-+ QT_CXXFLAGS="-I$ax_qt_include_dir -I$ax_qt_include_dir/Qt -I$ax_qt_include_dir/QtCore -I$ax_qt_include_dir/QtGui -I$ax_qt_include_dir/QtWidgets -fPIC"
- if test x"$ax_qt_lib" = xqt-mt; then
- QT_CXXFLAGS="$QT_CXXFLAGS -DQT_THREAD_SUPPORT"
- fi
diff --git a/sci-libs/silo/files/silo-4.10.2-tests.patch b/sci-libs/silo/files/silo-4.10.2-tests.patch
deleted file mode 100644
index 2e0a52191d0e..000000000000
--- a/sci-libs/silo/files/silo-4.10.2-tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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.11-hdf5.patch b/sci-libs/silo/files/silo-4.11-hdf5.patch
new file mode 100644
index 000000000000..6791a44aa2b1
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.11-hdf5.patch
@@ -0,0 +1,46 @@
+Link: https://aur.archlinux.org/cgit/aur.git/tree/hdf5.patch?h=silo
+
+--- a/src/hdf5_drv/H5FDsilo.c 2021-09-11 01:22:52.000000000 +0300
++++ b/src/hdf5_drv/H5FDsilo.c 2021-11-25 00:37:06.685422949 +0200
+@@ -252,13 +252,13 @@
+ snprintf(msg, sizeof(msg), Msg "(errno=%d, \"%s\")", \
+ Errno, strerror(Errno)); \
+ ret_value = Ret; \
+- H5Epush_ret(Func, Cls, Maj, Min, msg, Ret) \
++ H5Epush_ret(Func, Cls, Maj, Min, msg, Ret); \
+ }
+ #else
+ #define H5E_PUSH_HELPER(Func,Cls,Maj,Min,Msg,Ret,Errno) \
+ { \
+ ret_value = Ret; \
+- H5Epush_ret(Func, Cls, Maj, Min, Msg, Ret) \
++ H5Epush_ret(Func, Cls, Maj, Min, Msg, Ret); \
+ }
+ #endif
+
+@@ -1355,7 +1355,7 @@
+ assert(sizeof(hsize_t)<=8);
+ memcpy(p, &file->block_size, sizeof(hsize_t));
+ if (H5Tconvert(H5T_NATIVE_HSIZE, H5T_STD_U64LE, 1, buf+8, NULL, H5P_DEFAULT)<0)
+- H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1)
++ H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1);
+
+ return 0;
+ }
+@@ -1383,14 +1383,14 @@
+
+ /* Make sure the name/version number is correct */
+ if (strcmp(name, "LLNLsilo"))
+- H5Epush_ret(func, H5E_ERR_CLS, H5E_FILE, H5E_BADVALUE, "invalid silo superblock", -1)
++ H5Epush_ret(func, H5E_ERR_CLS, H5E_FILE, H5E_BADVALUE, "invalid silo superblock", -1);
+
+ buf += 8;
+ /* Decode block size */
+ assert(sizeof(hsize_t)<=8);
+ memcpy(x, buf, 8);
+ if (H5Tconvert(H5T_STD_U64LE, H5T_NATIVE_HSIZE, 1, x, NULL, H5P_DEFAULT)<0)
+- H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1)
++ H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1);
+ ap = (hsize_t*)x;
+ /*file->block_size = *ap; ignore stored value for now */
+
diff --git a/sci-libs/silo/files/silo-4.11-qtbindir.patch b/sci-libs/silo/files/silo-4.11-qtbindir.patch
new file mode 100644
index 000000000000..70a62a9b8ec8
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.11-qtbindir.patch
@@ -0,0 +1,43 @@
+--- a/configure 2021-09-11 00:22:52.000000000 +0200
++++ b/configure 2022-10-16 17:03:52.235916191 +0200
+@@ -25725,7 +25725,10 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt" >&5
+ $as_echo_n "checking for Qt... " >&6; }
+ # If we have Qt5 or later in the path, we're golden
+- ver=`qmake --version | grep -o "Qt version ."`
++ if [[ -z $QMAKE ]]; then
++ QMAKE=qmake
++ fi
++ ver=`$QMAKE --version | grep -o "Qt version ."`
+ if test "$ver" ">" "Qt version 4"; then
+ have_qt=yes
+ # This pro file dumps qmake's variables, but it only works on Qt 5 or later
+@@ -25750,21 +25753,21 @@
+ percent.commands = @echo -n "\$(\$(@))\ "
+ QMAKE_EXTRA_TARGETS += percent
+ EOF
+- qmake $am_have_qt_pro -o $am_have_qt_makefile
++ $QMAKE $am_have_qt_pro -o $am_have_qt_makefile
+ QT_CXXFLAGS=`cd $am_have_qt_dir; make -s -f $am_have_qt_makefile CXXFLAGS INCPATH | tr -d '"'`
+ QT_LIBS=`cd $am_have_qt_dir; make -s -f $am_have_qt_makefile LIBS`
+ rm $am_have_qt_pro $am_have_qt_makefile
+ rmdir $am_have_qt_dir
+
+ # Look for specific tools in $PATH
+- QT_MOC=`which moc`
+- QT_UIC=`which uic`
+- QT_RCC=`which rcc`
+- QT_LRELEASE=`which lrelease`
+- QT_LUPDATE=`which lupdate`
++ QT_MOC=$QT_BIN_DIR/moc
++ QT_UIC=$QT_BIN_DIR/uic
++ QT_RCC=$QT_BIN_DIR/rcc
++ QT_LRELEASE=$QT_BIN_DIR/lrelease
++ QT_LUPDATE=$QT_BIN_DIR/lupdate
+
+ # Get Qt version from qmake
+- QT_DIR=`qmake --version | grep -o -E /.+`
++ QT_DIR=`$QMAKE --version | grep -o -E /.+`
+
+ # All variables are defined, report the result
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_qt:
diff --git a/sci-libs/silo/files/silo-4.11-test-disable-largefile.patch b/sci-libs/silo/files/silo-4.11-test-disable-largefile.patch
new file mode 100644
index 000000000000..953453e12fe0
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.11-test-disable-largefile.patch
@@ -0,0 +1,23 @@
+Author: Alastair McKinstry <mckinstry@debian.org>
+Description: Disable largefile test. Seems to fail on rounding error
+Forwarded: yes
+Last-Updated: 2011-06-09
+Link: https://sources.debian.org/patches/silo-llnl/4.11-2/test-disable-largefile.patch/
+
+--- a/tests/testsuite.at
++++ b/tests/testsuite.at
+@@ -324,10 +324,10 @@
+ AT_SETUP(xversion)
+ AT_CHECK(test -z "$BROWSER" -o "$STARGS" != DB_HDF5 && exit 77 || $VALGRIND testxvers `pwd`,,ignore,ignore)
+ AT_CLEANUP
+-AT_SETUP(largefile)
+-AT_KEYWORDS(large)
+-AT_CHECK(test "$STARGS" != DB_HDF5 && exit 77 || $VALGRIND largefile,,ignore,ignore)
+-AT_CLEANUP
++#AT_SETUP(largefile)
++#AT_KEYWORDS(large)
++#AT_CHECK(test "$STARGS" != DB_HDF5 && exit 77 || $VALGRIND largefile,,ignore,ignore)
++#AT_CLEANUP
+ #AT_SETUP(memfile_simple)
+ #AT_CHECK(testall -small $STARGS,,ignore)
+ #AT_CHECK(test "$STARGS" != DB_HDF5 && exit 77 || $VALGRIND memfile_simple $STARGS,,ignore,ignore)
diff --git a/sci-libs/silo/files/silo-4.11-tests.patch b/sci-libs/silo/files/silo-4.11-tests.patch
new file mode 100644
index 000000000000..a093d318ded6
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.11-tests.patch
@@ -0,0 +1,26 @@
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -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/libsiloh5.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) \
+
+Author: Alastair McKinstry <mckinstry@debian.org>
+Description: bash is needed to execute this testscript for test 62.
+Last-Updated: 2011-04-11
+Forwarded: no
+Link: https://sources.debian.org/patches/silo-llnl/4.11-2/testsuite-fix.patch/
+
+--- a/tests/testdtypes
++++ b/tests/testdtypes
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+
+ # Copyright (C) 1994-2016 Lawrence Livermore National Security, LLC.
+ # LLNL-CODE-425250.
diff --git a/sci-libs/silo/files/silo-4.11-testsuite-python-write.patch b/sci-libs/silo/files/silo-4.11-testsuite-python-write.patch
new file mode 100644
index 000000000000..ac0bc859068a
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.11-testsuite-python-write.patch
@@ -0,0 +1,27 @@
+Author: Alastair McKinstry <mckinstry@debian.org>
+Description: Python code seems to be broken. Disable test and inform upstream.
+Last-Updated: 2011-06-09
+Forwarded: yes
+Link: https://sources.debian.org/patches/silo-llnl/4.11-2/testsuite-python-write.patch/
+
+--- a/tests/test_write.py
++++ b/tests/test_write.py
+@@ -52,11 +52,13 @@
+ db = Silo.Create("foo.silo", "test file")
+ db.Write("t1", 12)
+ db.Write("t2", "hello")
+-db.Write("t3", (13,))
+-db.Write("t4", 14.5)
+-db.Write("t5", (1.2, 10))
+-db.Write("t6", (1.2, 10.2))
+-db.Write("t7", (10, 1.2))
++# Disable writes with floating point. Seem to break on python2.7
++# --amck, 2011-06-09
++#db.Write("t3", (13,))
++#db.Write("t4", 14.5)
++#db.Write("t5", (1.2, 10))
++#db.Write("t6", (1.2, 10.2))
++#db.Write("t7", (10, 1.2))
+ db.Write("t8", "a")
+ db.MkDir("a")
+ db.Write("a/t8", "x2")
diff --git a/sci-libs/silo/files/silo-4.11-widgets.patch b/sci-libs/silo/files/silo-4.11-widgets.patch
new file mode 100644
index 000000000000..46ef1834ca22
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.11-widgets.patch
@@ -0,0 +1,11 @@
+On a minimal QT installation, widgets may not necessarily be
+added and it needs to be explicitely done. Modifying ./configure
+directly given tarball lacks some files to run eautoreconf.
+
+https://bugs.gentoo.org/831361
+--- a/configure
++++ b/configure
+@@ -25748,2 +25748,3 @@
+ qtHaveModule(testlib): QT += testlib
++qtHaveModule(widgets): QT += widgets
+ percent.target = %
diff --git a/sci-libs/silo/files/silo-4.11.1-gcc14-tests.patch b/sci-libs/silo/files/silo-4.11.1-gcc14-tests.patch
new file mode 100644
index 000000000000..1e729ee74e32
--- /dev/null
+++ b/sci-libs/silo/files/silo-4.11.1-gcc14-tests.patch
@@ -0,0 +1,45 @@
+https://github.com/LLNL/Silo/pull/371
+
+From f0737787eb02093defc30de05a731ffe63c4c6f4 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 17 Mar 2024 07:35:36 +0000
+Subject: [PATCH] tests: add missing header for `difftime`
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+With GCC 14, which makes implicit function declarations an error by default:
+```
+TestReadMask.c: In function ‘ElapsedTime’:
+TestReadMask.c:746:15: error: implicit declaration of function ‘difftime’ [-Wimplicit-function-declaration]
+ 746 | ms = (int)difftime(end_time.tv_sec, start_time.tv_sec);
+ | ^~~~~~~~
+TestReadMask.c:62:1: note: ‘difftime’ is defined in header ‘<time.h>’; this is probably fixable by adding ‘#include <time.h>’
+ 61 | #include <std.c>
+ +++ |+#include <time.h>
+ 62 |
+```
+
+Fix the include guards and include <time.h> unconditionally (for difftime) and <string.h>
+unconditionally too (for memcpy).
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/tests/TestReadMask.c
++++ b/tests/TestReadMask.c
+@@ -51,13 +51,12 @@ product endorsement purposes.
+ */
+ #include <stdio.h>
+ #include <silo.h>
++#include <string.h>
+ #ifndef WIN32
+ #include <sys/time.h>
+-#else
+-#include <string.h>
+-#include <time.h>
+ #endif
+ #include <sys/timeb.h>
++#include <time.h>
+ #include <std.c>
+
+ /* To compile this program on hyper, here is the command:
+
diff --git a/sci-libs/silo/metadata.xml b/sci-libs/silo/metadata.xml
index 0e901aa81b1a..a60d491c0107 100644
--- a/sci-libs/silo/metadata.xml
+++ b/sci-libs/silo/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription>
Silo is a library for reading and writing a wide variety of
@@ -9,10 +9,14 @@
computing platforms.
</longdescription>
<use>
+ <flag name="browser">Enable browser support</flag>
<flag name="silex">Build silex data browser</flag>
</use>
<maintainer type="project">
<email>cluster@gentoo.org</email>
<name>Gentoo Cluster Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">LLNL/Silo</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/silo/silo-4.10.2-r1.ebuild b/sci-libs/silo/silo-4.10.2-r1.ebuild
deleted file mode 100644
index 278b972ca253..000000000000
--- a/sci-libs/silo/silo-4.10.2-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils fortran-2
-
-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 +qt5 test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="silex? ( qt5 )"
-
-RDEPEND="
- hdf5? ( sci-libs/hdf5 )
- qt5? ( dev-qt/qtgui:5 )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-qtlibs.patch"
- epatch "${FILESDIR}/${P}-qt5.patch"
- epatch "${FILESDIR}/${P}-tests.patch"
- epatch "${FILESDIR}/${P}-mpiposix.patch"
-}
-
-src_configure() {
- econf \
- --enable-install-lite-headers \
- --enable-shared \
- $(use_enable silex silex ) \
- $(use_enable static-libs static ) \
- $(use_with qt5 Qt-lib-dir "${EPREFIX}"/usr/$(get_libdir) ) \
- $(use_with qt5 Qt-include-dir "${EPREFIX}"/usr/include/qt5 ) \
- $(use_with qt5 Qt-bin-dir "${EPREFIX}"/usr/$(get_libdir)/qt5/bin ) \
- $(use_with hdf5 hdf5 ${EPREFIX}"/usr/include,${EPREFIX}"/usr/$(get_libdir) )
-}
diff --git a/sci-libs/silo/silo-4.11-r2.ebuild b/sci-libs/silo/silo-4.11-r2.ebuild
new file mode 100644
index 000000000000..6031d9f47ae3
--- /dev/null
+++ b/sci-libs/silo/silo-4.11-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic fortran-2 qmake-utils
+
+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/sites/wci/files/2021-09/${P}-bsd.tgz"
+S="${WORKDIR}/${P}-bsd"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="browser +hdf5 +silex"
+
+# see bugs 656432 and 741741
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ net-dialup/lrzsz
+ virtual/szip
+ hdf5? ( sci-libs/hdf5:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-qt/linguist-tools:5"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-hdf5.patch
+ "${FILESDIR}"/${P}-test-disable-largefile.patch
+ "${FILESDIR}"/${P}-tests.patch
+ "${FILESDIR}"/${P}-testsuite-python-write.patch
+ "${FILESDIR}"/${P}-widgets.patch
+ "${FILESDIR}"/${P}-qtbindir.patch
+)
+
+src_configure() {
+ # add fflags for fixing test bug on matf77.f
+ # see https://github.com/LLNL/Silo/issues/234
+ append-fflags $(test-flags-F77 -fallow-argument-mismatch)
+
+ QMAKE=$(qt5_get_bindir)/qmake \
+ QT_BIN_DIR=$(qt5_get_bindir) \
+ econf \
+ --enable-install-lite-headers \
+ --enable-shared \
+ $(use_enable silex silex ) \
+ $(use_enable browser browser ) \
+ $(use_with hdf5 hdf5 "${EPREFIX}"/usr/include,"${EPREFIX}"/usr/$(get_libdir) )
+}
+
+src_test() {
+ # see https://github.com/LLNL/Silo/issues/236
+ # some tests are skipped by default so we are gonna drop them directly
+ emake ATARGS="1-34 36-44 50-51 66-76 78-81" -C tests check
+}
diff --git a/sci-libs/silo/silo-4.11.1-r1.ebuild b/sci-libs/silo/silo-4.11.1-r1.ebuild
new file mode 100644
index 000000000000..7028cae194f0
--- /dev/null
+++ b/sci-libs/silo/silo-4.11.1-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic fortran-2 qmake-utils
+
+DESCRIPTION="A mesh and field I/O library and scientific database"
+HOMEPAGE="https://software.llnl.gov/Silo/"
+SRC_URI="https://github.com/LLNL/Silo/releases/download/${PV}/${P}-bsd.tar.xz"
+S="${WORKDIR}/${P}-bsd"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="browser +hdf5 +silex"
+
+# see bugs 656432 and 741741
+RDEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ net-dialup/lrzsz
+ virtual/szip
+ hdf5? ( sci-libs/hdf5:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-qt/linguist-tools:5"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.11-test-disable-largefile.patch
+ "${FILESDIR}"/${PN}-4.11-tests.patch
+ "${FILESDIR}"/${PN}-4.11-testsuite-python-write.patch
+ "${FILESDIR}"/${PN}-4.11-widgets.patch
+ "${FILESDIR}"/${PN}-4.11-qtbindir.patch
+ "${FILESDIR}"/${PN}-4.11.1-gcc14-tests.patch
+)
+
+src_configure() {
+ # bug #862927 and https://github.com/LLNL/Silo/issues/248
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # add fflags for fixing test bug on matf77.f
+ # see https://github.com/LLNL/Silo/issues/234
+ append-fflags $(test-flags-F77 -fallow-argument-mismatch)
+
+ CONFIG_SHELL="${BROOT}"/bin/bash \
+ QMAKE=$(qt5_get_bindir)/qmake \
+ QT_BIN_DIR=$(qt5_get_bindir) \
+ econf \
+ --enable-install-lite-headers \
+ --enable-shared \
+ $(use_enable silex silex ) \
+ $(use_enable browser browser ) \
+ $(use_with hdf5 hdf5 "${EPREFIX}"/usr/include,"${EPREFIX}"/usr/$(get_libdir) )
+}
+
+src_test() {
+ # see https://github.com/LLNL/Silo/issues/236
+ # some tests are skipped by default so we are gonna drop them directly
+ emake ATARGS="1-34 36-44 50-51 66-76 78-81" -C tests check
+}
diff --git a/sci-libs/spglib/metadata.xml b/sci-libs/spglib/metadata.xml
index d0522ae93c48..d4ff1000a775 100644
--- a/sci-libs/spglib/metadata.xml
+++ b/sci-libs/spglib/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-chemistry@gentoo.org</email>
diff --git a/sci-libs/spqr/Manifest b/sci-libs/spqr/Manifest
index 2463ac3152e2..40d8a7aec0c2 100644
--- a/sci-libs/spqr/Manifest
+++ b/sci-libs/spqr/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST spqr-2.0.9.tar.bz2 2161068 BLAKE2B a662983d2543a65ce36a367749db5585308acb56b016f69a35c46a84e9c12a678f57a3cfd459cc2e887fff2819b00f99981efaadb73831f1b4c54cbef5e1c367 SHA512 54b203e0d68b266473b8a2b7b3b3a55476df54a3ebd5748b70faa7bad1d0a5a7387197f0674ba5f9a5d45887daa736117f8d6ffbbc2eb02482b3374a3babf721
diff --git a/sci-libs/spqr/metadata.xml b/sci-libs/spqr/metadata.xml
index 080353cff1a4..ca887f817722 100644
--- a/sci-libs/spqr/metadata.xml
+++ b/sci-libs/spqr/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -19,4 +19,7 @@
<flag name="tbb">Enable multithreading with the Intel Threads
Building Block <pkg>dev-cpp/tbb</pkg></flag>
</use>
+<upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sci-libs/spqr/spqr-2.0.9-r3.ebuild b/sci-libs/spqr/spqr-2.0.9-r3.ebuild
new file mode 100644
index 000000000000..b63bdbe966ea
--- /dev/null
+++ b/sci-libs/spqr/spqr-2.0.9-r3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Multithreaded multifrontal sparse QR factorization library"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc partition tbb"
+
+BDEPEND="virtual/pkgconfig
+ doc? ( virtual/latex-base )"
+# We require the cholmod supernodal module that is enabled with
+# USE=lapack, and cholmod has to have partition support if spqr is going
+# to have it (the ./configure script for spqr checks this). Note that
+# spqr links to metis directly, too.
+DEPEND="
+ virtual/lapack
+ =sci-libs/cholmod-3*[lapack,partition?]
+ partition? ( >=sci-libs/metis-5.1.0 )
+ tbb? ( <dev-cpp/tbb-2021:= )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_with doc) \
+ $(use_with partition) \
+ $(use_with tbb)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/spqr/spqr-2.0.9.ebuild b/sci-libs/spqr/spqr-2.0.9.ebuild
deleted file mode 100644
index b454c16516e2..000000000000
--- a/sci-libs/spqr/spqr-2.0.9.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Multithreaded multifrontal sparse QR factorization library"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
-SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc partition static-libs tbb"
-
-BDEPEND="virtual/pkgconfig
- doc? ( virtual/latex-base )"
-# We require the cholmod supernodal module that is enabled with
-# USE=lapack, and cholmod has to have partition support if spqr is going
-# to have it (the ./configure script for spqr checks this). Note that
-# spqr links to metis directly, too.
-DEPEND="virtual/lapack
- >=sci-libs/cholmod-2[lapack,partition?]
- partition? ( >=sci-libs/metis-5.1.0 )
- tbb? ( dev-cpp/tbb )"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- $(use_with doc) \
- $(use_enable static-libs static) \
- $(use_with partition) \
- $(use_with tbb)
-}
diff --git a/sci-libs/spqr/spqr-3.0.3.ebuild b/sci-libs/spqr/spqr-3.0.3.ebuild
new file mode 100644
index 000000000000..2ccb6181a12e
--- /dev/null
+++ b/sci-libs/spqr/spqr-3.0.3.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib toolchain-funcs
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Multithreaded multifrontal sparse QR factorization library"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc openmp test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}
+ >=sci-libs/amd-3.0.3
+ >=sci-libs/colamd-3.0.3
+ >=sci-libs/cholmod-4.0.3
+ virtual/blas"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DNOPENMP=$(usex openmp OFF ON)
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run demo files
+ ./qrsimple < "${S}"/Matrix/ash219.mtx || die "failed testing"
+ ./qrsimplec < "${S}"/Matrix/ash219.mtx || die "failed testing"
+ ./qrsimple < "${S}"/Matrix/west0067.mtx || die "failed testing"
+ ./qrsimplec < "${S}"/Matrix/west0067.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/a2.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/r2.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/a04.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/a2.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/west0067.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/c2.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/a0.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/lfat5b.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/bfwa62.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/LFAT5.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/b1_ss.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/bcspwr01.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/lpi_galenet.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/lpi_itest6.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/ash219.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/a4.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/s32.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/c32.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/lp_share1b.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/a1.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/GD06_theory.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/GD01_b.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/Tina_AskCal_perm.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/Tina_AskCal.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/GD98_a.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/Ragusa16.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/young1c.mtx || die "failed testing"
+ ./qrdemo < "${S}"/Matrix/lp_e226_transposed.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/a2.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/r2.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/a04.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/a2.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/west0067.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/c2.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/a0.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/lfat5b.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/bfwa62.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/LFAT5.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/b1_ss.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/bcspwr01.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/lpi_galenet.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/lpi_itest6.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/ash219.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/a4.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/s32.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/c32.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/lp_share1b.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/a1.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/GD06_theory.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/GD01_b.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/Tina_AskCal_perm.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/Tina_AskCal.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/GD98_a.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/Ragusa16.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/young1c.mtx || die "failed testing"
+ ./qrdemoc < "${S}"/Matrix/lp_e226_transposed.mtx || die "failed testing"
+}
+
+multilib_src_install() {
+ if use doc; then
+ pushd "${S}/Doc"
+ emake clean
+ rm -rf *.pdf
+ emake
+ popd
+ DOCS="${S}/Doc/*.pdf"
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/spr/metadata.xml b/sci-libs/spr/metadata.xml
index 47921e2be92e..6094956ffc79 100644
--- a/sci-libs/spr/metadata.xml
+++ b/sci-libs/spr/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-physics@gentoo.org</email>
diff --git a/sci-libs/spr/spr-3.3.2-r2.ebuild b/sci-libs/spr/spr-3.3.2-r2.ebuild
new file mode 100644
index 000000000000..230353e35cc6
--- /dev/null
+++ b/sci-libs/spr/spr-3.3.2-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Statistical analysis and machine learning library"
+HOMEPAGE="https://statpatrec.sourceforge.net/"
+SRC_URI="mirror://sourceforge/statpatrec/${P^^}.tar.gz"
+S="${WORKDIR}/${P^^}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+IUSE="root static-libs"
+
+DEPEND="root? ( sci-physics/root )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-gcc46.patch
+ "${FILESDIR}"/${P}-fix-c++14.patch
+)
+
+src_prepare() {
+ default
+ rm aclocal.m4 || die
+ eautoreconf
+ cp data/gauss* src/ || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_with root)
+}
+
+src_install() {
+ default
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+}
diff --git a/sci-libs/spr/spr-3.3.2.ebuild b/sci-libs/spr/spr-3.3.2.ebuild
deleted file mode 100644
index 5c35b6b55302..000000000000
--- a/sci-libs/spr/spr-3.3.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Statistical analysis and machine learning library"
-HOMEPAGE="http://statpatrec.sourceforge.net/"
-SRC_URI="mirror://sourceforge/statpatrec/${P^^}.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}/${P^^}
-PATCHES=(
- "${FILESDIR}"/${P}-autotools.patch
- "${FILESDIR}"/${P}-gcc46.patch
- "${FILESDIR}"/${P}-fix-c++14.patch
-)
-
-src_prepare() {
- default
- rm aclocal.m4 || die
- eautoreconf
- cp data/gauss* src/ || die
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with root)
-}
diff --git a/sci-libs/stellarsolver/Manifest b/sci-libs/stellarsolver/Manifest
new file mode 100644
index 000000000000..5b8e51985b49
--- /dev/null
+++ b/sci-libs/stellarsolver/Manifest
@@ -0,0 +1 @@
+DIST stellarsolver-2.5.tar.gz 23402988 BLAKE2B ec1ab428413104a329128e3e90883884eedf2c031fb4f3f5a8ab7579243a7b7a496579f3127ad0324176cf825d02a417e1538272b931a87090f1373adf0d1239 SHA512 003522ac0b4130e0ca16ccb617743e3716aa2a182ad63abfb901ea0b47c28a745e8ca1e5b7874d17636ff948b1ebc055277557f89a159e425af7d2a64f513fe8
diff --git a/sci-libs/stellarsolver/files/stellarsolver-2.5-compiler-warning.patch b/sci-libs/stellarsolver/files/stellarsolver-2.5-compiler-warning.patch
new file mode 100644
index 000000000000..eaae908db774
--- /dev/null
+++ b/sci-libs/stellarsolver/files/stellarsolver-2.5-compiler-warning.patch
@@ -0,0 +1,26 @@
+From 475193d28c0b33b14cecf9492a7c3cd06abcc9f5 Mon Sep 17 00:00:00 2001
+From: Tim Surber <me@timsurber.de>
+Date: Wed, 10 Apr 2024 23:36:49 +0200
+Subject: [PATCH] fix another compiler warning
+
+---
+ stellarsolver/astrometry/util/fitstable.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/stellarsolver/astrometry/util/fitstable.c b/stellarsolver/astrometry/util/fitstable.c
+index 10e1bc2..5885040 100644
+--- a/stellarsolver/astrometry/util/fitstable.c
++++ b/stellarsolver/astrometry/util/fitstable.c
+@@ -1227,7 +1227,11 @@ static fitstable_t* open_for_writing(const char* fn, const char* mode, FILE* fid
+ else {
+ tab->fid = fopen(fn, mode);
+ if (!tab->fid) {
+- SYSERROR("Couldn't open output file %s for writing", fn);
++ if (fn != NULL) {
++ SYSERROR("Couldn't open output file %s for writing", fn);
++ } else {
++ SYSERROR("Couldn't open output file because the filename is null");
++ }
+ goto bailout;
+ }
+ }
diff --git a/sci-libs/stellarsolver/files/stellarsolver-2.5-qsort-warning.patch b/sci-libs/stellarsolver/files/stellarsolver-2.5-qsort-warning.patch
new file mode 100644
index 000000000000..72acd2adc9c6
--- /dev/null
+++ b/sci-libs/stellarsolver/files/stellarsolver-2.5-qsort-warning.patch
@@ -0,0 +1,291 @@
+From efd820a1655f808107a1984d55124ea142c66fa6 Mon Sep 17 00:00:00 2001
+From: Tim Surber <me@timsurber.de>
+Date: Wed, 10 Apr 2024 23:31:58 +0200
+Subject: [PATCH] backport qsort warning fix
+
+---
+ .../astrometry/include/astrometry/ioutils.h | 9 +++
+ .../include/astrometry/os-features-config.h | 4 +-
+ .../include/astrometry/permutedsort.h | 2 +-
+ stellarsolver/astrometry/os-features.h | 16 ------
+ stellarsolver/astrometry/util/bl-sort.c | 3 +-
+ stellarsolver/astrometry/util/ioutils.c | 2 +-
+ .../astrometry/util/os-features-test.c | 57 -------------------
+ stellarsolver/astrometry/util/os-features.c | 6 +-
+ stellarsolver/astrometry/util/permutedsort.c | 3 +-
+ .../astrometry/util/qsort_reentrant.c | 37 +++---------
+ 10 files changed, 27 insertions(+), 112 deletions(-)
+
+diff --git a/stellarsolver/astrometry/include/astrometry/ioutils.h b/stellarsolver/astrometry/include/astrometry/ioutils.h
+index 07f7eecf..e5cf63c8 100644
+--- a/stellarsolver/astrometry/include/astrometry/ioutils.h
++++ b/stellarsolver/astrometry/include/astrometry/ioutils.h
+@@ -31,6 +31,15 @@ char* dirname(const char* path);
+
+ extern uint32_t ENDIAN_DETECTOR;
+
++void QSORT_R(void* base, size_t nmembers, size_t member_size,
++ void* token, int (*compar)(void *, const void *, const void *));
++
++/**
++ You should define the "comparison" function like this:
++ static int QSORT_COMPARISON_FUNCTION(my_comparison, void* token, const void* v1, const void* v2) {
++ */
++#define QSORT_COMPARISON_FUNCTION(func, thunk, v1, v2) func(thunk, v1, v2)
++
+ int copy_file(const char* infn, const char* outfn);
+
+ int pad_fid(FILE* fid, size_t len, char pad);
+diff --git a/stellarsolver/astrometry/include/astrometry/os-features-config.h b/stellarsolver/astrometry/include/astrometry/os-features-config.h
+index a246d428..bcc336e9 100644
+--- a/stellarsolver/astrometry/include/astrometry/os-features-config.h
++++ b/stellarsolver/astrometry/include/astrometry/os-features-config.h
+@@ -1,4 +1,4 @@
+-#define NEED_DECLARE_QSORT_R 0
+-#define NEED_QSORT_R 1
++#define NEED_DECLARE_QSORT_R 1
++#define NEED_QSORT_R 0
+ #define NEED_SWAP_QSORT_R 0
+ #define HAVE_NETPBM 0
+\ No newline at end of file
+diff --git a/stellarsolver/astrometry/include/astrometry/permutedsort.h b/stellarsolver/astrometry/include/astrometry/permutedsort.h
+index 23c1a7e9..d3590160 100644
+--- a/stellarsolver/astrometry/include/astrometry/permutedsort.h
++++ b/stellarsolver/astrometry/include/astrometry/permutedsort.h
+@@ -7,7 +7,7 @@
+ #define PERMUTED_SORT_H
+
+ // for QSORT_COMPARISON_FUNCTION
+-#include "os-features.h"
++#include "ioutils.h"
+
+ /*
+ Computes the permutation array that will cause the "realarray" to be
+diff --git a/stellarsolver/astrometry/os-features.h b/stellarsolver/astrometry/os-features.h
+index 2c2a9d19..90dd375f 100644
+--- a/stellarsolver/astrometry/os-features.h
++++ b/stellarsolver/astrometry/os-features.h
+@@ -108,22 +108,6 @@
+ -Ubuntu 8.10
+ */
+
+-#if NEED_DECLARE_QSORT_R
+-//// NOTE: this declaration must match os-features-test.c .
+-void qsort_r(void *base, size_t nmemb, size_t sz,
+- void *userdata,
+- int (*compar)(void *, const void *, const void *));
+-#endif
+-
+-#if NEED_SWAP_QSORT_R
+-#define QSORT_R(a,b,c,d,e) qsort_r(a,b,c,e,d)
+-#define QSORT_COMPARISON_FUNCTION(func, thunk, v1, v2) func(v1, v2, thunk)
+-
+-#else
+-#define QSORT_R qsort_r
+-#define QSORT_COMPARISON_FUNCTION(func, thunk, v1, v2) func(thunk, v1, v2)
+-
+-#endif
+
+ // As suggested in http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Function-Names.html
+ #if __STDC_VERSION__ < 199901L
+diff --git a/stellarsolver/astrometry/util/bl-sort.c b/stellarsolver/astrometry/util/bl-sort.c
+index 70123660..a024d271 100644
+--- a/stellarsolver/astrometry/util/bl-sort.c
++++ b/stellarsolver/astrometry/util/bl-sort.c
+@@ -3,6 +3,8 @@
+ # Licensed under a 3-clause BSD style license - see LICENSE
+ */
+
++#include "ioutils.h" // for QSORT_R
++
+ #include "bl-sort.h"
+ // for qsort_r
+ #include "os-features.h"
+@@ -166,4 +168,3 @@ static int sort_helper_pl(const void* v1, const void* v2, void* userdata) {
+ void pl_sort(pl* list, int (*compare)(const void* v1, const void* v2)) {
+ bl_sort_with_userdata(list, sort_helper_pl, compare);
+ }
+-
+diff --git a/stellarsolver/astrometry/util/ioutils.c b/stellarsolver/astrometry/util/ioutils.c
+index c490fb8c..b4ecba0b 100644
+--- a/stellarsolver/astrometry/util/ioutils.c
++++ b/stellarsolver/astrometry/util/ioutils.c
+@@ -43,7 +43,7 @@
+
+ #include "os-features.h"
+ #include "ioutils.h"
+-//#include "os-features.h"
++#include "qsort_reentrant.c"
+ #include "errors.h"
+ #include "log.h"
+
+diff --git a/stellarsolver/astrometry/util/os-features-test.c b/stellarsolver/astrometry/util/os-features-test.c
+index 445ac1cd..a274c16b 100644
+--- a/stellarsolver/astrometry/util/os-features-test.c
++++ b/stellarsolver/astrometry/util/os-features-test.c
+@@ -14,63 +14,6 @@ int main() {
+ }
+ #endif
+
+-#ifdef TEST_QSORT_R
+-static int cmp(void* u, const void* a, const void* b) {
+- return 0;
+-}
+-int main() {
+- int array;
+- int baton;
+- qsort_r(&array, 1, sizeof(int), &baton, cmp);
+- //printf("#define NEED_QSORT_R 0\n");
+- return 0;
+-}
+-#endif
+-
+-#ifdef TEST_DECLARE_QSORT_R
+-// Test whether just declaring qsort_r as we do causes a compile failure.
+-
+-void qsort_r(void *base, size_t nmemb, size_t sz,
+- void *userdata,
+- int (*compar)(void *, const void *, const void *));
+-
+-int main() {
+- //printf("#define NEED_DECLARE_QSORT_R 1\n");
+- return 0;
+-}
+-#endif
+-
+-#ifdef TEST_SWAP_QSORT_R
+-// Use the result of TEST_DECLARE_QSORT_R and TEST_NEED_QSORT_R, or else
+-// this test will fail with a warning about undefined qsort_r
+-// Include .c rather than .h because we test with:
+-// gcc -o (exec) os-features-test.c
+-// and if NEED_QSORT_R, os-features.c includes qsort_reentrant.c
+-#include "os-features-config.h.tmp"
+-#define DONT_INCLUDE_OS_FEATURES_CONFIG_H 1
+-#include "os-features.c"
+-#undef DONT_INCLUDE_OS_FEATURES_CONFIG_H
+-// Test whether qsort_r works unswapped. (ie, qsort_r matches the definition of
+-// QSORT_R defined in the os-features.h documentation.)
+-static int sortfunc(void* thunk, const void* v1, const void* v2) {
+- const int* i1 = v1;
+- const int* i2 = v2;
+- if (*i1 < *i2)
+- return -1;
+- if (*i1 > *i2)
+- return 1;
+- return 0;
+-}
+-int main() {
+- int array[] = { 4, 17, 88, 34, 12, 12, 17 };
+- int N = sizeof(array)/sizeof(int);
+- int mythunk = 42;
+- qsort_r(array, N, sizeof(int), &mythunk, sortfunc);
+- //printf("#define NEED_SWAP_QSORT_R 0\n");
+- return 0;
+-}
+-#endif
+-
+ #if defined(TEST_NETPBM) || defined(TEST_NETPBM_MAKE)
+ #include <pam.h>
+ int main(int argc, char** args) {
+diff --git a/stellarsolver/astrometry/util/os-features.c b/stellarsolver/astrometry/util/os-features.c
+index 0c7d2b95..e95d463b 100644
+--- a/stellarsolver/astrometry/util/os-features.c
++++ b/stellarsolver/astrometry/util/os-features.c
+@@ -37,8 +37,4 @@
+ //int fdatasync(int fd) {
+ // return fsync(fd);
+ //}
+-//#endif
+-
+-#if NEED_QSORT_R
+-#include "qsort_reentrant.c"
+-#endif
++//#endif
+\ No newline at end of file
+diff --git a/stellarsolver/astrometry/util/permutedsort.c b/stellarsolver/astrometry/util/permutedsort.c
+index 0bc42298..e37b7e19 100644
+--- a/stellarsolver/astrometry/util/permutedsort.c
++++ b/stellarsolver/astrometry/util/permutedsort.c
+@@ -17,7 +17,8 @@
+ #endif
+
+ #include "permutedsort.h"
+-#include "os-features.h" // for qsort_r
++#include "os-features.h"
++#include "ioutils.h"
+
+ int* permutation_init(int* perm, int N) {
+ int i;
+diff --git a/stellarsolver/astrometry/util/qsort_reentrant.c b/stellarsolver/astrometry/util/qsort_reentrant.c
+index 982aa3e1..bce9147a 100644
+--- a/stellarsolver/astrometry/util/qsort_reentrant.c
++++ b/stellarsolver/astrometry/util/qsort_reentrant.c
+@@ -35,14 +35,14 @@
+ #endif
+ //__FBSDID("$FreeBSD: src/sys/libkern/qsort.c,v 1.15 2004/07/15 23:58:23 glebius Exp $");
+
+-// Astrometry: We want reentrant!
+-#define I_AM_QSORT_R
+
+-#ifdef I_AM_QSORT_R
++// Astrometry.net: we lightly modified this file:
++// - renamed qsort_r to QSORT_R to avoid clashes with system version
++// - removed the preprocessor magic that support re-entrant and non-
++// functions in the same source code.
++
+ typedef int cmp_t(void *, const void *, const void *);
+-#else
+-typedef int cmp_t(const void *, const void *);
+-#endif
++
+ static __inline char *med3(char *, char *, char *, cmp_t *, void *);
+ static __inline void swapfunc(char *, char *, int, int);
+
+@@ -84,32 +84,17 @@ swapfunc(char *a, char *b, int n, int swaptype)
+
+ #define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype)
+
+-#ifdef I_AM_QSORT_R
+ #define CMP(t, x, y) (cmp((t), (x), (y)))
+-#else
+-#define CMP(t, x, y) (cmp((x), (y)))
+-#endif
+
+ static __inline char *
+-med3(char *a, char *b, char *c, cmp_t *cmp, void *thunk
+-#ifndef I_AM_QSORT_R
+-__unused
+-#endif
+-)
++med3(char *a, char *b, char *c, cmp_t *cmp, void *thunk)
+ {
+ return CMP(thunk, a, b) < 0 ?
+ (CMP(thunk, b, c) < 0 ? b : (CMP(thunk, a, c) < 0 ? c : a ))
+ :(CMP(thunk, b, c) > 0 ? b : (CMP(thunk, a, c) < 0 ? a : c ));
+ }
+
+-#ifdef I_AM_QSORT_R
+-void
+-qsort_r(void *a, size_t n, size_t es, void *thunk, cmp_t *cmp)
+-#else
+-#define thunk NULL
+-void
+-qsort(void *a, size_t n, size_t es, cmp_t *cmp)
+-#endif
++void QSORT_R(void *a, size_t n, size_t es, void *thunk, cmp_t *cmp)
+ {
+ char *pa, *pb, *pc, *pd, *pl, *pm, *pn;
+ int d, r, swaptype, swap_cnt;
+@@ -177,11 +162,7 @@ loop: SWAPINIT(a, es);
+ r = min(pd - pc, pn - pd - es);
+ vecswap(pb, pn - r, r);
+ if ((r = pb - pa) > es)
+-#ifdef I_AM_QSORT_R
+- qsort_r(a, r / es, es, thunk, cmp);
+-#else
+- qsort(a, r / es, es, cmp);
+-#endif
++ QSORT_R(a, r / es, es, thunk, cmp);
+ if ((r = pd - pc) > es) {
+ /* Iterate rather than recurse to save stack space */
+ a = pn - r;
diff --git a/sci-libs/stellarsolver/metadata.xml b/sci-libs/stellarsolver/metadata.xml
new file mode 100644
index 000000000000..e383da8ef9b1
--- /dev/null
+++ b/sci-libs/stellarsolver/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-astronomy@gentoo.org</email>
+ <name>Gentoo Astronomy project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rlancaste/stellarsolver</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/stellarsolver/stellarsolver-2.5-r1.ebuild b/sci-libs/stellarsolver/stellarsolver-2.5-r1.ebuild
new file mode 100644
index 000000000000..f60a2a9b7daf
--- /dev/null
+++ b/sci-libs/stellarsolver/stellarsolver-2.5-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Cross-platform Sextractor and Astrometry.net-Based internal astrometric solver"
+HOMEPAGE="https://github.com/rlancaste/stellarsolver"
+SRC_URI="https://github.com/rlancaste/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ sci-libs/cfitsio:=
+ sci-libs/gsl:=
+ sci-astronomy/wcslib:=
+"
+DEPEND="${RDEPEND}"
+
+# https://github.com/rlancaste/stellarsolver/issues/108
+PATCHES=( "${FILESDIR}"/${P}-{qsort,compiler}-warning.patch ) # git master
+
+src_configure() {
+ # bug #862930
+ filter-lto
+
+ cmake_src_configure
+}
diff --git a/sci-libs/stellarsolver/stellarsolver-2.5.ebuild b/sci-libs/stellarsolver/stellarsolver-2.5.ebuild
new file mode 100644
index 000000000000..c7e235ccd58b
--- /dev/null
+++ b/sci-libs/stellarsolver/stellarsolver-2.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Cross-platform Sextractor and Astrometry.net-Based internal astrometric solver"
+HOMEPAGE="https://github.com/rlancaste/stellarsolver"
+SRC_URI="https://github.com/rlancaste/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ sci-libs/cfitsio:=
+ sci-libs/gsl:=
+ sci-astronomy/wcslib:=
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ # bug #862930
+ filter-lto
+
+ cmake_src_configure
+}
diff --git a/sci-libs/suitesparse/metadata.xml b/sci-libs/suitesparse/metadata.xml
index 191d8a97ea10..0982900cf6db 100644
--- a/sci-libs/suitesparse/metadata.xml
+++ b/sci-libs/suitesparse/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -29,9 +29,6 @@
* SSMULT: sparse matrix times sparse matrix
</longdescription>
<use>
- <flag name="cuda">
- Enable nvidia cuda toolkit for speeding up computations
- </flag>
<flag name="partition">
Enable graph partitioning and graph-partition-based orderings
through <pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg>
diff --git a/sci-libs/suitesparse/suitesparse-5.4.0.ebuild b/sci-libs/suitesparse/suitesparse-5.4.0.ebuild
index 17adeab9975c..3996e95fe79c 100644
--- a/sci-libs/suitesparse/suitesparse-5.4.0.ebuild
+++ b/sci-libs/suitesparse/suitesparse-5.4.0.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Metapackage for a suite of sparse matrix tools"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
LICENSE="metapackage"
SLOT="0"
-KEYWORDS="amd64 arm64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm64 ~hppa ~ppc ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="cuda doc lapack partition tbb"
DEPEND=""
RDEPEND="
diff --git a/sci-libs/suitesparseconfig/Manifest b/sci-libs/suitesparseconfig/Manifest
index 7474afad0356..23d23ac03bc7 100644
--- a/sci-libs/suitesparseconfig/Manifest
+++ b/sci-libs/suitesparseconfig/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST suitesparseconfig-5.4.0.tar.bz2 257352 BLAKE2B 3832e34281c742a7d704dde866c53c742420486d782075e047b605fb2062d77353cda8670138c4bef62c73d16e123a8a74f65272a01766f124c1e53f9ba32e9d SHA512 e91f60f426b73add473c6341e30512b8fbe65b7850cd83f3852e78f1e74ce067b7ae1577ccc795698e680a841a9d32c2ca073651a4fe95f0b723578721aec874
diff --git a/sci-libs/suitesparseconfig/metadata.xml b/sci-libs/suitesparseconfig/metadata.xml
index 0404cd687a13..c79fd37845bc 100644
--- a/sci-libs/suitesparseconfig/metadata.xml
+++ b/sci-libs/suitesparseconfig/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -8,5 +8,8 @@
<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>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild b/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild
index ca2f33e39997..0de6728aeb82 100644
--- a/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild
+++ b/sci-libs/suitesparseconfig/suitesparseconfig-5.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,14 +6,14 @@ EAPI=7
inherit multilib-minimal
DESCRIPTION="Common configurations for all packages in suitesparse"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
# Upstream says, "no licensing restrictions apply to this file or to the
# SuiteSparse_config directory".
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="static-libs"
multilib_src_configure() {
diff --git a/sci-libs/suitesparseconfig/suitesparseconfig-7.0.0.ebuild b/sci-libs/suitesparseconfig/suitesparseconfig-7.0.0.ebuild
new file mode 100644
index 000000000000..01afb6d2266d
--- /dev/null
+++ b/sci-libs/suitesparseconfig/suitesparseconfig-7.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib toolchain-funcs
+
+Sparse_PV=$(ver_rs 3 '.')
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Common configurations for all packages in suitesparse"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/7"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="openmp"
+
+# BLAS availability is checked for at configuration time and will fail if it is not present.
+BDEPEND="virtual/blas"
+
+S="${WORKDIR}/${Sparse_P}/SuiteSparse_config"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+multilib_src_configure() {
+ # Make sure we always include the Fortran interface.
+ # It doesn't require a Fortran compiler to be present
+ # and simplifies the configuration for dependencies.
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DNFORTRAN=OFF
+ -DNOPENMP=$(usex openmp OFF ON)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/sundials/Manifest b/sci-libs/sundials/Manifest
index 0ad406c16c2b..dc635448d6f7 100644
--- a/sci-libs/sundials/Manifest
+++ b/sci-libs/sundials/Manifest
@@ -1,6 +1,3 @@
-DIST sundials-3.2.1.tar.gz 14958699 BLAKE2B ecc4b454ec589e9177acc9375e1db370ad6281f8d29580d9558ad3146dbbaab52794013e9cb56ad83f7309dbd3084a1ccaf6972c6b1468cefcc86bf30d3a460c SHA512 1f3e4b12f368e4f50c38b970c012f1702e339319ee0a858661bdf83e5739bb5b8a36f98b82e2ef76d1ce8a473123046347ee1b44f3cb685509823864f0af1384
-DIST sundials-4.0.2.tar.gz 17183377 BLAKE2B e322a978186f41d84a936faa55962ef6794bf99d6c6a108bfa2bd5615f27f32f7ab6ca4989802fa052d3132b53dca3069b7e4ec9941f95efb92de7bf0792dd88 SHA512 6d0a6fc49c695e70593da71892f0906585dee9c94899bb6b8c9a56c85f345809565166a62544647fdac411d22e37276b9b1bb78ba9be46eaeb28dcd3f6162ef5
-DIST sundials-4.1.0.tar.gz 17221960 BLAKE2B 598c7adc9e37fcfb1f44a3235f58af489ad907d053cb67ee0d3b076076621958374eb847e48318ddf7ced85a7601c5330ac640c7abe8723aaee7d650e3298b8d SHA512 1922dca3f0b8869098670aede802e48abec39607c96304e4efd9b03d195b16920175846fce10641aeebc48c216bda73c8691139dce57ffa7731a6bc8194b81b0
-DIST sundials-5.0.0.tar.gz 18820465 BLAKE2B 77bc7bd489b52ff316f3e889aad4ec27830c42650591270443d45a0aa958d06663e93931a8933ca2d228619263219be4d7441cb473eaaedeab958ae47418a44e SHA512 4962adabcde19207b5044d1e63758d58b5d3cfeefcd0eae65ddfe5499931bf19fa98bafbd4742045cc255f6b4a45653f41df7a7739f86d6eb47c79c9312b4471
-DIST sundials-5.1.0.tar.gz 18496945 BLAKE2B bfe2c88bd1a43c6e0b50e30a4498d23da9e495b4a27e67ff309a032f892cfd8ce54010f567f26b1ecd40a2e21e9364f0b75d0b5dde2771c9e35ad4912e7abf64 SHA512 ad2fef1197fe5680651b63a1da8fab0087416c943f9142e6d0ac8388113fb7e33a7297847f550585d7e8fed1d33111ab85235b3a2f94ac81004f5f3eb584c021
-DIST sundials-5.2.0.tar.gz 18639221 BLAKE2B c10e6deb5839993b8601347be94412d0b0c058084b4dc0d380681f7b4debd535f9736c2ef734e9fd84c6ddc190ab05f46abcb711225ec1f156a18d8edb6317fb SHA512 99163a104e436dab4779c77519502b5614b65d726324b29b14236315f6916beb5863fcd56b5acf19f62985c033b227fba1ebd3d3c4607ce991d94ee7739bb55f
+DIST sundials-5.8.0.tar.gz 24012815 BLAKE2B f707ad7465218532f3dc4df7627b87933b2bc52be6f1ad290b91ab83a3414ae83bc64503126af8772daa000f58a89855d7ca35fe74fa21bd91180695582442c7 SHA512 d22e699aaddaeef026e91e18dd070d06278c75b6980b36c6fb2e50203ba6445420e4a8e0612a6317dcaa521aeffbdf62ab88737be235ef70cef3a8be02a13dbb
+DIST sundials-6.2.0.tar.gz 82410068 BLAKE2B c6aa9735198465bb458590ef1a90101e246202632afd6bd7f48970b9a2752810ce8c5be7983097cd816189cb994efbddf8d34706665846c67d6442bd7c12db38 SHA512 0dd0a2bf6390a13a5846caf440aa6d459f3890f6d13c0eff8c8180a92a636d6eae7f64679d45acd2048de742d4c644e2ae112cb09028b3fdef10a247bee44c0b
+DIST sundials-6.5.0.tar.gz 89142911 BLAKE2B 3605686f813928fe55e5aafd409c478cf782411b5d2e510121fe15cc15eae84a5d0fe7470c7c0c976fbe11e7f0fd0e9fb449ae45b4c34aa077ac1acb25255cf5 SHA512 30ad3d3f998df6a6381a14b0c8fe247a5507e386ed1b9b55afae87b976f15026d7b4e8609c3cf8423ad79e1b55bade40dc66b274dc3422e040cb12fec981d502
diff --git a/sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch
deleted file mode 100644
index eba90b52ac48..000000000000
--- a/sci-libs/sundials/files/sundials-3.2.1-fix-license-install-path.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -Nur old/CMakeLists.txt new/CMakeLists.txt
---- old/CMakeLists.txt 2018-10-11 22:22:09.000000000 +0300
-+++ new/CMakeLists.txt 2019-06-23 00:33:27.000000000 +0300
-@@ -1117,4 +1117,4 @@
- # install license file
- INSTALL(
- FILES ${PROJECT_SOURCE_DIR}/LICENSE
-- DESTINATION include/sundials)
-+ DESTINATION share/doc/sundials-3.2.1)
diff --git a/sci-libs/sundials/files/sundials-4.0.2-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-4.0.2-fix-license-install-path.patch
deleted file mode 100644
index fbcf53c410cf..000000000000
--- a/sci-libs/sundials/files/sundials-4.0.2-fix-license-install-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Nur old/CMakeLists.txt new/CMakeLists.txt
---- old/CMakeLists.txt 2019-01-23 01:05:44.000000000 +0300
-+++ new/CMakeLists.txt 2019-06-23 00:35:57.000000000 +0300
-@@ -1210,10 +1210,10 @@
- # install license and notice files
- INSTALL(
- FILES ${PROJECT_SOURCE_DIR}/LICENSE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-4.0.2
- )
- INSTALL(
- FILES ${PROJECT_SOURCE_DIR}/NOTICE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-4.0.2
- )
-
diff --git a/sci-libs/sundials/files/sundials-4.1.0-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-4.1.0-fix-license-install-path.patch
deleted file mode 100644
index 6eb75ce59cff..000000000000
--- a/sci-libs/sundials/files/sundials-4.1.0-fix-license-install-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Nur old/CMakeLists.txt new/CMakeLists.txt
---- old/CMakeLists.txt 2019-02-12 21:50:51.000000000 +0300
-+++ new/CMakeLists.txt 2019-06-23 00:39:23.000000000 +0300
-@@ -1168,10 +1168,10 @@
- # install license and notice files
- INSTALL(
- FILES ${PROJECT_SOURCE_DIR}/LICENSE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-4.1.0
- )
- INSTALL(
- FILES ${PROJECT_SOURCE_DIR}/NOTICE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-4.1.0
- )
-
diff --git a/sci-libs/sundials/files/sundials-5.0.0-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-5.0.0-fix-license-install-path.patch
deleted file mode 100644
index 5de76573630a..000000000000
--- a/sci-libs/sundials/files/sundials-5.0.0-fix-license-install-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d5436bf..76b27c5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1122,9 +1122,9 @@ endif()
- # install license and notice files
- install(
- FILES ${PROJECT_SOURCE_DIR}/LICENSE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-5.0.0
- )
- install(
- FILES ${PROJECT_SOURCE_DIR}/NOTICE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-5.0.0
- )
diff --git a/sci-libs/sundials/files/sundials-5.1.0-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-5.1.0-fix-license-install-path.patch
deleted file mode 100644
index 48b019611cb2..000000000000
--- a/sci-libs/sundials/files/sundials-5.1.0-fix-license-install-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d5436bf..76b27c5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1146,9 +1146,9 @@ endif()
- # install license and notice files
- install(
- FILES ${PROJECT_SOURCE_DIR}/LICENSE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-5.1.0
- )
- install(
- FILES ${PROJECT_SOURCE_DIR}/NOTICE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-5.1.0
- )
diff --git a/sci-libs/sundials/files/sundials-5.2.0-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-5.2.0-fix-license-install-path.patch
deleted file mode 100644
index 8fb6c977ca76..000000000000
--- a/sci-libs/sundials/files/sundials-5.2.0-fix-license-install-path.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt 2020-04-01 00:03:37.000000000 +0300
-+++ b/CMakeLists.txt 2020-04-21 13:27:58.000000000 +0300
-@@ -1146,9 +1146,9 @@
- # install license and notice files
- install(
- FILES ${PROJECT_SOURCE_DIR}/LICENSE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-5.2.0
- )
- install(
- FILES ${PROJECT_SOURCE_DIR}/NOTICE
-- DESTINATION include/sundials
-+ DESTINATION share/doc/sundials-5.2.0
- )
diff --git a/sci-libs/sundials/files/sundials-5.8.0-fix-license-install-path.patch b/sci-libs/sundials/files/sundials-5.8.0-fix-license-install-path.patch
new file mode 100644
index 000000000000..d4e5fd929b3c
--- /dev/null
+++ b/sci-libs/sundials/files/sundials-5.8.0-fix-license-install-path.patch
@@ -0,0 +1,29 @@
+From 554a760daeda3a04049bfa4cf882aae1207f833d Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Fri, 30 Apr 2021 11:58:25 +0200
+Subject: [PATCH] fix license install path
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 40a650e..d57ca7b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -231,10 +231,10 @@ endif()
+
+ # install license and notice files
+ install(FILES "${PROJECT_SOURCE_DIR}/LICENSE"
+- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials"
++ DESTINATION "${CMAKE_INSTALL_DOCDIR}"
+ )
+ install(FILES "${PROJECT_SOURCE_DIR}/NOTICE"
+- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sundials"
++ DESTINATION "${CMAKE_INSTALL_DOCDIR}"
+ )
+
+ # create package version file
+--
+2.31.1
diff --git a/sci-libs/sundials/metadata.xml b/sci-libs/sundials/metadata.xml
index a817ac12febc..3a9a3b121469 100644
--- a/sci-libs/sundials/metadata.xml
+++ b/sci-libs/sundials/metadata.xml
@@ -1,22 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Scientific Project</name>
- </maintainer>
- <longdescription lang="en">
- SUite of Nonlinear and DIfferential/ALgebraic equation Solvers was
- implemented with the goal of providing robust time integrators and
- nonlinear solvers that can easily be incorporated into existing
- simulation codes. The primary design goals were to require minimal
- information from the user, allow users to easily supply their own
- data structures underneath the solvers, and allow for easy
- incorporation of user-supplied linear solvers and preconditioners.
- </longdescription>
- <use>
- <flag name="hypre">Build with <pkg>sci-libs/hypre</pkg> conditioners</flag>
- <flag name="sparse">Enable support for <pkg>sci-libs/klu</pkg> sparse solver</flag>
- <flag name="superlumt">Build with <pkg>sci-libs/superlu_mt</pkg></flag>
- </use>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Scientific Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ SUite of Nonlinear and DIfferential/ALgebraic equation Solvers was
+ implemented with the goal of providing robust time integrators and
+ nonlinear solvers that can easily be incorporated into existing
+ simulation codes. The primary design goals were to require minimal
+ information from the user, allow users to easily supply their own
+ data structures underneath the solvers, and allow for easy
+ incorporation of user-supplied linear solvers and preconditioners.
+ </longdescription>
+ <use>
+ <flag name="hypre">Build with <pkg>sci-libs/hypre</pkg> conditioners</flag>
+ <flag name="int64">Use index size of 64 rather than 32 bits</flag>
+ <flag name="sparse">Enable support for <pkg>sci-libs/klu</pkg> sparse solver</flag>
+ <flag name="superlumt">Build with <pkg>sci-libs/superlu_mt</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">LLNL/sundials</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/sundials/sundials-3.2.1.ebuild b/sci-libs/sundials/sundials-3.2.1.ebuild
deleted file mode 100644
index 36bca3f96aa9..000000000000
--- a/sci-libs/sundials/sundials-3.2.1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=90
-
-inherit cmake-utils toolchain-funcs fortran-2
-
-DESCRIPTION="Suite of nonlinear solvers"
-HOMEPAGE="https://computation.llnl.gov/projects/sundials"
-SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
-REQUIRED_USE="hypre? ( mpi )"
-
-RDEPEND="
- lapack? ( virtual/lapack )
- mpi? ( virtual/mpi sci-libs/hypre:= )
- sparse? ( sci-libs/klu:= )
- superlumt? ( sci-libs/superlu_mt:= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected gcc"
- die "need openmp capable gcc"
- fi
-}
-
-src_configure() {
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DCXX_ENABLE="$(usex cxx)"
- -DFCMIX_ENABLE="$(usex fortran)"
- -DF90_ENABLE="$(usex fortran)"
- -DHYPRE_ENABLE="$(usex hypre)"
- -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
- -DKLU_ENABLE="$(usex sparse)"
- -DLAPACK_ENABLE="$(usex lapack)"
- -DMPI_ENABLE="$(usex mpi)"
- -DOPENMP_ENABLE="$(usex openmp)"
- -DPTHREAD_ENABLE="$(usex threads)"
- -DSUPERLUMT_ENABLE="$(usex superlumt)"
- -DEXAMPLES_ENABLE="$(usex examples)"
- -DEXAMPLES_INSTALL=ON
- -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
- -DUSE_GENERIC_MATH=ON
- )
- use sparse && mycmakeargs+=(
- -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
- )
- use superlumt && mycmakeargs+=(
- -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
- -DSUPERLUMT_LIBRARY="superlu_mt"
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- use doc && dodoc doc/*/*.pdf
- cd src
- for r in */README; do
- newdoc ${r} README-${r%/*}
- done
-}
diff --git a/sci-libs/sundials/sundials-4.0.2.ebuild b/sci-libs/sundials/sundials-4.0.2.ebuild
deleted file mode 100644
index 54f396b21f78..000000000000
--- a/sci-libs/sundials/sundials-4.0.2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=90
-
-inherit cmake-utils toolchain-funcs fortran-2
-
-DESCRIPTION="Suite of nonlinear solvers"
-HOMEPAGE="https://computation.llnl.gov/projects/sundials"
-SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
-REQUIRED_USE="hypre? ( mpi )"
-
-RDEPEND="
- lapack? ( virtual/lapack )
- mpi? ( virtual/mpi sci-libs/hypre:= )
- sparse? ( sci-libs/klu:= )
- superlumt? ( sci-libs/superlu_mt:= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected gcc"
- die "need openmp capable gcc"
- fi
-}
-
-src_configure() {
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DCXX_ENABLE="$(usex cxx)"
- -DFCMIX_ENABLE="$(usex fortran)"
- -DF90_ENABLE="$(usex fortran)"
- -DHYPRE_ENABLE="$(usex hypre)"
- -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
- -DKLU_ENABLE="$(usex sparse)"
- -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
- -DLAPACK_ENABLE="$(usex lapack)"
- -DMPI_ENABLE="$(usex mpi)"
- -DOPENMP_ENABLE="$(usex openmp)"
- -DPTHREAD_ENABLE="$(usex threads)"
- -DSUPERLUMT_ENABLE="$(usex superlumt)"
- -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
- -DSUPERLUMT_LIBRARY="superlu_mt"
- -DEXAMPLES_ENABLE="$(usex examples)"
- -DEXAMPLES_INSTALL=ON
- -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
- -DUSE_GENERIC_MATH=ON
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- use doc && dodoc doc/*/*.pdf
- cd src
- for r in */README; do
- newdoc ${r} README-${r%/*}
- done
-}
diff --git a/sci-libs/sundials/sundials-4.1.0.ebuild b/sci-libs/sundials/sundials-4.1.0.ebuild
deleted file mode 100644
index 54f396b21f78..000000000000
--- a/sci-libs/sundials/sundials-4.1.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=90
-
-inherit cmake-utils toolchain-funcs fortran-2
-
-DESCRIPTION="Suite of nonlinear solvers"
-HOMEPAGE="https://computation.llnl.gov/projects/sundials"
-SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
-REQUIRED_USE="hypre? ( mpi )"
-
-RDEPEND="
- lapack? ( virtual/lapack )
- mpi? ( virtual/mpi sci-libs/hypre:= )
- sparse? ( sci-libs/klu:= )
- superlumt? ( sci-libs/superlu_mt:= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected gcc"
- die "need openmp capable gcc"
- fi
-}
-
-src_configure() {
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DCXX_ENABLE="$(usex cxx)"
- -DFCMIX_ENABLE="$(usex fortran)"
- -DF90_ENABLE="$(usex fortran)"
- -DHYPRE_ENABLE="$(usex hypre)"
- -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
- -DKLU_ENABLE="$(usex sparse)"
- -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
- -DLAPACK_ENABLE="$(usex lapack)"
- -DMPI_ENABLE="$(usex mpi)"
- -DOPENMP_ENABLE="$(usex openmp)"
- -DPTHREAD_ENABLE="$(usex threads)"
- -DSUPERLUMT_ENABLE="$(usex superlumt)"
- -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
- -DSUPERLUMT_LIBRARY="superlu_mt"
- -DEXAMPLES_ENABLE="$(usex examples)"
- -DEXAMPLES_INSTALL=ON
- -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
- -DUSE_GENERIC_MATH=ON
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- use doc && dodoc doc/*/*.pdf
- cd src
- for r in */README; do
- newdoc ${r} README-${r%/*}
- done
-}
diff --git a/sci-libs/sundials/sundials-5.0.0.ebuild b/sci-libs/sundials/sundials-5.0.0.ebuild
deleted file mode 100644
index 9505cbb40bfd..000000000000
--- a/sci-libs/sundials/sundials-5.0.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD=90
-
-inherit cmake-utils toolchain-funcs fortran-2
-
-DESCRIPTION="Suite of nonlinear solvers"
-HOMEPAGE="https://computation.llnl.gov/projects/sundials"
-SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
-REQUIRED_USE="hypre? ( mpi )"
-
-RDEPEND="
- lapack? ( virtual/lapack )
- mpi? ( virtual/mpi sci-libs/hypre:= )
- sparse? ( sci-libs/klu:= )
- superlumt? ( sci-libs/superlu_mt:= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected gcc"
- die "need openmp capable gcc"
- fi
-}
-
-src_configure() {
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DCXX_ENABLE="$(usex cxx)"
- -DFCMIX_ENABLE="$(usex fortran)"
- -DF90_ENABLE="$(usex fortran)"
- -DHYPRE_ENABLE="$(usex hypre)"
- -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
- -DKLU_ENABLE="$(usex sparse)"
- -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
- -DLAPACK_ENABLE="$(usex lapack)"
- -DMPI_ENABLE="$(usex mpi)"
- -DOPENMP_ENABLE="$(usex openmp)"
- -DPTHREAD_ENABLE="$(usex threads)"
- -DSUPERLUMT_ENABLE="$(usex superlumt)"
- -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
- -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
- -DEXAMPLES_ENABLE="$(usex examples)"
- -DEXAMPLES_INSTALL=ON
- -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
- -DUSE_GENERIC_MATH=ON
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- use doc && dodoc doc/*/*.pdf
-}
diff --git a/sci-libs/sundials/sundials-5.1.0.ebuild b/sci-libs/sundials/sundials-5.1.0.ebuild
deleted file mode 100644
index c6bc6848c819..000000000000
--- a/sci-libs/sundials/sundials-5.1.0.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD="77 90"
-# if FFLAGS and FCFLAGS are set then should be equal
-
-inherit cmake fortran-2 toolchain-funcs
-
-DESCRIPTION="Suite of nonlinear solvers"
-HOMEPAGE="https://computation.llnl.gov/projects/sundials"
-SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
-REQUIRED_USE="hypre? ( mpi )"
-
-BDEPEND="virtual/pkgconfig"
-RDEPEND="
- lapack? ( virtual/lapack )
- mpi? ( virtual/mpi sci-libs/hypre:= )
- sparse? ( sci-libs/klu )
- superlumt? ( sci-libs/superlu_mt:= )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected gcc"
- die "need openmp capable gcc"
- fi
-}
-
-src_configure() {
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DCXX_ENABLE="$(usex cxx)"
- -DFCMIX_ENABLE="$(usex fortran)"
- -DF90_ENABLE="$(usex fortran)"
- -DHYPRE_ENABLE="$(usex hypre)"
- -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
- -DKLU_ENABLE="$(usex sparse)"
- -DLAPACK_ENABLE="$(usex lapack)"
- -DMPI_ENABLE="$(usex mpi)"
- -DOPENMP_ENABLE="$(usex openmp)"
- -DPTHREAD_ENABLE="$(usex threads)"
- -DSUPERLUMT_ENABLE="$(usex superlumt)"
- -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
- -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
- -DEXAMPLES_ENABLE="$(usex examples)"
- -DEXAMPLES_INSTALL=ON
- -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
- -DUSE_GENERIC_MATH=ON
- )
- use sparse && mycmakeargs+=( -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so" )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- use doc && dodoc doc/*/*.pdf
-}
diff --git a/sci-libs/sundials/sundials-5.2.0.ebuild b/sci-libs/sundials/sundials-5.2.0.ebuild
deleted file mode 100644
index c6bc6848c819..000000000000
--- a/sci-libs/sundials/sundials-5.2.0.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-FORTRAN_NEEDED=fortran
-FORTRAN_STANDARD="77 90"
-# if FFLAGS and FCFLAGS are set then should be equal
-
-inherit cmake fortran-2 toolchain-funcs
-
-DESCRIPTION="Suite of nonlinear solvers"
-HOMEPAGE="https://computation.llnl.gov/projects/sundials"
-SRC_URI="https://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
-REQUIRED_USE="hypre? ( mpi )"
-
-BDEPEND="virtual/pkgconfig"
-RDEPEND="
- lapack? ( virtual/lapack )
- mpi? ( virtual/mpi sci-libs/hypre:= )
- sparse? ( sci-libs/klu )
- superlumt? ( sci-libs/superlu_mt:= )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${P}-fix-license-install-path.patch )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
- ewarn "OpenMP is not available in your current selected gcc"
- die "need openmp capable gcc"
- fi
-}
-
-src_configure() {
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DCXX_ENABLE="$(usex cxx)"
- -DFCMIX_ENABLE="$(usex fortran)"
- -DF90_ENABLE="$(usex fortran)"
- -DHYPRE_ENABLE="$(usex hypre)"
- -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
- -DKLU_ENABLE="$(usex sparse)"
- -DLAPACK_ENABLE="$(usex lapack)"
- -DMPI_ENABLE="$(usex mpi)"
- -DOPENMP_ENABLE="$(usex openmp)"
- -DPTHREAD_ENABLE="$(usex threads)"
- -DSUPERLUMT_ENABLE="$(usex superlumt)"
- -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
- -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
- -DEXAMPLES_ENABLE="$(usex examples)"
- -DEXAMPLES_INSTALL=ON
- -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
- -DUSE_GENERIC_MATH=ON
- )
- use sparse && mycmakeargs+=( -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so" )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- use doc && dodoc doc/*/*.pdf
-}
diff --git a/sci-libs/sundials/sundials-5.8.0.ebuild b/sci-libs/sundials/sundials-5.8.0.ebuild
new file mode 100644
index 000000000000..53665c56e14f
--- /dev/null
+++ b/sci-libs/sundials/sundials-5.8.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="77 90 2003"
+# if FFLAGS and FCFLAGS are set then should be equal
+
+inherit cmake flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Suite of nonlinear solvers"
+HOMEPAGE="https://computing.llnl.gov/projects/sundials"
+SRC_URI="https://github.com/LLNL/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples fortran hypre +int64 lapack mpi openmp sparse +static-libs superlumt threads"
+REQUIRED_USE="
+ fortran? ( static-libs )
+ hypre? ( mpi )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ lapack? ( virtual/lapack )
+ mpi? (
+ sci-libs/hypre:=[fortran?,mpi?]
+ virtual/mpi[fortran?]
+ )
+ sparse? ( sci-libs/klu )
+ superlumt? ( sci-libs/superlu_mt:=[int64=] )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-license-install-path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ # bug #707240
+ append-cflags -fcommon
+ use threads && append-ldflags -pthread
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # undefined reference to `psolve'
+ # undefined reference to `psetup'
+ # https://bugs.gentoo.org/862933
+ # https://github.com/LLNL/sundials/issues/97
+ filter-lto
+
+ mycmakeargs+=(
+ -DBUILD_FORTRAN77_INTERFACE=$(usex fortran)
+ -DBUILD_FORTRAN_MODULE_INTERFACE=$(usex fortran)
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DENABLE_HYPRE=$(usex hypre)
+ -DENABLE_KLU=$(usex sparse)
+ -DENABLE_LAPACK=$(usex lapack)
+ -DENABLE_MPI=$(usex mpi)
+ -DENABLE_OPENMP=$(usex openmp)
+ -DENABLE_PTHREAD=$(usex threads)
+ -DENABLE_SUPERLUMT=$(usex superlumt)
+ -DEXAMPLES_INSTALL=ON
+ -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
+ -DSUNDIALS_INDEX_SIZE="$(usex int64 64 32)"
+ -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
+ -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
+ -DUSE_GENERIC_MATH=ON
+ )
+ if use examples; then
+ mycmakeargs+=(
+ -DEXAMPLES_ENABLE_C=ON
+ -DEXAMPLES_ENABLE_CXX=ON
+ )
+ if use fortran; then
+ mycmakeargs+=(
+ -DEXAMPLES_ENABLE_F77=ON
+ -DEXAMPLES_ENABLE_F90=ON
+ -DEXAMPLES_ENABLE_F2003=ON
+ )
+ fi
+ fi
+
+ if use fortran; then
+ mycmakeargs+=(
+ -DFortran_INSTALL_MODDIR="${EPREFIX}/usr/$(get_libdir)/fortran"
+ )
+ fi
+
+ if use hypre; then
+ mycmakeargs+=(
+ -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
+ -DHYPRE_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libHYPRE.so"
+ )
+ fi
+
+ if use sparse; then
+ mycmakeargs+=(
+ -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
+ )
+ fi
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc doc/*/*.pdf
+}
diff --git a/sci-libs/sundials/sundials-6.2.0.ebuild b/sci-libs/sundials/sundials-6.2.0.ebuild
new file mode 100644
index 000000000000..d7351c6df946
--- /dev/null
+++ b/sci-libs/sundials/sundials-6.2.0.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="77 90 2003"
+# if FFLAGS and FCFLAGS are set then should be equal
+
+inherit cmake flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Suite of nonlinear solvers"
+HOMEPAGE="https://computing.llnl.gov/projects/sundials"
+SRC_URI="https://github.com/LLNL/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples fortran hypre +int64 lapack mpi openmp sparse +static-libs superlumt threads"
+REQUIRED_USE="
+ fortran? ( static-libs )
+ hypre? ( mpi )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ lapack? ( virtual/lapack )
+ mpi? (
+ sci-libs/hypre:=[fortran?,mpi?]
+ virtual/mpi[fortran?]
+ )
+ sparse? ( sci-libs/klu )
+ superlumt? ( sci-libs/superlu_mt:=[int64=] )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-license-install-path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ # bug #707240
+ append-cflags -fcommon
+ use threads && append-ldflags -pthread
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # undefined reference to `psolve'
+ # undefined reference to `psetup'
+ # https://bugs.gentoo.org/862933
+ # https://github.com/LLNL/sundials/issues/97
+ filter-lto
+
+ mycmakeargs+=(
+ -DBUILD_FORTRAN_MODULE_INTERFACE=$(usex fortran)
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DENABLE_HYPRE=$(usex hypre)
+ -DENABLE_KLU=$(usex sparse)
+ -DENABLE_LAPACK=$(usex lapack)
+ -DENABLE_MPI=$(usex mpi)
+ -DENABLE_OPENMP=$(usex openmp)
+ -DENABLE_PTHREAD=$(usex threads)
+ -DENABLE_SUPERLUMT=$(usex superlumt)
+ -DEXAMPLES_INSTALL=ON
+ -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
+ -DSUNDIALS_INDEX_SIZE="$(usex int64 64 32)"
+ -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
+ -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
+ -DUSE_GENERIC_MATH=ON
+ )
+
+ if use examples; then
+ mycmakeargs+=(
+ -DEXAMPLES_ENABLE_C=ON
+ -DEXAMPLES_ENABLE_CXX=ON
+ )
+ if use fortran; then
+ mycmakeargs+=(
+ -DEXAMPLES_ENABLE_F77=ON
+ -DEXAMPLES_ENABLE_F90=ON
+ -DEXAMPLES_ENABLE_F2003=ON
+ )
+ fi
+ fi
+
+ if use fortran; then
+ mycmakeargs+=(
+ -DFortran_INSTALL_MODDIR="${EPREFIX}/usr/$(get_libdir)/fortran"
+ )
+ fi
+
+ if use hypre; then
+ mycmakeargs+=(
+ -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
+ -DHYPRE_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libHYPRE.so"
+ )
+ fi
+
+ if use sparse; then
+ mycmakeargs+=(
+ -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc doc/*/*.pdf
+}
diff --git a/sci-libs/sundials/sundials-6.5.0.ebuild b/sci-libs/sundials/sundials-6.5.0.ebuild
new file mode 100644
index 000000000000..d98b371af267
--- /dev/null
+++ b/sci-libs/sundials/sundials-6.5.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR="emake"
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="77 90 2003"
+# if FFLAGS and FCFLAGS are set then should be equal
+
+inherit cmake flag-o-matic fortran-2 toolchain-funcs
+
+DESCRIPTION="Suite of nonlinear solvers"
+HOMEPAGE="https://computing.llnl.gov/projects/sundials"
+SRC_URI="https://github.com/LLNL/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples fortran hypre +int64 lapack mpi openmp sparse +static-libs superlumt threads"
+REQUIRED_USE="
+ fortran? ( static-libs )
+ hypre? ( mpi )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ lapack? ( virtual/lapack )
+ mpi? (
+ sci-libs/hypre:=[fortran?,mpi?]
+ virtual/mpi[fortran?]
+ )
+ sparse? ( sci-libs/klu )
+ superlumt? ( sci-libs/superlu_mt:=[int64=] )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-license-install-path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ # bug #707240
+ append-cflags -fcommon
+ use threads && append-ldflags -pthread
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # undefined reference to `psolve'
+ # undefined reference to `psetup'
+ # https://bugs.gentoo.org/862933
+ # https://github.com/LLNL/sundials/issues/97
+ filter-lto
+
+ mycmakeargs+=(
+ -DBUILD_FORTRAN_MODULE_INTERFACE=$(usex fortran)
+ -DBUILD_SHARED_LIBS=ON
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DENABLE_HYPRE=$(usex hypre)
+ -DENABLE_KLU=$(usex sparse)
+ -DENABLE_LAPACK=$(usex lapack)
+ -DENABLE_MPI=$(usex mpi)
+ -DENABLE_OPENMP=$(usex openmp)
+ -DENABLE_PTHREAD=$(usex threads)
+ -DENABLE_SUPERLUMT=$(usex superlumt)
+ -DEXAMPLES_INSTALL=ON
+ -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
+ -DSUNDIALS_INDEX_SIZE="$(usex int64 64 32)"
+ -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
+ -DSUPERLUMT_LIBRARY="-lsuperlu_mt"
+ -DUSE_GENERIC_MATH=ON
+ )
+
+ if use examples; then
+ mycmakeargs+=(
+ -DEXAMPLES_ENABLE_C=ON
+ -DEXAMPLES_ENABLE_CXX=ON
+ )
+ if use fortran; then
+ mycmakeargs+=(
+ -DEXAMPLES_ENABLE_F2003=ON
+ )
+ fi
+ fi
+
+ if use fortran; then
+ mycmakeargs+=(
+ -DFortran_INSTALL_MODDIR="${EPREFIX}/usr/$(get_libdir)/fortran"
+ )
+ fi
+
+ if use hypre; then
+ mycmakeargs+=(
+ -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
+ -DHYPRE_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libHYPRE.so"
+ )
+ fi
+
+ if use sparse; then
+ mycmakeargs+=(
+ -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc doc/*/*.pdf
+}
diff --git a/sci-libs/superlu/Manifest b/sci-libs/superlu/Manifest
index 13ca2c7061fb..b70359d59397 100644
--- a/sci-libs/superlu/Manifest
+++ b/sci-libs/superlu/Manifest
@@ -1,2 +1,3 @@
+DIST superlu-5.3.0.tar.gz 2483070 BLAKE2B 2e877c12b698fae6649d3146d4a22a8c701df813d1fa037b7707081229de09e102660e75dd32138264ad9e01e5b3e820012106cd2b0d46cc2a1c37dc5eaafec2 SHA512 1461b52bc18a8b0345beb70fdd46e07df497a13be840bcc061158ea1d0e61c8745806d1ad21cb2723db80f5ed762c3741f9c0ded2b2013df46da0e8bb6b77b83
+DIST superlu_4.3.new.tar.gz 2875951 BLAKE2B 4208edb7df0babc0bb7e21077c6e0a00a10766a2d01b2da47f05ecdb232ca3309a2bce00f2cd1b709a8c01b7de2276e4f7d63856ace2e93c3598f1cdcdc12712 SHA512 57799051c5cd394e4cb1b89481a4706ee0a21159f06941bab4a39dfe30f4b6ccdf67042c6ec2c479a12deee0ed26c3707069a5b53281fb26b6c752ca77102aad
DIST superlu_4.3.tar.gz 2876631 BLAKE2B 0a563e6730394f8e69fe13f1418f9f046bd37c848c51063e93a24a209e50a67f91b725eb3978fd6c4d28e51615806d6c0b6a2539cbc0d7fd11b5e4f0a9360148 SHA512 5c13da47b79160be14719f62ccdf5d59142a172e25a988fa340eaeb001a64d7f45ba39e675cb7aa3571bec52cb3a7cda0bb7a708c9608184ba6251edb7990e8c
-DIST superlu_5.2.1.tar.gz 2560875 BLAKE2B b1dd51bddb55061f5756f3cf766f80e506f7cc12b272c2ceebbae71cab9314000308b72cf265d5948ed69c68d0ad0adeb938a4471250147b0fcfdc2b80298db7 SHA512 30538b4c2809294b8f34646bce6445944f21a1dffaf3ec0a0f29a55d5261caa56e4279d7722bb95cc9d89450d36ded969617edc82ecce7d0f1dfb24040d80d07
diff --git a/sci-libs/superlu/files/superlu-4.3-autotools.patch b/sci-libs/superlu/files/superlu-4.3-autotools.patch
index c5aae0159344..5deeba83cf3f 100644
--- a/sci-libs/superlu/files/superlu-4.3-autotools.patch
+++ b/sci-libs/superlu/files/superlu-4.3-autotools.patch
@@ -1,14 +1,3 @@
- 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 @@
@@ -21,8 +10,8 @@ index c286ded..37950dc 100644
#######################################################################
-HEADER = ../SRC
-+HEADER = $(shell pkg-config --cflags superlu)
-+LIBS = $(shell pkg-config --libs superlu)
++HEADER = $(shell ${PKG_CONFIG} --cflags superlu)
++LIBS = $(shell ${PKG_CONFIG} --libs superlu)
+CDEFS = -DAdd_
SLINEXM = slinsol.o
@@ -164,8 +153,6 @@ index c286ded..37950dc 100644
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 @@
@@ -179,8 +166,8 @@ index 23671a7..54da751 100644
-HEADER = ../SRC
-LIBS = $(SUPERLULIB) $(BLASLIB) -lm
-+HEADER = $(shell pkg-config --cflags superlu)
-+LIBS = $(shell pkg-config --libs superlu)
++HEADER = $(shell ${PKG_CONFIG} --cflags superlu)
++LIBS = $(shell ${PKG_CONFIG} --libs superlu)
# double real
F77EXM = f77_main.o hbcode1.o c_fortran_dgssv.o
@@ -208,8 +195,6 @@ index 23671a7..54da751 100644
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
@@ -218,8 +203,6 @@ index 0000000..7e51046
+
+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
@@ -334,9 +317,6 @@ index 0000000..748e5e9
+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 @@
@@ -541,9 +521,6 @@ index 0000000..e4f96cb
+ $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 @@
@@ -563,9 +540,6 @@ index 0000000..f6707be
+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 @@
diff --git a/sci-libs/superlu/files/superlu-4.3-format-security.patch b/sci-libs/superlu/files/superlu-4.3-format-security.patch
index 809408a166ab..a2fee7e7c20c 100644
--- a/sci-libs/superlu/files/superlu-4.3-format-security.patch
+++ b/sci-libs/superlu/files/superlu-4.3-format-security.patch
@@ -1,8 +1,3 @@
- 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 @@
diff --git a/sci-libs/superlu/files/superlu-5.2.1-no-implicits.patch b/sci-libs/superlu/files/superlu-5.2.1-no-implicits.patch
deleted file mode 100644
index 587380ce2e35..000000000000
--- a/sci-libs/superlu/files/superlu-5.2.1-no-implicits.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-diff --git a/SRC/clacon2.c b/SRC/clacon2.c
-index 107bb64..39deb83 100644
---- a/SRC/clacon2.c
-+++ b/SRC/clacon2.c
-@@ -106,6 +106,11 @@ clacon2_(int *n, complex *v, complex *x, float *est, int *kase, int isave[3])
- extern float smach(char *);
- extern int icmax1_slu(int *, complex *, int *);
- extern double scsum1_slu(int *, complex *, int *);
-+#ifdef _CRAY
-+ extern int CCOPY(int *, complex *, int *, complex [], int *);
-+#else
-+ extern int ccopy_(int *, complex *, int *, complex [], int *);
-+#endif
-
- safmin = smach("Safe minimum"); /* lamch_("Safe minimum"); */
- if ( *kase == 0 ) {
-diff --git a/SRC/dmach.c b/SRC/dmach.c
-index 73beacb..cafdf1c 100644
---- a/SRC/dmach.c
-+++ b/SRC/dmach.c
-@@ -11,6 +11,7 @@ at the top-level directory.
- #include <float.h>
- #include <math.h>
- #include <stdio.h>
-+#include <string.h>
-
- double dmach(char *cmach)
- {
-diff --git a/SRC/ilu_cdrop_row.c b/SRC/ilu_cdrop_row.c
-index 4987548..09b8a93 100644
---- a/SRC/ilu_cdrop_row.c
-+++ b/SRC/ilu_cdrop_row.c
-@@ -28,6 +28,7 @@ extern void caxpy_(int *, complex *, complex [], int *, complex [], int *);
- extern void ccopy_(int *, complex [], int *, complex [], int *);
- extern float scasum_(int *, complex *, int *);
- extern float scnrm2_(int *, complex *, int *);
-+extern void scopy_(int *, float [], int *, float [], int *);
- extern double dnrm2_(int *, double [], int *);
- extern int icamax_(int *, complex [], int *);
-
-diff --git a/SRC/ilu_zdrop_row.c b/SRC/ilu_zdrop_row.c
-index f434dd9..2de1226 100644
---- a/SRC/ilu_zdrop_row.c
-+++ b/SRC/ilu_zdrop_row.c
-@@ -29,6 +29,7 @@ extern void zcopy_(int *, doublecomplex [], int *, doublecomplex [], int *);
- extern double dzasum_(int *, doublecomplex *, int *);
- extern double dznrm2_(int *, doublecomplex *, int *);
- extern double dnrm2_(int *, double [], int *);
-+extern void dcopy_(int *, double [], int *, double [], int *);
- extern int izamax_(int *, doublecomplex [], int *);
-
- static double *A; /* used in _compare_ only */
-diff --git a/SRC/slacon2.c b/SRC/slacon2.c
-index 7c93341..50efe78 100644
---- a/SRC/slacon2.c
-+++ b/SRC/slacon2.c
-@@ -157,7 +157,7 @@ L40:
- #ifdef _CRAY
- isave[1] = ISAMAX(n, &x[0], &c__1); /* j */
- #else
-- isave[1] = idamax_(n, &x[0], &c__1); /* j */
-+ isave[1] = isamax_(n, &x[0], &c__1); /* j */
- #endif
- --isave[1]; /* --j; */
- isave[2] = 2; /* iter = 2; */
-diff --git a/SRC/smach.c b/SRC/smach.c
-index fff6c5f..0b69991 100644
---- a/SRC/smach.c
-+++ b/SRC/smach.c
-@@ -11,6 +11,7 @@ at the top-level directory.
- #include <float.h>
- #include <math.h>
- #include <stdio.h>
-+#include <string.h>
-
- float smach(char *cmach)
- {
-diff --git a/SRC/sp_ienv.c b/SRC/sp_ienv.c
-index 855d901..ce2865e 100644
---- a/SRC/sp_ienv.c
-+++ b/SRC/sp_ienv.c
-@@ -24,6 +24,7 @@ at the top-level directory.
- * History: Modified from lapack routine ILAENV
- */
- #include "slu_Cnames.h"
-+extern int input_error(char *, int *);
-
- /*! \brief
-
-diff --git a/SRC/zlacon2.c b/SRC/zlacon2.c
-index b43c619..ed5f2b7 100644
---- a/SRC/zlacon2.c
-+++ b/SRC/zlacon2.c
-@@ -106,6 +106,11 @@ zlacon2_(int *n, doublecomplex *v, doublecomplex *x, double *est, int *kase, int
- extern double dmach(char *);
- extern int izmax1_slu(int *, doublecomplex *, int *);
- extern double dzsum1_slu(int *, doublecomplex *, int *);
-+#ifdef _CRAY
-+ extern int CCOPY(int *, doublecomplex *, int *, doublecomplex *, int *);
-+#else
-+ extern int zcopy_(int *, doublecomplex *, int *, doublecomplex *, int *);
-+#endif
-
- safmin = dmach("Safe minimum"); /* lamch_("Safe minimum"); */
- if ( *kase == 0 ) {
-diff --git a/TESTING/zdrive.c b/TESTING/zdrive.c
-index 23e96fc..1e7d0aa 100644
---- a/TESTING/zdrive.c
-+++ b/TESTING/zdrive.c
-@@ -21,6 +21,7 @@ at the top-level directory.
- * Purpose: MAIN test program
- */
- #include <string.h>
-+#include <unistd.h>
- #include "slu_zdefs.h"
-
- #define NTESTS 5 /* Number of test types */
-diff --git a/TESTING/cdrive.c b/TESTING/cdrive.c
-index 8bc8d10..00fe0d8 100644
---- a/TESTING/cdrive.c
-+++ b/TESTING/cdrive.c
-@@ -21,6 +21,7 @@ at the top-level directory.
- * Purpose: MAIN test program
- */
- #include <string.h>
-+#include <unistd.h>
- #include "slu_cdefs.h"
-
- #define NTESTS 5 /* Number of test types */
-diff --git a/TESTING/sdrive.c b/TESTING/sdrive.c
-index 5b98038..cba0c83 100644
---- a/TESTING/sdrive.c
-+++ b/TESTING/sdrive.c
-@@ -21,6 +21,7 @@ at the top-level directory.
- * Purpose: MAIN test program
- */
- #include <string.h>
-+#include <unistd.h>
- #include "slu_sdefs.h"
-
- #define NTESTS 5 /* Number of test types */
-diff --git a/TESTING/ddrive.c b/TESTING/ddrive.c
-index 2c3f6fe..35685c5 100644
---- a/TESTING/ddrive.c
-+++ b/TESTING/ddrive.c
-@@ -21,6 +21,7 @@ at the top-level directory.
- * Purpose: MAIN test program
- */
- #include <string.h>
-+#include <unistd.h>
- #include "slu_ddefs.h"
-
- #define NTESTS 5 /* Number of test types */
diff --git a/sci-libs/superlu/files/superlu-5.2.1-pkgconfig.patch b/sci-libs/superlu/files/superlu-5.2.1-pkgconfig.patch
deleted file mode 100644
index 63252dffdb57..000000000000
--- a/sci-libs/superlu/files/superlu-5.2.1-pkgconfig.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d8abc1b..5883b34 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -143,3 +143,6 @@ endif()
- # ${CMAKE_C_COMPILER} )
- configure_file(${CMAKE_SOURCE_DIR}/make.inc.in ${CMAKE_SOURCE_DIR}/make.inc)
-
-+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/superlu.pc.in ${CMAKE_CURRENT_BINARY_DIR}/superlu.pc @ONLY)
-+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/superlu.pc
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-diff --git a/superlu.pc.in b/superlu.pc.in
-new file mode 100644
-index 0000000..09b1fff
---- /dev/null
-+++ b/superlu.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
-+includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@
-+
-+Name: @CMAKE_PROJECT_NAME@
-+Description: Direct solution of large, sparse systems of linear equations
-+Version: @PROJECT_VERSION@
-+URL: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/
-+
-+Libs: -L${libdir} -lsuperlu
-+Libs.private: @BLAS_LIB@ -lm
-+Cflags: -I${includedir}
diff --git a/sci-libs/superlu/files/superlu-5.2.2-no-internal-blas.patch b/sci-libs/superlu/files/superlu-5.2.2-no-internal-blas.patch
new file mode 100644
index 000000000000..cbfc013141b5
--- /dev/null
+++ b/sci-libs/superlu/files/superlu-5.2.2-no-internal-blas.patch
@@ -0,0 +1,17 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -121,13 +121,7 @@ if(BLAS_FOUND)
+ set(BLAS_LIB_EXPORT ${BLAS_LIB_STR})
+ else()
+ message("-- Did not find or specify BLAS so configure to build internal CBLAS ...")
+- add_subdirectory(CBLAS)
+- set(BLAS_LIB blas)
+- if (BUILD_SHARED_LIBS) # export to be referenced by downstream makefile
+- set(BLAS_LIB_EXPORT ${CMAKE_INSTALL_PREFIX}/CBLAS/libblas.so)
+- else()
+- set(BLAS_LIB_EXPORT ${CMAKE_INSTALL_PREFIX}/CBLAS/libblas.a)
+- endif()
++ message( FATAL_ERROR "Could not find BLAS, refusing to use internal copy" )
+ endif()
+
+ ######################################################################
diff --git a/sci-libs/superlu/metadata.xml b/sci-libs/superlu/metadata.xml
index 01512c58f866..bf22e5324b94 100644
--- a/sci-libs/superlu/metadata.xml
+++ b/sci-libs/superlu/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/superlu/superlu-4.3-r1.ebuild b/sci-libs/superlu/superlu-4.3-r1.ebuild
deleted file mode 100644
index 1c9edf1a9d4a..000000000000
--- a/sci-libs/superlu/superlu-4.3-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
-SRC_URI="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/${PN}_${PV}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples static-libs test"
-RESTRICT="!test? ( 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/superlu/superlu-4.3-r2.ebuild b/sci-libs/superlu/superlu-4.3-r2.ebuild
new file mode 100644
index 000000000000..e8887bb82b09
--- /dev/null
+++ b/sci-libs/superlu/superlu-4.3-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools fortran-2 multilib toolchain-funcs
+
+MY_PN=SuperLU
+
+DESCRIPTION="Sparse LU factorization library"
+HOMEPAGE="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
+#SRC_URI="https://portal.nersc.gov/project/sparse/${PN}/${PN}_${PV}.tar.gz"
+# Archive of weird franken-version which we used as 4.3 but upstream changed
+# the above tarball ^. The franken-version we used seemed to have 4.1 references in it?
+# bug #862597.
+SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}_${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}_${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ppc ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="virtual/blas"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( app-shells/tcsh )
+"
+
+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
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ )
+
+ tc-export PKG_CONFIG
+
+ econf "${myeconfargs[@]}"
+
+ rm EXAMPLE/*itersol1 || die
+}
+
+src_test() {
+ cd TESTING || die
+ 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() {
+ default
+
+ if use doc; then
+ dodoc DOC/ug.pdf
+ dodoc -r DOC/html/.
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r EXAMPLE FORTRAN
+ fi
+
+ find "${ED}" -name "*.a" -delete || die
+}
diff --git a/sci-libs/superlu/superlu-4.3-r3.ebuild b/sci-libs/superlu/superlu-4.3-r3.ebuild
new file mode 100644
index 000000000000..028c3d805d0c
--- /dev/null
+++ b/sci-libs/superlu/superlu-4.3-r3.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools fortran-2 multilib toolchain-funcs
+
+MY_PN=SuperLU
+
+DESCRIPTION="Sparse LU factorization library"
+HOMEPAGE="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
+# See bug #862597 for .new, can drop on next version
+SRC_URI="https://portal.nersc.gov/project/sparse/${PN}/${PN}_${PV}.tar.gz -> ${PN}_${PV}.new.tar.gz"
+S="${WORKDIR}/${MY_PN}_${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="virtual/blas"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( app-shells/tcsh )
+"
+
+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
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
+ )
+
+ tc-export PKG_CONFIG
+
+ econf "${myeconfargs[@]}"
+
+ rm EXAMPLE/*itersol1 || die
+}
+
+src_test() {
+ cd TESTING || die
+ 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() {
+ default
+
+ if use doc; then
+ dodoc DOC/ug.pdf
+ dodoc -r DOC/html/.
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r EXAMPLE FORTRAN
+ fi
+
+ find "${ED}" -name "*.a" -delete || die
+}
diff --git a/sci-libs/superlu/superlu-5.2.1-r1.ebuild b/sci-libs/superlu/superlu-5.2.1-r1.ebuild
deleted file mode 100644
index 2f7f382cf88d..000000000000
--- a/sci-libs/superlu/superlu-5.2.1-r1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_STANDARD=77
-
-inherit cmake-utils fortran-2
-
-MY_PN=SuperLU
-
-if [[ ${PV} != *9999* ]]; then
- inherit versionator
- SRC_URI="https://crd-legacy.lbl.gov/~xiaoye/SuperLU//${PN}_${PV}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
- SLOT="0/$(get_major_version)"
- S="${WORKDIR}/SuperLU_${PV}"
-else
- inherit git-r3
- GIT_ECLASS="git-r3"
- EGIT_REPO_URI="https://github.com/xiaoyeli/${PN}"
- SLOT="0/9999"
- KEYWORDS="amd64 ~arm64 ~hppa ~ia64 ppc64 ~sparc x86"
-fi
-
-DESCRIPTION="Sparse LU factorization library"
-HOMEPAGE="https://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
-LICENSE="BSD"
-
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="virtual/blas"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? ( app-shells/tcsh )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-implicits.patch
- "${FILESDIR}"/${P}-pkgconfig.patch
-)
-
-S="${WORKDIR}/${MY_PN}_${PV}"
-
-src_prepare() {
- cmake-utils_src_prepare
- # respect user's CFLAGS
- sed -i -e 's/O3//' CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs+=(
- -DCMAKE_INSTALL_INCLUDEDIR="include/superlu"
- -DBUILD_SHARED_LIBS=ON
- -Denable_blaslib=OFF
- -Denable_tests=$(usex test)
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- use doc && dodoc -r DOC/html
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins -r EXAMPLE FORTRAN
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/sci-libs/superlu/superlu-5.3.0.ebuild b/sci-libs/superlu/superlu-5.3.0.ebuild
new file mode 100644
index 000000000000..9fd9d87b809b
--- /dev/null
+++ b/sci-libs/superlu/superlu-5.3.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_STANDARD=77
+
+inherit cmake fortran-2
+
+DESCRIPTION="Sparse LU factorization library"
+HOMEPAGE="https://portal.nersc.gov/project/sparse/superlu/"
+SRC_URI="https://github.com/xiaoyeli/superlu/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? ( app-shells/tcsh )
+"
+RDEPEND="virtual/blas"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.2.2-no-internal-blas.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ # respect user's CFLAGS
+ sed -i -e 's/O3//' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs+=(
+ -DCMAKE_INSTALL_INCLUDEDIR="include/superlu"
+ -DBUILD_SHARED_LIBS=ON
+ -Denable_internal_blaslib=OFF
+ -Denable_tests=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc -r DOC/html
+ if use examples; then
+ docinto examples
+ dodoc -r EXAMPLE FORTRAN
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sci-libs/superlu_mt/files/superlu_mt-3.1-fix-predefs.patch b/sci-libs/superlu_mt/files/superlu_mt-3.1-fix-predefs.patch
new file mode 100644
index 000000000000..95c64675a87b
--- /dev/null
+++ b/sci-libs/superlu_mt/files/superlu_mt-3.1-fix-predefs.patch
@@ -0,0 +1,22 @@
+--- a/INSTALL/Makefile
++++ b/INSTALL/Makefile
+@@ -19,7 +19,7 @@ slamch.o: slamch.c ; $(CC) $(NOOPTS) -c $<
+ dlamch.o: dlamch.c ; $(CC) $(NOOPTS) -c $<
+ superlu_timer.o: superlu_timer.c; $(CC) $(NOOPTS) -c $<
+
+-.c.o: ; $(CC) $(CFLAGS) -c $<
++.c.o: ; $(CC) $(PREDEFS) $(CFLAGS) -c $<
+
+ clean:
+ rm -f *.o test* *.out
+--- a/SRC/Makefile
++++ b/SRC/Makefile
+@@ -130,7 +130,7 @@ await.o: await.c
+ $(CC) -c $(NOOPTS) $< $(VERBOSE)
+
+ .c.o:
+- $(CC) $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE)
++ $(CC) ${PREDEFS} $(CFLAGS) $(CDEFS) $(BLASDEF) -c $< $(VERBOSE)
+
+ clean:
+ rm -f *.o core ../lib/$(SUPERLULIB)
diff --git a/sci-libs/superlu_mt/metadata.xml b/sci-libs/superlu_mt/metadata.xml
index 5e07f8c182bc..e89774c08192 100644
--- a/sci-libs/superlu_mt/metadata.xml
+++ b/sci-libs/superlu_mt/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/superlu_mt/superlu_mt-3.1-r1.ebuild b/sci-libs/superlu_mt/superlu_mt-3.1-r1.ebuild
new file mode 100644
index 000000000000..adfa9a6f3431
--- /dev/null
+++ b/sci-libs/superlu_mt/superlu_mt-3.1-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PN=SuperLU_MT
+SOVERSION=$(ver_cut 1)
+
+DESCRIPTION="Multithreaded sparse LU factorization library"
+HOMEPAGE="https://portal.nersc.gov/project/sparse/superlu/"
+SRC_URI="https://portal.nersc.gov/project/sparse/superlu/${PN}_${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${SOVERSION}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples int64 openmp static-libs test threads"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( openmp threads )"
+
+RDEPEND="virtual/blas"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
+ test? ( app-shells/tcsh )"
+
+S="${WORKDIR}/${MY_PN}_${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1-duplicate-symbols.patch
+ "${FILESDIR}"/${PN}-3.1-fix-predefs.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && ! use threads && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && ! use threads && tc-check-openmp
+}
+
+src_prepare() {
+ default
+ cat <<-EOF > make.inc
+ CC=$(tc-getCC)
+ LOADER=$(tc-getCC)
+ ARCH=$(tc-getAR)
+ RANLIB=$(tc-getRANLIB)
+ PREDEFS=${CPPFLAGS} -DUSE_VENDOR_BLAS -DPRNTlevel=0 -DDEBUGlevel=0 $(use int64 && echo -D_LONGINT)
+ CDEFS=-DAdd_
+ CFLAGS=${CFLAGS} ${CTHREADS} \$(PIC)
+ BLASLIB=$($(tc-getPKG_CONFIG) --libs blas)
+ MATHLIB=-lm
+ NOOPTS=-O0 \$(PIC)
+ ARCHFLAGS=cr
+ LOADOPTS=${LDFLAGS} ${LDTHREADS}
+ SUPERLULIB=lib${PN}.a
+ TMGLIB=libtmglib.a
+ EOF
+ SONAME=lib${PN}.so.${SOVERSION}
+ sed -e "s|../SRC|${EPREFIX}/usr/include/${PN}|" \
+ -e '/:.*$(SUPERLULIB)/s|../lib/$(SUPERLULIB)||g' \
+ -e 's|../lib/$(SUPERLULIB)|-lsuperlu_mt|g' \
+ -i EXAMPLE/Makefile || die
+
+ if use openmp && ! use threads; then
+ CTHREADS="-D__OPENMP"
+ LDTHREADS="-fopenmp"
+ else
+ CTHREADS="-D__PTHREAD"
+ LDTHREADS="-pthread"
+ fi
+}
+
+src_compile() {
+ # shared library
+ emake PIC="-fPIC" \
+ ARCH="echo" \
+ ARCHFLAGS="" \
+ RANLIB="echo" \
+ superlulib
+ $(tc-getCC) ${LDFLAGS} ${LDTHREADS} -shared -Wl,-soname=${SONAME} SRC/*.o \
+ $($(tc-getPKG_CONFIG) --libs blas) -lm -o lib/${SONAME} || die
+ ln -s ${SONAME} lib/libsuperlu_mt.so || die
+
+ use static-libs && rm -f SRC/*.o && \
+ emake PIC="" superlulib
+}
+
+src_test() {
+ emake -j1 tmglib
+ LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" \
+ emake SUPERLULIB="${SONAME}" testing
+}
+
+src_install() {
+ dolib.so lib/*so*
+ use static-libs && dolib.a lib/*.a
+ insinto /usr/include/${PN}
+ doins SRC/*h
+ dodoc README
+ use doc && dodoc DOC/ug.pdf
+ if use examples; then
+ docinto /examples
+ dodoc -r EXAMPLE/* make.inc
+ fi
+}
diff --git a/sci-libs/superlu_mt/superlu_mt-3.1.ebuild b/sci-libs/superlu_mt/superlu_mt-3.1.ebuild
deleted file mode 100644
index bd98796402d4..000000000000
--- a/sci-libs/superlu_mt/superlu_mt-3.1.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils toolchain-funcs versionator
-
-MYPN=SuperLU_MT
-SOVERSION=$(get_major_version)
-
-DESCRIPTION="Multithreaded sparse LU factorization library"
-HOMEPAGE="http://crd.lbl.gov/~xiaoye/SuperLU/"
-SRC_URI="http://crd.lbl.gov/~xiaoye/SuperLU/${PN}_${PV}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${SOVERSION}"
-KEYWORDS="amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples int64 openmp static-libs test threads"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( openmp threads )"
-
-RDEPEND="virtual/blas"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? ( app-shells/tcsh )"
-
-S="${WORKDIR}/${MYPN}_${PV}"
-
-PATCHES=( "${FILESDIR}"/${P}-duplicate-symbols.patch )
-
-pkg_setup() {
- if use openmp && ! use threads; 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
- CTHREADS="-D__OPENMP"
- [[ $(tc-getCC) == *gcc ]] && LDTHREADS="-fopenmp"
- else
- CTHREADS="-D__PTHREAD"
- LDTHREADS="-pthread"
- fi
-}
-
-src_prepare() {
- default
- cat <<-EOF > make.inc
- CC=$(tc-getCC)
- LOADER=$(tc-getCC)
- ARCH=$(tc-getAR)
- RANLIB=$(tc-getRANLIB)
- PREDEFS=${CPPFLAGS} -DUSE_VENDOR_BLAS -DPRNTlevel=0 -DDEBUGlevel=0 $(use int64 && echo -D_LONGINT)
- CDEFS=-DAdd_
- CFLAGS=${CFLAGS} ${CTHREADS} \$(PIC)
- BLASLIB=$($(tc-getPKG_CONFIG) --libs blas)
- MATHLIB=-lm
- NOOPTS=-O0 \$(PIC)
- ARCHFLAGS=cr
- LOADOPTS=${LDFLAGS} ${LDTHREADS}
- SUPERLULIB=lib${PN}.a
- TMGLIB=libtmglib.a
- EOF
- SONAME=lib${PN}.so.${SOVERSION}
- sed -e 's|../make.inc|make.inc|' \
- -e "s|../SRC|${EPREFIX}/usr/include/${PN}|" \
- -e '/:.*$(SUPERLULIB)/s|../lib/$(SUPERLULIB)||g' \
- -e 's|../lib/$(SUPERLULIB)|-lsuperlu_mt|g' \
- -i EXAMPLE/Makefile || die
-}
-
-src_compile() {
- # shared library
- emake PIC="-fPIC" \
- ARCH="echo" \
- ARCHFLAGS="" \
- RANLIB="echo" \
- superlulib
- $(tc-getCC) ${LDFLAGS} ${LDTHREADS} -shared -Wl,-soname=${SONAME} SRC/*.o \
- $($(tc-getPKG_CONFIG) --libs blas) -lm -o lib/${SONAME} || die
- ln -s ${SONAME} lib/libsuperlu_mt.so || die
-
- use static-libs && rm -f SRC/*.o && \
- emake PIC="" superlulib
-}
-
-src_test() {
- emake -j1 tmglib
- LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}" \
- emake SUPERLULIB="${SONAME}" testing
-}
-
-src_install() {
- dolib.so lib/*so*
- use static-libs && dolib.a lib/*.a
- insinto /usr/include/${PN}
- doins SRC/*h
- dodoc README
- use doc && dodoc DOC/ug.pdf
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins -r EXAMPLE/* make.inc
- fi
-}
diff --git a/sci-libs/symengine/Manifest b/sci-libs/symengine/Manifest
index 136367fe25e9..b5add05ebc62 100644
--- a/sci-libs/symengine/Manifest
+++ b/sci-libs/symengine/Manifest
@@ -1,2 +1 @@
-DIST symengine-0.5.0.tar.gz 761321 BLAKE2B ddff0e756188f375e966b92e6e7796936b8b6fe1a884c036066dc09d46183f157761c9813fe27366e625b7cc070381332964a12f14617be66b0f38f536c0518d SHA512 0b94b531f71adf9129440e0664a5b5ce23453de6c8d22ed385958b38cda9bc2b356a0182a80076f47b217e9f6b5a57f059b040fddf7d69694d5bd5857b0a046b
-DIST symengine-0.6.0.tar.gz 763481 BLAKE2B 37fe94ad08463b31c7387ab296b201a4dda821ba59dfa548d0c42e70d23958bae24df3f035bd3fffb46cc08cc010d13a25e607a9e0644e9b3c0602fa0eb363b3 SHA512 cc6f0468534e5bcd466a810d44f9884b17858ca6c7151cdcadb3af0f7d8faf0d96697d5887ab65fc9094de80df825f8243dabc54e3f5c387be544880f49b482b
+DIST symengine-0.11.1.tar.gz 898181 BLAKE2B ef14e09ceb7e9783711ca7f9f06a59362c40222e7f85de5545be834ecd79bbf41fcd34141bb3a63c106ee45067dd0b957377f937097183ffd5b93c6943976571 SHA512 076aac35428589c5b3524a46bd939a3a3a7da44b1c866b5f71487678b27b6e48b4da034029f1630881d7713a9252e905411a04b8016c9ec56a608b6de23365ac
diff --git a/sci-libs/symengine/files/symengine-0.11.1-flint-3.patch b/sci-libs/symengine/files/symengine-0.11.1-flint-3.patch
new file mode 100644
index 000000000000..662a4bc1bdc1
--- /dev/null
+++ b/sci-libs/symengine/files/symengine-0.11.1-flint-3.patch
@@ -0,0 +1,41 @@
+From 1ef98559d75b4fa5b87dad2daff0d12e7857ac8d Mon Sep 17 00:00:00 2001
+From: Isuru Fernando <isuruf@gmail.com>
+Date: Mon, 30 Oct 2023 20:25:05 -0500
+Subject: [PATCH] Fix flint headers and replace use of deprecated funcs in
+ flint2/3
+
+---
+ symengine/flint_wrapper.h | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/symengine/flint_wrapper.h b/symengine/flint_wrapper.h
+index 21cfcef056..ade419088f 100644
+--- a/symengine/flint_wrapper.h
++++ b/symengine/flint_wrapper.h
+@@ -6,6 +6,8 @@
+
+ #include <flint/fmpz.h>
+ #include <flint/fmpq.h>
++#include <flint/fmpz_poly.h>
++#include <flint/fmpz_poly_factor.h>
+ #include <flint/fmpq_poly.h>
+
+ namespace SymEngine
+@@ -710,13 +712,15 @@ class fmpq_poly_wrapper
+ }
+ fmpq_poly_wrapper(const mpz_t z)
+ {
++ fmpz_wrapper fz(z);
+ fmpq_poly_init(poly);
+- fmpq_poly_set_mpz(poly, z);
++ fmpq_poly_set_fmpz(poly, fz.get_fmpz_t());
+ }
+ fmpq_poly_wrapper(const mpq_t q)
+ {
++ fmpq_wrapper fq(q);
+ fmpq_poly_init(poly);
+- fmpq_poly_set_mpq(poly, q);
++ fmpq_poly_set_fmpq(poly, fq.get_fmpq_t());
+ }
+ fmpq_poly_wrapper(const fmpq_wrapper &q)
+ {
diff --git a/sci-libs/symengine/files/symengine-0.7.0-cmake-build-type.patch b/sci-libs/symengine/files/symengine-0.7.0-cmake-build-type.patch
new file mode 100644
index 000000000000..f490521f5c92
--- /dev/null
+++ b/sci-libs/symengine/files/symengine-0.7.0-cmake-build-type.patch
@@ -0,0 +1,25 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cf1d213..3067481 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,11 +17,6 @@ if (NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE Release
+ CACHE STRING "Build type (Debug, Release)" FORCE)
+ endif ()
+-if (NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR
+- CMAKE_BUILD_TYPE STREQUAL "Release"))
+- message("${CMAKE_BUILD_TYPE}")
+- message(FATAL_ERROR "CMAKE_BUILD_TYPE must be one of: Debug, Release (current value: '${CMAKE_BUILD_TYPE}')")
+-endif ()
+
+ set(BUILD_FOR_DISTRIBUTION no
+ CACHE BOOL "Building SymEngine for a distribution")
+@@ -138,7 +133,7 @@ endif()
+ try_compile(HAVE_SYMENGINE_STD_TO_STRING "${CMAKE_CURRENT_BINARY_DIR}/cxx" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/checkstdtostring.cpp"
+ CMAKE_FLAGS "-DCOMPILE_DEFINITIONS=${CMAKE_CXX_FLAGS}")
+
+-if ((CMAKE_CXX_COMPILER_ID MATCHES Clang) AND (CMAKE_BUILD_TYPE STREQUAL "Release"))
++if ((CMAKE_CXX_COMPILER_ID MATCHES Clang) AND (NOT(CMAKE_BUILD_TYPE STREQUAL "Debug")))
+ try_compile(CHECK_CLANG "${CMAKE_CURRENT_BINARY_DIR}/cxx" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/checkclang.cpp")
+ if (NOT ${CHECK_CLANG})
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__extern_always_inline=inline" )
diff --git a/sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch b/sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch
new file mode 100644
index 000000000000..810e2ac766d7
--- /dev/null
+++ b/sci-libs/symengine/files/symengine-0.8.1-fix_llvm.patch
@@ -0,0 +1,68 @@
+From: Matthias Maier <tamiko@43-1.org>
+Date: Sat, 11 Jun 2022 01:44:54 -0500
+Subject: [PATCH] Fix cmake configure for shared LLVM libraries
+
+Gentoo builds LLVM into a combined shared library. The CMake
+configuration shipped with LLVM is evidently broken in this case, see
+
+ https://github.com/llvm/llvm-project/issues/34593
+ https://bugs.gentoo.org/745915
+
+We work around this issue by simply linking against the monolithic
+"LLVM" target.
+---
+ CMakeLists.txt | 23 +----------------------
+ 1 file changed, 1 insertion(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cf5ab3b..dfa6605 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -402,28 +402,7 @@ if (WITH_LLVM)
+ endforeach()
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
+
+- llvm_map_components_to_libnames(llvm_libs_direct ${SYMENGINE_LLVM_COMPONENTS})
+- llvm_expand_dependencies(llvm_libs ${llvm_libs_direct})
+-
+- if (BUILD_SHARED_LIBS)
+- set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT False)
+- foreach(LLVM_LIB ${llvm_libs})
+- get_target_property(${LLVM_LIB}_IMPORT_LOCATION ${LLVM_LIB} LOCATION)
+- if (NOT "${${LLVM_LIB}_IMPORT_LOCATION}" MATCHES "NOTFOUND")
+- if (NOT "${${LLVM_LIB}_IMPORT_LOCATION}" MATCHES ".a$|.lib$")
+- set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT True)
+- endif()
+- endif()
+- endforeach()
+- else()
+- set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT True)
+- endif()
+- set(SYMENGINE_LLVM_LINK_DOWNSTREAM ${SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT}
+- CACHE INTERNAL "Link to llvm in SymEngineConfig.cmake")
+- if (NOT SYMENGINE_LLVM_LINK_DOWNSTREAM)
+- unset(SYMENGINE_LLVM_COMPONENTS)
+- endif ()
+- set(LIBS ${LIBS} ${llvm_libs})
++ set(LIBS ${LIBS} LLVM)
+ include_directories(SYSTEM ${LLVM_INCLUDE_DIRS})
+ set(HAVE_SYMENGINE_LLVM yes)
+ set(PKGS ${PKGS} "LLVM")
+diff --git a/cmake/SymEngineConfig.cmake.in b/cmake/SymEngineConfig.cmake.in
+index b01ef9b..6d82c10 100644
+--- a/cmake/SymEngineConfig.cmake.in
++++ b/cmake/SymEngineConfig.cmake.in
+@@ -67,9 +67,7 @@ set(SYMENGINE_LLVM_COMPONENTS @SYMENGINE_LLVM_COMPONENTS@)
+
+ if (NOT "${SYMENGINE_LLVM_COMPONENTS}" STREQUAL "")
+ find_package(LLVM REQUIRED ${SYMENGINE_LLVM_COMPONENTS} HINTS @LLVM_DIR@)
+- llvm_map_components_to_libnames(llvm_libs_direct ${SYMENGINE_LLVM_COMPONENTS})
+- llvm_expand_dependencies(llvm_libs ${llvm_libs_direct})
+- set(SYMENGINE_LIBRARIES ${SYMENGINE_LIBRARIES} ${llvm_libs})
++ set(SYMENGINE_LIBRARIES ${SYMENGINE_LIBRARIES} LLVM)
+ else()
+ set(SYMENGINE_LLVM_INCLUDE_DIRS)
+ endif()
+--
+2.35.1
+
diff --git a/sci-libs/symengine/metadata.xml b/sci-libs/symengine/metadata.xml
index 759e5c9c0a48..92a951a95411 100644
--- a/sci-libs/symengine/metadata.xml
+++ b/sci-libs/symengine/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
@@ -11,7 +11,7 @@
Python, Julia, Ruby, Haskell.
</longdescription>
<upstream>
- <remote-id type="github">sympy/symengine</remote-id>
+ <remote-id type="github">symengine/symengine</remote-id>
</upstream>
<use>
<flag name="arb">Add support for arb (<pkg>sci-mathematics/arb</pkg>)</flag>
diff --git a/sci-libs/symengine/symengine-0.11.1.ebuild b/sci-libs/symengine/symengine-0.11.1.ebuild
new file mode 100644
index 000000000000..9e1a6ceba0d5
--- /dev/null
+++ b/sci-libs/symengine/symengine-0.11.1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=16
+inherit cmake llvm toolchain-funcs
+
+DESCRIPTION="Fast symbolic manipulation library, written in C++"
+HOMEPAGE="https://github.com/symengine/symengine"
+SRC_URI="https://github.com/symengine/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+# BUILD_FOR_DISTRIBUTION enables threads by default so do it here
+IUSE="arb benchmarks boost debug doc ecm +flint llvm +mpc +mpfr openmp test tcmalloc +threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:=
+ sys-libs/binutils-libs:=
+ arb? ( sci-mathematics/arb:= )
+ boost? ( dev-libs/boost:= )
+ ecm? ( sci-mathematics/gmp-ecm )
+ flint? ( sci-mathematics/flint:= )
+ mpc? ( dev-libs/mpc:= )
+ mpfr? ( dev-libs/mpfr:= )
+ llvm? ( <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/cereal
+"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-cmake-build-type.patch
+ "${FILESDIR}"/${PN}-0.8.1-fix_llvm.patch
+ # https://github.com/symengine/symengine/pull/1985
+ "${FILESDIR}"/${PN}-0.11.1-flint-3.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ use llvm && llvm_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e "s|DESTINATION doc| DESTINATION share/doc/${PF}/html|" \
+ -e "s|/lib|/$(get_libdir)|g" \
+ -e "s|lib/|$(get_libdir)/|g" \
+ -e "/DESTINATION/s|lib|$(get_libdir)|g" \
+ -i CMakeLists.txt symengine/CMakeLists.txt \
+ symengine/utilities/teuchos/CMakeLists.txt || die
+}
+
+src_configure() {
+ # not in portage yet: piranha
+ local int_class
+
+ if use arb || use flint; then
+ int_class=flint
+ elif use mpfr; then
+ int_class=gmpxx
+ elif use boost; then
+ int_class=boostmp
+ else
+ int_class=gmp
+ fi
+
+ einfo "Building with integer class: ${int_class}"
+
+ local mycmakeargs=(
+ -DINTEGER_CLASS=${int_class}
+ -DBUILD_BENCHMARKS=$(usex benchmarks)
+ -DBUILD_DOXYGEN=$(usex doc)
+ -DBUILD_TESTS=$(usex test)
+ -DWITH_ARB=$(usex arb)
+ -DWITH_BFD=$(usex debug)
+ -DWITH_SYMENGINE_ASSERT=$(usex debug)
+ -DWITH_SYMENGINE_THREAD_SAFE=$(usex threads)
+ -DWITH_FLINT=$(usex flint)
+ -DWITH_OPENMP=$(usex openmp)
+ -DWITH_MPFR=$(usex mpfr)
+ -DWITH_MPC=$(usex mpc)
+ -DWITH_LLVM=$(usex llvm)
+ -DWITH_PTHREAD=$(usex threads)
+ -DWITH_TCMALLOC=$(usex tcmalloc)
+ -DWITH_ECM=$(usex ecm)
+ -DWITH_SYSTEM_CEREAL=ON
+ )
+
+ use arb && mycmakeargs+=( -DARB_INCLUDE_DIR="${ESYSROOT}"/usr/include )
+
+ cmake_src_configure
+}
diff --git a/sci-libs/symengine/symengine-0.5.0-r1.ebuild b/sci-libs/symengine/symengine-0.5.0-r1.ebuild
deleted file mode 100644
index 2c9b5a766fd4..000000000000
--- a/sci-libs/symengine/symengine-0.5.0-r1.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_BUILD_TYPE=Release
-inherit cmake flag-o-matic toolchain-funcs
-
-DESCRIPTION="Fast symbolic manipulation library, written in C++"
-HOMEPAGE="https://github.com/sympy/symengine"
-SRC_URI="https://github.com/sympy/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/0.4"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="arb benchmarks boost debug doc ecm flint llvm mpc mpfr openmp test tcmalloc threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/gmp:=
- sys-libs/binutils-libs:=
- arb? ( sci-mathematics/arb:= )
- boost? ( dev-libs/boost:= )
- ecm? ( sci-mathematics/gmp-ecm )
- flint? ( sci-mathematics/flint:= )
- mpc? ( dev-libs/mpc:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen[dot] )
-"
-
-pkg_pretend() {
- use openmp && [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
-}
-
-src_prepare() {
- cmake_src_prepare
- sed -e "s|DESTINATION doc| DESTINATION share/doc/${PF}/html|" \
- -e "s|/lib|/$(get_libdir)|g" \
- -e "s|lib/|$(get_libdir)/|g" \
- -e "/DESTINATION/s|lib|$(get_libdir)|g" \
- -i CMakeLists.txt symengine/CMakeLists.txt \
- symengine/utilities/teuchos/CMakeLists.txt || die
-}
-
-src_configure() {
- # not in portage yet: piranha
- local int_class
- if use arb || use flint; then
- int_class=flint
- elif use mpfr; then
- int_class=gmpxx
- elif use boost; then
- int_class=boostmp
- else
- int_class=gmp
- fi
- local mycmakeargs=(
- -DINTEGER_CLASS="${int_class}"
- -DBUILD_BENCHMARKS="$(usex benchmarks)"
- -DBUILD_DOXYGEN="$(usex doc)"
- -DBUILD_TESTS="$(usex test)"
- -DWITH_ARB="$(usex arb)"
- -DWITH_BFD="$(usex debug)"
- -DWITH_SYMENGINE_ASSERT="$(usex debug)"
- -DWITH_SYMENGINE_THREAD_SAFE="$(usex threads)"
- -DWITH_FLINT="$(usex flint)"
- -DWITH_OPENMP="$(usex openmp)"
- -DWITH_MPFR="$(usex mpfr)"
- -DWITH_MPC="$(usex mpc)"
- -DWITH_LLVM="$(usex llvm)"
- -DWITH_PTHREAD="$(usex threads)"
- -DWITH_TCMALLOC="$(usex tcmalloc)"
- -DWITH_ECM="$(usex ecm)"
- )
- use arb && mycmakeargs+=( -DARB_INCLUDE_DIR="${EPREFIX}/usr/include" )
-
- test-flag-CXX -std=c++11 && append-cxxflags -std=c++11
- cmake_src_configure
-}
diff --git a/sci-libs/symengine/symengine-0.6.0.ebuild b/sci-libs/symengine/symengine-0.6.0.ebuild
deleted file mode 100644
index f1f0af9df4f9..000000000000
--- a/sci-libs/symengine/symengine-0.6.0.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_BUILD_TYPE=Release
-inherit cmake flag-o-matic toolchain-funcs
-
-DESCRIPTION="Fast symbolic manipulation library, written in C++"
-HOMEPAGE="https://github.com/sympy/symengine"
-SRC_URI="https://github.com/sympy/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/0.4"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="arb benchmarks boost debug doc ecm flint llvm mpc mpfr openmp test tcmalloc threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/gmp:=
- sys-libs/binutils-libs:=
- arb? ( sci-mathematics/arb:= )
- boost? ( dev-libs/boost:= )
- ecm? ( sci-mathematics/gmp-ecm )
- flint? ( sci-mathematics/flint:= )
- mpc? ( dev-libs/mpc:= )
- tcmalloc? ( dev-util/google-perftools )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen[dot] )
-"
-
-pkg_pretend() {
- use openmp && [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
-}
-
-src_prepare() {
- cmake_src_prepare
- sed -e "s|DESTINATION doc| DESTINATION share/doc/${PF}/html|" \
- -e "s|/lib|/$(get_libdir)|g" \
- -e "s|lib/|$(get_libdir)/|g" \
- -e "/DESTINATION/s|lib|$(get_libdir)|g" \
- -i CMakeLists.txt symengine/CMakeLists.txt \
- symengine/utilities/teuchos/CMakeLists.txt || die
-}
-
-src_configure() {
- # not in portage yet: piranha
- local int_class
- if use arb || use flint; then
- int_class=flint
- elif use mpfr; then
- int_class=gmpxx
- elif use boost; then
- int_class=boostmp
- else
- int_class=gmp
- fi
- local mycmakeargs=(
- -DINTEGER_CLASS="${int_class}"
- -DBUILD_BENCHMARKS="$(usex benchmarks)"
- -DBUILD_DOXYGEN="$(usex doc)"
- -DBUILD_TESTS="$(usex test)"
- -DWITH_ARB="$(usex arb)"
- -DWITH_BFD="$(usex debug)"
- -DWITH_SYMENGINE_ASSERT="$(usex debug)"
- -DWITH_SYMENGINE_THREAD_SAFE="$(usex threads)"
- -DWITH_FLINT="$(usex flint)"
- -DWITH_OPENMP="$(usex openmp)"
- -DWITH_MPFR="$(usex mpfr)"
- -DWITH_MPC="$(usex mpc)"
- -DWITH_LLVM="$(usex llvm)"
- -DWITH_PTHREAD="$(usex threads)"
- -DWITH_TCMALLOC="$(usex tcmalloc)"
- -DWITH_ECM="$(usex ecm)"
- )
- use arb && mycmakeargs+=( -DARB_INCLUDE_DIR="${EPREFIX}/usr/include" )
-
- test-flag-CXX -std=c++11 && append-cxxflags -std=c++11
- cmake_src_configure
-}
diff --git a/sci-libs/symmetrica/metadata.xml b/sci-libs/symmetrica/metadata.xml
index 3704ab7e98b1..dd46d20f6c33 100644
--- a/sci-libs/symmetrica/metadata.xml
+++ b/sci-libs/symmetrica/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mjo@gentoo.org</email>
@@ -9,16 +9,16 @@
long before I moved it into ::gentoo. You don't need an ACK from me
to merge his changes.
-->
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>frp.bissey@gmail.com</email>
<name>François Bissey</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
- <remote-id type="gitlab">https://gitlab.com/sagemath/symmetrica</remote-id>
+ <remote-id type="gitlab">sagemath/symmetrica</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/symmetrica/symmetrica-3.0.1-r1.ebuild b/sci-libs/symmetrica/symmetrica-3.0.1-r1.ebuild
new file mode 100644
index 000000000000..9e2594472ee3
--- /dev/null
+++ b/sci-libs/symmetrica/symmetrica-3.0.1-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="C library for representation theory, combinatorics, and more"
+HOMEPAGE="https://gitlab.com/sagemath/symmetrica"
+SRC_URI="https://gitlab.com/sagemath/symmetrica/uploads/b3d8e1ad5ab2449c30bbc3147e7a5e53/${P}.tar.xz"
+
+LICENSE="ISC"
+SLOT="0/2"
+KEYWORDS="amd64"
+IUSE="doc"
+
+DOCS=( README.md )
+
+src_configure() {
+ econf $(use_enable doc)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/symmetrica/symmetrica-3.0.1.ebuild b/sci-libs/symmetrica/symmetrica-3.0.1.ebuild
deleted file mode 100644
index f616c5710f80..000000000000
--- a/sci-libs/symmetrica/symmetrica-3.0.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="C library for representation theory, combinatorics, and more"
-HOMEPAGE="https://gitlab.com/sagemath/symmetrica"
-SRC_URI="https://gitlab.com/sagemath/symmetrica/uploads/b3d8e1ad5ab2449c30bbc3147e7a5e53/symmetrica-3.0.1.tar.xz"
-
-LICENSE="ISC"
-SLOT="0/2"
-KEYWORDS="amd64"
-IUSE="doc"
-
-DOCS=( README.md )
-
-src_configure() {
- econf $(use_enable doc)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sci-libs/szip/Manifest b/sci-libs/szip/Manifest
index 8514ce8c09e8..8576e091ae74 100644
--- a/sci-libs/szip/Manifest
+++ b/sci-libs/szip/Manifest
@@ -1 +1 @@
-DIST szip-2.1.tar.gz 383219 BLAKE2B 84e10763bcec885a423d64c2c3cff0632d7a6a39c8cd177cf607f549cb4cd02a4ca03362464c2c4ec4539c80149493329427f529f5d6daea4a35b91af6fa1538 SHA512 bb7e0af6dfaaaaa85013ef52e6901d5b7b6159795338d285c2e843bd2879230a6397fb072662fdfeda5690981db4e9af94782c057bf993f92516d92a8934cb75
+DIST szip-2.1.1.tar.gz 415774 BLAKE2B e0f8d1f6528801c422a4db0f0cad43dd2c17f913dfff85962f4b4d448176903bcb385f631d32c5328cfb114527220baa9fb7d560364f700a61d4930ce799a7a4 SHA512 ada6406efb096cd8a2daf8f9217fe9111a96dcae87e29d1c31f58ddd2ad2aa7bac03f23c7205dc9360f3b62d259461759330c7189ef0c2fe559704b1ea9d40dd
diff --git a/sci-libs/szip/metadata.xml b/sci-libs/szip/metadata.xml
index a9541a48090d..02c857bd25f0 100644
--- a/sci-libs/szip/metadata.xml
+++ b/sci-libs/szip/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/szip/szip-2.1-r2.ebuild b/sci-libs/szip/szip-2.1-r2.ebuild
deleted file mode 100644
index da08b6a5c3c9..000000000000
--- a/sci-libs/szip/szip-2.1-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Extended-Rice lossless compression algorithm implementation"
-HOMEPAGE="https://www.hdfgroup.org/doc_resource/SZIP/"
-SRC_URI="ftp://ftp.hdfgroup.org/lib-external/${PN}/${PV}/src/${P}.tar.gz"
-
-LICENSE="szip"
-SLOT="0/2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="!sci-libs/libaec[szip]"
-DEPEND=""
-
-DOCS=( RELEASE.txt HISTORY.txt examples/example.c )
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/sci-libs/szip/szip-2.1.1.ebuild b/sci-libs/szip/szip-2.1.1.ebuild
new file mode 100644
index 000000000000..81f94ddca7bf
--- /dev/null
+++ b/sci-libs/szip/szip-2.1.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Extended-Rice lossless compression algorithm implementation"
+HOMEPAGE="https://www.hdfgroup.org/doc_resource/SZIP/"
+SRC_URI="https://support.hdfgroup.org/ftp/lib-external/${PN}/${PV}/src/${P}.tar.gz"
+
+LICENSE="szip"
+SLOT="0/2"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND="!sci-libs/libaec[szip]"
+DEPEND=""
+
+DOCS=( RELEASE.txt HISTORY.txt test/example.c )
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+}
diff --git a/sci-libs/ta-lib/files/ta-lib-0.4.0-slibtool.patch b/sci-libs/ta-lib/files/ta-lib-0.4.0-slibtool.patch
new file mode 100644
index 000000000000..7aa9c96159eb
--- /dev/null
+++ b/sci-libs/ta-lib/files/ta-lib-0.4.0-slibtool.patch
@@ -0,0 +1,92 @@
+Upstream-PR: https://sourceforge.net/p/ta-lib/patches/6/
+From 05375dd96c3bdec814214f37a6c49d4a27079960 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Thu, 12 May 2022 11:13:59 -0700
+Subject: [PATCH] Fix parallel Make issue with slibtool
+
+---
+ configure.in => configure.ac | 4 ++++
+ src/tools/gen_code/Makefile.am | 13 ++++++++-----
+ src/tools/gen_code/gen_code_bin.sh | 16 ++++++++++++++++
+ src/tools/ta_regtest/Makefile.am | 4 ++--
+ 4 files changed, 30 insertions(+), 7 deletions(-)
+ rename configure.in => configure.ac (96%)
+ create mode 100755 src/tools/gen_code/gen_code_bin.sh
+
+diff --git a/configure.in b/configure.ac
+similarity index 96%
+rename from configure.in
+rename to configure.ac
+index d2e5784..359d400 100644
+--- a/configure.in
++++ b/configure.ac
+@@ -35,6 +35,10 @@ AC_FUNC_STRTOD
+ AC_FUNC_VPRINTF
+ AC_CHECK_FUNCS([floor isascii localeconv mblen memmove memset modf pow sqrt strcasecmp strchr strerror strncasecmp strrchr strstr strtol strtoul])
+
++# Checks for libm
++AC_CHECK_LIBM
++AC_SUBST([LIBM])
++
+ # Versioning:
+ # Only change this if library is no longer
+ # ABI compatible with previous version
+diff --git a/src/tools/gen_code/Makefile.am b/src/tools/gen_code/Makefile.am
+index cb839c2..2ec2360 100644
+--- a/src/tools/gen_code/Makefile.am
++++ b/src/tools/gen_code/Makefile.am
+@@ -6,9 +6,12 @@ noinst_PROGRAMS = gen_code
+ gen_code_SOURCES = gen_code.c
+
+ gen_code_CPPFLAGS = -I../../ta_common
+-gen_code_LDFLAGS = -L../../ta_common -L../../ta_abstract -L../../ta_func
+-gen_code_LDADD = -lta_common -lta_abstract_gc -lta_func -lm
++gen_code_LDFLAGS = -no-undefined
++gen_code_LDADD = \
++ ../../ta_common/libta_common.la \
++ ../../ta_abstract/libta_abstract_gc.la \
++ ../../ta_func/libta_func.la \
++ $(LIBM)
+
+-all-local:
+- $(MAKE) $(AM_MAKEFLAGS) gen_code
+- cp gen_code ../../../bin
++all-local: gen_code
++ $(LIBTOOL) --mode=execute ./gen_code_bin.sh gen_code
+diff --git a/src/tools/gen_code/gen_code_bin.sh b/src/tools/gen_code/gen_code_bin.sh
+new file mode 100755
+index 0000000..b19fd09
+--- /dev/null
++++ b/src/tools/gen_code/gen_code_bin.sh
+@@ -0,0 +1,16 @@
++#!/bin/sh
++
++# This is a work around for a slibtool bug with --mode=execute
++#
++# With slibtool the gen_code binary is created in the .libs directory while GNU
++# libtool outputs in the same directory as the Makefile. This means that cp(1)
++# needs to be invoked with $(LIBTOOL) --mode=execute.
++#
++# However slibtool currently has a bug where the destination argument is dropped
++# which will result in the command failing.
++#
++# See https://bugs.gentoo.org/790770
++
++set -eu
++
++cp "${1}" ../../../bin
+diff --git a/src/tools/ta_regtest/Makefile.am b/src/tools/ta_regtest/Makefile.am
+index 64229e2..255a87e 100644
+--- a/src/tools/ta_regtest/Makefile.am
++++ b/src/tools/ta_regtest/Makefile.am
+@@ -34,5 +34,5 @@ ta_regtest_CPPFLAGS = -I../../ta_func \
+ -I../../ta_common/mt \
+ -I../../ta_common \
+ -I../../ta_abstract
+-ta_regtest_LDFLAGS = -L../.. -lta_lib \
+- -lm
++ta_regtest_LDFLAGS = -no-undefined
++ta_regtest_LDADD = ../../libta_lib.la $(LIBM)
+--
+2.35.1
+
diff --git a/sci-libs/ta-lib/metadata.xml b/sci-libs/ta-lib/metadata.xml
index 75af09f93bb4..e28143c4e0dc 100644
--- a/sci-libs/ta-lib/metadata.xml
+++ b/sci-libs/ta-lib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sci-libs/ta-lib/ta-lib-0.4.0-r1.ebuild b/sci-libs/ta-lib/ta-lib-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..77a8dd512532
--- /dev/null
+++ b/sci-libs/ta-lib/ta-lib-0.4.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Technical Analysis Library for analyzing financial markets trends"
+HOMEPAGE="https://www.ta-lib.org/"
+SRC_URI="mirror://sourceforge/ta-lib/${P}-src.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-asneeded.patch
+ "${FILESDIR}"/${P}-slibtool.patch # 790770
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862936
+ # Upstream is sourceforge plus has not been active since 2013. No bug filed.
+ filter-lto
+
+ default
+}
+
+src_test() {
+ src/tools/ta_regtest/ta_regtest || die
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/tamu_anova/metadata.xml b/sci-libs/tamu_anova/metadata.xml
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/sci-libs/tamu_anova/metadata.xml
+++ b/sci-libs/tamu_anova/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
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
deleted file mode 100644
index 68ecc3bf94b6..000000000000
--- a/sci-libs/taucs/files/taucs-2.2-no-test-cilk.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- 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/files/taucs-2.2-respect-ar.patch b/sci-libs/taucs/files/taucs-2.2-respect-ar.patch
new file mode 100644
index 000000000000..4ab95441a2de
--- /dev/null
+++ b/sci-libs/taucs/files/taucs-2.2-respect-ar.patch
@@ -0,0 +1,22 @@
+--- a/config/linux.mk
++++ b/config/linux.mk
+@@ -25,7 +25,7 @@
+ LDFLAGS =
+ LOUTFLG = $(COUTFLG)
+
+-AR = ar cr
++ARFLAGS = cr
+ AOUTFLG =
+
+ RANLIB = ranlib
+--- a/configurator/taucs_config.c
++++ b/configurator/taucs_config.c
+@@ -558,7 +558,7 @@
+
+ fprintf(f, "%s: $(%s_content) $(STDDEPS)\n",get_full_name(i,0),base);
+ fprintf(f,"\t- $(RM) %s\n",get_full_name(i,0));
+- fprintf(f,"\t$(AR) $(AOUTFLG)%s $(%s_content)\n",get_full_name(i,0),base);
++ fprintf(f,"\t$(AR) $(ARFLAGS) $(AOUTFLG)%s $(%s_content)\n",get_full_name(i,0),base);
+ fprintf(f,"\t$(RANLIB) %s\n",get_full_name(i,0));
+ }
+
diff --git a/sci-libs/taucs/metadata.xml b/sci-libs/taucs/metadata.xml
index b1b1d0e9c3fd..db08cf08723b 100644
--- a/sci-libs/taucs/metadata.xml
+++ b/sci-libs/taucs/metadata.xml
@@ -1,32 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <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>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <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>
</pkgmetadata>
diff --git a/sci-libs/taucs/taucs-2.2-r1.ebuild b/sci-libs/taucs/taucs-2.2-r1.ebuild
new file mode 100644
index 000000000000..5d5cecde57a0
--- /dev/null
+++ b/sci-libs/taucs/taucs-2.2-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit 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"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+RESTRICT="test"
+
+RDEPEND="
+ sci-libs/metis
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+PATCHES=(
+ # bug 725588
+ "${FILESDIR}"/${P}-respect-ar.patch
+)
+
+src_configure() {
+ cat > config/linux_shared.mk <<-EOF || die
+ AR=$(tc-getAR)
+ FC=$(tc-getFC)
+ CC=$(tc-getCC)
+ LD=$(tc-getFC)
+ RANLIB=$(tc-getRANLIB)
+ 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 || die
+ # no cat <<EOF because -o has a trailing space
+ sed -e 's/ -fPIC//g' config/linux_shared.mk || die
+}
+
+src_compile() {
+ # not autotools configure
+ CC=$(tc-getCC) ./configure variant=_shared || die
+ emake
+
+ cd lib/linux_shared || die
+ $(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() {
+ ln -s libtaucs.so.1.0.0 lib/linux_shared/libtaucs.so.1 || die
+ ln -s libtaucs.so.1 lib/linux_shared/libtaucs.so || die
+ dolib.so lib/linux_shared/libtaucs.so*
+
+ doheader build/*/*.h src/*.h
+
+ use doc && dodoc doc/*.pdf
+}
diff --git a/sci-libs/taucs/taucs-2.2.ebuild b/sci-libs/taucs/taucs-2.2.ebuild
deleted file mode 100644
index c3da7a074eb5..000000000000
--- a/sci-libs/taucs/taucs-2.2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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/tensorflow-estimator/Manifest b/sci-libs/tensorflow-estimator/Manifest
deleted file mode 100644
index e67cc45af406..000000000000
--- a/sci-libs/tensorflow-estimator/Manifest
+++ /dev/null
@@ -1,7 +0,0 @@
-DIST bazelbuild-rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip 72534 BLAKE2B 0bbcc2b3fefb8df84d9f72b13da59c377fcd657ead378f85f80a587f8750302236212ae5c58819933015e62425126bead0733d2924a567fb9c5cb14fb75271a8 SHA512 1818c555504ba89afff88d75fe8b4e1386b3665a3ad477c26b4e9504c8f52f398b6aaedbad41a4ab8b8d9b3f86e0992e7c83a6da70241685d7b79ba177af1035
-DIST bazelbuild-rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip 159656 BLAKE2B c2ebed5165907e5452db2e8797253ce17fb39a00d3ca3aab11dec475399821dd529629d710af6f9892b74d0654293bd7989fa2be24caf5836490e8df566c7c18 SHA512 deecf484f5e888db345a57c3b557d6548e4e71fd4c62ea10b4dc9c47be9d303df55c03bb446158675b131064c4eccb401bf217e131e78d629c8fc1836600cb51
-DIST bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip 9422 BLAKE2B bbc45c97551ee8126335b611ffca6574dac843d4db9b3221b10d26487f8eecfe38ba0cd67a4039a3ad921c25fea6294c43e4f4e7a57a060a30791acd6c4f9d39 SHA512 ba06242feb711e7fb6e821fd9ac029248b4f3e466fb1acf971d0db8196f3efe4d114ef137acbe4913073f8cbe8ccab4d47d8bafa21b867b2d6a6d57f5a647f0c
-DIST tensorflow-estimator-1.15.1.tar.gz 696316 BLAKE2B 7797ae13fa5f56920df912f7d0eaef214a381acb25632dc2d21c6bbf5744bcc36b32f21e30b18be16d37f7a1deb30b2139d58c2c0f97a1de7a5f767a8a5462d8 SHA512 ae42057870cfb0e19d45ee59bd99c110ecfb3ae43cd5a5536711c7d2528b429c433b0f594e462eae9c40b34dd7813f3b14b1282cbf2edc725e13c45e93da818d
-DIST tensorflow-estimator-2.0.1.tar.gz 618583 BLAKE2B d4ae6225cb8a56febc9ffa64d5f811fc41db462534361a183095f724ce6deb17fa22edbd13bacd2d556adcc023dff1daeb7bf7338360b3cb49b19dc3bc3e97d0 SHA512 d7aa35784aa2726c49039be50b73cc957e7f883414bb43101527918bacfa55632df89e6f54cfc58a096512fc49a6ea7524aea87af0579c2a52db2ca7f5ee4bc2
-DIST tensorflow-estimator-2.1.tar.gz 622792 BLAKE2B d1c8abb22d90c789ebfadaf78ca932f87428274afe6e1ac20670bf6d2b4c1c6ea8f367b1eb7ee64ff9f6e9b8ecdc2f64113924e7e2286e3f4e3d2c36cb101794 SHA512 4aaa21969299b02443e9396c238ef4c03af3bde1d0142a81c04d9706f18b02bfd125f3aaf8ffb47e0a3ffad949c3d3bca3909375f12a1c1e4c55ca1cc7930d51
-DIST tensorflow-estimator-2.2.0.tar.gz 627362 BLAKE2B 125792fc2167b8af837a99b08a9a26943bc5c1fda8ab3690b01c0d49a6dd39142ff4a063867dfe1bee3b99fb018981d0e4ee45d194caac2cd96a829ad22db0ad SHA512 aaf743835e2c606439fcccb56742997e930ba0e72c01d51633ce86824bbfaacd64607dc1fd7fb9604cc444feb65ebae60c2266be084e1b49ef2a1a9ca5a3d60d
diff --git a/sci-libs/tensorflow-estimator/metadata.xml b/sci-libs/tensorflow-estimator/metadata.xml
deleted file mode 100644
index 2d40af6762c9..000000000000
--- a/sci-libs/tensorflow-estimator/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>perfinion@gentoo.org</email>
- <name>Jason Zaman</name>
- </maintainer>
- <longdescription lang="en">
- TensorFlow Estimator is a high-level TensorFlow API that greatly
- simplifies machine learning programming. Estimators encapsulate
- training, evaluation, prediction, and exporting for your model.
- </longdescription>
- <upstream>
- <remote-id type="github">tensorflow/estimator</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/tensorflow-estimator/tensorflow-estimator-1.15.1.ebuild b/sci-libs/tensorflow-estimator/tensorflow-estimator-1.15.1.ebuild
deleted file mode 100644
index 37a74e0d4193..000000000000
--- a/sci-libs/tensorflow-estimator/tensorflow-estimator-1.15.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PN="estimator"
-MY_PV=${PV/_rc/-rc}
-MY_P=${MY_PN}-${MY_PV}
-
-inherit bazel distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="A high-level TensorFlow API that greatly simplifies machine learning programming"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-SRC_URI="https://github.com/tensorflow/${MY_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-RDEPEND="sci-libs/tensorflow[python,${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-java/java-config"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CONTRIBUTING.md README.md )
-
-src_prepare() {
- sed -i "/^_VERSION/s/'[0-9.]*'/'${PV}'/" tensorflow_estimator/tools/pip_package/setup.py || die
- bazel_setup_bazelrc
- default
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home)
-
- ebazel build //tensorflow_estimator/tools/pip_package:build_pip_package
- ebazel shutdown
-
- local srcdir="${T}/src"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow_estimator/tools/pip_package/build_pip_package --src "${srcdir}" || die
-}
-
-src_install() {
- do_install() {
- cd "${T}/src" || die
- esetup.py install
- python_optimize
- }
- python_foreach_impl do_install
-
- cd "${S}" || die
- einstalldocs
-}
diff --git a/sci-libs/tensorflow-estimator/tensorflow-estimator-2.0.1.ebuild b/sci-libs/tensorflow-estimator/tensorflow-estimator-2.0.1.ebuild
deleted file mode 100644
index 32a54df07f94..000000000000
--- a/sci-libs/tensorflow-estimator/tensorflow-estimator-2.0.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PN="estimator"
-MY_PV=${PV/_rc/-rc}
-MY_P=${MY_PN}-${MY_PV}
-
-inherit bazel distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="A high-level TensorFlow API that greatly simplifies machine learning programming"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-bazel_external_uris="
- https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip -> bazelbuild-rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip
- https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip -> bazelbuild-rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip
- https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-
-SRC_URI="https://github.com/tensorflow/${MY_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- ${bazel_external_uris}"
-
-RDEPEND="sci-libs/tensorflow[python,${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-java/java-config"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CONTRIBUTING.md README.md )
-
-src_unpack() {
- unpack "${P}.tar.gz"
- bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
- bazel_setup_bazelrc
- default
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home)
-
- ebazel build //tensorflow_estimator/tools/pip_package:build_pip_package
- ebazel shutdown
-
- local srcdir="${T}/src"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow_estimator/tools/pip_package/build_pip_package --src "${srcdir}" || die
-}
-
-src_install() {
- do_install() {
- cd "${T}/src" || die
- esetup.py install
- python_optimize
- }
- python_foreach_impl do_install
-
- cd "${S}" || die
- einstalldocs
-}
diff --git a/sci-libs/tensorflow-estimator/tensorflow-estimator-2.1.ebuild b/sci-libs/tensorflow-estimator/tensorflow-estimator-2.1.ebuild
deleted file mode 100644
index 32a54df07f94..000000000000
--- a/sci-libs/tensorflow-estimator/tensorflow-estimator-2.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PN="estimator"
-MY_PV=${PV/_rc/-rc}
-MY_P=${MY_PN}-${MY_PV}
-
-inherit bazel distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="A high-level TensorFlow API that greatly simplifies machine learning programming"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-bazel_external_uris="
- https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip -> bazelbuild-rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip
- https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip -> bazelbuild-rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip
- https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-
-SRC_URI="https://github.com/tensorflow/${MY_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- ${bazel_external_uris}"
-
-RDEPEND="sci-libs/tensorflow[python,${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-java/java-config"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CONTRIBUTING.md README.md )
-
-src_unpack() {
- unpack "${P}.tar.gz"
- bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
- bazel_setup_bazelrc
- default
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home)
-
- ebazel build //tensorflow_estimator/tools/pip_package:build_pip_package
- ebazel shutdown
-
- local srcdir="${T}/src"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow_estimator/tools/pip_package/build_pip_package --src "${srcdir}" || die
-}
-
-src_install() {
- do_install() {
- cd "${T}/src" || die
- esetup.py install
- python_optimize
- }
- python_foreach_impl do_install
-
- cd "${S}" || die
- einstalldocs
-}
diff --git a/sci-libs/tensorflow-estimator/tensorflow-estimator-2.2.0-r1.ebuild b/sci-libs/tensorflow-estimator/tensorflow-estimator-2.2.0-r1.ebuild
deleted file mode 100644
index 20a13ee1c5ad..000000000000
--- a/sci-libs/tensorflow-estimator/tensorflow-estimator-2.2.0-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PN="estimator"
-MY_PV=${PV/_rc/-rc}
-MY_P=${MY_PN}-${MY_PV}
-
-inherit bazel distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="A high-level TensorFlow API that greatly simplifies machine learning programming"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-bazel_external_uris="
- https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip -> bazelbuild-rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip
- https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip -> bazelbuild-rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip
- https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
-
-SRC_URI="https://github.com/tensorflow/${MY_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- ${bazel_external_uris}"
-
-RDEPEND="sci-libs/tensorflow[python,${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-java/java-config"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( CONTRIBUTING.md README.md )
-
-src_unpack() {
- unpack "${P}.tar.gz"
- bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
- bazel_setup_bazelrc
- default
- python_copy_sources
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home)
-
- do_compile() {
- ebazel build //tensorflow_estimator/tools/pip_package:build_pip_package
- ebazel shutdown
-
- local srcdir="${T}/src-${EPYTHON/./_}"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow_estimator/tools/pip_package/build_pip_package --src "${srcdir}" || die
- }
-
- python_foreach_impl run_in_build_dir do_compile
-}
-
-src_install() {
- do_install() {
- cd "${T}/src-${EPYTHON/./_}" || die
- esetup.py install
- python_optimize
- }
- python_foreach_impl do_install
-
- cd "${S}" || die
- einstalldocs
-}
diff --git a/sci-libs/tensorflow/Manifest b/sci-libs/tensorflow/Manifest
deleted file mode 100644
index a59b7ec1b393..000000000000
--- a/sci-libs/tensorflow/Manifest
+++ /dev/null
@@ -1,44 +0,0 @@
-DIST ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz 100612 BLAKE2B 84f81072d3298dde613b4c1ebabf852c67e04b5882a4ca0ed6f218b42e8fa3ea9598140b0c0009e8d6b62d08902622a6d57ee005ec3ad8a808c9fb21aa53430c SHA512 03a289d8099a5c4a5298cba8f516d2edb41220935d8db750970113ca7513372c78241c2c948d0ffcd60e84686e50ba1d7fd0b46efea6881dd320435eca92a7b9
-DIST abseil-cpp-43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz 1281523 BLAKE2B 955802c74ed9baf222dcd824d2940147ae89edbc88f12bb8f54839776fe18bb18c0fde23b0d3142bb3be65a57930c96d03fdd243e8da07435eeb04329c31483d SHA512 c2ae1bd789251ec70cd0baafd92521e48fb1648aee8d9d84a8269436300848b6a9d7aead6bef8a12d3a9040f19535ac725ae961f12566500d309bc13dfee26a4
-DIST backports.weakref-1.0rc1.tar.gz 7761 BLAKE2B 4cb2554a4b71bb1f8c41a790268511e4b382effc7e0328f74346d086de539a177111de9e2dabac19a44b2a1cdbf59a7425e30eee4caa4bfe66b0ca97f1f460a9 SHA512 f37e9eb0d9060d2e1588a941f623460bd4477d7e180b38b5cd46d9c1db1ee094ae63e4f5eeeb422823bf3d067f46c4124cb124a9e4ddb795bc0bfbc4802ab826
-DIST bazel-skylib.0.8.0.tar.gz 72941 BLAKE2B 1928989d3e5dc338fee974c5592a524adb492db172b1d2a849ed5f14f91dbb76606335d369e4b15c4eec41adfe3a23cdc5b4f3b2f1351a5e9c25103c002b96a2 SHA512 4729941cedca8ddb876a621b28221d3c17dbb5dd72af27e55f48274208f21db986c5e7cb8adb742c42124bfa8073eb782b49e2557cb3f3f95ca56833fef925c0
-DIST bazel-toolchains-92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz 660374 BLAKE2B 549292aa3ad8a6e01c29391a123f3cbc84d1f714ff9c68bfc6c8df07fa0ba3b19c22e61627f227a8a484f6d7d6c59935fd7560c447559ff5e774ddf1437eefe1 SHA512 83531a2646a9f63557eff6fefaf551ee7e9f0ccdb31374d7a17c35b9f9d844b9b405597972fcd31b2b68e9da312511bbfd9c8fbb75222f5924e1d2500cd1c2a6
-DIST bazel-toolchains-94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz 505681 BLAKE2B f16225eb11859f487335bddca115c9c2a05731f4bfe4240609a47e17b706d9a25b6b363b61404b4d5df0471e4dd9b4b9befbf78dbcb1c7c11e3f590039ff92b2 SHA512 7723baf2c710adb063375a33fd64e3941fae7e98c824764c266d5554cc0b0cbb1c91a5c2a9058bb4c8766ec404ca556199ce22965a6de4baee09cb740b7671c9
-DIST bazel_skylib-0.9.0.tar.gz 84644 BLAKE2B 40b69a524e632ea00d34b9cf805b882ac4c549dd465ef37f28e54729ff1b614a7610a4895cede4e0c938edba5b19f781f3c0bfdb62bde628ee0af21d6b679546 SHA512 af4bcb641fed05d15f2d0ffe0e3abdfe9c7a5deb9c53064992d6605d224ded1648b1bdfa293e161028913f9f2c178c68cc38bc16028892ca5b0f52b4e645209d
-DIST bazelbuild-apple_support.0.7.1.tar.gz 20070 BLAKE2B e72098fc5017e3371b6af0f33f392a42da18376052f30db5dd602c5ccc0176c1ac8002cca3f598845c5cb33406b4fd8d30c5ea47c69add6c530b75dc6566a4b0 SHA512 bbab25c229404123d7d424fa261480cf887c749ae729cc1a00bd6c2554d4b4b3fa81e0eaa670542b3a5d3301f3bd5dcd7727d011ba854f13dbbf4f65895e4b08
-DIST bazelbuild-rules_apple.0.18.0.tar.gz 1333446 BLAKE2B c7667e05c236f4de44573707c795d31c980242a2ea6eb69261403e7b1b7cc852d899c9b76cba347df1b1006542f9d532d78586a3bf5f831d37f8f0c0cd79a8eb SHA512 209b21856642b03dc7d54c0c82826224167df7da4c6dda3d29490e0661cdfe35ad9abe763288e0ff80af4d681a361efb22e0ca45ead6fb96fd38f211bcb4435d
-DIST bazelbuild-rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip 171775 BLAKE2B ec0ece4555d779bc8380937baac517a8adf3b0176c4bfb1324943a91366ad9688f528a4bd69e4587bcc4ad427c71a53016a3e2d32a050d9d4ec99caac4967a8e SHA512 5c5e82f276c1c962fbd9c7ddf21df9aa4291f3285f3fa07cd2c2790475ccba670b0627fc3d6faedd1508eca4d80bdae64a31383f001f04f3031112be81c3e697
-DIST bazelbuild-rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip 72534 BLAKE2B 0bbcc2b3fefb8df84d9f72b13da59c377fcd657ead378f85f80a587f8750302236212ae5c58819933015e62425126bead0733d2924a567fb9c5cb14fb75271a8 SHA512 1818c555504ba89afff88d75fe8b4e1386b3665a3ad477c26b4e9504c8f52f398b6aaedbad41a4ab8b8d9b3f86e0992e7c83a6da70241685d7b79ba177af1035
-DIST bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz 464906 BLAKE2B 033d76b8081f4f987e64875ad5c8e7b8f894ec6be58c52ee02c4d31d4480fee02f3f432ea9c4630ad3f5d1163f820aff37f6493da797ec51b148b361ab3c8b25 SHA512 2cd841f4530503ed31fa6425cb749ef29f8a1071b5d55594644303233e58455783cb02402bc23d7104ef036745733087d43075a1fcdab2ac96cd1a9872a6ea4a
-DIST bazelbuild-rules_docker-v0.10.0.tar.gz 549649 BLAKE2B e7a537b21138a5c5d9ce360e46238f57c917d2dbf5dd17887607402227cbe7c5d68aead9db0ecdb74c09eed9dac26eb86e004a9020c251152d15beb48be0e0d7 SHA512 7802107f8520c88646728800637cce54dbcefc54aa4361288a5b46e403e41998bc23e16fbe94f23a2ca52e5c33fc255af65846963c2fd0139ca1195435ce1b03
-DIST bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip 9422 BLAKE2B bbc45c97551ee8126335b611ffca6574dac843d4db9b3221b10d26487f8eecfe38ba0cd67a4039a3ad921c25fea6294c43e4f4e7a57a060a30791acd6c4f9d39 SHA512 ba06242feb711e7fb6e821fd9ac029248b4f3e466fb1acf971d0db8196f3efe4d114ef137acbe4913073f8cbe8ccab4d47d8bafa21b867b2d6a6d57f5a647f0c
-DIST bazelbuild-rules_python-0.0.1.tar.gz 2302092 BLAKE2B 1db52eebf2461d779f764f2afdd070d1d0dd65eb2b83ccd98c2831da1784614ca281b114064729a9f257c64eceb62975aac8362d231c84f32abdf19aee7a1852 SHA512 40fa069a4482e2f83e29dc8e109652d14d187b2ec8efdcd36e98d117de93d66a938ed74999b42a2293fcb6eccc0a111cbbcf65c5c155579214bb1b96644280a5
-DIST bazelbuild-rules_swift.0.11.1.tar.gz 107453 BLAKE2B 8cd686b945b5c9de9c8bfcaca38cd7c513bb8b55b4584bc569463997e7c5abcac3be4a5a31ccf95a494d17f3078ec9b1052497dba228fa3159a0c0be2a83eb88 SHA512 3479d6d8ce9111a39b9ef2e014399abc904e432841570dd0380104d80e4d3a74b6ff5cc6d2b250bcd15b152efa29d08f9ed092f70fd8bafa6deaa6f847d7f626
-DIST bazelbuild-rules_swift.0.12.1.tar.gz 111674 BLAKE2B 7c116d6098aa0725034dce4c83628c31c85c36a6331b44636deb2efe0f689a5baee8081b33d65e3727a83bca865bcabedd6f8fa1fdb60e901a9b60840c52c018 SHA512 6136feb3dc0074f82500000cf5335f046f21ea3a1edcb4dcb22228c82b56ed6a334e4b03e4e26a4d25549581abcf7df22b60a2bccf823a51bf270051fe18d489
-DIST cub-1.8.0.zip 602396 BLAKE2B a5e302a52e04f85ae8e1836c59e799532a8b961a8d10c08fe1241c9045f88e31f1ebda6d26124b85c6df40968e1c7b3985a39961bf7614535aafcab2da1a576a SHA512 6167c5be94989f88e05a07508cf69cf2c6b22a5ac733804043daa46bd86a44a15a758b1ffb811bab28b82039d027516ed85b3d9f7677a740a7e00ec9c2f81aed
-DIST dlpack-3efc489b55385936531a06ff83425b719387ec63.tar.gz 39637 BLAKE2B 532a3ce3d0e354a73c19433f0210a64ecbf00d9134d06a0ee7462baaff3f2b981524aa630cf250595671d6673105724482c7d69e803179aac247f2020c883bd0 SHA512 3728db5213e887fd946f64ba5dc0c336be9a72a0966ee83f146148749ffc93ddb342e0735df6117d7943874c18f87de5791a28e4a57ea420bb8a4e2a5b7338bc
-DIST eigen-049af2f56331.tar.gz 2485848 BLAKE2B 9d8a91782c9d40b7a6df101d2f43df25b5a3622bc02a7b9576929afb1f2f3d7c8b80671d24f1e31670883003b60c4cc0f3c9dadff0430d2ee047eb5122805edd SHA512 ab37106e9dfebbb42d7919c16b301887607080345b7ed63c8e3b8568489cfdc2c3ca0117a77905162cb3ba8324753040c841d2c96521fa4b9486f0778f1962df
-DIST eigen-49177915a14a.tar.gz 2496808 BLAKE2B 4e89b72a2ca121e9d1951a7179434c9eb70104ad45e63ae9811e10e28e32d51386acd2fe6938970404dcada8a377d1b3c07a68a98a68a036a6e85b2cf9ff4b48 SHA512 eb036225b41ffd8cc61ef99d2d22030c0d1e0f87eefcea4dd2b1fdb16a5316e0f4f17527983a00a8a684067654bf1f87c82cfaed5764829778660485ebbfa4b5
-DIST eigen-4e696901f873a2347f76d931cf2f701e31e15d05.tar.gz 2580537 BLAKE2B 927897c80f3529da40a76ddde26113403926d730fa4539aa9e4121406e8d3852abcfdbc55d178723300e9daa26176f6170db06bb49a59cb190e8c7e6dfdea4dd SHA512 d5461e615044aa94b6ac9ab2815536f4bdf2b9ccfeb578cc7bc62554ba928b4192450f72f1350f3231ed44d2bb90e95218de9a5d0bcee9ec02867499a6dc5db0
-DIST eigen-52a2fbbb008a47c5e3fb8ac1c65c2feecb0c511c.tar.gz 2585583 BLAKE2B a2ce9da5f962f891cba748f46ce43667ae2b7fef54d4cc83411eafbc24b331e586c44fb135a2c3597c77fe62b0c8ff1172ae5ce6876f00ddd6f6ef2eca802d9c SHA512 65a73d26474547db83b9b40a133dd2a021e0f5a459104f63124461b4aac28bf3579dc81475441b3576901f28f704d6d4624939b22ecfbfbec896148c4c38da7c
-DIST farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz 467122 BLAKE2B 8b9dd426f4b9f732df6c8c09d868d1b1cc006c395b1525c46ea91c75318b723358c8e64bb0d86a73aace2032eded93f0d80cc7c2c77fddd6a39e3402ab4f2cb7 SHA512 7f5110514a8cdc7ce48d33fd94ad67d96a24e42e11b203e4d0986f4190545f051b2a63f8e09f2ac38c3aa4a5c62d9a0e02cd8ce02045037381fb62a99f0dcd00
-DIST gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip 935628 BLAKE2B 09bd1dd1e367b1e5c4fe9a9525449c09460f19168bc03c57ad563aa27ec74a18f08b620a3dab6da4fa1a1448cdc7ce8bc8a089becc033b53fff4cc07593315ce SHA512 bd42a364f718f3b077cd9c840d626bfc1fd92ace98ce43329d8fa54700c9d28cb47568b6567e9b081b340af7be621c44be1ce06d4b8dccc4fb5d82c35b12f951
-DIST highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz 138574 BLAKE2B cecd95039fc31545ced38a1949e7cb31d6f34deef7c8923b573aa7a632576d0a9b60fd24fbc8a40b8a840a7d2442ea28382fe842178a77467772ed4ba8a2cfb6 SHA512 d25162ed266a8c9c00e6978fcf642cf924f03c0d196f971d0d6f6a3454ca7dfc82f758eabd038ac08e0a5dacc51eccb9b674f588f64692f37cb7a17150aefe4f
-DIST kissfft-36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz 44744 BLAKE2B aeea5d23c122417ddb70a44354890242c4fb61c456fba9af79054293a1355939af51a681760ac27be55423f888649fd2826e634422c7e9cb3749a9d7f50ef990 SHA512 30f4fcd351bbcb950a27e2a77ca100ccdfd37deb17a05e7e31c3e8f1c56d7c626ab81bbd7497484e6b512e41f7b1bed714722a194b2218c669b297911101df7b
-DIST llvm-387c3f74fd8efdc0be464b0e1a8033cc1eeb739c.tar.gz 115936989 BLAKE2B 624b4a898321e62002cbf3955f844755b3ba6b1c8acf9a310ddac19cf21f9627902eb0b3684e42bac1fe835be972322a5cc667f78a6e2b0e699f956e0cab81e8 SHA512 09ec39ec7a25703bbb47befb406be3de6d15232c971fa186e33dff80192876a827e35523a9782365e26a90abd42b32b9a2ee1443af71cc23cd825b3ff05df629
-DIST llvm-7a7e03f906aada0cf4b749b51213fe5784eeff84.tar.gz 50144723 BLAKE2B b744756c9782e5506fd6628531409e305bd9ce9a79f1776c4fe674cec5b01a86ab1793dc602f704d295587c3d769d622402a4fe07c0d66269c7f610178693bce SHA512 43f185c8dd38ae7cb048bb9c98fb94e1f43ce66764b43a7141a06a1a0b011389fa139f34b7eaee72c39b8f44aeeff3e7a2189c11d10f8f8a93e9792a1acf2b5f
-DIST llvm-b7d166cebcf619a3691eed3f994384aab3d80fa6.tar.gz 49997477 BLAKE2B 66cbd71a4ad65768fb39fd622efd54a7821b83eb105871e82e0b99074960cb4ebd8197ef984b0be29d5178a7ce3c0d4839d2d611c96fe1507227f7f28fd7e156 SHA512 79c6d4986cedfc132f085d2794f295fdbefa772cb53d3870963d4851ea15ce8e2863aa50c903930abaff53d818ad97acfe8acd1c923ccbe26e3a99ac2397ae9f
-DIST llvm-ecc999101aadc8dc7d4af9fd88be10fe42674aa0.tar.gz 115788302 BLAKE2B ea18d6cb3cc8311a78e543996d88831e1ecf1dec58b7c890a80cd8fce86e1c52244b9cfc0d7ce0867480465c2d914555c16cf003bfdcf90056d63e8f4e0ea0c0 SHA512 5422762ffe1022ad4588bcf2bdce1a041c37b5edffed70fcefdd911b2dbf8b52cba9ec57670d48d7b69be6b71e354d333d6eaa5ac5260df56ed8ab18fd98fe88
-DIST nvidia-nccl-0ceaec9cee96ae7658aa45686853286651f36384.tar.gz 107044 BLAKE2B fd018b1d40977add357e98382f41e3fa6456bdc9a181e2d6cc7a3bc7fb98d242b3216b5ed0c40323bbcc006ab5221b49819ebc1dccd0c8dd700d9504f085eed1 SHA512 e66f323abb68feeec41927cc23e3a85d82fd1b7105a6232626edba95acb9eb22b3fb8b28d1a7adb536c47c936f68271fe5d8f66d3059e3128608ad826dd7622e
-DIST nvidia-nccl-3701130b3c1bcdb01c14b3cb70fe52498c1e82b7.tar.gz 123898 BLAKE2B 9a268e089877fde9ac900b43bbf829f7dedfa701b017568647e3564670d5457dc18c96846a2cc8674b243c0c7d97d322e7466167c322588af3ad4f2d189b175b SHA512 9b090a963213eb088edf247e72b51a6cc79669f507831b88205c75a006a43f3d2257c4e75a34c33987c7d95c421e2273642db4c716b02907e8de1b1ef5d080f0
-DIST oourafft2d-20061228.tgz 54434 BLAKE2B 382dd5787155b877a2ad1d624596afb5dbbe146a7aedf044d7f016949deedac871a512a030b5e6ac9ea5310e216788ffb99af1dd9d2a0de3f1ad72d9e5e7a3db SHA512 af993f68e8e1eb3cb927a51e86da8f74cfafc912a7cd055515e50fe543dd19ab5a6f7b1c2be4a55d6f4a0e5d766ead34c3be4c5705be6353f78cb2a55bd5cf16
-DIST pybind11-v2.3.0.tar.gz 564520 BLAKE2B a7c1485aa8f63a00eccd3103cf9f531a080b049be02e6182b30503ae6dd6c55fc517684ed9d92aaec244efd5f77336c68d1ea546833f7f0ae2fd7b090c19a02d SHA512 04542fe9dca2ffdb86c15698a4bbc041446a9f11970092e89a482ae0ff64c932f62fff8f437b98bdaa006c1fccabddd79f0c7e376f27daed2150b1d2f988e8aa
-DIST re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz 316237 BLAKE2B 8a975bc3e78b690f70944651c7022c6d946f40b2eb5fe01b2e203141f94b890cf1ad5c72af8e7c6ff3c5242d42af5a8657ed69e3c74d9ac081beb15de6334c0c SHA512 e3e00e92700d08bc55ba0e96148ddf1e00de2d329c1fdac08691ff15976937829f66dbc84af886a4b749ad66ba4ab208d66811e97e33bb9c2d7359735406c450
-DIST sobol_data-835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz 2569603 BLAKE2B cd66dc8a0b4ad3ea586a79ef588c8d68e4f05b6ea89e6d8119b5ee338b9046c11a747ca57c2f80a3c90fab119c05e85f5965571c9e522ccb8a312b95804d1a36 SHA512 b819d050bb38246b503f1eb3d6e7d878d0f166f3602ae3c327749b1f6ddc2b1d6ac7f768b1f1d055b98b7b98812e4643a75bcebc9728c7f615d67ca739761b3e
-DIST tensorflow-1.15.0-python-license.rst.txt 45132 BLAKE2B 8a8ace4b64fd9eda1932272704dd4fea002d2562cd9c2c94470d3ff5de58bb171ff849d3f998ea90cd779d1084d39af1267aca8400b74b701205d2e76e6a2628 SHA512 c79c42f4ceecf33c8f8778ca17b53595b75d5d0bdf30b11058cf01dd70a6351f530ca9dd846460aba14edc1d5876f7bf6fa0f9f49f7915590b0f54d267ce3856
-DIST tensorflow-1.15.0.tar.gz 46183168 BLAKE2B 5ccd87d5b53d6c543728e9c7ef96f12149bd8729620838b07a28f752fd5c57ef88350c2b62e8c44ec3561469eda38d8a64cbfca5e1ac7850674e1dd2c4d605d6 SHA512 f8683a950be6a3fa234d42e0f46bd9e049280e0c1d203c5c00ad44cf4728d894f2c301939d6d71203f815130a1ead53127adcc7565009589ff5aafc878b4dba7
-DIST tensorflow-2.0.0.tar.gz 46176997 BLAKE2B 761e91a774f61b50459240a83fe52f723a76c2cc3eaf7c371684849cb7365b94fb3743ab8de9adffe64bef0f70da2bb0b7e6426a3f402e436eff841d3edefe8d SHA512 c3a2cb9673d2ade8e83961f7d944165123d0e4d94e6ca4d8fdee4f02f536893b879bbbf78d3ad5e557467b58f97f7194f2d9cfc64d7d05540969be732070eecc
-DIST tensorflow-2.1.0.tar.gz 41637803 BLAKE2B 63aac95cdb71097d2e7a257a691a2b51703fb22d2535395494adebfae0d3f97f8dd9e0deaadf1c2f3d3d26138066a7c6fb9b9728b5b0ac3d54360d7b5e4bebff SHA512 6d09ba3c097e4b3d712e7164d649841572c418d56c207eea6d31e3b1851b84ce57e82801d9887d84cfd8fcf990a3ea4c4b4b05265f8d625509986412c230c3c6
-DIST tensorflow-2.2.0.tar.gz 42100791 BLAKE2B 8b773ae9945ca267af33a34d86f6aef02310976bea1cdd98858d1405e8da845640b72a073b71fcfccb2b73f08600a5eada2c2332a8d9480bba71e9f25dbb2220 SHA512 94a2663497d333d543f363e9fea94fbcfdcdbbc0dfbaf009ba9181a808713aeb78f9b8805f56bea5fd3925a36f105427b3996795750589f378d8afbdadc2b86d
-DIST tensorflow-patches-2.1.0.tar.bz2 5737 BLAKE2B 67f5004312389ed19e810aad9f2d5d4839d806b5a7422963520e0dff06b91346683647db757ac463af13ca70861a7ed9c94be242910abacc6be350e162947225 SHA512 a20bfb619d59e0d2741a27ce36e3d38dbb7a5a706d6bc56f8aa94b5b72288139ad301fc06390b128ef1c3a88b758d09d0224351590dedcda9c5309cc55af6fed
-DIST tensorflow-patches-2.2.0.tar.bz2 3197 BLAKE2B e88211e6eaed9818e63680aaa451cad1a0b53e6087e2d8a1c34126e539d509ed5180ce1bdd902f0a0acd357a4e334bb30638d18d15a585465881abf1ecfbb830 SHA512 5370700df4b3741e4f41629684c8bdba28182b5d488df241a8f4f55ba821797d38ef98676b30712c1716310054307fbec03db406d1cf17a7f3430697e8378d2c
diff --git a/sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch b/sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch
deleted file mode 100644
index 08c7458f7700..000000000000
--- a/sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 9a44d8e10d726cae992e611575b9dcb1627beede Mon Sep 17 00:00:00 2001
-From: Jason Zaman <jason@perfinion.com>
-Date: Wed, 11 Sep 2019 12:08:34 +0800
-Subject: [PATCH 1/2] WORKSPACE: add rules-docker http_archive,
- bazel-toolchains uses git_repo
-
-git_repository() rules cannot pull from --distdir and fail when building
-without internet access. Use http_archive instead and pin the sha256
-hash as well.
-
-Signed-off-by: Jason Zaman <jason@perfinion.com>
----
- WORKSPACE | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/WORKSPACE b/WORKSPACE
-index 74ea14d0fd..ccff2ba30f 100644
---- a/WORKSPACE
-+++ b/WORKSPACE
-@@ -12,6 +12,15 @@ http_archive(
- ],
- )
-
-+http_archive(
-+ name = "io_bazel_rules_docker",
-+ sha256 = "7d453450e1eb70e238eea6b31f4115607ec1200e91afea01c25f9804f37e39c8",
-+ strip_prefix = "rules_docker-0.10.0",
-+ urls = [
-+ "https://github.com/bazelbuild/rules_docker/releases/download/v0.10.0/rules_docker-v0.10.0.tar.gz",
-+ ],
-+)
-+
- # Load tf_repositories() before loading dependencies for other repository so
- # that dependencies like com_google_protobuf won't be overridden.
- load("//tensorflow:workspace.bzl", "tf_repositories")
---
-2.21.0
-
diff --git a/sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0002-systemlibs-unbundle-functools32.patch b/sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0002-systemlibs-unbundle-functools32.patch
deleted file mode 100644
index f8b72daddfc4..000000000000
--- a/sci-libs/tensorflow/files/tensorflow-1.15.0_rc0-0002-systemlibs-unbundle-functools32.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 05f57f785aeb58146b3873d4a0c614d897c56293 Mon Sep 17 00:00:00 2001
-From: Jason Zaman <jason@perfinion.com>
-Date: Wed, 11 Sep 2019 18:18:42 +0800
-Subject: [PATCH 2/2] systemlibs: unbundle functools32
-
-Signed-off-by: Jason Zaman <jason@perfinion.com>
----
- tensorflow/workspace.bzl | 1 +
- third_party/systemlibs/functools32.BUILD | 15 +++++++++++++++
- third_party/systemlibs/syslibs_configure.bzl | 1 +
- 3 files changed, 17 insertions(+)
- create mode 100644 third_party/systemlibs/functools32.BUILD
-
-diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
-index d9fadc1030..760b7cd905 100755
---- a/tensorflow/workspace.bzl
-+++ b/tensorflow/workspace.bzl
-@@ -325,6 +325,7 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""):
- build_file = clean_dep("//third_party:functools32.BUILD"),
- sha256 = "f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d",
- strip_prefix = "functools32-3.2.3-2",
-+ system_build_file = clean_dep("//third_party/systemlibs:functools32.BUILD"),
- urls = [
- "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz",
- "https://pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz",
-diff --git a/third_party/systemlibs/functools32.BUILD b/third_party/systemlibs/functools32.BUILD
-new file mode 100644
-index 0000000000..5567ef6943
---- /dev/null
-+++ b/third_party/systemlibs/functools32.BUILD
-@@ -0,0 +1,15 @@
-+# Description:
-+# functools32 provides a backport of the functools module for Python 2.
-+
-+licenses(["notice"]) # Python 2.0
-+
-+package(default_visibility = ["//visibility:public"])
-+
-+filegroup(
-+ name = "LICENSE",
-+)
-+
-+py_library(
-+ name = "functools32",
-+ srcs_version = "PY2AND3",
-+)
-diff --git a/third_party/systemlibs/syslibs_configure.bzl b/third_party/systemlibs/syslibs_configure.bzl
-index f83c0dd3d5..0884be8416 100644
---- a/third_party/systemlibs/syslibs_configure.bzl
-+++ b/third_party/systemlibs/syslibs_configure.bzl
-@@ -22,6 +22,7 @@ VALID_LIBS = [
- "double_conversion",
- "enum34_archive",
- "flatbuffers",
-+ "functools32_archive",
- "gast_archive",
- "gif_archive",
- "grpc",
---
-2.21.0
-
diff --git a/sci-libs/tensorflow/files/tensorflow-2.1.0-cuda_10.2_support_bin2c.patch b/sci-libs/tensorflow/files/tensorflow-2.1.0-cuda_10.2_support_bin2c.patch
deleted file mode 100644
index 4cc2f608d5dc..000000000000
--- a/sci-libs/tensorflow/files/tensorflow-2.1.0-cuda_10.2_support_bin2c.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/third_party/nccl/build_defs.bzl.tpl b/third_party/nccl/build_defs.bzl.tpl
-index 5719139855..5f5c3a1008 100644
---- a/third_party/nccl/build_defs.bzl.tpl
-+++ b/third_party/nccl/build_defs.bzl.tpl
-@@ -113,7 +113,6 @@ def _device_link_impl(ctx):
- "--cmdline=--compile-only",
- "--link",
- "--compress-all",
-- "--bin2c-path=%s" % bin2c.dirname,
- "--create=%s" % tmp_fatbin.path,
- "--embedded-fatbin=%s" % fatbin_h.path,
- ] + images,
diff --git a/sci-libs/tensorflow/metadata.xml b/sci-libs/tensorflow/metadata.xml
deleted file mode 100644
index 6161514c67b7..000000000000
--- a/sci-libs/tensorflow/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>perfinion@gentoo.org</email>
- <name>Jason Zaman</name>
- </maintainer>
- <longdescription lang="en">
- An open source machine learning framework for everyone
- </longdescription>
- <use>
- <flag name="cuda">Enable support for nVidia CUDA</flag>
- <flag name="xla">XLA (Accelerated Linear Algebra) Optimizing Compiler for TensorFlow</flag>
- </use>
- <upstream>
- <remote-id type="github">tensorflow/tensorflow</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/tensorflow/tensorflow-1.15.0.ebuild b/sci-libs/tensorflow/tensorflow-1.15.0.ebuild
deleted file mode 100644
index 8190ff5d464a..000000000000
--- a/sci-libs/tensorflow/tensorflow-1.15.0.ebuild
+++ /dev/null
@@ -1,360 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-inherit bazel check-reqs cuda distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="cuda mpi +python xla"
-CPU_USE_FLAGS_X86="sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma3 fma4"
-for i in $CPU_USE_FLAGS_X86; do
- IUSE+=" cpu_flags_x86_$i"
-done
-
-# distfiles that bazel uses for the workspace, will be copied to basel-distdir
-bazel_external_uris="
- http://www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz -> oourafft2d-20061228.tgz
- https://bitbucket.org/eigen/eigen/get/49177915a14a.tar.gz -> eigen-49177915a14a.tar.gz
- https://github.com/abseil/abseil-cpp/archive/43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz -> abseil-cpp-43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz
- https://github.com/bazelbuild/bazel-skylib/releases/download/0.8.0/bazel-skylib.0.8.0.tar.gz
- https://github.com/bazelbuild/bazel-toolchains/archive/92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz -> bazel-toolchains-92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz
- https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz
- https://github.com/bazelbuild/rules_docker/releases/download/v0.10.0/rules_docker-v0.10.0.tar.gz -> bazelbuild-rules_docker-v0.10.0.tar.gz
- https://github.com/bazelbuild/rules_swift/releases/download/0.11.1/rules_swift.0.11.1.tar.gz -> bazelbuild-rules_swift.0.11.1.tar.gz
- https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz
- https://github.com/google/gemmlowp/archive/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip -> gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip
- https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz
- https://github.com/mborgerding/kissfft/archive/36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz -> kissfft-36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz
- https://github.com/nlopezgi/bazel-toolchains/archive/94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz -> bazel-toolchains-94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz
- https://github.com/pybind/pybind11/archive/v2.3.0.tar.gz -> pybind11-v2.3.0.tar.gz
- https://github.com/llvm-mirror/llvm/archive/7a7e03f906aada0cf4b749b51213fe5784eeff84.tar.gz -> llvm-7a7e03f906aada0cf4b749b51213fe5784eeff84.tar.gz
- cuda? (
- https://github.com/nvidia/nccl/archive/0ceaec9cee96ae7658aa45686853286651f36384.tar.gz -> nvidia-nccl-0ceaec9cee96ae7658aa45686853286651f36384.tar.gz
- https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip
- )
- python? (
- https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz
- https://storage.googleapis.com/mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.15.0-python-license.rst.txt
- https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz
- )"
-
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- ${bazel_external_uris}"
-
-RDEPEND="
- app-arch/snappy
- dev-db/lmdb
- dev-db/sqlite
- dev-libs/double-conversion
- dev-libs/icu
- ~dev-libs/jsoncpp-1.9.1
- dev-libs/libpcre
- dev-libs/nsync
- dev-libs/openssl:0=
- >=dev-libs/protobuf-3.6.1:=
- >=dev-libs/re2-0.2018.04.01
- media-libs/giflib
- media-libs/libjpeg-turbo
- media-libs/libpng:0
- >=net-libs/grpc-1.22.0
- net-misc/curl
- sys-libs/zlib
- >=sys-apps/hwloc-2
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- dev-libs/cudnn
- )
- mpi? ( virtual/mpi )
- python? (
- ${PYTHON_DEPS}
- >=dev-libs/flatbuffers-1.8.0
- dev-python/absl-py[${PYTHON_USEDEP}]
- >=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
- dev-python/gast[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
- dev-python/google-pasta[${PYTHON_USEDEP}]
- dev-python/opt-einsum[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.6.1[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/termcolor[${PYTHON_USEDEP}]
- >=dev-python/grpcio-1.22.0[${PYTHON_USEDEP}]
- >=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
- >=net-libs/google-cloud-cpp-0.10.0
- >=sci-libs/keras-applications-1.0.8[${PYTHON_USEDEP}]
- >=sci-libs/keras-preprocessing-1.0.5[${PYTHON_USEDEP}]
- =sci-visualization/tensorboard-1*[${PYTHON_USEDEP}]
- )"
-DEPEND="${RDEPEND}
- dev-python/mock"
-PDEPEND="python? (
- =sci-libs/tensorflow-estimator-1*[${PYTHON_USEDEP}]
- )"
-BDEPEND="
- app-arch/unzip
- >=dev-libs/protobuf-3.6.0
- dev-java/java-config
- dev-python/mock
- dev-lang/swig
- dev-python/cython
- || (
- =dev-util/bazel-0.24*
- =dev-util/bazel-0.27*
- )
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- )
- !python? ( dev-lang/python )
- python? (
- >=dev-python/grpcio-tools-1.22.0
- )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/tensorflow-1.15.0_rc0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch"
- "${FILESDIR}/tensorflow-1.15.0_rc0-0002-systemlibs-unbundle-functools32.patch"
-)
-DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md )
-CHECKREQS_MEMORY="5G"
-CHECKREQS_DISK_BUILD="5G"
-
-get-cpu-flags() {
- local i f=()
- # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc.
- for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do
- use cpu_flags_x86_${i} && f+=( -m${i/_/.} )
- done
- use cpu_flags_x86_fma3 && f+=( -mfma )
- echo "${f[*]}"
-}
-
-pkg_setup() {
- local num_pythons_enabled
- num_pythons_enabled=0
- count_impls(){
- num_pythons_enabled=$((${num_pythons_enabled} + 1))
- }
- use python && python_foreach_impl count_impls
-
- # 5 G to build C/C++ libs, 5G per python impl
- CHECKREQS_DISK_BUILD="$((5 + 5 * $num_pythons_enabled))G"
- check-reqs_pkg_setup
-}
-
-src_unpack() {
- # Only unpack the main distfile
- unpack "${P}.tar.gz"
- bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- append-flags $(get-cpu-flags)
- bazel_setup_bazelrc
-
- if ver_test "$(cuda_toolkit_version)" -ge "10.2"; then
- eapply "${FILESDIR}/tensorflow-2.1.0-cuda_10.2_support_bin2c.patch"
- fi
-
- default
- use python && python_copy_sources
-
- use cuda && cuda_add_sandbox
-}
-
-src_configure() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_configure() {
- export CC_OPT_FLAGS=" "
- export TF_ENABLE_XLA=$(usex xla 1 0)
- export TF_NEED_OPENCL_SYCL=0
- export TF_NEED_OPENCL=0
- export TF_NEED_COMPUTECPP=0
- export TF_NEED_ROCM=0
- export TF_NEED_MPI=$(usex mpi 1 0)
- export TF_SET_ANDROID_WORKSPACE=0
-
- if use python; then
- export PYTHON_BIN_PATH="${PYTHON}"
- export PYTHON_LIB_PATH="$(python_get_sitedir)"
- else
- export PYTHON_BIN_PATH="$(which python)"
- export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')"
- fi
-
- export TF_NEED_CUDA=$(usex cuda 1 0)
- export TF_DOWNLOAD_CLANG=0
- export TF_CUDA_CLANG=0
- export TF_NEED_TENSORRT=0
- if use cuda; then
- export TF_CUDA_PATHS="${EPREFIX}/opt/cuda"
- export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)"
- export TF_CUDA_VERSION="$(cuda_toolkit_version)"
- export TF_CUDNN_VERSION="$(cuda_cudnn_version)"
- einfo "Setting CUDA version: $TF_CUDA_VERSION"
- einfo "Setting CUDNN version: $TF_CUDNN_VERSION"
-
- if [[ -z "$TF_CUDA_COMPUTE_CAPABILITIES" ]]; then
- ewarn "WARNING: Tensorflow is being built with its default CUDA compute capabilities: 3.5 and 7.0."
- ewarn "These may not be optimal for your GPU."
- ewarn ""
- ewarn "To configure Tensorflow with the CUDA compute capability that is optimal for your GPU,"
- ewarn "set TF_CUDA_COMPUTE_CAPABILITIES in your make.conf, and re-emerge tensorflow."
- ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TF_CUDA_COMPUTE_CAPABILITIES=7.5,3.5"
- ewarn ""
- ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
- ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
- fi
- fi
-
- local SYSLIBS=(
- absl_py
- astor_archive
- boringssl
- com_github_googleapis_googleapis
- com_github_googlecloudplatform_google_cloud_cpp
- com_google_protobuf
- com_googlesource_code_re2
- curl
- cython
- double_conversion
- enum34_archive
- flatbuffers
- functools32_archive
- gast_archive
- gif_archive
- grpc
- hwloc
- icu
- jpeg
- jsoncpp_git
- keras_applications_archive
- lmdb
- nasm
- nsync
- opt_einsum_archive
- org_sqlite
- pasta
- pcre
- png_archive
- six_archive
- snappy
- swig
- termcolor_archive
- wrapt
- zlib_archive
- )
-
- export TF_SYSTEM_LIBS="${SYSLIBS[@]}"
- export TF_IGNORE_MAX_BAZEL_VERSION=1
-
- # This is not autoconf
- ./configure || die
-
- echo 'build --config=noaws --config=nohdfs --config=noignite --config=nokafka' >> .bazelrc || die
- echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die
- echo 'build --incompatible_no_support_tools_in_action_inputs=false' >> .bazelrc || die
- }
- if use python; then
- python_foreach_impl run_in_build_dir do_configure
- else
- do_configure
- fi
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- if use python; then
- python_setup
- BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}"
- fi
-
- # fail early if any deps are missing
- ebazel build --nobuild \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so \
- //tensorflow:libtensorflow_cc.so \
- $(usex python '//tensorflow/tools/pip_package:build_pip_package' '')
-
- ebazel build \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so
- ebazel build //tensorflow:libtensorflow_cc.so
-
- do_compile() {
- ebazel build //tensorflow/tools/pip_package:build_pip_package
- }
- BUILD_DIR="${S}"
- cd "${BUILD_DIR}"
- use python && python_foreach_impl run_in_build_dir do_compile
- ebazel shutdown
-}
-
-src_install() {
- local i j
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_install() {
- einfo "Installing ${EPYTHON} files"
- local srcdir="${T}/src-${MULTIBUILD_VARIANT}"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die
- cd "${srcdir}" || die
- esetup.py install
-
- # libtensorflow_framework.so is in /usr/lib already
- rm -f "${D}/$(python_get_sitedir)"/${PN}/lib${PN}_framework.so* || die
- rm -f "${D}/$(python_get_sitedir)"/${PN}_core/lib${PN}_framework.so* || die
- python_optimize
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir do_install
-
- # Symlink to python-exec scripts
- for i in "${ED}"/usr/lib/python-exec/*/*; do
- n="${i##*/}"
- [[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}"
- done
-
- python_setup
- local BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}" || die
- fi
-
- einfo "Installing headers"
- ebazel build //tensorflow:install_headers
- ebazel shutdown
- insinto /usr/include/${PN}/
- doins -r bazel-genfiles/tensorflow/include/*
-
- einfo "Installing libs"
- # Generate pkg-config file
- ${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc ${PN}_cc.pc
-
- for l in libtensorflow{,_framework,_cc}.so; do
- dolib.so bazel-bin/tensorflow/${l}
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1)
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1-3)
- done
-
- einstalldocs
-}
diff --git a/sci-libs/tensorflow/tensorflow-2.0.0.ebuild b/sci-libs/tensorflow/tensorflow-2.0.0.ebuild
deleted file mode 100644
index 4e04d4e51c6d..000000000000
--- a/sci-libs/tensorflow/tensorflow-2.0.0.ebuild
+++ /dev/null
@@ -1,359 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-inherit bazel check-reqs cuda distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="cuda mpi +python xla"
-CPU_USE_FLAGS_X86="sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma3 fma4"
-for i in $CPU_USE_FLAGS_X86; do
- IUSE+=" cpu_flags_x86_$i"
-done
-
-# distfiles that bazel uses for the workspace, will be copied to basel-distdir
-bazel_external_uris="
- https://storage.googleapis.com/mirror.tensorflow.org/www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz -> oourafft2d-20061228.tgz
- https://bitbucket.org/eigen/eigen/get/049af2f56331.tar.gz -> eigen-049af2f56331.tar.gz
- https://github.com/abseil/abseil-cpp/archive/43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz -> abseil-cpp-43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz
- https://github.com/bazelbuild/bazel-skylib/releases/download/0.8.0/bazel-skylib.0.8.0.tar.gz
- https://github.com/bazelbuild/bazel-toolchains/archive/92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz -> bazel-toolchains-92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz
- https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz
- https://github.com/bazelbuild/rules_docker/releases/download/v0.10.0/rules_docker-v0.10.0.tar.gz -> bazelbuild-rules_docker-v0.10.0.tar.gz
- https://github.com/bazelbuild/rules_swift/releases/download/0.11.1/rules_swift.0.11.1.tar.gz -> bazelbuild-rules_swift.0.11.1.tar.gz
- https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz
- https://github.com/google/gemmlowp/archive/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip -> gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip
- https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz
- https://github.com/mborgerding/kissfft/archive/36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz -> kissfft-36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz
- https://github.com/nlopezgi/bazel-toolchains/archive/94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz -> bazel-toolchains-94d31935a2c94fe7e7c7379a0f3393e181928ff7.tar.gz
- https://github.com/pybind/pybind11/archive/v2.3.0.tar.gz -> pybind11-v2.3.0.tar.gz
- https://github.com/llvm-mirror/llvm/archive/b7d166cebcf619a3691eed3f994384aab3d80fa6.tar.gz -> llvm-b7d166cebcf619a3691eed3f994384aab3d80fa6.tar.gz
- cuda? (
- https://github.com/nvidia/nccl/archive/0ceaec9cee96ae7658aa45686853286651f36384.tar.gz -> nvidia-nccl-0ceaec9cee96ae7658aa45686853286651f36384.tar.gz
- https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip
- )
- python? (
- https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz
- https://storage.googleapis.com/mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.15.0-python-license.rst.txt
- https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz
- )"
-
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- ${bazel_external_uris}"
-
-RDEPEND="
- app-arch/snappy
- dev-db/lmdb
- dev-db/sqlite
- dev-libs/double-conversion
- dev-libs/icu
- ~dev-libs/jsoncpp-1.9.1
- dev-libs/libpcre
- dev-libs/nsync
- dev-libs/openssl:0=
- >=dev-libs/protobuf-3.6.1:=
- >=dev-libs/re2-0.2018.04.01
- media-libs/giflib
- media-libs/libjpeg-turbo
- media-libs/libpng:0
- >=net-libs/grpc-1.22.0
- net-misc/curl
- sys-libs/zlib
- >=sys-apps/hwloc-2
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- dev-libs/cudnn
- )
- mpi? ( virtual/mpi )
- python? (
- ${PYTHON_DEPS}
- >=dev-libs/flatbuffers-1.8.0
- dev-python/absl-py[${PYTHON_USEDEP}]
- >=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
- dev-python/gast[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
- dev-python/google-pasta[${PYTHON_USEDEP}]
- dev-python/opt-einsum[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.6.1[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/termcolor[${PYTHON_USEDEP}]
- >=dev-python/grpcio-1.22.0[${PYTHON_USEDEP}]
- >=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
- >=net-libs/google-cloud-cpp-0.10.0
- >=sci-libs/keras-applications-1.0.8[${PYTHON_USEDEP}]
- >=sci-libs/keras-preprocessing-1.0.5[${PYTHON_USEDEP}]
- >=sci-visualization/tensorboard-2.0.0[${PYTHON_USEDEP}]
- )"
-DEPEND="${RDEPEND}
- dev-python/mock"
-PDEPEND="python? (
- >=sci-libs/tensorflow-estimator-2.0.0[${PYTHON_USEDEP}]
- )"
-BDEPEND="
- app-arch/unzip
- >=dev-libs/protobuf-3.6.0
- dev-java/java-config
- dev-python/mock
- dev-lang/swig
- dev-python/cython
- || (
- =dev-util/bazel-0.24*
- =dev-util/bazel-0.27*
- )
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- )
- !python? ( dev-lang/python )
- python? (
- >=dev-python/grpcio-tools-1.22.0
- )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/tensorflow-1.15.0_rc0-0001-WORKSPACE-add-rules-docker-http_archive-bazel-toolch.patch"
-)
-DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md )
-CHECKREQS_MEMORY="5G"
-CHECKREQS_DISK_BUILD="5G"
-
-get-cpu-flags() {
- local i f=()
- # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc.
- for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do
- use cpu_flags_x86_${i} && f+=( -m${i/_/.} )
- done
- use cpu_flags_x86_fma3 && f+=( -mfma )
- echo "${f[*]}"
-}
-
-pkg_setup() {
- ewarn "TensorFlow 2.0 is a major release that contains some incompatibilities"
- ewarn "with TensorFlow 1.x. For more information about migrating to TF2.0 see:"
- ewarn "https://www.tensorflow.org/guide/migrate"
-
- local num_pythons_enabled
- num_pythons_enabled=0
- count_impls(){
- num_pythons_enabled=$((${num_pythons_enabled} + 1))
- }
- use python && python_foreach_impl count_impls
-
- # 5G to build C/C++ libs, 5G per python impl
- CHECKREQS_DISK_BUILD="$((5 + 5 * ${num_pythons_enabled}))G"
- check-reqs_pkg_setup
-}
-
-src_unpack() {
- # Only unpack the main distfile
- unpack "${P}.tar.gz"
- bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- append-flags $(get-cpu-flags)
- bazel_setup_bazelrc
-
- default
- use python && python_copy_sources
-
- use cuda && cuda_add_sandbox
-}
-
-src_configure() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_configure() {
- export CC_OPT_FLAGS=" "
- export TF_ENABLE_XLA=$(usex xla 1 0)
- export TF_NEED_OPENCL_SYCL=0
- export TF_NEED_OPENCL=0
- export TF_NEED_COMPUTECPP=0
- export TF_NEED_ROCM=0
- export TF_NEED_MPI=$(usex mpi 1 0)
- export TF_SET_ANDROID_WORKSPACE=0
-
- if use python; then
- export PYTHON_BIN_PATH="${PYTHON}"
- export PYTHON_LIB_PATH="$(python_get_sitedir)"
- else
- export PYTHON_BIN_PATH="$(which python)"
- export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')"
- fi
-
- export TF_NEED_CUDA=$(usex cuda 1 0)
- export TF_DOWNLOAD_CLANG=0
- export TF_CUDA_CLANG=0
- export TF_NEED_TENSORRT=0
- if use cuda; then
- export TF_CUDA_PATHS="${EPREFIX}/opt/cuda"
- export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)"
- export TF_CUDA_VERSION="$(cuda_toolkit_version)"
- export TF_CUDNN_VERSION="$(cuda_cudnn_version)"
- einfo "Setting CUDA version: $TF_CUDA_VERSION"
- einfo "Setting CUDNN version: $TF_CUDNN_VERSION"
-
- if [[ -z "$TF_CUDA_COMPUTE_CAPABILITIES" ]]; then
- ewarn "WARNING: Tensorflow is being built with its default CUDA compute capabilities: 3.5 and 7.0."
- ewarn "These may not be optimal for your GPU."
- ewarn ""
- ewarn "To configure Tensorflow with the CUDA compute capability that is optimal for your GPU,"
- ewarn "set TF_CUDA_COMPUTE_CAPABILITIES in your make.conf, and re-emerge tensorflow."
- ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TF_CUDA_COMPUTE_CAPABILITIES=7.5,3.5"
- ewarn ""
- ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
- ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
- fi
- fi
-
- local SYSLIBS=(
- absl_py
- astor_archive
- boringssl
- com_github_googleapis_googleapis
- com_github_googlecloudplatform_google_cloud_cpp
- com_google_protobuf
- com_googlesource_code_re2
- curl
- cython
- double_conversion
- enum34_archive
- flatbuffers
- functools32_archive
- gast_archive
- gif_archive
- grpc
- hwloc
- icu
- jpeg
- jsoncpp_git
- keras_applications_archive
- lmdb
- nasm
- nsync
- opt_einsum_archive
- org_sqlite
- pasta
- pcre
- png_archive
- six_archive
- snappy
- swig
- termcolor_archive
- wrapt
- zlib_archive
- )
-
- export TF_SYSTEM_LIBS="${SYSLIBS[@]}"
- export TF_IGNORE_MAX_BAZEL_VERSION=1
-
- # This is not autoconf
- ./configure || die
-
- echo 'build --config=noaws --config=nohdfs --config=noignite --config=nokafka' >> .bazelrc || die
- echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die
- echo 'build --incompatible_no_support_tools_in_action_inputs=false' >> .bazelrc || die
- }
- if use python; then
- python_foreach_impl run_in_build_dir do_configure
- else
- do_configure
- fi
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- if use python; then
- python_setup
- BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}"
- fi
-
- # fail early if any deps are missing
- ebazel build --nobuild \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so \
- //tensorflow:libtensorflow_cc.so \
- $(usex python '//tensorflow/tools/pip_package:build_pip_package' '')
-
- ebazel build \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so
- ebazel build //tensorflow:libtensorflow_cc.so
-
- do_compile() {
- ebazel build //tensorflow/tools/pip_package:build_pip_package
- }
- BUILD_DIR="${S}"
- cd "${BUILD_DIR}"
- use python && python_foreach_impl run_in_build_dir do_compile
- ebazel shutdown
-}
-
-src_install() {
- local i j
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_install() {
- einfo "Installing ${EPYTHON} files"
- local srcdir="${T}/src-${MULTIBUILD_VARIANT}"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die
- cd "${srcdir}" || die
- esetup.py install
-
- # libtensorflow_framework.so is in /usr/lib already
- rm -f "${D}/$(python_get_sitedir)"/${PN}/lib${PN}_framework.so* || die
- rm -f "${D}/$(python_get_sitedir)"/${PN}_core/lib${PN}_framework.so* || die
- python_optimize
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir do_install
-
- # Symlink to python-exec scripts
- for i in "${ED}"/usr/lib/python-exec/*/*; do
- n="${i##*/}"
- [[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}"
- done
-
- python_setup
- local BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}" || die
- fi
-
- einfo "Installing headers"
- ebazel build //tensorflow:install_headers
- ebazel shutdown
- insinto /usr/include/${PN}/
- doins -r bazel-genfiles/tensorflow/include/*
-
- einfo "Installing libs"
- # Generate pkg-config file
- ${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc ${PN}_cc.pc
-
- for l in libtensorflow{,_framework,_cc}.so; do
- dolib.so bazel-bin/tensorflow/${l}
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1)
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1-3)
- done
-
- einstalldocs
-}
diff --git a/sci-libs/tensorflow/tensorflow-2.1.0.ebuild b/sci-libs/tensorflow/tensorflow-2.1.0.ebuild
deleted file mode 100644
index 4f7b9c8ecf7d..000000000000
--- a/sci-libs/tensorflow/tensorflow-2.1.0.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-inherit bazel check-reqs cuda distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="cuda mpi +python xla"
-CPU_USE_FLAGS_X86="sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma3 fma4"
-for i in $CPU_USE_FLAGS_X86; do
- IUSE+=" cpu_flags_x86_$i"
-done
-
-# distfiles that bazel uses for the workspace, will be copied to basel-distdir
-bazel_external_uris="
- https://storage.googleapis.com/mirror.tensorflow.org/www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz -> oourafft2d-20061228.tgz
- https://gitlab.com/libeigen/eigen/-/archive/4e696901f873a2347f76d931cf2f701e31e15d05/eigen-4e696901f873a2347f76d931cf2f701e31e15d05.tar.gz -> eigen-4e696901f873a2347f76d931cf2f701e31e15d05.tar.gz
- https://github.com/abseil/abseil-cpp/archive/43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz -> abseil-cpp-43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz
- https://github.com/bazelbuild/bazel-skylib/releases/download/0.8.0/bazel-skylib.0.8.0.tar.gz
- https://github.com/bazelbuild/bazel-skylib/releases/download/0.9.0/bazel_skylib-0.9.0.tar.gz
- https://github.com/bazelbuild/bazel-toolchains/archive/92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz -> bazel-toolchains-92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz
- https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip -> bazelbuild-rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip
- https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz
- https://github.com/bazelbuild/rules_docker/releases/download/v0.10.0/rules_docker-v0.10.0.tar.gz -> bazelbuild-rules_docker-v0.10.0.tar.gz
- https://github.com/bazelbuild/rules_swift/releases/download/0.12.1/rules_swift.0.12.1.tar.gz -> bazelbuild-rules_swift.0.12.1.tar.gz
- https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz
- https://github.com/google/gemmlowp/archive/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip -> gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip
- https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz
- https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz
- https://github.com/mborgerding/kissfft/archive/36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz -> kissfft-36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz
- https://github.com/pybind/pybind11/archive/v2.3.0.tar.gz -> pybind11-v2.3.0.tar.gz
- https://github.com/llvm/llvm-project/archive/ecc999101aadc8dc7d4af9fd88be10fe42674aa0.tar.gz -> llvm-ecc999101aadc8dc7d4af9fd88be10fe42674aa0.tar.gz
- cuda? (
- https://github.com/nvidia/nccl/archive/0ceaec9cee96ae7658aa45686853286651f36384.tar.gz -> nvidia-nccl-0ceaec9cee96ae7658aa45686853286651f36384.tar.gz
- https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip
- )
- python? (
- https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz
- https://storage.googleapis.com/mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.15.0-python-license.rst.txt
- https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz
- )"
-
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~perfinion/patches/tensorflow-patches-${PVR}.tar.bz2
- ${bazel_external_uris}"
-
-RDEPEND="
- app-arch/snappy
- dev-db/lmdb
- dev-db/sqlite
- dev-libs/double-conversion
- dev-libs/icu
- >=dev-libs/jsoncpp-1.9.2
- dev-libs/libpcre
- dev-libs/nsync
- dev-libs/openssl:0=
- >=dev-libs/protobuf-3.8.0:=
- >=dev-libs/re2-0.2019.06.01
- media-libs/giflib
- media-libs/libjpeg-turbo
- media-libs/libpng:0
- >=net-libs/grpc-1.22.0
- net-misc/curl
- sys-libs/zlib
- >=sys-apps/hwloc-2
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- dev-libs/cudnn
- )
- mpi? ( virtual/mpi )
- python? (
- ${PYTHON_DEPS}
- >=dev-libs/flatbuffers-1.8.0
- dev-python/absl-py[${PYTHON_USEDEP}]
- >=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
- dev-python/gast[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
- dev-python/google-pasta[${PYTHON_USEDEP}]
- dev-python/opt-einsum[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.8.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/termcolor[${PYTHON_USEDEP}]
- >=dev-python/grpcio-1.22.0[${PYTHON_USEDEP}]
- >=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
- >=net-libs/google-cloud-cpp-0.10.0
- >=sci-libs/keras-applications-1.0.8[${PYTHON_USEDEP}]
- >=sci-libs/keras-preprocessing-1.1.0[${PYTHON_USEDEP}]
- >=sci-visualization/tensorboard-2.0.0[${PYTHON_USEDEP}]
- )"
-DEPEND="${RDEPEND}
- python? (
- dev-python/mock
- dev-python/setuptools
- )"
-PDEPEND="python? (
- >=sci-libs/tensorflow-estimator-2.0.0[${PYTHON_USEDEP}]
- )"
-BDEPEND="
- app-arch/unzip
- >=dev-libs/protobuf-3.8.0
- dev-java/java-config
- dev-lang/swig
- || (
- =dev-util/bazel-0.27*
- =dev-util/bazel-0.29*
- )
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- )
- !python? ( dev-lang/python )
- python? (
- dev-python/cython
- dev-python/mock
- >=dev-python/grpcio-tools-1.22.0
- )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md )
-CHECKREQS_MEMORY="5G"
-CHECKREQS_DISK_BUILD="10G"
-
-get-cpu-flags() {
- local i f=()
- # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc.
- for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do
- use cpu_flags_x86_${i} && f+=( -m${i/_/.} )
- done
- use cpu_flags_x86_fma3 && f+=( -mfma )
- echo "${f[*]}"
-}
-
-pkg_setup() {
- ewarn "TensorFlow 2.0 is a major release that contains some incompatibilities"
- ewarn "with TensorFlow 1.x. For more information about migrating to TF2.0 see:"
- ewarn "https://www.tensorflow.org/guide/migrate"
-
- local num_pythons_enabled
- num_pythons_enabled=0
- count_impls(){
- num_pythons_enabled=$((${num_pythons_enabled} + 1))
- }
- use python && python_foreach_impl count_impls
-
- # 10G to build C/C++ libs, 5G per python impl
- CHECKREQS_DISK_BUILD="$((10 + 6 * ${num_pythons_enabled}))G"
- check-reqs_pkg_setup
-}
-
-src_unpack() {
- # Only unpack the main distfile
- unpack "${P}.tar.gz"
- unpack tensorflow-patches-${PVR}.tar.bz2
- bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- append-flags $(get-cpu-flags)
- bazel_setup_bazelrc
-
- eapply "${WORKDIR}"/patches/*.patch
-
- default
- use python && python_copy_sources
-
- use cuda && cuda_add_sandbox
-}
-
-src_configure() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_configure() {
- export CC_OPT_FLAGS=" "
- export TF_ENABLE_XLA=$(usex xla 1 0)
- export TF_NEED_OPENCL_SYCL=0
- export TF_NEED_OPENCL=0
- export TF_NEED_COMPUTECPP=0
- export TF_NEED_ROCM=0
- export TF_NEED_MPI=$(usex mpi 1 0)
- export TF_SET_ANDROID_WORKSPACE=0
-
- if use python; then
- export PYTHON_BIN_PATH="${PYTHON}"
- export PYTHON_LIB_PATH="$(python_get_sitedir)"
- else
- export PYTHON_BIN_PATH="$(which python)"
- export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')"
- fi
-
- export TF_NEED_CUDA=$(usex cuda 1 0)
- export TF_DOWNLOAD_CLANG=0
- export TF_CUDA_CLANG=0
- export TF_NEED_TENSORRT=0
- if use cuda; then
- export TF_CUDA_PATHS="${EPREFIX}/opt/cuda"
- export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)"
- export TF_CUDA_VERSION="$(cuda_toolkit_version)"
- export TF_CUDNN_VERSION="$(cuda_cudnn_version)"
- einfo "Setting CUDA version: $TF_CUDA_VERSION"
- einfo "Setting CUDNN version: $TF_CUDNN_VERSION"
-
- if [[ -z "$TF_CUDA_COMPUTE_CAPABILITIES" ]]; then
- ewarn "WARNING: Tensorflow is being built with its default CUDA compute capabilities: 3.5 and 7.0."
- ewarn "These may not be optimal for your GPU."
- ewarn ""
- ewarn "To configure Tensorflow with the CUDA compute capability that is optimal for your GPU,"
- ewarn "set TF_CUDA_COMPUTE_CAPABILITIES in your make.conf, and re-emerge tensorflow."
- ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TF_CUDA_COMPUTE_CAPABILITIES=7.5,3.5"
- ewarn ""
- ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
- ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
- fi
- fi
-
- # com_googlesource_code_re2 weird branch using absl, doesnt work with released re2
- local SYSLIBS=(
- absl_py
- astor_archive
- boringssl
- com_github_googleapis_googleapis
- com_github_googlecloudplatform_google_cloud_cpp
- com_google_protobuf
- curl
- cython
- double_conversion
- enum34_archive
- flatbuffers
- functools32_archive
- gast_archive
- gif
- grpc
- hwloc
- icu
- libjpeg_turbo
- jsoncpp_git
- keras_applications_archive
- lmdb
- nasm
- nsync
- opt_einsum_archive
- org_sqlite
- pasta
- pcre
- png
- pybind11
- six_archive
- snappy
- swig
- termcolor_archive
- wrapt
- zlib_archive
- )
-
- export TF_SYSTEM_LIBS="${SYSLIBS[@]}"
- export TF_IGNORE_MAX_BAZEL_VERSION=1
-
- # This is not autoconf
- ./configure || die
-
- echo 'build --config=noaws --config=nohdfs' >> .bazelrc || die
- echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die
- echo 'build --incompatible_no_support_tools_in_action_inputs=false' >> .bazelrc || die
- }
- if use python; then
- python_foreach_impl run_in_build_dir do_configure
- else
- do_configure
- fi
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- if use python; then
- python_setup
- BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}"
- fi
-
- # fail early if any deps are missing
- ebazel build --nobuild \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so \
- //tensorflow:libtensorflow_cc.so \
- $(usex python '//tensorflow/tools/pip_package:build_pip_package' '')
-
- ebazel build \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so
- ebazel build //tensorflow:libtensorflow_cc.so
-
- do_compile() {
- ebazel build //tensorflow/tools/pip_package:build_pip_package
- }
- BUILD_DIR="${S}"
- cd "${BUILD_DIR}"
- use python && python_foreach_impl run_in_build_dir do_compile
- ebazel shutdown
-}
-
-src_install() {
- local i j
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_install() {
- einfo "Installing ${EPYTHON} files"
- local srcdir="${T}/src-${MULTIBUILD_VARIANT}"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die
- cd "${srcdir}" || die
- esetup.py install
-
- # libtensorflow_framework.so is in /usr/lib already
- rm -f "${D}/$(python_get_sitedir)"/${PN}/lib${PN}_framework.so* || die
- rm -f "${D}/$(python_get_sitedir)"/${PN}_core/lib${PN}_framework.so* || die
- python_optimize
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir do_install
-
- # Symlink to python-exec scripts
- for i in "${ED}"/usr/lib/python-exec/*/*; do
- n="${i##*/}"
- [[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}"
- done
-
- python_setup
- local BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}" || die
- fi
-
- einfo "Installing headers"
- ebazel build //tensorflow:install_headers
- ebazel shutdown
- insinto /usr/include/${PN}/
- doins -r bazel-genfiles/tensorflow/include/*
-
- einfo "Installing libs"
- # Generate pkg-config file
- ${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc ${PN}_cc.pc
-
- for l in libtensorflow{,_framework,_cc}.so; do
- dolib.so bazel-bin/tensorflow/${l}
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1)
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1-3)
- done
-
- einstalldocs
-}
diff --git a/sci-libs/tensorflow/tensorflow-2.2.0.ebuild b/sci-libs/tensorflow/tensorflow-2.2.0.ebuild
deleted file mode 100644
index 7abd3707e97f..000000000000
--- a/sci-libs/tensorflow/tensorflow-2.2.0.ebuild
+++ /dev/null
@@ -1,378 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{3_6,3_7} )
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-inherit bazel check-reqs cuda distutils-r1 flag-o-matic toolchain-funcs
-
-DESCRIPTION="Computation framework using data flow graphs for scalable machine learning"
-HOMEPAGE="https://www.tensorflow.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="cuda mpi +python xla"
-CPU_USE_FLAGS_X86="sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma3 fma4"
-for i in $CPU_USE_FLAGS_X86; do
- IUSE+=" cpu_flags_x86_$i"
-done
-
-# distfiles that bazel uses for the workspace, will be copied to basel-distdir
-bazel_external_uris="
- https://storage.googleapis.com/mirror.tensorflow.org/www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz -> oourafft2d-20061228.tgz
- https://gitlab.com/libeigen/eigen/-/archive/52a2fbbb008a47c5e3fb8ac1c65c2feecb0c511c/eigen-52a2fbbb008a47c5e3fb8ac1c65c2feecb0c511c.tar.gz
- https://github.com/abseil/abseil-cpp/archive/43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz -> abseil-cpp-43ef2148c0936ebf7cb4be6b19927a9d9d145b8f.tar.gz
- https://github.com/bazelbuild/bazel-skylib/releases/download/0.9.0/bazel_skylib-0.9.0.tar.gz
- https://github.com/bazelbuild/rules_apple/releases/download/0.18.0/rules_apple.0.18.0.tar.gz -> bazelbuild-rules_apple.0.18.0.tar.gz
- https://github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz -> bazelbuild-apple_support.0.7.1.tar.gz
- https://github.com/bazelbuild/bazel-toolchains/archive/92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz -> bazel-toolchains-92dd8a7a518a2fb7ba992d47c8b38299fe0be825.tar.gz
- https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip -> bazelbuild-rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip
- https://github.com/bazelbuild/rules_closure/archive/308b05b2419edb5c8ee0471b67a40403df940149.tar.gz -> bazelbuild-rules_closure-308b05b2419edb5c8ee0471b67a40403df940149.tar.gz
- https://github.com/bazelbuild/rules_docker/releases/download/v0.10.0/rules_docker-v0.10.0.tar.gz -> bazelbuild-rules_docker-v0.10.0.tar.gz
- https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip -> bazelbuild-rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip
- https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz -> bazelbuild-rules_python-0.0.1.tar.gz
- https://github.com/bazelbuild/rules_swift/releases/download/0.12.1/rules_swift.0.12.1.tar.gz -> bazelbuild-rules_swift.0.12.1.tar.gz
- https://github.com/dmlc/dlpack/archive/3efc489b55385936531a06ff83425b719387ec63.tar.gz -> dlpack-3efc489b55385936531a06ff83425b719387ec63.tar.gz
- https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz -> farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz
- https://github.com/google/gemmlowp/archive/12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip -> gemmlowp-12fed0cd7cfcd9e169bf1925bc3a7a58725fdcc3.zip
- https://github.com/google/highwayhash/archive/fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz -> highwayhash-fd3d9af80465e4383162e4a7c5e2f406e82dd968.tar.gz
- https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz -> re2-506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz
- https://github.com/joe-kuo/sobol_data/archive/835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz -> sobol_data-835a7d7b1ee3bc83e575e302a985c66ec4b65249.tar.gz
- https://github.com/llvm/llvm-project/archive/387c3f74fd8efdc0be464b0e1a8033cc1eeb739c.tar.gz -> llvm-387c3f74fd8efdc0be464b0e1a8033cc1eeb739c.tar.gz
- https://github.com/mborgerding/kissfft/archive/36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz -> kissfft-36dbc057604f00aacfc0288ddad57e3b21cfc1b8.tar.gz
- cuda? (
- https://github.com/nvidia/nccl/archive/3701130b3c1bcdb01c14b3cb70fe52498c1e82b7.tar.gz -> nvidia-nccl-3701130b3c1bcdb01c14b3cb70fe52498c1e82b7.tar.gz
- https://github.com/NVlabs/cub/archive/1.8.0.zip -> cub-1.8.0.zip
- )
- python? (
- https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz -> ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f.tar.gz
- https://storage.googleapis.com/mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt -> tensorflow-1.15.0-python-license.rst.txt
- https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz
- )"
-
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~perfinion/patches/tensorflow-patches-${PVR}.tar.bz2
- ${bazel_external_uris}"
-
-RDEPEND="
- app-arch/snappy
- dev-db/lmdb
- dev-db/sqlite
- dev-libs/double-conversion
- dev-libs/icu
- >=dev-libs/jsoncpp-1.9.2
- dev-libs/libpcre
- dev-libs/nsync
- dev-libs/openssl:0=
- >=dev-libs/protobuf-3.8.0:=
- >=dev-libs/re2-0.2019.06.01
- media-libs/giflib
- media-libs/libjpeg-turbo
- media-libs/libpng:0
- >=net-libs/grpc-1.28
- net-misc/curl
- sys-libs/zlib
- >=sys-apps/hwloc-2
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- dev-libs/cudnn
- )
- mpi? ( virtual/mpi )
- python? (
- ${PYTHON_DEPS}
- >=dev-libs/flatbuffers-1.8.0
- dev-python/absl-py[${PYTHON_USEDEP}]
- >=dev-python/astor-0.7.1[${PYTHON_USEDEP}]
- dev-python/astunparse[${PYTHON_USEDEP}]
- >=dev-python/gast-0.3.3[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
- >=dev-python/google-pasta-0.1.8[${PYTHON_USEDEP}]
- dev-python/opt-einsum[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.8.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/termcolor[${PYTHON_USEDEP}]
- >=dev-python/grpcio-1.28[${PYTHON_USEDEP}]
- >=dev-python/wrapt-1.11.1[${PYTHON_USEDEP}]
- >=net-libs/google-cloud-cpp-0.10.0
- >=sci-libs/keras-applications-1.0.8[${PYTHON_USEDEP}]
- >=sci-libs/keras-preprocessing-1.1.0[${PYTHON_USEDEP}]
- >=sci-visualization/tensorboard-2.0.0[${PYTHON_USEDEP}]
- )"
-DEPEND="${RDEPEND}
- python? (
- dev-python/mock
- dev-python/setuptools
- )"
-PDEPEND="python? (
- >=sci-libs/tensorflow-estimator-2.0.0[${PYTHON_USEDEP}]
- )"
-BDEPEND="
- app-arch/unzip
- >=dev-libs/protobuf-3.8.0
- dev-java/java-config
- dev-lang/swig
- =dev-util/bazel-2.0*
- cuda? (
- >=dev-util/nvidia-cuda-toolkit-9.1[profiler]
- )
- !python? ( dev-lang/python )
- python? (
- dev-python/cython
- dev-python/mock
- >=dev-python/grpcio-tools-1.28
- )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS CONTRIBUTING.md ISSUE_TEMPLATE.md README.md RELEASE.md )
-CHECKREQS_MEMORY="5G"
-CHECKREQS_DISK_BUILD="10G"
-
-get-cpu-flags() {
- local i f=()
- # Keep this list in sync with tensorflow/core/platform/cpu_feature_guard.cc.
- for i in sse sse2 sse3 sse4_1 sse4_2 avx avx2 fma4; do
- use cpu_flags_x86_${i} && f+=( -m${i/_/.} )
- done
- use cpu_flags_x86_fma3 && f+=( -mfma )
- echo "${f[*]}"
-}
-
-pkg_setup() {
- ewarn "TensorFlow 2.0 is a major release that contains some incompatibilities"
- ewarn "with TensorFlow 1.x. For more information about migrating to TF2.0 see:"
- ewarn "https://www.tensorflow.org/guide/migrate"
-
- local num_pythons_enabled
- num_pythons_enabled=0
- count_impls(){
- num_pythons_enabled=$((${num_pythons_enabled} + 1))
- }
- use python && python_foreach_impl count_impls
-
- # 10G to build C/C++ libs, 5G per python impl
- CHECKREQS_DISK_BUILD="$((10 + 6 * ${num_pythons_enabled}))G"
- check-reqs_pkg_setup
-}
-
-src_unpack() {
- # Only unpack the main distfile
- unpack "${P}.tar.gz"
- unpack tensorflow-patches-${PVR}.tar.bz2
- bazel_load_distfiles "${bazel_external_uris}"
-}
-
-src_prepare() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- append-flags $(get-cpu-flags)
- bazel_setup_bazelrc
-
- eapply "${WORKDIR}"/patches/*.patch
-
- # Relax version checks in setup.py
- sed -i "/^ '/s/==/>=/g" tensorflow/tools/pip_package/setup.py
-
- default
- use python && python_copy_sources
-
- use cuda && cuda_add_sandbox
-}
-
-src_configure() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_configure() {
- export CC_OPT_FLAGS=" "
- export TF_ENABLE_XLA=$(usex xla 1 0)
- export TF_NEED_OPENCL_SYCL=0
- export TF_NEED_OPENCL=0
- export TF_NEED_COMPUTECPP=0
- export TF_NEED_ROCM=0
- export TF_NEED_MPI=$(usex mpi 1 0)
- export TF_SET_ANDROID_WORKSPACE=0
-
- if use python; then
- export PYTHON_BIN_PATH="${PYTHON}"
- export PYTHON_LIB_PATH="$(python_get_sitedir)"
- else
- export PYTHON_BIN_PATH="$(which python)"
- export PYTHON_LIB_PATH="$(python -c 'from distutils.sysconfig import *; print(get_python_lib())')"
- fi
-
- export TF_NEED_CUDA=$(usex cuda 1 0)
- export TF_DOWNLOAD_CLANG=0
- export TF_CUDA_CLANG=0
- export TF_NEED_TENSORRT=0
- if use cuda; then
- export TF_CUDA_PATHS="${EPREFIX}/opt/cuda"
- export GCC_HOST_COMPILER_PATH="$(cuda_gccdir)/$(tc-getCC)"
- export TF_CUDA_VERSION="$(cuda_toolkit_version)"
- export TF_CUDNN_VERSION="$(cuda_cudnn_version)"
- einfo "Setting CUDA version: $TF_CUDA_VERSION"
- einfo "Setting CUDNN version: $TF_CUDNN_VERSION"
-
- if [[ *$(gcc-version)* != $(cuda-config -s) ]]; then
- ewarn "TensorFlow is being built with Nvidia CUDA support. Your default compiler"
- ewarn "version is not supported by the currently installed CUDA. TensorFlow will"
- ewarn "instead be compiled using: ${GCC_HOST_COMPILER_PATH}."
- ewarn "If the build fails with linker errors try rebuilding the relevant"
- ewarn "dependencies using the same compiler version."
- fi
-
- if [[ -z "$TF_CUDA_COMPUTE_CAPABILITIES" ]]; then
- ewarn "WARNING: Tensorflow is being built with its default CUDA compute capabilities: 3.5 and 7.0."
- ewarn "These may not be optimal for your GPU."
- ewarn ""
- ewarn "To configure Tensorflow with the CUDA compute capability that is optimal for your GPU,"
- ewarn "set TF_CUDA_COMPUTE_CAPABILITIES in your make.conf, and re-emerge tensorflow."
- ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TF_CUDA_COMPUTE_CAPABILITIES=7.5,3.5"
- ewarn ""
- ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
- ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
- fi
- fi
-
- # com_googlesource_code_re2 weird branch using absl, doesnt work with released re2
- local SYSLIBS=(
- absl_py
- astor_archive
- astunparse_archive
- boringssl
- com_github_googleapis_googleapis
- com_github_googlecloudplatform_google_cloud_cpp
- com_github_grpc_grpc
- com_google_protobuf
- curl
- cython
- double_conversion
- enum34_archive
- flatbuffers
- functools32_archive
- gast_archive
- gif
- hwloc
- icu
- jsoncpp_git
- libjpeg_turbo
- lmdb
- nasm
- nsync
- opt_einsum_archive
- org_sqlite
- pasta
- pcre
- png
- pybind11
- six_archive
- snappy
- swig
- termcolor_archive
- wrapt
- zlib
- )
-
- export TF_SYSTEM_LIBS="${SYSLIBS[@]}"
- export TF_IGNORE_MAX_BAZEL_VERSION=1
-
- # This is not autoconf
- ./configure || die
-
- echo 'build --config=noaws --config=nohdfs' >> .bazelrc || die
- echo 'build --define tensorflow_mkldnn_contraction_kernel=0' >> .bazelrc || die
- }
- if use python; then
- python_foreach_impl run_in_build_dir do_configure
- else
- do_configure
- fi
-}
-
-src_compile() {
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- if use python; then
- python_setup
- BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}"
- fi
-
- # fail early if any deps are missing
- ebazel build -k --nobuild \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so \
- //tensorflow:libtensorflow_cc.so \
- $(usex python '//tensorflow/tools/pip_package:build_pip_package' '')
-
- ebazel build \
- //tensorflow:libtensorflow_framework.so \
- //tensorflow:libtensorflow.so
- ebazel build //tensorflow:libtensorflow_cc.so
-
- do_compile() {
- ebazel build //tensorflow/tools/pip_package:build_pip_package
- }
- BUILD_DIR="${S}"
- cd "${BUILD_DIR}"
- use python && python_foreach_impl run_in_build_dir do_compile
- ebazel shutdown
-}
-
-src_install() {
- local i j
- export JAVA_HOME=$(java-config --jre-home) # so keepwork works
-
- do_install() {
- einfo "Installing ${EPYTHON} files"
- local srcdir="${T}/src-${MULTIBUILD_VARIANT}"
- mkdir -p "${srcdir}" || die
- bazel-bin/tensorflow/tools/pip_package/build_pip_package --src "${srcdir}" || die
- cd "${srcdir}" || die
- esetup.py install
-
- # libtensorflow_framework.so is in /usr/lib already
- rm -f "${D}/$(python_get_sitedir)"/${PN}/lib${PN}_framework.so* || die
- rm -f "${D}/$(python_get_sitedir)"/${PN}_core/lib${PN}_framework.so* || die
- python_optimize
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir do_install
-
- # Symlink to python-exec scripts
- for i in "${ED}"/usr/lib/python-exec/*/*; do
- n="${i##*/}"
- [[ -e "${ED}/usr/bin/${n}" ]] || dosym ../lib/python-exec/python-exec2 "/usr/bin/${n}"
- done
-
- python_setup
- local BUILD_DIR="${S}-${EPYTHON/./_}"
- cd "${BUILD_DIR}" || die
- fi
-
- einfo "Installing headers"
- ebazel build //tensorflow:install_headers
- ebazel shutdown
- insinto /usr/include/${PN}/
- doins -r bazel-bin/tensorflow/include/*
-
- einfo "Installing libs"
- # Generate pkg-config file
- ${PN}/c/generate-pc.sh --prefix="${EPREFIX}"/usr --libdir=$(get_libdir) --version=${MY_PV} || die
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc ${PN}_cc.pc
-
- for l in libtensorflow{,_framework,_cc}.so; do
- dolib.so bazel-bin/tensorflow/${l}
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1)
- dolib.so bazel-bin/tensorflow/${l}.$(ver_cut 1-3)
- done
-
- einstalldocs
-}
diff --git a/sci-libs/tensorpipe/Manifest b/sci-libs/tensorpipe/Manifest
new file mode 100644
index 000000000000..088437c1b3f9
--- /dev/null
+++ b/sci-libs/tensorpipe/Manifest
@@ -0,0 +1 @@
+DIST tensorpipe-2022.05.13.tar.gz 259678 BLAKE2B 09231216b7ea1a5f4559bfd38d82337cdcde160c34ceb160c728b85ccf94566b812f0c38b6d3f6bc74b6f08b49b749939970265df343e3ca0214803f9d88e58c SHA512 cf0334f81affb2d844bc8b63c533a749753e36ee096f841641716a3bf044b17580262a2e9056d8d1351228e323c4f75401a2a120a5de397e80ec21a33fe56d2b
diff --git a/sci-libs/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch b/sci-libs/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch
new file mode 100644
index 000000000000..1d3ab0724030
--- /dev/null
+++ b/sci-libs/tensorpipe/files/tensorpipe-2022.05.13-gentoo.patch
@@ -0,0 +1,10 @@
+--- a/tensorpipe/CMakeLists.txt 2022-05-27 16:04:55.374134087 +0200
++++ b/tensorpipe/CMakeLists.txt 2022-05-27 16:05:11.596909345 +0200
+@@ -184,7 +184,6 @@
+ # We should keep libnop headers private as they should not be exposed to downstream users,
+ # but they're currently transitively included by tensorpipe/transport/connection.h (which
+ # is still unclear whether it should be a public or private header).
+-list(APPEND TP_INCLUDE_DIRS $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/third_party/libnop/include>)
+
+
+ ## Target
diff --git a/sci-libs/tensorpipe/files/tensorpipe-2022.05.13-musl.patch b/sci-libs/tensorpipe/files/tensorpipe-2022.05.13-musl.patch
new file mode 100644
index 000000000000..86fd4793ae5f
--- /dev/null
+++ b/sci-libs/tensorpipe/files/tensorpipe-2022.05.13-musl.patch
@@ -0,0 +1,10 @@
+--- a/tensorpipe/channel/cma/context_impl.cc 2023-12-31 13:40:35.080753311 +0100
++++ b/tensorpipe/channel/cma/context_impl.cc 2023-12-31 13:40:44.570735997 +0100
+@@ -8,7 +8,6 @@
+
+ #include <tensorpipe/channel/cma/context_impl.h>
+
+-#include <linux/prctl.h>
+ #include <sys/prctl.h>
+ #include <sys/syscall.h>
+ #include <sys/uio.h>
diff --git a/sci-libs/tensorpipe/metadata.xml b/sci-libs/tensorpipe/metadata.xml
new file mode 100644
index 000000000000..a676d5dbb87a
--- /dev/null
+++ b/sci-libs/tensorpipe/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/tensorpipe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/tensorpipe/tensorpipe-2022.05.13-r1.ebuild b/sci-libs/tensorpipe/tensorpipe-2022.05.13-r1.ebuild
new file mode 100644
index 000000000000..0ff4c6216eef
--- /dev/null
+++ b/sci-libs/tensorpipe/tensorpipe-2022.05.13-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+CommitId=bb1473a4b38b18268e8693044afdb8635bc8351b
+
+DESCRIPTION="provides a tensor-aware channel"
+HOMEPAGE="https://github.com/pytorch/tensorpipe/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cuda"
+RESTRICT=test
+
+RDEPEND="
+ dev-libs/libuv
+ cuda? (
+ dev-util/nvidia-cuda-toolkit:=
+ )
+"
+DEPEND="${RDEPEND}
+ dev-libs/libnop
+"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DTP_USE_CUDA=$(usex cuda)
+ )
+ cmake_src_configure
+}
diff --git a/sci-libs/tnt/metadata.xml b/sci-libs/tnt/metadata.xml
index 6fe0e40aee1a..f7cae62cf7f9 100644
--- a/sci-libs/tnt/metadata.xml
+++ b/sci-libs/tnt/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/tokenizers/Manifest b/sci-libs/tokenizers/Manifest
new file mode 100644
index 000000000000..b367271c9438
--- /dev/null
+++ b/sci-libs/tokenizers/Manifest
@@ -0,0 +1,420 @@
+DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
+DIST aho-corasick-1.1.1.crate 182812 BLAKE2B df74c2cfa0ae392a8d466e370ba761c4cd37c65773affba9a3cdcf7f5797b34b4a25e1646be3de5081644b34db2dce273609edb4f18a1ce7fdbf31ac28a10b88 SHA512 a894e1cefbb63a3b7b78a3676874d0b7a507c27970f48cdfbda1e5deefbf6b20ed4271b660a12eea77b318cd2fa0f80850a0b1ddfe0d0731ffa326c0fc295692
+DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c
+DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
+DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29
+DIST anstream-0.6.11.crate 30239 BLAKE2B 4ac585ec56a804239d32ad3e64d93936ef9d5c8e0f0e2df17f7b081b6a3b2c4c32ff4ebc09ec02507bbed22b025628029d859610aed90c024e19a3216de73c8b SHA512 f8dd65cc116a1495782a3bfc98edfdd0973ab22ea2fafd292fb4bd3495af7b5ea410f320d3fa05f7f812fa96c2a20f4cd2af9fc58869a1a306f32714cbe45163
+DIST anstream-0.6.13.crate 30928 BLAKE2B 0c6d0932dc486ccbe8d7e6f97bd8aae03fb84d4db90d0488070b7109de673e0af845a70a39e546af87f71f4c7f7bb159ab8ed68ac0f03a0297457062d9d69dc0 SHA512 4f9ccfd135de9be22a01230f39d571c8d8ccf7c3eba837fbf0868c9660693b60ee0c1c2f9490a587d5307e892ed45cb946da7a0690a9f972619c94fb050bde09
+DIST anstream-0.6.4.crate 20593 BLAKE2B 2b617c45d351e01222fc50f52551e57b4a8b0ecf84c6ddf44336c7c9d3b9dde15232b1c4f664d567849295bf8f03612b73ded56f1b3937392eb7718f1e0446c3 SHA512 0b983d626c53d1edc184f04cbd2c004eb9c40d14486b23cce86ebf50cbd3d916d32cb0423ae1d67c2b83b966690090af740538538ef846c0b126c686a1ebe159
+DIST anstyle-1.0.4.crate 13998 BLAKE2B fb501700855709e53438461c2f4b48d869613e7bb3bb700db8bd0d95082876d3782dc2cfe3ce110bb4a206994de56afe0e90fe89f9ccd07c60fe1c652123ba59 SHA512 671c6f57106198bcfc2f9000aacba98fabacfadfce2329dfe8d0e0a2af9404da483d7a844ca2b08e1fc0249371f574c13d0082c9f7a4ed90ff581308257a52d3
+DIST anstyle-1.0.6.crate 14604 BLAKE2B 0716d0dbb62bf05c63c2bfe1c689896660073a423d26965ce2570f11e1925752a61209d78c2f2fe65ec4eb64ea4ffbb39669e789c0ba5d1b71e75de929153b20 SHA512 dc0e505465be54799b9faad70d0c6f7f0dcf9f5e1aaa43177b826c85dae626b054910244da0499862f066f6723a1560ad12100aec523f28c6198f1ea0d1b78fa
+DIST anstyle-parse-0.2.2.crate 24696 BLAKE2B 979daa24ccc3ea484445216bddc190f148f0ad83b95c997c1becbadfb641b67834980c413bcf5b7ddc2c6883d5e071a9636fbb44f79680ac42f8b73a797e466a SHA512 28039806f87c2bd8266cea834975939b79fdf0cc95a029654806655c0662520aa497d84eefadcd9edce204986e60b62678e76a09cdb38bcc50c91e9d05c4bee9
+DIST anstyle-parse-0.2.3.crate 24699 BLAKE2B 17e8638187ccc1ca0174a8cec7f7daeee7e0d8b8c430f7e74f9b10d8de4b49fd1c6facfdafde305b7a3e55b1ebf2b4e8ec4975a0cce691514ddae9eb5b5e711e SHA512 4a6d0f706d75c9b3c5144f34efdef3ef8fcd075962c594a23a6209ed56112563a34b3c01e05a08a0868d59204272d06211b2585cb9d06ce075ea875bedb2f399
+DIST anstyle-query-1.0.0.crate 8620 BLAKE2B 2d296b5066fd6284a2410923215571e6df650c5ef892d6de7a7088a0996ca30608797feabc84f3c325ff4d07001dac80ac5067d2a9c9d15d9ba59a276b399f53 SHA512 2781be5c82293b7ae338ec5046fbeb130de9eb2dbf2e4dfaa73ca5233032e1e52c133e141b02f33d4bc36d996a0a3f680ac82d42d614a5305005f60547133c7a
+DIST anstyle-query-1.0.2.crate 8739 BLAKE2B c06643e8616f1f4469a32f9c0512941ce53ac5db9ebfa7a5b2f19233040cd4438dd2ee69ab89ecbc1c239e92b674dea9df15ed673408c6f3fe21787cc17d76f3 SHA512 f409b624cbeecf58fd87c47f85be28cae1fe48f65d692195fb80854c514e38c40d0e0ffad3a5b388a3929c47bd2060302ebb635aa98dc57329f3a5ed7be3e2dc
+DIST anstyle-wincon-3.0.1.crate 11279 BLAKE2B 593de9443b4c612526550285a6c156db26a233815e77a748597c6eea509ae511f41eb8ee736010f8be853695c9f1d94b034a77190e612f0a00bf00385d66ced2 SHA512 75ab14081b09e031ee0f559538976f39092aaeb6f561a56de83d12911cc2b45e28eec21068792c86a61e344021921ab55e7139ca79acec78e7d4a796dfa42a2e
+DIST anstyle-wincon-3.0.2.crate 11272 BLAKE2B 73e124773f618a744b17017d4680ec6ccc84ff94fbe2e565073fbcc0facecd3cb65356cf27746d07f453bc917cbeb2ade3a618c6b8578d64cff4828c99569868 SHA512 4cc194faacffa01c6989354c1cadbf1134f0945250f67b7020ab5b475e30db34c799176bd335a6265386cb9c5e8b5bcbdf35894ec0c809b140ffe1c406751931
+DIST assert_approx_eq-1.1.0.crate 7512 BLAKE2B 6efc259426c5f61ce971a86dd434bad2dadc6613ee182df90d818a7f5ab1e4a8e1bd4b210a76d80f2c1fe93bfb91cf8a65776c419d39746e9f3d4aa78669b426 SHA512 701ed76e413f32d873fa670e307646924344bc40d56961887554bfd155ddbfc7606b76c341f66d64a75c882d40f99d803fd839f0ebedd35293ae47aeaf57782e
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST base64-0.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b
+DIST base64-0.21.5.crate 77134 BLAKE2B 901cf92d7dd8af2bbb789ffbe60972c1fd295b16690ecebbcb500e4613afa057ab2b294bbafdcaa4007f46412825260a0711d89e55664418a503dde02c8afd1a SHA512 40b1d8470a932c8b7f31717e33bf26742c1bf920caae639b8a992f77e64d5e6d287569742c1348daa25b7325f8ca8d8a312754a743dab3932181f37149d91b16
+DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
+DIST bit-set-0.5.3.crate 14470 BLAKE2B f6525500a494236103df2b27e964bae0b2caf718156879f972b9972fa509794bcc663c2130e3d872ecadb7ead0982b415dfa4468ef12523ee248fb1bbec2559e SHA512 c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6
+DIST bit-vec-0.6.3.crate 19927 BLAKE2B f5bd3bb9c87fdf3b206739b74df20cab50a1a45af3a58b2642a5a061c26207884be58ef8369a3cd06dfd3615bff0ce15915fdd4b6b6f03facc4a0f86c0b7e910 SHA512 b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c
+DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
+DIST bitflags-2.4.2.crate 42602 BLAKE2B 768d4ca52aca73d8acf2f494a66957ed2603eefd5a04332ed0880d230c2cc6ef3bfdc0792fa6f288a0eb132913dbb256793e580bc34f4a40e8200e1fbafe97a9 SHA512 ef4c20e6e78a2ecee97e17189b7100a504d8176c7c15d7f17d62157a116d66f83f8b2bba472a4acf02cd3edbd94b20a7047af918c3f3b371e2e04f7474be0214
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
+DIST bumpalo-3.14.0.crate 82400 BLAKE2B 13bde02e2e60ea3099f4e46ff679d07b2e8046740c1855bb81fe8d20a4ef0fb26e565da724f628a00c9154ef16ffc9018f67433d2a32544564b66803b5bab223 SHA512 179c116a5320c5f21163c343ed48add36089d806e35bc303318dcfe09ba1d5f02bf8012726d0c2cb76a73fae05a7c887a91e18f9e5ff3b9f9ad8a2f12838757b
+DIST bumpalo-3.15.4.crate 85028 BLAKE2B 9ec98f430fef4e9b59e61d413b3703430f91bc818f3294aea7416cf8a35e0606357bb5b4d1edebe590f07fb614f832da16016c8530ff39ca853aff1d1369cc60 SHA512 59ca9f8e6b74bdd95b9b4ad1bff3bf4be46dacedeb1eea6196a65dfb0ca7b60e86ab6c25d0f91dae3caecd17ab73c48f953be0bc24bdc0ceaaf4c1726b9ffdc8
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cc-1.0.90.crate 73954 BLAKE2B 840417889519dec96a745c49ecbc8b0d3da9b37a4b6b0165ee8983c07b8150061690b34409381365ae4c70c5780923d19cddce29d5fbc370eb6b6fff29121436 SHA512 349f3c3f8208632f8754cc05d70976eb14f3f13a14d59413994c656efc36bb32b7310adc7d5f3a6745f15e0aaa88334644c9aba8d29fb961215d74bec605307e
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST ciborium-0.2.1.crate 34974 BLAKE2B 370f4228aa63075cd7a0d41dd83f15211fc69267235905e7f5607f6e6c0baf64db0f6203c97990604de2ae683ca1937acf284c6444702414fe1a685ccfdc12a4 SHA512 4403239badcdb5ea6e754e706472e25c4593a1fbdfc5a07e46409ea3dac41151020204167102dbf401a2e5f31b3731267bc3759be59a73880a022e5f4a3064fc
+DIST ciborium-0.2.2.crate 35611 BLAKE2B 7bb34ed2b16f55af2d762bbc83263bba901a0f05bc7677a370460549297839c4d6e913622e8a6cb3a5c2447b94b0bd17b7d5007228ea8881193d08e5b8deb072 SHA512 8d1af6a09f116e42f0098d7d0e34dd906dc3e718b257ff1a1fde655a235d40619f61f18917c0cf35c55de9160c255a9795d5e7525989037e3512807cc6a900b1
+DIST ciborium-io-0.2.1.crate 6679 BLAKE2B 1835b1002c2e5f6fb1cc36a6a1f1e3ee10423760646b00a75e5ee5e66dfd2892914705e4456ec440cde27dda04e28329febfbd5c640ec7f86e7c013a9a9d748d SHA512 8860de0a72f07d0d0bb84af3c24635193540c574cc87367c7379222bf97ed68648330511866810265b68076bd1146e0ddb41c269e62db669b1c3390aca679c50
+DIST ciborium-io-0.2.2.crate 6697 BLAKE2B 07636da78f59859515af0075cb36d9ca969113ac327ff727953c73b64b60ddae22e5b1b65d8be5aa401f8b13d34074cbc8b47f23abd7a13d551f0b1c78f23575 SHA512 641b8592f9699d5e6c607815c8e6dfc82b2bd01897015e04ef8853420a7d90c2ec5c1140e39eb7623ce05587bea52ef63659eae76baee5b6592d2ac5298ce106
+DIST ciborium-ll-0.2.1.crate 14649 BLAKE2B 02f5ddca41141e426492afe237ef439acca518c448a6f8daea650ceb925f6a13517819df88c93c979ed1ad9e8411cde400ff39ca288d2de8577ec870531453f3 SHA512 214550780734dcb0bb5dc999ecf22283850bf52ee4a9cfb58d86bdac9d4b80db32f0664eef71e8197e7e56a6643ff45d2974b9a36945db2c754a98df42adf9f8
+DIST ciborium-ll-0.2.2.crate 14695 BLAKE2B 3c9ab0b338070359f9565706a504e4f6c65560072380af6e0a57068ae6716773d40e75dee84ded5e1d32f93445a07a0965759bedace58291b68b94479fb16488 SHA512 2f7ef6ad8bf5a862e8b9daa64bc6d8184c87a22c264b10dbb35c00c9effcd5712f354b4ca6c2eb8e6795d4b99d7cb88fa2acf01f3ad6fb28caf81708a500549a
+DIST clap-4.4.6.crate 54823 BLAKE2B 0685ecb0fbf3c2c8f5840aabbb5892e88184e866f1afe871b6b75184832f75cb9fc0d43de2f07ef0350cbd290c2cb7c3d86d24120681210af0d2184c91655f98 SHA512 94fb68da3c6b43c90f05dba94339794243a0ab4780feeb27d31f0808e4efd734aa13384fd7e493ab1214ad528134bd23e15ce2e3a9f83075f47a7c856222c6a8
+DIST clap-4.4.8.crate 54609 BLAKE2B a975094e91d9aa9ccde5e79d6b46fad451dd80a1765a116a3c94e3523bc0383e51a5ce7383021b10776654e1252eb08302d9a5761bca903b154e1a0a1f5164e5 SHA512 579cee9b0b582d23c3b78fffcbef4c33ce47a67f511276922daee838aa5ad26134ba81a454bfdfb72d7e23df69b78227f0b60e57d2ca7455402d37dbbf099dbc
+DIST clap-4.5.0.crate 55379 BLAKE2B cd81a1347f2dbb0fc16ac3263d0dd653d6bd948666c8e05cee9c842550e6dfa2373eb68b16159466ded6c679359421586687204c7945bbd7b7c50fd1fb0e422f SHA512 2956b6e65220188b2d11fc532480b78f0f3574dc4137adbae2519d77b9f581bc89a10ad044e8e533a032633340ff09e21dc35ceba41b8f0f2e2b8917ea00581e
+DIST clap-4.5.4.crate 55401 BLAKE2B e9ece2eee6be16c366888f6140080c43a182aa758a971ab2f60fa5c8f5e00460c3e6ae6bface1f36445306265ce13d8145ac24cef833b68b2b2c32c13a7a4a00 SHA512 c1e88968a86598a6541cd8f8144909872fe71fc707dc5327293a71425f6ff9d4957491f93c36326a9f615c1cce1a453cc85740ff18e1ca571e91bf8f7a6ad7c0
+DIST clap_builder-4.4.6.crate 162450 BLAKE2B 54ba8e3402c7790ed976b4bc0033fb3a4db00e042a828a563bb49f347a60704a18cd6b77e3827db545217101d7b4f88e7176ec01f1406b7c7ad55130af7e9696 SHA512 d6dde9859015995aefa6c7f45d98928bef5120578460b1c576738e49df5a0e64ac0adae04e0f3d7fce0bc84de8b3dd7632840c61ed46c95855f7f801351c6f56
+DIST clap_builder-4.4.8.crate 163164 BLAKE2B 1d7ea3e3bedbe44f8bfb80014bc8de1057749b3e94506a83c3da6e475a67e44911bcdc6f08c3af02fb908059a745dcc2268d03fbb58d010841a2bf41645356d4 SHA512 83a3a4c81bcfd769a787b4f91b29488e65cb3d4e9e5160ab7b7289e5860a7d4058aa08077b62b9e8d10e4c1cc7c949439b677444d94c8ae00a7bebb2e0e8af8b
+DIST clap_builder-4.5.0.crate 163521 BLAKE2B 597b64b2bf727186d9bf1c4b55227d96dbb819313ed1f952b2753d24cf6c7737075acdbd0091a919e6e4fdd60bbee4a1e7707bc09860e49068556a1112842204 SHA512 d0df594d0c15687d2b9c19c51f86a9fe1cfb9b8b78a8220d77b0e4d9252a850e217312fd3e1d1aae57703ce973f194241acd4e6ae0c9ab79e45d0c14ea8dae57
+DIST clap_builder-4.5.2.crate 163566 BLAKE2B 5eb81df416f3da0bb7e53c59ef4e914f03e2bb0563bb3707fbf70215f249aa523e3f5ef2205d0a8e25c23db6c6d0d344181c1c771566453505c769c55b355374 SHA512 af7eb8326a980cf461442a4dd6d224e61ae31a2fe4a45b34210a2c1f747eed49e00b6254699e82f986f441667f290a5de747b5e9d9d0360ed049504343385864
+DIST clap_derive-4.4.2.crate 29019 BLAKE2B 9f3dc6f3249566c49b7a169b7b5735493cd3eb1d8211b0e7d35db656716866ed9a82911bbc0e6699eabad6cbd8e28b5e833541444a40f55a87387dc49447f62f SHA512 a111ee62021b3b5176ea4db5d3a30b7b0ce00f074b6a9bcefd1d70bbd147a779c9adb491424013ab021792a5253c33d9e38c0fe9deeb414def7ebeb9e40c2ce7
+DIST clap_derive-4.4.7.crate 29046 BLAKE2B 96ca919b8f9901b2e89c58ee8cf8bd3881ff715ac27999c03c867b317321e4839d9e923f68d411a05b45c34d54557af12b8a173f2445732fb6de16f30dad8e2b SHA512 4be40460468f7ce22906cdc9eea8d01bb07cb206d4ce0c3df2abd929d6925b175a49cf63907925ca16ae6297d6f4d933087fa5b35958e551117ec7ae050be167
+DIST clap_derive-4.5.0.crate 29042 BLAKE2B 80a7646b2e30432008d52e27494e2563637e408a90557e5b0009a9db6a39abfdc79c04139f99caedd433a94b45f7d95fa11b49cfd33d203fbc4bc911fad4f9d1 SHA512 0a9d79f957067b929f8e1340b0e0623f78808c5d287cae252e6508fe8e07c4f11bfa39b1d3b60bb6a531d888d809c43ad3f6a491a7dd1e3d3ce89af7e1b670f6
+DIST clap_derive-4.5.4.crate 29159 BLAKE2B 6f7087d553102f24c9de37e1ba85c0d540ea42d9df9af26b5234ccde23175180efe21df93513df49f6ba83e46cc85cedcead29c902e426c39b25086c9f79a51c SHA512 670411136c819577c0129c6fcf5a8216cac82a47ae11ce3cd97cffd038644e06c5a21f7a69948628f01fb77f1e656678ffbfe441385866fdf90d247bda036c4d
+DIST clap_lex-0.5.1.crate 11793 BLAKE2B 8e3d2dc120401fdd0cf0bf069119c8b7eafa13e5f682c56499062fc09acc05f443caafa6fca791ea53e693a83de69e98fd0488726a4170db037c37118ce0edf1 SHA512 ea5e49e9a8536093f7de89be30add7c3d880b232b0ce393b0429fd4402db2518036998689817bdfd472b6400224fd3c42fec1b5f8538dc433c31dadeb6281e80
+DIST clap_lex-0.6.0.crate 12272 BLAKE2B 22aa04997fffa15a2efc7013ae27fd223c3247cd31f8fe96aafb4e87e3224f075e887df10a95a2da80b468d4e16088ae9f171ba6551c0ae06d77bf3b8920ff9d SHA512 3651aa5e27ed35b6b75b1d25fd9c20c26a2a6039116e54d84c51469087732a4f0fd71754326456b367e341b017d03749e9a6774cb7b62250ca8745f5af46574e
+DIST clap_lex-0.7.0.crate 11915 BLAKE2B 03287f02067f6cb33bb3889e8032b0848e9a9cc17446eb0e2767768cf6ea8c579a7455d33c8af735fb8d0c16095b19f991a5e2528dee3a7628d68c16f9307fa4 SHA512 638feb2e4571677dbe15ef0423866d2f0df309723e5ad65ddeaff7fd5e2e83adcb973a32d52a5f3924ea88fcff865e956b7d30dcd569df0412ef47848af14036
+DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551
+DIST console-0.15.7.crate 35409 BLAKE2B b5e34b03a1c7d5fbffe5ae07182e28f6638e026a1dc2bd87bf47f67230ead612b37ce0c79b50d84619009753bb98dab661279b77c68760a0b75ce8303733abc7 SHA512 f37213812527bcad23baa8648cd949d8ec955e1be7589ecd36fee46637e77420c2561fc301f2562dd95bb66802b92ec1da5b85367bf16b793849913698a80576
+DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9
+DIST core-foundation-0.9.3.crate 27059 BLAKE2B d94fec51b1b1055c285609f4bba45c5169a8cc775e251eac7fbf0da7ef894e1be9ca9f4236b82b67be0610bdf811366e0c6fd3cdb671a1e83c49717e2c5b2d03 SHA512 de07967c4f5e2d2e730b6f21984c228dad2cb2f55187f13074a2200f4ce9f906763ee818267a9c67ea560229db7363473b230670a6dbd224fc335f32ba03d072
+DIST core-foundation-0.9.4.crate 27743 BLAKE2B 5b695e671cc833170bc6bad436b2d0d8d386ffb8181bfcf2e92a1d93cee67c3ba1768cf57064fb91b0897c6aec1be7db40b5bd256a052c1bdaf872ec19f6e15e SHA512 82d0878a1b9e3d56b3666fb5a78f92c6f7806d01665c242c06a640bd6b1fd36260211e92dc05e1a16d1430622bfdd650aabb0b5bd8e5592f74abdcf412448e33
+DIST core-foundation-sys-0.8.4.crate 17725 BLAKE2B 8afe47838dc91c8848c0d6a96a604149e5f0762228dbc10c17b85e4e9cd2c3928712bd0b28e1071f5fd6fd76d4ef972cb86c6c929246fb6e84577776933a8ac7 SHA512 15da472316d6decc213e4e5f08ecd22a108ebefe427b890741de4f9199614f19123e64329da76de5e8b4c9ff74ffc31738fd929acc1460fc757b4aa1fd3fdbb6
+DIST core-foundation-sys-0.8.6.crate 37629 BLAKE2B 683d5a84b6a3816317f87359532a8339f08bb4043f1d70a8588636eb5dbe6ebb3843e2a12d9a7e5fd1637a912c52a5aefbb8d44796330b09593e7adefd3babd8 SHA512 24a8958cb16b081862a9000affb0147b8b3be1a664b834c3dbddbff03e709de3f4060ff4800e5a35453f4392ccf33168e8b864be71b17be38cb264a39b915100
+DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST crc32fast-1.4.0.crate 38665 BLAKE2B 77398dedfa5e61357fb9abe3415ee53e45d3f1f7aaee959cbc9774f31a10ed324da2a558d20fd7c0674d450c8985b1e9c78b0b65e6ae2d9da6c873fe631c5ce7 SHA512 3e0bf1d2411ad9c651e0242c574cfda09403db24ab4b55560145ee73b31b08be45e5e12ce2db991d165ff056c7f2f67203fb2c048651f1c66ce90ec3276c455e
+DIST criterion-0.5.1.crate 110088 BLAKE2B b99018b6a6f97fe47d90a2135e3d483ee624d43088d7881bafb2c35ba385629f1a4353110bf190c04903abc4ee99ad1735bc9c5afc6c2854a1aa9221fd714617 SHA512 6a1a32437bdb95f8472bafb5b04bb5999a6ff6fee4ca5965028ec53b4867d01b529241d01809a003722ec7d5710c323274b6f3b50ca0935919a9dee693f4d3b0
+DIST criterion-plot-0.5.0.crate 22706 BLAKE2B 28a50375f2871ce6f168aafabff46f4368bf55cac379c67a2b4396403259372759dba3355786e695b566b1cddee9091a469755a04c06ee949f00aee8e9a28699 SHA512 971e96dcc64a5afa7488f1a99475f0f5639c0ef63f9eeebcada351868697cbff397e99827cc07c0a52e7d7d1a87856fe1fc48c22075776b3bc9c94af62d79f14
+DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
+DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
+DIST crossbeam-epoch-0.9.15.crate 48553 BLAKE2B 23aa0532d3126e22efc779859478098e505b4ec895c643530a3f7e8dba0543df3d8ffcb6825b1d3869a4418e17d798d464b3e1bb51522435d50f53ac224e22c8 SHA512 d9292c059ef1d156da52950137b2b3ea5eab66c4cc2f763d02078d0b0106980839ebed2ae2aec53e026ee7b3ddc37c4b51370d925ada1ad13d9981934daa7bde
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
+DIST crossbeam-utils-0.8.16.crate 42508 BLAKE2B dfaf9e7cade2cb5a2de90dc622e58a69c5b28fe9f69d3cbb945431683cf48fb409565190e3414a815563afb12631d990476919890fc482ce6b5792fdc25536a7 SHA512 4b8d599a8b93015eea2fd404cdf1526fbb94662fffc7c64d2f0659aeef349e4ad682f61b2b85d075c7f3fbbc4d8106cd7caf6e65dae117ba982f31262df3f831
+DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
+DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025
+DIST darling-0.14.4.crate 25168 BLAKE2B bc48b27823a1a85a01a5daea47d87c2ac4b3ea48079249606aec912a4f417b72516004f17765e38f06048543708b758bf68afa63dc5e7415906de7940f02726d SHA512 1f236976cd291502229a49c2317fbcad94df54e2d7fbedebd9ac3173f9e51620ce8f2e37c78e86a63db8d9cd089e3eaedb990e58cc97847baa2cbaae58526aa6
+DIST darling_core-0.14.4.crate 57485 BLAKE2B 3d284d6a5100f45228aef5e42f9de63b6cfe2b5d42f1224bb19ff5d262b0c293931ee99f3aaf1f0eb24e55bb7e04ae790389d73c624c5f00f17a280a4a496ebc SHA512 6df7e911a543e9cadd0810cd8bf6563e2f000b52bab875f7a34d229bb6c4fb7beb6ebbc4fb0e12b97f23616280a20f306210abdfd1dd094c53da35f97be27b96
+DIST darling_macro-0.14.4.crate 1896 BLAKE2B e537b384c4c05103a962ff03be3da6c6c31d1c0cc25dedf5df1522c524e744446274a1696093d6f4479c0b6ddf02d27941fe959f517ede4b203bff3e20eeb294 SHA512 819fb85d8e324f4848669d32b2eecb2c2945a9891fa098eb9ca61d84588d26f0e0d1c7c482956935c7188e9c6feea0db5ae4c81bfe3d014f74fcebde80a204cf
+DIST derive_builder-0.12.0.crate 35456 BLAKE2B c190003a65fa22faaa977bd22beaaddccde90aa9817d28e0940da27c71b50d1b77435029eeddb552c0451303340edae41d857678316b5e1deb36a233929b0943 SHA512 3ba06c1d53f69ffca5a56edcd1173e9b5d67b9a5b00025c36fef04fa06a3046188ed503e1c0c8d56b26411b5199c3a152f284965f13ad8b346b6750ca9e00f0f
+DIST derive_builder_core-0.12.0.crate 31438 BLAKE2B dba84c7354018e509171767aacacb2be8e3ff566799ff693e2c4473b29f4ff93e2e785a0ac68c6b5ec4daa2f6c98c0da693b574d39184e038053589ac43b6c8e SHA512 f2e3cd5afd603273a1785fcef32b8cafbc89c422bc7754c46a9dade42f7351e3d6fcd00a5717e2617618f1bf71d5ce94abe043b19b4b6092d484955f1578d7fe
+DIST derive_builder_macro-0.12.0.crate 6288 BLAKE2B ee0046658aca482c8d6141d4b12c9529277236a98119a5c776f4e759ba63e16b5d25045e25a9b1f008ce257663504e26cb90c2e7417edb69c2cad38f123f93f3 SHA512 cb4a71f49c66ff91dc5a459053102e1aab7956d6003998270ac9bc94c2259b824a77689f209ff0104261ff829e54dd0900ec76c2cc1b8d3c52092961ffd072e8
+DIST dirs-5.0.1.crate 12255 BLAKE2B eadd38e85211ed5aee7fab964e90342273320644c36262aa7b436e493512851a4751a09d22aa8bae0495f4b22df6e7395d13715ca8b8c6196107b1be03af9328 SHA512 cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1
+DIST dirs-sys-0.4.1.crate 10719 BLAKE2B 30334f2192698d7d03bd4e8bc8a682482da7d13baacb8547a132f55019d3727ac35579926ba4367fe0a5b7fa917945abc03e010cb7363683753c87440581df42 SHA512 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a
+DIST either-1.10.0.crate 18334 BLAKE2B ac5d81e0822132846e29f8959671b14ac6047330d54020ea7d4ad790ef985ecb4ddcb96ec7e327b1a66b9c89d37b112dae33c9ac35232c136f60ad9baab7d5a2 SHA512 2de38a37b7f3e61effa89648acadbf220eacfda1ca7c82fb77484e45577769b724f7dbaa297e73e3d355d6b1bd5109373c3e96e4c1a13a918176162b33ea2432
+DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
+DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
+DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
+DIST env_logger-0.10.0.crate 36574 BLAKE2B d2f387682059fe9b4566ab995be449c58c57b8df5e5d8bd5ffd153aec1648721d8a9606d3f9aa034263651f5182043e08b6cc08d2d29d0a10f6cc61df9949a06 SHA512 4dd02f9d333a1f15657167ef4bd403eda5426cad17e0a4a43fa20cc65449345eb4d3fae2d6b10a3480016b9e23497fac13ed7e70b40c9450ef430be9f910d3e4
+DIST env_logger-0.10.2.crate 36402 BLAKE2B 34ef02d0f53fea474e7284fd7021ed3b44b11be2c0d0c9a66ace8792bac74d1a6b43997e0e7d043ef89e14903f6ab6d42c169bbb164f05cfe4e1688611639edb SHA512 c44131efb703eed984d8f4edcf18c77ef14036edf013e8bf445703c74a4386e4c3f4b55a272490da1ccb47a692ccde4670772c74d35c5723601c870416144b69
+DIST errno-0.3.1.crate 10348 BLAKE2B 72831d0b69f95884a69918249cc0e814eb5eade3205331bec6d2021f8b01a42c4c9b494f2717033d65a4c5230c8490b6ce250d349c1e8e177b20e7e84a860020 SHA512 00d64157d066f1e7601c522c0f4e777eb662ca5cce64682f616de0734857765c343396f7161ac2908c3db0c474995ae157bfe9d8a9880743724d9bd428dfdf54
+DIST errno-0.3.7.crate 10712 BLAKE2B 1ac3a3084673791fc31e228ea3f49d334eea106f1bb6de3f9548882167d8982153e0d9cd9dbb4bde68fb9a12ea8eced99a4a128c507fe8a6ca90caf849cda1dd SHA512 ba4cd3919fefff84bd5ae473392ecdbaaec52ccaa9d1d93ae06ea5962523054d0fa1c5866787e36114a00d449a60df811a110f89c923a6acf7430d3668c2f54e
+DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST esaxx-rs-0.1.10.crate 175210 BLAKE2B 40cedcf5b281ee32e7d146763c727936af7825304e72bc3f7d39a483dab0faacbc81f3b2a303757f292ab119d7681da2622b94ad7c3f85c4e30215e92828e290 SHA512 87129723dab9588da3b0a873e47fcd1906c6089aa714701401c59d5d61fd47eca0bdad9778ac068dcc072b093688e2e5ea0cdce77f265406cb7339605be901a1
+DIST fancy-regex-0.11.0.crate 82918 BLAKE2B 55cff8d2ec3152fe46fc6ea2a6fcd13714b35a5c056739a9a15d7754badaf66873ca1093f96f61529f2b0ba0279a193754a053ed9d5dbbfcd72faef545f092c4 SHA512 7d35306e596543ac63a7b0fab145a401b8eceae08c6d7564dc46aa6f28269acabe59135b30dab20f3ffa6779f5a0d3fcd0264d8b5c19be56fd66dbf6e5c2092b
+DIST fancy-regex-0.13.0.crate 85930 BLAKE2B dee797093765f8f1ea6b8896cd832983fdbeafb23828b896811f2657e135b71e374a713fc37f68ff128068d04ae140bb2864415db1edfa2e300aea04ef597474 SHA512 0e7ad0ea46ecaf9eefbeb696bc99aa725022d92f0f11b9f3efb8e81a80a058fed08816d3f9efb4c5fa0176aa1b649e13f5ea18d3352f75a7d2be772fd531f744
+DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9
+DIST fastrand-2.0.2.crate 14674 BLAKE2B ea23f52d745f4fcfd4ec911d48d77c60da837f57942994b17458daac7cae38953cf679459908d68e5f393d03a90cd6eddba23d2a86c2bc11ebfeed0bb41fe4dd SHA512 3ef9c21e4928071619adbad6421165ea82feb04c26ee18893b172f9f8a510b9a2097257ae31647a907680412b68d6662eff13cb27649ed9f5e68c374619701cf
+DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
+DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
+DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
+DIST form_urlencoded-1.2.0.crate 8923 BLAKE2B 2408d9bbca582be13febf041262f0e63a3d661dd8fd2a42e9203feb6ff02a94e3eade6b83179fab34448b9913c7924fdf53e0670ae97e550318229432978e33d SHA512 899ddd113a79bdeac12e499f581c5499d1a4b698c75cfc2d6aada5880cd802fc8537ff9ce68eca28374318d66fd70100962105c1e8962868a5732bb86326c104
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
+DIST getrandom-0.2.11.crate 35391 BLAKE2B cc3af20769f8effebcd6fe4f48bb762211f78cfad016b796ce4b6b83a25d0a758ecee4352af18ef97e84c17fb4efb0c7bf113b53d2dd30eaa32067fed97978fa SHA512 2230c219e1080b4b13f207bdfd54b1acff37d9e5fec5263ec9952df9c0279939b231c722b54524deab85002caf1047a471f3fba8090428d918e99d53edf82345
+DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST half-1.8.2.crate 41874 BLAKE2B c3c5c01771f05b7af652abb8e5490dde7afd04de130537e67845fe7ed58904e7ad66c7286a4e7deca3641876a6d12c5b6e95883fee2809c8e685d2f79cf96610 SHA512 5eb128e41b8b7f9769a669834b2f8380b115395bf2a2a181732bf6c71234d978dbc4c527fddadaa7bd7fae9add77958b27616bfa1767fd123d3cfb887663292e
+DIST half-2.4.0.crate 50666 BLAKE2B 5175650e5cb9fa08a5d45ce35b76b15454d27f214d9b9236902ffab71834b342beba0654f9c85fc796bbb499a1a979b60714a5bf7666d1faf59d61530073adbd SHA512 7357a0f84dc6ae394efdd464f5a6da2bafa48bf8d794b2c34d1507d4d66af31ece8a012b58e6f76eacea2c249488a12c20f8c7e516ddd42a70633c9dbaa13bf5
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST hermit-abi-0.3.2.crate 13783 BLAKE2B 43089507a5ca0731a9e9a54fdc8f4dd5f807244797eba5bdcc072c2c2b3761481df65b8cc65900769777d9d21f8345b502cb1915ec36747160e87f179469a661 SHA512 22901ec8976a7c96e93c9e07a2c5d3db49d7af60ce60c7ee6f61c3cbe93190d1f285e737c1c8b2236d540ab14e5d92e42828ec05f1b212332a862baf2b1b57f6
+DIST hermit-abi-0.3.3.crate 14253 BLAKE2B 9ed8b40a1cc894addcba2a45562d74359ba55156e2c3a547afce139324b1345df2f158f58978ccd7d343fac5e5d2cda86e2e0a9dafc77af36d4cd8aa0a6d4c03 SHA512 eb162d085e8e0db72571aca925fdb6094d1e5d091766dd62d6a116957459bfadc8d51f1acc67f4da3cf6a8802c0ff445f3ad2516c1df8fcdca0b751632e150a1
+DIST hermit-abi-0.3.5.crate 14437 BLAKE2B 62b2d2d7d2d5d63ee79d98d3604e79705b34c3e50a107e36f06d56783f7df22debba00b135c3d9cecdd5ecdde6bb5e1e052ab7e843dfd791dd9f8eedf931f96e SHA512 28256ece8ed613bb789a194ab44dd071e48c16ce9f8d4622f828b5ffb83fdee18cd7fa939b40987060a43d76d4b76b3b78cc1109ab15c75880517661b8843bc5
+DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045
+DIST hf-hub-0.3.2.crate 24295 BLAKE2B 0f7b8ebe62f4d210b61a6e2bc0b1d4da178e0a07ee47bf5fdd21047f0465588613606bba5e03b46cdf6c415ee2a88fc2a5b4f47a2566a1683c043603688a2cc3 SHA512 a6178ae68a5c9f65f0ac4f2054042d7cee85ad5b4ec97dd7e94057bf0b9eca6d1232b790355a4cda0edf91d1bb13d6de1846c4a249e7b9ecd62a431d7b9d45c2
+DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
+DIST ident_case-1.0.1.crate 3492 BLAKE2B bc79ebeefbb7e3ed1139e3f41d8d20fb175786bb123bdb9c1a92ea70effb4a0e5e798f24b068cd66a1bf20d53eea4bf24de495b5568c2d649ea804389a1327ab SHA512 81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9
+DIST idna-0.4.0.crate 271429 BLAKE2B 8b81bc4535d2e8a1100ddeaf6f43c043fd601ee3b37eb109a9dff01630a81603223407bd5c2f1a1b108d741c811781b205c10148a0122b8125c237a5d5ba8a58 SHA512 b4133c5f73bd9c4ccc05245a9edcc5c980714129ce4f6eb7851eea7e509617ff972fadefe6ac78db6b4106667d9d6070de52c4d42414c95921e3d9fe1b7a76cb
+DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
+DIST indicatif-0.17.7.crate 63108 BLAKE2B 665bc2077207cac6ca2071d9e6ead76abb30d5f7c209d7b4a2ff5a1fcba566b331467239bd9168082839c961acf5a0522ae4c899aec141ccc649025b2eeeacc3 SHA512 412955eec523e961a20bb48f9921128004e723b405c8f1bb73abfaeb4f532ac6f883794fe6c8738a40c2e0a400a6ebf94ee17d89f7cdc98d9d0f8611d84a369e
+DIST indicatif-0.17.8.crate 64869 BLAKE2B c534020b2c7b25bb07cdd0fd4414fc817506647cf5b8e2081c22be58857d5adb170082a3756004c69187619fc5625f8b9a1904566dc51c621838e09ecda5b43e SHA512 487e73445c5c7d3c16d6f93a3d9767f41b37d2832e56851154f8b69e678ab7d9ab04eba225a6bcf8b48842ae0db0249b060e998e29a252dedf8afacdc88b1aaf
+DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
+DIST is-terminal-0.4.12.crate 7470 BLAKE2B 6d1db6148198299d0775539734dc62a3c7e453d621d69e01c3addeadbec4e88dde6082e4e12c7b7e8359cbd93b68c0af314d4a8df4600061a9534834699cc38a SHA512 9eb840a419f530c60d6acc52fdc9d6477818fb513bf9c3e8ab808ecd19087a52933e958a930e7a8c316d5e5a3e5beb56c34b560dddaa03c744ad37cfe6554a0f
+DIST is-terminal-0.4.9.crate 8109 BLAKE2B 0fa495da123f6fe5e3ba5f643f1ee097fc4f8e8aa54d9525b6108855a6a2e58556534a5e8dbfe7b5f8e2f1932003ac63f6aa3384317de7b385cf724bee294468 SHA512 0803ea53945715333d9b5fb18feec7230a49cb1a5f7308e2ea8d06a650e376794dd372be111e85622fd21320228706dd589423510dd010cd6ea112f185c46966
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
+DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68
+DIST itoa-1.0.10.crate 10534 BLAKE2B 8ffcb345d07070cc01651fd44c19f3e0659185eda733c407fd4be0955a301879ae1272dae7f425279dae8dcb7f7dc954465c9a09b5c521938a503d34fecfe2a7 SHA512 fc496be0873e31afa6ddf7f2958030f8fcb517cadb86a48280a0c50ce50460afda189af1e6c26e5ff6f85c750d772c21503864c32b526c4fe4bcdb5b07918538
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
+DIST itoa-1.0.8.crate 10465 BLAKE2B e518264938d044e24a4d72cab788de717c36cc7396fdbf2805fe3a3e0cdfc361c4f6fedee7bcebea6fbacff254e073da26b2400a073fa75f75523b8ed9de9938 SHA512 6171bfcd70634a2587740c145a15790e12807d2c756a25e74950daf9dd36acc662f12836c5b87e20483b4d020bc0d98a352b8e9787b0b8544bf1ee1b6a0c2c8e
+DIST itoa-1.0.9.crate 10492 BLAKE2B 0d5acef9ae72d3f4b5a387d231952e6025def69da81d38269b4882bc534be7acadc073e526fd8bebdca898a98b2c741735c541e0b6a35ed0f8f8799b906b65b1 SHA512 95f7906edb7d6a2690389167f8c4d01bc37827205bca87d527f2eb33722419ed2f2e8afaa559cc5a0a7e7fac76515c9c44c71c42b536aa34b0e2858c40946b6d
+DIST js-sys-0.3.65.crate 80725 BLAKE2B 9abf4a2e9678b2b2e6648f07ea879ac372a20b4ec34a271b93dea1ed57d25c8fefb6c9a2cad93b4c8d008987d98bd9c50a45614419fbde11659e5515261ccc69 SHA512 ffc14e62a936a93eb6b71317a0d00529dc9b3d45994aeaa79fc21b5fad93a6a02da52e1dbb5fbc439da66f693e8a04b39c8a03381494d355443a425412ced267
+DIST js-sys-0.3.69.crate 81083 BLAKE2B 529c94cd2289883b3b43a848d47d8ae025ad0909548a38ba93ebc684ed3edafab16842b922da6c8b6be5ba39c36a1c05057dd3dd93fc8936d5dac372937ab8f6 SHA512 506722e6dc13484828a4147d974822ff9d103d9e7db58a48181b0957770d9fc43b97605ced105c5b680d8b2cda5fa1705f605707611cb48ed8a45a96d5f196b9
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST libredox-0.0.1.crate 4212 BLAKE2B fecbb90e2842a69f3967bb2a09b0181dce1720b60c5d762a334a279b52c00a9b4b52de72c6484603981c0c3e1cd8e173ef5e15fa290ce8b8888739204956be92 SHA512 31a9234201f5128f1519e108f7424d1740a67699828265cc725304a70f6a51e139f1d0c0e626b487857a7b421f25ad93e81b95b65cf0d3e0ad912388deecfb41
+DIST libredox-0.1.3.crate 6068 BLAKE2B cf09f261d3a945d290ecaaa724903e0042d66eca46dde8a40c261ccb1e82c0d6b9926898eadafc6313fdb9f19cde56377b8a9179935482559c4b9707e327511a SHA512 c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49
+DIST linux-raw-sys-0.4.11.crate 1413981 BLAKE2B 45172cc348e758bf87831b47d2d52ea43e781a738a59654dffc04cd5f1726efdd8d1e2376cdc247019b64d82d756f4739815422c353f54f081a2c539df02b5f4 SHA512 befe18ab06e5248ee89f0cb8fbc192a5564c15c9873672fea62754322d3c197563d9133b839d5222e6baa522ec1fafc48176ee605ec7954c5d93e52dfb6d9772
+DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62
+DIST linux-raw-sys-0.4.8.crate 1407619 BLAKE2B feaaae3eae813e30d0134f2490c489b5e62013f86153115eb06868fbf3d20c3bf3856500086de61d4dd3bc8faa90cf1b7151c05f0780a69e32b01a72c7b985da SHA512 aa35a1ad8774fb65a5866bd03c98861b8b445573ccb050bd365984dcabb37171f4456ef75d190bc770d316ea8efdd162eca6c555ad5538ed6f7f7d51827e7aaa
+DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST log-0.4.19.crate 38073 BLAKE2B bbc8ce51ad4a01562ecd204a531ec7d82101a342ec26405dfadd1761372f7039297dc97f4899889ebdf4eccbd56345e015d4ec6d2788851e523db56eb541aab3 SHA512 8f11ca6f5a99b61a5f3baeb7a23b7a879b3a5bed666337936bd1d8794864d14a6c4f0747d03505831783f15d8c14ebcf507267915481dfb1b32188b8ab36a038
+DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST macro_rules_attribute-0.2.0.crate 15408 BLAKE2B 3a568de49448ec1aaf2abb8c361fd84d2b257a05579b8345cc66a45ecf111e0964e46d1510b458204c95169a67d0c8a3d41b604afefb8db9f642ed60587ac05d SHA512 53dd3b4d271f5aadee7877829660bdf9a6b89f1173494d102a5360866721fc6c02b9bb1c7fb14f50e214bc16a59752e69eedad5dd1d64411a1fdda76f7d62afc
+DIST macro_rules_attribute-proc_macro-0.2.0.crate 8264 BLAKE2B c885432d9334a3aa2c1ac66bd3c1f1e186aa259a449aa851a0663b422c9861365216e4dad10e31e7608fd970391508c9ad8a232272057dd9268e0e0299109b66 SHA512 6ce9cd867b5f6fb8459e3103688aa149275718a5bb2290994a02cbd7ae49aa23eaea41aa7247a6f9b15e2572bc95fc2f94c26b401e28a76e229a0907da6021e3
+DIST matrixmultiply-0.3.7.crate 57046 BLAKE2B 7ba1abb8602370e8780c8401a4197653998af1d0aa0976a6710fd316cc057b4d6ef71d009ce71da85ebb2d2867c597e02ca2df721bcb28ab1c175ea4b7ac48b9 SHA512 40d68362bfe3ada4b8674bde0f5b0bc34e88590b8a0bb442cf1dd55de1d6dc696533221cf373da898bbf5aee83a12eac564e7fb8b2bd451e62c827b7fbc81c21
+DIST matrixmultiply-0.3.8.crate 57530 BLAKE2B 3a97130168de9dd18fcc0ed33df126f25f47a919e9f74289f809f33c2a290bc41626a743e6c446d3ed0a22fb5eecadbf29c11082704970ba9e465fdc5ce18332 SHA512 c2d31d5764cdec868fddf018b3e51b936e8bb18b131bb9899a5747ad5a4cbe892c0d62265f99077137308ea11f32254c8a8b64da07855a6c38756df42d76e5f3
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memchr-2.6.4.crate 94439 BLAKE2B d1136f7105a33565214fdeecdc5a95e74d7fc7cf45997f81bf3cf389f3015fa561ab326433ddcff2db0b7259246eb6d26fc7b4e3c90c3af8b9b7ed7e8ec56ba0 SHA512 1065a67e04ec9210c70e430288e0a8d39f36ce6414722099553e99112ea2f8f710eae44bf39f8775b9850e6c8a50e634a1b1b084a8eb4f6b2eae6697dcf5b5f4
+DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473
+DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
+DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c
+DIST miniz_oxide-0.7.2.crate 55731 BLAKE2B e3cbf5983025bee879b8a735fa2912db8975cb60f0499498a73ce4375e7d452c9ed62d4b0b6f6a4fa591aab55e5d7ff20033baa007fd6c839b9d74b31142c0b1 SHA512 2f8f09d7afdb9d78bfc80a228ded85a215fea05e577e907921f1808f84aae30ab118048d7b53295f11aeb5de70ab6cbdec892f3a2417bedf6f53a4576d095432
+DIST monostate-0.1.10.crate 13986 BLAKE2B 26e3b2bd6be2d6bec4e94b09fe03c3a00ee615f546a1a55935ecdb42e89bbafb573d6c524a2d1d14eac00ab6c217e23bd0a9e64d8abde2c081919fc65d44c604 SHA512 8d2384d5cf78a69f4d725a1f5760354ab3a8adad103b713014544e9bf5f9f439be1568b9063161020a3e8b643da1a429860ba7938441d2747749664a7d07d014
+DIST monostate-0.1.11.crate 14003 BLAKE2B 67f94d563a2c552e21d9d22d709fb26e1df7064794fa593e81e8d185fe0d1c6f573c32e374b72f5ee9a734d349c80d7ab431602fb93518c376e6d29bef21b4f9 SHA512 3a40b97113456ee66dde593e5c47f3c154a311c81c01578be551fdbbf1fc17fb01983e54772ad6b16296c0f9812b88d532f56d9814d19b42d78bc67a7d42643d
+DIST monostate-0.1.9.crate 13946 BLAKE2B 80ff108df0375f747218b3ace6de061e0de6a78c77d3eb1b3d28b736e9d01d12dd14039bcacaff50adfc83db301174dbb2464cb4f5c3418981b7175cd8412e97 SHA512 fd08981f2bfd6a79e333c039c8f7f033bd6d44b3adf26bf014d3e922cfa5eef91cad18a48f2b43358fda661f3acb56fcd824442199fecc4268d3db9ce6309db9
+DIST monostate-impl-0.1.10.crate 7187 BLAKE2B b8ff7491ed8828dc5a2c2a3e45f1f75a5f73a3ff477a03ca4b045138490c1b0317645d8deed4bb2366a15cc8d4ca2fe740933c95ff159e9e484783c39973aa9b SHA512 8548b4689442818149b559aa92d97c4790a70c6aa0477329ef8f83edcfe1a4b88fbe9106bdfba9ebbe880b1e503fc7d424afdae73d09da5dc10c0686618e7a19
+DIST monostate-impl-0.1.11.crate 7187 BLAKE2B 8e60838d49c84fef449ec43fe2bb16700b39c7827c68227701fac51f520c113af99554aa62b3777f2820e234d36e3b2e6fb9d481ecd30d477fb97f84fead8a82 SHA512 2729055af868e2851f36ff1b57ddf5deae177ee625fb9d0a98461c2bd34a7f9b03c89b131471a67025a043d145143b0e5e9d2b0654cdfbe613869aa28600c917
+DIST monostate-impl-0.1.9.crate 7184 BLAKE2B aeb8d00f1540496bff31ec5b15a15979d185e7e4d1e53d1396d0772f5c49837d712d5e4780597bb46fb5678b87c25e6af11a8cca5a70d9d37992ec0d75de8507 SHA512 be5e687eeb745634b367dd329fda5d5593b51ee5d8b29ba817716b1cb1d73254c93979b85bc3515249a6fbeacc5ccdbb59f2cadc718b78728fb9af346191201c
+DIST native-tls-0.2.11.crate 29008 BLAKE2B 594511c364e639e309f32f37ae20ecfc5ddeeb39c3f7180c5f3f2cf304d8c323b977af933ffe70cce696a5a63e17c5fa7ddb119d46fc3db819a28e31a388640b SHA512 7e77959932f2859757f1aeb37b78fdd459b7b6fd02424f4b7399525b94c21d1f499a718775503b8f3dfe3b4b740e1cfbee77052a2ebd0994468addb3fa665e6c
+DIST ndarray-0.15.6.crate 275225 BLAKE2B f17e028e7d57670f136d777dc2bb720dd52bc3d9fdbc0e2de5f5c2fcd9f6310f0bc39299fadbb53e0d1588e1e64d9f2b5daf20e30dd95517bbfa597b9572581f SHA512 19037ba1de0ea5f8e0cba5d8735d6192c1674007529289a357e9c5e036a1af88b48ba8a26b4929663403159f6700bd00d04becd9b1fdd4c07990bbeddfc20ead
+DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
+DIST num-complex-0.4.3.crate 29523 BLAKE2B 7f6af07ca78b00ba21f04931c473b2b725c61c78bb74b3bcef7b10a0fb00353c06283da02c056fa8cd4f9949476392054dda56ddacd330abc2d1aea3317e9ebe SHA512 64f1e6ee49f162a190b9aaccdebdf5d4f1712645eebda7877437f58859c5d8d4cfd10b67a39098dc964f9c842909b10e222aa8a2159575a7bb19352f753d3d99
+DIST num-complex-0.4.5.crate 29614 BLAKE2B 32277724d5336443768a299c835cba63906ac91b85c57ff0e57338902e32731a0e67a93c647e6a57ae53a1b4a961c8b9ca2f6937a275e51a58089378a9646e8a SHA512 7b607f240773e4f4ff1954f46b2ee85be1a4f012e2d290343f6178543d10b69c0e9e1a93b0df8efa013c3914ad48321e1d96a4578092ae4d359acdc239ce1ebf
+DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
+DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
+DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e
+DIST num-traits-0.2.18.crate 51930 BLAKE2B 6c40e155d7a52267a7183d8030ef34245492d33f103cc24551b10da3eaa18e3db485062ff87057dc23e6b55e381e5c5d2a2633aaf6f4763c06677a0a0c524f02 SHA512 e395ad9f3b21b0dd1d3a94cefe0d68a42d1b1d429ddb2823696f9cd75042568a635d93d133ddb9497ed357e5b3be5caddb8e4a4af87b65882bbdc60b05c74ebc
+DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df
+DIST numpy-0.19.0.crate 66304 BLAKE2B 1ea519b4a34e184b49f2c08388ef4d47a0b081bf199eaea0de3e9daaa3d89f0584a4005f7ee9a0a85b5fcc1b16f1271cf779bc1492173907c2069c2c891e8ff4 SHA512 fe6d1ec55c5e88afa82407351502558a516c7e12bd799001a7f0624a385f6ee4d109d7688df30e8502240d22a75eb9976aaa3ecd209209d04a6960f3481441a6
+DIST numpy-0.20.0.crate 71258 BLAKE2B b6e50e0d40ce11ade5298324b51f3204029cea0988264abef819b2cfcc8eefacba5f6ded33ff2de2791eae4fbf88ea0f5e1738ee6692ddc9363488169bd16dee SHA512 bb4184d540b01d6983d05c409e8508e04735d4451e2c05f9f3578bf3a731f9065eebd6bb309955d6abef835f52756c225a4d5c19f99edfd6760a9d92f630540e
+DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST onig-6.4.0.crate 32616 BLAKE2B eca949c47870f260310c69302c6a0a60b9329f7324281433170b0f6fde80f91d49267307825652830217cf44b6a77a741f526a3bca63a12fd8f28791c14a0d5c SHA512 5d388d35eaeb4ba4876b5a683010e4e38c7c54abaf15c900681a7c9ed199b6b7ff414aa1d6246153546680eab28505cfda359c3d5df5b9fd3a5cdbfba35953bf
+DIST onig_sys-69.8.1.crate 638216 BLAKE2B 08d5f61f4047cfc841ee9e1881deeee49478bdead87483595e9c81c722e475d137b8cf5e1caad2965ea411d3211738a6848896128b5fa1f727a0a175ac217d05 SHA512 26a7dec69abe1535d575e7db63448abd898d363ef42352605e7b7d046b5abac5733e3cc05b7d442ce67db9366dc96d4a7a82a7f486d3b9af6d298b49b0baa864
+DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
+DIST openssl-0.10.59.crate 264765 BLAKE2B e7b9bb03ee1a58aa519ca5a647b4e12d1ce748543667dc8a81905d72a4cebfc2f8c0f01ecd9e63dd691a245be29f37e7752fd820471cc27f2395995d57f22e41 SHA512 3f91a953612fbce7fe9f2d9f0b74cfc88ee45bc6cb8f3ec18536631ae786ec9a09d7afe0fbcf4d299e508997df804155156d80cfab6b3b7954391745f8629494
+DIST openssl-0.10.64.crate 272306 BLAKE2B a8b618aa403cdb06a7f135cd966775f21c99739365c55aabde2680a6154d03c7d554bfae6c62a069841c70ed82ece6c3f0cd589da8c26022b7022c3c4d79a6d8 SHA512 a1fa9f71cfebbb37ed9d4a902360f2cc95a78f55b5da5d51eef69db38cef016fc03236485158d689ccf054e04937b8cddf88e3f0f31672997fb30c6cac73cbf6
+DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c
+DIST openssl-probe-0.1.5.crate 7227 BLAKE2B d1fd6a9498b3ab7f25b228f19043067604bf20790530fd0ab6fe3d4d3bc27f13e6e94d1e7ef49314c3663477d8916b8790b90427f74976143b54b95350895165 SHA512 7e560314150709a34520472698060c4f29689d4e608dc4dde146140aa690350d3603279c693367deeb0f21ab34ef61956143a3447827a2b7a3d578b9ccd6552c
+DIST openssl-sys-0.9.102.crate 68622 BLAKE2B 0d3d3c9ef8e2542c7f35db1d8feaf512cc7313481bfcc99354d601e8d6332adfc2e7ee8b35599a9241de35c163efd840186e904375bdc9c65ee743abbc154cba SHA512 7ecfaa0b49cea5c60f6f063fe5217252a65b27c5e6d1185e0aa1bb4b59c4cf9bf326840e8795a870a537c18ee5a987feedaaf2dd767cd6f1380f25468a1622bd
+DIST openssl-sys-0.9.95.crate 67520 BLAKE2B febe547d6b1d357bd864d943b88f70c9b4a2118156f205fb928ce18946a91aa97619caea30b4580e5013c7bda6bcb75322df4be11a519db6ee6013d09b7e8855 SHA512 8a44009a416864c4deb42a9112d25fb87e2f03734a77500a1851b576d94f615ac69d934c1938f0b78fce9f41a5f8ba73586dfdc0f7d980f7d88ed920235f6495
+DIST option-ext-0.2.0.crate 7345 BLAKE2B cbfc03e7c960fe3023512a4ad816d657b4f54f8ecbde9f9c4df4c5fee3b36b68ab463c67ad650778279e01c7ffaa63a0dacbd0c080c8c3d15b1611de0e71f92d SHA512 f8539f97b01af97e0b80fc96556002251befa60f8ddd19613311e62f9dc9834d71c22f5d8e7c53c4925046e38cdcf834c3c28042a4da862d6f6a21ddff8d8e56
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
+DIST percent-encoding-2.3.0.crate 10196 BLAKE2B 155bb1aaf0db4d22179bbe24b2d312f3d507876436e8ce76dfb59775282c1136a6c2bf5672f4b6bc274e4535acc9e50497c3e20b77aa2490512755c9cc9e6c41 SHA512 54ba129b0f3b43627707be994a281cdb69d5a7bdbc91dfeaa0226cf2834adeff7d2597dca5d11dd48b5731e831acf1284497b251abfebc0618761f98fe3c01cd
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST pkg-config-0.3.27.crate 18838 BLAKE2B 1295eb4f08751b3663cb2c7c2753f29bf2ccd80f4e5856909fe10b6f006c37fb9672c9518b9b416546469faa18821512673a66543c0bd1e848bddabc456d0a90 SHA512 41e9b8d4fce6b8244c2ac8566318a001b481bd42a182f1a832c81ce93c6a023e18af03aa3500b134c30195219d35080433bdba69b2594e9665081debfbb4533a
+DIST pkg-config-0.3.29.crate 20563 BLAKE2B ed0559b0073890911fb47742743b2586123bf9e9b594aa0d5b2c419c6768cd37e25b546c21077ea6cc02823a679b302aeaaca6c7fcaf9aeec615dd08f53a1f6f SHA512 bac7dafc0e10bef40e427c1fc0271d1a26acb2f5b1cf7cc7a128f4d4f1f3110529e45057b71cea7b0f6ddff26945fe08962285ddeb22b54639e44a2e43af698f
+DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d
+DIST plotters-0.3.5.crate 143975 BLAKE2B 57b9b37d9e5f43f12f1bbd95d0c0789a09b2f34b30278c62d8637f341a901ac4c0d70ce4a4f869429a43cafaab637d2f25af3eff12354b0e85b184f439c91320 SHA512 38bd608db346161ffa04c50aa315bf5d5eb2840490c5ad6722b9e294b8aacc3c434a1c6de073d2a29cb34de6cdc6260a227f9b7995ffbe75fbb8783708f50045
+DIST plotters-backend-0.3.5.crate 13440 BLAKE2B 72ba042a2057f7afebad34a794df17a0c340ae0d15af2631a3f3abbe117dd8a8d17f877dd935ad59f33494c523664cbd4fc11e05f6c7ae0c495b5e9d4c4a8708 SHA512 4468e2619d7fe47cd03fefa8b1d901ddf5cd47b2899b4b9082cfb695f315cbe415fd57efbef6e0a67eb51dd8edad530c15442810fbb87dfc4b7943b1a7f55460
+DIST plotters-svg-0.3.5.crate 6948 BLAKE2B 1e8df5cdf68b1e27e22ef2f383a81caf76ab598d09f31c536e86c543df78a609a33c3c426660a34a37d1313cc2937b0c678c5e1e43fd3d65bce95b59b2531935 SHA512 91c4955f62dbb8d80e01e5cbdc7ad5f1869be6025de1d2baeeb9198fb108ad8f01916cdc0728b7123ed9217abe92cdd8ad30116dd454312c8f63bf9cec98644a
+DIST portable-atomic-1.4.3.crate 126291 BLAKE2B 08fbfd391c9eb55c02b8345549a57fb5c3b8cfcd81e3867ca49cba94faa7b2d372e4f2996fbef4a52742d852b117d4b7cc488571df7272b93caf47a9a2680c46 SHA512 89f14902c1e55c37d7663bc9255378441a0951e5d8e21665a8102e06b766135cec6d982f9ed01b4167e872a7853102ad0e9347e9b163ea81d81b00ee2362e9a0
+DIST portable-atomic-1.5.1.crate 140771 BLAKE2B 947153fd068bede928976294a3dae461cc8c463e45c8fab4e80e338e5383231ac76c369a9ed2f2b59c186cfd81f64a2215a3d206191f46e758c6ca5fb21ac570 SHA512 edd024fc752300be867aba01987d23b4b165c8fffd0d56771a0e91f1cacd2174951d855b8255c25ce5d7e4311d2ef7cff94ee04a508a6307519e184e01ac327f
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST proc-macro2-1.0.64.crate 44848 BLAKE2B 4422122d9299eff3bfbb4507c4a117fef7c0906cab5a680933d482b7f9b49480bcb9c8172b412e70bf87dd0737b8532e90c310bf083f144292cc72190059ba3b SHA512 884fd14ff23c19420692e35a38f88bb6a766a09da105759cd958c315b9360a2c49cfe61ceaa3122307d44040195ec9dffb12b6d0ce224fbac5d3701621a12b04
+DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
+DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST proc-macro2-1.0.79.crate 47200 BLAKE2B fff8e514d618b8ef60d6a4ca7610607641cb25701fc5e8452e0db5f942a3c38c724acbbfb0474823fe0f4864df07958c1524383e7640105266608f1d5a741368 SHA512 8bfa6fc1022556cbabe0050a37b93c5ef1056ebda9d3dd368e705a7c695df9dfb5cd5adc18ad1eadf7338631ad1d5ed6f63f0adff3616429ef8c50a930b1838f
+DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+DIST quote-1.0.29.crate 28345 BLAKE2B 3aeb637a4139730348775caab4d48173650d8bdce08247263d741ccc657dfff7f2facff05725bcaa73486818d394c392c64ecbc61bae3f5b612104aec16ff289 SHA512 d686a3943dca059a8e79689c77e6e8f6dbfa9b16a1a7ecdd27099339b77a55334252eaa8b4340e79c35ebb1f6e4deeb3f6356dfd02484f9c724e66a74387e30b
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
+DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
+DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
+DIST rayon-1.8.0.crate 170172 BLAKE2B e2df52c64435926a13f4f275c4f25a9694316aeb02b73856c600a1a813686ceb20828676d8272393d1aec18eac4f05bfcdc5ef02ff1e19245c547c0313a2a03c SHA512 ab1cef238530d81c255b6631ecfed9cc4f3f8d7cb6a74701d29c1dcb022cc5b859db1d246cf8247d47702fdadcedfe64a6749e24cf6c7258e8c9411af7e4524a
+DIST rayon-1.8.1.crate 170448 BLAKE2B 982f7ba7d6a43956e6f438921fea2e40d3b398f4f72a4c89f55657aba6aa0d99912a7240b1c32c1dadafa9852adf440e3153a3f0cc56f6582867fa2794bb5144 SHA512 a83304be8334f5aa1c63468ddc749d8e8124c6947f1472320ba0bd4351c9ae582dba31ff369e9efdafdab439571fbf91b497c2370ec15406cfa810f5161cfb32
+DIST rayon-cond-0.3.0.crate 9913 BLAKE2B 4096dc35abfa825739953b92e2eb62822761e4f0eb3311bdb4a0e1639b4453fdabf49c5c6909d4f7ea3c1a674f55acee2d2cd4d116e5a30620ee62ec853e4e04 SHA512 4cd02f2ffc2a7f02db6b1c0468fe8ed78ea092c0629fae448542c11cb8c065883f6939b610dd0e0eb1463dc240aaa75117a5d910cfe5f4eab6a424b774f4b249
+DIST rayon-core-1.12.0.crate 70081 BLAKE2B ef1bb1d430776b0ad49aa523cfe83bb0aa3a381b2e571db74cb8de04bbff884b8c269de31d7afbfd609118c445bf079afd2d4920842c8a8b312d329e4675cfc0 SHA512 588fa479c499e1620e25c5818996f0376d3bf526272af6c50a17ca0ccf0f8f67b03a3a665938575a86a8edc1f101a37ab01133b27f904eb5c291bbfc581135b2
+DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
+DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST redox_users-0.4.4.crate 15438 BLAKE2B 5f44e9ef20f1a6c8b22239838f8f6a6648dbebd5b4386b3a2c417e39add8c4a0dc32e4369b8bb4e0ea17678140f596b9bc981b1d56f06de6a38a503600420481 SHA512 7c208116d1171b1f52f22aedcf8ad00076a3d1f062f4018f4a9f5fb2c38d7ed83258589062d1559f64e43f3e2a9ddf789799f57cf87a49ad8a37463ea09aa269
+DIST redox_users-0.4.5.crate 15514 BLAKE2B 9fc9d9c4875ed711efb75fb08f345b5f4f0667717d37710143742e48251a709c53760bcbc31ce13e6432672f9417be429c38c2e77a6b786887841714290a1194 SHA512 7a25cc91c9d1bfe537f20b83255990681d136ced5aaa7aa0cdb1b1fc024ba36aa1fb75c335c768a85ee078019a9ca2460efd911cad8ae6fe8b0385fb171aa4b4
+DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3
+DIST regex-1.10.3.crate 253101 BLAKE2B 390ebb00bf5430048412883b672d80737e783fd36f40895343cb38ef2e26e2713418c2fb4d66792bfd3be4c990b4518ba120de229a72cbeb7fd5c2af325fbcaf SHA512 d090898465013b0975a6de87fbdcdf76b4896578056f4da83424bd5e7832547a3d8ace643c379c4f14700a0a88dc95950a38645508d1675306c377879a90cf5d
+DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b
+DIST regex-1.9.1.crate 251978 BLAKE2B c5a049a485bb78cf27501b1c150d922ad56fa26fcc4594f111786cda8879b21573cd0b629dc4dee81e579a98d3ad2620a08ab97c5d0bd5abb1fbd1f8eadeb3e1 SHA512 cbee57ecf620795eb2625cb2a6a3d6eb2b46de91ade021111f8960e31d8d0098b786ddc1e97734cfa16f7e68d77ebb8a9b7362542d91f2345bf2e4f64778a454
+DIST regex-automata-0.3.3.crate 604301 BLAKE2B 56e385b6b6a759710c1edece283034580ab47753c21be2aeff97d267a00bf6086fac7130ddad35a7a296b50b3abb4fadd034e67ebad4eb25b885d8ae7847d7f8 SHA512 c09bc62d3357f69f6908fd1a6eeef37a6dc862bdf40cc4559bc76f30ba14f7e5e3677a86426b6eef60c76ba83b933a9a685d6efef384c1d6644079aa673086aa
+DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8
+DIST regex-automata-0.4.5.crate 617406 BLAKE2B 21826731ed5439a12cdda5a1ef217dc3239a0884d038170855985bf830f2782bdf4dbfd1b1a8812812db3a2399dadf8c173e75db635dfabc97382fda0561bba3 SHA512 0e9681d5c4529d49ff2555b7b73cf234b1f321a7fc634beccdf76c2bce5094e8501403e8caee2b3a16ac299cbe4701d891f1efa380b54f9dc2d92bbacd4de611
+DIST regex-automata-0.4.6.crate 617565 BLAKE2B 8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a SHA512 b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1
+DIST regex-syntax-0.7.4.crate 343365 BLAKE2B b50c01f02e08729496e8bcf023949d088463bf62348b4a1043fe5205650da37863b2ca51f683662a4df33bd56085e0501e50410106c9c471a0daec4c71dfe945 SHA512 b33713c71f6f753820ca6405e8415e5eeed457efd01e81b0b720e48c135b9bb0973962269587ddca31350233aec6d3f598596cb48310db0633bf67f8970f0e18
+DIST regex-syntax-0.7.5.crate 343366 BLAKE2B af07596e45e3525ffd253d6070ddad08dffc8f0409ea14843a135646da8b37a7a568c12ede809d9fa47eec2329f68da7a3b3c0e0cabfa200de64affe6ecefee3 SHA512 6388dbf68c8c86d8a5bd8cfb13a86e9ab2da1a339fd607c1a16848f85dd21c85d744d694c7b918954ea27eeefc90b589926c9da464343fb78ab639a5e2925efd
+DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
+DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b SHA512 925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76
+DIST ring-0.17.5.crate 4147790 BLAKE2B 452973d50f89d676afb71057bb32222b9ee3c9ae62392c5552e4a9c4a1afb6e64b222fc6a5f1cac80a65e21a8f5576fc4418ce7be3056b05fbb2bb44a64bf23e SHA512 d4fe515031ee3545d257651d07fd23c670b313c64a26af33fe93bbdd006219908c1d2ff1b382ebfe3a85e8aae1a69f0693ccb640edc0a1f51a3af783c20b6df2
+DIST ring-0.17.8.crate 4188554 BLAKE2B f531b15cc5cf88f2ef00b1708473a7e98a42dbbd026027ef2c42f2d8bdba0eb1665621fc98db618252f6a131bd54b1493987a0285bf2b9a22eba4c9409ee1cab SHA512 e4966409a4078ee43bfc9cc659d08ad28419effe2a729c8c275361a7fe0620a3c727009bcfb1d0bab265af2bc107b50c19d868a4e80da7a8bb55f97e8b214358
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustix-0.38.13.crate 342118 BLAKE2B 9fb31bba5253870345abc513768b0b0deaf581212462e328edd7ebcaa028979454585502ea9b4c93b82701ad08d134b637066f81204b4bb2a374ed5747c36acf SHA512 66e3914746895222963ab80da0fcbbb8489cb74dd37913f57f8570258265a94657d7dea37c944ed20543012bcb474ada3c50650a194554ba74fab07c313aab93
+DIST rustix-0.38.24.crate 362601 BLAKE2B 0f0f6b756c2165be8e4de422f807c41ca6bcc2e0453e5874619f9899684bc91b527d2fefae7f2bb7d83f9d2d58ab679fbafbb73955a740701388391d0551cf8a SHA512 ffdad60074692e29d20ce9550737f09cc104bb7343ecda12a4955316889082949b7f35fb566d593ee908ff22f007abcbd498fd95bc702aa965ceca922d76d483
+DIST rustix-0.38.31.crate 375443 BLAKE2B 9e8ba6bb4eb4fdf0bacfbc719124f745f383abbabfeb161bff9908d1948942d358f46191377b90c180a2793a88bb01be20dab556cfabc8da8efa2533af8e460b SHA512 593e0395a7bc5bba949e6f2a5ed9e39ae13140970a598def32ab7d6d91b4ec100752fb05abda407ee2e5e420d950b19e607f963f3974213637423c751df75960
+DIST rustix-0.38.32.crate 376999 BLAKE2B 681ea50f5405b3a749a26a481995d3a85800378067734bb857e32e5d3764687b0da4b3749d227174440e432b374ae9ada154a8288e4353ca2ff1b851698477f4 SHA512 8f028b4df785aa78fc798f3e053d0a4fb9b3c552a47f66f52f1666f4c1324441be6581ed643c4ef0f56d92e1a078c6d3b45be183fc3df0ed1fc89de0d610cad6
+DIST rustls-0.21.9.crate 283537 BLAKE2B 38db2b38f33223591571af2829017b64c1f319d03295281773a70c4419f1072cb4651e0d4969eb19be467fe6f09039eb0ede2b315b4cb047f0dd3ecf9352f8b1 SHA512 b2be86d232ee32855872bf08d17b325c91b90ef7557154cb9042b072060ef2183e3d106420fa20d3887d0981c810094fe801c66aad407d1bd735b1b443625069
+DIST rustls-0.22.3.crate 332877 BLAKE2B 02b6bbc7e66472ad3fe19aee0ecd5faaab06f148eec7e4f8b4addb0f5da07246f30c6331d764b31ba7612f89a1f64e60146972ab09cd0c006de030f8cb44cb42 SHA512 2289c7716a88c324976812911ca3ab5e15cbc852d6ea03f500bca3af7b241faab66fd52468015f4f83aea6b7dc1fcd468390d7b3f768c561293d233841509b23
+DIST rustls-pki-types-1.4.1.crate 29437 BLAKE2B 82aa975c98e9d583ea77e6811fb6be7f7f35b9535748e38ce67424159f1a4147b0f0ea690312151a331a03b446b7aea60c13490f3ff12ebe6e9f3369c9116337 SHA512 abe47dbd2604fd4db0df59412ec8f44b6dd2cb9bf5d67e01be6c5428daa3924151d4d996b33af387a31564cbe29e1ec1e9ea1a0ce98e7aea19d8bd7dbb0d66fb
+DIST rustls-webpki-0.101.7.crate 168808 BLAKE2B ab7177449be359e17f1f4553193e96e71b8e26e1298a0937af658b1a6f9485f051183d1bf8262d52430ea4c3b96263d1fd903c7a5f046bfe5f87b6b97ebb0672 SHA512 680e3d52f699c9d6200e2e738a4245a5114fc7122546c07d3f15f1e6741a52275061b3e016c2240f1dc3eb9f701f7346193bd82e827274fb73b8e9e0d5af4e68
+DIST rustls-webpki-0.102.2.crate 196881 BLAKE2B 783877064d2cfbc9078d33f081b2b1edfe43218184e60a8a3b3917ba0a3ab97a226f677d4bf4addef5d19d29ac63a8268dab5bd3cf973d64df866e3e71492f9d SHA512 697d44daa5e0a8ea2d12aa6f68026eb63a6e1c4420ee92656c9479df77e3f672ca2525442be55ab6183111fe594ac85661647150326223129ec23686792f6014
+DIST ryu-1.0.14.crate 46861 BLAKE2B 208fa87e54e3c6831193ddefcdfa7e9731a3b72de6ea23a4af708a15487cf4d6cbc49fd3681da078390741595ff5d44b02e607cab6ea9e37e7f5f05c7275b4a9 SHA512 9832c760d1ac674ba362639968962928971231d696e450738045ca36ae2780116ad865b2bdd96e36f14d8f92e12107dc8b75be90c74d76e3bb834a94bd6e5599
+DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
+DIST ryu-1.0.16.crate 47351 BLAKE2B 13c72ec8aa608f6c53cf27c95d06b90839c5bec5e54b0441e9c4f779af3dece30d01a2276c717a733f92406a5a02b09c045b2b5f92714fe492d7263b6c6808e6 SHA512 89e3e18346ae6e4035787766f286a6eb62f5294e39ad902cc29e95c53781c4e5dd629f567f22ecc7e9fe9d1c273323da9b867aadc9cd8a066727c58330b51b10
+DIST ryu-1.0.17.crate 47537 BLAKE2B 28408e17a4322f1afb6f21bc8d7328c39d07186de4d464f8e9bd63a69757cb4af61b46e558075e14836f310f020ac824d5ffa616fc0a5ffba59b9df0bb66ffc4 SHA512 6dad725c4fb2d3a33ea30107b63cb702eed56bd2f3c16a72265f648f5aaefcd3d5a7b919b1d037af926cc6311bc68ba58c4e0483da2b2e2135c6a7c2d6601af4
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST schannel-0.1.22.crate 41642 BLAKE2B ccb512f6c6765e5245dcee607b7886411710aa89d317cbaed2f511f74a927a0083042653e070c9d4b976ec83a74f3f37218f3ecb621781ee367b774596227f68 SHA512 6ec962cbd25f25dcee5e31b5012e61d38b97a7e8651a5439ab4cbc8ab33a0e2ce04fa22e06a82ef8750001c6659937ffd8dccb0cbd6971f68b0c354d0075aaa0
+DIST schannel-0.1.23.crate 41667 BLAKE2B 3f34ecf4cc519f5302f0ab5207907a275c68e6fcbb47630aec4ed5d5f1a1cc7475f6d7a8c22361e9878002f9f54314c1f630ab0c1f77ea309714bdb7ada6c9af SHA512 dfce25e3b8bc09d8dd1fce2783fe02ec83f74697cb24aa212ef9369a628685ba488f821cb3e5f863798e0e59995038c8d748f74b89f7929eb8cfd804d5066b84
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST sct-0.7.1.crate 27501 BLAKE2B 12f63e62f49a0ed0c5a62c1c9b42a83c1df43401ed1de85f993167d8fc52733908e58ea1fe76cd7ff6128d4d6046d7c0335434672ed1865c8ddb1b3fbaecb590 SHA512 6030295b3b11411f5a7e518db1066282bf11a279c27414c5e959cd430e9fcbb7358e5d69bcc68c8bf696d4c1d9579ed7218b7f9dfbb61de2271c4c3d3316fb7e
+DIST security-framework-2.10.0.crate 79723 BLAKE2B 9978af62742c6f58c6720a7a9d76aef3627531a4e5cb2b131584727237ec743eb1e688029c8abfcecdc8280b16e6fc85fb9c6fd93be65621363b0e3945899a83 SHA512 693944670032db795ceb944b187ecd96f094449fc801cc5f8b903a5cf117832a4db97c23dd0ab6d66a61da7ab56b5e9433b5993cbcd0b8dfd88f96e819958a5e
+DIST security-framework-2.9.2.crate 79295 BLAKE2B 96be139f2d2b9bc2fec7805c9e90f19f68fb6cf3f09a879f1d5952b502951900fd6889451c6866e53394859a0f8a842b4a674c4bfa82cd71f48195c0af365475 SHA512 fdc58c1c12ff849af3acf34208411caee50f30b9d55e20ef9d3922ee37664c606abcf90c4b415e5c22498dff2116fe2b2f374a0bd382c837ae7d281cd1a0a54a
+DIST security-framework-sys-2.10.0.crate 18676 BLAKE2B 4c16983b5bad471b18c52e34fb6a2762097bcbb0891c7c8a8423777e01bb27341576114f6ed90aaa80cc3e0ee264b3bbe9335886565f7b2a91e37f0ac3f555e2 SHA512 10c006488bd52bffba72f7aa44cc58e292c186259054aa85f882c3f0198586574a9c722ba80f101710b867148e823596f8d1ead1b6a753e6b50e702f5fcbf904
+DIST security-framework-sys-2.9.1.crate 18284 BLAKE2B f1484b6b691f3616192ab363c81eb3d6279ad0bae6bb7fbc4eadfd9fc6b6bcd5ce42fb8edab1eb8934f40a1d42714eeb8ca3616871e8f80c90318834901e8ca6 SHA512 3118d1e982d94c5fc6e8ad6270ba398da98a042c7a2060eafb3b78a54491091c46529bec30d4f871744431f01b828ba2a795f695cd20d008441839f3c4350462
+DIST serde-1.0.171.crate 77630 BLAKE2B 84b4377c78018a9d32a1a3841d26111f2db8b761f45376abaf0412ce456e0bbb39b287e460a8d99e217dcf0ce24a461488af85539ec127672767fee0b44aab7a SHA512 c8db09da8845e102e209276d5747a28d2e7b12ab5297d24156062c61c6ac8aaac8789d6e91a4f939d1f674375d8c3d3d1e372dd248baf63fece3740ea6f68bce
+DIST serde-1.0.192.crate 76866 BLAKE2B 4920089921e23bbc9180d413cff34277683db1881d7e65c5fd9dc8bad2beae954d2429c9c2049b3e98bc04314ef059e59562c936d6c767681e75b84aa0a2a468 SHA512 b34cea6034a14a6785b3023d0a1c2cb5b1c2756c28f02ea20ba62a657ba54e9d04096a54c4fdde3ff4094913dba46c99713828de4287186bf9dd3f7d89dda0c3
+DIST serde-1.0.196.crate 77097 BLAKE2B 22403615511a7621a9d8d54fd2dcc63878cd2de0e43bff6b7921db85e19f34ee5022eb1086890edb6987428cbb707a59277ae007d1536b5d80a7da615fc3f36a SHA512 0917aa36d855ca77726d538fb7fcfcf629722c784d747b3869c0d69444c447d7b1fab556a9eb9594ddf6cc508df636fdde051a1c3909f9c691e4921946ebda19
+DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410
+DIST serde_derive-1.0.171.crate 55183 BLAKE2B d60c2aefc4f7ef43bc5ba9b39c9d62d5a784aef205aae4c90c9fe402e872699ce7fb0d74f2c657cb6862459d1dcba39562a7f4a0915cbe3e2c45a9f649858983 SHA512 2561e5105c6fd6ab802ddc04dbb4392450c7eff6709f39ec8ae43ba73138944879330f9bb8de7a6cbef3507153a22007a69d6e27d0acc717889ac91ea195ef45
+DIST serde_derive-1.0.192.crate 55690 BLAKE2B 1e9706fdf38880989cf907c36d1f72b5b211fc6f263a4ee35d5f7106aea0a792fd79a3361d09f831e06ce0a43680647952a8478bd1001f617d2571be428b5516 SHA512 67ad208291c8d7063adce4bface5d963488c43a326e77a89970f86f65e8f77856e173d134718f64eb80dce67283df1951022c12300dea0b4d9570fb7f637643a
+DIST serde_derive-1.0.196.crate 55775 BLAKE2B 3d06b3896f0cdd1b1acdcd0046bdbfd1e8a298d6f07d12a2326ff144baaac07fcbd4af1d18b8b1188d4cc192e253fcd79860d1dbb2ecb148025449c0ac954c72 SHA512 f4df7f835e8416e4662c62a46d5f6e6d45ffd103812d681b220f8080310720e27f738a34a8e622df722fed55a1d8c654dd4abfbd78d1fdc871306bf3985baf22
+DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
+DIST serde_json-1.0.102.crate 146070 BLAKE2B 3b1cd8a40b8569ed933d105eb1e37861339b7fc98d0e3583e91a976d8414244daa17049640a4f44d7c1ed604e13c9fd6d735a915c14be0ae0bd5bfa0e52a5979 SHA512 103d2fae45bf5b723ebf8cae4ee1734a06f9f4c93dfa3a9ae58c633942c92c380020cbd7913e870baf9db27a51feee505c4a2fae455a7b8c6fa76c82f14b65b1
+DIST serde_json-1.0.108.crate 146476 BLAKE2B 9c0ceae5566a4e0ce7a6264939862f9dd920bb47d18acebb179798b036c376d97a4e9b0717092903ab90cfbf6fb73d37518e3cc25f3217af010296f5644de396 SHA512 7d8d1b74515388d99983ffbc5696cba022305cf4c797d3ff5d2959fc8fc8f4ce01cc4c9e7ccae7097b06b5acf5307027f6b7315df1fd8f58e681cc5968e79fb6
+DIST serde_json-1.0.113.crate 146970 BLAKE2B 8d80b0fc913ba4f008175c6b89955870af6476dc8bae0cd711b748cd0a2bf67b1299396bbd492a1ae5a4ff8050fddc85f0a0ab54f7b24e27529ead3e3d7c920e SHA512 82571b025cd598fca635f18881b52db2364e07eff1b961ca7e3b0591dd41f95503f7188ef1ee6fbc060b9a2360cacbc8a5b85c01fef7879ae3392b29c0004b34
+DIST serde_json-1.0.115.crate 147100 BLAKE2B baa2dce9d85e331d1308f2ece9dbeff24bcc70e37be3f06c7e819ad9f4eb59fb1f00658736fd336a41a65e3616d1bf75a0c9adb359eb606e1418159a9455132f SHA512 d1a60e20af770fdfe0585853c87c5631e56944a3c1bbdf9e1e91003af8e924a8076335bd37563d167c760aad10d4c08fe59ebd47fc52e461bc3586b835808d22
+DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
+DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST spin-0.9.8.crate 38958 BLAKE2B 8648bf2e48fc618758e3de67f0a493bf3cd22a8d18666164b0d850ed7c0d73650f7b0af783019dd361116bd60c61d24895cdd2c579383cd2700de0e32a23cdae SHA512 b15ad66ba9b308937f34ea166b799676fa45c67224e10cb57530fe33d2a8317ff3e3db3223a3249fa2862cc141c964d2130d3f39910a86ac5ef8aaf8ff4bc6ee
+DIST spm_precompiled-0.1.4.crate 557527 BLAKE2B 18a5955f1f7581acb1988b9d30dedd0ab1742f508cb7de95f7e47202aff6ab69bfbdcef33fa8297c4c3d9c68876b47d8990792ef1f5231b65a8d7faa4854975c SHA512 164f37f20a6cf9bb3dd0bb63704b74f8810c79a2bf4ac229fb50ec4e80d0a3892fb37f5c0fc838ab18e47079da952bfc5e6eeae71bce6b43fa630d128f597623
+DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
+DIST strsim-0.11.0.crate 13710 BLAKE2B bdc748ffab302c8e1d3412663e300c399ba13bfc0e15b07101a680394204af2df8897ba784dbe57b95c4fa9e732439d0f5aabb090b1b1c81f066bfa125919419 SHA512 ef4165dabaf8cbdd6c58420043cff9c0d1f4bc3ed53de5973b654bd71ac7d462fecaa6e1b750fbcbb8e19b35f6e6b73641a17656b20f5562b6ba7d84e69de226
+DIST strsim-0.11.1.crate 14266 BLAKE2B 252a9ede4241b165525486aa8855dece37af77f5b28e0e1858c4a5d2047db9fa958328db10989234aad69463ab51b2303785ec056c63ea8c95bf95e111ddabf2 SHA512 0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c
+DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.25.crate 241421 BLAKE2B f8b06686d0891a1d50d5f214836e43f518aeea443cbb7dabd2563c2399559014b9d42b7e0d1dbed2f4aa5e644efaf2f5f8b37358f9e0140efa231a62348fa1b6 SHA512 2c07b24d5bec7463da97eabbbccea3bf82aff5a74d7ffca6ef21f66420dce369cf77529fe722ce77b019b9085a52feb900f707b6aee5ee088d07035ae191930b
+DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST syn-2.0.58.crate 254920 BLAKE2B 64c3e09adea47f5a5f332416e75ba9e86d1d20e208f859940b80986884b3456130a842685e9002416803d0f8a2b8d61e6d2ec518929c8ebee09a1142d9d77b15 SHA512 168196da11cd854e5dc7e37bfb50b229ecc3a73f7992f36be431dca85a7a1b4ee61b60471be9f6303fd29de6747190701cc475c4b2830fe31f678f102e54d387
+DIST target-lexicon-0.12.13.crate 25424 BLAKE2B 5fcac231c270a59b6589adb79c90cd3bb15ce024e3c5fa3fd267b3226e5514ce77387c57c86ca765b43ee593a55ec99fdc8fbfd464dc01afaa91ad10337b6278 SHA512 323331857bd3db9877a6c7304392e39d378439462ae4f6d6939c02d28914ecddec52696c94ceebfe8a0e7e93ce25c900099bb3922d7783643162e55c7a8769b7
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST target-lexicon-0.12.9.crate 24532 BLAKE2B 7f09be1827a5f9563b842c38aff659432ec61b66b814ebf4cc8a963daf6c93e7dc453a6966aa02d3a886007506d2b993e16ceb047bd34f6d206de76a39d08dfe SHA512 62033617d4587fb9d4b3159c78dbb628041d7ba6c5849c27a5755f173a7279aa4a03e56d31e03f87adfae50cef49eb6f0bc5eea1f6a131b87c618330d19d61d5
+DIST tempfile-3.10.0.crate 33376 BLAKE2B 303e3bbc2492fd965c5e5ca02229868e94de1b1286175a07b3f9767a174c5a83bb6f6ab59d582f963f9cc4f92362be6a8e898e140397e4314bc18bd8d4e13249 SHA512 0f9bb6420105badfaf7e59f9679b53c6e3f875208ad8b08b9bf38cf67a1512742f1e3dc586136ec9cb760d127da6be69e9f9ed55f18722edf1af3a452e7d93fa
+DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39
+DIST tempfile-3.8.0.crate 31720 BLAKE2B ac975555bb4957f91e7d5733ef737bf25c62a738096457afa05079ed038de5e7144cbfd0e28bacd3eeb832de611616fb39ec07866481205c1f5c1005b2869d31 SHA512 8bc8e954bc0c6af46cf6e77d70f93583baea39fce54b111f4bba51fe5d5e5c184753ae2a2ea68a882b6ba5a157a57aeffeecc3e3cae86d78d952f3aa025fdf7f
+DIST tempfile-3.8.1.crate 32164 BLAKE2B abccff7939df8cd223a5a8ee61e5af7c35335f1cd61b3e72fed9a8565465c293e99938d57b50743141aace3cd20422ad5d3090507ed66561cb0155771fe0a5ec SHA512 b257bfb70793575d59ec4cf4b7492aff83dafb68b367a48594211f476a3b1d4800b69bddc405d8749d8b320c30cbe71be1261a60b4bbc862663b37a6c7d97a3a
+DIST termcolor-1.2.0.crate 17917 BLAKE2B 5ca7802b0bd29495bcd2deaddcdb4c3ff964073a373eaf39964a24ed91a48c5c33e192d676099e2837064df3149fdd73aba7d241e9aeaad9887bf1bcae9d38f0 SHA512 cf1896523353390b2f90b2a8bf30f47da5fc7c2daa635bd0cd8059bdc73feb243e46e4279562fe45d5726f2840833b1e967c7de19ffc0c853592d9f86c0c1be7
+DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a
+DIST thiserror-1.0.49.crate 18912 BLAKE2B ec93a21ea72626a0d49d87e8989633a4a1c6747e3dc4f183bd490b52488ded6fe97e60d0db59da6e67db2c2181ac13eb903a9b77bc8df7f61de77fdd73bd1c3e SHA512 a6b0476b9250f2a1555ad1f528b062fe7683f7aed338efaebd86b967e58d08f03ea10b4b6c502f4b6ccbeb44cf773b7511996a8504e541c1ea6a6efcc8cc2814
+DIST thiserror-1.0.50.crate 19414 BLAKE2B a093f66ad191a8c4b15356f8d29578273b36f9f11b5843195eaa15b70bd4c8eaf6dffb631564386acf35a9ddf856e05055b419af52d4e008f582ae444f3dd5d2 SHA512 65605a9cfbc43447a50980739259a45d933f1eb315926dce909892f7162c79bd04bfcee7b38b5a9fa71b24fbe4416d050ae8e2443932577541513a23ebeeac46
+DIST thiserror-1.0.56.crate 20592 BLAKE2B e98c8bba8d21342c981646e88b72a7cbc146c695a200aae3e076b55948791cc51a29e8818d64451b17233ed4d095d0ef63ba4fb07502f4ffde5af738b8629c37 SHA512 6b7c856745256d6ef9e7ab2ea0027f9c1ed2c75ed5b075068af57cf706abfd835fd4552d9ec7578bece1f820086828c5dec85a9cbada409569838cdc9d63936c
+DIST thiserror-1.0.58.crate 21025 BLAKE2B 2915ed6ab691fe94e97a834ce5874d37a388c3240499889cff633ee6c67d46a2ca88098ba40c225ca0e2e3c1ac7bdcfafcfde3dcefc50867e299dc49505d6fc0 SHA512 3cba2d1f4965bc56bac8fc70540d8cd442ab6b8c7d25d328bde7f4cc108535d83c75f293316d730bbd86eb247400b6e35107d610c7caf47f43a28b1f52fed578
+DIST thiserror-impl-1.0.49.crate 15101 BLAKE2B 7a097705408155ff28e13b30c9a84e5da5cbb2ea60cd586f2bea303aab8180b4d57dc7edff1b36437376c04aa03758c4ba573492118785c3cd1f12b70d77de66 SHA512 dffaacf5238c81fa5bdd605c84c7d064695c4435b5927c0a7ef8975340170252d1361ad48c26116663fcdb0afaec0ec0a63b5f613ad256d75bcdfa3f0659a437
+DIST thiserror-impl-1.0.50.crate 15357 BLAKE2B 41309507014a2c628b7e91d250335070e4cca6c6c452c90ee7e6173bed049df83ca197b37c16537cf15415550919c248e0f6c798aead760e7bbcd25eab701d50 SHA512 8555e010f94390e93ba757bce9ef25d066ed542f23b843db431a66fbab722584ea0ce6c9d4b6f4d92cea3d91c190336abd567c4a0aa4a27893db25720c5b89c9
+DIST thiserror-impl-1.0.56.crate 15367 BLAKE2B 6fad787eb1e2c0f25fee7bef160be794fb8000a0aa292ec0d2d66d7a4d1fcb226c3e2e690ff6a61ba2d8704208014eea84044dba27523d4b2c26d2f7d4ba64d5 SHA512 da66f4674cf699083f7142f3a60c1c9334767b4de3690b4c7af460ffda787fab2089f5bca231e92b6e71724d46fe7dbdcaa19073f5d8100838536d10971efbde
+DIST thiserror-impl-1.0.58.crate 15645 BLAKE2B 9c6f643a582666ee4eb43330340888e7141f0dd89d927e3345268c3eaca02fa42b018514ef38b3db3ff9722b25ebdd43c36b11ecfc7bcb36950ce2c204ff78e1 SHA512 9bbc623f54c71595e48b33bdb3e4f12eb2e48074b15ebe400d6faab43410b363e5af94df071aaa324c59dc6958173e3c301fd51b216969f095e19cb98a27292b
+DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST tokenizers-0.14.1.gh.tar.gz 1516228 BLAKE2B 814da77b8c909728662ca000a19b88357ea1c3050e6b5875927729ec20a285a8579fb6be29bc8e6e3025e3b907fa7f31833ba1f71f0e52f1793bed2647d8de69 SHA512 b584a93aa7b07eeea6e871eb7f90f0a1965175ef2eb3dd5ba422c82dc57f5c551f5fee882e3387a8df32baf1bfa17bab7516cefb105821c3e53de867dcd7ff84
+DIST tokenizers-0.15.2.gh.tar.gz 1519789 BLAKE2B 38e705cd2eb72ffb7f0ed8ee1be4db75d3b9662c24919f1d588c55a91d1a01fe057a19cac464460cde7971f595b0518e594947b6da2c632e90cc771519890d23 SHA512 0635d074d98a74d171a5f113c1b6f8b8c80c9f36b2d3b82c18d90d3fc1f1daaec55b7e98f2d771d5b22593b888ab4561e8f3e3152170c22605e034ee84d6a10a
+DIST unicode-bidi-0.3.13.crate 44477 BLAKE2B 90d80e7c57e93aa9aaa83e7c3c1a93bb6e4d51047803e61ed3f7c80361987947b2029a2b679bd301e8a0766ee8ea7f080e9b9b6ebcbb4354e19813a0f7da2abc SHA512 fb094fcfd907d90fa7232432aca0143209446e4c5c73d8a0fe6d2dc44b9dbb5b8b926c59b5e3f9a5a0a36f91c04613509b6e430c9c4adf526e7445e6e8d7a3d9
+DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8
+DIST unicode-ident-1.0.10.crate 42039 BLAKE2B 3365850e1991b9e572c6917a35f3c85523d921d5ebd9fa7025fbc1ce2a0518b06aaa9f3e3bfafb47d357226b5b9964145c7f1b5ddc16cb7280542f6c96f650ec SHA512 5dcc24e138a86f84cb05290332d02953b0ca18839ead1e74b0319bc361ea449700e04d62a51e435cba266121e463643e017718d3023a84f844a59e4ca4475686
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c
+DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
+DIST unicode-normalization-alignments-0.1.12.crate 91546 BLAKE2B 18aa85b935f2bbd4eab91cd160fbfc75a7f919090dd5874162d1ca76851c53bfbaf1b0e3aa23cdcb2b7a9f15e576736521be1fe45c9ff7de6db23cbc6c59e78f SHA512 b51d9096088c14a84b5c179402b1618f26b0e9bf5250ee86c9d5e26e318149829e3e57802a4c9e437c3ec29ee31ee311491e683abe50ecac5432c0a593478e6f
+DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b
+DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef
+DIST unicode-width-0.1.11.crate 19187 BLAKE2B 6baf7f3b32eb838925e591792abfe11968206d177facefb89ef51daf44c18f3fef1e41c19a47b88b81be50667af626af2024ccc540b240fb6e1d83fdea57076f SHA512 ee06f4144525424327a17578642565f396802f0eea539b3bebc8d9627376a8bc6c5376d83a6ee577068e99fe75815bd765e6d49fb9ab9b253d00594bb15a5ffe
+DIST unicode_categories-0.1.1.crate 87298 BLAKE2B f52b83d204b90ce0ec26e0500bc80b0547610f3417616603c4e837fbec0a41a6a715de19f88432f4c15ddb6b2ba55ee75a472fb7e2c888accfc77e1ef1d85fee SHA512 2d15499ee9318ee54910d657339820acfa88183e4f9aa146ac655129d2c4d76d3fd0550b601702ad2ccac4c8647dd2f26528d8003f39181e09b8ef480351a3cb
+DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST untrusted-0.9.0.crate 14447 BLAKE2B 8e9c3ae09435af0885bc4a6e3c8943805b48cfc00bdae228c7c43093254e1be15d7005d1026561ff369ec37865d8458203f421a9c89ae3db077f655449621aed SHA512 5929e4079c1c2ff933ae8d8f59a2ecc7a424e71a20d1b8821f75925af68bdf82604b024c008e5464b02e25ff093e561a352b685e755b3d0b27e4c30254689416
+DIST ureq-2.8.0.crate 112867 BLAKE2B 60409a3d3b271a1578986f5d99c14c8c1300b44010d32cd52f3e32885eb0ed36cadc04b939f2e0d81a0b30f21be433f4c7428b0485c75217b00ed0988c29fd43 SHA512 3b398a52da98e9350792d29eeef8a20d4689a55210df3e30d3e1786d3c5e378c3a144d64b3728f282a07e7e701ce21794e6c50eccceef670d7f5bfefd5da0333
+DIST ureq-2.9.6.crate 113677 BLAKE2B a795b9a3b0985daf2bb27e489b32387693bbcaf32a126b083d584693a921c8b3dc900987846209497d468b655d30c9b364112905cbad870c6758aec28a5c3268 SHA512 c2c860006e33146589107aa191552530749c143ab93a60ff3fa959dd53bbd03c48d7f4b410ecc4c92c28c2b483ec3c2c720373a6ee54ef8f9c31b069da205f9e
+DIST url-2.4.1.crate 78228 BLAKE2B 6e324237af50605e9285889d967e6a66e258982c5e78ec99b2df68cbcc555574c0b0d650724ecb015e1065c737c88e3c04205973c35b0afcd63f222e91dde3f9 SHA512 ff2aed100e405f4474e17dcc01d59b63460e7a8babeb7cdcf9df6c1c65216c425e24d557f76c7097702b2befc381656107bef755ce929089b52a3901c46aa185
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
+DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
+DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
+DIST walkdir-2.4.0.crate 23550 BLAKE2B b4298c01cb38be0479b7ddfee627af01f889b6b6ff432e368bb67f65134c3958a4fe271a5a7dd61b19259ae88f5680e5ce8e12e50a872b05fcba68f59b7073ec SHA512 09e1bc852c01b452c95b26a369831a97bc5c9e0ada3111c73774570dd73bb5b9e4735317d5572304fb48dca44ce7b9f77bbd17c418b6b047b2ab17b8bb42d9d9
+DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST wasm-bindgen-0.2.88.crate 181311 BLAKE2B 94be99405e6f8d821aabed65928d03b3f5c7062afb923cac6088e56272fce4b928a03ca693b9e3bc2c7ac5b61052a3b2c1b9f75400c95814f29504c0f255f2e7 SHA512 21c50fa3ba6947e53fb56a57850350b9f5ef11d7281e015bbd564fa07a702b9e58b9ccd22bc6d870092e73ae51a9350f4c7f5a019b279f1cae2fb85a1f4ce80b
+DIST wasm-bindgen-0.2.92.crate 184119 BLAKE2B ca256c686bb3854492bad6afe3cd27dab314561a1ea2e0205579820066b462bacdb2cc01075fb420bd20eb33b03a648ce1ff46feee04d8759ea8aa990ff8232a SHA512 6e46501276c0d4befbf930c816d6ae6c3764e3b5ce0ef4aafa627a6ea371f1a056ecc15970a817e9e9bf51c0a2ffa57df427d758b2d367beb6a474d75b8939a5
+DIST wasm-bindgen-backend-0.2.88.crate 28181 BLAKE2B 791e6bdc0702631dbb959e788db0f6dc2675f48c6d9e15f1362f153dd32a6df85b598a8a415143626dacdc17c2d447d0147c885f373ee6e0503446d96af243ce SHA512 717a62c8ed07adb29cbdbb1edf6f47d47eef2ad6fd9ad1264b09189d785bf525a6f09d1cf362d6a337d5be0a2ae8614e30843a33da73c2d22b6d233b76fabab4
+DIST wasm-bindgen-backend-0.2.92.crate 28348 BLAKE2B 425497aa7a023b70549c55d5a15dfed80877c5503863b186c0a9d11b29551c4606c1cd5961c7dfdeee2eab5662952ad7ad215513e93abe727a33f84b30bd181e SHA512 22e4f5848d62bd1fd55f4f054ea1293e223b3cd6f916bde2523eec10388e733623492c3a3246d61831e696dffdec5d000b95e9aa1217be6e38dd6459872166aa
+DIST wasm-bindgen-macro-0.2.88.crate 13908 BLAKE2B 49baa77009d60e05464d438a97bf4c72a5357f79a2995b88bd2a9c73823b01940b23d90b9b0d7e01bcf3c1c31988b015ba029df09aa1595bcf560000fededc33 SHA512 df45cac130bf787d08640045839d8e9fb1b10720c0e7def84862fc6f6f8df1a3c775870570c210279488eeb1700dcb6b778ee22fd23e5a2ae5572603c2fa3d1b
+DIST wasm-bindgen-macro-0.2.92.crate 13835 BLAKE2B 1f2202fdaeb78c32813eaf08b2fbd7aa9c469228386df71b8ffd81a46374e39a7104b79991f702505f9b7e97957fda8574517fbb03e3f9e93098c4d6e1e46be3 SHA512 78d2ddac88a9ca3ca5eef8a7af81cdf2366187a67d844e69f65f6893d1949f9723ab5f2be762c2217a5c21aee2f3dbc2d5d55ef0c9cbf0dec0d52d67a6ba7462
+DIST wasm-bindgen-macro-support-0.2.88.crate 20008 BLAKE2B ce90104bb631d00c4a1c0e056c688c6b88f95d9a4d58d474185313c5b38d0b81a660bc4c6684d8b70215140fe6eafd90fe9448e56154ded423616449ec30c750 SHA512 46aa40e5bd55f8ed3a576b1973c6ba7743675f20623397421fdd56b1f5d43159f7e7b3ce4acec0fe5b04a6fba8cf7744cb041e98844b0bc9e6542b06671076c2
+DIST wasm-bindgen-macro-support-0.2.92.crate 20092 BLAKE2B 8e274a4053e7afc680740e811c3941478caf5342e2206e3d28cdea9f9514bedbfa4f2b6bc608817306a1c455dd7134b7e17f0f04499f6bfb5302f29b041ac7ae SHA512 92543d2aad0b25798ec20e68832b823610c2c01401088cd9cac1684a86ddd1b567b3e2712acb862060f9c645a0df509b01d9834fd3e13cdaab97960f66d8daa7
+DIST wasm-bindgen-shared-0.2.88.crate 7264 BLAKE2B d1934b4af13257b9be90a26d90e0a13927efd4ff794ac1e90cba4133bab58f4941045e17e2b240489bfbf6e35107ffd5c7cfc4c9c37f2112d4a7ad78fec435db SHA512 eaffae8a98a1b6bbb186fc5f6535654171c19a763bc9ac2a79758e5ad2710537ca4de92228b99c7186322f94205f9623155f20d039fcc2d56452340c3bb9330b
+DIST wasm-bindgen-shared-0.2.92.crate 7263 BLAKE2B e54895486b9a31cc4651b7bb042059cc84421708346c06a9764315ebd4f440a1077520c7d325d6889a690b2c06aa185d40cede2dc4d061b363594cbde20fac31 SHA512 70e3a22731ed8aec428433bf30500eb3f62e3b7f4f1be34d8bb3b6f34f99690fc85d49eb413caecab807064494cfec64242c6a42709dffd638046e370bf86e07
+DIST web-sys-0.3.65.crate 734287 BLAKE2B 38891902fd194962dfeabd71ec799727c87bfe119ea1a47fa1ee52bb074792de40fbd2a7d65f5c2bbffb89ee045b10e1f6a464a9cd1e1830b9760a92cc1d96ae SHA512 870eb6cc0fc0cdbc9facc79c34ff98086a53dbc840cf17b16232b13eb2e79bffe75b792eaa1ec1a1c3d601e282687c8e5592a1ec2389bfc818873eb0639cb53a
+DIST web-sys-0.3.69.crate 728877 BLAKE2B 9f1678cbddb15f5a37331216a43785c72896f87e8ce62c6b9e69007316ca6eeaa7edbb33b9f2d9bf96c98de2a1e10afe491d8734657b186e2c3905ad1ff19ad9 SHA512 78b79ceb6a47485c766ad660bb8b971ba549424542a020c35c7db64a19f7b161617e464eaea0602f433b6ac4973b8d1a86a56e76dcda179ccea60aef1245347b
+DIST webpki-roots-0.25.2.crate 250405 BLAKE2B e603f95c1d05a7191b00abff160f52063945ca7cb8159b40da3b6934703ac5cdd5a2ffc36a6437e62c9bcba871331bdd32e2cab606b56617027bce8f66722c10 SHA512 7988580df398bad3d62e6ce9d19afc9af7c7ad9d374533c2c67fccce930243a2712c667da9bf02a7624e88dfb94cd5ea04fcf58eda006976ca27e5c87fcb1002
+DIST webpki-roots-0.26.1.crate 249748 BLAKE2B 6a2468eb2f868c65c599d2f6664798f75e77cb7a7228a2c7285ee5256cb01d110709474feb389991f12ba0d143211770c6922932c7fab01b4b0e37b612cbd453 SHA512 89ac53267d850953aa78550a60f58f5bcb0f9e885c4c448911dc55bbb8dbc3fb845cd7545fc40ff26998b0c360756de85206adcb148ca6190e50bc2daea7f61f
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.0.crate 6229 BLAKE2B 4b1efdd32202f112d3782b586ce60667f5d3b6f97ccae0d7da833aee2ae81ceece88b5ef4126db2448c9019de3f77e4fe66ed4286bb6275d9a5e8ab74725b804 SHA512 0ea09552d89b802ec0d419b640fa02d0af7af602704a0e88ba10f81d123dee0c907460f6ec91224177ec9a948970abd7414740eb219148a4d66c269c2362740e
+DIST windows-targets-0.52.4.crate 6310 BLAKE2B 0393bf3e7f8823edc455055e9977798bd6cdc1e523127cf840ee1b9e36febe40e01dcad9875a06aea283dd55443d02f643d42752103a5ec1de933285fe410b17 SHA512 4b2c26468df54b9801e6badd120dcffc15429fc78a614f45efa16d5fed1a36983198fbb621cc3beb4a4f9f0161ef8ddeca3a5c6a6ac48b5589681936f4d2bf50
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.0.crate 430182 BLAKE2B f23370c62c4ab3fd885e3ee22e8ec2fb5a3a837a57044c1df3f9986dd4e7e9d0a44ec58be1648a41e1ea4d037afa3077f0f03de0204199a82fb8395731815a4a SHA512 b7c3fe0a2ad5149be0df48fc7a4d15879eb130bd9441c58c25fc71b8a91483f0b553fb1bf29a9302acd348e9083a547430a840b059b0cfe19867ecaffcae986f
+DIST windows_aarch64_gnullvm-0.52.4.crate 433373 BLAKE2B 5678cf2371e4c566b7ff0dd1fabcae92d12ce9f97670524c93fd8c34bf6b09d054e7de2f852302b8d994f52c81015b7cc8a74f529490c7bdd17a3b5d2c88a12e SHA512 dbb914a866873892a8cffecd4ed4977fe6c3fc48a58bb9f88655d86e7f8969cc27e6f5bb7d40eee41ae7d78f6f4be65d46650719321a7697c7b5b99a0f07a5dd
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.0.crate 821663 BLAKE2B e6f772858205f7cd871722136aec4d00daea4793ff9dcae53e6311e74526c46aa11c2b3df7a85e6c577757254cbfa5a713e68c694625ca274b64e7a1c5532c23 SHA512 8446bfe5b9fe538415762c8129ab3bf2fe45482e045bce367475747786602ad4ae1187c6e508dd9d7b6be81bfc8d430e0db9c624e35c7cc52e823023e46f5cf1
+DIST windows_aarch64_msvc-0.52.4.crate 828055 BLAKE2B 3088f2f66fc91ad698906315eae7e6c0dd7da5414c28cfa25b24e138fc4a7da40535be09129cd37b8e331d8d6e8c41d0106fba1ef9e5b4ac561140653e9ded4d SHA512 dcc538d0a9c276e7ec415575ec1392bf476219348984d9567f56d5cc7af0f9beeac523a9a6651f763dd4f50f89535a3ea2275d5321ec022c2ee8814e4e84e95b
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.0.crate 870285 BLAKE2B a7688062a128a1b1394b3978210334e4e2aaa10dce131457c4a11ce0cb3f551e7f4962d1ece1846d8e9526983ced0e0a3ee8c933858e9314b62e76381e086ef9 SHA512 fe993f5bb6e039c257be9b35337e0221f718d23866818bfd19c76aaae236aafc2de4bb5014fcdf919563b5901cdaa14a2136cd086eeed3c83e46a5d02f6aa77e
+DIST windows_i686_gnu-0.52.4.crate 875736 BLAKE2B 31ee3017a6db246b0d5fc02e10cdb517a69ceac3dbbc9d41b4051f5dfa1196e4a46e7b3f5f90935560c03bb139b897e5dce69989a3698d9c88ebae923e24ef30 SHA512 9d57260744607eb63453040c532bf3693cf3d8d93c56543ee00aa66adf3a71919e72bdef7811f287167403ade893248f189b797a5d2dcb24ef4e6f3d915a88c6
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.0.crate 888693 BLAKE2B 7a6e9d03e503c8f543e80a8c7bcf3f50cfa7eed462e487ae7b581746d7cc4d871b33e307110d3a3a75226d88e837f9452ac56bf3baf71b66cfab2626cc15558a SHA512 817ac796fd00bed51d80133ec873cf3d3d582ba41fec8a6f6407fbd7544f198e928aa5d710f70c13bbf74a1dde4c91c54e65eb9d3b7518a7f011ea42725eb671
+DIST windows_i686_msvc-0.52.4.crate 895530 BLAKE2B 87ec4628472beec8697317662fd599a8ea0ba5a11a0cad6b23f2481f39b3a4e0546d37fade4d715ad06a4798cf7faa6435bafa1e5054105c064cb560468b6025 SHA512 0d5526b21bfb96ab352b5181dcf84ff31007ce338245a374b3b413805239359a689b1a21de56ae998cc13444e40867bc30c4200454b84ef9ffa7117318baef1e
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.0.crate 826213 BLAKE2B 3ca03285ef289fc844261142154e710e996c29940b1c0a7dc3016906ff6452fa50b24f8668fce0ca44bf169ab1228c217fece9f7bddac9ab8bdc54fddafaf8a8 SHA512 2d81af56ad0bc9536f6e066776642a546ce6c6d99551edc0603ffcafe6db15d5d5a32a642b204bbfadf34231daa3894ad7897a9c0c575c2b6bc1e3e58a9a3eb7
+DIST windows_x86_64_gnu-0.52.4.crate 831627 BLAKE2B 64d29f6e0837be822d89cc8aaea2514382d2c03b33deb5684df1d6b81573b3817add39d99f66181a762fae7c155e60a8c070affe43a0f2e247fb0c5ddcc7afd9 SHA512 96c673fb330af597fc3c71b53b9b66cacc9f3f64f05dc7cfe4a77447b7545280f065df22b7d91a6b7cf681a442d8b71c9d2dd128e76580664d8598c481cbb95e
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.0.crate 430165 BLAKE2B af9345a1f6e0ed1392ca1534c68d23f3be0fbb6a42b3c5518cee14373e645038526da15e849d14abe45c53766a30c6c2042a626482ba4a05409f325eb6aa36b1 SHA512 e88af35fd1c694dc189783e5c81aafa61aeffbddce4d7130e1125d0ce3d932fafeb345990ffd98477c41b578b7f5090f4f9c0457b02146309b95549c9f8f44f0
+DIST windows_x86_64_gnullvm-0.52.4.crate 433358 BLAKE2B ffd55fba15ef713bd48caec5ed5f32936e05ac4897b721bd2b041229bc8c7beeca77ca018c3258dcdb09495629aa359d1dadaaf5112d38e7ea54670309d0ddf4 SHA512 f153d86b01e47f17ef08271b69becf7883bab92f96d40cdb1d74432f2bc6a7a65aa4ed931d8f6f4c2679e360bbd8d12037dc2a74a6a444fcaec5e4c784c54c74
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.0.crate 821600 BLAKE2B cc448b65f98fc0fc4949ae622b7020d2dae927ae45310649f6ef71809740eda9d3db0fc035676c201fd9ab9639e9e7f21e2e992b4c789542f12b419d2c752179 SHA512 3aaee31533a1a48a6ab5cd15b3cadfbd906a93a153e53919d0aa74e440d11e29830554e4e014c215f5b88a475bb733fa8ba4ce9d773d3e23a40ea9ad37ddd0a7
+DIST windows_x86_64_msvc-0.52.4.crate 828019 BLAKE2B 08163b63d934114457cd64b1c372f8a0cfc1ebf48a2efb41d79031c58ea64e023acd32d2f5075b8b78536998188138562e584ece95f2021b4bc71087ac45f026 SHA512 0671fa3c0463c6d65b525ece8bc91eab2f75cb534de86ba2b1e854d4136fcb439717441881206dba7cfb602493bc24d2aefa96abf8977f5a0fe38d41eadc90f1
+DIST zeroize-1.7.0.crate 19039 BLAKE2B 2f94a5025f409bd2b96a456d2f78a34c6b05b5554abe7ef3fad2a55a8fcff8a6a1b971be660aa4c2954ab7d6e89bebc431036e349edef74711292f9f64b1dbae SHA512 9d31e3e76e8c861309a3579c21f6da5fd6b056c7d7a350427445a1a832e8827204804783f7f9b808acaa2148efef883d9078bf84943b1db55526bba5bf5a2756
diff --git a/sci-libs/tokenizers/files/tokenizers-0.15.2-test.patch b/sci-libs/tokenizers/files/tokenizers-0.15.2-test.patch
new file mode 100644
index 000000000000..01a872cb846a
--- /dev/null
+++ b/sci-libs/tokenizers/files/tokenizers-0.15.2-test.patch
@@ -0,0 +1,39 @@
+--- a/tests/bindings/test_trainers.py 2024-04-07 18:21:19.443506351 +0200
++++ b/tests/bindings/test_trainers.py 2024-04-07 18:21:54.893466083 +0200
+@@ -295,8 +295,8 @@
+ tokenizer.pre_tokenizer = pre_tokenizers.Sequence(
+ [pre_tokenizers.Whitespace(), pre_tokenizers.Digits(individual_digits=True)]
+ )
+- tokenizer.train(files=["data/big.txt"], trainer=trainer)
++ tokenizer.train(files=["tests/data/big.txt"], trainer=trainer)
+
+- tokenizer.save("data/tokenizer.json")
++ tokenizer.save("tests/data/tokenizer.json")
+
+- tokenizer.from_file("data/tokenizer.json")
++ tokenizer.from_file("tests/data/tokenizer.json")
+--- a/tests/documentation/test_tutorial_train_from_iterators.py 2024-04-07 18:19:08.653593406 +0200
++++ b/tests/documentation/test_tutorial_train_from_iterators.py 2024-04-07 18:19:39.206906910 +0200
+@@ -40,7 +40,7 @@
+ def setup_gzip_files(self, train_files):
+ with open(train_files["small"], "rt") as small:
+ for n in range(3):
+- path = f"data/my-file.{n}.gz"
++ path = f"tests/data/my-file.{n}.gz"
+ with gzip.open(path, "wt") as f:
+ f.write(small.read())
+
+@@ -87,11 +87,11 @@
+ # START single_gzip
+ import gzip
+
+- with gzip.open("data/my-file.0.gz", "rt") as f:
++ with gzip.open("tests/data/my-file.0.gz", "rt") as f:
+ tokenizer.train_from_iterator(f, trainer=trainer)
+ # END single_gzip
+ # START multi_gzip
+- files = ["data/my-file.0.gz", "data/my-file.1.gz", "data/my-file.2.gz"]
++ files = ["tests/data/my-file.0.gz", "tests/data/my-file.1.gz", "tests/data/my-file.2.gz"]
+
+ def gzip_iterator():
+ for path in files:
diff --git a/sci-libs/tokenizers/metadata.xml b/sci-libs/tokenizers/metadata.xml
new file mode 100644
index 000000000000..8dc211ac9840
--- /dev/null
+++ b/sci-libs/tokenizers/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/tokenizers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/tokenizers/tokenizers-0.14.1-r1.ebuild b/sci-libs/tokenizers/tokenizers-0.14.1-r1.ebuild
new file mode 100644
index 000000000000..6544bcfd7d35
--- /dev/null
+++ b/sci-libs/tokenizers/tokenizers-0.14.1-r1.ebuild
@@ -0,0 +1,335 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.10
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_EXT=1
+
+CRATES="
+ adler@1.0.2
+ aho-corasick@1.1.1
+ aho-corasick@1.1.2
+ anes@0.1.6
+ anstream@0.6.4
+ anstyle-parse@0.2.2
+ anstyle-query@1.0.0
+ anstyle-wincon@3.0.1
+ anstyle@1.0.4
+ assert_approx_eq@1.1.0
+ autocfg@1.1.0
+ base64@0.13.1
+ base64@0.21.5
+ bit-set@0.5.3
+ bit-vec@0.6.3
+ bitflags@1.3.2
+ bitflags@2.4.0
+ bitflags@2.4.1
+ bumpalo@3.14.0
+ cast@0.3.0
+ cc@1.0.79
+ cc@1.0.83
+ cfg-if@1.0.0
+ ciborium-io@0.2.1
+ ciborium-ll@0.2.1
+ ciborium@0.2.1
+ clap@4.4.6
+ clap@4.4.8
+ clap_builder@4.4.6
+ clap_builder@4.4.8
+ clap_derive@4.4.2
+ clap_derive@4.4.7
+ clap_lex@0.5.1
+ clap_lex@0.6.0
+ colorchoice@1.0.0
+ console@0.15.7
+ core-foundation-sys@0.8.4
+ core-foundation@0.9.3
+ crc32fast@1.3.2
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.3
+ crossbeam-epoch@0.9.15
+ crossbeam-utils@0.8.16
+ darling@0.14.4
+ darling_core@0.14.4
+ darling_macro@0.14.4
+ derive_builder@0.12.0
+ derive_builder_core@0.12.0
+ derive_builder_macro@0.12.0
+ dirs-sys@0.4.1
+ dirs@5.0.1
+ either@1.8.1
+ either@1.9.0
+ encode_unicode@0.3.6
+ env_logger@0.10.0
+ errno-dragonfly@0.1.2
+ errno@0.3.1
+ errno@0.3.7
+ esaxx-rs@0.1.10
+ fancy-regex@0.11.0
+ fastrand@2.0.1
+ flate2@1.0.28
+ fnv@1.0.7
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ form_urlencoded@1.2.0
+ getrandom@0.2.10
+ getrandom@0.2.11
+ half@1.8.2
+ heck@0.4.1
+ hermit-abi@0.3.2
+ hermit-abi@0.3.3
+ hf-hub@0.3.2
+ humantime@2.1.0
+ ident_case@1.0.1
+ idna@0.4.0
+ indicatif@0.17.7
+ indoc@1.0.9
+ instant@0.1.12
+ is-terminal@0.4.9
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.8
+ itoa@1.0.9
+ js-sys@0.3.65
+ lazy_static@1.4.0
+ libc@0.2.147
+ libc@0.2.150
+ libredox@0.0.1
+ linux-raw-sys@0.4.11
+ linux-raw-sys@0.4.8
+ lock_api@0.4.10
+ log@0.4.19
+ log@0.4.20
+ macro_rules_attribute-proc_macro@0.2.0
+ macro_rules_attribute@0.2.0
+ matrixmultiply@0.3.7
+ memchr@2.5.0
+ memchr@2.6.4
+ memoffset@0.9.0
+ minimal-lexical@0.2.1
+ miniz_oxide@0.7.1
+ monostate-impl@0.1.10
+ monostate-impl@0.1.9
+ monostate@0.1.10
+ monostate@0.1.9
+ native-tls@0.2.11
+ ndarray@0.15.6
+ nom@7.1.3
+ num-complex@0.4.3
+ num-integer@0.1.45
+ num-traits@0.2.15
+ num-traits@0.2.17
+ number_prefix@0.4.0
+ numpy@0.19.0
+ once_cell@1.18.0
+ onig@6.4.0
+ onig_sys@69.8.1
+ oorandom@11.1.3
+ openssl-macros@0.1.1
+ openssl-probe@0.1.5
+ openssl-sys@0.9.95
+ openssl@0.10.59
+ option-ext@0.2.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ paste@1.0.14
+ percent-encoding@2.3.0
+ pkg-config@0.3.27
+ plotters-backend@0.3.5
+ plotters-svg@0.3.5
+ plotters@0.3.5
+ portable-atomic@1.4.3
+ portable-atomic@1.5.1
+ ppv-lite86@0.2.17
+ proc-macro2@1.0.64
+ proc-macro2@1.0.69
+ pyo3-build-config@0.19.2
+ pyo3-ffi@0.19.2
+ pyo3-macros-backend@0.19.2
+ pyo3-macros@0.19.2
+ pyo3@0.19.2
+ quote@1.0.29
+ quote@1.0.33
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.0
+ rayon@1.8.0
+ redox_syscall@0.3.5
+ redox_syscall@0.4.1
+ redox_users@0.4.4
+ regex-automata@0.3.3
+ regex-automata@0.4.3
+ regex-syntax@0.7.4
+ regex-syntax@0.7.5
+ regex-syntax@0.8.2
+ regex@1.10.2
+ regex@1.9.1
+ ring@0.17.5
+ rustc-hash@1.1.0
+ rustix@0.38.13
+ rustix@0.38.24
+ rustls-webpki@0.101.7
+ rustls@0.21.9
+ ryu@1.0.14
+ ryu@1.0.15
+ same-file@1.0.6
+ schannel@0.1.22
+ scopeguard@1.1.0
+ scopeguard@1.2.0
+ sct@0.7.1
+ security-framework-sys@2.9.1
+ security-framework@2.9.2
+ serde@1.0.171
+ serde@1.0.192
+ serde_derive@1.0.171
+ serde_derive@1.0.192
+ serde_json@1.0.102
+ serde_json@1.0.108
+ smallvec@1.11.0
+ smallvec@1.11.2
+ spin@0.9.8
+ spm_precompiled@0.1.4
+ strsim@0.10.0
+ syn@1.0.109
+ syn@2.0.25
+ syn@2.0.39
+ target-lexicon@0.12.9
+ tempfile@3.8.0
+ tempfile@3.8.1
+ termcolor@1.2.0
+ thiserror-impl@1.0.49
+ thiserror-impl@1.0.50
+ thiserror@1.0.49
+ thiserror@1.0.50
+ tinytemplate@1.2.1
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.10
+ unicode-ident@1.0.12
+ unicode-normalization-alignments@0.1.12
+ unicode-normalization@0.1.22
+ unicode-segmentation@1.10.1
+ unicode-width@0.1.11
+ unicode_categories@0.1.1
+ unindent@0.1.11
+ untrusted@0.9.0
+ ureq@2.8.0
+ url@2.4.1
+ utf8parse@0.2.1
+ vcpkg@0.2.15
+ walkdir@2.4.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.88
+ wasm-bindgen-macro-support@0.2.88
+ wasm-bindgen-macro@0.2.88
+ wasm-bindgen-shared@0.2.88
+ wasm-bindgen@0.2.88
+ web-sys@0.3.65
+ webpki-roots@0.25.2
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.45.0
+ windows-sys@0.48.0
+ windows-targets@0.42.2
+ windows-targets@0.48.1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.48.0
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.48.0
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.48.0
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.48.0
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Implementation of today's most used tokenizers"
+HOMEPAGE="https://github.com/huggingface/tokenizers"
+SRC_URI="
+ https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+BDEPEND="dev-python/setuptools-rust[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="/usr/bin/cli .*/site-packages/tokenizers/.*so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ default
+ cd bindings/python
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ cd tokenizers
+ cargo_src_configure
+ cd ../bindings/python
+ distutils-r1_src_configure
+}
+
+src_compile() {
+ cd tokenizers
+ cargo_src_compile
+ cd ../bindings/python
+ distutils-r1_src_compile
+}
+
+src_test() {
+ cd tokenizers
+ # Tests do not work
+ #cargo_src_test
+ cd ../bindings/python
+ # Need dataset module
+ #distutils-r1_src_test
+}
+
+src_install() {
+ cd tokenizers
+ cargo_src_install
+ cd ../bindings/python
+ distutils-r1_src_install
+}
diff --git a/sci-libs/tokenizers/tokenizers-0.15.2-r1.ebuild b/sci-libs/tokenizers/tokenizers-0.15.2-r1.ebuild
new file mode 100644
index 000000000000..ed6b224ac702
--- /dev/null
+++ b/sci-libs/tokenizers/tokenizers-0.15.2-r1.ebuild
@@ -0,0 +1,344 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.10
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_SINGLE_IMPL=1
+
+CRATES="
+ adler@1.0.2
+ aho-corasick@1.1.2
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstream@0.6.11
+ anstream@0.6.13
+ anstyle-parse@0.2.3
+ anstyle-query@1.0.2
+ anstyle-wincon@3.0.2
+ anstyle@1.0.6
+ assert_approx_eq@1.1.0
+ autocfg@1.1.0
+ autocfg@1.2.0
+ base64@0.13.1
+ base64@0.21.7
+ bit-set@0.5.3
+ bit-vec@0.6.3
+ bitflags@1.3.2
+ bitflags@2.4.2
+ bitflags@2.5.0
+ bumpalo@3.15.4
+ cast@0.3.0
+ cc@1.0.83
+ cc@1.0.90
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.0
+ clap@4.5.4
+ clap_builder@4.5.0
+ clap_builder@4.5.2
+ clap_derive@4.5.0
+ clap_derive@4.5.4
+ clap_lex@0.7.0
+ colorchoice@1.0.0
+ console@0.15.8
+ core-foundation-sys@0.8.6
+ core-foundation@0.9.4
+ crc32fast@1.4.0
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ crunchy@0.2.2
+ darling@0.14.4
+ darling_core@0.14.4
+ darling_macro@0.14.4
+ derive_builder@0.12.0
+ derive_builder_core@0.12.0
+ derive_builder_macro@0.12.0
+ dirs-sys@0.4.1
+ dirs@5.0.1
+ either@1.10.0
+ encode_unicode@0.3.6
+ env_logger@0.10.2
+ errno@0.3.8
+ esaxx-rs@0.1.10
+ fancy-regex@0.13.0
+ fastrand@2.0.1
+ fastrand@2.0.2
+ flate2@1.0.28
+ fnv@1.0.7
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ form_urlencoded@1.2.1
+ getrandom@0.2.12
+ half@2.4.0
+ heck@0.4.1
+ heck@0.5.0
+ hermit-abi@0.3.5
+ hermit-abi@0.3.9
+ hf-hub@0.3.2
+ humantime@2.1.0
+ ident_case@1.0.1
+ idna@0.5.0
+ indicatif@0.17.8
+ indoc@2.0.4
+ indoc@2.0.5
+ instant@0.1.12
+ is-terminal@0.4.12
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.1
+ itoa@1.0.10
+ itoa@1.0.11
+ js-sys@0.3.69
+ lazy_static@1.4.0
+ libc@0.2.153
+ libredox@0.1.3
+ linux-raw-sys@0.4.13
+ lock_api@0.4.11
+ log@0.4.20
+ log@0.4.21
+ macro_rules_attribute-proc_macro@0.2.0
+ macro_rules_attribute@0.2.0
+ matrixmultiply@0.3.8
+ memchr@2.7.1
+ memchr@2.7.2
+ memoffset@0.9.0
+ memoffset@0.9.1
+ minimal-lexical@0.2.1
+ miniz_oxide@0.7.2
+ monostate-impl@0.1.11
+ monostate@0.1.11
+ native-tls@0.2.11
+ ndarray@0.15.6
+ nom@7.1.3
+ num-complex@0.4.5
+ num-integer@0.1.46
+ num-traits@0.2.18
+ number_prefix@0.4.0
+ numpy@0.20.0
+ once_cell@1.19.0
+ onig@6.4.0
+ onig_sys@69.8.1
+ oorandom@11.1.3
+ openssl-macros@0.1.1
+ openssl-probe@0.1.5
+ openssl-sys@0.9.102
+ openssl@0.10.64
+ option-ext@0.2.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ paste@1.0.14
+ percent-encoding@2.3.1
+ pkg-config@0.3.29
+ pkg-config@0.3.30
+ plotters-backend@0.3.5
+ plotters-svg@0.3.5
+ plotters@0.3.5
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ proc-macro2@1.0.78
+ proc-macro2@1.0.79
+ pyo3-build-config@0.20.2
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.2
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.2
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.2
+ pyo3-macros@0.20.3
+ pyo3@0.20.2
+ pyo3@0.20.3
+ quote@1.0.35
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.8.1
+ rayon@1.10.0
+ redox_syscall@0.4.1
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ redox_users@0.4.5
+ regex-automata@0.4.6
+ regex-syntax@0.8.3
+ regex@1.10.3
+ regex@1.10.4
+ ring@0.17.8
+ rustc-hash@1.1.0
+ rustix@0.38.31
+ rustix@0.38.32
+ rustls-pki-types@1.4.1
+ rustls-webpki@0.102.2
+ rustls@0.22.3
+ ryu@1.0.16
+ ryu@1.0.17
+ scopeguard@1.2.0
+ same-file@1.0.6
+ schannel@0.1.23
+ scopeguard@1.2.0
+ security-framework-sys@2.10.0
+ security-framework@2.10.0
+ serde@1.0.196
+ serde@1.0.197
+ serde_derive@1.0.196
+ serde_derive@1.0.197
+ serde_json@1.0.113
+ serde_json@1.0.115
+ smallvec@1.13.1
+ smallvec@1.13.2
+ spin@0.9.8
+ spm_precompiled@0.1.4
+ strsim@0.10.0
+ strsim@0.11.0
+ strsim@0.11.1
+ subtle@2.5.0
+ syn@1.0.109
+ syn@2.0.48
+ syn@2.0.58
+ target-lexicon@0.12.13
+ target-lexicon@0.12.14
+ tempfile@3.10.0
+ tempfile@3.10.1
+ termcolor@1.4.1
+ thiserror-impl@1.0.56
+ thiserror-impl@1.0.58
+ thiserror@1.0.56
+ thiserror@1.0.58
+ tinytemplate@1.2.1
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization-alignments@0.1.12
+ unicode-normalization@0.1.23
+ unicode-segmentation@1.11.0
+ unicode-width@0.1.11
+ unicode_categories@0.1.1
+ unindent@0.2.3
+ untrusted@0.9.0
+ ureq@2.9.6
+ url@2.5.0
+ utf8parse@0.2.1
+ vcpkg@0.2.15
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.92
+ wasm-bindgen-macro-support@0.2.92
+ wasm-bindgen-macro@0.2.92
+ wasm-bindgen-shared@0.2.92
+ wasm-bindgen@0.2.92
+ web-sys@0.3.69
+ webpki-roots@0.26.1
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.0
+ windows-targets@0.52.4
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.0
+ windows_aarch64_gnullvm@0.52.4
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.0
+ windows_aarch64_msvc@0.52.4
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.0
+ windows_i686_gnu@0.52.4
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.0
+ windows_i686_msvc@0.52.4
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.0
+ windows_x86_64_gnu@0.52.4
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.0
+ windows_x86_64_gnullvm@0.52.4
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.0
+ windows_x86_64_msvc@0.52.4
+ zeroize@1.7.0
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Implementation of today's most used tokenizers"
+HOMEPAGE="https://github.com/huggingface/tokenizers"
+SRC_URI="
+ https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? ( sci-libs/datasets[${PYTHON_SINGLE_USEDEP}] )
+ $(python_gen_cond_dep '
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ ')
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="/usr/bin/cli .*/site-packages/tokenizers/.*so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ default
+ cd bindings/python
+ eapply "${FILESDIR}"/${P}-test.patch
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ cd tokenizers
+ cargo_src_configure
+ cd ../bindings/python
+ distutils-r1_src_configure
+}
+
+src_compile() {
+ cd tokenizers
+ cargo_src_compile
+ cd ../bindings/python
+ distutils-r1_src_compile
+}
+
+src_test() {
+ cd tokenizers
+ # Tests do not work
+ #cargo_src_test
+ cd ../bindings/python
+ distutils-r1_src_test
+}
+
+src_install() {
+ cd tokenizers
+ cargo_src_install
+ cd ../bindings/python
+ distutils-r1_src_install
+}
diff --git a/sci-libs/transformers/Manifest b/sci-libs/transformers/Manifest
new file mode 100644
index 000000000000..67683244b7fe
--- /dev/null
+++ b/sci-libs/transformers/Manifest
@@ -0,0 +1 @@
+DIST transformers-4.36.2.gh.tar.gz 16379041 BLAKE2B 3cd8dd9949e97971cf116e79327782a59a98df58ffeebafd4cf37009e805f8c332dd9739f1c6f5f627db0c7cc7a286329727740a6b5d701b05d0dc5201ce985d SHA512 e2f07f49f7ad0141dbb1ad594e7e1e0ab91c0b199d7f63e8396f4d6b58dbcf8f9004b9e809ad641950a9616d7755f0cd21fa332f47cbb9606a346a0184baa7b5
diff --git a/sci-libs/transformers/metadata.xml b/sci-libs/transformers/metadata.xml
new file mode 100644
index 000000000000..9489a5f68f41
--- /dev/null
+++ b/sci-libs/transformers/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">huggingface/transformers</remote-id>
+ <remote-id type="pypi">transformers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/transformers/transformers-4.36.2.ebuild b/sci-libs/transformers/transformers-4.36.2.ebuild
new file mode 100644
index 000000000000..d115e34a5797
--- /dev/null
+++ b/sci-libs/transformers/transformers-4.36.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
+HOMEPAGE="
+ https://pypi.org/project/transformers/
+ https://huggingface.co/
+"
+SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # Need some modules, not yet packaged
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ sci-libs/huggingface_hub[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ sci-libs/safetensors[${PYTHON_USEDEP}]
+ sci-libs/tokenizers[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/sci-libs/trilinos/Manifest b/sci-libs/trilinos/Manifest
index 36e24a7c12ea..637a1574739e 100644
--- a/sci-libs/trilinos/Manifest
+++ b/sci-libs/trilinos/Manifest
@@ -1,4 +1,2 @@
-DIST trilinos-12.14.1-patches-r0.tar.xz 6448 BLAKE2B f852a4612c400ddfb6dcecb476e0b9b2cd0f38ac9cd74fd09fc1f99ccb2588a4703f8c8514689c81d23aa218aff3cdcbe9b5205becea8936723d6e339705d54d SHA512 206bd08f0a5b7f7107e60c9e9c1a15fa7e74916bacb5399cccdd936b426768834ff24424ea77e8d1706afa98d88bb5a098b3b0203039024a3b5f5388c4a9735b
-DIST trilinos-12.14.1.tar.gz 129036436 BLAKE2B e7401df2ff8408a7af4a8e90d93b1929df65228c4f5cf3c754d20ebdfa8f3835800f540e87c1198e0baf2fefe0920618ae497f59373720754ab0c9dc1da93136 SHA512 dfff0e0582cb5ad12614dd53e9635572c8d1ee86d96f432f5a6e046af63edb13f6bfa3037204ab89fbb0d27e9be9bd9661d47efb41ab2a6e421bca5eba6b6a87
-DIST trilinos-12.18.1-patches-r0.tar.xz 6236 BLAKE2B fdcdedde68ef855aa98671223ad2c42467284ad7ca364e2b5ca715094a6efacc463f2d1812ee63ac980ca87dbe16bb2ac04835f52efa1df34651a608cb5407e9 SHA512 e6db2be4642b8f9797b0be6dd05641ae469dd5117b1b04da54ed955bd56473d6aaa69d59dfd7869db1e7059d2d9b2cb2d9269dd5ef863663eabb90c5c256b987
-DIST trilinos-12.18.1.tar.gz 152007573 BLAKE2B 5dc2ee432d777712fb4ca1dc2d7ad68015f523fdbcbd4f55388a89d31c0946a1c5031b3e8f906952cf6b2f4f16928e6da5f17b1f6ee0f0e5669cfce5c8a09367 SHA512 e2a57df57e8e98ed97bbde9c1e768738f0eaccc32466aff6daa308573a860b3debee89bd570c113ca0f6a6458ff562aa6596ddf657236c368b7b2e26a4b4466b
+DIST trilinos-14.4.0.tar.gz 188325969 BLAKE2B 909e3ebe229d035263d835e0d68977516d2a5df168785021fe300f7904e149586a82a6dba271cc1472455472397ee5467443244fb68fb27c00cf4e9b3d10a282 SHA512 497fc4fb4ab4338fffef7111635f3dc3b12cb7302bc3f56bafb5cc75b7c68e94cc22fcacd9dd625803a0f38e4fbce5105cab61df76e033a4581568c36a53fe8a
+DIST trilinos-15.0.0.tar.gz 182971338 BLAKE2B 0e459b9d070085a2a5bf06de8274ceec628f8913ab87c87a9502baf8065bfdabeca827ea9fa0f274c163bff1e7dc252eabf79ca250c0470d1da5e13492287d28 SHA512 a364e67686cdd4e1e34aa0e14b6cc051ed21a72b63719c47260d7839d47590b9e652be76cb9d61e513c7933b965fc8141c3ff898167e22353b33c9491a525c84
diff --git a/sci-libs/trilinos/metadata.xml b/sci-libs/trilinos/metadata.xml
index 8cbeddb082eb..61a49ed97f40 100644
--- a/sci-libs/trilinos/metadata.xml
+++ b/sci-libs/trilinos/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
@@ -10,16 +10,15 @@
<name>Gentoo Science Project</name>
</maintainer>
<longdescription lang="en">
-The Trilinos Project is an effort to develop algorithms and enabling
-technologies within an object-oriented software framework for the solution
-of large-scale, complex multi-physics engineering and scientific problems.
-</longdescription>
+ The Trilinos Project is an effort to develop algorithms and enabling
+ technologies within an object-oriented software framework for the solution
+ of large-scale, complex multi-physics engineering and scientific problems.
+ </longdescription>
<use>
<flag name="adolc">Add support for adolc (<pkg>sci-libs/adolc</pkg>)</flag>
+ <flag name="all-packages">Enable all supported Trilinos packages (per default only a subset is built)</flag>
<flag name="arprec">Add support for arprec (<pkg>sci-libs/arprec</pkg>)</flag>
- <flag name="boost">Add support for boost (<pkg>dev-libs/boost</pkg>)</flag>
<flag name="clp">Add support for clp (<pkg>sci-libs/coinor-clp</pkg>)</flag>
- <flag name="cuda">Add support for cuda (<pkg>dev-util/nvidia-cuda-toolkit</pkg>)</flag>
<flag name="eigen">Add support for eigen (<pkg>dev-cpp/eigen</pkg>)</flag>
<flag name="glpk">Add support for glpk (<pkg>sci-mathematics/glpk</pkg>)</flag>
<flag name="gtest">Add support for gtest (<pkg>dev-cpp/gtest</pkg>)</flag>
@@ -28,8 +27,8 @@ of large-scale, complex multi-physics engineering and scientific problems.
<flag name="hypre">Add support for hypre (<pkg>sci-libs/hypre</pkg>)</flag>
<flag name="matio">Add support for matio (<pkg>sci-libs/matio</pkg>)</flag>
<flag name="metis">
-Add support for metis (<pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg>)
-</flag>
+ Add support for metis (<pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg>)
+ </flag>
<flag name="mkl">Add support for mkl (<pkg>sci-libs/mkl</pkg>)</flag>
<flag name="mumps">Add support for mumps (<pkg>sci-libs/mumps</pkg>)</flag>
<flag name="netcdf">Add support for netcdf (<pkg>sci-libs/netcdf</pkg>)</flag>
@@ -44,4 +43,7 @@ Add support for metis (<pkg>sci-libs/metis</pkg> or <pkg>sci-libs/parmetis</pkg>
<flag name="tvmet">Add support for tvmet (<pkg>dev-libs/tvmet</pkg>)</flag>
<flag name="yaml">Add support for yaml (<pkg>dev-cpp/yaml-cpp</pkg>)</flag>
</use>
+ <upstream>
+ <remote-id type="github">trilinos/Trilinos</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/trilinos/trilinos-12.14.1.ebuild b/sci-libs/trilinos/trilinos-12.14.1.ebuild
deleted file mode 100644
index affe878ba6ec..000000000000
--- a/sci-libs/trilinos/trilinos-12.14.1.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit cmake-utils toolchain-funcs multilib toolchain-funcs
-
-DESCRIPTION="Scientific library collection for large scale problems"
-HOMEPAGE="http://trilinos.sandia.gov/"
-MY_PV="${PV//\./-}"
-PATCHSET="r0"
-SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-${PATCHSET}.tar.xz"
-
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-LICENSE="BSD LGPL-2.1"
-SLOT="0"
-
-IUSE="
- adolc arprec boost clp cuda eigen glpk gtest hdf5 hwloc hypre
- matio metis mkl mumps netcdf petsc qd scalapack scotch sparse
- superlu taucs tbb test threads tvmet yaml zlib X
-"
-
-# TODO: fix export cmake function for tests
-RESTRICT="test"
-
-RDEPEND="
- sys-libs/binutils-libs
- virtual/blas
- virtual/lapack
- virtual/mpi
- adolc? ( sci-libs/adolc )
- arprec? ( sci-libs/arprec )
- boost? ( dev-libs/boost )
- clp? ( sci-libs/coinor-clp )
- cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 )
- eigen? ( dev-cpp/eigen:3 )
- glpk? ( sci-mathematics/glpk )
- gtest? ( dev-cpp/gtest )
- hdf5? ( sci-libs/hdf5[mpi] )
- hypre? ( sci-libs/hypre )
- hwloc? ( sys-apps/hwloc )
- matio? ( sci-libs/matio )
- mkl? ( sci-libs/mkl )
- metis? ( || ( sci-libs/parmetis sci-libs/metis ) )
- mumps? ( sci-libs/mumps )
- netcdf? ( sci-libs/netcdf )
- petsc? ( sci-mathematics/petsc )
- qd? ( sci-libs/qd )
- scalapack? ( sci-libs/scalapack )
- scotch? ( sci-libs/scotch )
- sparse? ( sci-libs/cxsparse sci-libs/umfpack )
- superlu? ( sci-libs/superlu )
- taucs? ( sci-libs/taucs )
- tbb? ( dev-cpp/tbb )
- tvmet? ( dev-libs/tvmet )
- yaml? ( dev-cpp/yaml-cpp )
- zlib? ( sys-libs/zlib )
- X? ( x11-libs/libX11 )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/Trilinos-${PN}-release-${MY_PV}"
-
-PATCHES=(
- "${WORKDIR}"/patches
-)
-
-trilinos_conf() {
- local dirs libs d
- for d in $($(tc-getPKG_CONFIG) --libs-only-L $1); do
- dirs="${dirs};${d:2}"
- done
- [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_DIRS=${dirs:1}" )
- for d in $($(tc-getPKG_CONFIG) --libs-only-l $1); do
- libs="${libs};${d:2}"
- done
- [[ -n ${libs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_NAMES=${libs:1}" )
- dirs=""
- for d in $($(tc-getPKG_CONFIG) --cflags-only-I $1); do
- dirs="${dirs};${d:2}"
- done
- [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_INCLUDE_DIRS=${dirs:1}" )
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}"
- -DCMAKE_SKIP_INSTALL_RPATH=ON
- -DTrilinos_INSTALL_CONFIG_DIR="${EPREFIX}/usr/$(get_libdir)/cmake"
- -DTrilinos_INSTALL_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos"
- -DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos"
- -DTrilinos_ENABLE_ALL_PACKAGES=ON
- -DTrilinos_ENABLE_PyTrilinos=OFF
- -DTrilinos_ENABLE_SEACASChaco=OFF
- -DTrilinos_ENABLE_SEACASExodiff="$(usex netcdf)"
- -DTrilinos_ENABLE_SEACASExodus="$(usex netcdf)"
- -DTrilinos_ENABLE_TESTS="$(usex test)"
- -DZoltan2_ENABLE_Experimental=ON
- -DTPL_ENABLE_BinUtils=ON
- -DTPL_ENABLE_BLAS=ON
- -DTPL_ENABLE_LAPACK=ON
- -DTPL_ENABLE_MPI=ON
- -DTPL_ENABLE_ADOLC="$(usex adolc)"
- -DTPL_ENABLE_AMD="$(usex sparse)"
- -DTPL_ENABLE_ARPREC="$(usex arprec)"
- -DTPL_ENABLE_BLACS="$(usex scalapack)"
- -DTPL_ENABLE_BoostLib="$(usex boost)"
- -DTPL_ENABLE_Boost="$(usex boost)"
- -DTPL_ENABLE_Clp="$(usex clp)"
- -DTPL_ENABLE_CSparse="$(usex sparse)"
- -DTPL_ENABLE_CUDA="$(usex cuda)"
- -DTPL_ENABLE_CUSPARSE="$(usex cuda)"
- -DTPL_ENABLE_Eigen="$(usex eigen)"
- -DTPL_ENABLE_GLPK="$(usex glpk)"
- -DTPL_ENABLE_gtest="$(usex gtest)"
- -DTPL_ENABLE_HDF5="$(usex hdf5)"
- -DTPL_ENABLE_HWLOC="$(usex hwloc)"
- -DTPL_ENABLE_HYPRE="$(usex hypre)"
- -DTPL_ENABLE_Matio="$(usex matio)"
- -DTPL_ENABLE_METIS="$(usex metis)"
- -DTPL_ENABLE_MKL="$(usex mkl)"
- -DTPL_ENABLE_MUMPS="$(usex mumps)"
- -DTPL_ENABLE_Netcdf="$(usex netcdf)"
- -DTPL_ENABLE_PARDISO_MKL="$(usex mkl)"
- -DTPL_ENABLE_PETSC="$(usex petsc)"
- -DTPL_ENABLE_Pthread="$(usex threads)"
- -DTPL_ENABLE_QD="$(usex qd)"
- -DTPL_ENABLE_SCALAPACK="$(usex scalapack)"
- -DTPL_ENABLE_Scotch="$(usex scotch)"
- -DTPL_ENABLE_SuperLU="$(usex superlu)"
- -DTPL_ENABLE_TAUCS="$(usex taucs)"
- -DTPL_ENABLE_TBB="$(usex tbb)"
- -DTPL_ENABLE_Thrust="$(usex cuda)"
- -DTPL_ENABLE_TVMET="$(usex tvmet)"
- -DTPL_ENABLE_UMFPACK="$(usex sparse)"
- -DTPL_ENABLE_X11="$(usex X)"
- -DTPL_ENABLE_yaml-cpp="$(usex yaml)"
- -DTPL_ENABLE_Zlib="$(usex zlib)"
- -DML_ENABLE_SuperLU:BOOL=OFF
- )
-
- use eigen && \
- mycmakeargs+=(
- -DEigen_INCLUDE_DIRS="${EPREFIX}/usr/include/eigen3"
- )
- use hypre && \
- mycmakeargs+=(
- -DHYPRE_INCLUDE_DIRS="${EPREFIX}/usr/include/hypre"
- )
- use scotch && \
- mycmakeargs+=(
- -DScotch_INCLUDE_DIRS="${EPREFIX}/usr/include/scotch"
- )
-
- # cxsparse is a rewrite of csparse + extras
- use sparse && \
- mycmakeargs+=(
- -DCSparse_LIBRARY_NAMES="cxsparse"
- )
-
- # mandatory blas and lapack
- trilinos_conf blas BLAS
- trilinos_conf lapack LAPACK
- use superlu && trilinos_conf superlu SuperLU
- use metis && trilinos_conf metis METIS
-
- # blacs library is included in scalapack these days
- if use scalapack; then
- trilinos_conf scalapack SCALAPACK
- mycmakeargs+=(
- -DBLACS_LIBRARY_NAMES="scalapack"
- -DBLACS_INCLUDE_DIRS="${EPREFIX}/usr/include/blacs"
- )
- fi
-
- #
- # Make sure we use the compiler wrappers in order to build trilinos.
- #
- export CC=mpicc CXX=mpicxx && tc-export CC CXX
-
- #
- # cmake-utils eclass patches the base directory CMakeLists.txt
- # which does not work for complex Trilinos CMake modules
- #
- CMAKE_BUILD_TYPE=RELEASE cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Clean up the mess:
- mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
- if [ -f "${ED}"/lib/exodus.py ]; then
- mv "${ED}"/lib/exodus.py "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
- fi
-
- #
- # register $(get_libdir)/trilinos in LDPATH so that the dynamic linker
- # has a chance to pick up the libraries...
- #
- cat >> "${T}"/99trilinos <<- EOF
- LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos"
- PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin"
- EOF
- doenvd "${T}"/99trilinos
-}
diff --git a/sci-libs/trilinos/trilinos-12.18.1.ebuild b/sci-libs/trilinos/trilinos-12.18.1.ebuild
deleted file mode 100644
index d526edf1054c..000000000000
--- a/sci-libs/trilinos/trilinos-12.18.1.ebuild
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit cmake-utils toolchain-funcs multilib toolchain-funcs
-
-DESCRIPTION="Scientific library collection for large scale problems"
-HOMEPAGE="http://trilinos.sandia.gov/"
-MY_PV="${PV//\./-}"
-PATCHSET="r0"
-SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-${PATCHSET}.tar.xz"
-
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-LICENSE="BSD LGPL-2.1"
-SLOT="0"
-
-IUSE="
- adolc arprec boost clp cuda eigen glpk gtest hdf5 hwloc hypre
- matio metis mkl mumps netcdf petsc qd scalapack scotch sparse
- superlu taucs tbb test threads tvmet yaml zlib X
-"
-
-# TODO: fix export cmake function for tests
-RESTRICT="test"
-
-RDEPEND="
- sys-libs/binutils-libs
- virtual/blas
- virtual/lapack
- virtual/mpi
- adolc? ( sci-libs/adolc )
- arprec? ( sci-libs/arprec )
- boost? ( dev-libs/boost )
- clp? ( sci-libs/coinor-clp )
- cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 )
- eigen? ( dev-cpp/eigen:3 )
- glpk? ( sci-mathematics/glpk )
- gtest? ( dev-cpp/gtest )
- hdf5? ( sci-libs/hdf5[mpi] )
- hypre? ( sci-libs/hypre )
- hwloc? ( sys-apps/hwloc )
- matio? ( sci-libs/matio )
- mkl? ( sci-libs/mkl )
- metis? ( || ( sci-libs/parmetis sci-libs/metis ) )
- mumps? ( sci-libs/mumps )
- netcdf? ( sci-libs/netcdf )
- petsc? ( sci-mathematics/petsc )
- qd? ( sci-libs/qd )
- scalapack? ( sci-libs/scalapack )
- scotch? ( sci-libs/scotch )
- sparse? ( sci-libs/cxsparse sci-libs/umfpack )
- superlu? ( sci-libs/superlu )
- taucs? ( sci-libs/taucs )
- tbb? ( dev-cpp/tbb )
- tvmet? ( dev-libs/tvmet )
- yaml? ( dev-cpp/yaml-cpp )
- zlib? ( sys-libs/zlib )
- X? ( x11-libs/libX11 )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/Trilinos-${PN}-release-${MY_PV}"
-
-PATCHES=(
- "${WORKDIR}"/patches
-)
-
-trilinos_conf() {
- local dirs libs d
- for d in $($(tc-getPKG_CONFIG) --libs-only-L $1); do
- dirs="${dirs};${d:2}"
- done
- [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_DIRS=${dirs:1}" )
- for d in $($(tc-getPKG_CONFIG) --libs-only-l $1); do
- libs="${libs};${d:2}"
- done
- [[ -n ${libs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_NAMES=${libs:1}" )
- dirs=""
- for d in $($(tc-getPKG_CONFIG) --cflags-only-I $1); do
- dirs="${dirs};${d:2}"
- done
- [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_INCLUDE_DIRS=${dirs:1}" )
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}"
- -DCMAKE_SKIP_INSTALL_RPATH=ON
- -DTrilinos_INSTALL_CONFIG_DIR="${EPREFIX}/usr/$(get_libdir)/cmake"
- -DTrilinos_INSTALL_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos"
- -DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos"
- -DTrilinos_ENABLE_ALL_PACKAGES=ON
- -DTrilinos_ENABLE_PyTrilinos=OFF
- -DTrilinos_ENABLE_SEACAS=OFF
- -DTrilinos_ENABLE_SEACASChaco=OFF
- -DTrilinos_ENABLE_SEACASExodiff="$(usex netcdf)"
- -DTrilinos_ENABLE_SEACASExodus="$(usex netcdf)"
- -DTrilinos_ENABLE_TESTS="$(usex test)"
- -DZoltan2_ENABLE_Experimental=ON
- -DTPL_ENABLE_BinUtils=ON
- -DTPL_ENABLE_BLAS=ON
- -DTPL_ENABLE_LAPACK=ON
- -DTPL_ENABLE_MPI=ON
- -DTPL_ENABLE_ADOLC="$(usex adolc)"
- -DTPL_ENABLE_AMD="$(usex sparse)"
- -DTPL_ENABLE_ARPREC="$(usex arprec)"
- -DTPL_ENABLE_BLACS="$(usex scalapack)"
- -DTPL_ENABLE_BoostLib="$(usex boost)"
- -DTPL_ENABLE_Boost="$(usex boost)"
- -DTPL_ENABLE_Clp="$(usex clp)"
- -DTPL_ENABLE_CSparse="$(usex sparse)"
- -DTPL_ENABLE_CUDA="$(usex cuda)"
- -DTPL_ENABLE_CUSPARSE="$(usex cuda)"
- -DTPL_ENABLE_Eigen="$(usex eigen)"
- -DTPL_ENABLE_GLPK="$(usex glpk)"
- -DTPL_ENABLE_gtest="$(usex gtest)"
- -DTPL_ENABLE_HDF5="$(usex hdf5)"
- -DTPL_ENABLE_HWLOC="$(usex hwloc)"
- -DTPL_ENABLE_HYPRE="$(usex hypre)"
- -DTPL_ENABLE_Matio="$(usex matio)"
- -DTPL_ENABLE_METIS="$(usex metis)"
- -DTPL_ENABLE_MKL="$(usex mkl)"
- -DTPL_ENABLE_MUMPS="$(usex mumps)"
- -DTPL_ENABLE_Netcdf="$(usex netcdf)"
- -DTPL_ENABLE_PARDISO_MKL="$(usex mkl)"
- -DTPL_ENABLE_PETSC="$(usex petsc)"
- -DTPL_ENABLE_Pthread="$(usex threads)"
- -DTPL_ENABLE_QD="$(usex qd)"
- -DTPL_ENABLE_SCALAPACK="$(usex scalapack)"
- -DTPL_ENABLE_Scotch="$(usex scotch)"
- -DTPL_ENABLE_SuperLU="$(usex superlu)"
- -DTPL_ENABLE_TAUCS="$(usex taucs)"
- -DTPL_ENABLE_TBB="$(usex tbb)"
- -DTPL_ENABLE_Thrust="$(usex cuda)"
- -DTPL_ENABLE_TVMET="$(usex tvmet)"
- -DTPL_ENABLE_UMFPACK="$(usex sparse)"
- -DTPL_ENABLE_X11="$(usex X)"
- -DTPL_ENABLE_yaml-cpp="$(usex yaml)"
- -DTPL_ENABLE_Zlib="$(usex zlib)"
- -DML_ENABLE_SuperLU:BOOL=OFF
- )
-
- use eigen && \
- mycmakeargs+=(
- -DEigen_INCLUDE_DIRS="${EPREFIX}/usr/include/eigen3"
- )
- use hypre && \
- mycmakeargs+=(
- -DHYPRE_INCLUDE_DIRS="${EPREFIX}/usr/include/hypre"
- )
- use scotch && \
- mycmakeargs+=(
- -DScotch_INCLUDE_DIRS="${EPREFIX}/usr/include/scotch"
- )
-
- # cxsparse is a rewrite of csparse + extras
- use sparse && \
- mycmakeargs+=(
- -DCSparse_LIBRARY_NAMES="cxsparse"
- )
-
- # mandatory blas and lapack
- trilinos_conf blas BLAS
- trilinos_conf lapack LAPACK
- use superlu && trilinos_conf superlu SuperLU
- use metis && trilinos_conf metis METIS
-
- # blacs library is included in scalapack these days
- if use scalapack; then
- trilinos_conf scalapack SCALAPACK
- mycmakeargs+=(
- -DBLACS_LIBRARY_NAMES="scalapack"
- -DBLACS_INCLUDE_DIRS="${EPREFIX}/usr/include/blacs"
- )
- fi
-
- #
- # Make sure we use the compiler wrappers in order to build trilinos.
- #
- export CC=mpicc CXX=mpicxx && tc-export CC CXX
-
- #
- # cmake-utils eclass patches the base directory CMakeLists.txt
- # which does not work for complex Trilinos CMake modules
- #
- CMAKE_BUILD_TYPE=RELEASE cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- # Clean up the mess:
- mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
- mv "${ED}/usr/$(get_libdir)"/trilinos/cmake/* "${ED}/usr/$(get_libdir)"/cmake || die "mv failed"
- rmdir "${ED}/usr/$(get_libdir)/trilinos/cmake" || die "rmdir failed"
- if [ -f "${ED}"/lib/exodus.py ]; then
- mv "${ED}"/lib/exodus.py "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
- fi
- if [[ $(get_libdir) != lib ]]; then
- mv "${ED}"/usr/lib/pkgconfig "${ED}/usr/$(get_libdir)"
- fi
-
- #
- # register $(get_libdir)/trilinos in LDPATH so that the dynamic linker
- # has a chance to pick up the libraries...
- #
- cat >> "${T}"/99trilinos <<- EOF
- LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos"
- PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin"
- EOF
- doenvd "${T}"/99trilinos
-}
diff --git a/sci-libs/trilinos/trilinos-14.4.0.ebuild b/sci-libs/trilinos/trilinos-14.4.0.ebuild
new file mode 100644
index 000000000000..709a6fdc1fe0
--- /dev/null
+++ b/sci-libs/trilinos/trilinos-14.4.0.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="Scientific library collection for large scale problems"
+HOMEPAGE="http://trilinos.sandia.gov/"
+MY_PV="${PV//\./-}"
+PATCHSET="r0"
+SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD LGPL-2.1"
+SLOT="0"
+
+IUSE="
+ adolc all-packages arprec clp cuda eigen glpk gtest hdf5 hwloc hypre
+ matio metis mkl mumps netcdf openmp petsc qd scalapack scotch sparse
+ superlu taucs tbb test threads tvmet yaml zlib X
+"
+
+# TODO: fix export cmake function for tests
+RESTRICT="test"
+
+RDEPEND="
+ !dev-cpp/kokkos
+ dev-libs/boost:=
+ sys-libs/binutils-libs:=
+ virtual/blas
+ virtual/lapack
+ virtual/mpi
+ adolc? ( sci-libs/adolc )
+ arprec? ( sci-libs/arprec )
+ clp? ( sci-libs/coinor-clp )
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 )
+ eigen? ( dev-cpp/eigen:3 )
+ glpk? ( sci-mathematics/glpk )
+ gtest? ( dev-cpp/gtest )
+ hdf5? ( sci-libs/hdf5:=[mpi] )
+ hypre? ( sci-libs/hypre:= )
+ hwloc? ( sys-apps/hwloc:= )
+ matio? ( sci-libs/matio )
+ mkl? ( sci-libs/mkl )
+ metis? ( sci-libs/metis )
+ mumps? ( sci-libs/mumps )
+ netcdf? ( sci-libs/netcdf:= )
+ petsc? ( sci-mathematics/petsc )
+ qd? ( sci-libs/qd )
+ scalapack? ( sci-libs/scalapack )
+ scotch? ( sci-libs/scotch:= )
+ sparse? ( sci-libs/cxsparse sci-libs/umfpack )
+ superlu? ( sci-libs/superlu:= )
+ taucs? ( sci-libs/taucs )
+ tbb? ( dev-cpp/tbb:= )
+ tvmet? ( dev-libs/tvmet )
+ yaml? ( dev-cpp/yaml-cpp:= )
+ zlib? ( sys-libs/zlib )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/Trilinos-${PN}-release-${MY_PV}"
+
+PATCHES=(
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+trilinos_conf() {
+ local dirs libs d
+ for d in $($(tc-getPKG_CONFIG) --libs-only-L $1); do
+ dirs="${dirs};${d:2}"
+ done
+ [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_DIRS=${dirs:1}" )
+ for d in $($(tc-getPKG_CONFIG) --libs-only-l $1); do
+ libs="${libs};${d:2}"
+ done
+ [[ -n ${libs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_NAMES=${libs:1}" )
+ dirs=""
+ for d in $($(tc-getPKG_CONFIG) --cflags-only-I $1); do
+ dirs="${dirs};${d:2}"
+ done
+ [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_INCLUDE_DIRS=${dirs:1}" )
+}
+
+#
+# The following packages are currently disabled:
+# - SEACAS is incompatible with netcdf, see
+# https://github.com/trilinos/Trilinos/tree/master/packages/seacas#netcdf
+#
+
+src_configure() {
+ # Trilinos is a massive C++ project. Fixing all of the lto warnings and
+ # making safe for lto compilation/linking will be a massive
+ # undertaking. Thus, simply filter lto flags. bug #862987
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}"
+ -DCMAKE_SKIP_RPATH=ON
+ -DCMAKE_SKIP_INSTALL_RPATH=ON
+ -DTrilinos_INSTALL_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos"
+ -DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos"
+ -DTrilinos_ENABLE_ALL_PACKAGES="$(usex all-packages)"
+ -DTrilinos_ENABLE_Adelus=OFF
+ -DTrilinos_ENABLE_Moertel=OFF
+ -DTrilinos_ENABLE_PyTrilinos=OFF
+ -DTrilinos_ENABLE_SEACAS=OFF
+ -DTrilinos_ENABLE_Amesos=ON
+ -DTrilinos_ENABLE_AztecOO=ON
+ -DTrilinos_ENABLE_EpetraExt=ON
+ -DTrilinos_ENABLE_Epetra=ON
+ -DTrilinos_ENABLE_Ifpack=ON
+ -DTrilinos_ENABLE_ML=ON
+ -DTrilinos_ENABLE_MueLu=ON
+ -DTrilinos_ENABLE_OpenMP="$(usex openmp)"
+ -DTrilinos_ENABLE_ROL=ON
+ -DTrilinos_ENABLE_Sacado=ON
+ -DTrilinos_ENABLE_Teuchos=ON
+ -DTrilinos_ENABLE_Tpetra=ON
+ -DTrilinos_ENABLE_Zoltan=ON
+ -DTrilinos_ENABLE_TESTS="$(usex test)"
+ -DTPL_ENABLE_BinUtils=ON
+ -DTPL_ENABLE_BLAS=ON
+ -DTPL_ENABLE_LAPACK=ON
+ -DTPL_ENABLE_MPI=ON
+ -DTPL_ENABLE_ADOLC="$(usex adolc)"
+ -DTPL_ENABLE_AMD="$(usex sparse)"
+ -DTPL_ENABLE_ARPREC="$(usex arprec)"
+ -DTPL_ENABLE_BLACS="$(usex scalapack)"
+ -DTPL_ENABLE_BoostLib=ON
+ -DTPL_ENABLE_Boost=ON
+ -DTPL_ENABLE_Clp="$(usex clp)"
+ -DTPL_ENABLE_CSparse="$(usex sparse)"
+ -DTPL_ENABLE_CUDA="$(usex cuda)"
+ -DTPL_ENABLE_CUSPARSE="$(usex cuda)"
+ -DTPL_ENABLE_Eigen="$(usex eigen)"
+ -DTPL_ENABLE_GLPK="$(usex glpk)"
+ -DTPL_ENABLE_gtest="$(usex gtest)"
+ -DTPL_ENABLE_HDF5="$(usex hdf5)"
+ -DTPL_ENABLE_HWLOC="$(usex hwloc)"
+ -DTPL_ENABLE_HYPRE="$(usex hypre)"
+ -DTPL_ENABLE_Matio="$(usex matio)"
+ -DTPL_ENABLE_METIS="$(usex metis)"
+ -DTPL_ENABLE_MKL="$(usex mkl)"
+ -DTPL_ENABLE_MUMPS="$(usex mumps)"
+ -DTPL_ENABLE_Netcdf="$(usex netcdf)"
+ -DTPL_ENABLE_PARDISO_MKL="$(usex mkl)"
+ -DTPL_ENABLE_PETSC="$(usex petsc)"
+ -DTPL_ENABLE_Pthread="$(usex threads)"
+ -DTPL_ENABLE_QD="$(usex qd)"
+ -DTPL_ENABLE_SCALAPACK="$(usex scalapack)"
+ -DTPL_ENABLE_Scotch="$(usex scotch)"
+ -DTPL_ENABLE_SuperLU="$(usex superlu)"
+ -DTPL_ENABLE_TAUCS="$(usex taucs)"
+ -DTPL_ENABLE_TBB="$(usex tbb)"
+ -DTPL_ENABLE_Thrust="$(usex cuda)"
+ -DTPL_ENABLE_TVMET="$(usex tvmet)"
+ -DTPL_ENABLE_UMFPACK="$(usex sparse)"
+ -DTPL_ENABLE_X11="$(usex X)"
+ -DTPL_ENABLE_yaml-cpp="$(usex yaml)"
+ -DTPL_ENABLE_Zlib="$(usex zlib)"
+ )
+
+ #
+ # Make sure some critical configuration options are always set
+ # correctly independently of what Trilinos dependency resolver thinks
+ # it should be doing.
+ #
+ local mycmakeargs+=(
+ -DAmesos2_ENABLE_LAPACK=ON
+ -DAmesos2_ENABLE_MUMPS=OFF
+ -DTpetra_INST_SERIAL=ON
+ )
+
+ use eigen && \
+ mycmakeargs+=(
+ -DEigen_INCLUDE_DIRS="${EPREFIX}/usr/include/eigen3"
+ )
+ use hypre && \
+ mycmakeargs+=(
+ -DHYPRE_INCLUDE_DIRS="${EPREFIX}/usr/include/hypre"
+ )
+ use scotch && \
+ mycmakeargs+=(
+ -DScotch_INCLUDE_DIRS="${EPREFIX}/usr/include/scotch"
+ )
+
+ # cxsparse is a rewrite of csparse + extras
+ use sparse && \
+ mycmakeargs+=(
+ -DCSparse_LIBRARY_NAMES="cxsparse"
+ )
+
+ # mandatory blas and lapack
+ trilinos_conf blas BLAS
+ trilinos_conf lapack LAPACK
+ use superlu && trilinos_conf superlu SuperLU
+ use metis && trilinos_conf metis METIS
+
+ # blacs library is included in scalapack these days
+ if use scalapack; then
+ trilinos_conf scalapack SCALAPACK
+ mycmakeargs+=(
+ -DBLACS_LIBRARY_NAMES="scalapack"
+ -DBLACS_INCLUDE_DIRS="${EPREFIX}/usr/include/blacs"
+ )
+ fi
+
+ #
+ # Make sure we use the compiler wrappers in order to build trilinos.
+ #
+ [ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC
+ [ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX
+ export CC=mpicc CXX=mpicxx && tc-export CC CXX
+
+ # Trilinos needs a custom build type:
+ local CMAKE_BUILD_TYPE=Release
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # Clean up the mess:
+
+ # Let us move the bin directory out of the way to avoid potential
+ # clashes due to very generically named binaries such as
+ # »nvcc_wrapper«, etc.
+ mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
+
+ # Move the cmake directory to the right location:
+ mkdir -p "${ED}/usr/$(get_libdir)"/cmake
+ mv "${ED}/usr/$(get_libdir)"/trilinos/cmake/* "${ED}/usr/$(get_libdir)"/cmake || die "mv failed"
+ # Fix up include paths:
+ sed -i -e 's#external_packages#trilinos/external_packages#g' \
+ "${ED}/usr/$(get_libdir)"/cmake/**/*.cmake || die "sed failed"
+ rmdir "${ED}/usr/$(get_libdir)/trilinos/cmake" || die "rmdir failed"
+
+ # Register $(get_libdir)/trilinos in LDPATH so that the dynamic linker
+ # has a chance to pick up the libraries, also add Trilinos' binaries ot
+ # the PATH environment variable.
+ cat >> "${T}"/99trilinos <<- EOF
+ LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos"
+ PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin"
+ EOF
+ doenvd "${T}"/99trilinos
+}
diff --git a/sci-libs/trilinos/trilinos-15.0.0.ebuild b/sci-libs/trilinos/trilinos-15.0.0.ebuild
new file mode 100644
index 000000000000..2d104e3e9ce2
--- /dev/null
+++ b/sci-libs/trilinos/trilinos-15.0.0.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="Scientific library collection for large scale problems"
+HOMEPAGE="http://trilinos.sandia.gov/"
+MY_PV="${PV//\./-}"
+PATCHSET="r0"
+SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="BSD LGPL-2.1"
+SLOT="0"
+
+IUSE="
+ adolc all-packages arprec clp cuda eigen glpk gtest hdf5 hwloc hypre
+ matio metis mkl mumps netcdf openmp petsc qd scalapack scotch sparse
+ superlu taucs tbb test threads tvmet yaml zlib X
+"
+
+# TODO: fix export cmake function for tests
+RESTRICT="test"
+
+RDEPEND="
+ !dev-cpp/kokkos
+ dev-libs/boost:=
+ sys-libs/binutils-libs:=
+ virtual/blas
+ virtual/lapack
+ virtual/mpi
+ adolc? ( sci-libs/adolc )
+ arprec? ( sci-libs/arprec )
+ clp? ( sci-libs/coinor-clp )
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 )
+ eigen? ( dev-cpp/eigen:3 )
+ glpk? ( sci-mathematics/glpk )
+ gtest? ( dev-cpp/gtest )
+ hdf5? ( sci-libs/hdf5:=[mpi] )
+ hypre? ( sci-libs/hypre:= )
+ hwloc? ( sys-apps/hwloc:= )
+ matio? ( sci-libs/matio )
+ mkl? ( sci-libs/mkl )
+ metis? ( sci-libs/metis )
+ mumps? ( sci-libs/mumps )
+ netcdf? ( sci-libs/netcdf:= )
+ petsc? ( sci-mathematics/petsc )
+ qd? ( sci-libs/qd )
+ scalapack? ( sci-libs/scalapack )
+ scotch? ( sci-libs/scotch:= )
+ sparse? ( sci-libs/cxsparse sci-libs/umfpack )
+ superlu? ( sci-libs/superlu:= )
+ taucs? ( sci-libs/taucs )
+ tbb? ( dev-cpp/tbb:= )
+ tvmet? ( dev-libs/tvmet )
+ yaml? ( dev-cpp/yaml-cpp:= )
+ zlib? ( sys-libs/zlib )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/Trilinos-${PN}-release-${MY_PV}"
+
+PATCHES=(
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+trilinos_conf() {
+ local dirs libs d
+ for d in $($(tc-getPKG_CONFIG) --libs-only-L $1); do
+ dirs="${dirs};${d:2}"
+ done
+ [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_DIRS=${dirs:1}" )
+ for d in $($(tc-getPKG_CONFIG) --libs-only-l $1); do
+ libs="${libs};${d:2}"
+ done
+ [[ -n ${libs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_NAMES=${libs:1}" )
+ dirs=""
+ for d in $($(tc-getPKG_CONFIG) --cflags-only-I $1); do
+ dirs="${dirs};${d:2}"
+ done
+ [[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_INCLUDE_DIRS=${dirs:1}" )
+}
+
+src_configure() {
+ # Trilinos is a massive C++ project. Fixing all of the lto warnings and
+ # making safe for lto compilation/linking will be a massive
+ # undertaking. Thus, simply filter lto flags. bug #862987
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}"
+ -DCMAKE_SKIP_RPATH=ON
+ -DCMAKE_SKIP_INSTALL_RPATH=ON
+ -DTrilinos_INSTALL_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos"
+ -DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos"
+ -DTrilinos_ENABLE_ALL_PACKAGES="$(usex all-packages)"
+ -DTrilinos_ENABLE_PyTrilinos=OFF
+ -DTrilinos_ENABLE_Amesos=ON
+ -DTrilinos_ENABLE_AztecOO=ON
+ -DTrilinos_ENABLE_EpetraExt=ON
+ -DTrilinos_ENABLE_Epetra=ON
+ -DTrilinos_ENABLE_Ifpack=ON
+ -DTrilinos_ENABLE_ML=ON
+ -DTrilinos_ENABLE_MueLu=ON
+ -DTrilinos_ENABLE_OpenMP="$(usex openmp)"
+ -DTrilinos_ENABLE_ROL=ON
+ -DTrilinos_ENABLE_Sacado=ON
+ -DTrilinos_ENABLE_Teuchos=ON
+ -DTrilinos_ENABLE_Tpetra=ON
+ -DTrilinos_ENABLE_Zoltan=ON
+ -DTrilinos_ENABLE_TESTS="$(usex test)"
+ -DTPL_ENABLE_BinUtils=ON
+ -DTPL_ENABLE_BLAS=ON
+ -DTPL_ENABLE_LAPACK=ON
+ -DTPL_ENABLE_MPI=ON
+ -DTPL_ENABLE_ADOLC="$(usex adolc)"
+ -DTPL_ENABLE_AMD="$(usex sparse)"
+ -DTPL_ENABLE_ARPREC="$(usex arprec)"
+ -DTPL_ENABLE_BLACS="$(usex scalapack)"
+ -DTPL_ENABLE_BoostLib=ON
+ -DTPL_ENABLE_Boost=ON
+ -DTPL_ENABLE_Clp="$(usex clp)"
+ -DTPL_ENABLE_CSparse="$(usex sparse)"
+ -DTPL_ENABLE_CUDA="$(usex cuda)"
+ -DTPL_ENABLE_CUSPARSE="$(usex cuda)"
+ -DTPL_ENABLE_Eigen="$(usex eigen)"
+ -DTPL_ENABLE_GLPK="$(usex glpk)"
+ -DTPL_ENABLE_gtest="$(usex gtest)"
+ -DTPL_ENABLE_HDF5="$(usex hdf5)"
+ -DTPL_ENABLE_HWLOC="$(usex hwloc)"
+ -DTPL_ENABLE_HYPRE="$(usex hypre)"
+ -DTPL_ENABLE_Matio="$(usex matio)"
+ -DTPL_ENABLE_METIS="$(usex metis)"
+ -DTPL_ENABLE_MKL="$(usex mkl)"
+ -DTPL_ENABLE_MUMPS="$(usex mumps)"
+ -DTPL_ENABLE_Netcdf="$(usex netcdf)"
+ -DTPL_ENABLE_PARDISO_MKL="$(usex mkl)"
+ -DTPL_ENABLE_PETSC="$(usex petsc)"
+ -DTPL_ENABLE_Pthread="$(usex threads)"
+ -DTPL_ENABLE_QD="$(usex qd)"
+ -DTPL_ENABLE_SCALAPACK="$(usex scalapack)"
+ -DTPL_ENABLE_Scotch="$(usex scotch)"
+ -DTPL_ENABLE_SuperLU="$(usex superlu)"
+ -DTPL_ENABLE_TAUCS="$(usex taucs)"
+ -DTPL_ENABLE_TBB="$(usex tbb)"
+ -DTPL_ENABLE_Thrust="$(usex cuda)"
+ -DTPL_ENABLE_TVMET="$(usex tvmet)"
+ -DTPL_ENABLE_UMFPACK="$(usex sparse)"
+ -DTPL_ENABLE_X11="$(usex X)"
+ -DTPL_ENABLE_yaml-cpp="$(usex yaml)"
+ -DTPL_ENABLE_Zlib="$(usex zlib)"
+ )
+
+ #
+ # Make sure some critical configuration options are always set
+ # correctly independently of what Trilinos dependency resolver thinks
+ # it should be doing.
+ #
+ local mycmakeargs+=(
+ -DAmesos2_ENABLE_LAPACK=ON
+ -DAmesos2_ENABLE_MUMPS=OFF
+ -DTpetra_INST_SERIAL=ON
+ )
+
+ use eigen && \
+ mycmakeargs+=(
+ -DEigen_INCLUDE_DIRS="${EPREFIX}/usr/include/eigen3"
+ )
+ use hypre && \
+ mycmakeargs+=(
+ -DHYPRE_INCLUDE_DIRS="${EPREFIX}/usr/include/hypre"
+ )
+ use scotch && \
+ mycmakeargs+=(
+ -DScotch_INCLUDE_DIRS="${EPREFIX}/usr/include/scotch"
+ )
+
+ # cxsparse is a rewrite of csparse + extras
+ use sparse && \
+ mycmakeargs+=(
+ -DCSparse_LIBRARY_NAMES="cxsparse"
+ )
+
+ # mandatory blas and lapack
+ trilinos_conf blas BLAS
+ trilinos_conf lapack LAPACK
+ use superlu && trilinos_conf superlu SuperLU
+ use metis && trilinos_conf metis METIS
+
+ # blacs library is included in scalapack these days
+ if use scalapack; then
+ trilinos_conf scalapack SCALAPACK
+ mycmakeargs+=(
+ -DBLACS_LIBRARY_NAMES="scalapack"
+ -DBLACS_INCLUDE_DIRS="${EPREFIX}/usr/include/blacs"
+ )
+ fi
+
+ #
+ # Make sure we use the compiler wrappers in order to build trilinos.
+ #
+ [ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC
+ [ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX
+ export CC=mpicc CXX=mpicxx && tc-export CC CXX
+
+ # Trilinos needs a custom build type:
+ local CMAKE_BUILD_TYPE=Release
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # Clean up the mess:
+
+ # Let us move the bin directory out of the way to avoid potential
+ # clashes due to very generically named binaries such as
+ # »nvcc_wrapper«, etc.
+ mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
+
+ # Move the cmake directory to the right location:
+ mkdir -p "${ED}/usr/$(get_libdir)"/cmake
+ mv "${ED}/usr/$(get_libdir)"/trilinos/cmake/* "${ED}/usr/$(get_libdir)"/cmake || die "mv failed"
+ # Fix up include paths:
+ sed -i -e 's#external_packages#trilinos/external_packages#g' \
+ "${ED}/usr/$(get_libdir)"/cmake/**/*.cmake || die "sed failed"
+ rmdir "${ED}/usr/$(get_libdir)/trilinos/cmake" || die "rmdir failed"
+
+ # Register $(get_libdir)/trilinos in LDPATH so that the dynamic linker
+ # has a chance to pick up the libraries, also add Trilinos' binaries ot
+ # the PATH environment variable.
+ cat >> "${T}"/99trilinos <<- EOF
+ LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos"
+ PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin"
+ EOF
+ doenvd "${T}"/99trilinos
+}
diff --git a/sci-libs/udunits/Manifest b/sci-libs/udunits/Manifest
index ec1d2f5bf2f7..49a3f8d88fe0 100644
--- a/sci-libs/udunits/Manifest
+++ b/sci-libs/udunits/Manifest
@@ -1,2 +1 @@
-DIST udunits-2.1.24.tar.gz 1059344 BLAKE2B a28f13e886d4db875078ffee7577f4e17712987b0d87df586e037c1f9a0986ad206ea8bf648920269890d458a6b65250c896f4ea9ec2e8e7bfbe6e1692967530 SHA512 71af2aa62300dd6a2c58318d75cb9182433a208e28446725334a3a80195ebdae77aebe66e6c4e12b53b675501cf3295de2960d1e8beb1496a547d4eed0cde98e
-DIST udunits-2.2.20.tar.gz 1002380 BLAKE2B 63bc2756b32aa620f390fa2b033192e8a519b4834d83ca93315ef94ec926814e01906476d7aa1dc8553505ca1a787e71ed358bccefd3c55f6141aa27247682a7 SHA512 5d5803d9c2cbfdba7c760739f522680e3e69921256119af83e139a36fbcb4d7c84e044661f2987e3422f1eea548abaf4f585946643e8db36cd1d7065b86f8737
+DIST udunits-2.2.28.tar.gz 1224503 BLAKE2B 64d64c609cfbada505c5e163a1e757cd25c09dd75865f255ec8f3bfc26dfafa0f2b9b9997602cb91f80ae81e1fa74bfc0f2d9f3d2d29f880c64e8785e5cbb1a8 SHA512 86146d489e1d472723e059fb15a5dd697a67568ffb5cdba17d191eb304c018bffffea708a73cce50a6c87ad33b387e5ee6653377ae0ebe9986117dfd41e9a5a1
diff --git a/sci-libs/udunits/files/udunits-2.1.15-autotools.patch b/sci-libs/udunits/files/udunits-2.1.15-autotools.patch
deleted file mode 100644
index 31c67656a815..000000000000
--- a/sci-libs/udunits/files/udunits-2.1.15-autotools.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-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
index d269139995ed..81cafb5791e0 100644
--- a/sci-libs/udunits/metadata.xml
+++ b/sci-libs/udunits/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/udunits/udunits-2.1.24-r1.ebuild b/sci-libs/udunits/udunits-2.1.24-r1.ebuild
deleted file mode 100644
index 4ab59d99c971..000000000000
--- a/sci-libs/udunits/udunits-2.1.24-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils fortran-2
-
-DESCRIPTION="Library for manipulating units of physical quantities"
-HOMEPAGE="https://www.unidata.ucar.edu/software/udunits/"
-SRC_URI="ftp://ftp.unidata.ucar.edu/pub/udunits/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="UCAR-Unidata"
-KEYWORDS="~alpha amd64 ~hppa ~mips ppc ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-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 || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- doinfo udunits2.info prog/udunits2prog.info
- dodoc CHANGE_LOG ANNOUNCEMENT
- dodoc udunits2.pdf prog/udunits2prog.pdf
- docinto html
- dodoc udunits2.html prog/udunits2prog.html
-}
diff --git a/sci-libs/udunits/udunits-2.2.20.ebuild b/sci-libs/udunits/udunits-2.2.20.ebuild
deleted file mode 100644
index dc56fc673720..000000000000
--- a/sci-libs/udunits/udunits-2.2.20.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit fortran-2
-
-DESCRIPTION="Library for manipulating units of physical quantities"
-HOMEPAGE="https://www.unidata.ucar.edu/software/udunits/"
-SRC_URI="ftp://ftp.unidata.ucar.edu/pub/udunits/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="UCAR-BSD"
-KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="dev-libs/expat"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- doinfo udunits2.info prog/udunits2prog.info
- dodoc CHANGE_LOG ANNOUNCEMENT
- dodoc udunits2.pdf prog/udunits2prog.pdf
- docinto html
- dodoc udunits2.html prog/udunits2prog.html
-}
diff --git a/sci-libs/udunits/udunits-2.2.28.ebuild b/sci-libs/udunits/udunits-2.2.28.ebuild
new file mode 100644
index 000000000000..3dbebc08a08f
--- /dev/null
+++ b/sci-libs/udunits/udunits-2.2.28.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit fortran-2
+
+DESCRIPTION="Library for manipulating units of physical quantities"
+HOMEPAGE="https://www.unidata.ucar.edu/software/udunits/"
+SRC_URI="ftp://ftp.unidata.ucar.edu/pub/udunits/${P}.tar.gz"
+
+LICENSE="UCAR-BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~mips ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="dev-libs/expat"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ local i
+ for i in udunits2 udunits2-{accepted,base,common,derived,prefixes}; do
+ dosym ../../../udunits/"${i}".xml usr/share/doc/${PF}/html/"${i}".xml
+ done
+ rm "${ED}/usr/share/doc/${PF}/html/*.xml" || die
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/ufconfig/metadata.xml b/sci-libs/ufconfig/metadata.xml
index c1011111c9d8..62ac0eb03480 100644
--- a/sci-libs/ufconfig/metadata.xml
+++ b/sci-libs/ufconfig/metadata.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<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>
+ 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.7.1.ebuild b/sci-libs/ufconfig/ufconfig-3.7.1.ebuild
index 0481ccd35d98..635e21b8ae0c 100644
--- a/sci-libs/ufconfig/ufconfig-3.7.1.ebuild
+++ b/sci-libs/ufconfig/ufconfig-3.7.1.ebuild
@@ -1,35 +1,39 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=4
+EAPI=7
+
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"
+S="${WORKDIR}/${MY_PN}"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ppc ppc64 sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="static-libs"
-DEPEND=""
-
-S="${WORKDIR}/${MY_PN}"
src_compile() {
- echo "$(tc-getCC) ${CFLAGS} -fPIC -c UFconfig.c -o UFconfig.lo"
+ elog "Running: $(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* ]] && \
+ if [[ ${CHOST} == *-darwin* ]]; then
sharedlink="-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libufconfig$(get_libname ${PV})"
- echo "$(tc-getCC) ${LDFLAGS} ${sharedlink} -o libufconfig$(get_libname ${PV}) UFconfig.lo"
+ fi
+
+ elog "Running: $(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"
+ elog "Running: $(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
+
+ elog "Running: $(tc-getAR) libufconfig.a UFconfig.o"
+ $(tc-getAR) cr libufconfig.a UFconfig.o || die
fi
}
diff --git a/sci-libs/umfpack/Manifest b/sci-libs/umfpack/Manifest
index 2b2174921691..96f2f37d9f04 100644
--- a/sci-libs/umfpack/Manifest
+++ b/sci-libs/umfpack/Manifest
@@ -1 +1,2 @@
+DIST SuiteSparse-7.0.0.gh.tar.gz 64884962 BLAKE2B 06c6cf54ffae188f5179e0cd45523700448d8999b44d6b1aeb3dfb99ccf34a570f6aff600988a144c68a4a2d8f41e32f7145e09349aed3bd889501ea031c8340 SHA512 50b1cd7bab6e4c063984162ed803fd13b69df7f67efe8ce7af15eace6b0ccd1669b6e57daa59511fd9531a847433cda49c1f52bfff234031af0d79e7fbd6423e
DIST umfpack-5.7.9.tar.bz2 772026 BLAKE2B 6d6dc1ba47b8f473884c1cb17d3eaa363d88281512e33586a0af0c2bcb7a523272bef4d8da0a29e2a5a84c8f0cd0ee6830ec10247971db63b4c319e6fa9a3c42 SHA512 5ad57467b5b7e4579f3cc9e2e7c92a0262ac2ef991a606d079b749b66e10da60aceaa4b0e741c116f8866da23c0f7c06368fe2b08d66d51383683f0dcbeddba3
diff --git a/sci-libs/umfpack/metadata.xml b/sci-libs/umfpack/metadata.xml
index 412bad8f33e1..82e4a996b5c7 100644
--- a/sci-libs/umfpack/metadata.xml
+++ b/sci-libs/umfpack/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -10,9 +10,12 @@
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>
+ </longdescription>
<use>
<flag name="cholmod">Use <pkg>sci-libs/cholmod</pkg> for matrix
ordering</flag>
</use>
+ <upstream>
+ <remote-id type="github">DrTimothyAldenDavis/SuiteSparse</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/umfpack/umfpack-5.7.9.ebuild b/sci-libs/umfpack/umfpack-5.7.9.ebuild
index ba0e7506140d..dc4a12bb49ba 100644
--- a/sci-libs/umfpack/umfpack-5.7.9.ebuild
+++ b/sci-libs/umfpack/umfpack-5.7.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,17 +6,18 @@ EAPI=7
inherit toolchain-funcs
DESCRIPTION="Unsymmetric multifrontal sparse LU factorization library"
-HOMEPAGE="http://faculty.cse.tamu.edu/davis/suitesparse.html"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
SRC_URI="http://202.36.178.9/sage/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="doc +cholmod static-libs"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="+cholmod doc"
BDEPEND="virtual/pkgconfig
doc? ( virtual/latex-base )"
-DEPEND="sci-libs/amd
+DEPEND="
+ sci-libs/amd
>=sci-libs/suitesparseconfig-5.4.0
virtual/blas
cholmod? ( sci-libs/cholmod )"
@@ -24,9 +25,9 @@ RDEPEND="${DEPEND}"
src_configure() {
econf \
+ --disable-static \
--with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
$(use_with doc) \
- $(use_enable static-libs static) \
$(use_with cholmod)
}
@@ -34,3 +35,10 @@ src_compile() {
use doc && export VARTEXFONTS="${T}/fonts"
default
}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/sci-libs/umfpack/umfpack-6.1.0.ebuild b/sci-libs/umfpack/umfpack-6.1.0.ebuild
new file mode 100644
index 000000000000..9c3dbd8753ad
--- /dev/null
+++ b/sci-libs/umfpack/umfpack-6.1.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib toolchain-funcs
+
+Sparse_PV="7.0.0"
+Sparse_P="SuiteSparse-${Sparse_PV}"
+DESCRIPTION="Unsymmetric multifrontal sparse LU factorization library"
+HOMEPAGE="https://people.engr.tamu.edu/davis/suitesparse.html"
+SRC_URI="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${Sparse_PV}.tar.gz -> ${Sparse_P}.gh.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0/6"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc openmp test"
+RESTRICT="!test? ( test )"
+
+DEPEND=">=sci-libs/suitesparseconfig-${Sparse_PV}
+ >=sci-libs/amd-3.0.3
+ >=sci-libs/cholmod-4.0.3[openmp=]
+ virtual/blas"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/${Sparse_P}/${PN^^}"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+multilib_src_configure() {
+ # Fortran is only used to compile additional demo programs that can be tested.
+ local mycmakeargs=(
+ -DNSTATIC=ON
+ -DNOPENMP=$(usex openmp OFF ON)
+ -DNFORTRAN=ON
+ -DDEMO=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ # Run simple demo first
+ # Other demo files have issues making them unsuitable for testing
+ ./umfpack_simple || die "failed testing umfpack_simple"
+}
+multilib_src_install() {
+ if use doc; then
+ pushd "${S}/Doc"
+ rm -rf *.pdf
+ emake
+ popd
+ DOCS="${S}/Doc/*.pdf"
+ fi
+ cmake_src_install
+}
diff --git a/sci-libs/volk/Manifest b/sci-libs/volk/Manifest
index 76da000db8d5..9f69fdc2758b 100644
--- a/sci-libs/volk/Manifest
+++ b/sci-libs/volk/Manifest
@@ -1 +1,2 @@
-DIST volk-2.3.0.tar.gz 344763 BLAKE2B 0f0e0cb7e6cd28086802c1618685ec30dedf5cdf67bef7ed09f3a7482f84d6e7972f4b22c096676bdef34c66c60d936ca8ab300cd4da07f6714cface1c2846ed SHA512 9e3b405b7be46b4f5ff61a4d42fa9013fc55169bc18c9cf9253e446fe23fd12dc0356adb9aa176e33dfa4cc478e4b9226bee906a2d89ef83bac3b28f52816382
+DIST volk-3.1.0.tar.xz 420088 BLAKE2B 709c3561675b0f71a1400d7b9332aa18c6d2ae848c993914cb40484890f631bde48da12ab9756be38cca9fbb20d0d851cb40ff5bfe3722ff72cd0b4daff1b11d SHA512 0c39c06e5121782461c0ea2c84402c84f9609a2a09ce7218e976472081d09531746ea1cde767f329a69d72d51cf5715bf7f2df1b26a8d8ddd1694e8239f5ff21
+DIST volk-3.1.2.tar.xz 381388 BLAKE2B c67049921cf0817ff263ae3b0b14b2939e69e461fa731b47f0f923ebe730e67a8715f20738b1991fc9956abd12eccfa50a421460feef12e7678d26a25d73acce SHA512 6fd99b037e2c2481f4886a70021403a8641567a0c0280496194da7ef1b8cf7dbecf91d5bfc1b1c3449788de360206bae5036d796a01bbec211ccf9ccbbc357ee
diff --git a/sci-libs/volk/metadata.xml b/sci-libs/volk/metadata.xml
index 2b9b4266ca5b..7bac8b85cf68 100644
--- a/sci-libs/volk/metadata.xml
+++ b/sci-libs/volk/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zerochaos@gentoo.org</email>
<name>Rick Farina</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">gnuradio/volk</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/volk/volk-2.3.0-r1.ebuild b/sci-libs/volk/volk-2.3.0-r1.ebuild
deleted file mode 100644
index e8f45f0f6f9c..000000000000
--- a/sci-libs/volk/volk-2.3.0-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-#https://github.com/gnuradio/volk/issues/383
-CMAKE_BUILD_TYPE="None"
-inherit cmake python-single-r1
-
-DESCRIPTION="vector optimized library of kernels"
-HOMEPAGE="http://libvolk.org"
-SRC_URI="https://github.com/gnuradio/volk/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="orc test"
-
-RDEPEND="!<net-wireless/gnuradio-3.8
- dev-libs/boost:=
- orc? ( dev-lang/orc )"
-DEPEND="${RDEPEND}
- $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]')"
-
-RESTRICT="test"
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_ORC=$(usex orc)
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DENABLE_TESTING="$(usex test)"
- -DENABLE_PROFILING=OFF
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- python_optimize
-}
diff --git a/sci-libs/volk/volk-3.1.0.ebuild b/sci-libs/volk/volk-3.1.0.ebuild
new file mode 100644
index 000000000000..0a400d90ff06
--- /dev/null
+++ b/sci-libs/volk/volk-3.1.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+#https://github.com/gnuradio/volk/issues/383
+CMAKE_BUILD_TYPE="None"
+inherit cmake python-single-r1
+
+DESCRIPTION="vector optimized library of kernels"
+HOMEPAGE="http://libvolk.org"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gnuradio/volk.git"
+else
+ SRC_URI="https://github.com/gnuradio/volk/releases/download/v${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~riscv ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="orc test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RDEPEND="${PYTHON_DEPS}
+ orc? ( dev-lang/orc )"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')"
+
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_ORC=$(usex orc)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DENABLE_TESTING="$(usex test)"
+ -DENABLE_PROFILING=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Remove stray python files generated by the build system
+ find "${ED}" -name '*.pyc' -exec rm -f {} \; || die
+ find "${ED}" -name '*.pyo' -exec rm -f {} \; || die
+ python_optimize
+}
+
+src_test() {
+ local myctestargs=(
+ -E "(check_lgpl)"
+ )
+ cmake_src_test
+}
diff --git a/sci-libs/volk/volk-3.1.2.ebuild b/sci-libs/volk/volk-3.1.2.ebuild
new file mode 100644
index 000000000000..0a400d90ff06
--- /dev/null
+++ b/sci-libs/volk/volk-3.1.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+#https://github.com/gnuradio/volk/issues/383
+CMAKE_BUILD_TYPE="None"
+inherit cmake python-single-r1
+
+DESCRIPTION="vector optimized library of kernels"
+HOMEPAGE="http://libvolk.org"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gnuradio/volk.git"
+else
+ SRC_URI="https://github.com/gnuradio/volk/releases/download/v${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~riscv ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="orc test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RDEPEND="${PYTHON_DEPS}
+ orc? ( dev-lang/orc )"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')"
+
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_ORC=$(usex orc)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DENABLE_TESTING="$(usex test)"
+ -DENABLE_PROFILING=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Remove stray python files generated by the build system
+ find "${ED}" -name '*.pyc' -exec rm -f {} \; || die
+ find "${ED}" -name '*.pyo' -exec rm -f {} \; || die
+ python_optimize
+}
+
+src_test() {
+ local myctestargs=(
+ -E "(check_lgpl)"
+ )
+ cmake_src_test
+}
diff --git a/sci-libs/volk/volk-9999.ebuild b/sci-libs/volk/volk-9999.ebuild
new file mode 100644
index 000000000000..f86ccd6d99f6
--- /dev/null
+++ b/sci-libs/volk/volk-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+#https://github.com/gnuradio/volk/issues/383
+CMAKE_BUILD_TYPE="None"
+inherit cmake python-single-r1
+
+DESCRIPTION="vector optimized library of kernels"
+HOMEPAGE="http://libvolk.org"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/gnuradio/volk.git"
+else
+ SRC_URI="https://github.com/gnuradio/volk/releases/download/v${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~riscv ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="orc test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RDEPEND="${PYTHON_DEPS}
+ orc? ( dev-lang/orc )"
+DEPEND="${RDEPEND}
+ $(python_gen_cond_dep 'dev-python/mako[${PYTHON_USEDEP}]')"
+
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_ORC=$(usex orc)
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DENABLE_TESTING="$(usex test)"
+ -DENABLE_PROFILING=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # Remove stray python files generated by the build system
+ find "${ED}" -name '*.pyc' -exec rm -f {} \; || die
+ find "${ED}" -name '*.pyo' -exec rm -f {} \; || die
+ python_optimize
+}
+
+src_test() {
+ local myctestargs=(
+ -E "(check_lgpl)"
+ )
+ cmake_src_test
+}
diff --git a/sci-libs/voro++/files/voro++-0.4.6-cmake.patch b/sci-libs/voro++/files/voro++-0.4.6-cmake.patch
index c848748c5cf7..f8310097b76d 100644
--- a/sci-libs/voro++/files/voro++-0.4.6-cmake.patch
+++ b/sci-libs/voro++/files/voro++-0.4.6-cmake.patch
@@ -1,9 +1,9 @@
Index: CMakeLists.txt
===================================================================
---- a/CMakeLists.txt (revision 0)
-+++ b/CMakeLists.txt (working copy)
-@@ -0,0 +1,109 @@
-+cmake_minimum_required(VERSION 2.6)
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -0,0 +1,98 @@
++cmake_minimum_required(VERSION 2.8.12)
+
+project(voro++)
+
@@ -28,18 +28,9 @@ Index: CMakeLists.txt
+include(CheckCXXCompilerFlag)
+
+########################################################################
-+# User input options #
++# Standard install paths #
+########################################################################
-+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)
++include(GNUInstallDirs)
+
+########################################################################
+#Find external packages
@@ -78,14 +69,14 @@ Index: CMakeLists.txt
+set_target_properties(voro++ PROPERTIES
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/src"
+ SOVERSION ${SOVERSION})
-+install(TARGETS voro++ LIBRARY DESTINATION ${LIB} ARCHIVE DESTINATION ${LIB})
++install(TARGETS voro++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+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)
++install(TARGETS cmd_line RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+#for voto++.hh
+include_directories(${CMAKE_SOURCE_DIR}/src)
@@ -102,40 +93,11 @@ Index: CMakeLists.txt
+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)
++install(FILES ${VORO_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/voro++)
++install(FILES ${CMAKE_SOURCE_DIR}/man/voro++.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+
+if (DOXYGEN_FOUND)
-+ add_custom_target(help COMMAND ${DOXYGEN_EXECUTABLE} src/Doxyfile
++ add_custom_target(doxygen 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
-===================================================================
---- a/CMakeModules/cmake_uninstall.cmake.in (revision 0)
-+++ b/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
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/sci-libs/voro++/metadata.xml
+++ b/sci-libs/voro++/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/voro++/voro++-0.4.6-r1.ebuild b/sci-libs/voro++/voro++-0.4.6-r1.ebuild
index b1fa72623758..4bddb96ea028 100644
--- a/sci-libs/voro++/voro++-0.4.6-r1.ebuild
+++ b/sci-libs/voro++/voro++-0.4.6-r1.ebuild
@@ -1,24 +1,17 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils
+inherit cmake
-DESCRIPTION="A 3D Voronoi cell software library"
+DESCRIPTION="3D Voronoi cell software library"
HOMEPAGE="http://math.lbl.gov/voro++/"
SRC_URI="http://math.lbl.gov/voro++/download/dir/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~x86"
IUSE=""
PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DLIB=$(get_libdir)
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/votca-tools/Manifest b/sci-libs/votca-tools/Manifest
deleted file mode 100644
index 3e48bbb29f71..000000000000
--- a/sci-libs/votca-tools/Manifest
+++ /dev/null
@@ -1,7 +0,0 @@
-DIST votca-tools-1.4.1.tar.gz 103152 BLAKE2B 73dc726ea899ceb65d0406f3795f1df79a6184d65e50e95be3768678a2d006b75e487dbe3df5d44be4b5ba3899aeeb01ed63b51755bd46b546b017ccc0406d38 SHA512 19165be7c9903cb664051a6556f9fd689b02af71156f040960008e8d74e4a32adfe283c67eb7b53c8bdc6ae6f72516ad0b674d9f2b3354ca50f082b1651dafef
-DIST votca-tools-1.4.tar.gz 103102 BLAKE2B a398d20b628148ec753ee1e59353e272dbda93848be11ecccaf2153385ebcac62c7b819c4ef0b9b1a7cfc7dfd85136d042726cc996af79a4dad64375f5aa9f6c SHA512 7c4bf2e2ba8cf795f03879138787db3875f48db56b88394c98b18cef0ae90e636d8aafff42eb62a408df06a91583e37e59b33440e83de9f4338295e9ccfc9be5
-DIST votca-tools-1.5.1.tar.gz 129629 BLAKE2B ab68b38241d2c065939cf0b2e08603eaaccf613454bb64056c3d3d03472501e2079408ce856fbcc7243d51d035acec0b52c9767e2d687234296c7858f1a46fa4 SHA512 c8fe4baee0f4586dbe1a9f5b7c33b7d6b16ef0ebc35b50febfdcb049b09cd150dec3a5e9b98b43430db66f866dd01c1776f6777f01d227246c9d7b7ca879ea72
-DIST votca-tools-1.5.tar.gz 129464 BLAKE2B 2ab72758cc7c9bed5a49c924f7f0a93dc562a43cefbcc84f393656fd6c6b165152114eab48131db4d42008472d01103b5abba6ae0cf12779fe1ffacbcd65dc11 SHA512 fdee932c861742961937bdb88a1ace8caa4041c38ce80ece3b27e8a4b624248c21bf9be63b157565d1114047d3895c8b959f95b4fa49225c0cd1b2e708ef54f0
-DIST votca-tools-1.6.1.tar.gz 110141 BLAKE2B 948908a3aedb360d63aaf4077de366fb8dad7b5c97cd4532458a67e90e6e0271ba4ef30a23be264f426a1f860708592360982f283346d0a4788111719d3a8ee9 SHA512 e7dc03df46670f83139c0283824a630d8bec6cda5da156bc09e35e3c373f1cc65359ddb912e6bf19431a588acc5569ad57000045083d155fcc15c93980cfd26e
-DIST votca-tools-1.6.tar.gz 109824 BLAKE2B e030899e210e0f3030d43796a468ea20a573fe7ee62fbfde53e2e6865a9c0657d92ed06ddc44ebfa1c37c6142c865e97380e00570070351d75c403ead6fcfd19 SHA512 0159bc10066e05da8ba0f70e3c70d8cb4cd7b07ebd58edff1ccfeb86504af855eb5cae7184200e5c8ee3a3f6b6b85ec46a045f00dc8e681073ae8fdbbfc3965a
-DIST votca-tools-1.6_rc1.tar.gz 128577 BLAKE2B d9270739c00f945ff4af24e45a529e73ff0da596956791991f03b5586134d16b5fec077b3859dcd685de96a334f419f5f82ede7df60614482c9fddc61a01ca8d SHA512 42b0eae148bb93293ac16e193d2595aaa850dcee0dcaab1f6cf0ca8e36a95a1719a03243d421fbfb1034c81baf2ef294768a86530f0d69b59862df95846241ed
diff --git a/sci-libs/votca-tools/files/197.patch b/sci-libs/votca-tools/files/197.patch
deleted file mode 100644
index a0e4245c7635..000000000000
--- a/sci-libs/votca-tools/files/197.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 32c497808d3ff52a25cd0367c602f57577d56352 Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans@votca.org>
-Date: Thu, 5 Dec 2019 07:16:02 -0700
-Subject: [PATCH] VOTCA_TOOLSConfig.cmake.in: only add VOTCA::votca_compare
- once
-
----
- src/libtools/VOTCA_TOOLSConfig.cmake.in | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/libtools/VOTCA_TOOLSConfig.cmake.in b/src/libtools/VOTCA_TOOLSConfig.cmake.in
-index c69c0426..b129913f 100644
---- a/src/libtools/VOTCA_TOOLSConfig.cmake.in
-+++ b/src/libtools/VOTCA_TOOLSConfig.cmake.in
-@@ -2,8 +2,10 @@ include(CMakeFindDependencyMacro)
- find_dependency(Eigen3 NO_MODULE)
- find_dependency(Boost 1.53.0 REQUIRED COMPONENTS program_options)
- include("${CMAKE_CURRENT_LIST_DIR}/VOTCA_TOOLS_Targets.cmake")
--add_executable(VOTCA::votca_compare IMPORTED)
--set_property(TARGET VOTCA::votca_compare PROPERTY IMPORTED_LOCATION "@CMAKE_INSTALL_FULL_BINDIR@/votca_compare")
-+if(NOT TARGET VOTCA::votca_compare)
-+ add_executable(VOTCA::votca_compare IMPORTED)
-+ set_property(TARGET VOTCA::votca_compare PROPERTY IMPORTED_LOCATION "@CMAKE_INSTALL_FULL_BINDIR@/votca_compare")
-+endif()
- if(@MKL_FOUND@)
- if(NOT TARGET MKL::MKL)
- add_library(MKL::MKL UNKNOWN IMPORTED)
diff --git a/sci-libs/votca-tools/metadata.xml b/sci-libs/votca-tools/metadata.xml
deleted file mode 100644
index bdb57bcaa718..000000000000
--- a/sci-libs/votca-tools/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
- <maintainer type="project">
- <email>sci-chemistry@gentoo.org</email>
- <name>Gentoo Chemistry Project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">votca/tools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sci-libs/votca-tools/votca-tools-1.4.1.ebuild b/sci-libs/votca-tools/votca-tools-1.4.1.ebuild
deleted file mode 100644
index 182893347bc4..000000000000
--- a/sci-libs/votca-tools/votca-tools-1.4.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc +fftw +gsl sqlite"
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- fftw? ( sci-libs/fftw:3.0 )
- gsl? ( sci-libs/gsl )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- doc? ( >=app-doc/doxygen-1.7.6.1[dot] )
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-src_configure() {
- mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_GSL=$(usex '!gsl')
- -DWITH_FFTW=$(usex fftw)
- -DWITH_SQLITE3=$(usex sqlite)
- -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}"
- cmake-utils_src_make html
- dodoc -r share/doc/html
- fi
-}
diff --git a/sci-libs/votca-tools/votca-tools-1.4.ebuild b/sci-libs/votca-tools/votca-tools-1.4.ebuild
deleted file mode 100644
index ae9aec9e652e..000000000000
--- a/sci-libs/votca-tools/votca-tools-1.4.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS="amd64 x86"
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc +fftw +gsl sqlite"
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- fftw? ( sci-libs/fftw:3.0 )
- gsl? ( sci-libs/gsl )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- doc? ( >=app-doc/doxygen-1.7.6.1[dot] )
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-src_configure() {
- mycmakeargs=(
- -DWITH_GSL=$(usex gsl)
- -DWITH_FFTW=$(usex fftw)
- -DWITH_SQLITE3=$(usex sqlite)
- -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}"
- cmake-utils_src_make html
- dodoc -r share/doc/html
- fi
-}
diff --git a/sci-libs/votca-tools/votca-tools-1.5.1.ebuild b/sci-libs/votca-tools/votca-tools-1.5.1.ebuild
deleted file mode 100644
index 62f306992949..000000000000
--- a/sci-libs/votca-tools/votca-tools-1.5.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc +fftw sqlite"
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- >=dev-cpp/eigen-3.3
- fftw? ( sci-libs/fftw:3.0 )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- doc? ( >=app-doc/doxygen-1.7.6.1[dot] )
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-src_configure() {
- mycmakeargs=(
- -DWITH_FFTW=$(usex fftw)
- -DWITH_SQLITE3=$(usex sqlite)
- -DWITH_RC_FILES=OFF
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- if use doc; then
- cd "${CMAKE_BUILD_DIR}"
- cmake-utils_src_make html
- dodoc -r share/doc/html
- fi
-}
diff --git a/sci-libs/votca-tools/votca-tools-1.5.ebuild b/sci-libs/votca-tools/votca-tools-1.5.ebuild
deleted file mode 100644
index c6ba3a67b075..000000000000
--- a/sci-libs/votca-tools/votca-tools-1.5.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS="amd64"
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc +fftw sqlite"
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- >=dev-cpp/eigen-3.3
- fftw? ( sci-libs/fftw:3.0 )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- doc? ( >=app-doc/doxygen-1.7.6.1[dot] )
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-src_configure() {
- mycmakeargs=(
- -DWITH_FFTW=$(usex fftw)
- -DWITH_SQLITE3=$(usex sqlite)
- -DWITH_RC_FILES=OFF
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
- if use doc; then
- cd "${CMAKE_BUILD_DIR}"
- cmake-utils_src_make html
- dodoc -r share/doc/html
- fi
-}
diff --git a/sci-libs/votca-tools/votca-tools-1.6.1.ebuild b/sci-libs/votca-tools/votca-tools-1.6.1.ebuild
deleted file mode 100644
index 83b4a6d5bce3..000000000000
--- a/sci-libs/votca-tools/votca-tools-1.6.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- >=dev-cpp/eigen-3.3
- sci-libs/fftw:3.0"
-
-DEPEND="${RDEPEND}
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-src_configure() {
- mycmakeargs=(
- -DWITH_RC_FILES=OFF
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/votca-tools/votca-tools-1.6.ebuild b/sci-libs/votca-tools/votca-tools-1.6.ebuild
deleted file mode 100644
index 3370b1dc94bd..000000000000
--- a/sci-libs/votca-tools/votca-tools-1.6.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS="amd64 x86"
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- >=dev-cpp/eigen-3.3
- sci-libs/fftw:3.0"
-
-DEPEND="${RDEPEND}
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-src_configure() {
- mycmakeargs=(
- -DWITH_RC_FILES=OFF
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/votca-tools/votca-tools-1.6_rc1.ebuild b/sci-libs/votca-tools/votca-tools-1.6_rc1.ebuild
deleted file mode 100644
index 888d78eb3405..000000000000
--- a/sci-libs/votca-tools/votca-tools-1.6_rc1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS=""
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- >=dev-cpp/eigen-3.3
- sci-libs/fftw:3.0"
-
-DEPEND="${RDEPEND}
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-PATCHES=( "${FILESDIR}/197.patch" )
-
-src_configure() {
- mycmakeargs=(
- -DWITH_RC_FILES=OFF
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/votca-tools/votca-tools-9999.ebuild b/sci-libs/votca-tools/votca-tools-9999.ebuild
deleted file mode 100644
index 6088d1e095d9..000000000000
--- a/sci-libs/votca-tools/votca-tools-9999.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="ninja"
-
-inherit cmake-utils eutils multilib
-
-if [ "${PV}" != "9999" ]; then
- SRC_URI="https://github.com/${PN/-//}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-macos"
- S="${WORKDIR}/${P#votca-}"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN/-//}.git"
- KEYWORDS=""
-fi
-
-DESCRIPTION="Votca tools library"
-HOMEPAGE="http://www.votca.org"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- dev-libs/boost:=
- dev-libs/expat
- >=dev-cpp/eigen-3.3
- sci-libs/fftw:3.0"
-
-DEPEND="${RDEPEND}
- >=app-text/txt2tags-2.5
- virtual/pkgconfig"
-
-DOCS=( NOTICE )
-
-src_configure() {
- mycmakeargs=(
- -DWITH_RC_FILES=OFF
- )
- cmake-utils_src_configure
-}
diff --git a/sci-libs/vtk/Manifest b/sci-libs/vtk/Manifest
index 2ea60d8ea771..51b1e50afdd1 100644
--- a/sci-libs/vtk/Manifest
+++ b/sci-libs/vtk/Manifest
@@ -1,4 +1,18 @@
-DIST VTK-8.2.0.tar.gz 35511819 BLAKE2B 908ed9377d75da6d0bd84de0078ba90a1e9396fcc906ca2981102e2c79d9d3ba4b1297f98682cd2802c7c04f9dbec32ee70740e645c44180befd765f7cda34a6 SHA512 521bd4dabedbc24b0e80a314a34ecd7554b04af28a7973245e3a9cf99a09b995d1b8ac42305c8e53369f226a0a6da3cdb29105ba2c90b46492736ef717760286
-DIST VTKData-8.2.0.tar.gz 304287875 BLAKE2B 0292d84be40e11203326dcb1bf45f4a6ad2a785968130d4868a230f1cfbdcb600d0c03d4dae3519e2737dc7a964f29c51500c91b3da4291069608dd80a2bce45 SHA512 517d0f6dfdb0c61f59df933f06d3a28c8a48ea684aaff311456213fe493e2a20128886144325fc4edfa376b2d375a2dae6c60ad6e3d5d2f4a7b0ac1d8545c87b
-DIST VTKLargeData-8.2.0.tar.gz 247522878 BLAKE2B 68dc90548604fbbb8419f2b400aea5d26599b48208b4104f41eaa90f99483689cd928cb00e3a7def396d65db2f03c9294d132854a27af74f66eb118c8319c4ce SHA512 8a7ea3d5870b1e4ccb31c77b4c270d00208349da1b2938e957210db3ec1449b678c66edc2faee1d4514aca6d725f642abc91e10ab0c151f6743cad1c53485588
-DIST vtkDocHtml-8.2.0.tar.gz 132516675 BLAKE2B 8651a3793f3326dee36c5ae8a280b00943067f973115697f34770eefd42b5534a7d7e439e7745b32c5fa83daf5a5292b854792d18951af236d0aa77c3aa2b564 SHA512 45e198bde82948d1d8e47a8bdb64a2792c2bfdfc0d939ffe40ded79092d7ac5f497008c00c805baa09d27eabb419cdf0787eee1caf2ac44c5e8759ecf709a317
+DIST VTK-9.2.5.tar.gz 53807732 BLAKE2B 8d25ec8f23c12868b2321eca84644dbf44704e58b7b79b2fd3a1260f7a240a78e4007fd99633ba93359103afc8ec00c7fa84f62778aed3d3361e1774a87b5626 SHA512 b1f225fb2589449621fd32bb0fc3f4817478d972cdccf7a9a376f1c17e93d5bd0a0511cdaa8587568a4baac9dfa8b5ffb9041442e221cd98d8f55e9981b6fcbf
+DIST VTK-9.2.6.tar.gz 53810904 BLAKE2B e3f9736a9b38415e0edd4b4c4bfe83aa154221c3c2c582e527996f88386b1b4d7864ddd2a364c0e83596ff45902cb7cde548ac3a4eebe06c2e43925c2608c4d3 SHA512 f2328caae959d583299b7fd57205f3dd76f87c8c1ee78653e85d44cab085295bf7bf88b3f6a2b960a57df96ccb32049337ebccb067ecde6d84d25eda636196bc
+DIST VTK-9.3.0.tar.gz 99932810 BLAKE2B 59c2cdfe1c2525ac0f89df77a668783d928b55d2e72b42df45ea9b789da1bb150d52ce4108f2bc39cb8840cdd1998f57d3aedf96c72e402f6115d9efeebf4486 SHA512 2722dc8186779df1af5c534f26b20186ea33cb3bca2cef8cb333542b12e738382616e26e8d4d0341cb98c30403f8a896d77ddb04adb07e26d0d548c4a34b7d2f
+DIST VTKData-9.2.5.tar.gz 594016050 BLAKE2B 7f03f5640ee648275a9771f990f98a3b5dfee10c0e291b353e6f067a098d50e2653c577b7c9c4e19c1d554e14469968014d1dfe9e70a91ecbff75397a53c9be9 SHA512 c06264c10bf78943753e58b9cb034d56b65570995741020dc58d5703525cdd4842d680fb6e185fa8fc39b72225ea6b29d8d632c0327f4145a7e2b79f3f702ec3
+DIST VTKData-9.2.6.tar.gz 594029678 BLAKE2B b3d6990a8098d9bec02a031b6d804049ce649bcd58fbcd74001e893ba41159e49f4dea74c5957737098a39a399d347b3bc65db4feadf152dd3fb8e705da16eb4 SHA512 5c5f2b365777733180a63daff224da7055e1c2911eb5e4efda26e38b9ac01cb8e886cf7e71c45ac83347642caf1786e72bb469c22954ffbbb6e2c317fc6b4080
+DIST VTKData-9.3.0.tar.gz 612388942 BLAKE2B 66d73ddaf5f2ddf52cf5c6dda5a918a86ae630df207983534478c92a66c39e38b1f4abfb93900b36899a93ad0e26260763573e925bd128c1646a1bc3bef8c54d SHA512 385d609c2adc1746c073690b58a3fc25e496946c03f08e6c9e0a69ee406cee447e66d267986c3e5ba9006dd1cb0015b68134bb3c375ae41aef8f3b1e0d923d51
+DIST VTKDataFiles-9.2.5.tar.gz 609038837 BLAKE2B e6a5aa5a865664cf407914c9598497f6304b914748ce9d9145b5b7d53f5897b4056b6f7615bb8221c9a9747caf13ba632e21b060b1c8963bb7d6b257bb1da559 SHA512 c0cf7e0fb79f626e25946f1154d9e4c3e7ec995a823a01fc9638976f89af26ae8978a5b6c8a78d62f42f7f81b5fbe0cddc6afc5836c214f3dcaddb917a1ccc79
+DIST VTKDataFiles-9.2.6.tar.gz 609045751 BLAKE2B c8a4a8472dcc05f5b1d35c8f6923b4ed2e7adb593a3037ae7673a5e674583ef9ccc5bc1ec8cf29e87fd5b168c0bba5ed27b89c51fe2e5da432ef5d50e415af94 SHA512 f7c104641d25126956a50671934c10b25589e435d7cce6a5107c8dcf83a81f48ed3ae8a325b635f341a5a47579f9200689aa5eb34fe0d1c37acddfeedd33cd01
+DIST VTKDataFiles-9.3.0.tar.gz 628646039 BLAKE2B c2a4e875536c0b06f1edc8a8df17defbe1038067d7a04fc07e71ea49cad46139ef25f64d4b434a095ced16a7ff39d5346d34c528c099ea2e126c9f29afe92482 SHA512 c6788acfa790ce6b02aa5545fa4e411d00896b7542416c18b5e5955909f26a8fab9267e44db1c2a86f95f7a7f093695453f3fd0ec4e2c9a73449f9caf3fc09d5
+DIST VTKLargeData-9.2.5.tar.gz 247523496 BLAKE2B edc785e271ba605c730b9c8d9d62d2d95d818ebf18e4b20468c247187720a27897ecbf701e1eff61ba135545e6ea8f573ef120206813ee5ca11be33d8c5ff728 SHA512 7a994024aa42b48d3633cdcc528d89a2e7e07bcc47d01a0001578720dbc2eb991b90dc2f9caafe8f26a1f10185efb1bc2c0506f799da2b96e63ba08cb564117d
+DIST VTKLargeData-9.2.6.tar.gz 247521022 BLAKE2B ee6e5f627a5cb96aac6a53b7ff14d4a40f1e243a095c7d145412d899ab9d509af5a62ab889fc48c96ff78359443afbeecfa70cb937affdad7225071374b28bec SHA512 f0b71baa4e346746e186c6a0cc93588d227b91cd4993ee6afe15708006250b0b3aa9447822845e01432728c12af56c68a213831b6dc809807ca341ff6912f55f
+DIST VTKLargeData-9.3.0.tar.gz 247520869 BLAKE2B e01f3d0997d0b328d6c5909d6b891443c1246bdbc36aa978004a1d4bb2770f7923afed2c0d78f7844aae95e067425b9dd25a1c47601c8137ba0a8a958b708cab SHA512 d87eb0fb4ce27ae9f4363c54bb711e66c5d2dbcdf508cb5fae9fcc1574407df2816f29d20037297b834440cd8a54fcf8e1d6db14700054f057bff2fe48404d33
+DIST VTKLargeDataFiles-9.2.5.tar.gz 247506616 BLAKE2B 45cd462a11dfa65260a5aa178b2004636eb8ec000af9103fd2fc64ca55b0f607cdf39c40f5f0a9ef843b7b2e468e0f84a34dafb8b8655efce5c8d39c80961422 SHA512 da96e4f1d0e21bc597832d8cd0730dcdd8a8f7d6c1f41f74ec41a7a1d0b2a2d61e86bcb5fade7d3210b9d66cae975b537e25280767e37fe08e0965b3e98c1cae
+DIST VTKLargeDataFiles-9.2.6.tar.gz 247505945 BLAKE2B dafec016a17bc4371972e85fe95e5032f385ef090ca7f3cc4e060976798c18015e34d74aa008a0532a37b3a51df406886a1d70c2eae18f6092a1c16cc861a81a SHA512 5266d7761987d651e1185e7a8fcc556634e129bb2dab892f8bba0e408a950f38c3f96c521a2079bfdc16a6cefb7b4cebc0b63aea945c4f3f0b6a99c55d638197
+DIST VTKLargeDataFiles-9.3.0.tar.gz 247503839 BLAKE2B 68007af36148eaae43fc0fd75b9f8d3b165c977b7bc44efa4ce7077dc4977514f49a4d7d5e4a9e43fc9dec6562d741bdee5df87efa285b3361f865023da14f55 SHA512 f7def947ff492acbfdaa3d360064c42fdd3fedab27fd5d7bed1dbf8054b814cc8843ba0fed7078926648d1e8949235b877de97747be079ea478b79558975e6ea
+DIST vtkDocHtml-9.2.5.tar.gz 158865725 BLAKE2B ccfb6276955bda567e7f2b6fdc5e3e601766bae0314821c243a3d009e1557c5732bfbab59358670c4bc6cd598ba80c284971763e5279bc53c37d954ec30fcc03 SHA512 7901e9fb987ef3b88e8c507ecc7538b551c81d04a9cc65a84ff43b40dc1aeca2a694dd9842a030979a1370873b9fed0c8746a0634b486566086d7784a19181d6
+DIST vtkDocHtml-9.2.6.tar.gz 158833419 BLAKE2B 04686ee0373191fec454738b5e745f3f6d913120dd55727732ab31a021eeaf1395e6a39ee0e2a943c80dc9d32a929dacfc1325afad5a412964dabb4eda32c898 SHA512 e72cfda5cfeb3df0f915f6515bbd34bcb32052af940760cfb1c9845a5c0a81fae38837fb2e192eb95446cd27b65b37b79263f5396631e4665c9d8c57455dcf43
+DIST vtkDocHtml-9.3.0.tar.gz 165538725 BLAKE2B 27874998679090d5442ecb3a394b53db05a0215cfee9f912bd01af1d5567efc51b4f56dacb960401195da4f3d385b335bbefc922a45d0199c99d619df0941f08 SHA512 8bf9cc87c4653a65ccc39d88d70b421a7b4353986d380cbf558cbf6e8a96435695a5d54aa7ce5bb1240cb46ca0fd9225a51183a39d1af1101d3f2876a2afc10b
diff --git a/sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch b/sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch
deleted file mode 100644
index 267c1d91b0cb..000000000000
--- a/sci-libs/vtk/files/vtk-8.1.0-openmpi-4-compatibility.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h b/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h
-index 3173831..e8ee74b 100644
---- a/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h
-+++ b/ThirdParty/mpi4py/vtkmpi4py/src/lib-mpi/config/openmpi.h
-@@ -141,4 +141,9 @@
-
- #endif
-
-+ #if OMPI_NUMVERSION >= 40000
-+ #undef PyMPI_HAVE_MPI_LB
-+ #undef PyMPI_HAVE_MPI_UB
-+ #endif /* OMPI >= 4.0.0 */
-+
- #endif /* !PyMPI_CONFIG_OPENMPI_H */
diff --git a/sci-libs/vtk/files/vtk-8.2.0-fno-common.patch b/sci-libs/vtk/files/vtk-8.2.0-fno-common.patch
deleted file mode 100644
index d7268ef7566b..000000000000
--- a/sci-libs/vtk/files/vtk-8.2.0-fno-common.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a9079bdccbb2165583d6773a5ed848427e2a38a8 Mon Sep 17 00:00:00 2001
-From: Seacas Upstream <kwrobot@kitware.com>
-Date: Tue, 28 Jan 2020 09:13:38 -0500
-Subject: [PATCH] exodusII 2020-01-28 (d97eb08d)
-
-Code extracted from:
-
- https://gitlab.kitware.com/third-party/seacas.git
-
-at commit d97eb08d79e87c82facfae39bc75deb60c0a2d83 (for/vtk-20200128-7.24f-v2019-12-18).
----
- ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c | 2 +-
- ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c b/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c
-index 8d5d6734f0..ef439618da 100644
---- a/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c
-+++ b/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c
-@@ -216,5 +216,5 @@ int ex_create_par_int(const char *path, int cmode, int *comp_ws, int *io_ws, MPI
- * Prevent warning in some versions of ranlib(1) because the object
- * file has no symbols.
- */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_create_par;
- #endif
-diff --git a/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c b/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c
-index b2faa22c29..9df4818767 100644
---- a/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c
-+++ b/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c
-@@ -459,5 +459,5 @@ int ex_open_par_int(const char *path, int mode, int *comp_ws, int *io_ws, float
- * Prevent warning in some versions of ranlib(1) because the object
- * file has no symbols.
- */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_open_par;
- #endif
---
-2.26.2
-
diff --git a/sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch b/sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch
deleted file mode 100644
index a903b0375304..000000000000
--- a/sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/CMake/VTKGenerateExportHeader.cmake 2020-05-24 14:33:12.154603698 -0600
-+++ b/CMake/VTKGenerateExportHeader.cmake 2020-05-24 14:33:34.864603776 -0600
-@@ -174,8 +174,12 @@
- execute_process(COMMAND ${CMAKE_C_COMPILER} --version
- OUTPUT_VARIABLE _gcc_version_info
- ERROR_VARIABLE _gcc_version_info)
-- string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
-+ string(REGEX MATCH "[1-9][0-9]\\.[0-9]\\.[0-9]*"
- _gcc_version "${_gcc_version_info}")
-+ if(NOT _gcc_version)
-+ string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
-+ _gcc_version "${_gcc_version_info}")
-+ endif()
- # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
- # patch level, handle this here:
- if(NOT _gcc_version) \ No newline at end of file
diff --git a/sci-libs/vtk/files/vtk-8.2.0-py38.patch b/sci-libs/vtk/files/vtk-8.2.0-py38.patch
deleted file mode 100644
index c4c235dafd3f..000000000000
--- a/sci-libs/vtk/files/vtk-8.2.0-py38.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 257b9d7b18d5f3db3fe099dc18f230e23f7dfbab Mon Sep 17 00:00:00 2001
-From: David Gobbi <david.gobbi@gmail.com>
-Date: Tue, 20 Aug 2019 17:02:24 -0600
-Subject: [PATCH] Compatibility for Python 3.8
-
-The PyTypeObject struct was modified in Python 3.8, this change is
-required to avoid compile errors.
----
- .../PythonInterpreter/vtkPythonStdStreamCaptureHelper.h | 6 ++++++
- Wrapping/PythonCore/PyVTKMethodDescriptor.cxx | 2 +-
- Wrapping/PythonCore/PyVTKNamespace.cxx | 2 +-
- Wrapping/PythonCore/PyVTKReference.cxx | 8 ++++----
- Wrapping/PythonCore/PyVTKTemplate.cxx | 2 +-
- Wrapping/PythonCore/vtkPythonCompatibility.h | 8 +++++++-
- Wrapping/Tools/vtkWrapPythonClass.c | 2 +-
- Wrapping/Tools/vtkWrapPythonEnum.c | 2 +-
- Wrapping/Tools/vtkWrapPythonType.c | 2 +-
- 9 files changed, 23 insertions(+), 11 deletions(-)
-
-diff --git a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
-index b1c12c83de..14ccfbe928 100644
---- a/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
-+++ b/Utilities/PythonInterpreter/vtkPythonStdStreamCaptureHelper.h
-@@ -140,6 +140,12 @@ static PyTypeObject vtkPythonStdStreamCaptureHelperType = {
- #if PY_VERSION_HEX >= 0x03040000
- 0, // tp_finalize
- #endif
-+#if PY_VERSION_HEX >= 0x03080000
-+ 0, // tp_vectorcall
-+#if PY_VERSION_HEX < 0x03090000
-+ 0, // tp_print
-+#endif
-+#endif
- };
-
- static PyObject* vtkWrite(PyObject* self, PyObject* args)
-diff --git a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
-index 2b0d443537..3840038498 100644
---- a/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
-+++ b/Wrapping/PythonCore/PyVTKMethodDescriptor.cxx
-@@ -186,7 +186,7 @@ PyTypeObject PyVTKMethodDescriptor_Type = {
- sizeof(PyMethodDescrObject), // tp_basicsize
- 0, // tp_itemsize
- PyVTKMethodDescriptor_Delete, // tp_dealloc
-- nullptr, // tp_print
-+ 0, // tp_vectorcall_offset
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare
-diff --git a/Wrapping/PythonCore/PyVTKNamespace.cxx b/Wrapping/PythonCore/PyVTKNamespace.cxx
-index 71ee2a3516..5cf5bfbe6b 100644
---- a/Wrapping/PythonCore/PyVTKNamespace.cxx
-+++ b/Wrapping/PythonCore/PyVTKNamespace.cxx
-@@ -49,7 +49,7 @@ PyTypeObject PyVTKNamespace_Type = {
- 0, // tp_basicsize
- 0, // tp_itemsize
- PyVTKNamespace_Delete, // tp_dealloc
-- nullptr, // tp_print
-+ 0, // tp_vectorcall_offset
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare
-diff --git a/Wrapping/PythonCore/PyVTKReference.cxx b/Wrapping/PythonCore/PyVTKReference.cxx
-index 943ac71080..b7104091c0 100644
---- a/Wrapping/PythonCore/PyVTKReference.cxx
-+++ b/Wrapping/PythonCore/PyVTKReference.cxx
-@@ -1010,7 +1010,7 @@ PyTypeObject PyVTKReference_Type = {
- sizeof(PyVTKReference), // tp_basicsize
- 0, // tp_itemsize
- PyVTKReference_Delete, // tp_dealloc
-- nullptr, // tp_print
-+ 0, // tp_vectorcall_offset
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare
-@@ -1067,7 +1067,7 @@ PyTypeObject PyVTKNumberReference_Type = {
- sizeof(PyVTKReference), // tp_basicsize
- 0, // tp_itemsize
- PyVTKReference_Delete, // tp_dealloc
-- nullptr, // tp_print
-+ 0, // tp_vectorcall_offset
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare
-@@ -1124,7 +1124,7 @@ PyTypeObject PyVTKStringReference_Type = {
- sizeof(PyVTKReference), // tp_basicsize
- 0, // tp_itemsize
- PyVTKReference_Delete, // tp_dealloc
-- nullptr, // tp_print
-+ 0, // tp_vectorcall_offset
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare
-@@ -1181,7 +1181,7 @@ PyTypeObject PyVTKTupleReference_Type = {
- sizeof(PyVTKReference), // tp_basicsize
- 0, // tp_itemsize
- PyVTKReference_Delete, // tp_dealloc
-- nullptr, // tp_print
-+ 0, // tp_vectorcall_offset
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare
-diff --git a/Wrapping/PythonCore/PyVTKTemplate.cxx b/Wrapping/PythonCore/PyVTKTemplate.cxx
-index be200985b3..340fe7953b 100644
---- a/Wrapping/PythonCore/PyVTKTemplate.cxx
-+++ b/Wrapping/PythonCore/PyVTKTemplate.cxx
-@@ -268,7 +268,7 @@ PyTypeObject PyVTKTemplate_Type = {
- 0, // tp_basicsize
- 0, // tp_itemsize
- nullptr, // tp_dealloc
-- nullptr, // tp_print
-+ 0, // tp_vectorcall_offset
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare
-diff --git a/Wrapping/PythonCore/vtkPythonCompatibility.h b/Wrapping/PythonCore/vtkPythonCompatibility.h
-index 4a767844a6..be208faeef 100644
---- a/Wrapping/PythonCore/vtkPythonCompatibility.h
-+++ b/Wrapping/PythonCore/vtkPythonCompatibility.h
-@@ -64,7 +64,13 @@
- #endif
-
- // PyTypeObject compatibility
--#if PY_VERSION_HEX >= 0x03040000
-+#if PY_VERSION_HEX >= 0x03090000
-+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
-+ 0, 0, 0, 0,
-+#elif PY_VERSION_HEX >= 0x03080000
-+#define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
-+ 0, 0, 0, 0, 0,
-+#elif PY_VERSION_HEX >= 0x03040000
- #define VTK_WRAP_PYTHON_SUPPRESS_UNINITIALIZED \
- 0, 0, 0,
- #else
-diff --git a/Wrapping/Tools/vtkWrapPythonClass.c b/Wrapping/Tools/vtkWrapPythonClass.c
-index b1e45f8e80..4d558ea081 100644
---- a/Wrapping/Tools/vtkWrapPythonClass.c
-+++ b/Wrapping/Tools/vtkWrapPythonClass.c
-@@ -521,7 +521,7 @@ void vtkWrapPython_GenerateObjectType(
- " sizeof(PyVTKObject), // tp_basicsize\n"
- " 0, // tp_itemsize\n"
- " PyVTKObject_Delete, // tp_dealloc\n"
-- " nullptr, // tp_print\n"
-+ " 0, // tp_vectorcall_offset\n"
- " nullptr, // tp_getattr\n"
- " nullptr, // tp_setattr\n"
- " nullptr, // tp_compare\n"
-diff --git a/Wrapping/Tools/vtkWrapPythonEnum.c b/Wrapping/Tools/vtkWrapPythonEnum.c
-index b933702242..1249362854 100644
---- a/Wrapping/Tools/vtkWrapPythonEnum.c
-+++ b/Wrapping/Tools/vtkWrapPythonEnum.c
-@@ -145,7 +145,7 @@ void vtkWrapPython_GenerateEnumType(
- " sizeof(PyIntObject), // tp_basicsize\n"
- " 0, // tp_itemsize\n"
- " nullptr, // tp_dealloc\n"
-- " nullptr, // tp_print\n"
-+ " 0, // tp_vectorcall_offset\n"
- " nullptr, // tp_getattr\n"
- " nullptr, // tp_setattr\n"
- " nullptr, // tp_compare\n"
-diff --git a/Wrapping/Tools/vtkWrapPythonType.c b/Wrapping/Tools/vtkWrapPythonType.c
-index 744cb1b9d3..0a1375e541 100644
---- a/Wrapping/Tools/vtkWrapPythonType.c
-+++ b/Wrapping/Tools/vtkWrapPythonType.c
-@@ -709,7 +709,7 @@ void vtkWrapPython_GenerateSpecialType(
- " sizeof(PyVTKSpecialObject), // tp_basicsize\n"
- " 0, // tp_itemsize\n"
- " Py%s_Delete, // tp_dealloc\n"
-- " nullptr, // tp_print\n"
-+ " 0, // tp_vectorcall_offset\n"
- " nullptr, // tp_getattr\n"
- " nullptr, // tp_setattr\n"
- " nullptr, // tp_compare\n"
---
-2.21.0
diff --git a/sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch b/sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch
deleted file mode 100644
index d5a02ca75929..000000000000
--- a/sci-libs/vtk/files/vtk-8.2.0-qt-5.15.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 797f28697d5ba50c1fa2bc5596af626a3c277826 Mon Sep 17 00:00:00 2001
-From: "Andrew J. P. Maclean" <andrew.amaclean@gmail.com>
-Date: Wed, 27 May 2020 15:27:15 +1000
-Subject: [PATCH] Qt 5.15 needs the include file QPainterPath
-
----
- Rendering/Qt/vtkQtLabelRenderStrategy.cxx | 1 +
- Rendering/Qt/vtkQtStringToImage.cxx | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/Rendering/Qt/vtkQtLabelRenderStrategy.cxx b/Rendering/Qt/vtkQtLabelRenderStrategy.cxx
-index afda585cca..eca65c64cd 100644
---- a/Rendering/Qt/vtkQtLabelRenderStrategy.cxx
-+++ b/Rendering/Qt/vtkQtLabelRenderStrategy.cxx
-@@ -41,6 +41,7 @@
- #include <QImage>
- #include <QMap>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QPair>
- #include <QPixmap>
- #include <QTextDocument>
-diff --git a/Rendering/Qt/vtkQtStringToImage.cxx b/Rendering/Qt/vtkQtStringToImage.cxx
-index 659c71570e..fbb9b78f05 100644
---- a/Rendering/Qt/vtkQtStringToImage.cxx
-+++ b/Rendering/Qt/vtkQtStringToImage.cxx
-@@ -30,6 +30,7 @@
- #include <QFontMetrics>
- #include <QImage>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QPixmap>
- #include <QString>
- #include <QTextDocument>
---
-2.26.2
-
diff --git a/sci-libs/vtk/files/vtk-9.2.2-VTKm-respect-user-CXXFLAGS.patch b/sci-libs/vtk/files/vtk-9.2.2-VTKm-respect-user-CXXFLAGS.patch
new file mode 100644
index 000000000000..c47bced20f22
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.2-VTKm-respect-user-CXXFLAGS.patch
@@ -0,0 +1,81 @@
+From 225a077898eb714e5ecb80255796aa70625e6cea Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sat, 12 Nov 2022 02:01:35 +0100
+Subject: [PATCH] VTKm respect user CXXFLAGS
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/Accelerators/Vtkm/Core/CMakeLists.txt
++++ b/Accelerators/Vtkm/Core/CMakeLists.txt
+@@ -79,6 +79,16 @@ if (TARGET vtkm::cuda)
+ vtk_module_set_properties(VTK::AcceleratorsVTKmCore
+ LANGUAGE CUDA
+ CUDA_SEPARABLE_COMPILATION ON)
++
++ string(STRIP ${CMAKE_CXX_FLAGS} _cmake_cxx_flags)
++ string(REPLACE " " ";" cmake_cxx_flags_list ${_cmake_cxx_flags})
++ set(cxx_flags -Wall)
++ foreach(cmake_cxx_flag ${cmake_cxx_flags_list})
++ list(APPEND cxx_flags $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${cmake_cxx_flag}>)
++ endforeach()
++ vtk_module_compile_options(VTK::AcceleratorsVTKmCore
++ PUBLIC
++ ${cxx_flags})
+ endif()
+
+ if (MSVC)
+--- a/Accelerators/Vtkm/DataModel/CMakeLists.txt
++++ b/Accelerators/Vtkm/DataModel/CMakeLists.txt
+@@ -89,6 +89,16 @@ if (TARGET vtkm::cuda)
+
+ vtk_module_compile_options(VTK::AcceleratorsVTKmDataModel
+ PUBLIC $<$<COMPILE_LANGUAGE:CUDA>:-Xcudafe --diag_suppress=extra_semicolon>)
++
++ string(STRIP ${CMAKE_CXX_FLAGS} _cmake_cxx_flags)
++ string(REPLACE " " ";" cmake_cxx_flags_list ${_cmake_cxx_flags})
++ set(cxx_flags -Wall)
++ foreach(cmake_cxx_flag ${cmake_cxx_flags_list})
++ list(APPEND cxx_flags $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${cmake_cxx_flag}>)
++ endforeach()
++ vtk_module_compile_options(VTK::AcceleratorsVTKmDataModel
++ PUBLIC
++ ${cxx_flags})
+ endif ()
+
+ if (MSVC)
+--- a/Accelerators/Vtkm/Filters/CMakeLists.txt
++++ b/Accelerators/Vtkm/Filters/CMakeLists.txt
+@@ -138,6 +138,16 @@ if (TARGET vtkm::cuda)
+
+ vtk_module_compile_options(VTK::AcceleratorsVTKmFilters
+ PUBLIC $<$<COMPILE_LANGUAGE:CUDA>:-Xcudafe --diag_suppress=extra_semicolon>)
++
++ string(STRIP ${CMAKE_CXX_FLAGS} _cmake_cxx_flags)
++ string(REPLACE " " ";" cmake_cxx_flags_list ${_cmake_cxx_flags})
++ set(cxx_flags -Wall)
++ foreach(cmake_cxx_flag ${cmake_cxx_flags_list})
++ list(APPEND cxx_flags $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${cmake_cxx_flag}>)
++ endforeach()
++ vtk_module_compile_options(VTK::AcceleratorsVTKmFilters
++ PUBLIC
++ ${cxx_flags})
+ endif ()
+
+ if (MSVC)
+--- a/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmCompilerFlags.cmake
++++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake/VTKmCompilerFlags.cmake
+@@ -126,6 +126,12 @@ elseif(VTKM_COMPILER_IS_ICC)
+ elseif(VTKM_COMPILER_IS_GNU OR VTKM_COMPILER_IS_CLANG)
+ set(cxx_flags -Wall -Wcast-align -Wextra -Wpointer-arith -Wformat -Wformat-security -Wshadow -Wunused -fno-common -Wno-unused-function)
+ set(cuda_flags -Xcompiler=-Wall,-Wcast-align,-Wpointer-arith,-Wformat,-Wformat-security,-Wshadow,-fno-common,-Wunused,-Wno-unknown-pragmas,-Wno-unused-local-typedefs,-Wno-unused-function)
++ string(STRIP ${CMAKE_CXX_FLAGS} _cmake_cxx_flags)
++ string(REPLACE " " ";" cmake_cxx_flags_list ${_cmake_cxx_flags})
++ foreach(elem ${cmake_cxx_flags_list})
++ list(PREPEND cxx_flags ${elem})
++ list(PREPEND cuda_flags -Xcompiler=${elem})
++ endforeach()
+
+ #Clang does not support the -Wchar-subscripts flag for warning if an array
+ #subscript has a char type.
+--
+2.38.1
+
diff --git a/sci-libs/vtk/files/vtk-9.2.2-link-with-glut-library-for-freeglut.patch b/sci-libs/vtk/files/vtk-9.2.2-link-with-glut-library-for-freeglut.patch
new file mode 100644
index 000000000000..39b7e7ab0f15
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.2-link-with-glut-library-for-freeglut.patch
@@ -0,0 +1,18 @@
+From 801654a5f1c3991ff9bb3ea5798afdd252d214b6 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Mon, 21 Nov 2022 15:35:58 +0100
+Subject: [PATCH] link with glut library for freeglut
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/Rendering/External/Testing/Cxx/CMakeLists.txt
++++ b/Rendering/External/Testing/Cxx/CMakeLists.txt
+@@ -12,5 +12,5 @@ if(NOT APPLE)
+
+ vtk_test_cxx_executable(vtkRenderingExternalCxxTests tests)
+ target_link_libraries(vtkRenderingExternalCxxTests PRIVATE
+- ${GLUT_LIBRARY})
++ ${GLUT_LIBRARIES})
+ endif()
+--
+2.38.1
+
diff --git a/sci-libs/vtk/files/vtk-9.2.2-vtkGeometryFilter-add-missing-mutex-header-file.patch b/sci-libs/vtk/files/vtk-9.2.2-vtkGeometryFilter-add-missing-mutex-header-file.patch
new file mode 100644
index 000000000000..287d804847bb
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.2-vtkGeometryFilter-add-missing-mutex-header-file.patch
@@ -0,0 +1,20 @@
+From https://gitlab.kitware.com/vtk/vtk/-/commit/57767732c4d54db89004c685022ac828bb51eccd
+
+From 57767732c4d54db89004c685022ac828bb51eccd Mon Sep 17 00:00:00 2001
+From: Andrew Bauer <bauer.andrew.c@gmail.com>
+Date: Wed, 27 Jul 2022 09:31:13 -0400
+Subject: [PATCH 033/614] vtkGeometryFilter: add missing mutex header file
+
+--- a/Filters/Geometry/vtkGeometryFilter.cxx
++++ b/Filters/Geometry/vtkGeometryFilter.cxx
+@@ -52,6 +52,7 @@
+ #include "vtkWedge.h"
+
+ #include <memory>
++#include <mutex>
+
+ vtkStandardNewMacro(vtkGeometryFilter);
+ vtkCxxSetObjectMacro(vtkGeometryFilter, Locator, vtkIncrementalPointLocator);
+--
+2.38.1
+
diff --git a/sci-libs/vtk/files/vtk-9.2.5-Add-include-cstdint-to-compile-with-gcc-13.patch b/sci-libs/vtk/files/vtk-9.2.5-Add-include-cstdint-to-compile-with-gcc-13.patch
new file mode 100644
index 000000000000..82bf19b6b07f
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.5-Add-include-cstdint-to-compile-with-gcc-13.patch
@@ -0,0 +1,30 @@
+https://gitlab.kitware.com/vtk/vtk/-/merge-requests/9857
+
+From ef95422b62296e4c136917095eace14f48cefb82 Mon Sep 17 00:00:00 2001
+From: Laurent Rineau <laurent.rineau@cgal.org>
+Date: Tue, 17 Jan 2023 16:18:53 +0100
+Subject: [PATCH] Add #include <cstdint> to compile with gcc13
+
+The `vtkSEPReader` was introduced by MRs !4909 (from my former
+collaborator Maxime) and !4938. Then it was highly modified by
+!7516. The later MR is the one that introduced the uses of
+`std::uint8_t` and `std::uint32_t`.
+
+Those types needs the inclusion of `<cstdint>`.
+--- a/IO/Image/vtkSEPReader.h
++++ b/IO/Image/vtkSEPReader.h
+@@ -25,8 +25,9 @@
+ #include "vtkImageAlgorithm.h"
+ #include "vtkNew.h" // for ivars
+
+-#include <array> // for std::array
+-#include <string> // for std::string
++#include <array> // for std::array
++#include <cstdint> // for std::uint8_t and std::uint32_t
++#include <string> // for std::string
+
+ namespace details
+ {
+--
+GitLab
+
diff --git a/sci-libs/vtk/files/vtk-9.2.5-Fix-compilation-error-with-CUDA-12.patch b/sci-libs/vtk/files/vtk-9.2.5-Fix-compilation-error-with-CUDA-12.patch
new file mode 100644
index 000000000000..9b8583fa61e2
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.5-Fix-compilation-error-with-CUDA-12.patch
@@ -0,0 +1,21 @@
+https://894646.bugs.gentoo.org/attachment.cgi?id=851914
+https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/2972/diffs
+
+From be96ea7d85fefcad876729377c1b73a295d1c732 Mon Sep 17 00:00:00 2001
+From: "Luke A. Guest" <laguest@archeia.com>
+Date: Thu, 16 Feb 2023 16:57:32 +0000
+Subject: [PATCH] Fix compilation error with CUDA 12.
+
+--- a/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/ExecutionPolicy.h
++++ b/ThirdParty/vtkm/vtkvtkm/vtk-m/vtkm/exec/cuda/internal/ExecutionPolicy.h
+@@ -17,6 +17,7 @@
+ #include <vtkm/exec/cuda/internal/ThrustPatches.h>
+ VTKM_THIRDPARTY_PRE_INCLUDE
+ #include <thrust/execution_policy.h>
++#include <thrust/sort.h>
+ #include <thrust/system/cuda/execution_policy.h>
+ #include <thrust/system/cuda/memory.h>
+ VTKM_THIRDPARTY_POST_INCLUDE
+--
+2.39.1
+
diff --git a/sci-libs/vtk/files/vtk-9.2.5-More-include-cstdint-to-compile-with-gcc13.patch b/sci-libs/vtk/files/vtk-9.2.5-More-include-cstdint-to-compile-with-gcc13.patch
new file mode 100644
index 000000000000..356efbb4da9a
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.5-More-include-cstdint-to-compile-with-gcc13.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/905387
+https://github.com/Kitware/VTK/commit/4d8283bcb460ff60d8df1b7b67b5db19876a5ca3
+
+From 890f7574f01cf58cb1522772a62ca07deb438479 Mon Sep 17 00:00:00 2001
+From: Mathieu Westphal <mathieu.westphal@kitware.com>
+Date: Thu, 23 Feb 2023 18:06:07 +0100
+Subject: [PATCH 1580/2105] More #include <cstdint> to compile with gcc13
+
+--- a/IO/PIO/PIOData.h
++++ b/IO/PIO/PIOData.h
+@@ -1,6 +1,7 @@
+ #if !defined(_PIODATA_H)
+ #define _PIODATA_H
+
++#include <cstdint>
+ #include <fstream>
+ #include <iostream>
+ #include <list>
+--- a/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
++++ b/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
+@@ -49,7 +49,8 @@
+ #include "vtkMathTextUtilities.h"
+ #include "vtkRenderingMatplotlibModule.h" // For export macro
+
+-#include <vector> // for std::vector
++#include <cstdint> // for std::uint64_t
++#include <vector> // for std::vector
+
+ struct _object;
+ typedef struct _object PyObject;
+--
+2.40.1
+
diff --git a/sci-libs/vtk/files/vtk-9.2.5-pegtl-3.x.patch b/sci-libs/vtk/files/vtk-9.2.5-pegtl-3.x.patch
new file mode 100644
index 000000000000..80838b9c45be
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.5-pegtl-3.x.patch
@@ -0,0 +1,136 @@
+From: 31058da34eeb26165011b07fe41baf825f7df1a3 Mon Sep 17 00:00:00 2001
+From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
+From: https://github.com/microsoft/vcpkg/pull/29730
+Date: Sat, 18 Feb 2023 10:12:04 +0100
+Subject: [PATCH 1/3] [vtk] update pegtl to version 3
+
+diff --git a/IO/MotionFX/vtkMotionFXCFGGrammar.h b/IO/MotionFX/vtkMotionFXCFGGrammar.h
+index dba137386..4cb03e054 100644
+--- a/IO/MotionFX/vtkMotionFXCFGGrammar.h
++++ b/IO/MotionFX/vtkMotionFXCFGGrammar.h
+@@ -23,7 +23,7 @@
+
+ // for debugging
+ // clang-format off
+-#include VTK_PEGTL(pegtl/contrib/tracer.hpp)
++#include VTK_PEGTL(pegtl/contrib/trace.hpp)
+ // clang-format on
+
+ namespace MotionFX
+diff --git a/IO/MotionFX/vtkMotionFXCFGReader.cxx b/IO/MotionFX/vtkMotionFXCFGReader.cxx
+index 338aa736e..374e54b94 100644
+--- a/IO/MotionFX/vtkMotionFXCFGReader.cxx
++++ b/IO/MotionFX/vtkMotionFXCFGReader.cxx
+@@ -1213,7 +1213,7 @@ bool PositionFileMotion::read_position_file(const std::string& rootDir) const
+ }
+ return true;
+ }
+- catch (const tao::pegtl::input_error& e)
++ catch (const tao::pegtl::parse_error& e)
+ {
+ vtkGenericWarningMacro("PositionFileMotion::read_position_file failed: " << e.what());
+ }
+@@ -1232,7 +1232,7 @@ bool UniversalTransformMotion::read_universaltransform_file(const std::string& r
+ in, numbers, this->transforms);
+ return true;
+ }
+- catch (const tao::pegtl::input_error& e)
++ catch (const tao::pegtl::parse_error& e)
+ {
+ vtkGenericWarningMacro(
+ "UniversalTransformMotion::read_universaltransform_file failed: " << e.what());
+@@ -1267,7 +1267,7 @@ public:
+ if (getenv("MOTIONFX_DEBUG_GRAMMAR") != nullptr)
+ {
+ tao::pegtl::read_input<> in2(filename);
+- tao::pegtl::parse<MotionFX::CFG::Grammar, tao::pegtl::nothing, tao::pegtl::tracer>(in2);
++ tao::pegtl::complete_trace<MotionFX::CFG::Grammar>(in2);
+ }
+ return false;
+ }
+diff --git a/ThirdParty/pegtl/CMakeLists.txt b/ThirdParty/pegtl/CMakeLists.txt
+index 9bbd4c828..0cdb1f53d 100644
+--- a/ThirdParty/pegtl/CMakeLists.txt
++++ b/ThirdParty/pegtl/CMakeLists.txt
+@@ -5,7 +5,6 @@ vtk_module_third_party(
+ VERSION "2.8.3"
+ EXTERNAL
+ PACKAGE PEGTL
+- VERSION 2.0.0
+ TARGETS PEGTL::PEGTL
+ STANDARD_INCLUDE_DIRS)
+
+diff --git a/CMake/FindPEGTL.cmake b/CMake/FindPEGTL.cmake
+index 73eee02f7..22d8bc159 100644
+--- a/CMake/FindPEGTL.cmake
++++ b/CMake/FindPEGTL.cmake
+@@ -19,31 +19,43 @@
+ # Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
+ # Redistribution and use is allowed according to the terms of the 2-clause BSD license.
+
+-find_path(PEGTL_INCLUDE_DIR
+- NAMES pegtl/version.hpp
+- PATH_SUFFIXES tao
+- DOC "Path to PEGTL headers")
+-mark_as_advanced(PEGTL_INCLUDE_DIR)
++message(STATUS "Searching for PEGTL")
++find_package(PEGTL CONFIG REQUIRED)
++if(TARGET taocpp::pegtl)
++ message(STATUS "Searching for PEGTL - found target taocpp::pegtl")
++ set_target_properties(taocpp::pegtl PROPERTIES IMPORTED_GLOBAL TRUE)
++ if(NOT TARGET PEGTL::PEGTL)
++ add_library(PEGTL::PEGTL IMPORTED INTERFACE)
++ target_link_libraries(PEGTL::PEGTL INTERFACE taocpp::pegtl)
++ endif()
++else()
++ find_path(PEGTL_INCLUDE_DIR
++ NAMES pegtl/version.hpp
++ PATH_SUFFIXES tao
++ DOC "Path to PEGTL headers")
++ mark_as_advanced(PEGTL_INCLUDE_DIR)
+
+-if (PEGTL_INCLUDE_DIR)
+- file(STRINGS "${PEGTL_INCLUDE_DIR}/pegtl/version.hpp" _pegtl_version_header
+- REGEX "TAO_PEGTL_VERSION")
+- string(REGEX MATCH "define[ \t]+TAO_PEGTL_VERSION[ \t]+\"([0-9.]+)\"" _pegtl_version_match "${_pegtl_version_header}")
+- set(PEGTL_VERSION "${CMAKE_MATCH_1}")
+- unset(_pegtl_version_header)
+- unset(_pegtl_version_match)
+-endif ()
++ if (PEGTL_INCLUDE_DIR)
++ file(STRINGS "${PEGTL_INCLUDE_DIR}/pegtl/version.hpp" _pegtl_version_header
++ REGEX "TAO_PEGTL_VERSION")
++ string(REGEX MATCH "define[ \t]+TAO_PEGTL_VERSION[ \t]+\"([0-9.]+)\"" _pegtl_version_match "${_pegtl_version_header}")
++ set(PEGTL_VERSION "${CMAKE_MATCH_1}")
++ unset(_pegtl_version_header)
++ unset(_pegtl_version_match)
++ endif ()
+
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(PEGTL
+- REQUIRED_VARS PEGTL_INCLUDE_DIR
+- VERSION_VAR PEGTL_VERSION)
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(PEGTL
++ REQUIRED_VARS PEGTL_INCLUDE_DIR
++ VERSION_VAR PEGTL_VERSION)
+
+-if (PEGTL_FOUND)
+- set(PEGTL_INCLUDE_DIRS "${PEGTL_INCLUDE_DIR}")
+- if (NOT TARGET PEGTL::PEGTL)
+- add_library(PEGTL::PEGTL INTERFACE IMPORTED)
+- set_target_properties(PEGTL::PEGTL PROPERTIES
+- INTERFACE_INCLUDE_DIRECTORIES "${PEGTL_INCLUDE_DIR}")
+- endif ()
+-endif ()
++ if (PEGTL_FOUND)
++ set(PEGTL_INCLUDE_DIRS "${PEGTL_INCLUDE_DIR}")
++ if (NOT TARGET PEGTL::PEGTL)
++ add_library(PEGTL::PEGTL INTERFACE IMPORTED)
++ set_target_properties(PEGTL::PEGTL PROPERTIES
++ INTERFACE_INCLUDE_DIRECTORIES "${PEGTL_INCLUDE_DIR}")
++ endif ()
++ message(STATUS "Searching for PEGTL - found")
++ endif ()
++endif ()
+\ No newline at end of file
diff --git a/sci-libs/vtk/files/vtk-9.2.6-Java21.patch b/sci-libs/vtk/files/vtk-9.2.6-Java21.patch
new file mode 100644
index 000000000000..08d4c0bf633f
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.2.6-Java21.patch
@@ -0,0 +1,17 @@
+diff --git a/Wrapping/Java/CMakeLists.txt b/Wrapping/Java/CMakeLists.txt
+index 01f3f93d..3afd78cf 100644
+--- a/Wrapping/Java/CMakeLists.txt
++++ b/Wrapping/Java/CMakeLists.txt
+@@ -201,10 +201,10 @@ set(VTK_JAVA_TARGET_VERSION "<DEFAULT>" CACHE STRING "javac target version")
+ mark_as_advanced(VTK_JAVA_TARGET_VERSION)
+
+ if (VTK_JAVA_SOURCE_VERSION STREQUAL "<DEFAULT>")
+- set(VTK_JAVA_SOURCE_VERSION "1.7")
++ set(VTK_JAVA_SOURCE_VERSION "1.8")
+ endif ()
+ if (VTK_JAVA_TARGET_VERSION STREQUAL "<DEFAULT>")
+- set(VTK_JAVA_TARGET_VERSION "1.7")
++ set(VTK_JAVA_TARGET_VERSION "1.8")
+ endif ()
+
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_JARDIR}")
diff --git a/sci-libs/vtk/files/vtk-9.3.0-fix-Java-error-with-integer-enum-overloads.patch b/sci-libs/vtk/files/vtk-9.3.0-fix-Java-error-with-integer-enum-overloads.patch
new file mode 100644
index 000000000000..1b06b59a996e
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.3.0-fix-Java-error-with-integer-enum-overloads.patch
@@ -0,0 +1,51 @@
+From: dd7acfb4548dc76f1191aa96778f35c0cda80d35 Mon Sep 17 00:00:00 2001
+From: David Gobbi <david.gobbi@gmail.com>
+From: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10712
+Date: Sat, 18 Nov 2023 15:57:18 -0700
+Subject: [PATCH] Fix Java error with integer, enum overloads
+
+The Java wrappers simply cast enum types to 'jint', and do not
+distinguish them as individual types that are distinct from 'int'
+or 'unsigned int'. So when a method is overloaded with both 'int'
+and an enum type, only one of the overloads can be wrapped. The
+'int' (or 'unsigned int') is the one that is chosen.
+---
+ Wrapping/Tools/vtkParseJava.c | 3 ++-
+ Wrapping/Tools/vtkWrapJava.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Wrapping/Tools/vtkParseJava.c b/Wrapping/Tools/vtkParseJava.c
+index 36b58dda425..9f1544561f3 100644
+--- a/Wrapping/Tools/vtkParseJava.c
++++ b/Wrapping/Tools/vtkParseJava.c
+@@ -248,9 +248,10 @@ void return_result_native(FILE* fp)
+ * return 0 if the types do not map to the same type */
+ static int CheckMatch(unsigned int type1, unsigned int type2, const char* c1, const char* c2)
+ {
++ /* VTK_PARSE_UNKNOWN is used for enum types, which are mapped to java's int type */
+ static unsigned int byteTypes[] = { VTK_PARSE_UNSIGNED_CHAR, VTK_PARSE_SIGNED_CHAR, 0 };
+ static unsigned int shortTypes[] = { VTK_PARSE_UNSIGNED_SHORT, VTK_PARSE_SHORT, 0 };
+- static unsigned int intTypes[] = { VTK_PARSE_UNSIGNED_INT, VTK_PARSE_INT, 0 };
++ static unsigned int intTypes[] = { VTK_PARSE_UNKNOWN, VTK_PARSE_UNSIGNED_INT, VTK_PARSE_INT, 0 };
+ static unsigned int longTypes[] = { VTK_PARSE_UNSIGNED_LONG, VTK_PARSE_UNSIGNED_LONG_LONG,
+ VTK_PARSE_LONG, VTK_PARSE_LONG_LONG, 0 };
+
+diff --git a/Wrapping/Tools/vtkWrapJava.c b/Wrapping/Tools/vtkWrapJava.c
+index d629cc5c8a8..009853d2a89 100644
+--- a/Wrapping/Tools/vtkWrapJava.c
++++ b/Wrapping/Tools/vtkWrapJava.c
+@@ -639,9 +639,10 @@ void OutputFunctionResult(FILE* fp)
+ * return 0 if the types do not map to the same type */
+ static int CheckMatch(unsigned int type1, unsigned int type2, const char* c1, const char* c2)
+ {
++ /* VTK_PARSE_UNKNOWN is used for enum types, which are mapped to java's int type */
+ static unsigned int byteTypes[] = { VTK_PARSE_UNSIGNED_CHAR, VTK_PARSE_SIGNED_CHAR, 0 };
+ static unsigned int shortTypes[] = { VTK_PARSE_UNSIGNED_SHORT, VTK_PARSE_SHORT, 0 };
+- static unsigned int intTypes[] = { VTK_PARSE_UNSIGNED_INT, VTK_PARSE_INT, 0 };
++ static unsigned int intTypes[] = { VTK_PARSE_UNKNOWN, VTK_PARSE_UNSIGNED_INT, VTK_PARSE_INT, 0 };
+ static unsigned int longTypes[] = { VTK_PARSE_UNSIGNED_LONG, VTK_PARSE_UNSIGNED_LONG_LONG,
+ VTK_PARSE_LONG, VTK_PARSE_LONG_LONG, 0 };
+
+--
+GitLab
+
diff --git a/sci-libs/vtk/files/vtk-9.3.0-java.patch b/sci-libs/vtk/files/vtk-9.3.0-java.patch
new file mode 100644
index 000000000000..4b9125515eac
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.3.0-java.patch
@@ -0,0 +1,11 @@
+--- a/Wrapping/Java/Testing/Java/CMakeLists.txt
++++ b/Wrapping/Java/Testing/Java/CMakeLists.txt
+@@ -22,6 +22,8 @@ if (WIN32)
+ endif ()
+ set(vtk_test_classpath
+ "$<TARGET_FILE:VTK::vtkjava>")
++list(APPEND vtk_test_classpath
++ ${java_classpath})
+ string(REPLACE ";" "${classpath_separator}" vtk_test_classpath "${vtk_test_classpath}")
+
+ add_library(vtkjava_tests STATIC
diff --git a/sci-libs/vtk/files/vtk-9.3.0-opencascade-7.8.0.patch b/sci-libs/vtk/files/vtk-9.3.0-opencascade-7.8.0.patch
new file mode 100644
index 000000000000..4adec4944492
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.3.0-opencascade-7.8.0.patch
@@ -0,0 +1,31 @@
+--- a/IO/OCCT/CMakeLists.txt
++++ b/IO/OCCT/CMakeLists.txt
+@@ -5,11 +5,11 @@ vtk_module_find_package(
+ )
+
+ set(opencascade_req_targets
+- TKSTEP
+- TKIGES
++ TKDESTEP
++ TKDEIGES
+ TKMesh
+- TKXDESTEP
+- TKXDEIGES)
++ TKXSDRAWSTEP
++ TKXSDRAWIGES)
+ set(opencascade_missing_targets)
+ foreach (opencascade_req_target IN LISTS opencascade_req_targets)
+ if (NOT TARGET "${opencascade_req_target}")
+diff --git a/IO/OCCT/vtkOCCTReader.cxx b/IO/OCCT/vtkOCCTReader.cxx
+index 52e76be..7235309 100644
+--- a/IO/OCCT/vtkOCCTReader.cxx
++++ b/IO/OCCT/vtkOCCTReader.cxx
+@@ -348,7 +348,7 @@ public:
+ int GetHash(const TDF_Label& label)
+ {
+ TopoDS_Shape aShape;
+- return this->ShapeTool->GetShape(label, aShape) ? aShape.HashCode(INT_MAX) : 0;
++ return this->ShapeTool->GetShape(label, aShape) ? opencascade::hash(aShape) : 0;
+ }
+
+ //----------------------------------------------------------------------------
diff --git a/sci-libs/vtk/files/vtk-9.3.0-opencascade.patch b/sci-libs/vtk/files/vtk-9.3.0-opencascade.patch
new file mode 100644
index 000000000000..e26caecf497c
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.3.0-opencascade.patch
@@ -0,0 +1,17 @@
+From: https://gitlab.archlinux.org/archlinux/packaging/packages/vtk/-/blob/main/vtk-occt.patch
+From: Sven-Hendrik Haase <svenstaro@archlinux.org>
+diff --git a/IO/OCCT/vtkOCCTReader.h b/IO/OCCT/vtkOCCTReader.h
+index 36a02f5be3..33fa45fccc 100644
+--- a/IO/OCCT/vtkOCCTReader.h
++++ b/IO/OCCT/vtkOCCTReader.h
+@@ -48,8 +48,8 @@ public:
+ * It can be either STEP or IGES.
+ * Default is FILE_FORMAT::STEP
+ */
+- VTK_DEPRECATED_IN_9_3_0("Use SetFormat with unsigned int instead.")
+- vtkSetEnumMacro(FileFormat, Format);
++ // VTK_DEPRECATED_IN_9_3_0("Use SetFormat with unsigned int instead.")
++ // vtkSetEnumMacro(FileFormat, Format);
+ vtkSetClampMacro(FileFormat, unsigned int, Format::STEP, Format::IGES);
+ ///@}
+
diff --git a/sci-libs/vtk/files/vtk-9.3.0-pdal-2.6.0.patch b/sci-libs/vtk/files/vtk-9.3.0-pdal-2.6.0.patch
new file mode 100644
index 000000000000..98ab24334fd4
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.3.0-pdal-2.6.0.patch
@@ -0,0 +1,77 @@
+From: ccee5db79d6037c4d752b5f29dc30fb0dfd039bf Mon Sep 17 00:00:00 2001
+From: Timothée Couble <timothee.couble@kitware.com>
+From: https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10692
+Date: Fri, 10 Nov 2023 10:03:07 +0100
+Subject: [PATCH 1/2] IOPDAL: Always links with pdalcpp
+
+pdal_base and pdal_utils libraries are removed in PDAL 2.6.0
+link with pdalcpp instead starting from this version.
+---
+ IO/PDAL/CMakeLists.txt | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/IO/PDAL/CMakeLists.txt b/IO/PDAL/CMakeLists.txt
+index c31af0410f4..b83a9334109 100644
+--- a/IO/PDAL/CMakeLists.txt
++++ b/IO/PDAL/CMakeLists.txt
+@@ -3,14 +3,20 @@ vtk_module_find_package(PACKAGE PDAL VERSION 2.1)
+ set(classes
+ vtkPDALReader)
+
+-set(pdal_libraries pdal_util)
+-if (APPLE OR WIN32)
++set(pdal_libraries)
++if (PDAL_VERSION VERSION_LESS "2.6")
++ set(pdal_libraries pdal_util)
++ if (APPLE OR WIN32)
++ list(APPEND pdal_libraries
++ pdalcpp)
++ else()
++ list(APPEND pdal_libraries
++ pdal_base)
++ endif()
++else ()
+ list(APPEND pdal_libraries
+ pdalcpp)
+-else()
+- list(APPEND pdal_libraries
+- pdal_base)
+-endif()
++endif ()
+
+ vtk_module_add_module(VTK::IOPDAL
+ CLASSES ${classes})
+--
+GitLab
+
+
+From 5bf45b44760bac09b0079827346e78af38d981af Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com>
+Date: Fri, 10 Nov 2023 10:12:32 +0100
+Subject: [PATCH 2/2] Add support for PDAL 2.0 version
+
+---
+ IO/PDAL/CMakeLists.txt | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/IO/PDAL/CMakeLists.txt b/IO/PDAL/CMakeLists.txt
+index b83a9334109..a7027524e4f 100644
+--- a/IO/PDAL/CMakeLists.txt
++++ b/IO/PDAL/CMakeLists.txt
+@@ -23,4 +23,13 @@ vtk_module_add_module(VTK::IOPDAL
+ vtk_module_link(VTK::IOPDAL
+ PRIVATE
+ ${pdal_libraries})
++
++# PDAL 2.0 didn't include interfaces to its exported targets.
++# Resolved in https://github.com/PDAL/PDAL/issues/2262.
++if (PDAL_VERSION VERSION_LESS "2.1")
++ vtk_module_include(VTK::IOPDAL
++ PRIVATE
++ ${PDAL_INCLUDE_DIRS})
++endif ()
++
+ vtk_add_test_mangling(VTK::IOPDAL)
+--
+GitLab
+
diff --git a/sci-libs/vtk/files/vtk-9.3.0-too-many-initializer-values.patch b/sci-libs/vtk/files/vtk-9.3.0-too-many-initializer-values.patch
new file mode 100644
index 000000000000..13b6bf94a4ec
--- /dev/null
+++ b/sci-libs/vtk/files/vtk-9.3.0-too-many-initializer-values.patch
@@ -0,0 +1,20 @@
+--- a/Accelerators/Vtkm/Core/vtkmlib/vtkmDataArray.hxx 2023-11-14 00:37:21.000000000 +0100
++++ b/Accelerators/Vtkm/Core/vtkmlib/vtkmDataArray.hxx 2023-11-19 17:09:22.089595938 +0100
+@@ -334,7 +334,7 @@
+ auto TransformForScalarRange(const ArrayHandleType& src,
+ const vtkm::cont::ArrayHandle<vtkm::UInt8>& ghost, vtkm::UInt8 ghostValueToSkip, bool finitesOnly)
+ {
+- DecoratorForScalarRanage decorator{ ghostValueToSkip, finitesOnly };
++ DecoratorForScalarRanage decorator{ { ghostValueToSkip, finitesOnly } };
+ return vtkm::cont::make_ArrayHandleDecorator(src.GetNumberOfValues(), decorator, src, ghost);
+ }
+
+@@ -342,7 +342,7 @@
+ auto TransformForVectorRange(const ArrayHandleType& src,
+ const vtkm::cont::ArrayHandle<vtkm::UInt8>& ghost, vtkm::UInt8 ghostValueToSkip, bool finitesOnly)
+ {
+- DecoratorForVectorRanage decorator{ ghostValueToSkip, finitesOnly };
++ DecoratorForVectorRanage decorator{ { ghostValueToSkip, finitesOnly } };
+ return vtkm::cont::make_ArrayHandleDecorator(src.GetNumberOfValues(), decorator, src, ghost);
+ }
+
diff --git a/sci-libs/vtk/metadata.xml b/sci-libs/vtk/metadata.xml
index 6c1a962488c6..6fb9cf742a2d 100644
--- a/sci-libs/vtk/metadata.xml
+++ b/sci-libs/vtk/metadata.xml
@@ -1,22 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
+ <maintainer type="person" proxied="yes">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
<flag name="all-modules">Build all modules</flag>
<flag name="boost">Add support for boost</flag>
+ <flag name="freetype">Build support for font rendering</flag>
<flag name="gdal">Support for gdal formated data</flag>
<flag name="imaging">Building Imaging modules</flag>
- <flag name="json">Support for json formatted data</flag>
- <flag name="offscreen">Offscreen rendering through OSMesa</flag>
+ <flag name="las">Build support for LiDAR files</flag>
+ <flag name="logging">Build the logging module</flag>
+ <flag name="opencascade">Enable OpenCASCADE support</flag>
+ <flag name="openvdb">Build support to handle VDB data files</flag>
+ <flag name="pdal">Build support to handle point cloud data files</flag>
+ <flag name="qt6">Use Qt6 packages instead of Qt5</flag>
<flag name="rendering">Building Redering modules</flag>
+ <flag name="sdl">Enable SDL2 support for rendering 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="vtkm">Build the vtkm accelerations modules</flag>
<flag name="web">Install web component</flag>
- <flag name="xdmf2">Support for xdmf2 formatted data</flag>
- <flag name="R">Enable support for dev-lang/R</flag>
</use>
+ <upstream>
+ <remote-id type="github">Kitware/VTK</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/vtk/vtk-8.2.0.ebuild b/sci-libs/vtk/vtk-8.2.0.ebuild
deleted file mode 100644
index b0aa1a26e408..000000000000
--- a/sci-libs/vtk/vtk-8.2.0.ebuild
+++ /dev/null
@@ -1,345 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-WEBAPP_OPTIONAL=yes
-WEBAPP_MANUAL_SLOT=yes
-
-# Short package version
-SPV="$(ver_cut 1-2)"
-inherit flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils toolchain-funcs cmake virtualx webapp
-
-DESCRIPTION="The Visualization Toolkit"
-HOMEPAGE="https://www.vtk.org/"
-SRC_URI="
- https://www.vtk.org/files/release/${SPV}/VTK-${PV}.tar.gz
- doc? ( https://www.vtk.org/files/release/${SPV}/vtkDocHtml-${PV}.tar.gz )
- examples? (
- https://www.vtk.org/files/release/${SPV}/VTKData-${PV}.tar.gz
- https://www.vtk.org/files/release/${SPV}/VTKLargeData-${PV}.tar.gz
- )"
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
-IUSE="all-modules aqua boost doc examples ffmpeg gdal imaging java json mpi
- odbc offscreen postgres python qt5 R rendering tbb tcl theora tk
- video_cards_nvidia views web +X xdmf2"
-
-REQUIRED_USE="
- all-modules? ( python xdmf2 boost )
- java? ( qt5 )
- python? ( ${PYTHON_REQUIRED_USE} )
- tcl? ( rendering )
- examples? ( python )
- tk? ( tcl )
- web? ( python )
- ^^ ( X aqua offscreen )"
-
-RDEPEND="
- app-arch/lz4
- dev-cpp/eigen
- dev-db/sqlite
- dev-libs/double-conversion:0=
- dev-libs/expat
- dev-libs/jsoncpp:=
- dev-libs/libxml2:2
- dev-libs/pugixml
- >=media-libs/freetype-2.5.4
- media-libs/glew:0=
- >=media-libs/libharu-2.3.0-r2
- media-libs/libpng:0=
- media-libs/libtheora
- media-libs/mesa
- media-libs/tiff:0
- sci-libs/exodusii
- sci-libs/hdf5:=
- sci-libs/netcdf:0=
- sci-libs/netcdf-cxx:3
- sys-libs/zlib
- virtual/jpeg:0
- virtual/opengl
- x11-libs/libX11
- x11-libs/libXmu
- x11-libs/libXt
- boost? ( dev-libs/boost:=[mpi?] )
- examples? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- )
- ffmpeg? ( media-video/ffmpeg )
- gdal? ( sci-libs/gdal )
- java? ( >=virtual/jdk-1.7:* )
- mpi? (
- virtual/mpi[cxx,romio]
- $(python_gen_cond_dep '
- python? ( dev-python/mpi4py[${PYTHON_MULTI_USEDEP}] )
- ')
- )
- odbc? ( dev-db/unixODBC )
- offscreen? ( media-libs/mesa[osmesa] )
- postgres? ( dev-db/postgresql:= )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/sip[${PYTHON_MULTI_USEDEP}]
- ')
- )
- qt5? (
- dev-qt/designer:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtsql:5
- dev-qt/qtx11extras:5
- $(python_gen_cond_dep '
- python? ( dev-python/PyQt5[${PYTHON_MULTI_USEDEP}] )
- ')
- )
- R? ( dev-lang/R )
- tbb? ( dev-cpp/tbb )
- tcl? ( dev-lang/tcl:0= )
- tk? ( dev-lang/tk:0= )
- video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
- web? (
- ${WEBAPP_DEPEND}
- $(python_gen_cond_dep '
- dev-python/autobahn[${PYTHON_MULTI_USEDEP}]
- dev-python/constantly[${PYTHON_MULTI_USEDEP}]
- dev-python/hyperlink[${PYTHON_MULTI_USEDEP}]
- dev-python/incremental[${PYTHON_MULTI_USEDEP}]
- dev-python/six[${PYTHON_MULTI_USEDEP}]
- dev-python/twisted[${PYTHON_MULTI_USEDEP}]
- dev-python/txaio[${PYTHON_MULTI_USEDEP}]
- dev-python/zope-interface[${PYTHON_MULTI_USEDEP}]
- ')
- )
- xdmf2? ( sci-libs/xdmf2 )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}"/VTK-${PV}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.1.0-openmpi-4-compatibility.patch
- "${FILESDIR}"/${P}-qt-5.15.patch # bug 726960
- "${FILESDIR}"/${P}-gcc-10.patch # bug 723374
- "${FILESDIR}"/${P}-fno-common.patch # bug 721048
- "${FILESDIR}"/${P}-py38.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
-}
-
-src_prepare() {
- cmake_src_prepare
-
- local x
- # missing: VPIC freerange libproj4 mrmpi sqlite utf8 verdict xmdf2 xmdf3
- for x in expat freetype hdf5 jpeg jsoncpp libharu libxml2 lz4 netcdf png tiff zlib; do
- ebegin "Dropping bundled ${x}"
- rm -r ThirdParty/${x}/vtk${x} || die
- eend $?
- done
-
- if use doc; then
- einfo "Removing .md5 files from documents."
- rm -f "${WORKDIR}"/html/*.md5 || die "Failed to remove superfluous hashes"
- sed -e "s|\${VTK_BINARY_DIR}/Utilities/Doxygen/doc|${WORKDIR}|" \
- -i Utilities/Doxygen/CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- # general configuration
- local mycmakeargs=(
- -Wno-dev
- -DVTK_DIR="${S}"
- -DVTK_INSTALL_LIBRARY_DIR=$(get_libdir)
- -DVTK_INSTALL_PACKAGE_DIR="$(get_libdir)/cmake/${PN}-${SPV}"
- -DVTK_INSTALL_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
- -DVTK_DATA_ROOT="${EPREFIX}/usr/share/${PN}/data"
- -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
- # Use bundled gl2ps (bundled version is a patched version of 1.3.9. Post 1.3.9 versions should be compatible)
- -DVTK_USE_SYSTEM_GL2PS=OFF
- -DVTK_USE_SYSTEM_HDF5=ON
- -DVTK_USE_SYSTEM_JPEG=ON
- -DVTK_USE_SYSTEM_LIBPROJ=OFF
- -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
- # Use bundled diy2 (no gentoo package / upstream does not provide a Finddiy2.cmake or diy2Config.cmake / diy2-config.cmake)
- -DVTK_USE_SYSTEM_DIY2=OFF
- -DVTK_USE_GL2PS=ON
- -DVTK_USE_LARGE_DATA=ON
- -DVTK_USE_PARALLEL=ON
- -DVTK_EXTRA_COMPILER_WARNINGS=ON
- -DVTK_Group_StandAlone=ON
- -DBUILD_DOCUMENTATION=$(usex doc)
- -DBUILD_EXAMPLES=$(usex examples)
- -DBUILD_VTK_BUILD_ALL_MODULES_FOR_TESTS=off
- -DVTK_BUILD_ALL_MODULES=$(usex all-modules)
- -DUSE_DOCUMENTATION_HTML_HELP=$(usex doc)
- -DVTK_Group_Imaging=$(usex imaging)
- -DVTK_Group_MPI=$(usex mpi)
- -DVTK_Group_Rendering=$(usex rendering)
- -DVTK_Group_Tk=$(usex tk)
- -DVTK_Group_Views=$(usex views)
- -DVTK_Group_Web=$(usex web)
- -DVTK_SMP_IMPLEMENTATION_TYPE="$(usex tbb TBB Sequential)"
- -DVTK_WWW_DIR="${ED}/${MY_HTDOCSDIR}"
- -DVTK_WRAP_JAVA=$(usex java)
- -DVTK_WRAP_PYTHON=$(usex python)
- -DVTK_WRAP_PYTHON_SIP=$(usex python)
- -DVTK_WRAP_TCL=$(usex tcl)
- -DVTK_USE_BOOST=$(usex boost)
- -DUSE_VTK_USE_BOOST=$(usex boost)
- -DModule_vtkInfovisBoost=$(usex boost)
- -DModule_vtkInfovisBoostGraphAlgorithms=$(usex boost)
- -DVTK_USE_ODBC=$(usex odbc)
- -DModule_vtkIOODBC=$(usex odbc)
- -DVTK_USE_OFFSCREEN=$(usex offscreen)
- -DVTK_OPENGL_HAS_OSMESA=$(usex offscreen)
- -DVTK_USE_OGGTHEORA_ENCODER=$(usex theora)
- -DVTK_USE_NVCONTROL=$(usex video_cards_nvidia)
- -DModule_vtkFiltersStatisticsGnuR=$(usex R)
- -DVTK_USE_X=$(usex X)
- # IO
- -DVTK_USE_FFMPEG_ENCODER=$(usex ffmpeg)
- -DModule_vtkIOGDAL=$(usex gdal)
- -DModule_vtkIOGeoJSON=$(usex json)
- -DModule_vtkIOXdmf2=$(usex xdmf2)
- -DBUILD_TESTING=$(usex examples)
- # Apple stuff, does it really work?
- -DVTK_USE_COCOA=$(usex aqua)
- )
-
- if use java; then
- local javacargs=$(java-pkg_javac-args)
- mycmakeargs+=( -DJAVAC_OPTIONS=${javacargs// /;} )
- fi
-
- if use mpi; then
- mycmakeargs+=( -DVTK_USE_SYSTEM_MPI4PY=ON )
- 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=${EPREFIX} --root=${D}"
- -DVTK_USE_SYSTEM_SIX=ON
- )
- fi
-
- if use qt5; 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="$(basename $(qt5_get_libdir))/qt5/plugins/designer"
- -DDESIRED_QT_VERSION=5
- -DVTK_QT_VERSION=5
- -DQT_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
- -DQT_UIC_EXECUTABLE="$(qt5_get_bindir)/uic"
- -DQT_INCLUDE_DIR="${EPREFIX}/usr/include/qt5"
- -DQT_QMAKE_EXECUTABLE="$(qt5_get_bindir)/qmake"
- -DVTK_Group_Qt:BOOL=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebKitWidgets=ON
- )
- fi
-
- if use R; then
- mycmakeargs+=(
- -DR_LIBRARY_BLAS=/usr/$(get_libdir)/R/lib/libR.so
- -DR_LIBRARY_LAPACK=/usr/$(get_libdir)/R/lib/libR.so
- )
- fi
-
- append-cppflags -D__STDC_CONSTANT_MACROS -D_UNICODE
-
- 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_src_configure
-}
-
-src_install() {
- use web && webapp_src_preinst
-
- cmake_src_install
-
- use java && java-pkg_regjar "${ED}"/usr/$(get_libdir)/${PN}.jar
-
- # Stop web page images from being compressed
- use doc && docompress -x /usr/share/doc/${PF}/doxygen
-
- if use tcl; then
- # install Tcl docs
- docinto vtk_tcl
- docinto .
- fi
-
- # install examples
- if use examples; then
- einfo "Installing examples"
- mv -v {E,e}xamples || die
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- # environment
- cat >> "${T}"/40${PN} <<- EOF || die
- 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-9.2.5.ebuild b/sci-libs/vtk/vtk-9.2.5.ebuild
new file mode 100644
index 000000000000..7460dc7f2461
--- /dev/null
+++ b/sci-libs/vtk/vtk-9.2.5.ebuild
@@ -0,0 +1,746 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO:
+# - add USE flag for remote modules? Those modules can be downloaded
+# properly before building.
+# - replace usex by usev where applicable
+
+PYTHON_COMPAT=( python3_{9..11} )
+WEBAPP_OPTIONAL=yes
+WEBAPP_MANUAL_SLOT=yes
+
+inherit check-reqs cmake cuda java-pkg-opt-2 multiprocessing python-single-r1 toolchain-funcs virtualx webapp
+
+# Short package version
+MY_PV="$(ver_cut 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="https://www.vtk.org/"
+SRC_URI="
+ https://www.vtk.org/files/release/${MY_PV}/VTK-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKData-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKDataFiles-${PV}.tar.gz
+ doc? ( https://www.vtk.org/files/release/${MY_PV}/vtkDocHtml-${PV}.tar.gz )
+ examples? (
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${PV}.tar.gz
+ )
+ test? (
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${PV}.tar.gz
+ )
+"
+S="${WORKDIR}/VTK-${PV}"
+
+LICENSE="BSD LGPL-2"
+SLOT="0/${MY_PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+# TODO: Like to simplifiy these. Mostly the flags related to Groups.
+IUSE="all-modules boost cuda debug doc examples ffmpeg freetype gdal imaging
+ java las +logging mpi mysql odbc openmp openvdb pdal postgres python qt5
+ qt6 +rendering sdl tbb test +threads tk video_cards_nvidia views vtkm web"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ all-modules? (
+ boost ffmpeg freetype gdal imaging las mysql odbc openvdb pdal
+ postgres rendering views
+ )
+ cuda? ( video_cards_nvidia vtkm )
+ java? ( rendering )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ qt5? ( rendering )
+ qt6? ( rendering )
+ sdl? ( rendering )
+ tk? ( python rendering )
+ web? ( python )
+"
+
+# for <pegtl-3 dependency see
+# https://discourse.vtk.org/t/compilation-errors-related-to-pegtl-proj/5929
+# eigen, nlohmann_json, pegtl and utfcpp are referenced in the cmake files
+# and need to be available when VTK consumers configure the dependencies.
+RDEPEND="
+ app-arch/lz4:=
+ app-arch/xz-utils
+ dev-cpp/eigen
+ dev-cpp/nlohmann_json
+ dev-db/sqlite:3
+ dev-libs/double-conversion:=
+ dev-libs/expat
+ dev-libs/icu:=
+ dev-libs/jsoncpp:=
+ >=dev-libs/libfmt-8.1.1:=
+ dev-libs/libxml2:2
+ dev-libs/libzip:=
+ <dev-libs/pegtl-3
+ dev-libs/pugixml
+ dev-libs/utfcpp
+ media-libs/freetype
+ media-libs/libjpeg-turbo
+ >=media-libs/libharu-2.4.2:=
+ media-libs/libogg
+ media-libs/libpng:=
+ media-libs/libtheora
+ media-libs/tiff:=
+ >=sci-libs/cgnslib-4.1.1:=[hdf5,mpi=]
+ sci-libs/hdf5:=[mpi=]
+ sci-libs/proj:=
+ sci-libs/netcdf:=[mpi=]
+ sys-libs/zlib
+ boost? ( dev-libs/boost:=[mpi?] )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ ffmpeg? ( media-video/ffmpeg:= )
+ freetype? ( media-libs/fontconfig )
+ gdal? ( sci-libs/gdal:= )
+ java? ( >=virtual/jdk-1.8:* )
+ las? ( sci-geosciences/liblas )
+ mpi? ( virtual/mpi[cxx,romio] )
+ mysql? ( dev-db/mariadb-connector-c )
+ odbc? ( dev-db/unixODBC )
+ openvdb? ( media-gfx/openvdb:= )
+ pdal? ( <sci-libs/pdal-2.6.0:= )
+ postgres? ( dev-db/postgresql:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )')
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtopengl:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtsql:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,opengl,sql,widgets]
+ dev-qt/qtdeclarative:6[opengl]
+ dev-qt/qtshadertools:6
+ x11-libs/libxkbcommon
+ )
+ sdl? ( media-libs/libsdl2 )
+ rendering? (
+ media-libs/glew:=
+ virtual/opengl
+ x11-libs/gl2ps
+ x11-libs/libICE
+ x11-libs/libXcursor
+ x11-libs/libXext
+ )
+ tbb? ( dev-cpp/tbb:= )
+ tk? ( dev-lang/tk:= )
+ video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
+ views? (
+ x11-libs/libICE
+ x11-libs/libXext
+ )
+ web? ( ${WEBAPP_DEPEND} )
+"
+
+# for <pegtl-3 dependency see
+# https://discourse.vtk.org/t/compilation-errors-related-to-pegtl-proj/5929
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/eigen
+ dev-cpp/nlohmann_json
+ <dev-libs/pegtl-3
+ dev-libs/utfcpp
+ test? (
+ media-libs/glew
+ x11-libs/libXcursor
+ rendering? ( media-libs/freeglut )
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.2.2-vtkGeometryFilter-add-missing-mutex-header-file.patch
+ "${FILESDIR}"/${PN}-9.2.2-VTKm-respect-user-CXXFLAGS.patch
+ "${FILESDIR}"/${PN}-9.2.2-link-with-glut-library-for-freeglut.patch
+ "${FILESDIR}"/${PN}-9.2.5-Add-include-cstdint-to-compile-with-gcc-13.patch
+ "${FILESDIR}"/${PN}-9.2.5-Fix-compilation-error-with-CUDA-12.patch
+ "${FILESDIR}"/${PN}-9.2.5-More-include-cstdint-to-compile-with-gcc13.patch
+)
+
+DOCS=( CONTRIBUTING.md README.md )
+
+vtk_check_reqs() {
+ local dsk=4096
+ local mem=$(( $(usex cuda 7168 0) ))
+
+ dsk=$(( $(usex doc 3072 0) + ${dsk} ))
+ dsk=$(( $(usex examples 3072 0) + ${dsk} ))
+ dsk=$(( $(usex cuda 8192 0) + ${dsk} ))
+
+ # In case users are not aware of the extra NINJAOPTS, check
+ # for the more common MAKEOPTS, in case NINJAOPTS is empty
+ local jobs=1
+ if [[ -n "${NINJAOPTS}" ]]; then
+ jobs=$(makeopts_jobs "${NINJAOPTS}" "$(get_nproc)")
+ else
+ if [[ -n "${MAKEOPTS}" ]]; then
+ jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ fi
+ fi
+ mem=$(( ${mem} * $(( ${jobs} > 4 ? 4 : ${jobs} )) ))
+
+ use cuda && export CHECKREQS_MEMORY=${mem}M
+ export CHECKREQS_DISK_BUILD=${dsk}M
+
+ check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
+
+ if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
+ # FIXME: better use eerror?
+ ewarn "GCC 11 is know to fail building with CUDA support in some cases."
+ ewarn "See bug #820593"
+ fi
+
+ if use qt6 && use qt5; then
+ ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
+ fi
+
+ # bug #835659
+ if use cuda; then
+ if [[ ${VTK_CUDA_ARCH} = native ]]; then
+ eerror "Using native CUDA arches is currently broken."
+ eerror "Please set it to one of the common arch names:"
+ eerror "kepler, maxwell, pascal, turing or ampere."
+ die "Please set VTK_CUDA_ARCH environment variable!"
+ fi
+ fi
+
+ vtk_check_reqs
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
+
+ if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
+ # FIXME: better use eerror?
+ ewarn "GCC 11 is know to fail building with CUDA support in some cases."
+ ewarn "See bug #820593"
+ fi
+
+ if use qt6 && use qt5; then
+ ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
+ fi
+
+ # bug #835659
+ if use cuda; then
+ if [[ ${VTK_CUDA_ARCH} = native ]]; then
+ eerror "Using native CUDA arches is currently broken."
+ eerror "Please set it to one of the common arch names:"
+ eerror "kepler, maxwell, pascal, turing or ampere."
+ die "Please set VTK_CUDA_ARCH environment variable!"
+ fi
+ fi
+
+ vtk_check_reqs
+
+ use java && java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+ use web && webapp_pkg_setup
+}
+
+# Note: The following libraries are marked as internal by kitware
+# and can currently not unbundled:
+# diy2, exodusII, fides, h5part, kissfft, loguru, verdict, vpic,
+# vtkm, xdmf{2,3}, zfp
+# TODO: cli11 (::guru), exprtk, ioss
+# Note: As of v9.2.2 we no longer drop bundled libraries, when using system
+# libraries. This just saves a little space. CMake logic of VTK on ThirdParty
+# libraries avoids automagic builds, so deletion is not needed to catch these.
+src_prepare() {
+ if use doc; then
+ einfo "Removing .md5 files from documents."
+ rm -f "${WORKDIR}"/html/*.md5 || die "Failed to remove superfluous hashes"
+ sed -e "s|\${VTK_BINARY_DIR}/Utilities/Doxygen/doc|${WORKDIR}|" \
+ -i Utilities/Doxygen/CMakeLists.txt || die
+ fi
+
+ cmake_src_prepare
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ cuda_src_prepare
+ fi
+
+ if use test; then
+ ebegin "Copying data files to ${BUILD_DIR}"
+ mkdir -p "${BUILD_DIR}/ExternalData" || die
+ pushd "${BUILD_DIR}/ExternalData" >/dev/null || die
+ ln -sf ../../VTK-${PV}/.ExternalData/README.rst . || die
+ ln -sf ../../VTK-${PV}/.ExternalData/SHA512 . || die
+ popd >/dev/null || die
+ eend "$?"
+ fi
+}
+
+# TODO: check these and consider to use them
+# VTK_BUILD_SCALED_SOA_ARRAYS
+# VTK_DISPATCH_{AOS,SOA,TYPED}_ARRAYS
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_LICENSEDIR="share/${PN}/licenses"
+
+ -DVTK_ANDROID_BUILD=OFF
+ -DVTK_IOS_BUILD=OFF
+
+ -DVTK_BUILD_ALL_MODULES=$(usex all-modules ON OFF)
+ # we use the pre-built documentation and install these with USE=doc
+ -DVTK_BUILD_DOCUMENTATION=OFF
+ -DVTK_BUILD_EXAMPLES=$(usex examples ON OFF)
+
+ # no package in the tree: https://github.com/LLNL/conduit
+ -DVTK_ENABLE_CATALYST=OFF
+ -DVTK_ENABLE_KITS=OFF
+ -DVTK_ENABLE_LOGGING=$(usex logging ON OFF)
+ # defaults to ON: USE flag for this?
+ -DVTK_ENABLE_REMOTE_MODULES=OFF
+
+ # disable fetching files during build
+ -DVTK_FORBID_DOWNLOADS=ON
+
+ -DVTK_GROUP_ENABLE_Imaging=$(usex imaging "YES" "DEFAULT")
+ -DVTK_GROUP_ENABLE_Rendering=$(usex rendering "YES" "DEFAULT")
+ -DVTK_GROUP_ENABLE_StandAlone="YES"
+ -DVTK_GROUP_ENABLE_Views=$(usex views "YES" "DEFAULT")
+ -DVTK_GROUP_ENABLE_Web=$(usex web "YES" "DEFAULT")
+
+ -DVTK_INSTALL_SDK=ON
+
+ -DVTK_MODULE_ENABLE_VTK_IOCGNSReader="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOExportPDF="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOLAS=$(usex las "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_IONetCDF="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOOggTheora="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOOpenVDB=$(usex openvdb "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_IOSQL="WANT" # sqlite
+ -DVTK_MODULE_ENABLE_VTK_IOPDAL=$(usex pdal "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_IOXML="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOXMLParser="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingFreeType=$(usex freetype "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig=$(usex freetype "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_cgns="WANT"
+ -DVTK_MODULE_ENABLE_VTK_doubleconversion="WANT"
+ -DVTK_MODULE_ENABLE_VTK_eigen="WANT"
+ -DVTK_MODULE_ENABLE_VTK_expat="WANT"
+ -DVTK_MODULE_ENABLE_VTK_fmt="WANT"
+ -DVTK_MODULE_ENABLE_VTK_freetype="WANT"
+ -DVTK_MODULE_ENABLE_VTK_hdf5="WANT"
+ -DVTK_MODULE_ENABLE_VTK_jpeg="WANT"
+ -DVTK_MODULE_ENABLE_VTK_jsoncpp="WANT"
+ -DVTK_MODULE_ENABLE_VTK_libharu="WANT"
+ -DVTK_MODULE_ENABLE_VTK_libproj="WANT"
+ -DVTK_MODULE_ENABLE_VTK_libxml2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_lz4="WANT"
+ -DVTK_MODULE_ENABLE_VTK_lzma="WANT"
+ -DVTK_MODULE_ENABLE_VTK_netcdf="WANT"
+ -DVTK_MODULE_ENABLE_VTK_nlohmannjson="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ogg="WANT"
+ -DVTK_MODULE_ENABLE_VTK_pegtl="WANT"
+ -DVTK_MODULE_ENABLE_VTK_png="WANT"
+ -DVTK_MODULE_ENABLE_VTK_pugixml="WANT"
+ -DVTK_MODULE_ENABLE_VTK_sqlite="WANT"
+ -DVTK_MODULE_ENABLE_VTK_theora="WANT"
+ -DVTK_MODULE_ENABLE_VTK_tiff="WANT"
+ -DVTK_MODULE_ENABLE_VTK_utf8="WANT"
+ -DVTK_MODULE_ENABLE_VTK_vtkm=$(usex vtkm "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_zlib="WANT"
+
+ # not packaged in Gentoo
+ -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+
+ -DVTK_RELOCATABLE_INSTALL=ON
+
+ -DVTK_SMP_ENABLE_OPENMP=$(usex openmp ON OFF)
+ -DVTK_SMP_ENABLE_STDTHREAD=$(usex threads ON OFF)
+ -DVTK_SMP_ENABLE_TBB=$(usex tbb ON OFF)
+
+ -DVTK_UNIFIED_INSTALL_TREE=ON
+
+ -DVTK_USE_CUDA=$(usex cuda ON OFF)
+ # use system libraries where possible
+ -DVTK_USE_EXTERNAL=ON
+ # avoid finding package from either ::guru or ::sci
+ -DVTK_USE_MEMKIND=OFF
+ -DVTK_USE_MPI=$(usex mpi ON OFF)
+ -DVTK_USE_TK=$(usex tk ON OFF)
+ -DVTK_USE_X=ON
+
+ -DVTK_WHEEL_BUILD=OFF
+
+ -DVTK_WRAP_JAVA=$(usex java ON OFF)
+ -DVTK_WRAP_PYTHON=$(usex python ON OFF)
+ )
+
+ if use all-modules; then
+ mycmakeargs+=(
+ # no package in ::gentoo
+ -DVTK_ENABLE_OSPRAY=OFF
+ # TODO: some of these are tied to the VTK_ENABLE_REMOTE_MODULES
+ # option. Check whether we can download them clean and enable
+ # them.
+ -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy="NO"
+ -DVTK_MODULE_ENABLE_VTK_fides="NO"
+ -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS="NO"
+ -DVTK_MODULE_ENABLE_VTK_IOADIOS2="NO"
+ -DVTK_MODULE_ENABLE_VTK_IOFides="NO"
+
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR="NO"
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenXR="NO"
+
+ # available in ::guru, so avoid detection if installed
+ -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
+ )
+ fi
+
+ if use boost; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoost="WANT"
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms="WANT"
+ )
+ fi
+
+ # TODO: checks this on updates of nvidia-cuda-toolkit and update
+ # the list of available arches if necessary, i.e. add new arches
+ # once they are released at the end of the list before all.
+ # See https://en.wikipedia.org/wiki/CUDA#GPUs_supported
+ # CUDA 11.8 supports Ada Lovelace and Hopper arches, but cmake,
+ # as of 3.25.1 doesn't recognize these keywords.
+ # FIXME: better use numbers than names?
+ if use cuda; then
+ local cuda_arch=
+ case ${VTK_CUDA_ARCH:-native} in
+ # we ignore fermi arch, because current nvidia-cuda-toolkit-11*
+ # no longer supports it
+ kepler|maxwell|pascal|volta|turing|ampere|all)
+ cuda_arch=${VTK_CUDA_ARCH}
+ ;;
+# native)
+# ewarn "If auto detection fails for you, please try and export the"
+# ewarn "VTK_CUDA_ARCH environment variable to one of the common arch"
+# ewarn "names: kepler, maxwell, pascal, volta, turing, ampere or all."
+# cuda_arch=native
+# ;;
+ *)
+ eerror "Please properly set the VTK_CUDA_ARCH environment variable to"
+ eerror "one of: kepler, maxwell, pascal, volta, turing, ampere, all"
+ die "Invalid CUDA architecture given: '${VTK_CUDA_ARCH}'!"
+ ;;
+ esac
+ ewarn "Using CUDA architecture '${cuda_arch}'"
+
+ mycmakeargs+=( -DVTKm_CUDA_Architecture=${cuda_arch} )
+ fi
+
+ if use debug; then
+ mycmakeargs+=(
+ -DVTK_DEBUG_LEAKS=ON
+ -DVTK_DEBUG_MODULE=ON
+ -DVTK_DEBUG_MODULE_ALL=ON
+ -DVTK_ENABLE_SANITIZER=ON
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON
+ -DVTK_WARN_ON_DISPATCH_FAILURE=ON
+ )
+ if use rendering; then
+ mycmakeargs+=( -DVTK_OPENGL_ENABLE_STREAM_ANNOTATIONS=ON )
+ fi
+ fi
+
+ if use examples || use test; then
+ mycmakeargs+=( -DVTK_USE_LARGE_DATA=ON )
+ fi
+
+ if use ffmpeg; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOFFMPEG="WANT" )
+ if use rendering; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingFFMPEGOpenGL2="WANT" )
+ fi
+ fi
+
+ if use gdal; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_GeovisGDAL="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOGDAL="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOGeoJSON="WANT"
+ )
+ fi
+
+ if use imaging; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_ImagingColor="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingFourier="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingGeneral="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingHybrid="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingMath="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingMorphological="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingSources="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingStatistics="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingStencil="WANT"
+ )
+ use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingImage="WANT" )
+ fi
+
+ if ! use java && ! use python; then
+ # defaults to ON
+ mycmakeargs+=( -DVTK_ENABLE_WRAPPING=OFF )
+ fi
+
+ if use java; then
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_JARDIR="share/${PN}"
+ -DVTK_ENABLE_WRAPPING=ON
+ -DVTK_MODULE_ENABLE_VTK_Java="WANT"
+ )
+ fi
+
+ if use mpi; then
+ mycmakeargs+=(
+ -DVTK_GROUP_ENABLE_MPI="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOH5part="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOMPIParallel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOParallel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOParallelXML="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ParallelMPI="WANT"
+ -DVTK_MODULE_ENABLE_VTK_h5part="WANT"
+ -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+ )
+ use imaging && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMPIImage="WANT" )
+ use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py="WANT" )
+ if use rendering; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_RenderingParallel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC="WANT"
+ )
+ fi
+ use vtkm && mycmakeargs+=( -DVTKm_ENABLE_MPI=ON )
+ else
+ mycmakeargs+=( -DVTK_GROUP_ENABLE_MPI="NO" )
+ fi
+
+ use mysql && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMySQL="WANT" )
+ use odbc && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOODBC="WANT" )
+ use openvdb && mycmakeargs+=( -DOpenVDB_CMAKE_PATH="${ESYSROOT}/usr/$(get_libdir)/cmake/OpenVDB" )
+ use postgres && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOPostgreSQL="WANT" )
+
+ if use python; then
+ mycmakeargs+=(
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DVTK_ENABLE_WRAPPING=ON
+ -DVTK_MODULE_ENABLE_VTK_Python="WANT"
+ -DVTK_MODULE_ENABLE_VTK_PythonInterpreter="WANT"
+ -DVTK_MODULE_ENABLE_VTK_WrappingPythonCore="WANT"
+ -DVTK_PYTHON_SITE_PACKAGES_SUFFIX="lib/${EPYTHON}/site-packages"
+ )
+ use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_PythonContext2D="WANT" )
+ fi
+
+ if use qt5 && use qt6; then
+ # prefer Qt5: https://wiki.gentoo.org/wiki/Project:qt/Policies
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPREFIX}/usr/$(get_libdir)/qt5/qml"
+ -DVTK_QT_VERSION="5"
+ )
+ else
+ if use qt5; then
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPREFIX}/usr/$(get_libdir)/qt5/qml"
+ -DVTK_QT_VERSION="5"
+ )
+ elif use qt6; then
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPFREIX}/usr/$(get_libdir)/qt6/qml"
+ -DVTK_QT_VERSION="6"
+ )
+ else
+ mycmakeargs+=( -DVTK_GROUP_ENABLE_Qt="NO" )
+ fi
+ fi
+
+ if use qt5 || use qt6; then
+ mycmakeargs+=(
+ -DVTK_GROUP_ENABLE_Qt:STRING="YES"
+ -DVTK_MODULE_ENABLE_VTK_GUISupportQt="WANT"
+ -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick="WANT"
+ )
+ if use mysql || use postgres; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL="WANT" )
+ fi
+ if use rendering; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingQt="WANT" )
+ fi
+ if use views; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsQt="WANT" )
+ fi
+ fi
+
+ if use rendering; then
+ mycmakeargs+=(
+ -DVTK_ENABLE_OSPRAY=OFF
+
+ -DVTK_MODULE_ENABLE_VTK_IOExportGL2PS="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingAnnotation="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingContext2D="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingExternal="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingGL2PSOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingHyperTreeGrid="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLOD="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLabel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingRayTracing="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingSceneGraph="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingUI="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolume="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolumeAMR="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolumeOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_gl2ps="WANT"
+ -DVTK_MODULE_ENABLE_VTK_glew="WANT"
+ -DVTK_MODULE_ENABLE_VTK_opengl="WANT"
+
+ -DVTK_USE_SDL2=$(usex sdl "YES" "NO")
+ )
+ use tk && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingTk="WANT" )
+ use views && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsContext2D="WANT" )
+ use web && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingVtkJS="WANT" )
+ fi
+
+ # Testing has been changed in 9.2.5: it is now allowed without
+ # requiring to download, if the data files are available locally!
+ if use test; then
+ mycmakeargs+=(
+ -DVTK_BUILD_TESTING=ON
+ # disable fetching data files for the default 'all' target
+ -DVTK_DATA_EXCLUDE_FROM_ALL=ON
+
+ # requested even if all use flags are off
+ -DVTK_MODULE_ENABLE_VTK_octree="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ViewsCore="WANT"
+
+ # available in ::guru, so avoid detection if installed
+ -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
+ )
+ else
+ mycmakeargs+=( -DVTK_BUILD_TESTING=OFF )
+ fi
+
+ # FIXME: upstream provides 4 threading models, as of 9.1.0. These are
+ # sequential, stdthread, openmp and tbb. AFAICS all of them can be
+ # enabled at the same time. Sequential and Stdthread are enabled by
+ # default. The default selected type for the build is sequential.
+ # Assuming sequential < stdpthread < openmp < tbb wrt speed, although
+ # this is dependent on the actual scenario where threading is used.
+ if use tbb; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" )
+ elif use openmp; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="OpenMP" )
+ elif use threads; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="STDThread" )
+ else
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" )
+ fi
+
+ use tk && mycmakeargs+=( -DVTK_GROUP_ENABLE_Tk="YES" )
+
+ if use views; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_ViewsCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ViewsInfovis="WANT"
+ )
+ fi
+
+ if use vtkm; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters="WANT"
+
+ -DVTKm_NO_INSTALL_README_LICENSE=ON # bug #793221
+ -DVTKm_Vectorization=native
+ )
+ fi
+
+ if use web; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_WebCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_WebGLExporter="WANT"
+ )
+ use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_WebPython="WANT" )
+ fi
+
+ use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+
+ cmake_src_configure
+}
+
+src_compile() {
+ use test && cmake_build VTKData
+ cmake_src_compile
+}
+
+# FIXME: avoid nonfatal?
+# see https://github.com/gentoo/gentoo/pull/22878#discussion_r747204043
+src_test() {
+# nonfatal virtx cmake_src_test
+ virtx cmake_src_test
+}
+
+src_install() {
+ use web && webapp_src_preinst
+
+ # Stop web page images from being compressed
+ if use doc; then
+ HTML_DOCS=( "${WORKDIR}/html/." )
+ fi
+
+ cmake_src_install
+
+ use java && java-pkg_regjar "${ED}"/usr/share/${PN}/${PN}.jar
+
+ # install examples
+ if use examples; then
+ einfo "Installing examples"
+ mv -v {E,e}xamples || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+
+ einfo "Installing datafiles"
+ insinto /usr/share/${PN}/data
+ doins -r "${S}/.ExternalData"
+ fi
+
+ use python && python_optimize
+
+ use web && webapp_src_install
+}
+
+# webapp.eclass exports these but we want it optional #534036
+pkg_postinst() {
+ use web && webapp_pkg_postinst
+
+ if use examples; then
+ einfo "You can get more and updated examples at"
+ einfo "https://kitware.github.io/vtk-examples/site/"
+ fi
+}
+
+pkg_prerm() {
+ use web && webapp_pkg_prerm
+}
diff --git a/sci-libs/vtk/vtk-9.2.6-r1.ebuild b/sci-libs/vtk/vtk-9.2.6-r1.ebuild
new file mode 100644
index 000000000000..bb87bdb1068e
--- /dev/null
+++ b/sci-libs/vtk/vtk-9.2.6-r1.ebuild
@@ -0,0 +1,747 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO:
+# - add USE flag for remote modules? Those modules can be downloaded
+# properly before building.
+# - replace usex by usev where applicable
+
+PYTHON_COMPAT=( python3_{9..11} )
+WEBAPP_OPTIONAL=yes
+WEBAPP_MANUAL_SLOT=yes
+
+inherit check-reqs cmake cuda java-pkg-opt-2 multiprocessing python-single-r1 toolchain-funcs virtualx webapp
+
+# Short package version
+MY_PV="$(ver_cut 1-2)"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="https://www.vtk.org/"
+SRC_URI="
+ https://www.vtk.org/files/release/${MY_PV}/VTK-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKData-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKDataFiles-${PV}.tar.gz
+ doc? ( https://www.vtk.org/files/release/${MY_PV}/vtkDocHtml-${PV}.tar.gz )
+ examples? (
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${PV}.tar.gz
+ )
+ test? (
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${PV}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${PV}.tar.gz
+ )
+"
+S="${WORKDIR}/VTK-${PV}"
+
+LICENSE="BSD LGPL-2"
+SLOT="0/${MY_PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+# TODO: Like to simplifiy these. Mostly the flags related to Groups.
+IUSE="all-modules boost cuda debug doc examples ffmpeg freetype gdal imaging
+ java las +logging mpi mysql odbc openmp openvdb pdal postgres python qt5
+ qt6 +rendering sdl tbb test +threads tk video_cards_nvidia views vtkm web"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ all-modules? (
+ boost ffmpeg freetype gdal imaging las mysql odbc openvdb pdal
+ postgres rendering views
+ )
+ cuda? ( video_cards_nvidia vtkm )
+ java? ( rendering )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ qt5? ( rendering )
+ qt6? ( rendering )
+ sdl? ( rendering )
+ tk? ( python rendering )
+ web? ( python )
+"
+
+# for <pegtl-3 dependency see
+# https://discourse.vtk.org/t/compilation-errors-related-to-pegtl-proj/5929
+# eigen, nlohmann_json, pegtl and utfcpp are referenced in the cmake files
+# and need to be available when VTK consumers configure the dependencies.
+RDEPEND="
+ app-arch/lz4:=
+ app-arch/xz-utils
+ dev-cpp/eigen
+ dev-cpp/nlohmann_json
+ dev-db/sqlite:3
+ dev-libs/double-conversion:=
+ dev-libs/expat
+ dev-libs/icu:=
+ dev-libs/jsoncpp:=
+ >=dev-libs/libfmt-8.1.1:=
+ dev-libs/libxml2:2
+ dev-libs/libzip:=
+ <dev-libs/pegtl-3
+ dev-libs/pugixml
+ dev-libs/utfcpp
+ media-libs/freetype
+ media-libs/libjpeg-turbo
+ >=media-libs/libharu-2.4.2:=
+ media-libs/libogg
+ media-libs/libpng:=
+ media-libs/libtheora
+ media-libs/tiff:=
+ >=sci-libs/cgnslib-4.1.1:=[hdf5,mpi=]
+ sci-libs/hdf5:=[mpi=]
+ sci-libs/proj:=
+ sci-libs/netcdf:=[mpi=]
+ sys-libs/zlib
+ boost? ( dev-libs/boost:=[mpi?] )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ ffmpeg? ( media-video/ffmpeg:= )
+ freetype? ( media-libs/fontconfig )
+ gdal? ( sci-libs/gdal:= )
+ java? ( >=virtual/jdk-1.8:* )
+ las? ( sci-geosciences/liblas )
+ mpi? ( virtual/mpi[cxx,romio] )
+ mysql? ( dev-db/mariadb-connector-c )
+ odbc? ( dev-db/unixODBC )
+ openvdb? ( media-gfx/openvdb:= )
+ pdal? ( <sci-libs/pdal-2.6.0:= )
+ postgres? ( dev-db/postgresql:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )')
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtopengl:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtsql:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,opengl,sql,widgets]
+ dev-qt/qtdeclarative:6[opengl]
+ dev-qt/qtshadertools:6
+ x11-libs/libxkbcommon
+ )
+ sdl? ( media-libs/libsdl2 )
+ rendering? (
+ media-libs/glew:=
+ virtual/opengl
+ x11-libs/gl2ps
+ x11-libs/libICE
+ x11-libs/libXcursor
+ x11-libs/libXext
+ )
+ tbb? ( dev-cpp/tbb:= )
+ tk? ( dev-lang/tk:= )
+ video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
+ views? (
+ x11-libs/libICE
+ x11-libs/libXext
+ )
+ web? ( ${WEBAPP_DEPEND} )
+"
+
+# for <pegtl-3 dependency see
+# https://discourse.vtk.org/t/compilation-errors-related-to-pegtl-proj/5929
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/eigen
+ dev-cpp/nlohmann_json
+ <dev-libs/pegtl-3
+ dev-libs/utfcpp
+ test? (
+ media-libs/glew
+ x11-libs/libXcursor
+ rendering? ( media-libs/freeglut )
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9.2.2-vtkGeometryFilter-add-missing-mutex-header-file.patch
+ "${FILESDIR}"/${PN}-9.2.2-VTKm-respect-user-CXXFLAGS.patch
+ "${FILESDIR}"/${PN}-9.2.2-link-with-glut-library-for-freeglut.patch
+ "${FILESDIR}"/${PN}-9.2.5-Add-include-cstdint-to-compile-with-gcc-13.patch
+ "${FILESDIR}"/${PN}-9.2.5-Fix-compilation-error-with-CUDA-12.patch
+ "${FILESDIR}"/${PN}-9.2.5-More-include-cstdint-to-compile-with-gcc13.patch
+ "${FILESDIR}"/vtk-9.2.6-Java21.patch
+)
+
+DOCS=( CONTRIBUTING.md README.md )
+
+vtk_check_reqs() {
+ local dsk=4096
+ local mem=$(( $(usex cuda 7168 0) ))
+
+ dsk=$(( $(usex doc 3072 0) + ${dsk} ))
+ dsk=$(( $(usex examples 3072 0) + ${dsk} ))
+ dsk=$(( $(usex cuda 8192 0) + ${dsk} ))
+
+ # In case users are not aware of the extra NINJAOPTS, check
+ # for the more common MAKEOPTS, in case NINJAOPTS is empty
+ local jobs=1
+ if [[ -n "${NINJAOPTS}" ]]; then
+ jobs=$(makeopts_jobs "${NINJAOPTS}" "$(get_nproc)")
+ else
+ if [[ -n "${MAKEOPTS}" ]]; then
+ jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ fi
+ fi
+ mem=$(( ${mem} * $(( ${jobs} > 4 ? 4 : ${jobs} )) ))
+
+ use cuda && export CHECKREQS_MEMORY=${mem}M
+ export CHECKREQS_DISK_BUILD=${dsk}M
+
+ check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
+
+ if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
+ # FIXME: better use eerror?
+ ewarn "GCC 11 is know to fail building with CUDA support in some cases."
+ ewarn "See bug #820593"
+ fi
+
+ if use qt6 && use qt5; then
+ ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
+ fi
+
+ # bug #835659
+ if use cuda; then
+ if [[ ${VTK_CUDA_ARCH} = native ]]; then
+ eerror "Using native CUDA arches is currently broken."
+ eerror "Please set it to one of the common arch names:"
+ eerror "kepler, maxwell, pascal, turing or ampere."
+ die "Please set VTK_CUDA_ARCH environment variable!"
+ fi
+ fi
+
+ vtk_check_reqs
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
+
+ if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
+ # FIXME: better use eerror?
+ ewarn "GCC 11 is know to fail building with CUDA support in some cases."
+ ewarn "See bug #820593"
+ fi
+
+ if use qt6 && use qt5; then
+ ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
+ fi
+
+ # bug #835659
+ if use cuda; then
+ if [[ ${VTK_CUDA_ARCH} = native ]]; then
+ eerror "Using native CUDA arches is currently broken."
+ eerror "Please set it to one of the common arch names:"
+ eerror "kepler, maxwell, pascal, turing or ampere."
+ die "Please set VTK_CUDA_ARCH environment variable!"
+ fi
+ fi
+
+ vtk_check_reqs
+
+ use java && java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+ use web && webapp_pkg_setup
+}
+
+# Note: The following libraries are marked as internal by kitware
+# and can currently not unbundled:
+# diy2, exodusII, fides, h5part, kissfft, loguru, verdict, vpic,
+# vtkm, xdmf{2,3}, zfp
+# TODO: cli11 (::guru), exprtk, ioss
+# Note: As of v9.2.2 we no longer drop bundled libraries, when using system
+# libraries. This just saves a little space. CMake logic of VTK on ThirdParty
+# libraries avoids automagic builds, so deletion is not needed to catch these.
+src_prepare() {
+ if use doc; then
+ einfo "Removing .md5 files from documents."
+ rm -f "${WORKDIR}"/html/*.md5 || die "Failed to remove superfluous hashes"
+ sed -e "s|\${VTK_BINARY_DIR}/Utilities/Doxygen/doc|${WORKDIR}|" \
+ -i Utilities/Doxygen/CMakeLists.txt || die
+ fi
+
+ cmake_src_prepare
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ cuda_src_prepare
+ fi
+
+ if use test; then
+ ebegin "Copying data files to ${BUILD_DIR}"
+ mkdir -p "${BUILD_DIR}/ExternalData" || die
+ pushd "${BUILD_DIR}/ExternalData" >/dev/null || die
+ ln -sf ../../VTK-${PV}/.ExternalData/README.rst . || die
+ ln -sf ../../VTK-${PV}/.ExternalData/SHA512 . || die
+ popd >/dev/null || die
+ eend "$?"
+ fi
+}
+
+# TODO: check these and consider to use them
+# VTK_BUILD_SCALED_SOA_ARRAYS
+# VTK_DISPATCH_{AOS,SOA,TYPED}_ARRAYS
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_LICENSEDIR="share/${PN}/licenses"
+
+ -DVTK_ANDROID_BUILD=OFF
+ -DVTK_IOS_BUILD=OFF
+
+ -DVTK_BUILD_ALL_MODULES=$(usex all-modules ON OFF)
+ # we use the pre-built documentation and install these with USE=doc
+ -DVTK_BUILD_DOCUMENTATION=OFF
+ -DVTK_BUILD_EXAMPLES=$(usex examples ON OFF)
+
+ # no package in the tree: https://github.com/LLNL/conduit
+ -DVTK_ENABLE_CATALYST=OFF
+ -DVTK_ENABLE_KITS=OFF
+ -DVTK_ENABLE_LOGGING=$(usex logging ON OFF)
+ # defaults to ON: USE flag for this?
+ -DVTK_ENABLE_REMOTE_MODULES=OFF
+
+ # disable fetching files during build
+ -DVTK_FORBID_DOWNLOADS=ON
+
+ -DVTK_GROUP_ENABLE_Imaging=$(usex imaging "YES" "DEFAULT")
+ -DVTK_GROUP_ENABLE_Rendering=$(usex rendering "YES" "DEFAULT")
+ -DVTK_GROUP_ENABLE_StandAlone="YES"
+ -DVTK_GROUP_ENABLE_Views=$(usex views "YES" "DEFAULT")
+ -DVTK_GROUP_ENABLE_Web=$(usex web "YES" "DEFAULT")
+
+ -DVTK_INSTALL_SDK=ON
+
+ -DVTK_MODULE_ENABLE_VTK_IOCGNSReader="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOExportPDF="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOLAS=$(usex las "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_IONetCDF="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOOggTheora="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOOpenVDB=$(usex openvdb "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_IOSQL="WANT" # sqlite
+ -DVTK_MODULE_ENABLE_VTK_IOPDAL=$(usex pdal "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_IOXML="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOXMLParser="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingFreeType=$(usex freetype "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig=$(usex freetype "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_cgns="WANT"
+ -DVTK_MODULE_ENABLE_VTK_doubleconversion="WANT"
+ -DVTK_MODULE_ENABLE_VTK_eigen="WANT"
+ -DVTK_MODULE_ENABLE_VTK_expat="WANT"
+ -DVTK_MODULE_ENABLE_VTK_fmt="WANT"
+ -DVTK_MODULE_ENABLE_VTK_freetype="WANT"
+ -DVTK_MODULE_ENABLE_VTK_hdf5="WANT"
+ -DVTK_MODULE_ENABLE_VTK_jpeg="WANT"
+ -DVTK_MODULE_ENABLE_VTK_jsoncpp="WANT"
+ -DVTK_MODULE_ENABLE_VTK_libharu="WANT"
+ -DVTK_MODULE_ENABLE_VTK_libproj="WANT"
+ -DVTK_MODULE_ENABLE_VTK_libxml2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_lz4="WANT"
+ -DVTK_MODULE_ENABLE_VTK_lzma="WANT"
+ -DVTK_MODULE_ENABLE_VTK_netcdf="WANT"
+ -DVTK_MODULE_ENABLE_VTK_nlohmannjson="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ogg="WANT"
+ -DVTK_MODULE_ENABLE_VTK_pegtl="WANT"
+ -DVTK_MODULE_ENABLE_VTK_png="WANT"
+ -DVTK_MODULE_ENABLE_VTK_pugixml="WANT"
+ -DVTK_MODULE_ENABLE_VTK_sqlite="WANT"
+ -DVTK_MODULE_ENABLE_VTK_theora="WANT"
+ -DVTK_MODULE_ENABLE_VTK_tiff="WANT"
+ -DVTK_MODULE_ENABLE_VTK_utf8="WANT"
+ -DVTK_MODULE_ENABLE_VTK_vtkm=$(usex vtkm "WANT" "DEFAULT")
+ -DVTK_MODULE_ENABLE_VTK_zlib="WANT"
+
+ # not packaged in Gentoo
+ -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+
+ -DVTK_RELOCATABLE_INSTALL=ON
+
+ -DVTK_SMP_ENABLE_OPENMP=$(usex openmp ON OFF)
+ -DVTK_SMP_ENABLE_STDTHREAD=$(usex threads ON OFF)
+ -DVTK_SMP_ENABLE_TBB=$(usex tbb ON OFF)
+
+ -DVTK_UNIFIED_INSTALL_TREE=ON
+
+ -DVTK_USE_CUDA=$(usex cuda ON OFF)
+ # use system libraries where possible
+ -DVTK_USE_EXTERNAL=ON
+ # avoid finding package from either ::guru or ::sci
+ -DVTK_USE_MEMKIND=OFF
+ -DVTK_USE_MPI=$(usex mpi ON OFF)
+ -DVTK_USE_TK=$(usex tk ON OFF)
+ -DVTK_USE_X=ON
+
+ -DVTK_WHEEL_BUILD=OFF
+
+ -DVTK_WRAP_JAVA=$(usex java ON OFF)
+ -DVTK_WRAP_PYTHON=$(usex python ON OFF)
+ )
+
+ if use all-modules; then
+ mycmakeargs+=(
+ # no package in ::gentoo
+ -DVTK_ENABLE_OSPRAY=OFF
+ # TODO: some of these are tied to the VTK_ENABLE_REMOTE_MODULES
+ # option. Check whether we can download them clean and enable
+ # them.
+ -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy="NO"
+ -DVTK_MODULE_ENABLE_VTK_fides="NO"
+ -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS="NO"
+ -DVTK_MODULE_ENABLE_VTK_IOADIOS2="NO"
+ -DVTK_MODULE_ENABLE_VTK_IOFides="NO"
+
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR="NO"
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenXR="NO"
+
+ # available in ::guru, so avoid detection if installed
+ -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
+ )
+ fi
+
+ if use boost; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoost="WANT"
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms="WANT"
+ )
+ fi
+
+ # TODO: checks this on updates of nvidia-cuda-toolkit and update
+ # the list of available arches if necessary, i.e. add new arches
+ # once they are released at the end of the list before all.
+ # See https://en.wikipedia.org/wiki/CUDA#GPUs_supported
+ # CUDA 11.8 supports Ada Lovelace and Hopper arches, but cmake,
+ # as of 3.25.1 doesn't recognize these keywords.
+ # FIXME: better use numbers than names?
+ if use cuda; then
+ local cuda_arch=
+ case ${VTK_CUDA_ARCH:-native} in
+ # we ignore fermi arch, because current nvidia-cuda-toolkit-11*
+ # no longer supports it
+ kepler|maxwell|pascal|volta|turing|ampere|all)
+ cuda_arch=${VTK_CUDA_ARCH}
+ ;;
+# native)
+# ewarn "If auto detection fails for you, please try and export the"
+# ewarn "VTK_CUDA_ARCH environment variable to one of the common arch"
+# ewarn "names: kepler, maxwell, pascal, volta, turing, ampere or all."
+# cuda_arch=native
+# ;;
+ *)
+ eerror "Please properly set the VTK_CUDA_ARCH environment variable to"
+ eerror "one of: kepler, maxwell, pascal, volta, turing, ampere, all"
+ die "Invalid CUDA architecture given: '${VTK_CUDA_ARCH}'!"
+ ;;
+ esac
+ ewarn "Using CUDA architecture '${cuda_arch}'"
+
+ mycmakeargs+=( -DVTKm_CUDA_Architecture=${cuda_arch} )
+ fi
+
+ if use debug; then
+ mycmakeargs+=(
+ -DVTK_DEBUG_LEAKS=ON
+ -DVTK_DEBUG_MODULE=ON
+ -DVTK_DEBUG_MODULE_ALL=ON
+ -DVTK_ENABLE_SANITIZER=ON
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON
+ -DVTK_WARN_ON_DISPATCH_FAILURE=ON
+ )
+ if use rendering; then
+ mycmakeargs+=( -DVTK_OPENGL_ENABLE_STREAM_ANNOTATIONS=ON )
+ fi
+ fi
+
+ if use examples || use test; then
+ mycmakeargs+=( -DVTK_USE_LARGE_DATA=ON )
+ fi
+
+ if use ffmpeg; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOFFMPEG="WANT" )
+ if use rendering; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingFFMPEGOpenGL2="WANT" )
+ fi
+ fi
+
+ if use gdal; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_GeovisGDAL="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOGDAL="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOGeoJSON="WANT"
+ )
+ fi
+
+ if use imaging; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_ImagingColor="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingFourier="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingGeneral="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingHybrid="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingMath="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingMorphological="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingSources="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingStatistics="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ImagingStencil="WANT"
+ )
+ use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingImage="WANT" )
+ fi
+
+ if ! use java && ! use python; then
+ # defaults to ON
+ mycmakeargs+=( -DVTK_ENABLE_WRAPPING=OFF )
+ fi
+
+ if use java; then
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_JARDIR="share/${PN}"
+ -DVTK_ENABLE_WRAPPING=ON
+ -DVTK_MODULE_ENABLE_VTK_Java="WANT"
+ )
+ fi
+
+ if use mpi; then
+ mycmakeargs+=(
+ -DVTK_GROUP_ENABLE_MPI="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOH5part="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOMPIParallel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOParallel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF="WANT"
+ -DVTK_MODULE_ENABLE_VTK_IOParallelXML="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ParallelMPI="WANT"
+ -DVTK_MODULE_ENABLE_VTK_h5part="WANT"
+ -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+ )
+ use imaging && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMPIImage="WANT" )
+ use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py="WANT" )
+ if use rendering; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_RenderingParallel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC="WANT"
+ )
+ fi
+ use vtkm && mycmakeargs+=( -DVTKm_ENABLE_MPI=ON )
+ else
+ mycmakeargs+=( -DVTK_GROUP_ENABLE_MPI="NO" )
+ fi
+
+ use mysql && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMySQL="WANT" )
+ use odbc && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOODBC="WANT" )
+ use openvdb && mycmakeargs+=( -DOpenVDB_CMAKE_PATH="${ESYSROOT}/usr/$(get_libdir)/cmake/OpenVDB" )
+ use postgres && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOPostgreSQL="WANT" )
+
+ if use python; then
+ mycmakeargs+=(
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DVTK_ENABLE_WRAPPING=ON
+ -DVTK_MODULE_ENABLE_VTK_Python="WANT"
+ -DVTK_MODULE_ENABLE_VTK_PythonInterpreter="WANT"
+ -DVTK_MODULE_ENABLE_VTK_WrappingPythonCore="WANT"
+ -DVTK_PYTHON_SITE_PACKAGES_SUFFIX="lib/${EPYTHON}/site-packages"
+ )
+ use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_PythonContext2D="WANT" )
+ fi
+
+ if use qt5 && use qt6; then
+ # prefer Qt5: https://wiki.gentoo.org/wiki/Project:qt/Policies
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPREFIX}/usr/$(get_libdir)/qt5/qml"
+ -DVTK_QT_VERSION="5"
+ )
+ else
+ if use qt5; then
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPREFIX}/usr/$(get_libdir)/qt5/qml"
+ -DVTK_QT_VERSION="5"
+ )
+ elif use qt6; then
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPFREIX}/usr/$(get_libdir)/qt6/qml"
+ -DVTK_QT_VERSION="6"
+ )
+ else
+ mycmakeargs+=( -DVTK_GROUP_ENABLE_Qt="NO" )
+ fi
+ fi
+
+ if use qt5 || use qt6; then
+ mycmakeargs+=(
+ -DVTK_GROUP_ENABLE_Qt:STRING="YES"
+ -DVTK_MODULE_ENABLE_VTK_GUISupportQt="WANT"
+ -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick="WANT"
+ )
+ if use mysql || use postgres; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL="WANT" )
+ fi
+ if use rendering; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingQt="WANT" )
+ fi
+ if use views; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsQt="WANT" )
+ fi
+ fi
+
+ if use rendering; then
+ mycmakeargs+=(
+ -DVTK_ENABLE_OSPRAY=OFF
+
+ -DVTK_MODULE_ENABLE_VTK_IOExportGL2PS="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingAnnotation="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingContext2D="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingExternal="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingGL2PSOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingHyperTreeGrid="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLOD="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLabel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingRayTracing="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingSceneGraph="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingUI="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolume="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolumeAMR="WANT"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolumeOpenGL2="WANT"
+ -DVTK_MODULE_ENABLE_VTK_gl2ps="WANT"
+ -DVTK_MODULE_ENABLE_VTK_glew="WANT"
+ -DVTK_MODULE_ENABLE_VTK_opengl="WANT"
+
+ -DVTK_USE_SDL2=$(usex sdl "YES" "NO")
+ )
+ use tk && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingTk="WANT" )
+ use views && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsContext2D="WANT" )
+ use web && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingVtkJS="WANT" )
+ fi
+
+ # Testing has been changed in 9.2.5: it is now allowed without
+ # requiring to download, if the data files are available locally!
+ if use test; then
+ mycmakeargs+=(
+ -DVTK_BUILD_TESTING=ON
+ # disable fetching data files for the default 'all' target
+ -DVTK_DATA_EXCLUDE_FROM_ALL=ON
+
+ # requested even if all use flags are off
+ -DVTK_MODULE_ENABLE_VTK_octree="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ViewsCore="WANT"
+
+ # available in ::guru, so avoid detection if installed
+ -DVTK_MODULE_USE_EXTERNAL_VTK_cli11=OFF
+ )
+ else
+ mycmakeargs+=( -DVTK_BUILD_TESTING=OFF )
+ fi
+
+ # FIXME: upstream provides 4 threading models, as of 9.1.0. These are
+ # sequential, stdthread, openmp and tbb. AFAICS all of them can be
+ # enabled at the same time. Sequential and Stdthread are enabled by
+ # default. The default selected type for the build is sequential.
+ # Assuming sequential < stdpthread < openmp < tbb wrt speed, although
+ # this is dependent on the actual scenario where threading is used.
+ if use tbb; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" )
+ elif use openmp; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="OpenMP" )
+ elif use threads; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="STDThread" )
+ else
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" )
+ fi
+
+ use tk && mycmakeargs+=( -DVTK_GROUP_ENABLE_Tk="YES" )
+
+ if use views; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_ViewsCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_ViewsInfovis="WANT"
+ )
+ fi
+
+ if use vtkm; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel="WANT"
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters="WANT"
+
+ -DVTKm_NO_INSTALL_README_LICENSE=ON # bug #793221
+ -DVTKm_Vectorization=native
+ )
+ fi
+
+ if use web; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_WebCore="WANT"
+ -DVTK_MODULE_ENABLE_VTK_WebGLExporter="WANT"
+ )
+ use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_WebPython="WANT" )
+ fi
+
+ use java && export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+
+ cmake_src_configure
+}
+
+src_compile() {
+ use test && cmake_build VTKData
+ cmake_src_compile
+}
+
+# FIXME: avoid nonfatal?
+# see https://github.com/gentoo/gentoo/pull/22878#discussion_r747204043
+src_test() {
+# nonfatal virtx cmake_src_test
+ virtx cmake_src_test
+}
+
+src_install() {
+ use web && webapp_src_preinst
+
+ # Stop web page images from being compressed
+ if use doc; then
+ HTML_DOCS=( "${WORKDIR}/html/." )
+ fi
+
+ cmake_src_install
+
+ use java && java-pkg_regjar "${ED}"/usr/share/${PN}/${PN}.jar
+
+ # install examples
+ if use examples; then
+ einfo "Installing examples"
+ mv -v {E,e}xamples || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+
+ einfo "Installing datafiles"
+ insinto /usr/share/${PN}/data
+ doins -r "${S}/.ExternalData"
+ fi
+
+ use python && python_optimize
+
+ use web && webapp_src_install
+}
+
+# webapp.eclass exports these but we want it optional #534036
+pkg_postinst() {
+ use web && webapp_pkg_postinst
+
+ if use examples; then
+ einfo "You can get more and updated examples at"
+ einfo "https://kitware.github.io/vtk-examples/site/"
+ fi
+}
+
+pkg_prerm() {
+ use web && webapp_pkg_prerm
+}
diff --git a/sci-libs/vtk/vtk-9.3.0.ebuild b/sci-libs/vtk/vtk-9.3.0.ebuild
new file mode 100644
index 000000000000..745cb1354799
--- /dev/null
+++ b/sci-libs/vtk/vtk-9.3.0.ebuild
@@ -0,0 +1,914 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO:
+# - add USE flag for remote modules? Those modules can be downloaded
+# properly before building.
+# - replace usex by usev where applicable
+
+PYTHON_COMPAT=( python3_{10..11} )
+WEBAPP_OPTIONAL=yes
+WEBAPP_MANUAL_SLOT=yes
+
+inherit check-reqs cmake cuda java-pkg-opt-2 multiprocessing python-single-r1 toolchain-funcs virtualx webapp
+
+# Short package version
+MY_PV="$(ver_cut 1-2)"
+MY_PV2="${PV/_rc/.rc}"
+
+DESCRIPTION="The Visualization Toolkit"
+HOMEPAGE="https://www.vtk.org/"
+SRC_URI="
+ https://www.vtk.org/files/release/${MY_PV}/VTK-${MY_PV2}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKData-${MY_PV2}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKDataFiles-${MY_PV2}.tar.gz
+ doc? ( https://www.vtk.org/files/release/${MY_PV}/vtkDocHtml-${MY_PV2}.tar.gz )
+ examples? (
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${MY_PV2}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${MY_PV2}.tar.gz
+ )
+ test? (
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeData-${MY_PV2}.tar.gz
+ https://www.vtk.org/files/release/${MY_PV}/VTKLargeDataFiles-${MY_PV2}.tar.gz
+ )
+"
+S="${WORKDIR}/VTK-${MY_PV2}"
+
+LICENSE="BSD LGPL-2"
+SLOT="0/${MY_PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+# TODO: Like to simplifiy these. Mostly the flags related to Groups.
+IUSE="all-modules boost cuda debug doc examples ffmpeg +freetype gdal gles2-only imaging
+ java las +logging mpi mysql odbc opencascade openmp openvdb pdal postgres python qt5
+ qt6 +rendering sdl tbb test +threads tk video_cards_nvidia +views vtkm web"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ all-modules? (
+ boost ffmpeg freetype gdal imaging las mysql odbc opencascade openvdb pdal
+ postgres rendering views
+ )
+ cuda? ( video_cards_nvidia vtkm !tbb )
+ java? ( rendering )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ qt5? ( rendering )
+ qt6? ( rendering )
+ sdl? ( rendering )
+ tk? ( python rendering )
+ web? ( python )
+ rendering? ( freetype views )
+"
+
+# eigen, nlohmann_json, pegtl and utfcpp are referenced in the cmake files
+# and need to be available when VTK consumers configure the dependencies.
+RDEPEND="
+ app-arch/lz4:=
+ app-arch/xz-utils
+ dev-db/sqlite:3
+ dev-libs/double-conversion:=
+ dev-libs/expat
+ dev-libs/icu:=
+ dev-libs/jsoncpp:=
+ >=dev-libs/libfmt-8.1.1:=
+ dev-libs/libxml2:2
+ dev-libs/libzip:=
+ dev-libs/pugixml
+ media-libs/freetype
+ media-libs/libjpeg-turbo
+ >=media-libs/libharu-2.4.0:=
+ media-libs/libogg
+ media-libs/libpng:=
+ media-libs/libtheora
+ media-libs/tiff:=
+ >=sci-libs/cgnslib-4.1.1:=[hdf5,mpi=]
+ sci-libs/hdf5:=[mpi=]
+ sci-libs/proj:=
+ sci-libs/netcdf:=[mpi=]
+ sys-libs/zlib
+ boost? ( dev-libs/boost:=[mpi?] )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ ffmpeg? ( media-video/ffmpeg:= )
+ freetype? ( media-libs/fontconfig )
+ gdal? ( sci-libs/gdal:= )
+ java? ( >=virtual/jdk-11:= )
+ las? ( sci-geosciences/liblas )
+ mpi? ( virtual/mpi[cxx,romio] )
+ mysql? ( dev-db/mariadb-connector-c )
+ odbc? ( dev-db/unixODBC )
+ openvdb? ( media-gfx/openvdb:= )
+ opencascade? ( sci-libs/opencascade:= )
+ pdal? ( sci-libs/pdal:= )
+ postgres? ( dev-db/postgresql:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )')
+ $(python_gen_cond_dep 'rendering? ( dev-python/matplotlib[${PYTHON_USEDEP}] )')
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtopengl:5
+ dev-qt/qtquickcontrols2:5
+ dev-qt/qtsql:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? (
+ !qt5? (
+ dev-qt/qtbase:6[gui,opengl,sql,widgets]
+ dev-qt/qtdeclarative:6[opengl]
+ dev-qt/qtshadertools:6
+ x11-libs/libxkbcommon
+ )
+ )
+ sdl? ( media-libs/libsdl2 )
+ rendering? (
+ media-libs/glew:=
+ virtual/opengl
+ x11-libs/gl2ps
+ x11-libs/libICE
+ x11-libs/libXcursor
+ x11-libs/libXext
+ )
+ tbb? ( dev-cpp/tbb:= )
+ tk? ( dev-lang/tk:= )
+ video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )
+ views? (
+ x11-libs/libICE
+ x11-libs/libXext
+ )
+ web? ( ${WEBAPP_DEPEND} )
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/cli11
+ dev-cpp/eigen
+ dev-cpp/nlohmann_json
+ >=dev-libs/pegtl-3
+ dev-libs/utfcpp
+ test? (
+ media-libs/glew
+ x11-libs/libXcursor
+ rendering? ( media-libs/freeglut )
+ )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9.2.5-pegtl-3.x.patch"
+ "${FILESDIR}/${PN}-9.3.0-pdal-2.6.0.patch"
+ "${FILESDIR}/${PN}-9.3.0-too-many-initializer-values.patch"
+ "${FILESDIR}/${PN}-9.3.0-java.patch"
+ "${FILESDIR}/${PN}-9.3.0-opencascade.patch"
+ "${FILESDIR}/${PN}-9.3.0-fix-Java-error-with-integer-enum-overloads.patch"
+)
+
+DOCS=( CONTRIBUTING.md README.md )
+
+vtk_check_reqs() {
+ local dsk=4096
+
+ dsk=$(( $(usex doc 3072 0) + dsk ))
+ dsk=$(( $(usex examples 3072 0) + dsk ))
+ dsk=$(( $(usex cuda 8192 0) + dsk ))
+ export CHECKREQS_DISK_BUILD=${dsk}M
+
+ # In case users are not aware of the extra NINJAOPTS, check
+ # for the more common MAKEOPTS, in case NINJAOPTS is empty
+ local jobs=1
+ if [[ -n "${NINJAOPTS}" ]]; then
+ jobs=$(makeopts_jobs "${NINJAOPTS}" "$(get_nproc)")
+ elif [[ -n "${MAKEOPTS}" ]]; then
+ jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ fi
+
+ if use cuda; then
+ local mem=$(( $(usex cuda 7168 0) ))
+ mem=$(( mem * $(( jobs > 4 ? 4 : jobs )) ))
+ export CHECKREQS_MEMORY=${mem}M
+ fi
+
+ "check-reqs_pkg_${EBUILD_PHASE}"
+}
+
+vtk_check_compiler() {
+ [[ -z "$1" ]] && die "no compiler specified"
+ local compiler="$1"
+ local package="sys-devel/${compiler}"
+ local version="${package}"
+ local CUDAHOSTCXX_test
+ while
+ CUDAHOSTCXX="${CUDAHOSTCXX_test}"
+ version=$(best_version "${version}")
+ if [[ -z "${version}" ]]; then
+ if [[ -z "${CUDAHOSTCXX}" ]]; then
+ die "could not find supported version of ${package}"
+ fi
+ break
+ fi
+ CUDAHOSTCXX_test="$(
+ dirname "$(
+ realpath "$(
+ which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")"
+ )"
+ )"
+ )"
+ version="<${version}"
+ do ! echo "int main(){}" | nvcc "-ccbin=${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
+
+ if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
+ # FIXME: better use eerror?
+ ewarn "GCC 11 is know to fail building with CUDA support in some cases."
+ ewarn "See bug #820593"
+ fi
+
+ use qt6 && use qt5 && ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
+
+ vtk_check_reqs
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && has openmp && tc-check-openmp
+
+ if [[ $(tc-is-gcc) && $(gcc-majorversion) = 11 ]] && use cuda ; then
+ # FIXME: better use eerror?
+ ewarn "GCC 11 is know to fail building with CUDA support in some cases."
+ ewarn "See bug #820593"
+ fi
+
+ use qt6 && use qt5 && ewarn "Both qt5 and qt6 USE flags have been selected. Using qt5!"
+
+ vtk_check_reqs
+
+ use java && java-pkg-opt-2_pkg_setup
+ use python && python-single-r1_pkg_setup
+ use web && webapp_pkg_setup
+}
+
+# Note: The following libraries are marked as internal by kitware
+# and can currently not unbundled:
+# diy2, exodusII, fides, h5part, kissfft, loguru, verdict, vpic,
+# vtkm, xdmf{2,3}, zfp
+# TODO: exprtk, ioss
+# Note: As of v9.2.2 we no longer drop bundled libraries, when using system
+# libraries. This just saves a little space. CMake logic of VTK on ThirdParty
+# libraries avoids automagic builds, so deletion is not needed to catch these.
+src_prepare() {
+ if use doc; then
+ einfo "Removing .md5 files from documents."
+ rm -f "${WORKDIR}"/html/*.md5 || die "Failed to remove superfluous hashes"
+ sed -e "s|\${VTK_BINARY_DIR}/Utilities/Doxygen/doc|${WORKDIR}|" \
+ -i Utilities/Doxygen/CMakeLists.txt || die
+ fi
+
+ if use opencascade && has_version ">=sci-libs/opencascade-7.8.0"; then
+ eapply "${FILESDIR}/vtk-9.3.0-opencascade-7.8.0.patch"
+ fi
+
+ cmake_src_prepare
+
+ if use test; then
+ ebegin "Copying data files to ${BUILD_DIR}"
+ mkdir -p "${BUILD_DIR}/ExternalData" || die
+ pushd "${BUILD_DIR}/ExternalData" >/dev/null || die
+ ln -sf "../../VTK-${MY_PV2}/.ExternalData/README.rst" . || die
+ ln -sf "../../VTK-${MY_PV2}/.ExternalData/SHA512" . || die
+ popd >/dev/null || die
+ eend "$?"
+ fi
+}
+
+# TODO: check these and consider to use them
+# VTK_BUILD_SCALED_SOA_ARRAYS
+# VTK_DISPATCH_{AOS,SOA,TYPED}_ARRAYS
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_LICENSEDIR="share/${PN}/licenses"
+ -DVTK_DEBUG_MODULE=ON
+ -DVTK_DEBUG_MODULE_ALL=ON
+ -DVTK_IGNORE_CMAKE_CXX11_CHECKS=yes
+
+ -DVTK_ANDROID_BUILD=OFF
+ -DVTK_IOS_BUILD=OFF
+
+ -DVTK_BUILD_ALL_MODULES="$(usex all-modules)"
+ # we use the pre-built documentation and install these with USE=doc
+ -DVTK_BUILD_DOCUMENTATION=OFF
+ -DVTK_BUILD_EXAMPLES="$(usex examples)"
+
+ # no package in the tree: https://github.com/LLNL/conduit
+ -DVTK_ENABLE_CATALYST=OFF
+ -DVTK_ENABLE_KITS=OFF
+ -DVTK_ENABLE_LOGGING="$(usex logging)"
+ # defaults to ON: USE flag for this?
+ -DVTK_ENABLE_REMOTE_MODULES=OFF
+
+ # disable fetching files during build
+ -DVTK_FORBID_DOWNLOADS=OFF
+
+ -DVTK_GROUP_ENABLE_Imaging="$(usex imaging "YES" "NO")"
+ -DVTK_GROUP_ENABLE_Rendering="$(usex rendering "YES" "NO")"
+ -DVTK_GROUP_ENABLE_StandAlone="YES"
+ -DVTK_GROUP_ENABLE_Views="$(usex views "YES" "NO")"
+ -DVTK_GROUP_ENABLE_Web="$(usex web "YES" "NO")"
+
+ -DVTK_INSTALL_SDK=ON
+
+ -DVTK_MODULE_ENABLE_VTK_IOCGNSReader="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOExportPDF="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOLAS="$(usex las "YES" "NO")"
+ -DVTK_MODULE_ENABLE_VTK_IONetCDF="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOOCCT="$(usex opencascade "YES" "NO")"
+ -DVTK_MODULE_ENABLE_VTK_IOOggTheora="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOOpenVDB="$(usex openvdb "YES" "NO")"
+ -DVTK_MODULE_ENABLE_VTK_IOSQL="YES" # sqlite
+ -DVTK_MODULE_ENABLE_VTK_IOPDAL="$(usex pdal "YES" "NO")"
+ -DVTK_MODULE_ENABLE_VTK_IOXML="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOXMLParser="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingFreeType="$(usex freetype "YES" "NO")"
+ -DVTK_MODULE_ENABLE_VTK_RenderingFreeTypeFontConfig="$(usex freetype "YES" "NO")"
+ -DVTK_MODULE_ENABLE_VTK_cgns="YES"
+ -DVTK_MODULE_ENABLE_VTK_doubleconversion="YES"
+ -DVTK_MODULE_ENABLE_VTK_eigen="YES"
+ -DVTK_MODULE_ENABLE_VTK_expat="YES"
+ -DVTK_MODULE_ENABLE_VTK_fmt="YES"
+ -DVTK_MODULE_ENABLE_VTK_freetype="YES"
+ -DVTK_MODULE_ENABLE_VTK_hdf5="YES"
+ -DVTK_MODULE_ENABLE_VTK_jpeg="YES"
+ -DVTK_MODULE_ENABLE_VTK_jsoncpp="YES"
+ -DVTK_MODULE_ENABLE_VTK_libharu="YES"
+ -DVTK_MODULE_ENABLE_VTK_libproj="YES"
+ -DVTK_MODULE_ENABLE_VTK_libxml2="YES"
+ -DVTK_MODULE_ENABLE_VTK_lz4="YES"
+ -DVTK_MODULE_ENABLE_VTK_lzma="YES"
+ -DVTK_MODULE_ENABLE_VTK_netcdf="YES"
+ -DVTK_MODULE_ENABLE_VTK_nlohmannjson="YES"
+ -DVTK_MODULE_ENABLE_VTK_ogg="YES"
+ -DVTK_MODULE_ENABLE_VTK_pegtl="YES"
+ -DVTK_MODULE_ENABLE_VTK_png="YES"
+ -DVTK_MODULE_ENABLE_VTK_pugixml="YES"
+ -DVTK_MODULE_ENABLE_VTK_sqlite="YES"
+ -DVTK_MODULE_ENABLE_VTK_theora="YES"
+ -DVTK_MODULE_ENABLE_VTK_tiff="YES"
+ -DVTK_MODULE_ENABLE_VTK_utf8="YES"
+ -DVTK_MODULE_ENABLE_VTK_vtkvtkm="$(usex vtkm "YES" "NO")"
+ -DVTK_MODULE_ENABLE_VTK_zlib="YES"
+
+ # not packaged in Gentoo
+ -DVTK_MODULE_USE_EXTERNAL_VTK_fast_float=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_exprtk=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_ioss=OFF
+ -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+
+ -DVTK_RELOCATABLE_INSTALL=ON
+
+ -DVTK_SMP_ENABLE_OPENMP="$(usex openmp)"
+ -DVTK_SMP_ENABLE_STDTHREAD="$(usex threads)"
+ -DVTK_SMP_ENABLE_TBB="$(usex tbb)"
+
+ -DVTK_UNIFIED_INSTALL_TREE=ON
+
+ -DVTK_USE_CUDA="$(usex cuda)"
+ # use system libraries where possible
+ -DVTK_USE_EXTERNAL=ON
+ # avoid finding package from either ::guru or ::sci
+ -DVTK_USE_MEMKIND=OFF
+ -DVTK_USE_MPI="$(usex mpi)"
+ -DVTK_USE_TK="$(usex tk)"
+ -DVTK_USE_X=ON
+
+ -DVTK_WHEEL_BUILD=OFF
+
+ -DVTK_WRAP_JAVA="$(usex java)"
+ -DVTK_WRAP_PYTHON="$(usex python)"
+ )
+
+ if use all-modules; then
+ mycmakeargs+=(
+ # no package in ::gentoo
+ -DVTK_ENABLE_OSPRAY=OFF
+ # TODO: some of these are tied to the VTK_ENABLE_REMOTE_MODULES
+ # option. Check whether we can download them clean and enable
+ # them.
+ -DVTK_MODULE_ENABLE_VTK_DomainsMicroscopy="NO"
+ -DVTK_MODULE_ENABLE_VTK_fides="NO"
+ -DVTK_MODULE_ENABLE_VTK_FiltersOpenTURNS="NO"
+ -DVTK_MODULE_ENABLE_VTK_IOADIOS2="NO"
+ -DVTK_MODULE_ENABLE_VTK_IOFides="NO"
+
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR="NO"
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenXR="NO"
+
+ -DVTK_MODULE_USE_EXTERNAL_VTK_cli11="YES"
+ )
+ fi
+
+ if use boost; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoost="YES"
+ -DVTK_MODULE_ENABLE_VTK_InfovisBoostGraphAlgorithms="YES"
+ )
+ fi
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ tc-is-gcc && vtk_check_compiler "gcc"
+ tc-is-clang && vtk_check_compiler "clang"
+ [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS"
+ : "${CUDAARCHS:=$(__nvcc_device_query)}"
+ einfo "building for CUDAARCHS = ${CUDAARCHS}"
+
+ export CUDAARCHS
+ export CUDAHOSTCXX
+ unset NVCCFLAGS
+ fi
+
+ if use debug; then
+ mycmakeargs+=(
+ -DVTK_DEBUG_LEAKS=ON
+ -DVTK_DEBUG_MODULE=ON
+ -DVTK_DEBUG_MODULE_ALL=ON
+ -DVTK_ENABLE_SANITIZER=ON
+ -DVTK_EXTRA_COMPILER_WARNINGS=ON
+ -DVTK_WARN_ON_DISPATCH_FAILURE=ON
+ )
+ if use rendering; then
+ mycmakeargs+=( -DVTK_OPENGL_ENABLE_STREAM_ANNOTATIONS=ON )
+ fi
+ fi
+
+ if use examples || use test; then
+ mycmakeargs+=( -DVTK_USE_LARGE_DATA=ON )
+ fi
+
+ if use ffmpeg; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOFFMPEG="YES" )
+ if use rendering; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingFFMPEGOpenGL2="YES" )
+ fi
+ fi
+
+ if use gdal; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_GeovisGDAL="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOGDAL="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOGeoJSON="YES"
+ )
+ fi
+
+ if use imaging; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_ImagingColor="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingCore="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingFourier="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingGeneral="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingHybrid="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingMath="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingMorphological="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingOpenGL2="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingSources="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingStatistics="YES"
+ -DVTK_MODULE_ENABLE_VTK_ImagingStencil="YES"
+ )
+ use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingImage="YES" )
+ fi
+
+ if ! use java && ! use python; then
+ # defaults to ON
+ mycmakeargs+=( -DVTK_ENABLE_WRAPPING=OFF )
+ fi
+
+ if use java; then
+ export JAVA_HOME="${EPREFIX}/etc/java-config-2/current-system-vm"
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_JARDIR="share/${PN}"
+ -DVTK_ENABLE_WRAPPING=ON
+ -DVTK_MODULE_ENABLE_VTK_Java="YES"
+ -DVTK_JAVA_SOURCE_VERSION="$(java-config -g PROVIDES_VERSION)"
+ -DVTK_JAVA_TARGET_VERSION="$(java-config -g PROVIDES_VERSION)"
+ )
+ fi
+
+ if use mpi; then
+ mycmakeargs+=(
+ -DVTK_GROUP_ENABLE_MPI="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOH5part="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOMPIParallel="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOParallel="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOParallelNetCDF="YES"
+ -DVTK_MODULE_ENABLE_VTK_IOParallelXML="YES"
+ -DVTK_MODULE_ENABLE_VTK_ParallelMPI="YES"
+ -DVTK_MODULE_ENABLE_VTK_h5part="YES"
+ -DVTK_MODULE_USE_EXTERNAL_VTK_verdict=OFF
+ )
+ use imaging && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMPIImage="YES" )
+ use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ParallelMPI4Py="YES" )
+ if use rendering; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_RenderingParallel="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC="YES"
+ )
+ fi
+ use vtkm && mycmakeargs+=( -DVTKm_ENABLE_MPI=ON )
+ else
+ mycmakeargs+=( -DVTK_GROUP_ENABLE_MPI="NO" )
+ fi
+
+ use mysql && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOMySQL="YES" )
+ use odbc && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOODBC="YES" )
+ use openvdb && mycmakeargs+=( -DOpenVDB_CMAKE_PATH="${ESYSROOT}/usr/$(get_libdir)/cmake/OpenVDB" )
+ use postgres && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_IOPostgreSQL="YES" )
+
+ if use python; then
+ mycmakeargs+=(
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DVTK_ENABLE_WRAPPING=ON
+ -DVTK_MODULE_ENABLE_VTK_Python="YES"
+ -DVTK_MODULE_ENABLE_VTK_PythonInterpreter="YES"
+ -DVTK_MODULE_ENABLE_VTK_WrappingPythonCore="YES"
+ -DVTK_PYTHON_OPTIONAL_LINK="OFF"
+ -DVTK_PYTHON_SITE_PACKAGES_SUFFIX="lib/${EPYTHON}/site-packages"
+ )
+ use rendering && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_PythonContext2D="YES" )
+ fi
+
+ if use qt5; then
+ # prefer Qt5: https://wiki.gentoo.org/wiki/Project:qt/Policies
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPREFIX}/usr/$(get_libdir)/qt5/qml"
+ -DVTK_QT_VERSION="5"
+ )
+ has_version "dev-qt/qtopengl:5[gles2-only]" || use gles2-only && mycmakeargs+=(
+ # Force using EGL & GLES
+ -DVTK_OPENGL_HAS_EGL=ON
+ -DVTK_OPENGL_USE_GLES=ON
+ )
+ elif use qt6; then
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_QMLDIR="${EPFREIX}/usr/$(get_libdir)/qt6/qml"
+ -DVTK_QT_VERSION="6"
+ )
+ has_version "dev-qt/qtbase:6[gles2-only]" || use gles2-only && mycmakeargs+=(
+ # Force using EGL & GLES
+ -DVTK_OPENGL_HAS_EGL=ON
+ -DVTK_OPENGL_USE_GLES=ON
+ )
+ else
+ mycmakeargs+=( -DVTK_GROUP_ENABLE_Qt="NO" )
+ fi
+
+ if use qt5 || use qt6; then
+ mycmakeargs+=(
+ -DVTK_GROUP_ENABLE_Qt:STRING="YES"
+ -DVTK_MODULE_ENABLE_VTK_GUISupportQt="YES"
+ -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick="YES"
+ )
+ if use mysql || use postgres; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL="YES" )
+ fi
+ if use rendering; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingQt="YES" )
+ fi
+ if use views; then
+ mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsQt="YES" )
+ fi
+ fi
+
+ if use rendering; then
+ mycmakeargs+=(
+ -DVTK_ENABLE_OSPRAY=OFF
+
+ -DVTK_MODULE_ENABLE_VTK_IOExportGL2PS="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingAnnotation="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingContext2D="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingCore="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingExternal="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingGL2PSOpenGL2="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingHyperTreeGrid="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLOD="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingLabel="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingOpenGL2="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingRayTracing="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingSceneGraph="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingUI="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolume="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolumeAMR="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingVolumeOpenGL2="YES"
+ -DVTK_MODULE_ENABLE_VTK_RenderingZSpace="NO"
+ -DVTK_MODULE_ENABLE_VTK_gl2ps="YES"
+ -DVTK_MODULE_ENABLE_VTK_glew="YES"
+ -DVTK_MODULE_ENABLE_VTK_opengl="YES"
+
+ -DVTK_USE_SDL2="$(usex sdl "YES" "NO")"
+ )
+ use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib="YES" )
+ use tk && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingTk="YES" )
+ use views && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_ViewsContext2D="YES" )
+ use web && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_RenderingVtkJS="YES" )
+ fi
+
+ # Testing has been changed in 9.2.5: it is now allowed without
+ # requiring to download, if the data files are available locally!
+ if use test; then
+ mycmakeargs+=(
+ -DVTK_BUILD_TESTING=ON
+ # disable fetching data files for the default 'all' target
+ -DVTK_DATA_EXCLUDE_FROM_ALL=OFF
+
+ # requested even if all use flags are off
+ -DVTK_MODULE_ENABLE_VTK_octree="YES"
+ -DVTK_MODULE_ENABLE_VTK_ViewsCore="YES"
+
+ -DVTK_MODULE_USE_EXTERNAL_VTK_cli11="YES"
+ )
+ else
+ mycmakeargs+=( -DVTK_BUILD_TESTING=OFF )
+ fi
+
+ # FIXME: upstream provides 4 threading models, as of 9.1.0. These are
+ # sequential, stdthread, openmp and tbb. AFAICS all of them can be
+ # enabled at the same time. Sequential and STDThread are enabled by
+ # default. The default selected type for the build is sequential.
+ # Assuming sequential < STDThread < openmp < tbb wrt speed, although
+ # this is dependent on the actual scenario where threading is used.
+ if use tbb; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="TBB" )
+ elif use openmp; then # FIXME doesn't work with clang
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="OpenMP" )
+ elif use threads; then
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="STDThread" )
+ else
+ mycmakeargs+=( -DVTK_SMP_IMPLEMENTATION_TYPE="Sequential" )
+ fi
+
+ use tk && mycmakeargs+=( -DVTK_GROUP_ENABLE_Tk="YES" )
+
+ if use views; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_ViewsCore="YES"
+ -DVTK_MODULE_ENABLE_VTK_ViewsInfovis="YES"
+ )
+ fi
+
+ if use vtkm; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore="YES"
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel="YES"
+ -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters="YES"
+
+ -DVTKm_NO_INSTALL_README_LICENSE=ON # bug #793221
+ -DVTKm_Vectorization=native
+ )
+ fi
+
+ if use web; then
+ mycmakeargs+=(
+ -DVTK_MODULE_ENABLE_VTK_WebCore="YES"
+ -DVTK_MODULE_ENABLE_VTK_WebGLExporter="YES"
+ )
+ use python && mycmakeargs+=( -DVTK_MODULE_ENABLE_VTK_WebPython="YES" )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ use test && cmake_build VTKData
+ cmake_src_compile
+}
+
+src_test() {
+ if use cuda; then
+ cuda_add_sandbox -w
+ fi
+
+ # don't work at all
+ REALLY_BAD_TESTS=(
+ "VTK::RenderingRayTracing-HeaderTest$" # (Failed) # 82
+ "VTK::RenderingFreeTypeFontConfigCxx-TestSystemFontRendering$" # (Failed) # 309
+ "VTK::IOMPIParallelPython-MPI-Plot3DMPIIO$" # (Failed) # 376
+ "VTK::IOExportPDFCxx-TestPDFTransformedText-VerifyRasterizedPDFPNG$" # (Failed) # 483
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster$" # (Failed) # 494
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-VerifyRasterizedPNG$" # (Failed) # 518
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-VerifyRasterizedPDFPNG$" # (Failed) # 519
+ "VTK::GUISupportQtQuickCxx-TestQQuickVTKRenderItem$" # (Failed) # 732
+ "VTK::GUISupportQtQuickCxx-TestQQuickVTKRenderItemWidget$" # (Failed) # 733
+ "VTK::GUISupportQtQuickCxx-TestQQuickVTKRenderWindow$" # (Failed) # 734
+ "VTK::FiltersSelectionCxx-TestLinearSelector3D$" # (Failed) # 1102
+ "VTK::FiltersParallelDIY2Cxx-MPI-TestProbeLineFilter$" # (Failed) # 1180
+ "VTK::FiltersFlowPathsCxx-TestEvenlySpacedStreamlines2D$" # (Failed) # 1215
+ "VTK::ChartsCoreCxx-TestChartDoubleColors$" # (Failed) # 1555
+ "VTK::ChartsCoreCxx-TestChartDoubleColorsOpaque$" # (Failed) # 1556
+ "VTK::ChartsCoreCxx-TestParallelCoordinatesDouble$" # (Failed) # 1599
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMExternalFaces$" # (Failed) # 2142
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMHistogram$" # (Failed) # 2146
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMMarchingCubes$" # (Failed) # 2148
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMMarchingCubes2$" # (Failed) # 2149
+ "VTK::FiltersGeneralCxx-TestContourTriangulatorHoles$" # (Failed) # 2305
+ "VTK::FiltersCoreCxx-TestDecimatePolylineFilter$" # (Failed) # 2497
+ "VTK::FiltersCorePython-TestSphereTreeFilter$" # (Failed) # 2617
+ "VTK::CommonDataModelCxx-TestTriangle$" # (Failed) # 2770
+ "VTK::CommonDataModelCxx-UnitTestCells$" # (Failed) # 2793
+ "VTK::CommonDataModelCxx-TestHyperTreeGridGeometricLocator$" # (Failed) # 2799
+ )
+
+ # don't work in src_test but when on their own
+ BAD_TESTS=(
+ "VTK::IOMotionFXCxx-TestMotionFXCFGReaderPositionFile$" # (Subprocess aborted) # 374
+
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-RasterizePNG$" # (Not Run) # 517
+
+ "VTK::FiltersParallelDIY2Cxx-MPI-TestGhostCellsGenerator$" # (Timeout) # 1173
+ "VTK::FiltersParallelDIY2Cxx-MPI-TestRedistributeDataSetFilterOnIOSS$" # (Timeout) # 1185
+ "VTK::FiltersParallelDIY2Cxx-TestOverlappingCellsDetector$" # (Timeout) # 1193
+ "VTK::FiltersParallelDIY2Cxx-TestRedistributeDataSetFilter$" # (Timeout) # 1196
+ "VTK::FiltersParallelDIY2Cxx-TestRedistributeDataSetFilterOnIOSS$" # (Timeout) # 1197
+ "VTK::FiltersParallelDIY2Cxx-TestRedistributeDataSetFilterWithPolyData$" # (Timeout) # 1198
+ "VTK::CommonCoreCxx-TestSMP$" # 2945
+
+ # "VTK::IOMovieCxx-TestAVIWriter$" # (Skipped) # 470
+ # "VTK::IOMovieCxx-TestMP4Writer$" # (Skipped) # 471
+
+ "VTK::RenderingMatplotlibCxx-TestContextMathTextImage$" # (NUMERICAL) # 243
+ "VTK::RenderingMatplotlibCxx-TestMathTextActor$" # (NUMERICAL) # 244
+ "VTK::RenderingMatplotlibCxx-TestMathTextActor3D$" # (NUMERICAL) # 245
+ "VTK::RenderingMatplotlibCxx-TestRenderString$" # (NUMERICAL) # 246
+ "VTK::RenderingMatplotlibCxx-TestStringToPath$" # (NUMERICAL) # 247
+ "VTK::RenderingMatplotlibCxx-TestIndexedLookupScalarBar$" # (NUMERICAL) # 248
+ "VTK::RenderingMatplotlibCxx-TestScalarBarCombinatorics$" # (NUMERICAL) # 249
+ "VTK::RenderingLICOpenGL2Cxx-TestImageDataLIC2D$" # (NUMERICAL) # 266
+ "VTK::RenderingLICOpenGL2Cxx-TestStructuredGridLIC2DXSlice$" # (NUMERICAL) # 267
+ "VTK::RenderingLICOpenGL2Cxx-TestStructuredGridLIC2DYSlice$" # (NUMERICAL) # 268
+ "VTK::RenderingLICOpenGL2Cxx-TestStructuredGridLIC2DZSlice$" # (NUMERICAL) # 269
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedDefaults$" # (NUMERICAL) # 270
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedBlended$" # (NUMERICAL) # 271
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedMapped$" # (NUMERICAL) # 272
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedEnhancedVectorNormalizeOff$" # (NUMERICAL) # 273
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedBlendedSmallGrain$" # (NUMERICAL) # 274
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedMappedSmallGrain$" # (NUMERICAL) # 275
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedMappedSmallVectorNormalizeOff$" # (NUMERICAL) # 276
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedDefaultsColor$" # (NUMERICAL) # 277
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorBlendedSmallGrain$" # (NUMERICAL) # 278
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorMappedSmallGrain$" # (NUMERICAL) # 279
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorBlendedSmallGrainMask$" # (NUMERICAL) # 280
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedColorMappedSmallGrainMask$" # (NUMERICAL) # 281
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICCurvedContrastEnhancedSmallGrainMask$" # (NUMERICAL) # 282
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarDefaults$" # (NUMERICAL) # 283
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarContrastEnhanced$" # (NUMERICAL) # 284
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarVectorNormalizeOff$" # (NUMERICAL) # 285
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarVectorNormalizeOffMediumGrainUniform$" # (NUMERICAL) # 286
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICPlanarVectorNormalizeOffMediumGrainPerlin$" # (NUMERICAL) # 287
+ "VTK::RenderingLICOpenGL2Cxx-SurfaceLICMultiBlockContrastEnhancedPerlin$" # (NUMERICAL) # 288
+ "VTK::RenderingExternalCxx-TestGLUTRenderWindow$" # (Failed) # 311
+ "VTK::ImagingOpenGL2Cxx-TestOpenGLImageGradient$" # (NUMERICAL) # 722
+ # "VTK::InteractionWidgetsCxx-TestPickingManagerSeedWidget$" # (Timeout) # 838
+ "VTK::InteractionWidgetsCxx-TestResliceCursorWidget2$" # (Failed) # 847
+ "VTK::InteractionWidgetsCxx-TestResliceCursorWidget3$" # (Failed) # 848
+ "VTK::InteractionWidgetsPython-TestTensorWidget2$" # (Failed) # 919
+ # "VTK::FiltersModelingPython-TestCookieCutter4$" # (Timeout) # 1319
+ "VTK::RenderingOpenGL2Cxx-TestGlyph3DMapperPickability$" # (Failed) # 1404
+ "VTK::RenderingCoreCxx-TestTextureRGBADepthPeeling$" # (Failed) # 2020
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMCleanGrid$" # (NUMERICAL) # 2138
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMClip$" # (NUMERICAL) # 2140
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMClipWithImplicitFunction$" # (NUMERICAL) # 2141
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMExtractVOI$" # (NUMERICAL) # 2143
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMLevelOfDetail$" # (NUMERICAL) # 2147
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMPointElevation$" # (NUMERICAL) # 2152
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMPointTransform$" # (NUMERICAL) # 2153
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMPolyDataNormals$" # (NUMERICAL) # 2155
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMThreshold$" # (NUMERICAL) # 2157
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMThreshold2$" # (NUMERICAL) # 2158
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMTriangleMeshPointNormals$" # (NUMERICAL) # 2159
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMWarpScalar$" # (NUMERICAL) # 2160
+ "VTK::AcceleratorsVTKmFiltersCxx-TestVTKMWarpVector$" # (NUMERICAL) # 2161
+ "VTK::AcceleratorsVTKmCoreCxx-TestVTKMImplicitDataArray$" # (NUMERICAL) # 2897
+ )
+
+ SEQUENTIAL_TESTS=(
+ # TODO requires die -n
+ # "VTK::IOExportGL2PSCxx-.*$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSBillboardTextActor3D$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSContext$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSLabeledDataMapper$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSScalarBar$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextActor3D$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextActor$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextMapper$"
+ "VTK::IOExportGL2PSCxx-TestStackedPlotGL2PS$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterMultipleRenderers$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterRaster$"
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster$" # (Failed) # 494
+ "VTK::IOExportGL2PSCxx-TestGL2PSBillboardTextActor3D-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSBillboardTextActor3D-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSContext-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSContext-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSLabeledDataMapper-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSLabeledDataMapper-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSScalarBar-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSScalarBar-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextActor3D-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextActor3D-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextActor-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextActor-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextMapper-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSTextMapper-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestStackedPlotGL2PS-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestStackedPlotGL2PS-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterMultipleRenderers-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterMultipleRenderers-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterMultipleRenderers-VerifyRasterizedPDFPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterRaster-RasterizePNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterRaster-VerifyRasterizedPNG$"
+ "VTK::IOExportGL2PSCxx-TestGL2PSExporterRaster-VerifyRasterizedPDFPNG$"
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-RasterizePNG$" # (Not Run) # 517
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-VerifyRasterizedPNG$" # (Failed) # 518
+ # "VTK::IOExportGL2PSCxx-TestGL2PSExporterVolumeRaster-VerifyRasterizedPDFPNG$" # (Failed) # 519
+ "VTK::InteractionWidgetsCxx-TestPickingManagerSeedWidget$" # (Timeout) # 838
+ "VTK::FiltersModelingPython-TestCookieCutter4$" # (Timeout) # 1319
+ )
+
+ CMAKE_SKIP_TESTS=(
+ "${BAD_TESTS[@]}"
+ "${REALLY_BAD_TESTS[@]}"
+ "${SEQUENTIAL_TESTS[@]}"
+ )
+
+ virtx cmake_src_test
+ unset CMAKE_SKIP_TESTS
+
+ myctestargs=(
+ -R "($( IFS='|'; echo "${SEQUENTIAL_TESTS[*]}"))"
+ -j1
+ )
+ # TODO requires die -n
+ # nonfatal \
+ virtx cmake_src_test || einfo "These tests are known to fail"
+
+ # TODO requires die -n
+ # myctestargs=(
+ # -R "($( IFS='|'; echo "${REALLY_BAD_TESTS[*]}"))"
+ # --timeout 600
+ # )
+ # nonfatal \
+ # virtx cmake_src_test || einfo "These tests are known to fail"
+
+ # TODO requires die -n
+ # myctestargs=(
+ # -R "($( IFS='|'; echo "${BAD_TESTS[*]}"))"
+ # --timeout 600
+ # )
+ # nonfatal \
+ # virtx cmake_src_test || einfo "These tests are known to only fail inside src_test"
+}
+
+src_install() {
+ use web && webapp_src_preinst
+
+ # Stop web page images from being compressed
+ if use doc; then
+ HTML_DOCS=( "${WORKDIR}/html/." )
+ fi
+
+ cmake_src_install
+
+ use java && java-pkg_regjar "${ED}/usr/share/${PN}/${PN}.jar"
+
+ # install examples
+ if use examples; then
+ einfo "Installing examples"
+ mv -v {E,e}xamples || die
+ dodoc -r examples
+ docompress -x "/usr/share/doc/${PF}/examples"
+
+ einfo "Installing datafiles"
+ insinto "/usr/share/${PN}/data"
+ doins -r "${S}/.ExternalData"
+ fi
+
+ use python && python_optimize
+
+ use web && webapp_src_install
+}
+
+# webapp.eclass exports these but we want it optional #534036
+pkg_postinst() {
+ use web && webapp_pkg_postinst
+
+ if use examples; then
+ einfo "You can get more and updated examples at"
+ einfo "https://kitware.github.io/vtk-examples/site/"
+ fi
+}
+
+pkg_prerm() {
+ use web && webapp_pkg_prerm
+}
diff --git a/sci-libs/xdmf2/metadata.xml b/sci-libs/xdmf2/metadata.xml
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/sci-libs/xdmf2/metadata.xml
+++ b/sci-libs/xdmf2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/sci-libs/xdmf2/xdmf2-1.0_p141226-r4.ebuild b/sci-libs/xdmf2/xdmf2-1.0_p141226-r4.ebuild
index 36177a862d6a..e1064c8fca4b 100644
--- a/sci-libs/xdmf2/xdmf2-1.0_p141226-r4.ebuild
+++ b/sci-libs/xdmf2/xdmf2-1.0_p141226-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,13 +11,13 @@ SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
LICENSE="VTK"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc test"
RESTRICT="!test? ( test )"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
RDEPEND="
dev-libs/boost:=
diff --git a/sci-libs/xdrfile/Manifest b/sci-libs/xdrfile/Manifest
deleted file mode 100644
index e271caaafe47..000000000000
--- a/sci-libs/xdrfile/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST xdrfile-1.1.1.tar.gz 378942 BLAKE2B 21b1524a7c31e957b28b93dab4b83b88c183528e534864b06ff76e3f31422129c22ac4bc24a054749dd1b5b80d93a82d873cae82571f0b89c16d55ef0de267c7 SHA512 bff06b08e547b956825f9b16a55fe93d07ff0c529426b892fd4b39be538774aa06facffc68994215e22e36edfa5642674653022da0762ca7cd1b7bc654112868
-DIST xdrfile-1.1.4.tar.gz 815342 BLAKE2B 9f2703cdd67dd6cb3156ab96e496dd4fa37d3a60d660da0a6129562ed295bb52ed5d5acb54aab1bd8b682e31f6155e96541dd47fee7226ae058d62f6efe3937a SHA512 70352efcce989172893e34855edd17990c80f3b5f956b2d8b03a5e75593280e981a56b00616adb950a7da5713729029aecb5dd2cd4c52a658a77eca43aa290df
diff --git a/sci-libs/xdrfile/metadata.xml b/sci-libs/xdrfile/metadata.xml
deleted file mode 100644
index c2dc1568a734..000000000000
--- a/sci-libs/xdrfile/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
-<maintainer type="project">
- <email>sci-chemistry@gentoo.org</email>
- <name>Gentoo Chemistry Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/sci-libs/xdrfile/xdrfile-1.1.1.ebuild b/sci-libs/xdrfile/xdrfile-1.1.1.ebuild
deleted file mode 100644
index 8994b56ef506..000000000000
--- a/sci-libs/xdrfile/xdrfile-1.1.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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 ~ppc ~ppc64 ~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/xdrfile/xdrfile-1.1.4.ebuild b/sci-libs/xdrfile/xdrfile-1.1.4.ebuild
deleted file mode 100644
index 9789dad9d61d..000000000000
--- a/sci-libs/xdrfile/xdrfile-1.1.4.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-FORTRAN_NEEDED="fortran"
-
-inherit fortran-2 multilib
-
-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 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="fortran static-libs"
-
-src_configure() {
- local myeconfargs=( $(use_enable fortran) )
-
- default
-}
diff --git a/sci-libs/xgks-pmel/metadata.xml b/sci-libs/xgks-pmel/metadata.xml
index 446c65af5a70..fafca56c2a24 100644
--- a/sci-libs/xgks-pmel/metadata.xml
+++ b/sci-libs/xgks-pmel/metadata.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-geosciences@gentoo.org</email>
<name>Gentoo Geosciences Project</name>
</maintainer>
<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>
+ 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
index cc8aa0b44b78..f6a347c55989 100644
--- a/sci-libs/xgks-pmel/xgks-pmel-2.5.5.ebuild
+++ b/sci-libs/xgks-pmel/xgks-pmel-2.5.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,7 @@ IUSE="doc"
RDEPEND="x11-libs/libX11"
DEPEND="${RDEPEND}"
BDEPEND="
- sys-devel/flex
+ app-alternatives/lex
sys-apps/groff"
PATCHES=( "${FILESDIR}"/aclocal.patch )
@@ -26,8 +26,8 @@ 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 \
+ 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
}
diff --git a/sci-libs/xkaapi/Manifest b/sci-libs/xkaapi/Manifest
deleted file mode 100644
index 798a45f95014..000000000000
--- a/sci-libs/xkaapi/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST xkaapi-2.1.tar.gz 2916405 BLAKE2B a3bbba6ed5575ed617b2fdbfec435c72ac12e8f464e5a25263fac38f049bd1b89bb5df6e526c2fa537e16fd5bd04fa3cd1ad39f56cf1a58da0f3ba75fd55c580 SHA512 5d4db7576d449b086677bcc686595da773da2c0db155aa0d0039f57fb379bfc166a35b139992416a3f44bdbccbf9f48688b3d3050eea77a258f2a395d7867b26
-DIST xkaapi-2.2.tar.gz 2858464 BLAKE2B 909ea71e3fe86ee6614724793a5a41edd03151025b50e1e99dcf262be9022dfdc8cfef636de4814db1fec99e97015b73f4e5ed8f45ad377e4a3a4ab46b54ee93 SHA512 1be98c4e3c50cf198ec3522c7ccbe7757464889b32fb39e53447548fc2975e727fb2b68b25ae99c367b155588b1ab2181e3280d099ceb991929aa2f0e9c83f0c
-DIST xkaapi-3.0.3.tar.gz 1535482 BLAKE2B 6f10395b66d334e235df8dec7cfa4fa128aceeac10846e78c02cc96867fb2c649a0dc88f6a64d9c5afbfb97a02221f4e6971f313bb6ca52d217aae39caa26327 SHA512 28fb02a73269e55eec90b5c2c82e4ade3bfb24d55a1f61ac6bf47da4c7e2d864cfa1389772baca9ebef4f24b3373fb6971f3fe98a4d232187e9d29a88110eda1
diff --git a/sci-libs/xkaapi/files/xkaapi-2.1-ffi.patch b/sci-libs/xkaapi/files/xkaapi-2.1-ffi.patch
deleted file mode 100644
index 485b6c21a969..000000000000
--- a/sci-libs/xkaapi/files/xkaapi-2.1-ffi.patch
+++ /dev/null
@@ -1,24 +0,0 @@
- 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
deleted file mode 100644
index a22cabf9e4dd..000000000000
--- a/sci-libs/xkaapi/files/xkaapi-2.1-flags.patch
+++ /dev/null
@@ -1,39 +0,0 @@
- 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
deleted file mode 100644
index 0fdad94cb9b9..000000000000
--- a/sci-libs/xkaapi/files/xkaapi-3.0.3-flags.patch
+++ /dev/null
@@ -1,31 +0,0 @@
- 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
deleted file mode 100644
index 80199bef1f06..000000000000
--- a/sci-libs/xkaapi/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </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
deleted file mode 100644
index 02fd2e035000..000000000000
--- a/sci-libs/xkaapi/xkaapi-2.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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
- dev-libs/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
deleted file mode 100644
index 951d383e8c02..000000000000
--- a/sci-libs/xkaapi/xkaapi-2.2.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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
- dev-libs/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
deleted file mode 100644
index a7c8c25b27ac..000000000000
--- a/sci-libs/xkaapi/xkaapi-3.0.3.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-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
- dev-libs/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
index 63c79c4b23ae..155161a52da3 100644
--- a/sci-libs/xylib/Manifest
+++ b/sci-libs/xylib/Manifest
@@ -1 +1 @@
-DIST xylib-1.2.tar.bz2 297167 BLAKE2B f30a397aea282626b2e5ea93053571ed6d617b4fdeff468751fed9c9f538595854c948d0f50656ce22dbadfe4ff99a59dc4a5fb70686e78c084bbe1db1c9c11a SHA512 16eaa4b37014914c75ca3d0188aaf236c342887c03e233a9bb770412b3bb16da6779ab82c8acd66677d98ada75537c77d1abad723defd33dbe6eda78c6c88b91
+DIST xylib-1.6.tar.bz2 370765 BLAKE2B 76eb968f06a6a015ed7a29a493d888642767cda103733498b8706c973498aa4ac8576716b06f6eae8d95a1f625e9cd91ab02cfd53146d976e32fc9295f3c502f SHA512 9861cbf03f8b921a93a2d32a529ff94d77723e2510cd61096b4b85f91af4be6330ed82e8da94bc45dbca7f9814077360d1dae204315b28c2b6d85e3d2c7f6696
diff --git a/sci-libs/xylib/metadata.xml b/sci-libs/xylib/metadata.xml
index e9173b262918..f99666ec7813 100644
--- a/sci-libs/xylib/metadata.xml
+++ b/sci-libs/xylib/metadata.xml
@@ -1,16 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<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>
+ 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>
+ <remote-id type="github">wojdyr/xylib</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/xylib/xylib-1.2.ebuild b/sci-libs/xylib/xylib-1.2.ebuild
deleted file mode 100644
index ed9ee753d6c8..000000000000
--- a/sci-libs/xylib/xylib-1.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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
-}
diff --git a/sci-libs/xylib/xylib-1.6-r1.ebuild b/sci-libs/xylib/xylib-1.6-r1.ebuild
new file mode 100644
index 000000000000..1428662cc66d
--- /dev/null
+++ b/sci-libs/xylib/xylib-1.6-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+WX_GTK_VER=3.2-gtk3
+
+inherit desktop wxwidgets
+
+DESCRIPTION="Experimental x-y data reading library"
+HOMEPAGE="https://github.com/wojdyr/xylib"
+SRC_URI="https://github.com/wojdyr/xylib/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 gui zlib"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ gui? ( x11-libs/wxGTK:${WX_GTK_VER} )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+"
+
+src_configure() {
+ use gui && setup-wxwidgets
+
+ econf \
+ --disable-static \
+ $(use_with bzip2 bzlib) \
+ $(use_with gui) \
+ $(use_with zlib)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ newicon gui/xyconvert48.xpm xyconvert.xpm
+ make_desktop_entry xyconvert xyConvert xyconvert.xpm
+}
diff --git a/sci-libs/xylib/xylib-1.6.ebuild b/sci-libs/xylib/xylib-1.6.ebuild
new file mode 100644
index 000000000000..49e226d26949
--- /dev/null
+++ b/sci-libs/xylib/xylib-1.6.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER=3.0-gtk3
+
+inherit wxwidgets
+
+DESCRIPTION="Experimental x-y data reading library"
+HOMEPAGE="https://github.com/wojdyr/xylib"
+SRC_URI="https://github.com/wojdyr/xylib/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 gui zlib"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ gui? ( x11-libs/wxGTK:${WX_GTK_VER} )
+ zlib? ( sys-libs/zlib )"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/boost"
+
+src_configure() {
+ use gui && setup-wxwidgets
+
+ econf \
+ --disable-static \
+ $(use_with bzip2 bzlib) \
+ $(use_with gui) \
+ $(use_with zlib)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}